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.

April 1, 2022

Online payments

  • Added the merchantRegion field in the request parameters of the following interface:
    • 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).

February 15, 2022

Online payments

  • Deleted the initAuthentication and verifyAuthentication interfaces.

January 19, 2022

Online payments

Updated the pay (Auto Debit) document:

  • Deleted 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
  • Deleted the following error codes:
    • USER_NOT_EXIST
    • ORDER_NOT_EXIST

Updated the notifyPayment document:

  • Deleted 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:

  • Deleted 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
  • Deleted 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
  • Deleted 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
  • Deleted 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:

  • Deleted 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:

  • Deleted 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:

  • Deleted 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

  • Deleted 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

  • Deleted 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

  • The inquiryUserInfo interface is removed.
  • Added the paymentNotifyUrl field in the pay (Auto Debit) interface.

August 9, 2021

Online payments

  • MULTIPLE_REFUNDS_NOT_SUPPORTED of error code is added in the refund interface.

In-store payments

  • MULTIPLE_REFUNDS_NOT_SUPPORTED of error code is added in the refund interface.

July 30, 2021

Online payments

  • Deleted 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 API:
    • 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

  • USER_KYC_NOT_QUALIFIED of error code is added in the following API:
    • 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

The following documentations are removed 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

  • The following documentations are removed 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.

  • Terminology renaming. The following term is renamed:
    • Consumer-presented Mode Payment -> User-presented Mode Payment

April 9, 2021

Online payments

  • New field and enum(appId and MINI_APP) are added to the following APIs:
    • pay (Cashier Payment)
    • pay (Auto Debit)
    • consult

March 8, 2021

Online payments

Deleted the following fields in the Settlement Summary file:

  • transactionAmountValue
  • transactionCurrency

In-store payments

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

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

  • For the notifyPayment interface, the result code PROCESS_FAIL, REQUEST_TRAFFIC_EXCEED_LIMIT, and PARAM_ILLEGAL are removed.
  • For the applyToken interface, the result code USER_NOT_EXIST and USER_STATUS_ABNORMAL are added.

In-store payments

  • For the notifyPayment interface, the result code PROCESS_FAIL, REQUEST_TRAFFIC_EXCEED_LIMIT, and PARAM_ILLEGAL are removed.

July 30, 2020

Online payments

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

June 9, 2020

Online payments

  • For the applyToken interface, the note about the extend field is deleted.
  • For the Settlement Items, Settlement Summary, and Transaction Items files, the file name for the case that no transaction exists is updated.
  • 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

  • The following change is made to the notifyPayment:

For a payment process with a failed or unknown status, no notification is to be returned to the merchant.

  • The following change is made 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

The settlementStrategy field is added to the following interface:

  • pay (Cashier Payment)
  • pay (Auto Debit Payment)

The originalTransactionRequestId is added to the following files:

  • Settlement Items
  • Transaction Items

In-store payments

The originalTransactionRequestId is added to the following files:

  • Settlement Items
  • Transaction Items

April 17, 2020

Online payments & In-store payments

The actualPaymentAmount and paymentQuote fields are removed 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

Description of the paymentExpiryTime field is modified for the following interfaces:

  • pay (Order Code Payment)
  • pay (Entry Code Payment)

March 20, 2020

Online payments

The Authorization Inquiry interface is removed.

March 12, 2020

Online payments

The following result codes were removed from the notifyPayment interface:

  • KEY_NOT_FOUND
  • ACCESS_DENIED
  • API_INVALID
  • CLIENT_INVALID
  • METHOD_NOT_SUPPORTED
  • MEDIA_TYPE_NOT_ACCEPTABLE

The following changes were made to the Settlement Items file name, Settlement Summary file name, and Transaction Items file name:

  • settlementItems_<settlementCurrency>_<settlementBatchId>_<seq>.csv, was updated to settlementItems_<pspName>_<settlementCurrency>_<settlementBatchId>_<seq>.csv.
  • settlementSummary_<settlementCurrency>_<settlementBatchId>_<seq>.csv, was updated to settlementSummary_<pspName>_<settlementCurrency>_<settlementBatchId>_<seq>.csv.
  • transactionItems_<transactionCurrency>_<seq>.csv, was updated to transactionItems_<pspName>_<transactionCurrency>_<transactionDate>_<seq>.csv.

