Skip to content

退款

POST /v1/open/payments/{out_trade_no}/refunds(HMAC 签名同创建接口)

json
{ "out_refund_no": "SHOP-A-20260901-REF-001", "refund_amount": 1000 }

请求参数

字段类型必填约束
out_refund_nostring1~64 字符 [A-Za-z0-9._-];应用内唯一(幂等键)
refund_amountint64分;必须 = 订单实付金额(一期仅全额)

响应 data

字段说明
refund_no平台退款单号
out_refund_no对接方退款单号
payment_no平台支付单号
refund_amount退款金额(分)
statusprocessing(处理中,以查单/回调为准)/ 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退款失败