H7.13.2inventory coupon release on failure设计研究

因失败释放的库存与优惠券需要及时恢复而非永久占用

别名: 锁库存释放 · 券解冻 · hold release

概念解释

进结算时库存和券常被预占。支付确定失败后,这些预占必须在人还能再买的时间内回到可用户池:库存重新可售,券重新可点。永久占用表现为失败后车里的件变成无货、券消失且客服说「已使用」。这条管失败之后的资源,不管超时要不要先查询,也不管双扣怎么退钱。

机制

预占保护的是支付窗口里的稀缺,不是失败之后的惩罚。若释放依赖人工或等预占自然过期(可能数十分钟到数小时),人立刻重试会看见无货或无券,以为商品没了,转向别家。券被标成已核销但钱没扣,是账实不符,下一次结算也无法用。未知态下不能释放,否则查询回来成功时无货可发;失败确定后必须尽快释放。界面要让人看见「库存已恢复 / 券已退回」,否则人不会再试这一单。

怎么研究

用限量 SKU 和限量券走失败单,比较:立即释放、等预占过期、永不释放。看失败后立刻重试是否还能买到、券是否仍可用。

自变量:释放触发(明确失败 / 预占到期 / 人工)、释放是否通知、未知态是否误释放。 因变量:失败后重试成功率、券状态错误、超卖或超发券。

实验室要真的扣库存。不要在未知态测释放。超卖说明释放太早,永不释放说明太晚,两个方向都要记。

边界

闪购、演出票的预占本身就是商品规则,失败后可能无法再保证同一座位,释放会进公共池而不是原人专属——要说清「已回到可售,不保证仍是这一张」。支付未知时库存应继续短占,并展示剩余锁定时间。券若已过期,释放也救不回,应说明过期而不是「已使用」。

怎么落地

  • 在失败确定的同一事务里释放库存与券;订单上写「未扣款,券已退回」。
  • 未知态保持短占,到期仍未知则升级查询,不要当失败释放。
  • 失败后回到购物车,库存与券的可用状态与释放后的系统真相一致。
  • 验证:限量件 + 一张券,故意失败,立刻再结算。件仍可买、券仍可用。若显示无货或券已用,释放失败。

延伸

  • 同组H7.13.1 网络超时不等于支付失败,需要先查询结果再决定下一步 · H7.13.3 支付渠道与订单系统状态短暂不一致时需向用户说明处理中 · H7.13.4 重复扣款的自动退回机制需要有明确的到账时限承诺
  • 相邻H7.01 购物车 · H7.09 优惠、折扣与比价 · H7.06 支付失败
  • 站内检索inventory hold · coupon release · payment failure restock

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H7.13.2