这真是一个史前巨坑,支付必须真机测试,没办法调试。只能alert回调。遇到的问题是:苹果手机支付然后取消,可以alert出支付取消。但支付成功后不能alert,就以为没进入回调。安卓手机一切正常
找了很多方法,各种百度 google,调jssdk的方法去支付,结果还是不行
解决办法: 不用去alert,它不会执行。直接跳转到指定页面就可以了,我哭了。。
onBridgeReady(config) {
if (!config.package) {
return
}
let vm = this; // 注意this的指向
window.WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": config.appId,
"timeStamp": config.timeStamp,
"nonceStr": config.nonceStr,
"package": config.package,
"signType": config.signType,
"paySign": config.paySign
},
function (res) {
alert(JSON.stringify(res)); // 支付取消会执行 支付成功不会
if (res.err_msg == "get_brand_wcpay_request:ok") {
alert("支付成功") // 不会执行
vm.props.history.push("/ordertable");
} else if (res.err_msg == "get_brand_wcpay_request:cancel") {
alert("支付取消") // 会执行
} else {
alert("支付失败")
}
});
}