# createPaymentSession

> This API is used to create a payment session for client-side SDK integration.

`POST /v1/payments/createPaymentSession`

This API is used to create a payment session for client-side SDK integration. Through this API response, APO returns encrypted session data. You use the session data to initiate the client-side SDK. The SDK helps you complete the payment process and eliminate intermediate page redirections throughout the entire payment process.  

# 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](https://docs.antom.com/ac/ams/api_fund.md#ML5ur)
-   [Response header](https://docs.antom.com/ac/ams/api_fund.md#WWH90)

> **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

#### productScene (String)

Specified product scenarios.

> **Note**: In Checkout page scenario, specify this parameter as `CHECKOUT_PAYMENT`.

More information:

- Maximum length: 32 characters

#### paymentRequestId (String, REQUIRED)

The unique ID assigned by a merchant to identify a payment request.

More information:

- Maximum length: 64 characters

#### order (Order, REQUIRED)

The order information, such as buyer, merchant, goods, amount, shipping information, and purchase environment. This field is used for different purposes:

-   During the payment process, this field is mainly used by APO for risk control or anti-money laundering.
-   After the payment is completed, this field is used for recording and reporting purposes such as purchase tracking and regulatory reporting.

##### orderAmount (Amount, REQUIRED)

The order amount of the merchant that directly provides services or goods to the customer. This field is used for user consumption records display or payment results page.

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

The transaction currency that is specified in the contract. A 3-letter currency code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.

More information:

- Maximum length: 3 characters

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

The amount to charge as a positive integer in the smallest currency unit. (That is, 100 cents to charge $1.00, or 100 to charge JPY 100, a 0-decimal currency).

> **Note**: For details about the smallest currency unit, see [Smallest unit of the currency](https://global.alipay.com/docs/ac/ref/cc#ONkIe).

More information:

- Value range: 1 - unlimited

##### referenceOrderId (String, REQUIRED)

The unique ID to identify the order on the merchant side, which is assigned by the merchant that provides services or goods directly to the customer. This field is used for user consumption records display and other further actions such as disputes track or handling of customer complaints.

More information:

- Maximum length: 64 characters

##### orderDescription (String, REQUIRED)

Summary description of the order, which is used for user consumption records display or other further actions.

More information:

- Maximum length: 256 characters

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

Goods information, including the ID, name, price, and quantity of the goods in the order.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum size: 100 elements

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

The unique ID to identify the goods.

More information:

- Maximum length: 64 characters

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

Goods name.

More information:

- Maximum length: 256 characters

###### goodsBrand (String)

Goods brand.

More information:

- Maximum length: 32 characters

###### goodsSkuName (String)

The name of the stock keeping unit.

More information:

- Maximum length: 64 characters

###### goodsCategory (String, REQUIRED)

The category of the goods. If the goods have multiple layers for categorization, use slashes between different categories and write the parent category before the subcategory, such as `Digital Goods/Digital Vouchers/Food and Beverages`.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 64 characters

###### goodsImageUrl (String)

The image URL of goods.

###### goodsUnitAmount (Amount, REQUIRED)

Price of goods.

Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

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

The 3-letter currency code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.

More information:

- Maximum length: 3 characters

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

The amount to charge as a positive integer in the smallest currency unit. (That is, 100 cents to charge $1.00, or 100 to charge JPY 100, a 0-decimal currency).

> **Note**: For details about the smallest currency unit, see [Smallest unit of the currency](https://global.alipay.com/docs/ac/ref/cc#ONkIe).

More information:

- Value range: 1 - unlimited

###### goodsQuantity (Integer, REQUIRED)

Quantity of goods.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Value range: 1 - unlimited

###### goodsUrl (String)

The URL of the website where the user places an order.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 2048 characters

###### deliveryMethodType (String, REQUIRED)

The delivery method of the goods. Valid values are:

-   `PHYSICAL`: indicates that the delivery method is physical delivery.
-   `DIGITAL`: indicates that the delivery method is digital delivery.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 32 characters

##### shipping (Shipping)

Shipping information, including information about the recipient (name, phone number, email, and shipping address), and shipping service provider.

> **Note**: Specify this parameter when you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

###### shippingName (UserName)

The name of the recipient.

> **Note**: Specify this parameter when you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

###### firstName (String, REQUIRED)

First name.

More information:

- Maximum length: 32 characters

###### middleName (String)

Middle name

More information:

- Maximum length: 32 characters

###### lastName (String, REQUIRED)

Last name

More information:

- Maximum length: 32 characters

###### fullName (String)

Full name

More information:

- Maximum length: 128 characters

###### shippingAddress (Address)

Shipping address.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

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

The 2-letter country or region code. For more information, see [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province name.

> **Note**: For card payments, if your business entity is in the United States, and the card issuing country is in Canada, the United States, or the United Kingdom, set the value to a region code that consists of two to three characters and follows the ISO 3166-2 standard.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### zipCode (String)

ZIP or postal code.

> **Note**:
>
> For card payments, if your business entity is in the United States, specify this parameter according to the following parameter value requirements:
>
> -   Only contains numbers, letters, hyphens, and spaces.
> -   Must be within ten characters.

More information:

- Maximum length: 32 characters

###### shippingCarrier (String, REQUIRED)

The delivery service provider for shipping a physical product, such as FedEx, UPS, or USPS.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 128 characters

###### shippingPhoneNo (String, REQUIRED)

The phone number of a recipient (including extension).

> **Note**: Specify this parameter when you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 16 characters

###### shipToEmail (String)

The email address where virtual goods are sent.

> **Note**:
>
> Specify this parameter when one of the following conditions is met:
>
> -   if you require risk control.
> -   if you are a digital and entertainment merchant.
>
> Providing this information helps to increase fraud and identity theft detection.

More information:

- Maximum length: 64 characters

##### buyer (Buyer)

Buyer information, including the ID, name, phone number, and email of the buyer.

> **Note**:
>
> Specify this parameter when one of the following conditions is met:
>
> -   You require risk control.
> -   The value of _paymentMethodType_ is `CARD`. 
>
> Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

###### referenceBuyerId (String, REQUIRED)

More information:

- Maximum length: 64 characters

###### buyerName (UserName, REQUIRED)

###### firstName (String)

First name.

More information:

- Maximum length: 32 characters

###### middleName (String)

Middle name

More information:

- Maximum length: 32 characters

###### lastName (String)

Last name

More information:

- Maximum length: 32 characters

###### fullName (String)

Full name

More information:

- Maximum length: 128 characters

###### buyerPhoneNo (String, REQUIRED)

More information:

- Maximum length: 24 characters

###### buyerEmail (Email, REQUIRED)

More information:

- Maximum length: 64 characters

###### buyerRegistrationTime (Datetime, REQUIRED)

More information:

- Maximum length: 64 characters
- 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".

###### isAccountVerified (Boolean, REQUIRED)

Indicates whether the merchant has verified the buyer’s account by email or phone number. Valid values of this parameter are true and false. 

-   `true`: Indicates that the merchant has verified the buyer's account.
-   `false`: Indicates that the merchant has not verified the buyer's account.

###### successfulOrderCount (Integer, REQUIRED)

Indicates the number of successful orders made by the buyer on your client.

More information:

- Value range: 0 - unlimited

##### merchant (Merchant)

Information about the secondary merchant.

> **Note**: Specify this field if you are an acquirer that has secondary merchants.

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

The ID to identify the merchant that directly provides services or goods to the customer.

More information:

- Maximum length: 32 characters

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

The secondary merchant category code, which is a 4-digit number listed in [MCC codes](https://global.alipay.com/docs/ac/ref/mcccodes).

> **Note**: Specify this field if you have the information. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 32 characters

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

The merchant name.

> **Note**: Specify this field if you have the information. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 256 characters

###### merchantDisplayName (String, REQUIRED)

The merchant name to be displayed.

> **Note**: Specify this field if you have the information. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 64 characters

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

The merchant address information.

> **Note**: Specify this field if you have the information. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

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

The two-character [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country/region code.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, such as street, PO Box, or company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, such as the apartment, suite, unit, or building information.

More information:

- Maximum length: 256 characters

###### zipCode (String)

ZIP or postal code.

More information:

- Maximum length: 32 characters

###### merchantRegisterDate (Datetime, REQUIRED)

Merchant registration date.

> **Note**: Specify this field if you have the information. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase 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".

##### transit (Transit)

Trip information, including trip modes, legs of trips and passenger information.

> **Note**: Specify this field if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

###### transitType (String)

Trip modes, valid values are:

-   `FLIGHT`: indicates that the trip mode is by plane.
-   `TRAIN`: indicates that the trip mode is by train.
-   `CRUISE`: indicates that the trip mode is by cruise.
-   `COACH`: indicates that the trip mode is by coach.

###### legs (Array<Leg>)

Information about sections of the trip, including departure time, arrival time, departure address, arrival address, transportation company name, carrier code and service type.

More information:

- Maximum size: 10 elements

###### departureTime (Datetime)

Time of departure for this leg of the trip.

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".

###### arrivalTime (Datetime)

Time of arrival for this leg of the trip.

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".

###### departureAddress (Address)

Departure address for this leg of the trip.

###### region (String)

The 2-letter country or region code. For more information, see [ISO 3166 Contry Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### arrivalAddress (Address)

Destination address for this leg of the trip.

###### region (String)

The 2-letter country or region code. For more information, see [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### carrierName (String)

Company name of the transportation service provider for this leg of the trip.

More information:

- Maximum length: 128 characters

###### carrierNo (String)

Code for the carrier for this leg of the trip.

More information:

- Maximum length: 64 characters

###### classType (String)

Service level for this leg of the trip. Valid values are:

-   `FIRSTLEVEL`: indicates that the service is the first class. For example, flight first class, cruise luxury seat, train business class seat/1st class sleeper, coach first-level seat.
-   `SECONDLEVEL`: indicates that the service is the second class. For example, fight business class, cruise business seat, train 1st class seat/2nd class sleeper, coach second-level seat.
-   `THIRDLEVEL`: indicates that the service is the third class. For example, fight economic class or premium economic, cruise normal seat, train 2nd class seat/standing, coach normal seat.

More information:

- Maximum length: 32 characters

###### passengers (Array<Passenger>)

Information about the passenger of the trip, including the passenger names, passenger email and passenger phone number.

More information:

- Maximum size: 100 elements

###### passengerName (UserName)

###### firstName (String)

First name.

More information:

- Maximum length: 32 characters

###### middleName (String)

Middle name.

More information:

- Maximum length: 32 characters

###### lastName (String)

Last name.

More information:

- Maximum length: 32 characters

###### fullName (String)

Full name.

More information:

- Maximum length: 128 characters

###### passengerEmail (String)

More information:

- Maximum length: 64 characters

###### passengerPhoneNo (String)

More information:

- Maximum length: 32 characters

##### lodging (Lodging)

Information about lodging service that was purchased, including hotel name, hotel address, check-in date, check-out date, number of booked rooms, number of booked nights and guest names.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

###### hotelName (String)

Hotel name.

More information:

- Maximum length: 128 characters

###### hotelAddress (Address)

Hotel address.

###### region (String)

The 2-letter country or region code. For more information, see [ISO 3166 Contry Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### checkInDate (Datetime)

Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.

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".

###### checkOutDate (Datetime)

Date on which the guest checked out.

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".

###### numberOfNights (Integer)

Number of nights booked by the payer.

More information:

- Value range: 1 - unlimited

###### numberOfRooms (Integer)

Number of rooms booked by the payer.

More information:

- Value range: 1 - unlimited

###### guestNames (Array<UserName>)

Name of the guest under which the room is reserved.

More information:

- Maximum size: 100 elements

###### firstName (String)

First name.

More information:

- Maximum length: 32 characters

###### middleName (String)

Middle name.

More information:

- Maximum length: 32 characters

###### lastName (String)

Last name.

More information:

- Maximum length: 32 characters

###### fullName (String)

Full name.

More information:

- Maximum length: 128 characters

##### gaming (Gaming)

Information about gaming top-up, including game name, the topped up user name or ID, user email and user phone number.

> **Note**: Specify this parameter if you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

###### gameName (String)

Game name.

More information:

- Maximum length: 128 characters

###### toppedUpUser (String)

Name or ID of the user whose gaming account is topped up.

More information:

- Maximum length: 128 characters

###### toppedUpEmail (String)

Email of the user.

More information:

- Maximum length: 64 characters

###### toppedUpPhoneNo (String)

Phone number of the user.

More information:

- Maximum length: 32 characters

#### availablePaymentMethod (AvailablePaymentMethod )

Information on payment methods available to the user.

##### paymentMethodTypeList (Array<PaymentMethodTypeItem>)

List of available payment methods for the buyer.

###### paymentMethodType (String)

The payment method type that is included in payment method options. See [Payment methods](https://docs.antom.com/ac/apo/payment_methods.md) to check the valid values.

More information:

- Maximum length: 64 characters

###### paymentMethodOrder ( Integer)

The order of the payment methods.

###### expressCheckout (Boolean)

Indicates whether the payment method selected by the user is displayed as a quick payment method. The currently supported quick payment methods include `ALIPAY_CN`, `APPLEPAY`, and `GOOGLAPAY`.

##### paymentMethodMetaData  (PaymentMethodMetaData)

Additional information required for some specific payment methods.

**Scenario: Card** (Card)

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure. Specify this parameter when the value of _paymentMethodType_ is `CARD`. Valid values of this parameter are:

-   `true`: indicates that the transaction authentication type is 3D secure.
-   `false`: indicates that the transaction authentication type is 2D authentication.

If the value of this parameter is empty or the parameter is not passed, the transaction authentication type is determined by the acquirer.

###### cardNo (String)

The card number.

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`.
-   You collect this information during the payment process.

More information:

- Maximum length: 32 characters

###### cvv (String)

The card verification value (CVV), which is also known as a card security code (CSC) or a card veirification code (CVC).

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`.
-   The value of _paymentMethodRegion_ is `GLOBAL`, `BR`, `CL`, `MX`, or `PE`.  
-   You collect this information during the payment process.

For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 3 characters

###### expiryYear (String)

The year the card expires. Pass in the last two digits of the year number. For example, if the expiry year is 2025, the value of this parameter is `25`.

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`. 
-   You collect this information during the payment process.

More information:

- Maximum length: 2 characters

###### expiryMonth (String)

The month the card expires. Pass in two digits representing the month. For example, if the expiry month is February, the value of this parameter is `02`.

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`. 
-   You collect this information during the payment process.

More information:

- Maximum length: 2 characters

###### cardholderName (UserName)

The cardholder's name.

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`.
-   The value of _paymentMethodRegion_ is `BR`, `CL`, `MX`, or `PE`.
-   You collect this information during the payment process.

For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

###### firstName (String)

The cardholder's first name.

More information:

- Maximum length: 32 characters

###### middleName (String)

The cardholder's middle name.

More information:

- Maximum length: 32 characters

###### lastName (String)

The cardholder's last name.

More information:

- Maximum length: 32 characters

###### fullName (String)

The cardholder's full name.

More information:

- Maximum length: 128 characters

###### billingAddress (Address)

The billing address that is associated with the cardholder's card account.

Specify this parameter when _paymentMethodType_ is `CARD` and you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

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

The 2-letter country or region code. For more information, see [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province name.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### zipCode (String)

ZIP or postal code.

More information:

- Maximum length: 32 characters

###### cpf (String)

The Cadastro Pessoal de Pessoa Física (CPF) is the tax ID of the Brazilian individual taxpayer.

Specify this parameter when all the following conditions are met:

-   When the value _paymentMethodRegion_ is `BR`.
-   You collect this information during the payment process.

For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 11 characters

###### dateOfBirth (String)

The date of birth of the cardholder. The value of this parameter is an 8-digit date of birth in the format of `YYYY-MM-DD` that follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard. For example, `1971-06-07` means the cardholder's birthday is June 7, 1971.  

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`.
-   The value of _paymentMethodRegion_ is `KR`.
-   The card is a personal card.
-   You collect this information during the payment process.

For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 8 characters

###### businessNo (String)

The business number of the company that holds the corporate card. The value of this parameter is a 10-digit business number, such as `97XXXXXX11`. 

Specify this parameter when all the following conditions are met:

-   You have the PCI qualification.
-   The value of _paymentMethodType_ is `CARD`.
-   The value of _paymentMethodRegion_ is `KR`.
-   The card is a corporate card.
-   You collect this information during the payment process.

For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 10 characters

###### cardPasswordDigest (String)

The first two digits of the card payment password.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   The value of _paymentMethodRegion_ is `KR`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 2 characters

###### paymentMethodRegion (String)

The region code that represents the country or region of the payment method. The value of this parameter is a 2-letter [ISO country code](https://www.iso.org/obp/ui/#search) or `GLOBAL`.

> **Note**: Specify this parameter when the card is a dual currency card. If you do not specify this parameter, Alipay makes an intelligent decision for you based on the payment success rate and other factors.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 6 characters

###### payerEmail (Email)

The email address of the payer.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   _paymentMethodType_ is `CARD`.
> -   _paymentMethodRegion_ is `BR`, `CL`, `MX`, or `PE`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 64 characters

###### tokenizeMode (String)

The tokenize mode. Indicates whether card information needs to be stored. When you opt to store card details, the actual information is replaced with a unique and secure token that can be used for future payments. Valid values are:

-   `ENABLED`: indicates that you obtain card binding authorization and want to store card information for future payments.
-   `DISABLED`: indicates that you don’t need to store card information. The same applies when the value is empty or you do not specify this parameter.
-   `ASKFORCONSENT`: indicates that you present a button on the page, allowing the buyer to choose whether or not they want to store the card information.

> **Note**: Specify this parameter when the value of _paymentMethodType_ is `CARD` and you want to store the buyer's card information.

More information:

- Maximum length: 64 characters

###### isCardOnFile (Boolean)

Indicates whether the user's card payment information is stored. Valid values are:

-   `true`: indicates that the user's card payment information is stored.
-   `false`: indicates that the user's card payment information is not stored. The same applies when the value is empty or you do not specify this parameter.

> **Note**: Specify the value of this parameter as `true` when the user pays with a saved card.

###### recurringType (String)

The recurring type for the payment. Valid values are:

-   `SCHEDULED`: indicates a regular automated deduction payment.
-   `UNSCHEDULED`: indicates an irregular automated deduction payment.

If the value of this parameter is empty or you do not specify this parameter, the payment is not an automated deduction and the payer will be included in the payment process.

> **Note**: Specify this parameter when the payment is a merchant-initiated transaction (MIT).

More information:

- Maximum length: 64 characters

###### networkTransactionId (String)

This parameter is used for automated deduction payments. The value of this parameter is the value of the same field that is returned by [**notifyPayment**](https://docs.antom.com/ac/apo/paymentrn_online.md) or [**inquiryPayment**](https://docs.antom.com/ac/apo/paymentri_online.md) for the original payment.

> **Note**: Specify this parameter when the value of _recurringType_ is `SCHEDULED` or `UNSCHEDULED`.

More information:

- Maximum length: 100 characters

###### selectedCardBrand (String)

The card brand that the user used to pay. See [Card brands](https://docs.antom.com/ac/pm/enumeration_values.md#ZfyuE) to check the valid values.

> **Note**: Specify this parameter when the card is a dual currency card. If you do not specify this parameter, Antom decides which card brand the user uses to pay based on the payment success rate and other factors.

More information:

- Maximum length: 64 characters

###### enableAuthenticationUpgrade (Boolean)

Indicates whether you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. Valid values are:

-   `true`: indicates that you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. The same applies when the value is empty or you do not specify this parameter.
-   `false`: indicates that you do not allow non-3D Secure authentication to be upgraded to 3D Secure authentication.

> **Note**: This parameter is used to salvage some payments that non-3D authentication fails. Specify this parameter as `false` if you do not need this capability.

###### mpiData (MpiData)

The MPI (Merchant Plug-In) information.

> **Note**: Specify this parameter if you integrate external 3D MPI.

###### threeDSVersion (String)

The version of 3D Secure protocol. Valid values are:

-   `1.0.2`
-   `2.1.0`
-   `2.2.0`

More information:

- Maximum length: 16 characters

###### cavv (String)

The cardholder authentication value. The value of this parameter can be Cardholder Authentication Verification Value (CAVV) or Authentication Verification Value (AVV).

> **Note**: Specify this parameter when the cardholder passes the 3D Secure authentication.

More information:

- Maximum length: 64 characters

###### dsTransactionId (String)

The unique transaction identifier assigned by the Directory Server (DS) for 3D Secure authentication.

> **Note**: Specify this parameter when 3D Secure authentication is used.

More information:

- Maximum length: 64 characters

###### eci (String)

Electronic Commerce Indicator (ECI) that is returned by the card scheme. This parameter is used to indicate the type of cardholder identity authentication. Valid values are:

-   `02` or `05`: indicates fully authenticated transaction.
-   `01` or `06`: indicates attempted authentication transaction.
-   `00` or `07`: indicates non-3D Secure transaction.

More information:

- Maximum length: 2 characters

**Scenario: GooglePay** (GooglePay)

###### googlePayConfiguration (Object)

GooglePay payment preferences.

###### configuration (Object)

Basic merchant information.

###### merchantName (String)

The merchant name you want displayed in the payment sheet.

More information:

- Maximum length: 128 characters

###### merchantId (String)

The Google Pay ID that the merchant registers and activates on Google. When using the Antom payment sheet, the merchant does not need to register this ID separately.

> **Note**: This field is required in the SDK scenario.

More information:

- Maximum length: 32 characters

###### emailRequired (Boolean)

Indicates whether to collect the user's email information reserved in Google Pay. The default value is `false`.

###### shippingAddressRequired (Boolean)

Indicates whether to collect the user's complete shipping address reserved in Google Pay. The default value is `false`.

###### shippingAddressParameters (Object)

The additional information related to shipping.

> **Note**: When the value of shippingAddressRequired is `true`, please specify this field.

###### allowedCountryCodes (String)

Logistics country code in accordance with ISO 3166-1 standard. If this field is not specified, all transportation address countries will be effective by default.

More information:

- Maximum length: 100 characters

###### phoneNumberRequired (Boolean)

Indicates whether the specified logistics shipping address requires collecting the user's phone number. The default value is `false`.

###### allowedAuthMethods (String)

Specify the supported card transaction authenticate methods. Valid values are:

-   `PAN_ONLY`: This authentication method is associated with payment cards stored on file with the user's Google Account. Returned payment data includes personal account number (PAN) with the expiration month and the expiration year.
-   `CRYPTOGRAM_3DS`: This authentication method is associated with cards stored as Android device tokens. Returned payment data includes a 3-D Secure (3DS) cryptogram generated on the device.

> **Not****e**: If this field is not specified, both `PAN_ONLY` and `CRYPTOGRAM_3DS` are sent by default to support both methods.

###### billingAddressRequired (Boolean)

Indicate whether it is necessary to collect the billing address. The default value is `false`.

> **Note**: Additional data requests may lead to a decrease in payment conversion rates; therefore, please specify this field only when necessary.

###### billingAddressParameters (Object)

The additional information related to billing adress.

###### format (String)

Billing address format required to complete the transaction.

-   `MIN`: Name, country code, and postal code (default).
-   `FULL`: Name, street address, locality, region, country code, and postal code.

###### phoneNumberRequired (Boolean)

Indicates whether it is necessary to collect the buyer's phone number. The default value is `false`.

###### buttonsBundled (Boolean)

Indicate whether the Google Pay button is combined with other payment methods. Valid values are:  

-   `true`: Indicates that Google Pay is bundled with other payment methods;  
-   `false`: Indicates that the Google Pay button is placed independently at the top of the payment page.

###### billingAddress (Object)

The billing address that is associated with the cardholder's card account.

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

The 2-letter country or region code. For more information, see [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province name.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### cardholderName (Object)

The cardholder's name. Specify this parameter only if merchant is PCI DSS Compliance and decrypted the googlePayToken.

For more information about the card region, see [Card brands](https://docs.antom.com/ac/pm/enumeration_values.md#ZfyuE).

###### firstName (String)

The cardholder's first name.

More information:

- Maximum length: 32 characters

###### middleName (String)

The cardholder's middle name.

More information:

- Maximum length: 32 characters

###### lastName (String)

The cardholder's last name.

More information:

- Maximum length: 32 characters

###### fullName (String)

The cardholder's full name.

More information:

- Maximum length: 32 characters

###### cardNo (String)

The card number. Specify this parameter only if merchant is PCI DSS Compliance and decrypted the googlePayToken.

More information:

- Maximum length: 32 characters

###### cvv (String)

The card verification value (CVV), which is also known as a card security code (CSC) or a card veirification code (CVC). Specify this parameter only if merchant is PCI DSS Compliance and decrypted the googlePayToken.

For more information about the card region, see [Card brands](https://global.alipay.com/docs/ac/pm/enumeration_values#ZfyuE).

More information:

- Maximum length: 3 characters

###### enableAuthenticationUpgrade (Boolean)

Indicates whether you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. Valid values are:

-   `true`: indicates that you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. The same applies when the value is empty or you do not specify this parameter.
-   `false`: indicates that you do not allow non-3D Secure authentication to be upgraded to 3D Secure authentication.

> **Note**: This parameter is used to salvage some payments that non-3D authentication fails. Specify this parameter as `false` if you do not need this capability.

###### expiryMonth (String)

The month the card expires. Pass in two digits representing the month. For example, if the expiry month is February, the value of this parameter is `02`.

> **Note**: Specify this parameter only if merchant is PCI DSS Compliance and decrypted the googlePayToken.

More information:

- Maximum length: 2 characters

###### expiryYear (String)

The year the card expires. Pass in the last two digits of the year number. For example, if the expiry year is 2025, the value of this parameter is `25`.

> **Note**: Specify this parameter only if merchant is PCI DSS Compliance and decrypted the googlePayToken.

More information:

- Maximum length: 2 characters

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure. Specify this parameter as `false` when the value of _paymentMethodType_ is `GooglePay`. Valid values of this parameter are:

-   `true`: indicates that the transaction authentication type is 3D secure.
-   `false`: indicates that the transaction authentication type is 2D authentication.

###### isCardOnFile (Boolean)

Indicates whether the user's card payment information is stored. Valid values are:

-   `true`: indicates that the user's card payment information is stored.
-   `false`: indicates that the user's card payment information is not stored. The same applies when the value is empty or you do not specify this parameter.

> **Note**: Specify the value of this parameter as `true` when the user pays with a saved card.

###### mpiData (Object)

The MPI (Merchant Plug-In) information.

> **Note**: Specify this parameter if you integrate external 3D MPI.

###### threeDSVersion (String)

The version of 3D Secure protocol. Valid values are:

-   `1.0.2`
-   `2.1.0`
-   `2.2.0`

More information:

- Maximum length: 16 characters

###### cavv (String)

The cardholder authentication value. The value of this parameter can be Cardholder Authentication Verification Value (CAVV) or Authentication Verification Value (AVV).

> **Note**: Specify this parameter when the cardholder passes the 3D Secure authentication.

More information:

- Maximum length: 64 characters

###### dsTransactionId (String)

The unique transaction identifier assigned by the Directory Server (DS) for 3D Secure authentication.

> **Note**: Specify this parameter when 3D Secure authentication is used.

More information:

- Maximum length: 64 characters

###### eci (String)

Electronic Commerce Indicator (ECI) that is returned by the card scheme. This parameter is used to indicate the type of cardholder identity authentication. Valid values are:

-   `02` or `05`: indicates fully authenticated transaction.
-   `01` or `06`: indicates attempted authentication transaction.
-   `00` or `07`: indicates non-3D Secure transaction.

More information:

- Maximum length: 2 characters

###### networkTransactionId (String)

This parameter is used for automated deduction payments. The value of this parameter is the value of the same field that is returned by [**notifyPayment**](https://docs.antom.com/ac/ams/paymentrn_online.md) or [**inquiryPayment**](https://docs.antom.com/ac/ams/paymentri_online.md) for the original payment.

> **Note**: Specify this parameter when the value of _recurringType_ is `SCHEDULED` or `UNSCHEDULED`.

More information:

- Maximum length: 100 characters

###### paymentMethodRegion (String)

The region code that represents the country or region of the payment method. The value of this parameter is a 2-letter [ISO country code](https://www.iso.org/obp/ui/#search) or `GLOBAL`. 

For more information about the card region, see [Card brands](https://docs.antom.com/ac/pm/enumeration_values.md#ZfyuE).

More information:

- Maximum length: 6 characters

###### recurringType (String)

The recurring type for the payment. Valid values are:

-   `SCHEDULED`: indicates a regular automated deduction payment.
-   `UNSCHEDULED`: indicates an irregular automated deduction payment.

If the value of this parameter is empty or you do not specify this parameter, the payment is not an automated deduction and the payer will be included in the payment process.

> **Note**: Specify this parameter when the payment is a merchant-initiated transaction (MIT).

More information:

- Maximum length: 64 characters

###### selectedCardBrand (String)

The card brand that the user used to pay.

More information:

- Maximum length: 64 characters

###### tokenize

#### Deprecated. Use _tokenizeMode_ instead.

###### tokenizeMode (String)

The tokenize mode. Indicates whether card information needs to be stored. When you opt to store card details, the actual information is replaced with a unique and secure token that can be used for future payments. Valid values are:

-   `ENABLED`: indicates that you obtain card binding authorization and want to store card information for future payments.
-   `DISABLED`: indicates that you don’t need to store card information. The same applies when the value is empty or you do not specify this parameter.
-   `ASKFORCONSENT`: indicates that you present a button on the page, allowing the buyer to choose whether or not they want to store the card information.

More information:

- Maximum length: 64 characters

**Scenario: ApplePay** (ApplePay)

###### applePayConfiguration (Object)

ApplePay payment preferences.

###### requiredBillingContactFields (Enum)

Billing information fields that you require from the user to fulfill the order. The valid values are:

-   `name`
-   `postalAddress`

###### requiredShippingContactFields (Enum)

Shipping information fields that you require from the user to fulfill the order. Valid values are:

-   `email`
-   `name`
-   `phone`
-   `postalAddress`

###### buttonsBundled (Boolean)

Indicate whether the ApplePay button is combined with other payment methods. Valid values are:  

-   `true`: Indicates that Apple Pay is bundled with other payment methods;  
-   `false`: Indicates that the Apple Pay button is placed independently at the top of the payment page.

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure. Specify this parameter as `false` when the value of _paymentMethodType_ is `ApplePay`. Valid values of this parameter are:

-   `true`: indicates that the transaction authentication type is 3D secure.
-   `false`: indicates that the transaction authentication type is 2D authentication.

###### billingAddress (Object)

The billing address that is associated with the cardholder's card account.

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

The 2-letter country or region code. For more information, see [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

More information:

- Maximum length: 2 characters

###### state (String)

The state, country, or province name.

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### zipCode (String)

ZIP or postal code.

More information:

- Maximum length: 32 characters

###### paymentMethodRegion (String)

The region code that represents the country or region of the payment method. The value of this parameter is a 2-letter [ISO country code](https://www.iso.org/obp/ui/#search) or `GLOBAL`. 

For more information about the card region, see [Card brands](https://docs.antom.com/ac/pm/enumeration_values.md#ZfyuE)

More information:

- Maximum length: 6 characters

###### tokenizeMode (String)

The tokenize mode. Indicates whether card information needs to be stored. When you opt to store card details, the actual information is replaced with a unique and secure token that can be used for future payments. Valid values are:

-   `ENABLED`: indicates that you obtain card binding authorization and want to store card information for future payments.
-   `DISABLED`: indicates that you don’t need to store card information. The same applies when the value is empty or you do not specify this parameter.
-   `ASKFORCONSENT`: indicates that you present a button on the page, allowing the buyer to choose whether or not they want to store the card information.

More information:

- Maximum length: 64 characters

###### tokenize

Deprecated. Use _tokenizeMode_ instead.

###### isCardOnFile (Boolean)

Indicates whether the user's card payment information is stored. Valid values are:

-   `true`: indicates that the user's card payment information is stored.
-   `false`: indicates that the user's card payment information is not stored. The same applies when the value is empty or you do not specify this parameter.

> **Note**: Specify the value of this parameter as `true` when the user pays with a saved card.

###### recurringType (String)

The recurring type for the payment. Valid values are:

-   `SCHEDULED`: indicates a regular automated deduction payment.
-   `UNSCHEDULED`: indicates an irregular automated deduction payment.

If the value of this parameter is empty or you do not specify this parameter, the payment is not an automated deduction and the payer will be included in the payment process.

> **Note**: Specify this parameter when the payment is a merchant-initiated transaction (MIT).

More information:

- Maximum length: 64 characters

###### networkTransactionId (String)

This parameter is used for automated deduction payments. The value of this parameter is the value of the same field that is returned by [**notifyPayment**](https://docs.antom.com/ac/ams/paymentrn_online.md) or [**inquiryPayment**](https://docs.antom.com/ac/ams/paymentri_online.md) for the original payment.

> **Note**: Specify this parameter when the value of _recurringType_ is `SCHEDULED` or `UNSCHEDULED`.

More information:

- Maximum length: 100 characters

###### selectedCardBrand (String)

The card brand that the user used to pay.

More information:

- Maximum length: 64 characters

###### enableAuthenticationUpgrade (Boolean)

Indicates whether you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. Valid values are:

-   `true`: indicates that you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. The same applies when the value is empty or you do not specify this parameter.

-   `false`: indicates that you do not allow non-3D Secure authentication to be upgraded to 3D Secure authentication.

> **Note**: This parameter is used to salvage some payments that non-3D authentication fails. Specify this parameter as `false` if you do not need this capability.

###### mpiData (Object)

The MPI (Merchant Plug-In) information.

> **Note**: Specify this parameter if you integrate external 3D MPI.

###### threeDSVersion (String)

The version of 3D Secure protocol. Valid values are:

-   `1.0.2`
-   `2.1.0`
-   `2.2.0`

More information:

- Maximum length: 16 characters

###### cavv (String)

The cardholder authentication value. The value of this parameter can be Cardholder Authentication Verification Value (CAVV) or Authentication Verification Value (AVV).

> **Note**: Specify this parameter when the cardholder passes the 3D Secure authentication.

More information:

- Maximum length: 64 characters

###### dsTransactionId (String)

The unique transaction identifier assigned by the Directory Server (DS) for 3D Secure authentication.

> **Note**: Specify this parameter when 3D Secure authentication is used.

More information:

- Maximum length: 64 characters

###### eci (String)

Electronic Commerce Indicator (ECI) that is returned by the card scheme. This parameter is used to indicate the type of cardholder identity authentication. Valid values are:

-   `02` or `05`: indicates fully authenticated transaction.
-   `01` or `06`: indicates attempted authentication transaction.
-   `00` or `07`: indicates non-3D Secure transaction.

More information:

- Maximum length: 2 characters

#### paymentAmount (Amount, REQUIRED)

The payment amount that the merchant requests to receive in the order currency.

##### currency (String, REQUIRED)

The transaction currency, which is a 3-letter currency code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.

More information:

- Maximum length: 3 characters

##### value (Integer, REQUIRED)

The value of the amount as a positive integer 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`. 

For details about the smallest currency unit, see [Smallest unit of the currency](https://global.alipay.com/docs/ac/ref/cc#ONkIe) .

For details about the minimum payment amount allowed for each payment method, see [Minimum amount rules](https://global.alipay.com/docs/ac/ref/cc#q9R5A).

> 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 this parameter as `00`.

More information:

- Value range: 1 - unlimited

#### savedPaymentMethods (Array<PaymentMethod>)

Payment information stored by the buyer in the merchant system.

##### paymentMethodType (String)

The payment method type that is included in payment method options.

> Note: By specifying the value of this parameter, you can receive the checkout link for the specified payment method from APO. See [Payment methods](https://docs.antom.com/ac/apo/payment_methods.md) to check the valid values.

More information:

- Maximum length: 64 characters

##### paymentMethodId (String)

The unique ID that is used to identify a payment method.

More information:

- Maximum length: 128 characters

#### paymentFactor (PaymentFactor)

Factors that impact the payment. This field is used to indicate the payment scenario.

> **Note**: Specify this parameter when the value of _paymentMethodType_ is `CARD` and you integrate the client-side SDK.

##### isAuthorization (Boolean)

Indicates whether the payment scenario is authorization. Valid values of this parameter are:

-   `true`: indicates that the payment scenario is authorization. Under the authorization scenario, the payment funds are guaranteed and held on the payment method side. You can use the [**capture**](https://docs.antom.com/ac/apo/capture_pay.md) API to deduct the payment funds. 
-   `false`: indicates that the payment scenario is a regular payment without authorization.

> **Note**:
>
> -   Specify this parameter when the value of _paymentMethodType_ is `CARD` and you integrate the client-side SDK.   
> -   In APO Checkout page scenario, specify this parameter as `true`.

##### captureMode (String)

Indicates the method for capturing funds after the user authorizes the payment. Valid values are:

-   `AUTOMATIC`: indicates that APO automatically captures the funds after the authorization. The same applies when the value is empty or you do not pass in this parameter.
-   `MANUAL`: indicates that you manually capture the funds by calling the [**capture**](https://global.alipay.com/docs/ac/apo/capture_pay) API.

> **Note**: Specify this parameter if you want to designate the capture mode of the payment.

More information:

- Maximum length: 64 characters

#### paymentMethod (PaymentMethod, REQUIRED)

The payment method that is used to collect the payment by the merchant or acquirer.

##### paymentMethodType (String, REQUIRED)

The payment method type that is included in payment method options. The value of this parameter is fixed as `CARD`.

More information:

- Maximum length: 64 characters

##### paymentMethodId (String, REQUIRED)

The unique ID that is used to identify a payment method. The value of this parameter is that of _cardToken_ obtained from the [**notifyPayment**](https://global.alipay.com/docs/ac/apo/paymentrn_online) or [**inquiryPayment**](https://global.alipay.com/docs/ac/apo/paymentri_online) API.

> **Note**: Specify this parameter when the value of _paymentMethodType_ is `CARD`.

More information:

- Maximum length: 128 characters

##### paymentMethodMetaData (PaymentMethodMetaData, REQUIRED)

Additional information required for some specific payment methods.

> **Note**: Specify this parameter when the value of _paymentMethodType_ is `CARD`.

**Scenario: Card** (Card)

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure.

> **Note**:
>
> Specify this parameter when the value of _paymentMethodType_ is `CARD`. Valid values of this parameter are:
>
> -   `true`: indicates that the transaction authentication type is 3D secure.
> -   `false`: indicates that the transaction authentication type is 2D authentication.
>
> If the value of this parameter is empty or the parameter is not passed, the transaction authentication type is determined by the acquirer.

###### cardNo (String)

The card number.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   You collect this information during the payment process.

More information:

- Maximum length: 32 characters

###### cvv (String)

The card verification value (CVV), which is also known as a card security code (CSC) or a card veirification code (CVC).

> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   The value of _paymentMethodRegion_ is `GLOBAL`, `BR`, `CL`, `MX`, or `PE`.  
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 3 characters

###### expiryYear (String)

The year the card expires. Pass in the last two digits of the year number. For example, if the expiry year is 2025, the value of this parameter is `25`.

> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`. 
> -   You collect this information during the payment process.

More information:

- Maximum length: 2 characters

###### expiryMonth (String)

The month the card expires. Pass in two digits representing the month. For example, if the expiry month is February, the value of this parameter is `02`.

> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`. 
> -   You collect this information during the payment process.

More information:

- Maximum length: 2 characters

###### cardholderName (UserName)

The cardholder's name.

> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   The value of _paymentMethodRegion_ is `BR`, `CL`, `MX`, or `PE`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

###### firstName (String, REQUIRED)

The cardholder's first name.

More information:

- Maximum length: 32 characters

###### middleName (String)

The cardholder's middle name.

More information:

- Maximum length: 32 characters

###### lastName (String, REQUIRED)

The cardholder's last name.

More information:

- Maximum length: 32 characters

###### fullName (String)

The cardholder's full name.

More information:

- Maximum length: 128 characters

###### billingAddress (Address)

The billing address that is associated with the cardholder's card account.

> **Note**: Specify this parameter when _paymentMethodType_ is `CARD` and you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

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

The 2-letter country or region code. For more information, see [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

> For card payments, if your business entity is in the United States, and the card issuing country is in Canada, the United States, or the United Kingdom, set the value to a region code that consists of two to three characters and follows the ISO 3611-2 standard.

More information:

- Maximum length: 2 characters

###### state (String)

More information:

- Maximum length: 8 characters

###### city (String)

The city, district, suburb, town, or village name.

More information:

- Maximum length: 32 characters

###### address1 (String)

Address line 1, for example, the street address, PO box, and company name.

More information:

- Maximum length: 256 characters

###### address2 (String)

Address line 2, for example, the apartment, suite, unit, and building information.

More information:

- Maximum length: 256 characters

###### zipCode (String)

The ZIP or postal code.

> For card payments, if your business entity is in the United States, specify this parameter according to the following parameter value requirements:
>
> -   Only contains numbers, letters, hyphens, and spaces.
> -   Must be within ten characters.

More information:

- Maximum length: 32 characters

###### cpf (String)

The Cadastro Pessoal de Pessoa Física (CPF) is the tax ID of the Brazilian individual taxpayer.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   When the value _paymentMethodRegion_ is `BR`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 11 characters

###### dateOfBirth (String)

The date of birth of the cardholder. The value of this parameter is an 8-digit date of birth in the format of `YYYY-MM-DD` that follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard. For example, `1971-06-07` means the cardholder's birthday is June 7, 1971.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   The value of _paymentMethodRegion_ is `KR`.
> -   The card is a personal card.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 8 characters

###### businessNo (String)

The business number of the company that holds the corporate card. The value of this parameter is a 10-digit business number, such as `97XXXXXX11`.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   The value of _paymentMethodRegion_ is `KR`.
> -   The card is a corporate card.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 10 characters

###### cardPasswordDigest (String)

The first two digits of the card payment password.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   You have the PCI qualification.
> -   The value of _paymentMethodType_ is `CARD`.
> -   The value of _paymentMethodRegion_ is `KR`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 2 characters

###### paymentMethodRegion (String)

The region code that represents the country or region of the payment method. The value of this parameter is a 2-letter [ISO country code](https://www.iso.org/obp/ui/#search) or `GLOBAL`.

> **Note**: Specify this parameter when the card is a dual currency card. If you do not specify this parameter, APO makes an intelligent decision for you based on the payment success rate and other factors.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 6 characters

###### payerEmail (Email)

The email address of the buyer.

> **Note**:
>
> Specify this parameter when all the following conditions are met:
>
> -   _paymentMethodType_ is `CARD`.
> -   _paymentMethodRegion_ is `BR`, `CL`, `MX`, or `PE`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb).

More information:

- Maximum length: 64 characters

###### isCardOnFile (Boolean)

Indicates whether the user's card payment information is stored. Valid values are:

-   `true`: indicates that the user's card payment information is stored.
-   `false`: indicates that the user's card payment information is not stored. The same applies when the value is empty or you do not specify this parameter.

> **Note**: Specify the value of this parameter as `true` when the user pays with a saved card.

###### recurringType (String)

The recurring type for the payment. Valid values are:

-   `SCHEDULED`: indicates a regular automated deduction payment.
-   `UNSCHEDULED`: indicates an irregular automated deduction payment.

If the value of this parameter is empty or you do not specify this parameter, the payment is not an automated deduction and the payer will be included in the payment process.

> **Note**: Specify this parameter when the payment is a merchant-initiated transaction (MIT).

More information:

- Maximum length: 64 characters

###### networkTransactionId (String)

This parameter is used for automated deduction payments. The value of this parameter is the value of the same field that is returned by [**notifyPayment**](https://global.alipay.com/docs/ac/apo/paymentrn_online) or [**inquiryPayment**](https://global.alipay.com/docs/ac/apo/paymentri_online) for the original payment.

> **Note**: Specify this parameter when the value of _recurringType_ is `SCHEDULED` or `UNSCHEDULED`.

More information:

- Maximum length: 100 characters

###### selectedCardBrand (String)

The card brand that the user used to pay. See [Card brands](https://docs.antom.com/ac/apo/payment_methods.md#sGklb) to check the valid values.

> **Note**: Specify this parameter when the card is a dual currency card. If you do not specify this parameter, APO decides which card brand the user uses to pay based on the payment success rate and other factors.

More information:

- Maximum length: 64 characters

###### enableAuthenticationUpgrade (Boolean)

Indicates whether you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. Valid values are:

-   `true`: indicates that you allow non-3D Secure authentication to be upgraded to 3D Secure authentication. The same applies when the value is empty or you do not specify this parameter.
-   `false`: indicates that you do not allow non-3D Secure authentication to be upgraded to 3D Secure authentication.

> **Note**: This parameter is used to salvage some payments that non-3D authentication fails. Specify this parameter as `false` if you do not need this capability.

###### mpiData (MpiData)

The MPI (Merchant Plug-In) information.

> **Note**: Specify this parameter if you integrate external 3D MPI.

###### threeDSVersion (String, REQUIRED)

The version of 3D Secure protocol. Valid values are:

-   `1.0.2`
-   `2.1.0`
-   `2.2.0`

More information:

- Maximum length: 16 characters

###### cavv (String)

The cardholder authentication value. The value of this parameter can be Cardholder Authentication Verification Value (CAVV) or Authentication Verification Value (AVV).

> **Note**: Specify this parameter when the cardholder passes the 3D Secure authentication.

More information:

- Maximum length: 64 characters

###### dsTransactionId (String)

The unique transaction identifier assigned by the Directory Server (DS) for 3D Secure authentication.

> **Note**: Specify this parameter when 3D Secure authentication is used.

More information:

- Maximum length: 64 characters

###### eci (String, REQUIRED)

Electronic Commerce Indicator (ECI) that is returned by the card scheme. This parameter is used to indicate the type of cardholder identity authentication. Valid values are:

-   `02` or `05`: indicates fully authenticated transaction.
-   `01` or `06`: indicates attempted authentication transaction.
-   `00` or `07`: indicates non-3D Secure transaction.

More information:

- Maximum length: 2 characters

###### passThroughMetadata (String)

A set of key-value pairs that indicate your additional and custom information about the transaction.

> **Note**: Specify this parameter if you want to provide more information about the transaction to your acquirer.

More information:

- Maximum length: 2048 characters

#### paymentRedirectUrl (URL, REQUIRED)

The merchant page URL that the user is redirected to after the payment is completed.

More information:

- Maximum length: 2048 characters

#### paymentNotifyUrl (URL, REQUIRED)

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

> **Note**: Specify this parameter if you want to receive an asynchronous notification of the payment result. You can also set the URL to receive the result notification in APO Dashboard. If the URL is specified in both the request and APO Dashboard, the value specified in the request takes precedence.

More information:

- Maximum length: 2048 characters

#### settlementStrategy (SettlementStrategy, REQUIRED)

The settlement strategy for the payment request.

##### settlementCurrency (String)

The ISO currency code of the currency that the merchant wants to be settled against. The field is required if the merchant signed up for multiple currencies to settle.

More information:

- Maximum length: 3 characters

#### enableInstallmentCollection (Boolean)

Indicates whether APO collects the installment information for the payment.

> **Note**:
>
> Specify this parameter if you need Antom to collect the installment information. Valid values are:
>
> -   `true`: indicates APO collects installment information when the user's card supports installments. Installments are not available when the user's card does not support installments.
> -   `false`: indicates you do not need APO to collect the installment information. The same applies when the value is empty or you do not specify this parameter.

#### creditPayPlan (CreditPayPlan)

The credit payment plan information for this payment.

> **Note**: Specify this parameter when the payment supports installments and you specify the card-related information in _paymentMethod.paymentMethodMetaData_.

##### installmentNum (String, REQUIRED)

The number of installments. The valid value is from `2` to `12`.

More information:

- Maximum length: 8 characters

##### creditPayFeeType (String)

The value of this field is `PERCENTAGE`, which indicates that the fee is described in percentage with 1 - 3 digits. For example, 5 means 5%, 100 means 100%.

Note: Specify this field when you want the fee information to be expressed in percentage.

##### feePercentage (Integer)

This field is determined by the sellers' liability. For example, `0` indicates the seller is not liable for any fee. `100` indicates the seller pays 100% of the fee.

> **Note**: Specify this field when the value of _creditPayFeeType_ is `PERCENTAGE`.

More information:

- Value range: 0 - 100

#### productCode (String, REQUIRED)

Represents the payment product that is being used, which is stipulated in the contract. For One-time Payments, the value is fixed as `CASHIER_PAYMENT`.

#### merchantRegion (String)

The country or region where the merchant operates the business. The parameter is a 2-letter country or region code that follows [ISO 3166 Country Codes](https://www.iso.org/obp/ui/#search) standard.

Some possible values are `US`, `SG`, `HK`, `PK`, `JP`, `CN`, `BR`, `AU`, and `MY`.

> **Note**: This parameter is required when you use the Global Acquirer Gateway (GAGW) product.

More information:

- Maximum length: 2 characters

#### locale (String)

Language tag specified for the Checkout Page. If this field is empty or set to automatic, the default language setting of the browser will be used, which is usually English.

More information:

- Maximum length: 8 characters

#### env (Env)

Information about the environment where the order is placed.

> **Note**: Specify this parameter when you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

##### clientIp (String, REQUIRED)

The IP address of the client device.

> **Note**: Specify this parameter when you require risk control. Providing this information helps to increase the accuracy of anti-money laundering and fraud detection, and increase payment success rates.

More information:

- Maximum length: 64 characters

#### paymentSessionExpiryTime (Datetime)

The specific date and time after which the payment session will expire. The default expiration time is 1 hour after the session creation. For example, if the session is created at 2023-7-27T12:00:01+08:30, the session expiration time is 2023-7-27T13:00:01+08:30.

> **Note**: Specify this parameter if you want to use a payment session expiration time that differs from the default time. The specified expiration time must be 0 to 1 hour after session creation.

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".

#### riskData (RiskData)

The data used by Ant Group for risk control purposes.

> **Note**: Specify this parameter to use APO's risk control capabilities.

##### order (Order)

The order information used for risk control purposes.

###### orderType (String)

The order type. Valid values are:

-   `SELF_PICK`: indicates a self-pick-up order.
-   `TAKE_OUT`: indicates a take-out order.
-   `GROUP`: indicates a group order.

More information:

- Maximum length: 64 characters

###### referringSite (String)

The webpage where the buyer accessed the merchant.

More information:

- Maximum length: 64 characters

##### buyer (Buyer)

The buyer information used for risk control purposes.

###### noteToMerchant (String)

The buyer's note to a merchant.

More information:

- Maximum length: 128 characters

###### noteToShipping (String)

The buyer's note to a deliveryman or a take-out rider.

More information:

- Maximum length: 128 characters

###### orderCountIn1H (Integer)

The successful orders the buyer made within the last one hour.

More information:

- Maximum length: 32 characters

###### orderCountIn24H (Integer)

The successful orders the buyer made within the last 24 hour.

More information:

- Maximum length: 32 characters

##### env (Env)

The environment information used for risk control purposes.

###### ipAddressType (String)

The type of an IP address, such as an address that belongs to a school, a mobile service provider, or a cloud service provider.

More information:

- Maximum length: 64 characters

##### riskSignal (RiskSignal)

The information provided by a merchant to identify a risky transaction.

###### riskCode (String)

The tag assigned by a merchant to a risky transaction.

More information:

- Maximum length: 64 characters

###### riskReason (String)

The reason why a transaction is identified as risky provided by a merchant.

More information:

- Maximum length: 64 characters

##### address (Address)

The address information used for risk control purposes.

###### shippingPhoneType (String)

The type of the receiver's phone number. Valid values are:

-   `VIRTUAL`: indicates a virtual phone number.
-   `REAL`: indicates a real phone number.

More information:

- Maximum length: 64 characters

###### isBillShipStateSame (Boolean)

Indicates whether the billing state is the same as the shipping state. Valid values are:

-   `true`: The billing state is the same as the shipping state.
-   `false`: The billing state is not the same as the shipping state.

###### isPreviousStateSame (Boolean)

Indicates whether a previous billing state is the same as the shipping state.

-   `true`: A previous billing state is the same as the shipping state.
-   `false`: No previous billing state is the same as the shipping state.

###### locToShipDistance (Integer)

The distance in meters between the buyer's location and their shipping address.

More information:

- Maximum length: 32 characters

###### minPreviousShipToBillDistance (Integer)

The minimum distance in meters between the buyer's previous shipping address and their billing address.

More information:

- Maximum length: 32 characters

##### cardVerificationResult (CardVerificationResult)

The verification method that a merchant uses for a card payment.

###### authenticationType (String)

Authentication type. Valid values are:

-   `3D`: This transaction has undergone 3D verification.
-   `NON_3D`: This transaction has not undergone 3D verification.

More information:

- Maximum length: 16 characters

###### authenticationMethod (String)

The authentication method that a merchant uses for a card payment. Valid values are:

-   `3D`: indicates that a merchant uses 3DS secure authentication for a card payment.
-   `AVS`: indicates that a merchant uses an AVS check for a card payment.
-   `CVV`: indicates that a merchant uses a CVV check for a card payment.
-   `4FA`: indicates that a merchant uses 4 Factors Authentication for a card payment. The four factors are the cardholder's card number, name, ID number and phone number.

###### cvvResult (String)

The verification result of the card verification value (CVV), which is also known as a card security code (CSC) or a card verification code (CVC).

> Note: Specify this parameter when you have the PCI qualification.

More information:

- Maximum length: 64 characters

###### avsResult (String)

The address verification result.

More information:

- Maximum length: 64 characters

###### authorizationCode (String)

The authorization code granted by the payment method provider for a successful 3D authentication.

More information:

- Maximum length: 64 characters

###### threeDSResult (ThreeDSResult)

The result of 3D Secure authentication.

###### threeDSVersion (String)

The version of 3D Secure protocol. Valid values are:

-   `1.0.2`
-   `2.1.0`
-   `2.2.0`

More information:

- Maximum length: 16 characters

###### threeDSInteractionMode (String)

Indicates the type of user interactions during 3DS 2.0 authentication. Valid values are:

-   `FRICTIONLESS`: indicates that the buyer is not challenged during the authentication.
-   `CHALLENGE`: indicates that the buyer is challenged during the authentication.

More information:

- Maximum length: 64 characters

###### cavv (String)

The cardholder authentication value. The value of this parameter can be Cardholder Authentication Verification Value (CAVV) or Authentication Verification Value (AVV).

More information:

- Maximum length: 64 characters

###### eci (String)

Electronic Commerce Indicator (ECI) that is returned by the card scheme. This parameter is used to indicate the type of cardholder identity authentication. Valid values are:

-   `02` or `05`: indicates fully 3D Secure authenticated transaction.
-   `01` or `06`: indicates attempted 3D Secure authentication transaction.
-   `00` or `07`: indicates non-3D Secure transaction.

More information:

- Maximum length: 2 characters

## Response parameters

#### result (Result, REQUIRED)

The result of the API call.

##### resultCode (String, REQUIRED)

Result codes. The result code that might be returned are listed in the **Result/Error codes** table on this page.

More information:

- Maximum length: 64 characters

##### resultStatus (String, REQUIRED)

Result status. Valid values are:

-   `S`: Indicates that the result status is successful.
-   `F`: Indicates that the result status is failed. 
-   `U`: Indicates that the result status is unknown.

##### resultMessage (String, REQUIRED)

Result message that explains the result code.

More information:

- Maximum length: 256 characters

#### paymentSessionId (String, REQUIRED)

The encrypted ID that is assigned by APO to identify a payment session.

More information:

- Maximum length: 64 characters

#### paymentSessionData (String, REQUIRED)

The encrypted payment session data. Pass the data to your front end to initiate the client-side SDK.

More information:

- Maximum length: 4096 characters

#### paymentSessionExpiryTime (Datetime, REQUIRED)

The specific date and time after which the payment session will expire.

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".

#### normalUrl (String)

The URL used to redirect to the Checkout Page.

More information:

- Maximum length: 2048 characters

## More information

About the _order_ field: APO does not verify the consistency of the amount in the _order_ field and the amount in the payment request. The order information is not applied in fund operations either. This field is mainly used for risk control, supervision, regulatory reporting, and consumption records display.

#BUTTON#Sample for the order field#
{
 "order": {
 "referenceOrderId": "102775745075669",
 "orderDescription": "Mi Band 3 Wrist Strap Metal Screwless Stainless Steel For Xiaomi Mi Band 3 ",
 "orderAmount": {
 "value": "500",
 "currency": "USD"
        },
 "goods": \[{
 "referenceGoodsId": "102775745075669",
 "goodsName": "xxx goods",
 "goodsUnitAmount": {
 "currency": "USD",
 "value": "498"
            },
 "goodsQuantity": "1"
        }\],
 "shipping": {
 "shippingName": {
 "fullName": "Bob Day"
            },
 "shippingAddress": {
 "region": "US",
 "state": "California",
 "city": "San Mateo",
 "address1": "400 El Camino Real",
 "address2": "suit 107",
 "zipCode": "95014"
            },
 "shippingCarrier": "USPS",
 "shippingPhoneNo": "9093749555"
        },
 "buyer": {
 "referenceBuyerId": "bob@gmail.com",
 "buyerName": {
 "fullName": "Bob Day"
            },
 "buyerPhoneNo": "+86 18888888888",
 "buyerEmail": "bob@gmail.com"
        }
    }
}

## Result/Error codes

| Code | Value | Message | Further action |
| --- | --- | --- | --- |
| SUCCESS | S | Success | The payment session is successfully created. No further action is needed. |
| PARAM_ILLEGAL | F | The required parameters are not passed, or illegal parameters exist. For example, a non-numeric input, an invalid date, or the length and type of the parameter are wrong. | Check and verify whether the required request fields (including the header fields and body fields) of the current API are correctly passed and valid. |
| PROCESS_FAIL | F | A general business failure occurred. | Do not retry. Human intervention is usually needed. It is recommended that you contact APO Technical Support to troubleshoot the issue. |
| NO_PAY_OPTIONS | F | The currency is not supported for the transaction. | Check whether the currency is supported by the payment method, or check whether the payment method and currency are consistent with the contract. Contact APO Technical Support for detailed reasons. |
| CARD_NOT_SUPPORTED | F | The card used for the transaction is not supported. | Use another card to pay the transaction. |
| UNKNOWN_EXCEPTION | U | An API call has failed, which is caused by unknown reasons. | Call the interface again to resolve the issue. If not resolved, contact APO Technical Support. |

## Request

### ALIPAY_COLLECTS_CARD_INFORMATION

```json
{
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "55bf93a6-71a1-4ca9-b014-53273bd674eb",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902e18c",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "BRL",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda",
      "buyerPhoneNo": "134******71"
    }
  },
  "paymentAmount": {
    "currency": "BRL",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD",
    "paymentMethodMetaData": {
      "paymentMethodRegion": "BR"
    }
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "112.80.248.78"
  },
  "settlementStrategy": {
    "settlementCurrency": "EUR"
  }
}
```

### CARD_PAYMENT_WITH_CARDTOKEN

```json
{
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "55bf93a6-71a1-4ca9-b014-53273bd6****",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902****",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "BRL",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda****",
      "buyerPhoneNo": "1346667****"
    }
  },
  "paymentAmount": {
    "currency": "BRL",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD",
    "paymentMethodId": "d864805f318846c1aeb8"
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "112.80.248.78"
  },
  "settlementStrategy": {
    "settlementCurrency": "EUR"
  }
}
```

### CARD_PAYMENT_USING_AUTHENTICATION_UPGRADE

```json
{
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "55bf93a6-71a1-4ca9-b014-53273bd6****",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902****",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "EUR",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda****",
      "buyerPhoneNo": "1346667****"
    }
  },
  "paymentAmount": {
    "currency": "EUR",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD",
    "paymentMethodMetaData": {
      "isCardOnFile": true,
      "enableAuthenticationUpgrade": true,
      "is3DSAuthentication": true,
      "cvv": "850",
      "cardholderName": {
        "firstName": "Tom",
        "lastName": "Jay"
      },
      "expiryMonth": "12",
      "billingAddress": {
        "zipCode": "310000",
        "address2": "Xihu",
        "city": "Hangzhou",
        "address1": "Wuchang road",
        "state": "Zhejiang",
        "region": "CN"
      },
      "expiryYear": "29",
      "cardNo": "411734780615****"
    }
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "112.80.248.78"
  },
  "settlementStrategy": {
    "settlementCurrency": "EUR"
  }
}
```

### CARD_PAYMENT_USING_CARD_PAYMENT_PROTECTION

```json
{
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "55bf93a6-71a1-4ca9-b014-53273bd674eb",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902e18c",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "BRL",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda",
      "buyerPhoneNo": "134******71"
    }
  },
  "paymentAmount": {
    "currency": "BRL",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD",
    "paymentMethodMetaData": {
      "paymentMethodRegion": "BR"
    }
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "112.80.248.78"
  },
  "settlementStrategy": {
    "settlementCurrency": "EUR"
  },
  "riskData": {
    "address": {
      "billShipStateSame": true,
      "locToShipDistance": "1000",
      "minPreviousShipToBillDistance": "3000",
      "previousStateSame": true,
      "shippingPhoneType": "REAL"
    },
    "buyer": {
      "noteToMerchant": "note to merchant...",
      "noteToShipping": "note to shipping...",
      "orderCountIn1H": "100",
      "orderCountIn24H": "500"
    },
    "cardVerificationResult": {
      "authenticationMethod": "AVS",
      "authenticationType": "NON_3D",
      "authorizationCode": "123456",
      "avsResult": "123456",
      "cvvResult": "123456",
      "threeDSResult": {
        "cavv": "123456",
        "eci": "02",
        "threeDSInteractionMode": "FRICTIONLESS",
        "threeDSVersion": "1.0.2"
      }
    },
    "env": {
      "ipAddressType": "1.1.1.1"
    },
    "order": {
      "orderType": "SELF_PICK",
      "referringSite": "www.weburl.com"
    },
    "riskSignal": {
      "riskCode": "123",
      "riskReason": "risk reason"
    }
  }
}
```

### PAYMENT_WITH_CKP

```json
{
  "order": {
    "extendInfo": {
      "chinaExtraTransInfo": {
        "businessType": "5",
        "otherBusinessType": "5"
      }
    },
    "buyer": {
      "buyerPhoneNo": "12344445555"
    },
    "goods": [],
    "orderAmount": {
      "currency": "USD",
      "value": "20000"
    },
    "orderDescription": "AMSDM_GIFT",
    "referenceOrderId": "{{$guid}}"
  },
  "paymentAmount": {
    "currency": "USD",
    "value": "20000"
  },
  "paymentNotifyUrl": "https://www.baidu.com",
  "paymentRedirectUrl": "https://www.baidu.com",
  "paymentRequestId": "paymentRequestId_1001083243",
  "productCode": "CASHIER_PAYMENT",
  "settlementStrategy": {
    "settlementCurrency": "USD"
  },
  "productScene": "CHECKOUT_PAYMENT",
  "locale": "en_US",
  "availablePaymentMethod": {
    "paymentMethodTypeList": [
      {
        "paymentMethodType": "ALIPAY_CN",
        "expressCheckout": true,
        "paymentMethodOrder": "0"
      },
      {
        "paymentMethodType": "TRUEMONEY",
        "expressCheckout": false,
        "paymentMethodOrder": "1"
      }
    ]
  }
}
```

## Response

### SUCCESS

```json
{
  "paymentSessionData": "UNvjVWnWPXJA4BgW+vfjsQj7PbOraafHY19X+6EqMz6Kvvmsdk+akdLvoShW5avHX8e8J15P8uNVEf/PcCMyXg==&&SG&&111",
  "paymentSessionExpiryTime": "2023-04-06T03:28:49+08:00",
  "paymentSessionId": "UNvjVWnWPXJA4BgW+vfjsQj7PbOraafHY19X+6EqMz6Ikyj9FPVUOpv+DjiIZqMe",
  "result": {
    "resultCode": "SUCCESS",
    "resultMessage": "success.",
    "resultStatus": "S"
  }
}
```

### RESPONSE_FOR_CKP

```json
{
  "normalUrl": "https://checkout.antom.com/checkout-page/pages/payment/index.html?sessionData=RR9jlB6eSxj0pD7a1ReLmIi58iTrUUnX2CF9sfjF3ivmQ%2Fq4RlL5jS21ySEsCtq0DbY9gsUpiQj5v5Fb2VQGmA%3D%3D%26%26SG%26%26188%26%26eyJleHRlbmRJbmZvIjoie1wiT1BFTl9NVUxUSV9QQVlNRU5UX0FCSUxJVFlcIjpcInRydWVcIixcImRpc3BsYXlMYXlvdXRcIjpcIkxFRlRfT1JERVJfQU5EX1JJR0hUX1BBWU1FTlRcIixcInRoZW1lVHlwZVwiOlwiQ1VTVE9NSVpFXCIsXCJsb2NhbGVcIjpcImVuX1VTXCIsXCJkaXNwbGF5QW50b21Mb2dvXCI6XCJ0cnVlXCJ9IiwicGF5bWVudFNlc3Npb25Db25maWciOnsicGF5bWVudE1ldGhvZENhdGVnb3J5VHlwZSI6IkFMTCIsInByb2R1Y3RTY2VuZSI6IkNIRUNLT1VUX1BBWU1FTlQiLCJwcm9kdWN0U2NlbmVWZXJzaW9uIjoiMS4wIn0sInNlY3VyaXR5Q29uZmlnIjp7ImFwcElkIjoiIiwiYXBwTmFtZSI6Ik9uZUFjY291bnQiLCJiaXpUb2tlbiI6IjZUY2RicjJyRjNyUFl4NGhrVnJIcWJ2aiIsImdhdGV3YXkiOiJodHRwczovL2ltZ3Mtc2VhLmFsaXBheS5jb20vbWd3Lmh0bSIsImg1Z2F0ZXdheSI6Imh0dHBzOi8vb3Blbi1zZWEtZ2xvYmFsLmFsaXBheS5jb20vYXBpL29wZW4vcmlza19jbGllbnQiLCJ3b3JrU3BhY2VJZCI6IiJ9LCJza2lwUmVuZGVyUGF5bWVudE1ldGhvZCI6ZmFsc2V9",
  "paymentSessionExpiryTime": "2025-01-14T20:53:03+08:00",
  "paymentSessionId": "oj9R4qBK7tNCbW3A75sjYvvjkWCXxg4QCpj/19XUo5oAoolPk1BEQE+527EBpC5W",
  "result": {
    "resultCode": "SUCCESS",
    "resultMessage": "success.",
    "resultStatus": "S"
  }
}
```