Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 5h7m21s
1.8 KiB
1.8 KiB
Why
当前支付商户池在预下单失败后仍可能继续命中同一商户,且金额/笔数轮询只统计支付成功事实,导致失效商户持续阻塞后续支付,运营人员必须人工发现并处理。运营方要求明确失败立即淘汰账户,并让金额/笔数轮换按支付尝试推进,而不是等待支付成功或轮询周期到达。
What Changes
- 支付预下单获得明确失败结果时,自动将本次命中的支付商户从新支付路由中禁用,并记录可调查的失败原因与关联支付事实。
- 明确失败后的后续支付不得继续命中该商户;当前失败支付单按既有失败语义结束,不自动复用原支付单向其他商户重试。
- 金额轮询改为按支付尝试金额累计,无论预下单或后续支付最终成功、失败还是取消,只要该支付尝试已冻结商户并达到计入条件,就推进该商户的金额阈值。
- 笔数轮询改为按支付尝试次数累计,无论支付最终成功、失败还是取消,只要该支付尝试已冻结商户并达到计入条件,就推进该商户的笔数阈值。
- 保留支付单创建时的商户、商户池和统计世代快照;后续路由切换不得改写已创建支付单的归属。
- 对结果未知的外部调用保留查单/恢复边界,不在无法确认“明确失败”的情况下直接禁用商户或重复创建支付,避免误伤和重复扣款风险。
- BREAKING 修改现有商户池轮询契约:金额/笔数不再只统计支付成功结果,预下单明确失败会改变商户启用状态。
Capabilities
New Capabilities
- 无。该变更扩展现有支付商户池能力,不新增独立业务能力。
Modified Capabilities
merchant-payment-routing: 修改预下单失败处理、商户自动禁用及金额/笔数轮询统计口径。