主题
退款
POST /v1/open/payments/{out_trade_no}/refunds(HMAC 签名同创建接口)
json
{ "out_refund_no": "SHOP-A-20260901-REF-001", "refund_amount": 1000 }请求参数
| 字段 | 类型 | 必填 | 约束 |
|---|---|---|---|
out_refund_no | string | 是 | 1~64 字符 [A-Za-z0-9._-];应用内唯一(幂等键) |
refund_amount | int64 | 是 | 分;必须 = 订单实付金额(一期仅全额) |
响应 data
| 字段 | 说明 |
|---|---|
refund_no | 平台退款单号 |
out_refund_no | 对接方退款单号 |
payment_no | 平台支付单号 |
refund_amount | 退款金额(分) |
status | processing(处理中,以查单/回调为准)/ success / failed |
channel_refund_no / refund_at | 渠道退款单号 / 退款成功时间(终态时) |
语义
- 全额退款:
refund_amount必须等于订单实付金额,否则400 REFUND_AMOUNT_INVALID。 - 幂等:同
(app_id, out_refund_no)重复且金额一致 → 返回原退款单;不一致 →409。 - 前置:订单须为
paid(已退/未支付/已关闭 →409 ORDER_NOT_REFUNDABLE)。 - 原路退:资金退回到支付时的实际通道(链接转发多通道场景自动正确)。
- 异步结果:退款可能处理中(
processing),前后以查单(订单status=refunded)/回调为准;退款结果事件payment.refunded会通知(见回调通知)。
退款时序
退款状态字典
| 值 | 含义 |
|---|---|
processing | 处理中(渠道可能已受理,以查单/回调为准) |
success | 退款成功 |
failed | 退款失败 |