## 1. Exchange Creation Failure Contract

- [x] 1.1 保持 `POST /api/admin/exchanges` 及其成功响应结构不变。
- [x] 1.2 读取创建失败响应的统一 `code` 和 `msg`，不将后端业务原因替换为通用前端文案。

## 2. Refund Interception Feedback

- [x] 2.1 通过统一 HTTP 错误处理展示后端返回的退款拦截业务原因，不在创建弹窗内额外渲染本地错误区域。
- [x] 2.2 退款拦截失败后保留表单输入、已选资产和流程类型。
- [x] 2.3 请求结束后恢复提交按钮，使用户能够更换资产并再次提交。

## 3. Backend-Controlled Eligibility

- [x] 3.1 不增加退款状态查询、预检查区域或退款申请入口。
- [x] 3.2 不根据退款审批、撤销、拒绝或处理状态自行判断资产能否换货。

## 4. Verification

- [ ] 4.1 验证活跃退款资产创建换货时显示“该资产存在退款申请”或后端等价业务原因，且不创建换货单。
- [ ] 4.2 验证已拒绝、撤销或处理完成退款的资产按后端结果可继续创建换货。
- [ ] 4.3 验证失败后保留表单并可更换资产重新提交。
- [x] 4.4 运行相关前端校验，并执行 `openspec validate update-exchange-refund-interception-feedback --strict`。
