搜尋

首頁  >  問答  >  主體

php - 问一个在线支付的场景问题,如果支付宝回调通知延时怎么办?

我们是一个订餐的网站,用的支付宝及时到账的接口,下单15分钟内如果未支付则视为超时订单会被关闭。

现在遇到一个问题。

有这样的一个场景:

假如一个订单在17:30之前未完成付款则超时关闭,用户在17:29在支付宝完成了支付,但是在17:31才将支付结果回调给我们,此时单子已被超时关闭了,但是用户也确实是在规定的时间内完成的支付,没有超时,竟然被超时了,躺枪啊,这个问题怎么解决呢?

希望有经验的大神指点一下,谢谢啊!

巴扎黑巴扎黑2789 天前856

全部回覆(3)我來回復

  • 大家讲道理

    大家讲道理2017-04-10 16:44:34

    1.设置支付订单的时间与支付宝交易单号的自动关闭时间一致;
    2.支付宝有主动查询交易状态接口;
    3.支付宝可通过接口主动关闭订单;
    4.回调时检查订单状态,若订单已关闭则直接向支付宝发起退款请求,交易结束。

    回覆
    0
  • 阿神

    阿神2017-04-10 16:44:34

    17:30 及以后无法再为该订单继续付款就行了。
    但是支付宝的通知照常处理即可。灵活“关闭”订单即可。

    就是一个前台显示的问题。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-10 16:44:34

    增加一个支付中的状态,在你请求支付宝接口的的时候把状态改成支付中,超时关闭只关闭待支付状态的订单

    回覆
    0
  • 取消回覆