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

API change history

API change history provides you with API-related changes.

August 12, 2022

Online payments

  • Deprecated the APIs about registration: registration, notifyRegistrationStatus, inquiryRegistrationStatus, inquiryRegistrationInfo.

August 05, 2022

  • Deprecated the Data dictionary for APIs.

July 30, 2022

Online payments

  • Added Boost eWallet to Cashier Payment and Auto Debit. For more information, see the following documents:

July 20, 2022

Online payments

  • Added two error codes REFUND_NOT_SUPPORTEDand PARTIAL_REFUND_NOT_SUPPORTED in the refund API.

July 18, 2022

Online payments

  • Added the userRegion field in the request parameters and the paymentData field in the response parameters of the pay (Cashier Payment) API.

July 8, 2022

Online payments

  • Added the goodsCategory field to pay (Cashier Payment) and pay (Auto Debit) APIs.
  • Added Akulaku PayLater payment method to Cashier Payment. For more information, see the following documents:

July 5, 2022

Online payments

  • Updated the error codes in the interfaces: consult, applyToken, revoke, pay (Cashier Payment), pay (Auto Debit), notifyPayment, inquiryPayment, cancel, refund, inquiryRefund, notifyRefund, declare, inquiryDeclarationRequests.

In-store payments

  • Updated the error codes in the interfaces: pay (User-presented Mode Payment), pay (Order Code Payment), pay (Entry Code Payment).

May 20, 2022

Online payments

Added the consult (Cashier Payment) and notifyRefund APIs.

Updated the pay (Cashier Payment) API:

  • Added the paymentMethod.paymentMethodMetaData field in Request parameters.
  • Added some new enumeration values in the paymentMethod.paymentMethodType field.
  • Modfied the field description of settlementStrategy.settlementCurrency.
  • Added the following error codes:
    • INVALID_PAYMENT_METHOD_META_DATA
    • INCORRECT_BLIKCODE
    • SETTLE_CONTRACT_NOT_MATCH

Updated the notifyPayment document:

  • Added the new enumeration value of PAYMENT_PENDING in the notifyType field.

Updated the inquiryPayment document:

  • Added the new enumeration value of PENDING in the paymentStatus field.

Updated the refund document:

  • Added the refundNotifyUrl field in Request parameters.
  • Added the error code: REFUND_IN_PROCESS

April 1, 2022

Online payments

  • Added the merchantRegion field in the request parameters of the following interfaces:
    • pay (Cashier Payment)
    • consult
    • applyToken

In-store payments

  • Added the merchantRegion field in the request parameters of the following interface:
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • pay (Order Code Payment)

March 16, 2022

Online payments

  • Added the redirectActionForm field in the response parameters of the inquiryPayment interface.

February 21, 2022

Online payments

  • Added the USER_NOT_EXIST error code in the pay (Auto Debit) document.

February 15, 2022

Online payments

  • Removed the initAuthentication and verifyAuthentication interfaces.

January 19, 2022

Online payments

Updated the pay (Auto Debit) document:

  • Removed the following fields:
    • Request parameters:
      • merchant.store
      • order.env.storeTerminalId
      • order.env.storeTerminalRequestTime
      • payToMethod
      • paymentMethod.paymentMethodMetaData
      • isAuthorization
      • paymentVerificationData
      • paymentFactor
    • Response parameters:
      • authExpiryTime
      • challengeActionForm
      • redirectActionForm
      • orderCodeForm
  • Modified the following fields from Optional to Required:
    • Request parameters:
      • paymentMethod.paymentMethodId
      • env
      • env.terminalType
      • settlementStrategy.settlementCurrency
    • Response parameters:
      • result.resultMessage
  • Added the following error codes:
    • INVALID_MERCHANT_STATUS
    • MERCHANT_KYB_NOT_QUALIFIED
    • USER_PAYMENT_VERIFICATION_FAILED
  • Removed the following error codes:
    • USER_NOT_EXIST
    • ORDER_NOT_EXIST

Updated the notifyPayment document:

  • Removed the following fields:
    • Request parameters:
      • notifyType: OFFLINE_PAYMENT_CODE
      • result.resultStatus: U
  • Modified the following fields from Optional to Required:
    • Request parameters:
      • paymentCreateTime
      • paymentId
      • result.resultMessage
  • Added the error codes of pay (Cashier Payment) and pay (Auto Debit).

