## 1. 类型与 API 层(refund-api) - [x] 1.1 `RefundStatus` 增加 5/6;新增 `RefundMethod`、`channel_refund_status`、`failure_reason` 枚举与名称映射 - [x] 1.2 `Refund` 响应补充全部新增字段(method、冻结实收、渠道退款、失败分类、异常标记、套餐用量等) - [x] 1.3 新增 `RefundAttemptItem`(attempts[] 14 个子字段) - [x] 1.4 `CreateRefundRequest` 契约更新:`method` 必填、`customer_account_info` 可选、移除 `actual_received_amount` - [x] 1.5 `ResubmitRefundRequest` 契约更新:可选 `method`/`customer_account_info`、移除 `actual_received_amount` - [x] 1.6 `RefundService` 新增 `approveRefund`/`rejectRefund`/`returnRefund` ## 2. 退款页面(refund-pages) - [x] 2.1 列表页状态 5/6 Tag 展示与新列(退款方式、冻结实收金额、渠道退款状态、渠道退款流水号、渠道退款金额、失败分类、异常标记、套餐已用量/总量) - [x] 2.2 `canResubmit` 改为枚举判断(3/4/6,6 且 `anomaly_flag=1` 禁止) - [x] 2.3 列表/详情审批按钮(通过/拒绝/退回)按 `approval_instance_id` 与权限控制 - [x] 2.4 详情页新增字段展示与 `attempts[]` 尝试历史时间线 - [x] 2.5 创建弹窗:退款方式选择 + 客户收款信息(customer_account 方式联动必填 + 至少 1 凭证) - [x] 2.6 重提弹窗:可选 `method`/`customer_account_info` 重新选择(不选沿用原值) ## 3. 支付商户(payment-merchant-credentials) - [x] 3.1 `wechat_v2` 凭证模板 optional 新增 `wx_client_cert_content`、`wx_client_key_content` - [x] 3.2 商户表单支持两个可选 PEM 文本域 ## 4. 旧支付配置(wechat-configs) - [x] 4.1 `paymentSettings` 类型新增 `wx_client_cert_content`、`wx_client_key_content` - [x] 4.2 支付配置表单新增两个可选 PEM 输入 ## 5. 验证 - [x] 5.1 运行 `npm run build`(含 `vue-tsc --noEmit`) - [x] 5.2 运行 `npm run check:encoding` - [x] 5.3 运行 `openspec.cmd validate update-refund-management --strict`