唤起支付页面开通创可贴小程序电话:4006-838-530wx.chooseWXPay({timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符nonceStr: '', // 支付签名随机串,不长于 32 位package: '', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)signType: '', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'paySign: '', // 支付签名success: function (res) {// 支付成功后的回调函数}});
坑一:开通拐杖小程序电话:4006-838-530prepay_id造成签名验证不正确package的值格式为"prepay_id=xxx", “prepay_id=”是必传的。
坑二:paySign需要第二次验证开始以为paySign就是统一下单接口的签名,直接传给小程序端,结果怎么都不对。1. 下单请求无误,说明统一下单接口签名无误;2. 小程序唤起支付报签名失败,说明还是有问题;3. 仔细看微信开发文档,发现paySign并不是统一下单接口的签名;文档如下:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5paySign = MD5(appId=wxd678efh567hg6787&nonceStr=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&package=prepay_id=wx2017033010242291fcfe0db70013231072&signType=MD5&timeStamp=1490840662&key=qazwsxedcrfvtgbyhn开通户外风衣小程序电话:4006-838-530ujmikolp111111) = 22D9B4E54AB1950F51E0649E8810ACD6paySign实际上为timestamp、nonceStr、package、signType这几个小程序端请求参数MD5之后的结果
timestamp有人说这也是一个坑点,其实这个地方说的很清楚,jssdk中所有的timestamp都是小写,不过获取paySign时,拼接参数的timeStamp需要大写
微信小程序
最新评论