Updated the inquiryPayment document:

  • Removed the following fields:
    • Response parameters:
      • authExpiryTime
      • redirectActionForm
      • transaction.transactionType: PAYMENT, CANCEL, AUTHORIZATION, CAPTURE, VOID
      • transactionTime
  • Modified the following fields from Optional to Required:
    • Response parameters:
      • result
      • result.resultMessage
      • transactions.transactionId
  • Added the following two result codes tables:
    • Payment result codes
    • Transaction result codes
  • Removed the following error codes:
    • RISK_REJECT
    • USER_KYC_NOT_QUALIFIED

Updated the cancel document:

  • Modified the following field from Optional to Required:
    • Response parameters:
      • result.resultMessage

Updated the refund document:

  • Modified the following field from Optional to Required:
    • Response parameters:
      • result.resultMessage
  • Added the following error codes:
    • INVALID_MERCHANT_STATUS
    • ORDER_IS_CLOSED

Updated the inquiryRefund document:

  • Added the following field:
    • Response parameters:
      • refundStatus: FAIL
  • Removed the following error codes:
    • RISK_REJECT
    • MERCHANT_NOT_REGISTERED
    • INVALID_CONTRACT
  • Added a Refund result codes table.

Updated the consult document:

  • Modified the following field from Optional to Required:
    • Response parameters:
      • result.resultMessage
  • Added the following error codes:
    • INVALID_CLIENT_STATUS
    • OAUTH_FAILED
    • UNKNOWN_CLIENT

Updated the applyToken document:

  • Modified the following field from Optional to Required:
    • Response parameters:
      • result.resultMessage
  • Added the following error codes:
    • INVALID_CLIENT_STATUS
    • OAUTH_FAILED
    • UNKNOWN_CLIENT
    • USER_NOT_EXIST
    • USER_STATUS_ABNORMAL

Updated the revoke document:

  • Modified the following field from Optional to Required:
    • Response parameters:
      • result.resultMessage
  • Added the following error codes:
    • CLIENT_FORBIDDEN_ACCESS_API
    • INVALID_CLIENT_STATUS
    • OAUTH_FAILED
    • UNKNOWN_CLIENT

January 5, 2022

Online payments

  • Added the grossSettlementAmount and settlementQuote fields in the following interfaces:
    • notifyPayment
    • inquiryPayment
    • refund
    • inquiryRefund
  • Updated the pay (Cashier Payment) document:
  • Added the following error codes:
    • INVALID_MERCHANT_STATUS
    • MERCHANT_KYB_NOT_QUALIFIED
    • NO_PAY_OPTIONS
  • Removed the following error codes:
    • SUCCESS
    • ORDER_NOT_EXIST

In-store payments

  • Added the grossSettlementAmount and settlementQuote fields in the inquiryRefund interface.

Updated the pay (User-presented Mode Payment) document:

  • Removed the following fields:
    • Request parameters:
      • isAuthorization
      • paymentFactor.isPaymentEvaluation
      • paymentMethod.paymentMethodMetaData
      • paymentRedirectUrl
      • paymentVerificationData
      • payToMethod
    • Response parameters:
      • authExpiryTime
      • challengeActionForm.challengeRenderValue
      • orderCodeForm
  • Added the settlementStrategy field.
  • Modified the paymentMethod.paymentMethodId field from Optional to Required.

Updated the pay (Order Code Payment) document:

  • Removed the following fields:
    • Request parameters:
      • isAuthorization
      • paymentFactor.isPaymentEvaluation
      • paymentMethod.paymentMethodMetaData
      • paymentVerificationData
      • payToMethod
    • Response parameters:
      • authExpiryTime
      • challengeActionForm.challengeRenderValue
  • Added the settlementStrategy field.
  • Modified the orderCodeForm field from Optional to Required.

Updated the pay (Entry Code Payment) document:

  • Removed the following fields:
    • Request parameters:
      • isAuthorization
      • paymentFactor.isPaymentEvaluation
      • paymentMethod.paymentMethodMetaData
      • paymentVerificationData
      • payToMethod
    • Response parameters:
      • authExpiryTime
      • challengeActionForm.challengeRenderValue
      • orderCodeForm
  • Added the settlementStrategy field.
  • Modified the order.env and the order.env.userAgent fields from Optional to Required.

December 28, 2021

Online payments

Updated the pay (Cashier Payment) document:

Request parameters

  • Removed the following fields:
    • merchant.store
    • order.env.storeTerminalId
    • order.env.storeTerminalRequestTime
    • payToMethod
    • paymentMethod.paymentMethodId
    • paymentMethod.paymentMethodMetaData
    • isAuthorization
    • paymentVerificationData
    • paymentFactor
  • Modified the following fields from Optional to Required:
    • order.env
    • settlementStrategy.settlementCurrency

