docs(changelog): 退款失败原因 failReason 列表也返回(#3360/PR#3361)

这个提交包含在:
API Changelog Bot 2026-06-02 14:29:28 +08:00
父节点 c36a33ac59
当前提交 35054ebff9

查看文件

@ -16,16 +16,18 @@
- **原因**:此前 `actualAmount` 在审批时就预填了,导致「退款中/已取消/申诉中」的单子也显示金额,误以为已退到账。现严格表示「真实到账」。
- **前端建议**:`actualAmount``null` 时列内显示「-」即可(与现有空值处理一致)。
## 二、退款详情接口新增「失败原因」字段 `failReason`
## 二、新增「失败原因」字段 `failReason`(列表 + 详情都返回)
- 接口:`GET /admin/order/refund/{applicationId}`
- **新增字段**:`failReason`(String,退款失败原因)
- 退款被微信拒绝/失败时,回显微信返回的原话,例如:`基本账户余额不足,请充值后重新发起`
- 未失败(成功/进行中)时为 `null`
- **前端建议**:详情页在退款记录区域,若 `failReason` 非空则展示「失败原因:xxx」,便于客服/定制师判断为何没退成。
- 未失败(成功/进行中/无失败记录)时为 `null`
- **两个接口都返回**(更新:此前仅详情返回,现列表也返回):
- 列表:`GET /admin/order/refund/list` —— 每行带 `failReason`,失败过的行有值,其余 `null`
- 详情:`GET /admin/order/refund/{applicationId}`
- **前端建议**:列表可加「失败原因」列(或在状态旁提示),`failReason` 非空展示「失败原因:xxx」;详情页同样展示。便于运营/客服在列表直接看出哪些单没退成及原因。
```json
// GET /admin/order/refund/{applicationId} 的 data 节选
// 列表 records[] 每项 / 详情 data 节选
{
"applicationId": "...",
"status": "REFUNDING",
@ -53,6 +55,7 @@
| 列表 18 条:非 REFUNDED 行 actualAmount | ✅ 全部为 null |
| 列表 REFUNDED 行 actualAmount | ✅ 正常有值 |
| 详情接口含 failReason 字段 | ✅ 已返回;构造 FAILED 记录实测回显微信失败原因 |
| **列表接口含 failReason 字段** | ✅ 构造 FAILED 记录实测:列表对应行回显失败原因,其余行为 null(单页 1 次批量查,无 N+1) |
| Flyway 加列 fail_reason | ✅ 已应用 |
## 六、联调地址