问题微信支付v3 jsapi.chooseWXPay 接口支付调试失败:
开启调试模式,调用接口后,总是显示 choosewxpay:fail 错误, 没有更详细的错误信息, 网上搜说是签名错误...
签名过程是完全按照官方文档来做的,步骤如下
1.参数名按字母升序:
appId,nonceStr,package,signType,timeStamp
2.串联参数和值:
appId=wx8837b0e259ffd3c7&nonceStr=htcep7vz57xfl70a&package=prepay_id=wx2015072004023454ee30d6c40001917835&signType=MD5&timeStamp=1437336155
1,2步骤参照文档注意了"微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符"
3.加上微信支付后台设置的密钥(这里以xxx代替)
appId=wx8837b0e259ffd3c7&nonceStr=htcep7vz57xfl70a&package=prepay_id=wx2015072004023454ee30d6c40001917835&signType=MD5&timeStamp=1437336155&key=xxx
4.将此字符md5编码得到长度32的字符串
5.将上面长度32的字符串全部转为大写, 生成签名
40819027D801DA969269B3F8BA0D3C0D
6.页面调用
不管怎么调试总是显示 choosewxpay:fail 错误!
分析:
以上代码没有错误!
解决办法:
进入微信公众后台—微信支付—开发配置
如下图设置好你的 [支付授权目录]和[测试授权目录]
下面的测试白名单也可以添加一下:
注意这里的要徐如个人微信号是,微信app里—我—头像旁边显示的微信号
这样问题顺利解决!
本文来源:https://www.2haoxitong.net/k/doc/56f2fd48b9f3f90f77c61b8a.html
文档为doc格式