Response parameters

  • Removed the following fields:
    • result.resultStatus: S 
    • paymentTime
    • authExpiryTime
    • challegeActionForm
    • redirectActionForm.method: SCAN
    • orderCodeForm.paymentMethodType
    • settlementQuote
    • grossSettlementAmount
  • Modified the following fields from Optional to Required:
    • orderCodeForm.expireTime
    • orderCodeForm.codeDetails
    • result.resultMessage
  • Added the userLoginId field in the applyToken interface.
  • Added the following fields in the pay (Cashier Payment) and pay (Auto Debit) interfaces:
    • schemeUrl
    • applinkUrl
    • normalUrl
    • appIdentifier
  • Added the new enumeration values of BPI and RABBIT_LINE_PAY in the following APIs:
    • pay (Cashier Payment): paymentMethod.paymentMethodType
  • Added the new enumeration value of RABBIT_LINE_PAY in the following APIs:
    • pay (Auto Debit): paymentMethod.paymentMethodType
    • consult: customerBelongsTo
    • applyToken: customerBelongsTo

October 26, 2021

Online payments

  • Added the following new APIs in online payments:
    • notifyAuthorization
    • inquiryRefund
    • declare
    • inquiryDeclarationRequests

In-store payments

  • Added the following new API in in-store payments:
    • inquiryRefund

August 12, 2021

Online payments

  • Removed the inquiryUserInfo interface.
  • Added the paymentNotifyUrl field in the pay (Auto Debit) interface.

August 9, 2021

Online payments

  • Added the MULTIPLE_REFUNDS_NOT_SUPPORTED error code in the refund interface.

In-store payments

  • Added the MULTIPLE_REFUNDS_NOT_SUPPORTED error code in the refund interface.

July 30, 2021

Online payments

  • Removed the orderCodeForm.codeDetails.codeValueType field in the following API:
    • pay (Cashier Payment)
    • pay (Auto Debit)

July 23, 2021

Online payments

  • USER_KYC_NOT_QUALIFIED of error code is added in the following APIs:
    • pay (Cashier Payment)
    • pay (Auto Debit)
    • notifyPayment
    • inquiryPayment
  • Modified the orderCodeForm.codeDetails field from Required to Optional for the following interfaces:
    • pay (Cashier Payment)
    • pay (Auto Debit)

In-store payments

  • Added the USER_KYC_NOT_QUALIFIED error code in the following APIs:
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • pay (Entry Code Payment)
    • notifyPayment
    • inquiryPayment
  • Modified the orderCodeForm.codeDetails field from Required to Optional for the following interfaces:
    • pay (User-presented Mode Payment)
    • pay (Entry Code Payment)

May 19, 2021

Online payments

  • Removed the following documentations from its corresponding products:
    • Settlement Items
    • Settlement Summary
    • Transaction Items

