VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云最新优惠促销活动
jtti最新优惠促销活动

微信支付验证或签名失败的原因是什么?附三个解决方案(微信支付签名验证失败怎么回事)

locvps
主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

iOS微信统一支付验证失败是怎么回事?我真的很焦虑我不能支付我的签名,主要是因为身体中文的问题,解决起来很麻烦。百度买了很多文章,但是找不到完全解决的文章,总之各种烦恼。这里我就不赘述了,直接切入正题:

因为公司的项目要微信支付,所以调配的时候总是发现签名不对。经过调查,原来是编码问题,所以如果找到原因,就可以解决问题。本文详细介绍了三种解决方案。如果你没有时间读完它,那么直接进入第三种解决方案,希望可以帮助到大家。

第一种解决方案:将tomcat编码设置为utf-8。window环境中tomcat的默认编码是gbk,因此将Tomcat编码设置为UTF -8。

步骤1:在catalina.bat中添加头的第二行

set java _ opts = -xms 128 m-xmx 512 m-xx:maxperm size = 256 m-dfile . encoding = utf-8-dsun . jnu . encoding = ut F-8让Java环境使用ut F-8编码第二步:在server.xml中添加

uri encoding =“utf-8“usebodyencodingforuri =“true“,以便tomcat发送的请求使用ut F-8,如以下代码所示。

connection time out =“20000“

redirect port =“8443“uri encoding =“ut F-8“useBodyEncodingForURI =“true“/》

控制台上可能会有乱码,不过改成gbk就没事了,只是微信签名失败了。

第二种解决方案:body转码字符串body = new String(“body中文字段值”。tostring()。getbytes(“UTF -8“)“ISO 8859-1“);

但是微信返回的产品名称会出现乱码。

1.png

第三种解决方案:修改签名md5编码(这种解决方案为王)。tomcat在window环境中的默认编码是gbk,因此在签名MD5时将编码设置为utf-8就足够了。

1.png

这是我的MD5签名工具类:

public class m D5 util { private static String byteArrayToHexString(byte b【】){ String buffer resultSb = new String buffer();for(int I = 0;I《b .长度;i++)results b . append(byteToHexString(b【I】));return results b . tostring();}私有静态字符串byteToHexString(byte b){ int n = b;if(n《0)n+= 256;int D1 = n/16;int d2 = n % 16返回六位数【D1】+六位数【D2】;}公共静态字符串m D5 encode(String origin,String charset name){ String result String = null;try { result String = new String(origin);message digest MD = message digest . getinstance(“MD5“);if(charset name = = null | |“。equals(charset name))resultString = byteArrayToHexString(MD . digest(resultString . getbytes()));elseresultString = byteArrayToHexString(MD . digest(resultstring . getbytes(charset name)));} catch(Exception异常){ }返回resultString}private static最终字符串hex digits【】= {“0“、“1“、“2“、“3“、“4“、“5“、“6“、“7“、“8“、“9“、“a“、“b“、“c“、“d“、“e“、“f“};}相关建议:

微信app支付:支付权限检查失败。原因是什么?

微信app支付:支付权限检查失败。原因是什么?

以上是微信支付验证或签名失败的原因。附件是三种解决方案的详细信息,请关注主机参考其他相关文章了解更多信息!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:微信支付验证或签名失败的原因是什么?附三个解决方案(微信支付签名验证失败怎么回事) https://zhujicankao.com/104425.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 微信支付验证或签名失败的原因是什么?附三个解决方案(微信支付签名验证失败怎么回事)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!