在支付场景中,有官方侧订单超时时间、业务侧订单超时时间。
假设这两个时间都是15min,当用户在14min59s999ms支付成功的时候,官方侧会给支付成功的回调。但这时候业务侧的订单超时已经执行完成,订单状态已经修改为超时,这时候支付成功的回调会因为订单状态不是待支付而被return。这就导致了购买掉单。
本文描述了 增加成功回调保护时间(延长超时时间) 的方案。
增加成功回调保护时间(延长超时时间)
业务系统在下单的时候,把官方侧订单超时时间设置为14min,业务侧订单超时时间设置未15min。这样,支付的有效性只有14min,即使在接近14min结束时支付,支付成功回调依然能够被正常处理,因为给这种类型的回调空出了1min。
不过,在用户那边,出现的问题是,订单可能是14min或15min。效果就是,14min后,用户会看到订单还是待支付,但是已经支付不了了,15min后,订单才修改为超时状态。