refund
POST /v2/payments/refund
调用 refund 接口来对交易成功的订单进行全额或部分退款。
结构
报文由报文头和报文体组成。本文主要介绍报文体结构信息,有关报文头的结构信息,请参阅:
请求参数
参数名称 | 类型 | 是否必需 | 描述 |
refundRequestId | String | 是 | 由商户分配的用于标识退款请求的唯一 ID。(最大长度:64 个字符) |
paymentId | String | 是 | 支付 ID。
|
originalMerchantRefundId | String | USB 连线通信模式时必需 | 商户侧 POS 的 referenceRefundId(仅在 USB 连线通信模式下可用)。 |
refundAmount | 否 | 退款金额。
| |
memo | String | 否 | 退款备注信息。(最大长度:256个字符) |
Amount
参数名称 | 类型 | 是否必需 | 描述 |
value | Integer | 是 | 货币最小单位的金额值。例如, |
currency | String | 是 | 遵循 ISO-4217 标准的 3 个字符的货币代码。例如, |
响应参数
参数名称 | 类型 | 是否必需 | 描述 |
refundRequestId | String | 是 | 退款 ID。 |
result | 是 | 接口调用的结果。 | |
refundId | String | 是 | 退款 ID。 |
Result
参数名称 | 类型 | 是否必需 | 描述 |
resultStatus | String | 是 | 结果状态。有效值为:
|
resultCode | String | 否 | 结果码。(最大长度:64 个字符) |
resultMessage | String | 否 | 详细描述结果码的结果消息。(最大长度:256 个字符) |
结果码
示例
以下代码展示了一个请求报文:
copy
{
"payRequestId": "uB0RN0c88v26cwW9IN2lE3fuW3AIRZ0v2ooyH6amwtM3by6o13e**********",
"paymentId": "2026022593030000001******",
"refundRequestId": "03PF50082_1770267087585_85******",
"memo": "",
"refundAmount": null
}以下代码展示了一个响应报文:
copy
{
"refundId": "20260410194010890100111670209******",
"refundRequestId": "03PF50082_1770267087585_85******",
"refundTime": "2026-04-10T11:32:54Z",
"result": {
"resultCode": "SUCCESS",
"resultMessage": "Success.",
"resultStatus": "S"
}
}