# Payment Checkout Feedback Specification ## ADDED Requirements ### Requirement: 暂无可用商户提示 客户支付端 SHALL 使用稳定的机器可读错误码识别“无可用商户”,并使用唯一明确的中文提示,不暴露内部商户路由信息。 #### Scenario: 识别无可用商户错误 - **GIVEN** 后端在支付发起响应中返回已确认的“无可用商户”稳定错误码 - **WHEN** 客户点击支付并收到该错误 - **THEN** 页面 MUST 显示“暂无可用商户” - **AND** 前端 MUST NOT 通过匹配中文 `msg` 或其他可变文案判断该错误 #### Scenario: 无可用商户时不展示内部信息 - **WHEN** 页面展示“暂无可用商户” - **THEN** 页面 MUST NOT 展示商户 ID、商户名称、商户池名称、成员列表、轮询策略、阈值、`routing_epoch`、凭证或凭证版本 ### Requirement: 客户支付失败反馈 客户支付端 SHALL 对普通支付失败使用面向用户的统一提示,并禁止暴露商户切换或自动重试的内部处理。 #### Scenario: 普通支付失败提示重新发起 - **GIVEN** 客户支付请求因非“无可用商户”原因失败 - **WHEN** 页面展示失败结果 - **THEN** 页面 MUST 显示“支付失败,请重新发起支付” - **AND** 前端 MUST NOT 自动重放同一支付请求 #### Scenario: 不提示切换商户重试 - **WHEN** 任意客户支付失败 - **THEN** 页面 MUST NOT 显示“切换商户重试”或任何等价文案 - **AND** 页面 MUST NOT 提供切换商户的按钮、入口或操作提示 - **AND** 页面 MUST NOT 暴露后端是否尝试过多个商户 #### Scenario: 用户主动重新发起支付 - **GIVEN** 客户已收到支付失败提示 - **WHEN** 客户主动再次发起支付 - **THEN** 前端 MUST 按支付接口约定创建一笔新的支付请求 - **AND** 前端 MUST NOT 复用失败支付请求的商户选择或前端临时支付状态