参数问题
安全目录问题
微信支付具体的代码参考官方文档,可是在使用的时候仍是碰见一个坑。小程序
WeixinJSBridge.invoke('getBrandWCPayRequest', payload, function (res) { });
wx.chooseWXPay(payload);
使用写法二的时候不能成功唤起支付,调试的时候发现timeStamp
是undefined
,跟踪发现以下问题:
server给的payload
格式以下:安全
nonceStr: "***" package: "prepay_id=***" paySign: "***" signType: "MD5" timeStamp: "***"
须要注意的位置是timeStamp
,看文档须要的键名是timeStamp
,可是实际在jssdk中经过f(a)
方法的调用时是经过timestamp
获取的微信
chooseWXPay: function(a) { c(p.chooseWXPay, f(a), a) }
function f(a) { return { timeStamp: a.timestamp + "", nonceStr: a.nonceStr, "package": a["package"], paySign: a.paySign, signType: a.signType || "SHA1" } }
server给定timestamp,fe手动添加timestamp
err_msg
errMsg
spa单页url中新增了其它参数,再继续支付会出现报错 “access_denied”app
开始调试的时候把 debug: true
不少错误信息真机调试会弹出来,调试起来方便一些。 {errMsg: chooseWXPay:fail}
须要配置一下安全目录。
多个商户号的状况下,必定要找到对应的公众号来配置目录。学习
服务号已经有了,直接关联的小程序的APPID,这些地方都不会引发问题。关联之后也会生成一个商户号,开发的时候仍是使用主商户号就好了。易错点:签名时key不是appSecret,这点错了会致使“签名验证失败”。微信支付