# createPaymentSession (One-time Payments)

> The API is used to create a payment session for client-side SDK integration. Through this API response, Antom 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.

`POST /v1/payments/createPaymentSession`

The API is used to create a payment session for client-side SDK integration. Through this API response, Antom 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

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

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

##### terminalType (String)

Terminal type of which the merchant service applies to. Valid values are:

-   `WEB`: The client-side terminal type is a website, which is opened via a PC browser.
-   `WAP`: The client-side terminal type is an H5 page, which is opened via a mobile browser.
-   `APP`: The client-side terminal type is a mobile application.

##### osType (String)

Type of the operation system. Valid values are:

-   `IOS`: indicates the operation system is Apple's iOS.
-   `ANDROID`: indicates the operation system is Google's Android.

> **Note**: Specify this field when _terminalType_ is not `WEB`.

##### clientIp (String)

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

#### order (Order, REQUIRED)

The order information, such as buyer, merchant, goods, amount, shipping information, and purchase environment.

This parameter is used for different purposes:

-   During the payment process, this parameter is mainly used by Antom for risk control or anti-money laundering.
-   After the payment is completed, this parameter 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 parameter 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.

For the supported currencies of each payment method, please refer to [Supported payment methods](https://docs.antom.com/ac/pm/supported_pm.md).

More information:

- Maximum length: 3 characters

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

The amount to charge as a positive integer in the smallest currency unit.

If the currency is `USD` and the amount is $1.00, then set the value of this parameter to `100`. If the currency is `JPY` and the amount is ¥1, then set the value of this parameter to `1`.

> **Note**:
>
> -   For details about the smallest currency unit, see [Smallest unit of the currency](https://docs.antom.com/ac/ref/cc.md#ONkIe).
> -   If the _order.goods_ parameter is specified, the total order amount must equal the sum of each item's unit amount multiplied by its quantity. The formula is as follows: Σ(goods\[i\].goodsUnitAmount.value × goods\[i\].goodsQuantity) = order.orderAmount.value

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 parameter 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 when one of the following conditions is met:
>
> -   When you require risk control.
> -   This parameter is required when the value of _paymentMethodType_ is `TAMARA_AE` or `TAMARA_SA`.
>
> 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

###### goodsCategory (String)

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 when one of the following conditions is met:
>
> -   When you require risk control.
> -   This parameter is required when the value of _paymentMethodType_ is `TAMARA_AE` or `TAMARA_SA`.
>
> 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

###### goodsUnitAmount (Amount)

Price of goods.

> **Note**: Specify this parameter when one of the following conditions is met:
>
> -   When you require risk control.
> -   This parameter is required when the value of _paymentMethodType_ is `TAMARA_AE` or `TAMARA_SA`.
>
> 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://docs.antom.com/ac/ref/cc.md#ONkIe).

More information:

- Value range: 1 - unlimited

###### goodsQuantity (Integer)

Quantity of goods.

> **Note**: Specify this parameter when one of the following conditions is met:
>
> -   When you require risk control.
> -   This parameter is required when the value of _paymentMethodType_ is `TAMARA_AE` or `TAMARA_SA`.
>
> 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 when one of the following conditions is met:
>
> -   When you require risk control.
> -   This parameter is required when the value of _paymentMethodType_ is `TAMARA_AE` or `TAMARA_SA`.
>
> Providing this information helps to identify black-market behavior.

More information:

- Maximum length: 2048 characters

###### deliveryMethodType (String)

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.

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

###### priceId (String)

The ID of the Price object. One of `priceId` or `referenceGoodsId` is required.

More information:

- Maximum length: 64 characters

###### adjustableQuantity (Object)

The item’s quantity to be adjusted by the user during Checkout page.

> **Note**：Please specify this field when `priceId` has vaule.

###### maximum (Integer)

The maximum quantity the user can adjust during the Checkout page.

More information:

- Value range: [0, 99999]

###### minimum (Integer)

The minimum quantity the user can adjust during the Checkout page.

More information:

- Value range: [0, 1]

##### shipping (Shipping)

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

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. 

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. 

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.

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

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

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)

The phone number of a recipient (including extension).

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.

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

###### shippingFeeId (String)

The ID of the shipping fee used for identifying the shipping option.

More information:

- Maximum length: 64 characters

###### shippingFee (Object)

The shipping fee.

###### 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).

More information:

- Value range: [0, +∞)

###### shippingDescription (String)

Extended information about logistics-related services, including shipping time, logistics companies, etc.

More information:

- Maximum length: 64 characters

###### deliveryEstimate (Object)

Estimated shipping time range.

###### maximum (Object)

Estimated longest shipping time for logistics services.

###### unit (String, REQUIRED)

Units for the longest shipping time of logistics services. The valid values include:

-   `YEAR`: Indicates that the shortest shipping time unit for logistics services is in years.
-   `MONTH`: Indicates that the shortest shipping time unit for logistics services is in months.
-   `DAY`: Indicates that the shortest shipping time unit for logistics services is in days.
-   `HOUR`: Indicates that the shortest shipping time unit for logistics services is in hours.
-   `MINUTE`: Indicates that the shortest shipping time unit for logistics services is in minutes.
-   `SECOND`: Indicates that the shortest shipping time unit for logistics services is in seconds.

More information:

- Maximum length: 16 characters

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

Estimated value for the longest shipping time of logistics services.

More information:

- Value range: [0, +∞)

###### minimum (Object)

Estimated shortest shipping time for logistics services.

###### unit (String, REQUIRED)

Units for the shortest shipping time of logistics services. The valid values include:

-   `YEAR`: Indicates that the shortest shipping time unit for logistics services is in years.
-   `MONTH`: Indicates that the shortest shipping time unit for logistics services is in months.
-   `DAY`: Indicates that the shortest shipping time unit for logistics services is in days.
-   `HOUR`: Indicates that the shortest shipping time unit for logistics services is in hours.
-   `MINUTE`: Indicates that the shortest shipping time unit for logistics services is in minutes.
-   `SECOND`: Indicates that the shortest shipping time unit for logistics services is in seconds.

More information:

- Maximum length: 16 characters

###### value (Integer)

Estimated value for the shortest shipping time of logistics services.

More information:

- Value range: [0, +∞)

##### buyer (Buyer)

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

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)

