我们在微信里面,用h5开发,使用微信支付接口收款,最近出现很多次这样的情况:用户点击按钮支付成功,但是支付接口的回调函数完全没有调用,不论是成功或失败的返回都没有。
出现的比例大概有1-5%,请问该怎么解决?
论坛里面搜索到类似的帖子,https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=50799692218b8516f46ca0847b758e84&highline=%E6%94%AF%E4%BB%98%E6%8E%A5%E5%8F%A3%20%E5%9B%9E%E8%B0%83&token=95682828&lang=zh_CN
没有回复,请问怎么办?
附录:代码
wx.chooseWXPay({
timestamp : msg.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
nonceStr : msg.nonceStr, // 支付签名随机串,不长于 32 位
package : msg.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
signType : msg.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign : msg.paySign, // 支付签名
success : function(res) {
if (res.errMsg == "chooseWXPay:ok") {
self.setOrderPay(id, uniqueId, type, je1, carnum, shopId, userCarModelId,cost);
} else {
alert(res.errMsg);
}
},
cancel : function(res) {
alert('取消支付');
},
fail : function(res) {
alert("支付失败");
}
});
请问解决了吗
对于安卓客户端支付成功后不进入chooseWXPay函数success的问题原因是:iOS和安卓返回的数据不同,实际如下:
支付成功后:安卓客户端返回的是 {"errMsg":"getBrandWCPayRequest:ok"},而iOS返回的是{"err_Info":"success","errMsg":"chooseWXPay:ok"},安卓找不到success入口,所以才出现你说的情况。
解决方案:在complete中,自行判断errMsg即可。
我这边也是的,出现了不止一次两次了。至于什么情况下不执行success的代码,根本就没法知道。
我也遇到这个问题,官方就不回复一下么
解决了吗 我看了一些文档有些调jssdk的加上了appId。。这个
没有,其实这个问题我没法确认,因为没法重现,只是很大概率是没有回调success导致的,因为经常有客户反馈说支付完没有跳转回购买结果页,我用ios版微信测试过的确出现没有结果页的情况,但不是没有回调success,是网络不好的情况下结果页请求失败,刷新也没用。我觉得官方最好回复一下是否能保证肯定会有回调。
wx.config里面的debug设为false
换了小程序,还是偶尔出现,咋办?
没有解决啊,换了小程序,不知道是不是要好点
问题解决了吗?兄台
今天又出现了,晕!
晕,腾讯官方没有回复的么?这以后怎么开发啊