# APM payment integration

> This document provides a consolidated overview of APM integration requirements, features, and key considerations across Antom products.

 This document provides a consolidated overview of alternative payment method (APM) integration requirements, features, and key considerations across Antom products.

## Supported APMs {#supported_apm}

 Antom offers a wide ranges of alternative payment methods (APMs), such as digital wallets, bank transfers, online banking, buy now pay later, cash payments, real-time payments, direct debits, and carrier billing, allowing you to accept popular local APMs in various countries and regions. Refer to the [payment methods overview](https://docs.antom.com/payment_methods.md) to view the full list of supported APMs.

## Integration options {#apm_integration}

  Antom offers multiple integration paths, such as Payment Element, Checkout Page (CKP), and API integration. You can choose the one that best fits your business needs.

         #### Payment Element

   Embedded payment components   Drop-in UI components that embed directly into your application. Provides a native payment experience.

    Key capabilities    ● No page redirects required   ● Pre-built, customizable UI   ● Requires client-side integration          [One-time Payments](https://docs.antom.com/ac/cashierpay/overview.md)  - [Payment Element integration guide](https://docs.antom.com/ac/cashierpay/element.md?platform=web-wap)
- [Appearance customization](https://docs.antom.com/ac/cashierpay/appearance.md)

     [Subscription Payment](https://docs.antom.com/ac/subscriptionpay/overview.md)  - [Payment Element integration guide](https://docs.antom.com/ac/subscriptionpay/element_subscription.md?platform=web-wap)

         #### Checkout Page (CKP)

  ⚡ Fastest setup    Hosted payment page   Redirect customers to a secure, Antom-hosted payment page. Fastest path to going live with minimal development effort required.

   Key capabilities    ● Minimal code needed   ● Automatic payment method display   ● Requires page redirect          [One-time Payments](https://docs.antom.com/ac/cashierpay/overview.md)  - [Hosted Checkout Page (CKP)](https://docs.antom.com/ac/cashierpay/HOSTEDCKP.md)
- [Embedded Checkout Page (CKP)](https://docs.antom.com/ac/cashierpay/embeddedckp.md)

     [Subscription Payment](https://docs.antom.com/ac/subscriptionpay/overview.md)  - [Hosted Checkout Page (CKP)](https://docs.antom.com/ac/subscriptionpay/HOSTEDCKP_subscription.md)

         #### API-only

  🔧 Advanced    Custom payment page   Build a fully customized payment experience by making API calls to obtain redirect URL to corresponding payment method pages. Complete control over UI and user flow at the cost of increased complexity.

   Key capabilities    ● Seamless user experience directing buyers to a specific payment method page   ● May require manual integration for each payment method          [One-time Payments](https://docs.antom.com/ac/cashierpay/overview.md)  - [Integration guide](https://docs.antom.com/ac/cashierpay/apm_api.md)

     [Subscription Payment](https://docs.antom.com/ac/subscriptionpay/overview.md)  - [Integration guide](https://docs.antom.com/ac/subscriptionpay/apm_api_subscription.md)

     [Tokenized Payment](https://docs.antom.com/ac/tokenized/overview.md)  - [Integration guide](https://docs.antom.com/ac/tokenized/integration_guide.md)

     [Scan to Link](https://docs.antom.com/ac/scantopay/overview.md)  - [Integration guide](https://docs.antom.com/ac/scantopay/integration_guide.md)

         #### Password-free payments

   Easy and safe authorized payment experience   Build a secure and simple payment experience for your website or application. Buyers can enable one-click payment during the first transaction, and subsequent payments can be completed with a single click.

   Key capabilities    ● Embedded payment process   ● Access token may require manual maintenance after expiry          [EasySafePay](https://docs.antom.com/ac/easypay/overview.md)  - [Integration guide](https://docs.antom.com/ac/easypay/easysafepay_sdk.md)

      ---

## Integration key considerations {#key_considerations}

 Below are key integration points and recommended approaches for different APMs.

 | **Payment method** | **Key points** | **Recommended solution** |
| --- | --- | --- |
| [PayPay](https://docs.antom.com/ac/antomop/paypay_mdx.md) | - *paymentRedirectUrl* should be no longer than 255 characters. - Refunds for an order cannot exceed 20 times. | *paymentRedirectUrl* should be no longer than 255 characters. |
| [QRIS](https://docs.antom.com/ac/antomop/qris.md) | Payment discrepancy may occur. | When payment discrepancies occur (such as the buyer makes a payment but you receive a notification of payment failure), once Antom receives a payment success message from the corresponding payment method, Antom will settle the funds to you. After you receive the funds, you can manually handle any subsequent refunds. The corresponding settlement details report will include this transaction. |
| [Promptpay](https://docs.antom.com/ac/antomop/promptpay.md) | Payment discrepancy may occur. |  |
| [Konbini](https://docs.antom.com/ac/antomop/Konbini_mdx.md), [Konbini (7-Eleven)](https://docs.antom.com/ac/antomop/Konbini_711_mdx.md), [Pay-easy](https://docs.antom.com/ac/antomop/payeasy.md) | - Cannot redirect back to the merchant page. - Payment discrepancy may occur. |  |
| Maybank | Once the payment is completed, there may be a 5-minute delay in sending the asynchronous notification. | Display a prompt message, "Order is confirming" to buyers. |
| [OVO](https://docs.antom.com/ac/antomop/ovo.md), [Pix](https://docs.antom.com/ac/antomop/pix.md), [BANCOMAT Pay](https://docs.antom.com/ac/antomop/bancomatpay.md) | The payment method app cannot be launched automatically. | The buyer must manually launch the payment method app to complete the payment. |
| [Siam Commercial Bank](https://docs.antom.com/ac/antomop/scb.md) | - A processing fee may be applied to payments. - Not supported on PC. | Prompt the buyer that a processing fee may be applied to payments made using the payment method. The fee amount is determined by the buyer's bank level. |
| [Bank of Ayudhya](https://docs.antom.com/ac/antomop/bay.md) | - A processing fee may be applied to payments. - Not supported on PC. | Prompt the buyer that a processing fee may be applied to payments made using the payment method. The fee amount is determined by the buyer's bank level. |
| [GoPay](https://docs.antom.com/ac/antomop/gopay.md), [Bangkok Bank](https://docs.antom.com/ac/antomop/bangkok_bank.md), [KrungThai Bank](https://docs.antom.com/ac/antomop/kyb.md) | Not supported on PC. | None |
| [NAVER Pay](https://docs.antom.com/ac/antomop/naverpay.md) | The PC client requires additional integration. After the buyer logs in, payment is not completed directly on the original page, but is automatically redirected to a new tab. | Enable browser pop-up permissions and use a new *browser* object or window in the code to open the pop-up page to process the payment. |
| [Express Bank Transfer](https://docs.antom.com/ac/antomop/express_bank_transfer.md) | *paymentRedirectUrl* has restrictions on special characters. | Avoid using the "&" symbol in *paymentRedirectUrl*. |
| [Mercado Pago (Brazil)](https://docs.antom.com/ac/antomop/mp_mdx.md) | The *buyerEmail* parameter is consumed, resulting in a direct failure of the payment. | Specify the *payerEmail* parameter instead. |

### Buy Now Pay Later integration requirements {#BNPL_considerations}

 Antom supports several Buy Now Pay Later (BNPL) payment methods. BNPL is a type of installment loan, which gives a buyer a certain credit line that is long-term effective and recyclable. The buyer can use this credit line for transactions. However, payment methods still need to apply real-time risk control to BNPL transactions to reduce risks on the buyer side and the payment method side, which requires merchants to provide specific information in the API request to Antom. The required information is categorized into basic ones and extended ones, and they have a heavy impact on the success of payments.

 Certain parameters are required for the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API requests. See the following sections for details.

#### Basic info parameters {#basic_params}

 Parameters in the following tables are strongly recommended to be passed in by merchants. The risk control of payment methods relies heavily on these parameters. The payment success rate is estimated to rise by 5%~10% if these parameters are provided.

 |  |  |  |
| --- | --- | --- |
| _order.buyer_ | _referenceBuyerId_ | **OPTIONAL**     String (64) The unique ID assigned by the merchant to identify a buyer. |
| _order.goods_ | _goodsName_ | **OPTIONAL**     String (256) Goods name. |
| _order.shipping_ | [_shippingAddress_](#shippingAddress) | **OPTIONAL**     Address Recipient shipping address. |

##### _shippingAddress_ {#shippingAddress}

 | **Parameters** | **Description** |
| --- | --- |
| *region* | **REQUIRED**        String (2) The two-character [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country/region code. |
| *state* | **OPTIONAL**        String (8) The state, country, or province. |
| *city* | **OPTIONAL**        String (32) The city, district, suburb, town, or village. |
| *address1* | **OPTIONAL**        String (256) Address line 1, such as street, PO Box, or company name. |
| *address2* | **OPTIONAL**        String (256) Address line 2, such as the apartment, suite, unit, or building information. |
| *zipCode* | **OPTIONAL**        String (32) ZIP or postal code. |

#### Extended info parameters {#extended_params}

 Parameters in the following tables are recommended to be passed in by merchants. The payment success rate is estimated to rise by 5% if these parameters are provided.

 | **Category** | **Parameters** | **Description** |
| --- | --- | --- |
| _order.goods_ | *referenceGoodsId* | **REQUIRED**       String (64) The unique ID assigned by the merchant to identify the goods. |
| *goodsCategory* | **OPTIONAL**         String (64) A categorization of the goods type. |  |
| [*goodsUnitAmount*](#goodsUnitAmount) | **REQUIRED**       Amount Goods price. |  |
| *goodsQuantity* | **REQUIRED**       Integer Goods quantity. |  |

##### _goodsUnitAmount_ {#goodsUnitAmount}

 | **Parameters** | **Description** |
| --- | --- |
| *currency* | **REQUIRED**       String (3) The three-character [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. |
| *value* | **REQUIRED**         Integer 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). Value range: 1 - unlimited. |

### _pspName_ returned by APMs {#sJtcV}

  When receiving asynchronous notifications through [**notifyPayment**](https://docs.antom.com/ac/ams/paymentrn_online.md) or when inquiring payment information through [**inquiryPayment**](https://docs.antom.com/ac/ams/paymentri_online.md), the _pspName_ parameter may return values when the payment method can provide the payment method name. The following table lists the corresponding _pspName_ values that will be returned for each payment method:

  | **Payment method** | **value of _pspName_** | **Buyer country/region** | **Payment method type** |
| --- | --- | --- | --- |
| [BillEase](https://docs.antom.com/ac/antomop/billease.md) | `BillEase` | Philippines | Buy now pay later |
| [Kredivo](https://docs.antom.com/ac/antomop/kredivo.md) | `Kredivo` | Indonesia |  |
| [BPI](https://docs.antom.com/ac/antomop/aplusbpi.md) | `BPI` | Philippines | Online banking |
| [Alipay](https://docs.antom.com/ac/antomop/alipay_cn.md) | `AlipayCN` | China | Digital wallet |
| [AlipayHK](https://docs.antom.com/ac/antomop/aplusalipayhk.md) | `AlipayHK` | Hongkong, China |  |
| [Boost](https://docs.antom.com/ac/antomop/boost.md) | `Boost` | Malaysia |  |
| [DANA](https://docs.antom.com/ac/antomop/DANA.md) | `Dana` | Indonesia |  |
| [GCash](https://docs.antom.com/ac/antomop/gcash.md) | `Gcash` | Philippines |  |
| [Grabpay SG](https://docs.antom.com/ac/antomop/grabpay_sg.md) | `Grabpay` | Singapore |  |
| [Kakao Pay](https://docs.antom.com/ac/antomop/kakaopay.md) | `KaKaoPay` | South Korea |  |
| [K PLUS](https://docs.antom.com/ac/antomop/kplus.md) | `KPLUS` | Thailand |  |
| [LINE Pay](https://docs.antom.com/ac/antomop/rabbitlinepay.md) | `RabbitLinePay` | Thailand |  |
| [NAVER Pay](https://docs.antom.com/ac/antomop/naverpay.md) | `NAVERPay` | South Korea |  |
| [Toss Pay](https://docs.antom.com/ac/antomop/tosspay.md) | `TossPay` | South Korea |  |
| [Touch'n Go eWallet](https://docs.antom.com/ac/antomop/touchngo.md) | `TouchNGo` | Malaysia |  |
| [TrueMoney](https://docs.antom.com/ac/antomop/truemoney.md) | `TrueMoney` | Thailand |  |
| [GoPay](https://docs.antom.com/ac/antomop/gopay.md) | `GoPay` | Indonesia |  |
| [GrabPay MY/PH](https://docs.antom.com/ac/antomop/grabpay_.md) | `Grabpay` | Malaysia, Philippines |  |
| [JKOPay](https://docs.antom.com/ac/antomop/jkopay.md) | `JKOPay` | Taiwan, China |  |
| [Maya](https://docs.antom.com/ac/antomop/maya.md) | `Maya` | Philippines |  |
| [Mercado Pago (Brazil)](https://docs.antom.com/ac/antomop/mp_mdx.md) | `MercadoPago` | Brazil, Peru, Chile, Mexico |  |
| [OVO](https://docs.antom.com/ac/antomop/ovo.md) | `OVO` | Indonesia |  |
| [PayPay](https://docs.antom.com/ac/antomop/paypay_mdx.md) | `PayPay` | Japan |  |
| [ShopeePay](https://docs.antom.com/ac/antomop/shopeepay.md) | `ShopeePay` | Singapore, Indonesia, Philippines, Thailand |  |
| [ShopeePay (MY)](https://docs.antom.com/ac/antomop/shopeepay.md) | `ShopeePay` | Malaysia |  |
| [ZaloPay](https://docs.antom.com/ac/antomop/zalopay.md) | `ZaloPay` | Vietnam |  |

## Pre-front solutions {#features}

  In standard integration experiences, buyers are required to redirect to a payment method page to complete certain actions, such as selecting a specific bank payment method, entering payment details, or scanning/copying payment passwords. The following best practices guide you in presenting bank lists, payment details, QR codes, or payment passwords on your page, reducing the need for page redirection during the payment process and improving the buyer experience.

 - [Bank pre-front solution](https://docs.antom.com/ac/pm/prefront.md#GK7ay)
- [Payment element pre-front solution](https://docs.antom.com/ac/pm/prefront.md#cfUcW)
- [QR code/password pre-front solution](https://docs.antom.com/ac/pm/prefront.md#b2zaW)
