收藏
回答

wx.chooseWXPay接口支付成功后不会调用success函数是咋回事??

问题模块
API和组件
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也进不去。。。 这是咋回事???

最后一次编辑于  2017-11-14  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 张庆国
    张庆国
    07-31

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

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

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


    07-31
    赞同
    回复