开发环境:JAVA
上图是后端签名和返回数据本人的签名和官方提供的微信支付签名校验:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1签名一致,但是在小程序中提示:支付验证签名失败
自我排除问题:
1.排除大小写
2.排除中文(本人签名中没有中文)
3.排除统一下单的时候,接口要传的appid是小写,但是二次签名的时候要求appId是大写
4.排除nonceStr不一致
5.排除参数中total_fee参数的类型是int类型
将红色框内容返回给小程序端下图其中的success没有输出,后面的fail和complete输出errMsg: "requestPayment:fail cancel"
说一下我的情况,开始绑定商户号时绑错了,绑了一个有效的但没在使用的商户号,因为不能解绑,所以最终我的小程序绑了两个微信支付商户,而wx.requestPayment文档说明里面交没有要求传appId(当然我就没传),就总是出现签名错误,很让人崩溃,后来看大家的评论试着加上appId后就好了。我猜是不是只绑一个商户号的可以不用传appId,所以文档里没写上,而如果小程序对应多个微信支付商户的话,就最好写上了。