wx.chooseWXPay接口支付成功后不会调用success函数是咋回事??
发布于 6 年前 作者 yangyao 7053 次浏览 来自 问答
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也进不去。。。这是咋回事???

1 回复

对于安卓客户端支付成功后不进入chooseWXPay函数success的问题原因是:iOS和安卓返回的数据不同,实际如下:

支付成功后:安卓客户端返回的是 {"errMsg":"getBrandWCPayRequest:ok"},而iOS返回的是{"err_Info":"success","errMsg":"chooseWXPay:ok"},安卓找不到success入口,所以才出现你说的情况。

解决方案:在complete中,自行判断errMsg即可。

回到顶部