微信小程序提供了微信支付的接口,wx.requestPayment(OBJECT)
wx.requestPayment({
'timeStamp': '',
'nonceStr': '',
'package': '',
'signType': 'MD5',
'paySign': '',
'success':function(res){
},
'fail':function(res){
},
'complete':function(res){
}
})
最近遇到一个坑,就是扣款成功后,不执行回调方法success或complete,连fail也没有。因为业务是要依赖这个回调来做下一步的显示,导致一直卡在那里。
之前也一直没发现是这个问题,后来在一些安卓机重现了。我用开发工具测试,发现使用调试基础库的版本1.5.0以下的会出现这个问题。
官方开发者社区里面也有人遇到这个问题:微信支付成功 不走success/complete回调
基本可以确定是小程序的bug了。现在只有比较麻烦的解决方案,点击支付后,一定时间内不断轮询后台,查询该订单的支付状态,这是最安全的方式了。
支付这块的话应该要比较慎重,可以在每一步添加日志的形式保留查询的可能。