用户扫码时提示二维码失效,但页面上的倒计时还剩几分钟。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,二维码有效期与订单关闭时间分别配置,两者没有对齐。
「支付超时对齐」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。报错里带路径的,先去看那个路径在不在、权限对不对。
expire_seconds = min(3600, order_expire - now) # 关闭订单 closeOrder(no)
同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
具体做法是,以订单超时时间为准生成二维码;关闭订单时同步失效二维码;前端倒计时取服务端时间。
最后用这个标准收尾,二维码有效期与订单状态一致,避免无效扫码。