先确认原支付是否成功
二维码显示过期,不代表原交易一定没有完成。用户可能已扫码付款而页面未刷新。先查询原订单,成功则进入结果展示,状态未知继续核对,不直接生成新单要求用户再付一次。
需要重建时保留原关联
确认原尝试未完成且不可继续后,再按业务流程创建新尝试,并关联原商品订单。旧交易记录不删除。页面展示最新有效二维码与明确金额,避免多个码同时出现,让用户无法判断应扫描哪一个。
返回和重复扫描都要测试
测试过期前后付款、页面刷新和用户从外部应用返回。后台确认与前端展示使用同一份订单状态,交付执行仍保持幂等。实际发生两笔成功付款时,逐笔核实后按售后规则处理,不能把旧记录静默忽略。
区分二维码展示失效与交易状态
二维码倒计时结束只是页面或支付入口的状态,应继续查询原交易。若已经支付,展示结果;若明确未支付并允许重建,创建与原购买关联的新尝试。测试旧码仍被扫描、二维码刚失效时付款以及页面刷新,避免仅靠前端计时器判断可再次收费。

