37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: 后台订单在线支付摘要
|
|
|
|
后台订单公共类型 SHALL 接收 `third_party_trade_no`、`payment_channel`、`payment_merchant_name` 三个字符串字段;订单列表和详情 MUST 分别展示交易流水号、支付渠道和收款商户,不自行推断或补造后端未提供的值。
|
|
|
|
#### Scenario: 查看个人客户已支付在线订单
|
|
|
|
- **WHEN** 后台订单列表或详情收到个人客户微信/支付宝已支付订单的支付摘要
|
|
- **THEN** 页面 MUST 展示后端返回的三个字段
|
|
- **AND** `wechat`、`wechat_v2`、`fuiou` MUST 分别展示为微信直连 v3、微信直连 v2、富友
|
|
- **AND** 未知非空渠道 MUST 保留原值,不错误映射成其他渠道
|
|
- **AND** 已退款订单返回的原支付信息 MUST 继续展示
|
|
|
|
#### Scenario: 查看无在线支付摘要的订单
|
|
|
|
- **WHEN** 代理、钱包、线下或未支付订单的三个字段为空串
|
|
- **THEN** 页面 MUST 统一展示 `-`,不得显示 `undefined` 或虚构渠道/商户
|
|
- **AND** 列表和创建响应类型 MUST NOT 要求存在详情专有的 `payments`
|
|
|
|
### Requirement: 后台订单详情支付记录
|
|
|
|
后台订单详情 SHALL 使用独立于列表/创建响应的详情类型,接收并展示 `payments` 数组。支付单状态 MUST 使用独立映射 `0 待支付 / 1 已支付 / 2 已失败 / 3 已退款`,不得复用订单支付状态枚举。
|
|
|
|
#### Scenario: 展示多个支付尝试
|
|
|
|
- **WHEN** `GET /api/admin/orders/{id}` 返回多条支付记录
|
|
- **THEN** 页面 MUST 按后端返回的创建时间倒序展示,不删除待支付或失败记录
|
|
- **AND** MUST 展示支付单号、支付方式、渠道、商户、交易流水号、金额、状态、创建/支付/过期时间
|
|
- **AND** 金额 MUST 从分转换为元,`paid_at`、`expire_at` 的 null 值 MUST 展示 `-`
|
|
|
|
#### Scenario: 无支付记录
|
|
|
|
- **WHEN** 订单详情返回 `payments=[]`
|
|
- **THEN** 页面 MUST 显示支付记录空态,不报错或生成占位支付单
|
|
- **AND** 页面 MUST NOT 为加载支付记录调用 C 端接口
|