# pay (Merchant-presented Mode Payment - Entry Code)

`POST /aps/api/v1/payments/pay`

The **pay** API is used by the Acquiring Service Provider (ACQP) to send a request to Alipay+ to place orders. 

**Note:** In the following sections, Mobile Payment Provider (MPP) is also known as Payment Service Provider. For example, the _pspId_ parameter specifies the ID that identifies an MPP. 

Structure

A message consists of a header and body. The following sections are focused on the body structure. For the header structure, see:

-   [Request header](api_overview.md#3mLq0) 
-   [Response header](api_overview.md#YdmVS) 

**Note:** 

Set the data type of each field (except array) as String. This means that you must use double quotation marks (" ") to enclose the field value. Examples:

-   If the data type of a field is Integer and its value is 20, set it as "20".
-   If the data type of a field is Boolean and its value is `true`, set it as "true".

## Request parameters

#### order (Order, REQUIRED)

The order details that are agreed upon by the buyer and the merchant, including the information about the buyer, the merchant, the goods, the initial order amount, and so on. The order details are displayed in purchase records and used for risk and regulatory reporting. 

**Note**: In this scenario, apart from the required child parameters, the following child parameters must be specified:

-   _merchant.store_
-   _env.userAgent_

##### referenceOrderId (String, REQUIRED)

The unique ID that is assigned by the merchant to identify an order. The ID is used to display the user's purchase record and to track follow-up operations, such as customer complaints and disputes.

More information:

- Maximum length: 64 characters

##### orderDescription (String, REQUIRED)

The description of the order.

More information:

- Maximum length: 256 characters

##### orderAmount (Amount, REQUIRED)

The original order amount that is displayed by the merchant on the cashier page.

###### currency (String, REQUIRED)

The currency code of the amount. The value of this parameter must be an alphabetic code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, for example, "EUR" for Euros.

More information:

- Maximum length: 3 characters

###### value (Integer, REQUIRED)

The value of the amount as a natural number. By default, the value of this parameter is in the smallest currency unit. For example, if the currency is USD and the amount is $1.00, set the value of this parameter to 100; or if the currency is JPY and the amount is ￥1, set the value of this parameter to 1.

Due to the currency practices in Indonesia, when the currency is IDR, round the amount with banker's rounding and fix the last two digits of the value of this parameter as `00`.

More information:

- Value range: 1 - unlimited

##### merchant (Merchant, REQUIRED)

The merchant information, including the merchant ID, merchant name, merchant category code, and so on.

###### referenceMerchantId (String, REQUIRED)

The unique ID that is assigned by the ACQP to identify a merchant.

More information:

- Maximum length: 32 characters

###### merchantMCC (String, REQUIRED)

The merchant category code (MCC) that represents the categorization of the merchant's business type. See [Alipay+ MCC Standards](https://docs.alipayplus.com/alipayplus/alipayplus/mcc-standards/overview.md) for details.

More information:

- Maximum length: 4 characters

###### merchantName (String, REQUIRED)

The legal name of the merchant.

More information:

- Maximum length: 256 characters

###### merchantAddress (Address, REQUIRED)

In the Cashier Payment and Auto Debit scenarios, specify the region where the merchant is registered. In the User-presented Mode and Merchant-presented Mode Payment scenarios, specify the region where the payment transaction occurs. The value of this parameter is used by Alipay+ to determine whether the transaction is domestic or cross-border and therefore affects the fee calculation logic.

###### region (String, REQUIRED)

The region where the address is located. The value of this parameter must be a 2-character country/region code that follows the [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

###### address1 (String)

The address line 1, which contains the street name, PO box, or company name. 

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### address2 (String)

The address line 2, which contains the apartment, suite, unit, or building name.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### zipCode (String)

The zip or postal code.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

###### merchantDisplayName (String)

The display name of the merchant.

**Note**: It is recommended that you specify this parameter if your display name is different from your legal name. The default value of this parameter is the value of the _merchantName_ parameter.

More information:

- Maximum length: 64 characters

###### merchantRegisterDate (Datetime)

The time when the merchant registered its business at the local regulatory agency.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- The value follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard format. For example, "2019-11-27T12:01:01+08:00".

###### store (Store)

The information about the store of the merchant.

###### referenceStoreId (String, REQUIRED)

The unique ID that is assigned by the merchant to identify a store.

More information:

- Maximum length: 32 characters

###### storeName (String, REQUIRED)

The legal name of the store.

More information:

- Maximum length: 256 characters

###### storeMCC (String, REQUIRED)

The merchant category code (MCC) that represents the categorization of the store's business type. See [Alipay+ MCC Standards](https://docs.alipayplus.com/alipayplus/alipayplus/mcc-standards/overview.md) for details.

More information:

- Maximum length: 4 characters

###### storeDisplayName (String)

The display name of the store.

**Note**: It is recommended that you specify this parameter if the display name of the store is different from its legal name.

More information:

- Maximum length: 64 characters

###### storeTerminalId (String)

The unique ID that is assigned by the merchant to identify a store terminal.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 64 characters

###### storeOperatorId (String)

The unique ID that is assigned by the merchant to identify a cashier at the store.

More information:

- Maximum length: 64 characters

###### storePhoneNo (String)

The contact number of the store.

More information:

- Maximum length: 16 characters

###### storeAddress (Address)

The address where the store is located.

###### region (String, REQUIRED)

The region where the address is located. The value of this parameter must be a 2-character country/region code that follows the [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

###### address1 (String)

The address line 1, which contains the street name, PO box, or company name. 

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### address2 (String)

The address line 2, which contains the apartment, suite, unit, or building name.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### zipCode (String)

The zip or postal code.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

##### goods (Array<Goods>)

The goods information, including the goods ID, goods name, and so on.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum size: 100 elements

###### referenceGoodsId (String, REQUIRED)

The unique ID that is assigned by the merchant to identify the goods.

More information:

- Maximum length: 64 characters

###### goodsName (String, REQUIRED)

The name of the goods.

More information:

- Maximum length: 256 characters

###### goodsCategory (String)

The categorization of the goods.

More information:

- Maximum length: 64 characters

###### goodsBrand (String)

The brand name of the goods.

More information:

- Maximum length: 32 characters

###### goodsUnitAmount (Amount)

The unit price of the goods.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

###### currency (String, REQUIRED)

The currency code of the amount. The value of this parameter must be an alphabetic code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, for example, "EUR" for Euros.

More information:

- Maximum length: 3 characters

###### value (Integer)

The value of the amount as a natural number. By default, the value of this parameter is in the smallest currency unit. For example, if the currency is USD and the amount is $1.00, set the value of this parameter to 100; or if the currency is JPY and the amount is ￥1, set the value of this parameter to 1. 

Due to the currency practices in Indonesia, when the currency is IDR, round the amount with banker's rounding and fix the last two digits of the value of this parameter as `00`.

More information:

- Value range: 1 - unlimited

###### goodsQuantity (Integer)

The quantity of the goods. 

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Value range: 1 - unlimited

##### shipping (Shipping)

The shipping information, including the information about the recipient and the carrier. 

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

###### shippingName (UserName, REQUIRED)

The name of the shipping recipient.

###### firstName (String)

The first name of the user.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### middleName (String)

The middle name of the user.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### lastName (String)

The last name of the user.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### fullName (String, REQUIRED)

The full name of the user.

More information:

- Maximum length: 128 characters

###### shippingAddress (Address, REQUIRED)

The shipping address.

###### region (String, REQUIRED)

The region where the address is located. The value of this parameter must be a 2-character country/region code that follows the [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

###### address1 (String)

The address line 1, which contains the street name, PO box, or company name. 

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### address2 (String)

The address line 2, which contains the apartment, suite, unit, or building name.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### zipCode (String)

The zip or postal code.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

###### shippingCarrier (String)

The name of the shipping carrier, such as FedEx, UPS, or USPS. 

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 128 characters

###### shippingPhoneNo (String)

The contact number of the shipping recipient.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 16 characters

##### buyer (Buyer)

The buyer information, including the buyer ID, buyer name, and so on. 

**Note**: It is highly recommended that you specify this parameter because it is used for risk control.

###### referenceBuyerId (String)

The unique ID that is assigned by the merchant or ACQP to identify a buyer. 

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 64 characters

###### buyerName (UserName)

The name of the buyer.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

###### firstName (String)

The first name of the user.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### middleName (String)

The middle name of the user.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### lastName (String)

The last name of the user.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### fullName (String, REQUIRED)

The full name of the user.

More information:

- Maximum length: 128 characters

###### buyerPhoneNo (String)

The contact number of the buyer.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 24 characters

###### buyerEmail (Email)

The email address of the buyer.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 64 characters

##### env (Env)

The environment information about the device that is used by the user to place orders at the merchant side.

###### terminalType (String)

The type of terminal that is used to initiate the payment. 

Valid values are:

-   `WEB`: indicates that a PC browser is used.
-   `WAP`: indicates that a mobile browser is used.
-   `APP`: indicates that a mobile app is used.
-   `MINI_APP`: indicates that a mini program is used.

###### osType (String)

The mobile operating system type. Valid values are:

-   `IOS`: indicates the iOS system
-   `ANDROID`: indicates the Android system

###### deviceTokenId (String)

The token ID of the client device.

**Note**: Specify this parameter if you can obtain the information from the user. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 64 characters

###### clientIp (String)

The IP address of the client device.

**Note**: Specify this parameter if you can obtain the information from the user. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 32 characters

###### cookieId (String)

The cookie ID of the user.

**Note**: Specify this parameter if you can obtain the information from the user. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 64 characters

###### userAgent (String)

The user-agent information.

**Note**: Specify this parameter if you can obtain the information from the user. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 1024 characters

###### storeTerminalId (String)

The ID of the terminal device that is used in the store to process the payment.

**Note**: Specify this parameter if you have the information. This helps anti-money laundering and fraud detection, and increases payment success rates.

More information:

- Maximum length: 64 characters

###### storeTerminalRequestTime (Datetime)

The time when the request is sent by the terminal device that is used in the store.

**Note**: The value of this parameter must be accurate to milliseconds. If you do not have the terminal request time, specify the time when your gateway received the API request.

More information:

- The value follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard format. For example, "2019-11-27T12:01:01+08:00".

##### indirectAcquirer (IndirectAcquirer)

Information of the indirect acquiring partner.

Return this parameter if an indirect acquiring partner participates in the payment, for example, when you are acquiring through a special payment network.

###### referenceAcquirerId (String, REQUIRED)

The unique ID that is assigned by the ACQP to identify an indirect acquiring partner.

More information:

- Maximum length: 64 characters

###### acquirerName (String)

The legal name of the indirect acquiring partner.

More information:

- Maximum length: 256 characters

###### acquirerAddress (Address)

The address of the indirect acquiring partner.

###### region (String, REQUIRED)

The region where the address is located. The value of this parameter must be a 2-character country/region code that follows the [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village where the address is located.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

###### address1 (String)

The address line 1, which contains the street name, PO box, or company name.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### address2 (String)

The address line 2, which contains the apartment, suite, unit, or building name.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 256 characters

###### zipCode (String)

The zip or postal code.

**Note**: Specify this parameter if you have the information. This provides better user experience.

More information:

- Maximum length: 32 characters

#### paymentRequestId (String, REQUIRED)

The unique ID that is assigned by the ACQP to identify a payment order.

More information:

- This field is an API idempotency field.For requests that are initiated with the same paymentRequestId, Alipay+ regards the requests as repeated and processes the requests only once. If the values for the key parameters such as paymentAmount, paymentFactor, settlementStrategy, and paymentMethod.paymentMethodType in repeated requests are different, Alipay+ returns the REPEAT_REQ_INCONSISTENT result code.
- Maximum length: 64 characters

#### paymentAmount (Amount, REQUIRED)

The amount that the ACQP requests to receive from Alipay+. The currency of the amount must be specified to the one that the ACQP uses to create the payment order.

**Note**:

-   The _paymentAmount_ and _settlementStrategy_ parameters jointly affect the amount that Alipay+ settles to the ACQP (which is returned as the _settlementAmount_ parameter) in the following ways:

-   If the payment currency (specified on the _paymentAmount.currency_ parameter) is the same as the settlement currency (specified on the _settlementStrategy.settlementCurrency_ parameter), the settlement amount is the same as the payment amount (specified on the _paymentAmount.value_ parameter).
-   If the payment currency (specified on the _paymentAmount.currency_ parameter) is different from the settlement currency (specified on the _settlementStrategy.settlementCurrency_ parameter), the settlement amount is calculated based on the payment amount (specified on the _paymentAmount.value_ parameter) and the exchange rate between the settlement currency and payment currency.

-   When you specify the _paymentAmount_ parameter, ensure that the settlement amount is no less than the smallest amount in the settlement currency; otherwise, the API call fails.

##### currency (String, REQUIRED)

The currency code of the amount. The value of this parameter must be an alphabetic code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, for example, "EUR" for Euros.

More information:

- Maximum length: 3 characters

##### value (Integer, REQUIRED)

The value of the amount as a natural number. By default, the value of this parameter is in the smallest currency unit. For example, if the currency is USD and the amount is $1.00, set the value of this parameter to 100; or if the currency is JPY and the amount is ￥1, set the value of this parameter to 1. 

Due to the currency practices in Indonesia, when the currency is IDR, round the amount with banker's rounding and fix the last two digits of the value of this parameter as `00`.

More information:

- Value range: 1 - unlimited

#### paymentMethod (PaymentMethod, REQUIRED)

The payment method that is used to collect the payment.

**Note**: In this scenario, the following child parameters must be set to the specific values as shown below:

-   _paymentMethodType_: set the value to `CONNECT_WALLET`

##### paymentMethodType (String, REQUIRED)

The type of payment method.

More information:

- Maximum length: 32 characters

##### paymentMethodId (String)

The unique ID that is assigned by Alipay+ to identify a payment method. For different payment scenarios, the value of this parameter is specified in different ways. For details, see the note for the parent parameter.

More information:

- Maximum length: 128 characters

##### customerId (String)

The unique ID that is assigned by Alipay+ to identify an MPP user.  

**Note**: Returned by Alipay+ if the value of the _result.resultCode_ parameter is `SUCCESS` and the MPP provides a unique ID that identifies the user.

More information:

- Maximum length: 64 characters

##### paymentMethodMetaData (PaymentMethodMetaData)

The metadata of the payment method.

###### authClientId (String)

The unique ID that is assigned by the ACQP to identify an auth client.

More information:

- Maximum length: 64 characters

#### paymentFactor (PaymentFactor, REQUIRED)

Factors that impact the payment related items such as the fee and regulatory reporting.

Factors that impact payment-related items such as service fee, interchange fee (also known as interpartner fee), and regulatory reporting. This parameter is used to identify the payment scenario.

**Note**: In this scenario, the following child parameters must be set to the specific values as shown below:

-   _isInStorePayment_: set the value to `true` 
-   _isCashierPayment:_ set the value to `true` 
-   _inStorePaymentScenario_: set the value to `EntryCode`

##### isInStorePayment (Boolean)

Specifies whether the payment scenario is in-store payment. If the value of this parameter is specified as `true`, the payment scenario is in-store payment; otherwise, the payment scenario is online payment.

##### isCashierPayment (Boolean)

Specifies whether a cashier page is presented to the user during the payment. If the value of this parameter is specified as `true`, a cashier page is presented to the user during the payment; otherwise, no cashier page is presented to the user during the payment.

##### inStorePaymentScenario (String)

The in-store payment scenario. Valid values are:

-   `PaymentCode`: indicates the scenario where a user presents a payment code to pay.
-   `OrderCode`: indicates the scenario where a user scans an order code to pay.
-   `EntryCode`: indicates the scenario where a user scans an entry code to pay.

#### paymentExpiryTime (Datetime)

The time after which the payment order is expired. The payment expiration time is calculated from the time when the order is placed. If the payment order is not completed before the time that is specified for this parameter, Alipay+ closes the order and calls the **notifyPayment** API to notify the ACQP of the payment result.

**Note**: 

1.  Required if the ACQP wants the payment order to be completed before a specific time.
2.  In this scenario, the default value of this parameter is 3 minutes.
3.  The specified expiration time must be shorter than the default expiration time; otherwise, the default expiration time takes effect instead of the specified expiration time.

More information:

- The value follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard format. For example, "2019-11-27T12:01:01+08:00".

#### paymentNotifyUrl (URL, REQUIRED)

The URL that is used to receive the payment result notification from Alipay+.

More information:

- Maximum length: 2048 characters

#### paymentRedirectUrl (URL)

The URL where the user is redirected to after the payment order is completed.

**Note**: Required if the user needs to be redirected from the MPP's payment result page to a predetermined page, for example, the merchant result page.

More information:

- Maximum length: 2048 characters

#### settlementStrategy (SettlementStrategy)

The settlement strategy that is applied to the payment order, for example, the currency that the ACQP wants to be settled against.

**Note**: Required if the settlement currency is different from the payment currency that is specified for the _paymentAmount.currency_ parameter.

##### settlementCurrency (String, REQUIRED)

The currency that the ACQP wants to be settled against. The value of this parameter is an alphabetic code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, for example, "EUR" for Euros.

More information:

- Maximum length: 3 characters

#### splitSettlementId (String)

The unique ID that is assigned by Alipay+ to the ACQP for multi-batch reconciliation. For each unique value of this parameter, Alipay+ performs a batch of clearing and settlement, and transfers a batch of funds to the ACQP's bank account.

**Note:** Required if the ACQP needs to split its settlement for transactions in one region and one currency into multiple batches.

More information:

- Maximum length: 16 characters

## Response parameters

#### result (Result, REQUIRED)

The result of the business processing, including the result status, result code, and result message. For more information about how to handle the result of the **pay** API, see the Result processing logic section.

##### resultCode (String, REQUIRED)

The result code that indicates the detailed processing result.

More information:

- Maximum length: 64 characters

##### resultStatus (String, REQUIRED)

The result status that indicates the processing result. Valid values are:

-   `S`: Successful
-   `F`: Failed
-   `U`: Unknown

##### resultMessage (String)

The result message that describes the result code in detail.

More information:

- Maximum length: 256 characters

#### acquirerId (String)

The unique ID that is assigned by Alipay+ to identify an ACQP.

**Note:** Returned by Alipay+ if the value of the _result.resultCode_ parameter is `PAYMENT_IN_PROCESS`, which means that the request is accepted.

More information:

- Maximum length: 64 characters

#### paymentId (String)

The unique ID that is assigned by Alipay+ to identify a payment order.

**Note:** Returned by Alipay+ if the value of the _result.resultCode_ parameter is `PAYMENT_IN_PROCESS`, which means that the request is accepted.

More information:

- Maximum length: 64 characters

#### paymentUrl (URL)

The URL of the page to which the ACQP needs to redirect the user to make the payment.

**Note:** Returned by Alipay+ if the value of the _result.resultCode_ parameter is `PAYMENT_IN_PROCESS`, which means that the request is accepted.

More information:

- Maximum length: 2048 characters

#### paymentAmount (Amount)

The amount that the ACQP requests to receive from Alipay+. The currency of the amount is the one that the ACQP uses to create the payment order.

**Note:** Returned if the value of the _result.resultCode_ parameter is `PAYMENT_IN_PROCESS`, which means that the request is accepted.

##### currency (String, REQUIRED)

The currency code of the amount. The value of this parameter must be an alphabetic code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, for example, "EUR" for Euros.

More information:

- Maximum length: 3 characters

##### value (Integer, REQUIRED)

The value of the amount as a natural number. By default, the value of this parameter is in the smallest currency unit. For example, if the currency is USD and the amount is $1.00, set the value of this parameter to 100; or if the currency is JPY and the amount is ￥1, set the value of this parameter to 1.

More information:

- Value range: 1 - unlimited

## More information

### Result processing logic

You might receive different results from Alipay+. Follow the instructions below to handle the result. <table style="width:735px;outline:none;border-collapse:collapse;border:1px solid rgb(217, 217, 217)" class="lake-table"><colgroup><col width="100" span="1"><col width="184" span="1"><col width="156" span="1"><col width="295" span="1"></colgroup><tbody><tr style="height:33px"><td id="u9d46ed70" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="c024a1978b37de152724adb3864d6112" id="u7492f169" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><strong><span id="ua5f461c4">result.resultStatus</span></strong></p></td><td id="u5e589486" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="1db7dbb327e1edf0a3ada348be432c6e" id="u570ecee3" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><strong><span id="ud32ff6e9">result.resultCode</span></strong></p></td><td id="udf66e64a" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="4af81a889ea5ab6bdc80d9c63fcaa16d" id="u676468ad" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><strong><span id="u945be81b">Payment status</span></strong></p></td><td id="uf096b8b5" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="7a839d8229f58e23f1dbc693014e20eb" id="udd5af357" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><strong><span id="u88d5709d">Actions</span></strong></p></td></tr><tr style="height:33px"><td id="u792ca37f" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="27ec5de502679ef8ac711ff8f3f45226" id="u2f70c542" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="u6ba00329" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="ubd578087">F</span></code></p></td><td id="u4b98a6de" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="dddd4437abf0aa5641026e52cf349659" id="u31ed2169" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="u943b76a0" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="u48a9688a">ORDER\_IS\_CLOSED</span></code></p></td><td id="ub5ebcf66" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="2a1917a54fc3970d1334fdb28a988b94" id="u6e8b4f4b" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u8dc86aad">Payment fails.</span></p></td><td id="u2b2bc065" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><ul data-lake-id="3c174f302dad34b7007c34cfd95bbe03" lake-indent="0" style="list-style-type:disc;padding-left:23px;margin:0px;font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word"><li data-lake-id="5f797b568e936e634b15e9834dc99581" id="u6c8f977b"><span id="uc4e4666e">If a transaction is not completed at the MPP side after the payment expires, </span>Alipay+<span id="u36b8ccf9">  closes the order and returns </span><code id="u30ad6a8d" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="u5038f625">ORDER\_IS\_CLOSED</span></code><span id="uaf4a67d5">.</span></li><li data-lake-id="d2fdd111b9bd62dffada97964ae40419" id="u59c8aa8f"><span id="u3beaf634">If a transaction is completed, but you receive the error code </span><code id="u8f000b1b" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="uf46bcb51">ORDER\_IS\_CLOSED</span></code><span id="u77be9357">, take </span><code id="u3bb30f7c" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="ue59ce8bc">ORDER\_IS\_CLOSED</span></code><span id="u3e96a4e1"> as the final result.</span></li></ul></td></tr><tr style="height:33px"><td id="u4103c207" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="dfcea751de6f5b298c6b4f9c8f71e710" id="ua41007c4" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="ube05b43e" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="ufafdd762">F</span></code></p></td><td id="uae778632" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="0a34fd0d159a2b7af37c39433023d5a5" id="udb44c9fc" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="ua28fa699">Values other than </span><code id="u303f13a9" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="ud069be43">ORDER\_IS\_CLOSED</span></code><span id="ub23d161c">, such as </span></p><p data-lake-id="b3a867e3a3cf28211ea1f26d60d39b0e" id="u115a994b" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="u13f831c9" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="ud46752ba">ACCESS\_DENIED</span></code><span id="ua28fa699"> and </span></p><p data-lake-id="b1458c7d29730000c9507611535b9a17" id="u0d8cb3f2" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="u92407d31" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="u3560b848">BUSINESS\_NOT\_SUPPORT</span></code><span id="u99a6c28e">.</span></p></td><td id="ub45a36d8" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="24ed35f6225f761d53dad5e6771d29db" id="ue17a1965" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="udf31d12c">Payment fails.</span></p></td><td id="u124e340b" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="2e535dd148471072748c5a1863f8ba5b" id="uec82e8d2" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u8febca6a">Take actions according to the result code (specified on the </span><em><span id="u77b6ba48">result.resultCode </span></em><span id="ue2e842fe">parameter). For more information, see the </span><em><span id="u83cc6454">Result codes</span></em><span id="udaf276f4"> section below.</span></p></td></tr><tr style="height:33px"><td id="u09ac9693" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="8ffddcbe7c057164cda7a3e8732269ea" id="u9e712d24" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="u4a93ca4e" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="u1860a9ee">U</span></code></p></td><td id="u63ca64b6" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="0c47074255dcb434af7257fe7b2aaabd" id="u040cc062" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="ua3b4db51" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="u656f04db">PAYMENT\_IN\_PROCESS</span></code></p></td><td id="u2bac5782" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="66becbc11b906eb8580e128ed4905a7c" id="u84ef0865" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u5b9ba8d6">Payment is in processing.</span></p></td><td id="u86b79f09" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="c25e2f8965c10f09ac6d15b20375d002" id="u00b3ef09" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="ua3d868e4">Redirect the user to the page that is specified by the </span><em><span id="u290e4f53">paymentUrl</span></em><span id="u4e308906"> parameter to make the payment.</span></p></td></tr><tr style="height:33px"><td id="ua6acbe8d" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="680b9390b45a7553283729831f962acc" id="ubfdad482" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><code id="u49bf0e18" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="uf8cd3902">U</span></code></p></td><td id="uee3bd42f" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="136a14f312dd9221728261f6cdc5f62a" id="uf7994354" style="text-align:left;font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u72b013b3">Values other than </span><code id="u9493b0de" style="font-family:monospace;font-size:inherit;background-color:rgba(0, 0, 0, 0.06);padding:0px 2px;border:1px solid rgba(0, 0, 0, 0.08);border-radius:2px;line-height:inherit;overflow-wrap:break-word;text-indent:0px"><span id="ua489be1f">PAYMENT\_IN\_PROCESS</span></code></p></td><td id="u61321d8b" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="2eb22c6efbaf15db93c232764cd38329" id="u586b668c" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u4bd53653">Unknown.</span></p></td><td id="u233be55a" style="min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="98ca0215e0f04b10080d4c5bf3ca9c1b" id="u1fe67916" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u03541310">Retry the same request. Ensure that the value specified on the </span><em><span id="u55a8df8c">paymentRequestId</span></em><span id="u30218569"> parameter is the same as the one specified in the previous request.</span></p></td></tr><tr style="height:121px"><td id="ub058c5be" colspan="2" style="vertical-align:top;min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="4e7281f6e0ce20043091d6c4888b06e6" id="u0b37fd14" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u16dadfb1">No result received</span></p></td><td id="udf56ecd5" style="vertical-align:top;min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="9b12c055fb4cc9241c27ea9c68d79f30" id="uf1aadb22" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u7f9faf82">Unknown.</span></p></td><td id="u9425715f" style="vertical-align:top;min-width:90px;font-size:14px;white-space:normal;overflow-wrap:break-word;border:1px solid rgb(217, 217, 217);padding:4px 8px;cursor:default"><p data-lake-id="0dc743c2cb53de97f9cbad32502a552f" id="u9aa71b2e" style="font-size:14px;color:rgb(38, 38, 38);line-height:1.74;letter-spacing:0.05em;outline-style:none;overflow-wrap:break-word;margin-top:0px;margin-bottom:0px"><span id="u95a16f0f">Retry the same request. Ensure that the value specified on the </span><em><span id="u38eac5ed">paymentRequestId</span></em><span id="u88ac3a6c"> parameter is the same as the one specified in the previous request.</span></p></td></tr></tbody></table>

## Result/Error codes

| Code | Value | Message | Further action |
| --- | --- | --- | --- |
| SUCCESS | S | Success | N/A |
| ACCESS_DENIED | F | Access is denied. | It is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue. |
| BUSINESS_NOT_SUPPORT | F | The payment business is not supported. | Check whether the parameter values in the request message, such as merchant ID and transaction currency, conform to the contract. If yes, it is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue; otherwise, correct the parameters to align with the contract. |
| CURRENCY_NOT_SUPPORT  | F | The currency is not supported. | Ensure the currencies used in the request, such as payment currency and settlement currency, conform to the contract. If the issue persists, it is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue. |
| INVALID_CLIENT | F | The client is invalid. | It is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue. |
| INVALID_CONTRACT | F | The contract is invalid. | Check whether the parameter values in the request message, such as merchant ID and transaction currency, conform to the contract. If yes, it is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue; otherwise, correct the parameters to align with the contract. |
| INVALID_SIGNATURE | F | The signature is invalid. | Check whether the public key, signed message, and signature algorithm are as expected. |
| KEY_NOT_FOUND | F | The key is not found. | It is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue. |
| MEDIA_TYPE_NOT_ACCEPTABLE | F | The server does not implement the media type that is acceptable to the client. | Use a media type that is accepted by Alipay+. |
| MERCHANT_NOT_REGISTERED | F | The merchant is not registered. | It is recommended that you contact the technical support team at connect_support@service.alipay.com to troubleshoot the issue. |
| METHOD_NOT_SUPPORTED | F | The server does not implement the requested HTTPS method. | Ensure the HTTP method is POST. |
| NO_INTERFACE_DEF | F | API is not defined. | Check whether the request URL is correct. Ensure that the endpoint of the called API is correct. |
| ORDER_IS_CLOSED | F | The order is closed. | Close the order at the ACQP side. |
| PARAM_ILLEGAL | F | Illegal parameters. For example, non-numeric input, invalid date. | Check whether the request parameters, including the header parameters and body parameters, are correct and valid. For more information about the parameters of each API, see the Structure section of the specific API reference topic. |
| PAYMENT_AMOUNT_EXCEED_LIMIT | F | The payment amount exceeds the limit that is specified by Alipay+. | It is recommended that you inform the user of the error. |
| PAYMENT_AMOUNT_INVALID | F | Payment amount is invalid. | It is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue. |
| PAYMENT_COUNT_EXCEED_LIMIT | F | The number of payments exceeds the limit. | Wait until the digital wallet allows more payments. |
| PROCESS_FAIL | F | A general business failure occurred. Do not retry. | It is recommended that you contact connect_support@service.alipay.com to troubleshoot the issue. |
| REPEAT_REQ_INCONSISTENT | F | Repeated requests are inconsistent. | Ensure that the values of the parameters in the repeated requests are the same. |
| RISK_REJECT | F | The request is rejected because of the risk control. | It is recommended that you inform the user of the error. |
| UNAVAILABLE_PAYMENT_METHOD | F | The payment method is unavailable. | It is recommended that you inform the user of the error. |
| USER_AMOUNT_EXCEED_LIMIT | F | The payment amount exceeds the payment limit that is specified by the user's digital wallet. | It is recommended that you inform the user of the error. |
| USER_BALANCE_NOT_ENOUGH | F | The user balance is not enough for the payment. | It is recommended that you inform the user of the error. |
| USER_KYC_NOT_QUALIFIED | F | User is not qualified for the KYC verification. | It is recommended that you inform the user of the error. |
| USER_NOT_EXIST | F | The user does not exist. | It is recommended that you inform the user of the error. |
| USER_PAYMENT_VERIFICATION_FAILED | F | User fails to pass the payment verification in the methods like OTP, PIN, and so on. | It is recommended that you inform the user of the error. |
| USER_STATUS_ABNORMAL | F | The user status is abnormal. | It is recommended that you inform the user of the error. |
| PAYMENT_IN_PROCESS | U | The payment is being processed. | Redirect the user to the page that is specified by the paymentUrl parameter to make the payment. |
| REQUEST_TRAFFIC_EXCEED_LIMIT | U | The request traffic exceeds the limit. | Reduce the frequency of API calls. |
| UNKNOWN_EXCEPTION | U | An API call failed, which is caused by unknown reasons. | Try to recall the API. |

## Request

```json
{
  "paymentExpiryTime": "2022-02-01T12:01:01+08:30",
  "paymentNotifyUrl": "https://xmock.inc.alipay.net/api/Ipay/globalSite/automtion/paymentNotify.htm",
  "paymentRequestId": "pay_1089760038715669_102775745070000",
  "paymentFactor": {
    "isInStorePayment": "true",
    "isCashierPayment": "true",
    "inStorePaymentScenario": "EntryCode"
  },
  "order": {
    "referenceOrderId": "102775745070000",
    "orderDescription": "SHOES",
    "orderAmount": {
      "currency": "JPY",
      "value": "100"
    },
    "merchant": {
      "referenceMerchantId": "M00000000001",
      "merchantName": "UGG",
      "merchantMCC": "1405",
      "merchantAddress": {
        "region": "JP",
        "city": "xxx"
      },
      "store": {
        "referenceStoreId": "S00000000001",
        "storeName": "UGG-2",
        "storeMCC": "1405"
      }
    },
    "env": {
      "userAgent": "Mozilla/5.0 (Linux; Android 9; SM-G977N Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3770.143 Mobile Safari/537.36;kakaotalk 1908470"
    },
    "indirectAcquirer": {
      "referenceAcquirerId": "2112211212",
      "acquirerName": "UGG",
      "acquirerAddress": {
        "region": "JP",
        "city": "xxx"
      }
    }
  },
  "settlementStrategy": {
    "settlementCurrency": "USD"
  },
  "paymentAmount": {
    "currency": "JPY",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CONNECT_WALLET"
  }
}
```

## Response

```json
{
  "acquirerId": "2021228100000000",
  "result": {
    "resultCode": "PAYMENT_IN_PROCESS",
    "resultMessage": "The payment in process.",
    "resultStatus": "U"
  },
  "paymentId": "20190608114010800100188820200350000",
  "paymentAmount": {
    "value": "100",
    "currency": "JPY"
  },
  "paymentUrl": "https://render.alipay.com/p/w/ac-fe-adaptor/?ACCodeValue=281666040098X5mI31LFMzSfInzT2Ts2sO5o&loadingUrl=https%3a%2f%2frender.alipay.com%2fp%2fw%2fac-loading-page%2f"
}
```