The unique ID to identify the buyer.

Specify this parameter:

-   When you require risk control.
-   When 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.

More information:

- Maximum length: 64 characters

###### buyerName (UserName)

The name of the buyer. 

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

###### buyerPhoneNo (String)

The mobile phone number of the buyer.

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.

More information:

- Maximum length: 24 characters

###### buyerEmail (Email)

The email of the buyer.

Specify this parameter:

-   When you require risk control.
-   When 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.

More information:

- Maximum length: 64 characters

###### buyerRegistrationTime (Datetime)

The time when the buyer registered your account. 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
- 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.

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.

###### agentCode (String)

International Air Transport Association (IATA) code for the travel agency that made the reservation.

More information:

- Maximum length: 8 characters

###### agentName (String)

The name of the travel agency that made the reservation.

More information:

- Maximum length: 32 characters

###### ticketNumber (String)

A unique identifier for the ticket, typically formatted as IATA 3-letter airline code followed by a 10-digit number assigned by the airline.

More information:

- Maximum length: 15 characters

###### ticketIssuerCode (String)

Unique IATA 2-letter airline code identifying the organization or entity that issued the ticket.

More information:

- Maximum length: 2 characters

###### restrictedTicketIndicator (String)

Indicates whether the ticket is refundable. Valid values include:

-   `0`: Indicates the ticket is refundable.
-   `1`: Indicates the ticket is not refundable.

More information:

- Maximum length: 2 characters

###### 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)

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

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

###### departureAirportCode (String)

IATA code for the originating airport for this leg of the trip.

More information:

- Maximum length: 3 characters

###### arrivalAirportCode   (String)

IATA code for the destination airport for this leg of the trip.

More information:

- Maximum length: 3 characters

###### carrierNo (String)

International Air Transport Association (IATA) code is obtained from the Official Airline Guide or its equivalent.

More information:

- Maximum length: 2 characters

###### fareBasis (String)

Code used to identify the basic rules of segment fares. This code is defined by the airline to identify ticket attributes, such as cabin class (e.g., business class), fare rules (e.g., discounted/non-refundable changes), or promotional conditions.

> **Note**: This code only contains letters (A-Z), numbers (0-9), and spaces. The use of special characters is prohibited.

More information:

- Maximum length: 16 characters

###### couponNumber (String)

An electronic coupon number used to identify a flight segment in a ticket. Each ticket may contain multiple electronic coupons, each corresponding to an independent flight segment.

