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

      alipay.intl.acquiring.common.payCancel

      Use this API to cancel a transaction when the PAY API call did NOT return a clear result. For example, when the 'pay' API call times out or an UNKNOWN_EXCEPTION is returned. Upon the success of payCancel API call, the merchant can cancel the transaction.


      #Request

      #Service address


      #Request head

      ParameterDescription

      version

      String(8)

      Required

      API version 

      Example:2.0.4

      function

      String(128) Required

      API name 

      Example:alipay.intl.acquiring.common.payCancel

      clientId

      String(32) Required

      A unique ID assigned by Alipay to identify a client that makes API calls 

      Example:385xxxxxxxxx0001

      reqTime

      Date time(/) Required

      Request time. The date time with timezone, see RFC 3339 Section 5.6 for details. 

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

      reqMsgId

      String(64) Required

      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.

      Example:123xxxxxxxxxxxxxxx3fda

      reserve

      String(256) Conditional

      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. 

      Example:{"isvAccesstoken":123123123sdfsddsf}

      signType

      String(64)

      Sign type 

      Example:RSA2


      #Request body

      ParameterDescription

      merchantId

      String(64) Required

      The unique merchant ID assigned by Alipay. This parameter identifies the settlement target that Alipay settles to.

      Example:211xxxxxxxxxxxxxx2999

      acquirementId

      String(64) Conditional

      The unique Alipay transaction ID that identifies the transaction to be cancelled. This parameter is required when merchantTransId is NULL. 

      Example:201xxxxxxxxxxxxxxxxxxxxx2747

      merchantTransId

      String(64) Conditional

      The unique ID assigned by the merchant to identify a transaction to be cancelled. If both acquirementId and merchantTransId are provided, acquirementId is preferred. Note: This parameter is required when acquirementId is NULL.

      Example:510xxxxxxxxxxxxx0002


      #Response

      #Response head

      ParameterDescription

      version

      String(8) Required

      API version

      Example:2.0.4

      function

      String(128) Required

      API name

      Example:alipay.intl.acquiring.common.payCancel

      clientId

      String(32) Required

      Client ID. The unique ID assigned by Alipay to identify a client that makes API calls 

      Example:385xxxxxxxxx0001

      respTime

      Date time(/) Required

      Response time. The date time with timezone, see RFC 3339 Section 5.6 for details. 

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

      reqMsgId

      String(64) Required

      Request message ID. The unique ID assigned by client to identify a request message 

      Example:123xxxxxxxxxxxxxxx3fda

      reserve

      String(256)

      Reserved parameter. The key-value formatted parameter reserved for future use 

      Example:{key/value}

      signType

      String(8)

      Sign type 

      Example:RSA2

      #

      #Response body

      ParameterDescription

      resultInfo

      ResultInfo(/) Required

      See resultInfo for details. 

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

      acquirementId

      String(64) Conditional

      The unique Alipay transaction ID. Note: This parameter is required when resultInfo.resultCode is SUCCESS.

      Example:201xxxxxxxxxxxxxxxxxxxxx2747

      merchantTransId

      String(64) Conditional

      The unique ID assigned by the merchant to identify a transaction. Note: This parameter is required when resultInfo.resultCode is SUCCESS. 

      Example:510xxxxxxxxxxxxx0002

      cancelTime

      Date time(/)

      Date time with timezone, see RFC 3339 Section 5.6 for details. 

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


      #Sub-parameters

      #resultInfo

      ParameterDescription

      resultStatus

      String(2) Required

      The request status can be:S: successF: failureU: unknownThe result status can be added if you need more for business requirements. 

      Example:S

      resultCodeId

      String(8) Required

      An 8-digit code that is used to identify a result. When resultStatus is S, the value must be 00000000. When resultStatus is F or U, the value can be other result ID specified by the interface. 

      Example:00000000

      resultCode

      String(64) Required

      The result code 

      Example:SUCCESS

      resultMsg

      String(256)

      When resultCode is S, this value can be empty. When resultCodeis F or U, the error description is required.

      Example:success


      #Result code

      #Functional logic result code

      resultCodeId

      resultCode

      resultStatus

      Remarks

      12002005

      USER_NOT_EXIST

      F

      The user does not exist.

      12002006

      USER_STATUS_ABNORMAL

      F

      Abnormal user status

      12005003

      ORDER_STATUS_INVALID

      F

      The transaction status is invalid.

      12005004

      ORDER_NOT_EXIST

      F

      The transaction does not exist.

      12006009

      MERCHANT_BALANCE_NOT_ENOUGH

      F

      Insufficient balance of the merchant

      12002018

      ORDER_CANCEL_WINDOW_EXPIRED

      F

      Expired to cancel the transaction.

      12005134

      SIGN_TYPE_INVALID

      F

      The signature type is invalid.

      #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

      copy
      {
          "request":{
              "head":{
                  "version":"2.0.4",
                  "function":"alipay.intl.acquiring.common.payCancel",
                  "clientId":"385xxxxxxxxx0001",
                  "reqTime":"2001-07-04T12:08:56+05:30",
                  "reqMsgId":"123xxxxxxxxxxxxxxx3fda",
                  "signType":"RSA2"
              },
              "body":{
                  "merchantId":"211xxxxxxxxxxxxxx2999",
                  "acquirementId":"201xxxxxxxxxxxxxxxxxxxxx2747"
              }
          },
          "signature":"signature string"
      }


      #Sample response

      copy
      {
          "response":{
              "head":{
                  "version":"2.0.4",
                  "function":"alipay.intl.acquiring.common.payCancel",
                  "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"
                  },
                  "acquirementId":"201xxxxxxxxxxxxxxxxxxxxx2747",
                  "merchantTransId":"510xxxxxxxxxxxxx0002",
                  "cancelTime":"2001-07-04T12:08:56+05:30"
              }
          },
          "signature":"signature string"
      }