2024年3月26日发(作者:)

问题微信支付v3 WXPay 接口支付调试失败:

开启调试模式,调用接口后,总是显示 choosewxpay:fail 错误, 没有

更详细的错误信息, 网上搜说是签名错误...

签名过程是完全按照官方文档来做的,步骤如下

1.参数名按字母升序:

appId,nonceStr,package,signType,timeStamp

2.串联参数和值:

appId=wx8837b0e259ffd3c7&nonceStr=htcep7vz57xfl70a&package=prepa

y_id=wx2454ee30d6c4&signType=MD5&timeS

tamp=1437336155

1,2步骤参照文档注意了"微信jssdk中的所有使用timestamp字段均为

小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其

中的S字符"

3.加上微信支付后台设置的密钥(这里以xxx代替)

appId=wx8837b0e259ffd3c7&nonceStr=htcep7vz57xfl70a&

package=prepay_id=wx2454ee30d6c40001917

835&signType=MD5&timeStamp=1437336155&key=xxx

4.将此字符md5编码得到长度32的字符串

5.将上面长度32的字符串全部转为大写, 生成签名

40819027D801DA969269B3F8BA0D3C0D

6.页面调用

不管怎么调试总是显示 choosewxpay:fail 错

误!

分析:

以上代码没有错误!

解决办法:

进入微信公众后台—微信支付—开发配置