昨天遇到一个极端问题。
客户支付时,正好进来个电话,支付成功了,但是我们这边没有收到返回信息,因为当时网断了。
这电话早不进晚不进,就是毫秒级的时间差。
请教了几位后端同学,最后是以前做过交易的思源同学提供了解决方案。
遇到这种情况不要急于标记失败,可以弄个轮询,每隔一段时间(例如 10 秒钟)去请求一次微信支付订单的查询接口,请求到结果了再标记。超过一定时间(例如 3 分钟)还没请求到结果则终止轮询,关闭订单。
具体可以参考微信提供的一些方案。
昨天遇到一个极端问题。
客户支付时,正好进来个电话,支付成功了,但是我们这边没有收到返回信息,因为当时网断了。
这电话早不进晚不进,就是毫秒级的时间差。
请教了几位后端同学,最后是以前做过交易的思源同学提供了解决方案。
遇到这种情况不要急于标记失败,可以弄个轮询,每隔一段时间(例如 10 秒钟)去请求一次微信支付订单的查询接口,请求到结果了再标记。超过一定时间(例如 3 分钟)还没请求到结果则终止轮询,关闭订单。
具体可以参考微信提供的一些方案。