场景:
业务需求,订单有效支付时间是15分钟。虽然写了定时任务,但当用户在支付宝支付界面停留时间超过有效时间,为了确保支付宝订单状态和数据库订单状态一致性,在用户发起预支付的时候设置了支付宝订单过期时间,已确保后台关闭订单的时候,支付宝的订单状态也是关闭的。
问题:
发起预支付订单的接口文档上有timeout_express字段。
但是在实际支付时,超过设定的时间也可以支付。
后来看到了time_expire这个字段,绝对超时时间。搞定!
缺点:服务器时间和支付宝服务器时间不一致,可能会有延迟。
优点:app支付是需要正确输入密码之后才会创建交易的,这个时候timeout_express才开始计时,而使用time_expire可以避免这个问题。。