alipay.intl.acquiring.common.payCancel
The merchant uses this API to cancel a transaction when the pay API did not return a clear result. For example,  when the pay API times out or return UNKNOWN_EXCEPTION. If payCancel API is called Upon successful, the merchant could safely assume as if the transaction never happened.  A cancelled transaction would not be reflected in the settlement report.
Request
Request parameters
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. | 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 | Condition | Sample | 
| 1 | merchantId | The merchant id, which identifies the settlement target that Alipay would settle to. | string | 64 | M | 218820000000000000023 | ||
| 2 | acquirementId | Unique Alipay transaction ID. Note: This field is required when merchantTransId is  | string | 64 | CE | Alipay transaction ID, identifying the transaction to be cancelled. | 2015032412007101547201352747 | |
| 3 | merchantTransId | Unique merchant transaction ID. Note: This field is required when acquirementId is  | string | 64 | CE | The merchant transaction ID, identifying the transaction to be canceled.   | 51051001000000000002 | 
Request sample
{
    "request":{
        "head":{
            "version":"2.0.0",
            "function":"alipay.intl.acquiring.common.payCancel",
            "clientId":"211020000000000000044",
            "reqTime":"2001-07-04T12:08:56+05:30",
            "reqMsgId":"1234567asdfasdf1123fda",
            "reserve":"{}"
        },
        "body":{
            "merchantId":"218820000000000000023",
            "acquirementId":"2015032412007101547201352747"
        }
    },
    "signature":"signature string"
}Response
Response parameters
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.   | 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 | {   | |
| 2 | acquirementId | Unique Alipay transaction ID. Note: This field is required when resultInfo.resultCode is  | string | 64 | CE | 2015032412007101547201352747 | |
| 3 | merchantTransId | Unique merchant transaction ID. Note: This field is required when resultInfo.resultCode is  | string | 64 | CE | 51051001000000000002 | |
| 4 | cancelTime | The cancel time of the transaction | datetime | / | O | DateTime with timezone, which follows the ISO-8601 standard.   | 2001-07-04T12:08:56+05:30 | 
Response sample
{
    "response":{
        "head":{
            "version":"2.0.0",
            "function":"alipay.intl.acquiring.common.payCancel",
            "clientId":"211020000000000000044",
            "respTime":"2001-07-04T12:08:56+05:30",
            "reqMsgId":"1234567asdfasdf1123fda",
            "reserve":"{}"
        },
        "body":{
            "resultInfo":{
                "resultStatus":"S",
                "resultCodeId":"00000000",
                "resultCode":"SUCCESS",
                "resultMsg":"success"
            },
            "acquirementId":"2015032412007101547201352747",
            "merchantTransId":"51051001000000000002",
            "cancelTime":"2001-07-04T12:08:56+05:30"
        }
    },
    "signature":"signature string"
}Result codes
Functional logic result codes
| No | ResultCodeId | ResultCode | ResultStatus | Remarks | 
| 1 | 12002005 | USER_NOT_EXIST | F | User does not exist | 
| 2 | 12002006 | USER_STATUS_ABNORMAL | F | User status is not normal. | 
| 3 | 12005003 | ORDER_STATUS_INVALID | F | Order status is invalid. | 
| 4 | 12005004 | ORDER_NOT_EXIST | F | The order does not exist | 
| 5 | 12006009 | MERCHANT_BALANCE_NOT_ENOUGH | F | The merchant balance is not enough. | 
| 6 | 12002018 | ORDER_CANCEL_WINDOW_EXPIRED | F | Order is not eligible for cancel, cancel time expired. | 
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 reason. | 
| 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. |