微信支付,大家是通过什么来进行判断支付成功的

李惟
  • 2.1k

我目前知道的有两种情况:

  1. 支付成功,JSSDK通知。优点:速度快,支付完了,就立即得到结果了。缺点:前端通知,没经过后台的,是否真的支付成功了,无法保证

  2. 支付成功,等待微信平台回调通知。优点:可校验是否真的支付成功了。缺点:等待时间太慢,我这边都支付完成后,刷新好几遍了,还没等待微信那边发送回调通知;造成付款的用户,成功支付后,看到还是未付款状态。。。。。

请问怎么解决?

总结下我这两天做的解决方法:
1.支付成功后,由JSSDK通知成功,并启动“轮询”,获取订单状态是否成功,成功了就返回OK,要不成功就继续“轮询”
2.后端,等待微信返回通知,并检查状态,更新订单

注:上面说的“轮询”并非真的轮询,而是一遍又一遍的ajax递归。。。。解决问题即可,不弄太复杂

这里我讲最佳答案给最先提供参考答案的 @Eapen

回复
阅读 13.5k
12 个回答
✓ 已被采纳

先用jssdk成功后轮训后端回调

我一个线上项目微信支付这里回调很及时的啊

页面状态添加一个支付中,增加用户体验

--个人建议

前端页面轮询
后端接口等微信的回调通知,支付成功就更新数据库的状态,前端轮询也会很快就查询到是否真的成功了。

Iceqi
  • 3
新手上路,请多包涵

这种情况 可以和用户玩一下文字游戏, 比如客户微信支付成功后,可以给用户呈现出已支付待确认状态,当微信回调确认成功后,可以显示支付已确认 就可以了。。

支付是否成功对应支付肯定有返回结果啊!根据接口返回的状态来判断不可以吗

看着这些回答有点累 支付是有主动查询和官方回调接口的

做过几个微信支付的,一直采用后段回调通知判断,也一直都很快。就主流的支付第三方状态判断基本都是通过后端回调。优化一下你的程序吧。

这种应该都会有回调程序了。我们之前做过类似的支付接口对接程序。我做了好几十家的支付对接,他们都有支付回调。你好好看看文档,虽然我没做文档,但是我觉得他们一定都会有这个回调的。你看看配置的地方,会让你配置回调的地方的。好好看看哈。

和服务器有关系吧.微信支付的回调还是很快的.我的项目中,回调基本上在一秒以内.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