For example, you can go to Cashier Payment > Reports and reconciliation > Settlement Items (https://global.alipay.com/docs/ac/cashierpayment/settlementitems_online) to view details.

In-store payments

  • Removed the following documentations from its corresponding products:
    • Settlement Items
    • Settlement Summary
    • Transaction Items

For example, you can go to User-Presented Mode Payment > Settlement and reconciliation > Settlement Items (https://global.alipay.com/docs/ac/ams_upm/settlementitems) to view details.

  • Renamed the following term:
    • Consumer-presented Mode Payment -> User-presented Mode Payment

April 9, 2021

Online payments

  • Added a new field and enumeration (appId and MINI_APP) are added to the following APIs:
    • pay (Cashier Payment)
    • pay (Auto Debit)
    • consult

March 8, 2021

Online payments

  • Removed the following fields in the Settlement Summary file:
    • transactionAmountValue
    • transactionCurrency

In-store payments

  • Removed the following fields in the Settlement Summary file:
    • transactionAmountValue
    • transactionCurrency
  • Removed INVALID_CODE of error codes in the following APIs:
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • pay (Entry Code Payment)
  • Added the INVALID_PAYMENT_CODE error code in the pay (User-presented Mode Payment) interface.

February 26, 2021

Online payments

  • Added the following new APIs in online payments:
    • registration
    • notifyRegistrationStatus
    • inquiryRegistrationStatus
    • inquiryRegistrationInfo

In-store payments

  • Added the following new APIs in in-store payments:
    • registration
    • notifyRegistrationStatus
    • inquiryRegistrationStatus
    • inquiryRegistrationInfo

August 20, 2020

Online payments

  • Removed the PROCESS_FAIL, REQUEST_TRAFFIC_EXCEED_LIMIT, and PARAM_ILLEGAL result codes for the notifyPayment interface.
  • Added the USER_NOT_EXIST and USER_STATUS_ABNORMAL result codes for the applyToken interface.

In-store payments

  • Removed the PROCESS_FAIL, REQUEST_TRAFFIC_EXCEED_LIMIT, and PARAM_ILLEGAL result codes for the notifyPayment interface.

July 30, 2020

Online payments

  • Updated the descriptions of the transactionId, originalTransactionId, and originalTransactionRequestId fields for adding the auth/capture scenario for the Settlement Items file.
  • Updated the descriptions of the transactionId, originalTransactionId, and originalTransactionRequestId fields for adding the auth/capture scenario for the Transaction Items file.

June 9, 2020

Online payments

  • Removed the note about the extend field for the applyToken interface.
  • Updated the file name for the case that no transaction exists is updated for the Settlement Items, Settlement Summary, and Transaction Items files.
  • Added the following error codes for the pay interface:
    • USER_NOT_EXIST
    • NO_PAY_OPTION
    • PAYMENT_NOT_EXIST
    • ORDER_NOT_EXIST
    • ORDER_IS_CLOSED
  • Added the following error code for the notifyPayment interface:
    • ORDER_IS_CLOSED
  • Added the creditPayPlan field to the following interfaces:
    • pay (Cashier Payment)
    • pay (Auto Debit Payment)

In-store payments

  • Modified the following to the notifyPayment interface:
    • For a payment process with a failed or unknown status, no notification is to be returned to the merchant.
  • Modified the following to the pay (User-presented Mode Payment) interface:
    • Additional instructions for the order field are provided.
  • Added the following error codes for the pay interface:
    • USER_NOT_EXIST
    • NO_PAY_OPTION
    • PAYMENT_NOT_EXIST
    • ORDER_NOT_EXIST
    • ORDER_IS_CLOSED
  • Added the following error code for the notifyPayment interface:
    • ORDER_IS_CLOSED

April 30, 2020

Online payments

  • Added the settlementStrategy field to the following interfaces:
    • pay (Cashier Payment)
    • pay (Auto Debit Payment)
  • Added originalTransactionRequestId to the following files:
    • Settlement Items
    • Transaction Items

In-store payments

  • Added originalTransactionRequestId to the following files:
    • Settlement Items
    • Transaction Items

April 17, 2020

Online payments & In-store payments

  • Removed the actualPaymentAmount and paymentQuote fields from the following interfaces:
    • pay (Cashier Payment)
    • pay (Agreement Payment)
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • pay (Entry Code Payment)
    • notifyPayment
    • inquiryPayment

In-store payments

  • Modified the description of the paymentExpiryTime field for the following interfaces:
    • pay (Order Code Payment)
    • pay (Entry Code Payment)

March 20, 2020

Online payments

  • Removed the Authorization Inquiry interface.

March 12, 2020

Online payments

  • Removed the following result codes from the notifyPayment interface:
    • KEY_NOT_FOUND
    • ACCESS_DENIED
    • API_INVALID
    • CLIENT_INVALID
    • METHOD_NOT_SUPPORTED
    • MEDIA_TYPE_NOT_ACCEPTABLE
  • Modified the following to the Settlement Items file name, Settlement Summary file name, and Transaction Items file name:
    • Updated settlementItems_<settlementCurrency>_<settlementBatchId>_<seq>.csv to settlementItems_<pspName>_<settlementCurrency>_<settlementBatchId>_<seq>.csv.
    • Updated settlementSummary_<settlementCurrency>_<settlementBatchId>_<seq>.csv to settlementSummary_<pspName>_<settlementCurrency>_<settlementBatchId>_<seq>.csv.
    • Updated transactionItems_<transactionCurrency>_<seq>.csv to transactionItems_<pspName>_<transactionCurrency>_<transactionDate>_<seq>.csv.

In-store payments

  • Removed the following result codes from the notifyPayment interface:
    • KEY_NOT_FOUND
    • ACCESS_DENIED
    • API_INVALID
    • CLIENT_INVALID
    • METHOD_NOT_SUPPORTED
    • MEDIA_TYPE_NOT_ACCEPTABLE

March 3, 2020

Online payments

  • Removed the following parameters from the pay, notifyPayment, inquiryPayment, and refund interfaces:
    • totalSettlementAmount
    • settlementQuote

In-store payments

  • Updated the following parameter for the pay, notifyPayment, inquiryPayment, and refund interfaces:
    • Modified totalSettlementAmount to grossSettlementAmount

February 25, 2020

Online payments & In-store payments

  • Added the following parameters to the response of the pay, inquiryPayment, and refund interfaces:
    • totalSettlementAmount
    • settlementQuote
  • Added the following parameters to the request of the notifyPayment interface:
    • totalSettlementAmount
    • settlementQuote
  • The following parameters were added to the request of inquiryPayment interface:
    • paymentResultCode
    • paymentResultMessage
    • transaction

 

February 6, 2020

Online payments & In-store payments

  • Modified the following to the request of Settlement Items, Settlement Summary, and Transaction Items:
    • Modified partnerId to customerId
    • Removed extendInfo

 

February 4, 2020

Online payments & In-store payments

  • Modified the following to the request of the pay interface:
    • Removed merchant
    • Removed env
    • Updated the sub fields of order in the following ways:
      • Added the merchant field
      • Added the env field

January 20, 2020

In-store payments

  • Added Entry Code Payment to in-store payments.

 

January 15, 2020

Online payments & In-store payments

  • Modified the following to the request of the pay interface:
    • Modified the length of the paymentVerificationData field to /
    • Added a note to state that the merchant sub-field merchant.merchantName must be required for in-store payments.

 

December 30, 2019

Online payments & In-store payments

  • Modified the following to the request of the pay interface:
    • Added merchant
    • Added env
    • Updated the sub fields of order in the following ways:
      • Removed the merchant field
      • Removed the env field

 

December 25, 2019

In-store payments

  • Modified the following to the request of the pay interface:
    • Updated paymentNotifyUrl to mandatory

 

December 20, 2019

Online payments & In-store payments

  • Removed the extendInfo field from all the following interfaces:
    • pay (Cashier Payment)
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • notifyPayment
    • inquiryPayment
    • cancel
    • refund
    • consult
    • applyToken
    • revoke
    • Authorization Inquiry

 

November 14, 2019

Online payments & In-store payments

  • Modified the following to Data Dictionary:
    • Updated the IMAGE value of DisplayType MIDDLEIMAGE.

 

November 12, 2019

Online payments & In-store payments

  • Modified the result code INVALID_API to API_INVALID and the result code INVALID_CLIENT to CLIENT_INVALID in the following interfaces:
    • pay (Cashier Payment)
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • notifyPayment
    • inquiryPayment
    • cancel
    • refund
    • consult
    • applyToken
    • revoke
    • Authorization Inquiry
  • Modified the following to the response of the pay interface:
    • Removed paymentActionForm
    • challengeActionForm: added
    • redirectActionForm: added
    • orderCodeForm: added
  • Modified the following to the request of the pay interface:
    • order.referenceOrderId: updated to optional
  • Modified the following to the request of the notifyPayment interface:
    • paymentCodeForm: removed
  • Modified the following to the response of the inquiryPayment interface:
    • paymentActionForm: removed
    • redirectActionForm: added

 

November 6, 2019

Online payments & In-store payments

  • Modified the INVALID_SIGNATURE result code to SIGNATURE_INVALID for the following interfaces:
    • pay (Cashier Payment)
    • pay (User-presented Mode Payment)
    • pay (Order Code Payment)
    • notifyPayment
    • inquiryPayment
    • cancel
    • refund
    • consult
    • applyToken
    • revoke
    • Authorization Inquiry

 

October 24, 2019

Online payments & In-store payments

  • Modified the following to the request of the pay interface:
    • Removed payToAmount
    • Removed paymentQuote
    • Updated the description of paymentAmount and updated the field to mandatory
    • Updated the sub-fields of paymentFactor
  • Modified the following changes to the response of the pay interface:
    • Removed payToAmount
    • Updated the description of paymentQuote
    • Updated the description of paymentAmount and updated the field to mandatory
    • Added actualPaymentAmount
    • Removed nonGuaranteeCouponValue
  • Updated the following changes to the request of the notifyPayment interface:
    • Removed payToAmount
    • Updated the description of paymentQuote
    • Updated the description of paymentAmount and updated the field to mandatory
    • Added actualPaymentAmount
    • Removed nonGuaranteeCouponValue
  • Modified the following changes to the response of the inquiryPayment interface:
    • Updated the description of paymentAmount and updated the field to mandatory
    • Removed payToAmount
    • Added actualPaymentAmount
    • Updated paymentQuote
    • Removed nonGuaranteeCouponValue
  • Modified the following change to the request of the cancel interface:
    • Added paymentRequestId
  • Modified the following to the request of the refund interface:
    • Removed refundStrategyType
    • Removed asyncRefund
    • Added isAsyncRefund
    • Updated the length of extendInfo to 512