Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solution

alipay.intl.acquiring.common.refund

The merchant uses this interface to refund an existing payment.

The partner uses this interface to refund an existing payment. The refund can be partial and a transaction can have multiple refunds as long as the total refund amount is less than or equal to 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, the same merchantRefundId should be used.

Request

Request Parameter

Header

No

Name

Description

Type

Length

Required

Remarks

Sample

1

version

API version

string

8

ME

As per the respective API reference.

2.0.0

2

function

API interface

string

128

ME

According to specifications defined by each business domain.

alipay.intl.function

3

clientId

Client ID

string

32

ME

Provided by Alipay, used to identify partner and application system.

211020000000000000044

4

reqTime

Request time

datetime

/

M

DateTime with timezone, which follows the ISO-8601 standard.
Refer to: RFC 3339 Section 5.6

2001-07-04T12:08:56+05:30

5

reqMsgId

Request message ID

string

64

ME

Each request will be assigned with a unique ID (uuid).
The reqMsgId identifies a unique system request, it is not used to identify a unique business request.

1234567asdfasdf1123fda

6

reserve

Reserved for future implementation

string

256

O

Key/Value

{}

Body

No

Name

Description

Type

Length

Required

Remarks

Sample

1

merchantId

Merchant ID, which identifies the settlement target that Alipay would settle to.

string 

64

M

218820000000000000023

2

acquirementId

Unique Alipay transaction ID

string

64

ME

Alipay transaction ID, identifying the transaction to be refunded.

2015032412007101547201355678

3

merchantRefundId

Unique merchant refund ID

string

64

ME

Merchant_Refund_Id_93045

4

refundAmount

Refund amount

Money

/

M

The amount to be refunded. It should not be greater than the original order amount.
The refundAmount should be provided in the smallest common currency unit. For example, to create a refund for $1.00, you would set refundAmount.value as100 (100 cents).

{"value":"10000", "currency":"USD" }

5

refundReason

The refund reason, which is shown in the buyer's transaction details.

string

512

O

refund per customer request

6

extendInfo

Reserved for extended information

string

2048

O

Key/Value

{}

Request Sample

copy
{
    "request":{
        "head":{
            "version":"2.0.0",
            "function":"alipay.intl.acquiring.common.refund",
            "clientId":"211020000000000000044",
            "reqTime":"2001-07-04T12:08:56+05:30",
            "reqMsgId":"1234567asdfasdf1123fda",
            "reserve":"{}"
        },
        "body":{
            "merchantId":"218820000000000000023",
            "acquirementId":"2015032412007101547201355678",
            "merchantRefundId":"Merchant_Refund_Id_93045",
            "refundAmount":{
                "currency":"USD",
                "value":"239"
            },
            "refundReason":"refund per customer request",
            "extendInfo":"{}"
        }
    },
    "signature":"signature string"
}

Response

Response Parameter

Header

No

Name

Description

Type

Length

Required

Remarks

Sample

1

version

API version

string

8

ME

As per the respective API reference.

2.0.0

2

function

API interface

string

128

ME

According to specifications defined by each business domain.

alipay.intl.function

3

clientId

Client ID

string

32

ME

Provided by Alipay, used to identify partner and application system.

211020000000000000044

4

respTime

Response time

datetime

/

M

DateTime with timezone, which follows the ISO-8601 standard. 
Refer to: RFC 3339 Section 5.6

2001-07-04T12:08:56+05:30

5

reqMsgId

Request message ID

string

64

ME

Each request will be assigned with a unique ID (uuid).

1234567asdfasdf1123fda

6

reserve

Reserved for future implementation

string

256

O

Key/Value

{}

Body

No

Name

Description

Type

Length

Required

Remarks

Sample

1

resultInfo

Result information

ResultInfo

/

M

{
"resultStatus": "S",
"resultCodeId": "00000000",
"resultCode":"SUCCESS",
"resultMsg": "result message"
}

2

merchantRefundId

Unique merchant refund ID.

Note: This field is required when

resultInfo.resultCode is SUCCESS.

