问一个在线支付的场景问题,如果支付宝回调通知延时怎么办?
我们是一个订餐的网站,用的支付宝及时到账的接口,下单15分钟内如果未支付则视为超时订单会被关闭。
现在遇到一个问题。
有这样的一个场景:
假如一个订单在17:30之前未完成付款则超时关闭,用户在17:29在支付宝完成了支付,但是在17:31才将支付结果回调给我们,此时单子已被超时关闭了,但是用户也确实是在规定的时间内完成的支付,没有超时,竟然被超时了,躺枪啊,这个问题怎么解决呢?
希望有经验的大神指点一下,谢谢啊!
回复内容:
我们是一个订餐的网站,用的支付宝及时到账的接口,下单15分钟内如果未支付则视为超时订单会被关闭。
现在遇到一个问题。
有这样的一个场景:
假如一个订单在17:30之前未完成付款则超时关闭,用户在17:29在支付宝完成了支付,但是在17:31才将支付结果回调给我们,此时单子已被超时关闭了,但是用户也确实是在规定的时间内完成的支付,没有超时,竟然被超时了,躺枪啊,这个问题怎么解决呢?
希望有经验的大神指点一下,谢谢啊!
1.设置支付订单的时间与支付宝交易单号的自动关闭时间一致;
2.支付宝有主动查询交易状态接口;
3.支付宝可通过接口主动关闭订单;
4.回调时检查订单状态,若订单已关闭则直接向支付宝发起退款请求,交易结束。
17:30 及以后无法再为该订单继续付款就行了。
但是支付宝的通知照常处理即可。灵活“关闭”订单即可。
就是一个前台显示的问题。
上一篇: 如何提高PHP编程效率?
下一篇: 模拟支付页面跳转通知的实例详解