# 1.1 退款接口
# 简要描述
- 退款接口
- 支持合并包裹支付场景下的单运单退款(传
subOrderId)与批量运单退款(传subOrderRefundList)
# 请求URL
/api/v2/payment/refund
# 请求方式
- POST
# 请求参数
| 参数名 | 必选 | 类型 | 长度 | 说明 |
|---|---|---|---|---|
| appId | 是 | string | - | 应用APPID |
| mchRefundOrderId | 是 | string | 1-32 | 商户-退款编号, 商户系统唯一标识,格式:字母+数字,1-32位,如:CCP20220428011068111 |
| originalTransactionId | 是 | string | 1-32 | 原交易流水号 |
| subOrderId | 条件必填 | string | 1-32 | 运单号。单运单退款时传入,与 subOrderRefundList 二选一,不可同时传 |
| subOrderRefundList | 条件必填 | string | - | 子运单退款明细,JSON字符串(格式见 subOrderRefundList 参数)。批量运单退款时传入,与 subOrderId 二选一,不可同时传 |
| refundAmount | 是 | int | - | 本次退款总金额(以分为单位,最小100分,例如PHP:500.10, 需要设置为50010)。多运单退款时,必须等于 subOrderRefundList 内所有子运单退款金额之和 |
| refundReason | 否 | string | 1-200 | 退款原因,本次请求内所有子运单共用,不支持子运单级退款原因 |
| refundCallbackUrl | 是 | string | - | 退款回调Url |
| sign | 是 | string | - | 签名 |
# subOrderRefundList 参数
subOrderRefundList为 JSON 字符串,如:"[{\"subOrderId\":\"JT123456789\",\"refundAmount\":10000},{\"subOrderId\":\"JT987654321\",\"refundAmount\":20000}]"
| 参数名 | 必选 | 类型 | 长度 | 说明 |
|---|---|---|---|---|
| subOrderId | 是 | string | 1-32 | 运单号,格式:字母+数字,1-32位 |
| refundAmount | 是 | int | - | 当前子运单本次退款金额(以分为单位,最小100分)。子运单仅支持全额退款:必须等于该子运单原交易金额 |
# 请求示例 - 单运单退款
{
"appId": "xxx",
"mchRefundOrderId": "RF202606220001",
"originalTransactionId": "P202606220001",
"subOrderId": "JT123456789",
"refundAmount": 10000,
"refundReason": "客户拒收",
"refundCallbackUrl": "https://merchant.example.com/refund/callback",
"sign": "xxx"
}
# 请求示例 - 批量运单退款
{
"appId": "xxx",
"mchRefundOrderId": "RF202606220002",
"originalTransactionId": "P202606220001",
"refundAmount": 30000,
"refundReason": "批量退款",
"subOrderRefundList": "[{\"subOrderId\":\"JT123456789\",\"refundAmount\":10000},{\"subOrderId\":\"JT987654321\",\"refundAmount\":20000}]",
"refundCallbackUrl": "https://merchant.example.com/refund/callback",
"sign": "xxx"
}
# 返回示例
{
"code": 1000,
"message": "success",
"data": {
"mchRefundOrderId": "RF202606220002",
"refundTransactionId": "R202606220001",
"refundAmount": 30000,
"refundStatus": "PENDING",
"refundCreateTime": "2026-06-22 15:30:00",
"refundReturnTime": "",
"subOrderRefundList": [
{
"subOrderId": "JT123456789",
"refundAmount": 10000
},
{
"subOrderId": "JT987654321",
"refundAmount": 20000
}
]
}
}
refundReturnTime:退款结果返回时间,退款处理中时为空subOrderRefundList:单运单和批量模式均返回,仅包含subOrderId和refundAmount,不返回子运单级refundStatus和refundReason
# 返回失败案例 响应code列表 (opens new window)
{
"code":1002,
"message":"merchant white ip forbidden",
}