string

64

CE

Merchant refund ID, which is generated by the caller, copied from the request.

Refund_Request_Id_93045

3

acquirementId

Unique Alipay transaction ID.

Note: This field is required when

resultInfo.resultCode is SUCCESS.

string

64

CE

Alipay transaction ID, copied from the request.

2015032412007101547201355678

4

refundId

Unique Alipay refund ID

string

64

O

2015032412007101547201359012

5

refundAmount

Refund amount.

Note: This field is required when

resultInfo.resultCode is SUCCESS.

Money

/

C

The refund amount should be exactly same as refundAmount passed in the request.

{"value":"10000", "currency":"USD" }

6

refundTime

Refund time.

Note: This field is required when

resultInfo.resultCode is SUCCESS.

datetime

/

C

DateTime with timezone, which follows the ISO-8601 standard. 
Refer to: RFC 3339 Section 5.6

2001-07-04T12:08:56+05:30

7

extendInfo

Reserved for extended information

string

2048

O

{}

Response Sample

copy
{
    "response":{
        "head":{
            "version":"2.0.0",
            "function":"alipay.intl.acquiring.common.refund",
            "clientId":"211020000000000000044",
            "respTime":"2001-07-04T12:08:56+05:30",
            "reqMsgId":"1234567asdfasdf1123fda",
            "reserve":"{}"
        },
        "body":{
            "resultInfo":{
                "resultStatus":"S",
                "resultCodeId":"00000000",
                "resultCode":"SUCCESS",
                "resultMsg":"success"
            },
            "merchantRefundId":"Merchant_Refund_Id_93045",
            "acquirementId":"2015032412007101547201355678",
            "refundId":"2015032412007101547201359012",
            "refundAmount":{
                "currency":"USD",
                "value":"239"
            },
            "refundTime":"2001-07-04T12:08:56+05:30",
            "extendInfo":"{}"
        }
    },
    "signature":"signature string"
}

Result codes

Functional Logic result codes

No

ResultCodeId

ResultCode

ResultStatus

Remarks

1

00000025

REPEAT_REQ_INCONSISTENT

F

Repeated submit, and requests are inconsistent.

2

12002005

USER_NOT_EXIST

F

The user does not exist.

3

12002006

USER_STATUS_ABNORMAL

F

The user status is not normal.

4

12005001

CURRENCY_NOT_SUPPORT

F

Transaction currency is invalid.

5

12005004

ORDER_NOT_EXIST

F

The order does not exist.

6

23005302

REFUND_AMOUNT_EXCEED

F

The refund amount exceeds the limit.

7

12005014

REFUND_TIME_EXCEED_LIMIT

F

Refund time exceeds the limit.

8

12005003

ORDER_STATUS_INVALID

F

Order status is invalid.

Basic result codes

The following global result codes might be returned for all APIs.

No

ResultCodeId

ResultCode

ResultStatus

Remarks

1

00000000

SUCCESS

S

Success

2

00000019

PROCESS_FAIL

F

General business failure. No retry.

3

00000901

UNKNOWN_EXCEPTION

U

API failed due to unknown reasons.

4

00000004

PARAM_ILLEGAL

F

Illegal parameters. For example, non-numeric input, invalid date.

5

00000007

INVALID_SIGNATURE

F

The signature is invalid.

6

00000008

KEY_NO_FOUND

F

The key is not found.

7

00000013

NO_INTERFACE_DEF

F

API is not defined.

8

00000014

API_IS_INVALID

F

API is invalid or not active.

9

00000016

OAUTH_FAILED

F

oAuth authentication failed.

10

00000021

ACCESS_DENIED

F

Access denied.

11

12014152

CLIENT_FORBIDDEN_ACCESS_API

F

The client is not authorized to use this API.

12

12014155

UNKNOWN_CLIENT

F

Unknown client

13

12014156

INVALID_CLIENT_STATUS

F

Invalid client status

14

00000024

REQUEST_TRAFFIC_EXCEED_LIMIT

F

Request traffic exceeds the limit.