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

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

WBOY
WBOYOriginal
2016-06-06 20:06:265689browse

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

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

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

请问怎么解决?

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

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

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

回复内容:

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

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

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

请问怎么解决?

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

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

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

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

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

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

--个人建议

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

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

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

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

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

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn