alipay.intl.acquiring.common.refund
Use this interface to refund an existing payment. A refund can be partial and a transaction can have multiple refunds as long as the total refund amount is no greater than the original transaction amount. There is a refund window for each transaction. A refund request will be declined if it happens outside of the refund window.
To retry a refund in case of timeout or the returned resultStatus
is U
, use the same merchantRefundId
.
Request
Service address
Environment | URL |
Production | https://open-sea.alipay.com/api/alipay/intl/acquiring/common/grefund.htm |
Request head
Parameter | Description |
version String(8) | API version
|
function String(128) | API name
|
clientId String(32) | A unique ID assigned by Alipay to identify a client that makes API calls
|
reqTime Date time(/) | Request time. The date time with timezone, see RFC 3339 Section 5.6 for details.
|
reqMsgId String(64) | Request message ID. A unique ID assigned by the client to identify a request message. This ID identifies a unique system request rather than business request.
|
reserve String(256) | Reserved parameter. Key-value formatted parameter for future use. This parameter is required for system integrator. If you are a system integrator, you must provide the isvAccesstoken value.
|
signType String(64) | Sign type
|
Request body
Parameter | Description |
merchantId String(64) | The unique merchant ID assigned by Alipay. This parameter identifies the settlement target that Alipay settles to.
|
acquirementId String(64) | The unique Alipay transaction ID that identifies the transaction to be refunded
|
merchantRefundId String(64) | The unique refund ID assigned by the merchant
|
refundAmount Money(/) | The refund amount in the pricing currency. The value can not be greater than the original order amount. See Money for details.
|
refundReason String(256) | The refund reason that is shown in the buyer's transaction details.
|
extendInfo String(2048) | The key-value formatted parameter reserved for future use
|
isSync Boolean(5) | This parameter specifies whether the refund is processed synchronously. Valid values are:
The default value is
|
Response
Response head
Parameter | Description |
version String(8) | API version
|
function String(128) | API name
|
clientId String(32) | Client ID. The unique ID assigned by Alipay to identify a client that makes API calls
|
respTime Date time(/) | Response time. The date time with timezone, see RFC 3339 Section 5.6 for details.
|
reqMsgId String(64) | Request message ID. The unique ID assigned by client to identify a request message
|
reserve String(256) | Reserved parameter. The key-value formatted parameter reserved for future use
|
signType String(8) | Sign type
|
Response body
Parameter | Description |
resultInfo ResultInfo(/) | See resultInfo for details.
|
merchantRefundId String(64) | The unique ID assigned by the merchant to identify a refund. Only when the refund succeeds, this field is returned.
|
acquirementId String(64) | The unique transaction ID assigned by Alipay when the transaction succeeds.
|
refundId String(64) | The unique refund ID assigned by Alipay. Only when the refund succeeds, this field is returned.
|
refundAmount Money(/) | The refund amount in the pricing currency. The value can not be greater than the original order amount.
|
refundTime Date time(/) | Date time with timezone, see RFC 3339 Section 5.6 for details. Note: This parameter is required when
|
extendInfo String(2048) | Extended information. The key-value formatted parameter reserved for future use.
|
Sub-parameters
resultInfo
Parameter | Description |
resultStatus String(2) | The request status can be:
|
resultCodeId String(8) | An 8-digit code that is used to identify a result. When
|
resultCode String(64) | The result code
|
resultMsg String(256) | When
|
Money
Parameter | Description |
currency String(3) | The 3-letter currency code. See Supported currencies for details.
|
value Number(16) | The amount. This value must be provided in the smallest common currency unit. For example, to create a charge for $1.00, you set
|
Result code
Functional logic result code
Basic result code
resultCodeId | resultCode | resultStatus | Remarks |
00000000 | SUCCESS | S | Success |
00000019 | PROCESS_FAIL | F | General business failure |
00000901 | UNKNOWN_EXCEPTION | U | API failed because of unknown reasons |
00000004 | PARAM_ILLEGAL | F | The parameter is incorrect. |
00000007 | INVALID_SIGNATURE | F | The signature is invalid. |
00000008 | KEY_NO_FOUND | F | The key is not found. |
00000013 | NO_INTERFACE_DEF | F | The API is undefined. |
00000014 | API_IS_INVALID | F | The API is invalid or nonactivated. |
00000021 | ACCESS_DENIED | F | Access denied |
12014155 | UNKNOWN_CLIENT | F | Unknown client |
12014156 | INVALID_CLIENT_STATUS | F | Invalid client status |
00000024 | REQUEST_TRAFFIC_EXCEED_LIMIT | F | The request traffic exceeds the limit. |
12003001 | MERCHANT_NOT_EXIST | F | The merchant doesn't exist. |
Sample
Sample request
{
"request":{
"head":{
"version":"2.0.4",
"function":"alipay.intl.acquiring.common.refund",
"clientId":"385xxxxxxxxx0001",
"reqTime":"2001-07-04T12:08:56+05:30",
"reqMsgId":"123xxxxxxxxxxxxxxx3fda",
"signType":"RSA2"
},
"body":{
"merchantId":"211xxxxxxxxxxxxxx2999",
"acquirementId":"201xxxxxxxxxxxxxxxxxxxxx5678",
"merchantRefundId":"Merchant_Refund_Id_93045",
"refundAmount":{
"currency":"USD",
"value":"239"
},
"refundReason":"refund per customer request",
"extendInfo":"{}",
"isSync":true
}
},
"signature":"signature string"
}
Sample response
{
"response":{
"head":{
"version":"2.0.4",
"function":"alipay.intl.acquiring.common.refund",
"clientId":"385xxxxxxxxx0001",
"respTime":"2001-07-04T12:08:56+05:30",
"reqMsgId":"123xxxxxxxxxxxxxxx3fda",
"reserve":"{}",
"signType":"RSA2"
},
"body":{
"resultInfo":{
"resultStatus":"S",
"resultCodeId":"00000000",
"resultCode":"SUCCESS",
"resultMsg":"success"
},
"merchantRefundId":"Merchant_Refund_Id_93045",
"acquirementId":"201xxxxxxxxxxxxxxxxxxxxx5678",
"refundId":"201xxxxxxxxxxxxxxxxxxxxx9012",
"refundAmount":{
"currency":"USD",
"value":"239"
},
"refundTime":"2001-07-04T12:08:56+05:30",
"extendInfo":"{}"
}
},
"signature":"signature string"
}