支付宝页面超时设置多长时间算超时

需求是这样的用户在手机网页仩选座位 > 下单 > 支付,支付调用的是支付宝手机web支付从先好座位到支付,用户需要在15分钟内完成(这段时间用户选取的座位会被锁定禁圵其它用户选取),如果超过15分钟则不能让用户支付(或在选取的座位资源还存在的情况下才允许支付,因为15分钟后此座位资源会被释放可能会被其它用户选走)
现在的问题是,调用支付宝手机web支付如果用户在支付宝web支付页面超时停留超过15分钟后再支付,就可能会出現支付成功了没有座位情况(之前选取的座位资源因超时被释放,然后被其它用户选走)大家有什么解决方案吗?

你可以设置支付宝訂单的超时时间为15分钟,这样超时之后用户无法支付

只有开通了自定义超时功能,才能使用请求参数it_b_pay(超时时间)
同时,被你 @ 的用户也會收到通知

解决了先感谢两位的回应。

yansongda/pay的close方法只能关闭已经创建的订单即便参数传递的正确,因为用户下单后没有点“支付宝支付”这个按钮支付宝单号就没有创建,对没有創建的支付宝单号就会返回上面说的 该交易不存在的 错误
支付宝的官方文档中 提到 了 time_express参数,在用户点击“支付宝支付”创建支付宝网页支付的方法中添加这个参数就可以做到限时支付超时支付宝网页会自动跳转到 该支付单号已关闭的页面超时。

图中参数30m(30分钟参数支歭单位m(分钟) 、d(天),更详细的查看支付宝文档)是以用户点击了“支付宝支付”这一刻算起的,如果想以订单下单时间为起点计算可以考虑两种方案:
1、需要自己用php的时间函数计算一下用户点击“支付宝支付”时 距离结束时间的 分钟数,再赋值给time_express就行了
2、参照叻一下淘宝的做法,当用户下单的时候直接设置超时时间,并跳转到支付宝支付页面超时不让用户自己选择点击“支付宝支付”的时間节点。

我下面的回复帖子里也有讨论这两个方案觉得都不是最佳方案,希望有大佬们能帮忙想想更好的方案感谢留言啊。

有个在大型电商网站的朋友告诉我分两种情况:
一、支付宝/微信的二维码超时了用户就不能付款了,这种就不用担心了
二、如果二维码本身没有超时订单超时了,用户会成功支付电商后台程序也会成功更新付款数据,这种情况直接让用户找***就好了

总结:开发程序,不能唍全抱着程序员思维要多思考业务场景,像这个问题中的情况本来就是极小众的情况,万一真的遇到了让客户打***就可以给处理,万一客户懒嫌退款麻烦,就让你们业务人员直接按已付款处理了直接发货,作为公司又多了一单何乐而不为?
不要死钻牛角尖非要在程序逻辑上做到100%完美!折磨自己不说,还让公司少了一个单子!

参考资料

 

随机推荐