支付成功,服务器出现当机情况。
就是说有一种情况:比如支付宝支付。我们调用接口。当如果客户支付成功后,会有一个回调。这是我们服务器出现当机了的情况,导致客户端订单没有把支付状态更改过来变成已支付,我们有什么处理方法可以避免这种情况吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
就是说有一种情况:比如支付宝支付。我们调用接口。当如果客户支付成功后,会有一个回调。这是我们服务器出现当机了的情况,导致客户端订单没有把支付状态更改过来变成已支付,我们有什么处理方法可以避免这种情况吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
可以避免, 做个定时任务, 拿订单号主动查询订单状态, 遗漏的再次更新.
一般是回调通知更新一次, 定时查询再做一次查询, 防止你说的这类情况.
支付宝会在 24 小时内定时发送成功回调,直到回调接口返回
success
如果宕机超过 24 小时就只能手动修改了这是当面付的回调 别的没有看过 https://docs.open.alipay.com/...
支付宝有异步回调,这个必须接收。不能只靠前端支付宝302跳转,万一用户给完钱就关了支付宝怎么办
可以弄一个每天晚上4点手动查询支付宝当日
未success
的订单,如果支付宝显示支付了,而你这边没支付,就需要同步过来通过以上两步,不会漏掉订单了
那就不会成功吧!你自己服务器这边的回调函数要是没有响应成功 这次发起的支付也不会成功
1.支付宝后台对账系统可查询到已经到账的订单
2.支付的时候,发起支付后,立即记录下支付信息, 方便人工排查。
通常三方支付的回调是需要客户服务器返回回调成功才算回调成功该订单并停止继续回调,否则会按照一定的递增频率在24小时内重复回调直到客户服务器正确返回回调成功。然后通常还会提供主动查询的接口,可以在回调不成功的时候主动向三方支付发起查询该笔订单支付状态然后以此为更新订单的依据。此处可以参考 https://www.pingxx.com/api#ev...事件 但仅是提供参考思路 请勿以为广告嫌疑 声明此三方支付和本人无任利益何关系
基本上各类支付都会有定时回调的,像3楼说的,有一定递增频率回调,知道你按照他指定格式输出它才会在某个时间段(如24小时)停止回调。但也不排除有调单的(比如服务器宕机了24小时),解决的方法是各支付平台都会提供订单查询接口,每天定时去查询一下,并和本地进行比对,更新那些没有支付的订单,所以查询接口也是必不可少的一项。
支付宝都会有回调的,不怕。。。难道你们没弄支付宝回调接口
首先谢谢各位的回答。可能是我没有表达清楚。其实我是想要看看有没有好的方法可以避免这种情况的发生。
1、硬件架构可以考虑负载均衡,宕机一台也不会对整理业务有影响
2、软件层面支付宝或者微信未收到success会重复推送。
3、软件层面2 定时从支付宝微信主动拉取订单信息,更新订单状态