微信公众号支付jssdk没有回调getBrandWCPayRequest
日期:2020-02-07
来源:程序思维浏览:3820次
这真是一个史前巨坑,支付必须真机测试,没办法调试。只能alert回调。遇到的问题是:苹果手机支付然后取消,可以alert出支付取消。但支付成功后不能alert,就以为没进入回调。安卓手机一切正常。
找了很多方法,各种百度 google,调jssdk的方法去支付,结果还是不行...
解决办法: 不用去alert,它不会执行。直接跳转到指定页面就可以了,注意的是,不能跳转当前页面,必须跳转到其他页面,里面不能写任何逻辑代码有些程序不会生效必须用window.location.href进行跳转。
//微信支付
function weixinPay(pAppid,pTimeStamp,pNonceStr,pPackage,pSign,url){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":pAppid, //公众号名称,由商户传入
"timeStamp":pTimeStamp, //时间戳,自1970年以来的秒数
"nonceStr":pNonceStr, //随机串
"package":pPackage,
"signType":"MD5", //微信签名方式:
"paySign":pSign //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
//这里只能做跳转不能写其他代码,也不能用alert做测试,不能跳转当前页面,必须跳转到其他页面
window.location.href=url;
} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
}
);
}
好了填坑完毕,希望对大家有帮助!
找了很多方法,各种百度 google,调jssdk的方法去支付,结果还是不行...
解决办法: 不用去alert,它不会执行。直接跳转到指定页面就可以了,注意的是,不能跳转当前页面,必须跳转到其他页面,里面不能写任何逻辑代码有些程序不会生效必须用window.location.href进行跳转。
//微信支付
function weixinPay(pAppid,pTimeStamp,pNonceStr,pPackage,pSign,url){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":pAppid, //公众号名称,由商户传入
"timeStamp":pTimeStamp, //时间戳,自1970年以来的秒数
"nonceStr":pNonceStr, //随机串
"package":pPackage,
"signType":"MD5", //微信签名方式:
"paySign":pSign //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
//这里只能做跳转不能写其他代码,也不能用alert做测试,不能跳转当前页面,必须跳转到其他页面
window.location.href=url;
} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
}
);
}
好了填坑完毕,希望对大家有帮助!
- 上一篇:微信小程序开发工具如何清除缓存
- 下一篇:uni-app如何显示base64图片
精品好课