退款发起
对成功扣款账单发起全额或部分退款。重复 out_refund_no 拒单;不自动解约。未上送 notify_url 时不发送退款异步通知。
接口说明
请求方式:【POST】/v1/subscription/refund/create
请求域名:【主域名】https://api.baofu.com
请求参数
Header 参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | true | 请参考【开发指引-整体说明】生成认证信息 |
| Accept | string | true | 请设置为 application/json |
| Content-Type | string | true | 请设置为 application/json |
Body 参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| out_refund_no | string(64) | true | 商户退款订单号 |
| deduction_no | string(32) | true | 账单号 |
| refund_amount | integer | true | >0;退款金额,单位分 |
| notify_url | string(512) | false | 异步通知地址;不传则不通知 |
| reason | string(256) | false | 退款原因(可空) |
请求示例
{
"out_refund_no": "MRF202607240001",
"deduction_no": "DD01010120260319120000000001",
"refund_amount": 100,
"notify_url": "https://merchant.example.com/callback/refund",
"reason": "用户申请退款"
}
应答参数
200 OK
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| refund_no | string | true | 平台退款订单号 |
| out_refund_no | string | true | 商户退款订单号 |
| deduction_no | string | true | 账单号 |
| refund_amount | integer | true | 退款金额(分) |
| refund_status | string | true | 退款状态,取值:PENDING / PROCESSING / SUCCESS / FAILED |
| error_code | string | false | 不下发(恒省略/null) |
| error_message | string | false | 仅失败终态有值;受理成功/处理中为 null 或省略 |
| create_time | string | true | 创建时间,ISO 8601 |
应答示例
200 OK
{
"refund_no": "RF01010120260724120000000001",
"out_refund_no": "MRF202607240001",
"deduction_no": "DD01010120260319120000000001",
"refund_amount": 100,
"refund_status": "PROCESSING",
"create_time": "2026-07-24T12:00:00+08:00"
}
错误码
公共错误码
| 状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
| 400 | PARAM_ERROR | 参数校验失败 | 必填参数缺失或格式不合法 |
| 401 | SIGN_ERROR | 验证不通过 | 请参阅【开发指引-整体说明】排查签名 |
| 500 | SYSTEM_ERROR | 系统异常 | 内部系统错误 |
业务错误码
| 状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
| 409 | ORDER_DUPLICATED | 重复请求 | out_refund_no 已存在 |
| 402 | TRADE_ERROR | 业务失败 | 超额退款或账单无成功支付流水 |
应答示例
失败
{
"code": "ORDER_DUPLICATED",
"message": "订单已经存在"
}