> **Note**: This number must be unique within the same ticket but can be duplicated across different tickets.

More information:

- Maximum length: 2 characters

###### flightNumber (String)

The identifier assigned to a specific flight. Typically 1 to 4 numeric digits, optionally followed by a suffix letter.

More information:

- Maximum length: 5 characters

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

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

More information:

- Maximum size: 100 elements

###### passengerName (Object)

The name of the passenger.

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

###### passengerId (String)

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

More information:

- Maximum length: 64 characters

###### passengerIdType (String)

The type of passenger's ID. Valid values are:

-   `PASSPORT` : Widely accepted for international and domestic travel.
-   `NATIONAL_ID_CARD`: National ID cards, which is valid for domestic and sometimes international travel;
    examples include the Chinese Resident Identity Card and EU National ID Card.
-   `DRIVER_LICENSE`: The driver's license, accepted for domestic travel in some countries.
-   `MILITARY_ ID`: The military ID, used by active military personnel for domestic travel in some countries, like the U.S.
-   `GREEN_CARD`: Green Card, which is valid for domestic travel for certain residents, such as in the U.S.
-   `TRAVEL_DOCUMENT`: Issued to individuals unable to obtain a passport, generally accepted for international travel.
-   `ALIEN_REGISTRATION_CARD`: Alien Registration Card, used for domestic travel in some countries, like
    South Korea.
-   `BIRTH_CERTIFICATE`: A birth certificate, often required for infants and young children when traveling with a parent or guardian.
-   `OTHERS` : Any ID not listed above.

More information:

- Maximum length: 64 characters

###### passengerCode (String)

The unique identifier assigned by the air carrier to a passenger for accurately identifying the passenger in the airline system.

More information:

- Maximum length: 32 characters

###### ancillaryData (Object)

Information about an ancillary purchase.

###### connectedTicketNumber (String)

The airline ticket number linked to this ancillary purchase. If the ancillary product is associated with a flight ticket (like a baggage fee), enter that flight ticket number here.

More information:

- Maximum length: 15 characters

###### services (Array<Service>)

Information about the services included in an ancillary purchase.

###### categoryCode (String)

Category code for the ancillary services offered. Retrieve the codes from the International Air Transport Association (IATA).

More information:

- Maximum length: 4 characters

###### subCategoryCode (String)

Subcategory code for the ancillary service category. Retrieve codes from the International Air Transport Association (IATA).

More information:

- Maximum length: 4 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.

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 rooms booked by the payer.

More information:

- Value range: 1 - unlimited

###### numberOfRooms (Integer)

Number of nights booked by the payer.

More information:

- Value range: 1 - unlimited

###### guestName (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.

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)

More information:

- Maximum length: 64 characters

###### toppedUpPhoneNo (String)

More information:

- Maximum length: 32 characters

##### declaration (Declaration)

Foreign exchange settlement declaration.

###### declarationBizScene (String)

Industry classification for the foreign exchange settlement declaration. Value valid are:

-   `AIRLINE`: Indicates that the declared industry classification is the airline sector.
-   `HOTEL`: Indicates that the declared industry classification is the hotel sector.

> Note: This is a required parameter in OTA scenarios, and must be passed together with _declarationBeneficiaryId_.

More information:

- Maximum length: 64 characters

###### declarationBeneficiaryId (String)

The unique third-party beneficiary ID used for declaring cumulative amount.

> Note: This is a required parameter in OTA scenarios, and must be passed together with _declarationBizScene_.

More information:

- Maximum length: 64 characters

#### paymentRequestId (String, REQUIRED)

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

More information:

- Maximum length: 64 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://docs.antom.com/ac/ref/cc.md#ONkIe) .

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

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

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

#### paymentMethod (PaymentMethod)

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

##### paymentMethodType (String)

