wx.chooseWXPay({
timestamp: timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
package: 'prepay_id=' + package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
signType: signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign: paySign, // 支付签名
success: function (res) {
// 支付成功后的回调函数
alert("支付成功:");
},
error: function (){
alert("支付失败");
},
cancel: function (){
alert("支付取消");
},
complete: function (){
alert("支付完成");
},
});
可以支付成功,但是就是不进入success回调函数中,取消支付的话可以进入cancel回调函数中,compile也进不去。。。 这是咋回事???
ios,同样的代码,10次有1次可以拿到回调。其他情况下都拿不到complete也不走
对于安卓客户端支付成功后不进入chooseWXPay函数success的问题原因是:iOS和安卓返回的数据不同,实际如下:
支付成功后:安卓客户端返回的是 {"errMsg":"getBrandWCPayRequest:ok"},而iOS返回的是{"err_Info":"success","errMsg":"chooseWXPay:ok"},安卓找不到success入口,所以才出现你说的情况。
解决方案:在complete中,自行判断errMsg即可。