## 目标
- 仅支持后台管理主动发起退款（全额/部分）并记录每笔退款金额与原因
- 在订单详情展示“退款记录列表”与“可退款金额”，统一中文枚举显示

## 后端
1) 管理端退款记录补充：在 `POST /api/admin/pay/refunds` 现有逻辑基础上，新增一条 `user_points_ledger(action='refund_amount', points=退款金额, ref_table='orders', ref_id=order_no, remark=reason)` 记录每笔退款金额（不新建表）。
2) 订单详情聚合退款：在 `GET /api/admin/pay/orders/:order_no` 增加字段：
   - `refunds[]`：来源于 `user_points_ledger(action='refund_amount')`；包含金额、原因、时间
   - `refundable_amount`：`actual_amount - sum(refunds.amount)`（分）
3) 边界与幂等：
   - 仅允许 `status=2已支付` 发起退款；金额需 `>0 且 <= refundable_amount`
   - 全额退款后置 `status=4已退款`；部分退款维持 `status=2`

## 前端
1) 列表与详情使用中文枚举（已完成基础替换）
2) 详情页：
   - 显示“可退款金额（分）”
   - 新增“退款记录”表格（金额/原因/时间）
   - 退款按钮支持部分退款；提交后刷新详情与可退余额

## 验收
- 管理端可主动发起退款并记录到“退款记录”
- 详情页展示可退余额与每笔退款信息
- 编译与联调通过