The payment method type that is included in payment method options. By specifying the value of this parameter, you can receive the cashier URL of the specified payment method returned by Antom. See [Payment methods](https://docs.antom.com/ac/pm/enumeration_values.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. The value of this parameter is that of _cardToken_ obtained from the [**notifyPayment**](https://docs.antom.com/ac/ams/paymentrn_online.md) or [**inquiryPayment**](https://docs.antom.com/ac/ams/paymentri_online.md) API.

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

More information:

- Maximum length: 128 characters

##### paymentMethodMetaData (PaymentMethodMetaData)

Additional information required for some specific payment methods.

> **Note**: Specify this parameter when the value of _paymentMethodType_ is `APPLEPAY`, `CARD`, `GOOGLEPAY`, `GRABPAY_MY`, `GRABPAY_PH`, `GRABPAY_SG`, `PAYPAY`, `SHOPEEPAY_ID`, `SHOPEEPAY_MY`, `SHOPEEPAY_PH` or `SHOPEEPAY_SG`.

**Scenario: Apple Pay** (Apple Pay)

###### applePayConfiguration (ApplePayConfiguration)

Apple Pay 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 Apple Pay 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. Valid values are:

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

> **Note**: Specify this parameter as `false` when the value of _paymentMethodType_ is `APPLEPAY`.

###### billingAddress (Address)

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

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

###### isCardOnFile (Boolean)

Indicates whether the card used in this transaction has been previously processed and stored by the merchant. Valid values are:

-   `true`: The card used in the transaction has been previously processed and stored by the merchant. Set to `true` for stored card payments.
-   `false`: Default value. The card is new and has not been used previously on the merchant side.

###### 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 (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

**Scenario: Card** (Card)

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure. Valid values 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.

> **Note**: Specify this parameter when one of the following conditions is met:
>
> -   When the value of _paymentMethodType_ is `CARD`. If the value of this parameter is empty or the parameter is not passed, the transaction authentication type is determined by the acquirer. Check which cards support 3D secure in [Card](https://docs.antom.com/ac/pm/supported_pm.md#gh3IM).
> -   Set this parameter to `true` for the initial payment when creating a subscription.

###### 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`, `PE` or `TR`.
-   You collect this information during the payment process.  

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

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.

> **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 `BR`, `CL`, `MX`, `PE` or `TR`.
> -   You collect this information during the payment process.
>
> For more information about the card region, see [Card brands](https://docs.antom.com/ac/pm/enumeration_values.md#ZfyuE).

###### 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, REQUIRED)

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)

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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 card used in this transaction has been previously processed and stored by the merchant. Valid values are:

-   `true`: The card used in the transaction has been previously processed and stored by the merchant. Set to `true` for stored card payments.
-   `false`: Default value. The card is new and has not been used previously on the merchant side.

###### 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. 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, 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

**Scenario: Google Pay** (Google Pay)

###### googlePayConfiguration (GooglePayConfiguration)

Google Pay payment preferences.

###### configuration (Configuration)

Basic merchant information.

###### merchantName (String)

The merchant name you want displayed in the payment sheet.

More information:

- Maximum length: 128 characters

###### merchantId (String, REQUIRED)

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 parameter 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 (ShippingAddressParameters)

The additional information related to shipping.

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

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

> **Note**: 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 (BillingAddressParameters)

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.

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure. Valid values are:

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

>  **Note**: Specify this parameter as `false` when the value of _paymentMethodType_ is `GOOGLEPAY`.

###### cardNo (String)

The card number.

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has 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).

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has decrypted the googlePayToken.

More information:

- Maximum length: 3 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`.

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has 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 when the merchant is PCI DSS compliant and has decrypted the googlePayToken.

More information:

- Maximum length: 2 characters

###### cardholderName (UserName)

The cardholder's name.

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has decrypted the googlePayToken.

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

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

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

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

###### isCardOnFile (Boolean)

Indicates whether the card used in this transaction has been previously processed and stored by the merchant. Valid values are:

-   `true`: The card used in the transaction has been previously processed and stored by the merchant. Set to `true` for stored card payments.
-   `false`: Default value. The card is new and has not been used previously on the merchant side.

###### 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 (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

**Scenario: Grabpay** (Grabpay)

###### interactionType (String)

Indicates the type of payment interaction flow used by the user. Valid values are:

-   `QR`: The user pays by scanning a QR code.
-   `REDIRECT`: The user pays via a redirection URL.

> Specify this parameter when all the following conditions are met:
>
> -   When you need to define the interaction type for the payment method.
> -   When you integrate GrabPay checkout payment through 2C2P.
>
> If the parameter is not provided, the system will apply the default logic based on the terminal type.

More information:

- Maximum length: 11 characters

**Scenario: PayPay** (PayPay)

###### smartPaymentEnabled (Boolean)

Indicates whether integrated with PayPay Smart Payment. Valid values are:

-   `true`: Indicates that you have integrated with PayPay Smart Payment.
-   `false`: Indicates that you have not integrated with PayPay Smart Payment.

**Scenario: ShopeePay** (ShopeePay)

###### interactionType (String)

Indicates the type of payment interaction flow used by the user. Valid values are:

-   `QR`: The user pays by scanning a QR code.
-   `REDIRECT`: The user pays via a redirection URL.

> Specify this parameter when all the following conditions are met:
>
> -   When you need to define the interaction type for the payment method.
> -   When you integrate ShopeePay checkout payment through 2C2P.
>
> If the parameter is not provided, the system will apply the default logic based on the terminal type.

More information:

- Maximum length: 11 characters

#### savedPaymentMethods (Array<PaymentMethod>)

Payment information stored by the user in the merchant system.

##### paymentMethodType (String)

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

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.  

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

##### isAuthorization (Boolean)

Indicates whether the payment scenario requires authorization. Valid values are:

-   `false`: Default value. Indicates that the payment scenario is a regular payment without authorization.
-   `true`: Indicates that the payment scenario requires authorization. Set this parameter to `true` when the value of _paymentMethodType_ is `CARD` and you integrate with Antom SDK. Under the authorization scenario, the payment funds are guaranteed and held on the payment method side. You can use the [**capture (One-time Payments)**](https://docs.antom.com/ac/ams/capture.md) API to deduct the payment funds.

> **Note**:
>
> -   For APM payments integrated with Antom SDK, ensure to set this parameter to `false` or empty to avoid the automatic release of funds to the user.
> -   In the Checkout Page (CKP) and Payment Element integration scenarios, this parameter is not required.

##### captureMode (String)

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

-   `AUTOMATIC`: indicates that Antom 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 (One-time Payments)**](https://docs.antom.com/ac/ams/capture.md) API.

Specify this parameter if you want to designate the capture mode of the payment.

More information:

- Maximum length: 64 characters

#### enableInstallmentCollection (Boolean)

Indicates whether Antom collects the installment information for the payment. Specify this parameter if you need Antom to collect the installment information. Valid values are:

-   `true`: indicates Antom 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 Antom 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.

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

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

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

#### paymentNotifyUrl (URL)

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

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 Antom Dashboard. If the URL is specified in both the request and Antom Dashboard, the value specified in the request takes precedence.

More information:

- Maximum length: 2048 characters

#### paymentRedirectUrl (URL, REQUIRED)

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

> **Note**: The maximum length of this parameter is 255 when the value of _paymentMthodType_ is `PAYPAY`.

More information:

- Maximum length: 2048 characters

#### 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`.

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

#### availablePaymentMethod (AvailablePaymentMethod )

Information on payment methods available to the user.

##### paymentMethodTypeList (Array<PaymentMethodTypeList>)

List of available payment methods for the user.

###### paymentMethodType (String)

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

More information:

- Value range: 64

###### paymentMethodOrder (Integer)

The priority order of the payment methods configured by the user is indicated by numerical values, with smaller numbers representing higher priority. If the user does not specify a setting, Antom will apply a default sorting method.

More information:

- Value range: [1, +∞)

###### 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 `GOOGLEPAY`. The valid values include:

-   `true`: The payment method selected by the user is displayed as a quick payment method.
-   `false`: The payment method selected by the user is not displayed as a quick payment method.

##### paymentMethodMetaData  (PaymentMethodMetaData)

Additional information required for some specific payment methods.

**Scenario: Apple Pay** (Apple Pay)

###### applePayConfiguration (ApplePayConfiguration)

Apple Pay 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 Apple Pay 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. Valid values are:

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

> **Note**: Specify this parameter as `false` when the value of _paymentMethodType_ is `APPLEPAY`.

###### billingAddress (Address)

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

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

###### isCardOnFile (Boolean)

Indicates whether the card used in this transaction has been previously processed and stored by the merchant. Valid values are:

-   `true`: The card used in the transaction has been previously processed and stored by the merchant. Set to `true` for stored card payments.
-   `false`: Default value. The card is new and has not been used previously on the merchant side.

###### 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 (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: 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`, `PE` or `TR`.
-   You collect this information during the payment process.

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

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`, `PE` or `TR`.
-   You collect this information during the payment process.

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: 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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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/pm/enumeration_values.md#ZfyuE).

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 card used in this transaction has been previously processed and stored by the merchant. Valid values are:

-   `true`: The card used in the transaction has been previously processed and stored by the merchant. Set to `true` for stored card payments.
-   `false`: Default value. The card is new and has not been used previously on the merchant side.

###### 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. 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: Google Pay** (Google Pay)

###### googlePayConfiguration (GooglePayConfiguration)

Google Pay payment preferences.

###### configuration (Configuration)

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 (ShippingAddressParameters)

The additional information related to shipping.

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

###### 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 (BillingAddressParameters)

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.

###### is3DSAuthentication (Boolean)

Indicates whether the transaction authentication type is 3D secure. 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.

> **Note**: Specify this parameter as `false` when the value of _paymentMethodType_ is `GOOGLEPAY`.

###### cardNo (String)

The card number.

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has 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).

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has decrypted the googlePayToken.

More information:

- Maximum length: 3 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`.

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has 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 when the merchant is PCI DSS compliant and has decrypted the googlePayToken.

More information:

- Maximum length: 2 characters

###### cardholderName (UserName)

The cardholder's name.

> **Note**: Specify this parameter when the merchant is PCI DSS compliant and has decrypted the googlePayToken.

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

###### billingAddress (Address)

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

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

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

###### isCardOnFile (Boolean)

Indicates whether the card used in this transaction has been previously processed and stored by the merchant. Valid values are:

-   `true`: The card used in the transaction has been previously processed and stored by the merchant. Set to `true` for stored card payments.
-   `false`: Default value. The card is new and has not been used previously on the merchant side.

###### 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 (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

#### allowedPaymentMethodRegions  (Array<String> )

A list of region codes that represent the countries or regions of payment methods. 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 if you want available payment methods from specific regions to be returned. For example, if you pass in `GLOBAL`, global cards Visa and Mastercard are returned.

More information:

- Maximum length: 6 characters

#### productScene (String)

Specified product scenarios include valid values:

-   `CHECKOUT_PAYMENT`: Indicates that the merchant integrates using the Checkout Page.
-   `ELEMENT_PAYMENT`: Indicates that the merchant integrates using the Element.

More information:

- Maximum length: 32 characters

#### subscriptionInfo (SubscriptionInfo)

Subscription Information.

> **Note**: This parameter is required only for the first payment during subscription creation.

##### subscriptionDescription (String, REQUIRED)

The description of the subscription, used for displaying user consumption records and other actions.

More information:

- Maximum length: 256 characters

##### subscriptionStartTime (Datetime, REQUIRED)

The date and time when the subscription becomes active.

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

##### subscriptionEndTime (Datetime)

The date and time when the subscription ends.

> **Note**: Specify this parameter when you want to designate the subscription end time.

More information:

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

##### subscriptionExpiryTime (Datetime)

A specific date and time after which the created subscription expires. When the subscription expires, the order must be terminated. The default value of this parameter is 30 minutes after the subscription creation request is sent.

> **Note**: Specify this parameter if you want to designate the subscription creation expiration time. The specified payment expiration time must be less than 48 hours after the subscription request is sent.

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

##### periodRule (PeriodRule, REQUIRED)

The subscription period rule, used to define a subscription's billing period.

###### periodType (String, REQUIRED)

The subscription period type. Valid values are:

-   `YEAR`: indicates that the subscription period is measured in years.
-   `MONTH`: indicates that the subscription period is measured in months.
-   `WEEK`: indicates that the subscription period is measured in weeks.
-   `DAY`: indicates that the subscription period is measured in days.

More information:

- Maximum length: 20 characters

###### periodCount (String, REQUIRED)

The number of period types within one subscription period.

If the value of _periodType_ is `MONTH` and the value of _periodCount_ is `2`, it means that the subscription period is two months.

More information:

- Value range: 1 - unlimited

##### trials (Array<Trial> )

List of subscription trial information.

> **Note**: Specify this parameter if the subscription includes any trial periods.

###### trialStartPeriod (String, REQUIRED)

The start subscription period of the trial. For example, if the trial starts from the first subscription period, specify this parameter as `1`.

More information:

- Value range: 1 - unlimited

###### trialAmount (Amount, REQUIRED)

The discounted amount for each subscription trial period. The value of this parameter must be a positive number.

###### 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 (String, REQUIRED)

The value of the amount as a positive integer in the smallest currency unit.

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

> **Note**:
>
> -   For details about the smallest currency unit, see [Smallest unit of the currency](https://docs.antom.com/ac/ref/cc.md#ONkIe).
> -   For details about the minimum payment amount allowed for each payment method, see [Minimum amount rules](https://docs.antom.com/ac/ref/cc.md#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:

- Maximum length: 16 characters

##### subscriptionNotifyUrl (String, REQUIRED)

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

You can also configure the subscription notification URL in Antom Dashboard. If you specify this URL in both this API and Antom Dashboard, the URL configured in the API takes precedence.

> **Note**: You can only configure one subscription notification URL in Antom Dashboard.

More information:

- Maximum length: 2048 characters

#### merchantAccountId (String)

A unique ID to identify a specific merchant account.

> **Note**: Specify this parameter when you use one client ID across multiple locations.

More information:

- Maximum length: 64 characters

#### metadata (String)

This parameter is used for submitting metadata, including information for special use cases.

> Specify this parameter when you need to add metadata information.

More information:

- Maximum length: 2048 characters

## Response parameters

#### result (Result, REQUIRED)

The result of the API call. If this API is successfully called, the payment session is created successfully.

##### resultCode (String, REQUIRED)

Result code. 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 Antom 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: Antom 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. Use the _env_ field if the risk control capability provided by Antom is needed.

#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 Antom Technical Support to troubleshoot the issue. |
| NO_PAY_OPTIONS | F | No payment options are available. | Contact Antom 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 Antom Technical Support. |

## Request

### ANTOM_COLLECTS_CARD_INFORMATION

```json
{
  "merchantAccountId": "2188234232",
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "paymentRequestId_001992323",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902e18c",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "USD",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda",
      "buyerPhoneNo": "134******71"
    }
  },
  "paymentAmount": {
    "currency": "USD",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD",
    "paymentMethodMetaData": {
      "paymentMethodRegion": "BR"
    }
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "1.1.1.1"
  },
  "settlementStrategy": {
    "settlementCurrency": "USD"
  }
}
```

### APPLE PAY

```json
{
  "merchantAccountId": "2188234232",
  "env": {
    "clientIp": "1.1.1.1",
    "terminalType": "WEB"
  },
  "order": {
    "buyer": {
      "buyerPhoneNo": "134******71",
      "referenceBuyerId": "yeiasdasda"
    },
    "orderAmount": {
      "currency": "USD",
      "value": "100"
    },
    "orderDescription": "xxxxx",
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902e18c"
  },
  "paymentAmount": {
    "currency": "USD",
    "value": "100"
  },
  "paymentFactor": {
    "isAuthorization": true
  },
  "paymentMethod": {
    "paymentMethodType": "APPLEPAY",
    "paymentMethodMetaData": {
      "applePayConfiguration": {
        "requiredBillingContactFields": [
          "postalAddress"
        ],
        "requiredShippingContactFields": [
          "postalAddress"
        ],
        "buttonsBundled": true
      }
    }
  },
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentRequestId": "paymentRequestId_010223435",
  "productCode": "CASHIER_PAYMENT",
  "settlementStrategy": {
    "settlementCurrency": "USD"
  }
}
```

### CARD_PAYMENT_USING_AUTHENTICATION_UPGRADE

```json
{
  "merchantAccountId": "2188234232",
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "paymentRequestId_0983837822",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902****",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "USD",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda****",
      "buyerPhoneNo": "1346667****"
    }
  },
  "paymentAmount": {
    "currency": "USD",
    "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": "5502594026234280"
    }
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "1.1.1.1"
  },
  "settlementStrategy": {
    "settlementCurrency": "USD"
  }
}
```

### CARD_PAYMENT_WITH_CARDTOKEN

```json
{
  "merchantAccountId": "2188234232",
  "productCode": "CASHIER_PAYMENT",
  "paymentRequestId": "paymentRequestId_0980991",
  "order": {
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902e18c",
    "orderDescription": "xxxxx",
    "orderAmount": {
      "currency": "USD",
      "value": "100"
    },
    "buyer": {
      "referenceBuyerId": "yeiasdasda",
      "buyerPhoneNo": "134******71"
    }
  },
  "paymentAmount": {
    "currency": "USD",
    "value": "100"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD",
    "paymentMethodMetaData": {
      "paymentMethodRegion": "BR",
      "tokenizeMode": "enabled",
      "recurringType": "INITIALPAYMENT"
    }
  },
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentFactor": {
    "isAuthorization": true
  },
  "env": {
    "clientIp": "1.1.1.1"
  },
  "settlementStrategy": {
    "settlementCurrency": "USD"
  }
}
```

### GOOGLE PAY

```json
{
  "merchantAccountId": "2188234232",
  "env": {
    "clientIp": "1.1.1.1"
  },
  "order": {
    "buyer": {
      "buyerPhoneNo": "134******71",
      "referenceBuyerId": "yeiasdasda"
    },
    "orderAmount": {
      "currency": "BRL",
      "value": "100"
    },
    "orderDescription": "xxxxx",
    "referenceOrderId": "926e1c32-4a6c-442e-b5ce-8ec5b902e18c"
  },
  "paymentAmount": {
    "currency": "USD",
    "value": "100"
  },
  "paymentFactor": {
    "isAuthorization": true
  },
  "paymentMethod": {
    "paymentMethodMetaData": {
      "googlePayConfiguration": {
        "configuration": {
          "merchantName": "Antom Test merchant",
          "merchantId": "antom.test.merchant"
        },
        "emailRequired": true,
        "shippingAddressRequired": true,
        "shippingAddressParameters": {
          "allowedCountryCodes": [
            "US"
          ],
          "phoneNumberRequired": true
        },
        "allowedAuthMethods": [
          "PAN_ONLY",
          "CRYPTOGRAM_3DS"
        ],
        "billingAddressRequired": true,
        "billingAddressParameters": {
          "format": "FULL",
          "phoneNumberRequired": true
        }
      }
    },
    "paymentMethodType": "GOOGLEPAY"
  },
  "paymentNotifyUrl": "https://www.yourNotifyUrl",
  "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
  "paymentRequestId": "paymentRequestId_737311111",
  "productCode": "CASHIER_PAYMENT",
  "settlementStrategy": {
    "settlementCurrency": "USD"
  }
}
```

### MINIMAL INTEGRATION DURING ANTOM CHECKOUT PAGE

```json
{
  "merchantAccountId": "2188234232",
  "order": {
    "buyer": {
      "buyerPhoneNo": "12344445555"
    },
    "shipping": {
      "shippingFeeId": "20240613190954006000188051400000001"
    },
    "goods": [
      {
        "priceId": "20240517190954005000188059400010002",
        "goodsQuantity": "1"
      },
      {
        "priceId": "20240603190954005000188831800414375",
        "goodsQuantity": "2"
      }
    ]
  },
  "paymentRedirectUrl": "https://www.baidu.com",
  "paymentNotifyUrl": "https://www.baidu.com",
  "paymentRequestId": "{{$guid}}",
  "productCode": "CASHIER_PAYMENT",
  "productScene": "CHECKOUT_PAYMENT"
}
```

### PAYMENT_WITH_CKP

```json
{
  "merchantAccountId": "2188234232",
  "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"
      }
    ]
  }
}
```

### NON-MINIMAL INTEGRATION DURING ANTOM CHECKOUT PAGE

```json
{
  "merchantAccountId": "2188234232",
  "order": {
    "goods": [
      {
        "goodsBrand": "AMSDM",
        "goodsCategory": "card/ssr/adc",
        "goodsName": "Goods No.1",
        "goodsQuantity": "1",
        "goodsSkuName": "SKU1",
        "goodsUnitAmount": {
          "currency": "USD",
          "value": "30000"
        },
        "goodsUrl": "HangZhou LeiFenTa",
        "referenceGoodsId": "d6869b66-a052-4029-a422-24044421516e"
      }
    ],
    "orderAmount": {
      "currency": "USD",
      "value": "31000"
    },
    "shipping": {
      "shippingFee": {
        "currency": "USD",
        "value": "1000"
      }
    },
    "orderDescription": "AMSDM_GIFT",
    "referenceOrderId": "{{$guid}}",
    "buyer": {
      "buyerPhoneNo": "12344445555"
    }
  },
  "paymentAmount": {
    "currency": "USD",
    "value": "31000"
  },
  "paymentNotifyUrl": "https://www.baidu.com",
  "paymentRedirectUrl": "https://www.baidu.com",
  "paymentRequestId": "paymentRequestId_00198323",
  "productCode": "CASHIER_PAYMENT",
  "settlementStrategy": {
    "settlementCurrency": "USD"
  },
  "productScene": "CHECKOUT_PAYMENT",
  "locale": "en_US"
}
```

## 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"
  }
}
```