先确定何时锁定库存

稀缺兑换码或限量数字资源,需要明确下单预留、支付成功分配或其他库存策略。预留时间与付款有效期相互配合,过期释放时还要处理结果晚到的交易,不能释放后仍向两个订单发出同一份资源。

例如最后一份库存被两人同时购买,应在服务端通过事务或明确的唯一约束决定分配结果,前端显示“库存一件”不能防止并发冲突。

让分配结果可以重复查询

库存条目记录关联订单与状态,同一订单重复处理时返回原分配结果,不再次取出新资源。支付确认、库存分配和交付任务之间需要可靠记录;外部通知到达后,先验签并核对金额,再执行业务处理。

没有可交付库存时保留已付款事实

库存不足不应把成功付款改成失败。将订单标记为待补货或售后处理,明确用户可以采取的动作,避免循环重试消耗更多资源。测试最后一份库存、重复通知、任务中断与退款,确认库存变化都能追溯到具体订单。