In-store payments

The following result codes were removed 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

The following parameters were removed from the pay, notifyPayment, inquiryPayment, and refund interfaces:

  • totalSettlementAmount
  • settlementQuote

In-store payments

The following parameter was updated for the pay, notifyPayment, inquiryPayment, and refund interfaces:

  • totalSettlementAmount was modified to grossSettlementAmount

February 25, 2020

Online payments & In-store payments

The following parameters were added to the response of pay, inquiryPayment, and refund interfaces:

  • totalSettlementAmount
  • settlementQuote

 

The following parameters were added to the request of 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

The following changes were made to the request of Settlement Items, Settlement Summary, and Transaction Items:

  • partnerId: modified to customerId
  • extendInfo: removed

 

February 4, 2020

Online payments & In-store payments

The following changes were made to the request of pay interface:

  • merchant: removed
  • env: removed
  • order: its sub fields were updated in the following ways:
    • Added the merchant field
    • Added the env field

January 20, 2020

In-store payments

The Entry Code Payment is added to in-store payments.

 

January 15, 2020

Online payments & In-store payments

The following changes were made to the request of pay interface:

  • paymentVerificationData:  the length of this field is changed to /
  • merchant: added a note to state that the sub-field merchant.merchantName must be required for in-store payments

 

December 30, 2019

Online payments & In-store payments

The following changes were made to the request of pay interface:

  • merchant: added 
  • env: added
  • order: its sub fields were updated in the following ways:
    • Removed the merchant field
    • Removed the env field

 

December 25, 2019

In-store payments

The following change was made to the request of pay interface:

  • paymentNotifyUrl: updated to mandatory

 

December 20, 2019

Online payments & In-store payments

The extendInfo field is removed 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

The following change was made to Data Dictionary:

  • For DisplayType, the value IMAGE was updated to MIDDLEIMAGE.

 

November 12, 2019

Online payments & In-store payments

1. For the following interfaces, the result code INVALID_API is modified to API_INVALID and the result code INVALID_CLIENT is modified to CLIENT_INVALID:

  • pay (Cashier Payment)
  • pay (User-presented Mode Payment)
  • pay (Order Code Payment)
  • notifyPayment
  • inquiryPayment
  • cancel
  • refund
  • consult
  • applyToken
  • revoke
  • Authorization Inquiry

 

2. The following changes were made to the response of pay interface:

  • paymentActionForm: removed
  • challengeActionForm: added
  • redirectActionForm: added
  • orderCodeForm: added
  1. The following change was made to the request of pay interface:
  • order.referenceOrderId: updated to optional

 

  1. The following change was made to the request of notifyPayment interface:
  • paymentCodeForm: removed

 

  1. The following change was made to the response of inquiryPayment interface:
  • paymentActionForm: removed
  • redirectActionForm: added

 

November 6, 2019

Online payments & In-store payments

For the following interfaces, the result code INVALID_SIGNATURE is modified to SIGNATURE_INVALID:

  • 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

1. The following changes were made to the request of pay interface:

  • payToAmount: removed
  • paymentQuote: removed
  • paymentAmount: its description is updated and is updated to mandatory
  • paymentFactor: its sub-fields are updated

2. The following changes were made to the response of pay interface:

  • payToAmount: removed
  • paymentQuote: its description is updated
  • paymentAmount: its description is updated and this field is updated to mandatory
  • actualPaymentAmount: added
  • nonGuaranteeCouponValue: removed
  1. The following changes were made to the request of notifyPayment interface:
  • payToAmount: removed
  • paymentQuote: its description is updated
  • paymentAmount: its description is updated and this field is updated to mandatory
  • actualPaymentAmount: added
  • nonGuaranteeCouponValue: removed

 

4. The following changes were made to the response of inquiryPayment interface:

  • paymentAmount: its description is updated and this field is updated to mandatory
  • payToAmount: removed
  • actualPaymentAmount: added
  • paymentQuote: its description is updated
  • nonGuaranteeCouponValue: removed

5. The following change was made to the request of cancel interface:

  • paymentRequestId: added

 

6. The following change was made to the request of refund interface:

  • refundStrategyType: removed
  • asyncRefund: removed
  • isAsyncRefund: added
  • extendInfo: the length is updated to 512