我目前知道的有两种情况:
支付成功,JSSDK通知。优点:速度快,支付完了,就立即得到结果了。缺点:前端通知,没经过后台的,是否真的支付成功了,无法保证
支付成功,等待微信平台回调通知。优点:可校验是否真的支付成功了。缺点:等待时间太慢,我这边都支付完成后,刷新好几遍了,还没等待微信那边发送回调通知;造成付款的用户,成功支付后,看到还是未付款状态。。。。。
请问怎么解决?
总结下我这两天做的解决方法:
1.支付成功后,由JSSDK通知成功,并启动“轮询”,获取订单状态是否成功,成功了就返回OK,要不成功就继续“轮询”
2.后端,等待微信返回通知,并检查状态,更新订单
注:上面说的“轮询”并非真的轮询,而是一遍又一遍的ajax递归。。。。解决问题即可,不弄太复杂
这里我讲最佳答案给最先提供参考答案的 @Eapen
我目前知道的有两种情况:
支付成功,JSSDK通知。优点:速度快,支付完了,就立即得到结果了。缺点:前端通知,没经过后台的,是否真的支付成功了,无法保证
支付成功,等待微信平台回调通知。优点:可校验是否真的支付成功了。缺点:等待时间太慢,我这边都支付完成后,刷新好几遍了,还没等待微信那边发送回调通知;造成付款的用户,成功支付后,看到还是未付款状态。。。。。
请问怎么解决?
总结下我这两天做的解决方法:
1.支付成功后,由JSSDK通知成功,并启动“轮询”,获取订单状态是否成功,成功了就返回OK,要不成功就继续“轮询”
2.后端,等待微信返回通知,并检查状态,更新订单
注:上面说的“轮询”并非真的轮询,而是一遍又一遍的ajax递归。。。。解决问题即可,不弄太复杂
这里我讲最佳答案给最先提供参考答案的 @Eapen
先用jssdk成功后轮训后端回调
我一个线上项目微信支付这里回调很及时的啊
页面状态添加一个支付中,增加用户体验
--个人建议
前端页面轮询
后端接口等微信的回调通知,支付成功就更新数据库的状态,前端轮询也会很快就查询到是否真的成功了。
这种情况 可以和用户玩一下文字游戏, 比如客户微信支付成功后,可以给用户呈现出已支付待确认状态,当微信回调确认成功后,可以显示支付已确认 就可以了。。
支付是否成功对应支付肯定有返回结果啊!根据接口返回的状态来判断不可以吗
看着这些回答有点累 支付是有主动查询和官方回调接口的
做过几个微信支付的,一直采用后段回调通知判断,也一直都很快。就主流的支付第三方状态判断基本都是通过后端回调。优化一下你的程序吧。
这种应该都会有回调程序了。我们之前做过类似的支付接口对接程序。我做了好几十家的支付对接,他们都有支付回调。你好好看看文档,虽然我没做文档,但是我觉得他们一定都会有这个回调的。你看看配置的地方,会让你配置回调的地方的。好好看看哈。
和服务器有关系吧.微信支付的回调还是很快的.我的项目中,回调基本上在一秒以内.