# Installment payments

> Installment payment is a credit card payment method that allows buyers to purchase goods or services without paying the full amount upfront.

 Installment payment is a popular credit card payment method that allows buyers to purchase goods or services without paying the full amount upfront. Instead, the total cost is split into multiple monthly payments. The system automatically deducts the agreed amount from the buyer's credit card every 30 days until the full balance is settled.

 Installment payment rules and processes may vary across different countries/regions. For example: Brazil supports credit card installments, typically without additional installment fees; South Korea supports installments for credit cards and some debit cards. Fee policies are periodically adjusted based on bank promotions, and may offer full or partial interest-free benefits. Currently, Antom supports card installment payment services in regions such as United States, Brazil, South Korea, Mexico, and Chile. For specific regional availability, please contact Antom Technical Support.

 The installment payment feature offers the following advantages:

 - **Enhanced purchasing power and intent**    : Buyers can avoid large upfront payments by spreading the cost of high-value items (e.g., electronics, furniture, or education courses) over several months, reducing short-term financial pressure.
- **Flexible repayment options**    : Buyers can choose the number of installments (e.g., 3, 6, or 12 months) based on their needs, better aligning with personal or household budget planning.
- **Increased average transaction value**    : Installment payments lower the barrier to purchase, encouraging buyers to opt for higher-value products, thereby helping to boost the average order value.

## Obtain card brand installment information {#LGWtZ}

 The following is the installment payment information supported by card payment methods in different regions:

### Visa, Mastercard, and Discover {#KAOJj}

 In the United States, this installment solution allows customers to split their purchases using their existing credit cards. Merchants receive the full transaction amount upfront. Installment payments are seamlessly integrated into Antom’s existing payment flow, helping merchants offer more flexibility at checkout without changes to settlement or fund handling.

#### Supported online payment integrations {#KWdrn}

 This installment solution only supports One-time Payments. The following are the supported integrations:

 - [Hosted API-only](https://docs.antom.com/ac/cashierpay/cardcollant.md)
- [Server-to-server API-only](https://docs.antom.com/ac/cashierpay/cardinfocallmerchant.md)
- [Hosted Checkout Page](https://docs.antom.com/ac/cashierpay/HOSTEDCKP.md)
- [Embedded Checkout Page](https://docs.antom.com/ac/cashierpay/embeddedckp.md)
- [Web Element](https://docs.antom.com/ac/cashierpay/element.md)
- [Mobile Element](https://docs.antom.com/ac/cashierpay/element.md)

#### Capture mode {#HEgbQ}

 Only auto-capture mode is supported and recommended. Manual capture is not supported and will not be provided as an integration option.

#### Required fields in pay API {#UJCJP}

 The following fields must be included in the   [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md)    request:

 | **Parameter name** | **Is required?** | **Description** |
| --- | --- | --- |
| *enableInstallmentCollection* | Yes | Indicates that the merchant has enabled the installment payment capability. This value is fixed as   `true`  . |
| *paymentMethod.paymentMethodMetaData.payerEmail* | Yes | Payer’s email address. |
| *paymentMethod.paymentMethodMetaData.termsAndConditionsAccepted* | Yes | Indicates that the payer accepts Splitit's terms and conditions. This value is fixed as   `true`  . |
| *creditPayPlan.installmentNum* | Yes | Number of installments (e.g., 3, 6, 9, or 12). |

#### Required fields in createPaymentSession API {#Oa699}

 The following fields must be included in the   [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md)   request:

 | **Parameter name** | **Is required?** | **Description** |
| --- | --- | --- |
| *enableInstallmentCollection* | Yes | Indicates that the merchant has enabled the installment payment capability. This value is fixed as   `true`  . |
| *paymentMethod.paymentMethodMetaData.payerEmail* | No | Payer’s email address. If not provided, the Antom front-end will prompt payers to enter their email address. |

### Brazilian, Mexican, and Chilean cards {#cxoni}

 Refer to the payment method manual for   [Brazilian cards](https://docs.antom.com/ac/antomop/brazilian_mdx.md)  ,   [Mexican cards](https://docs.antom.com/ac/antomop/mexican_mdx.md)  , and   [Chilean cards](https://docs.antom.com/ac/antomop/chilean_mdx.md)   to obtain the maximum and minimum payment amounts supported by the respective card brands, as well as the installment plans available.

### South Korean Cards {#oPVYT}

 [South Korean Cards](https://docs.antom.com/ac/antomop/south_korean_mdx.md)   payments support installment plans ranging from 2 to 12 months. However, interest-free promotion details are dynamically adjusted. You can obtain the latest information through the following two methods:

 - Regularly check the   [payment method manual](https://docs.antom.com/ac/antomop/south_korean_mdx.md)  : It is recommended to check the official website monthly for detailed information on full and partial interest-free promotions for each card brand.
- Call the   [**consult**](https://docs.antom.com/ac/ams/consult.md)   API (for full interest-free information only): Use the   [**consult**](https://docs.antom.com/ac/ams/consult.md)   API to obtain real-time full interest-free information, but partial interest-free details are not available through this API. Below is an example response from the API, which includes the following installment information parameters:

   - *installment.plan*    : Supported installment periods.
  - *supportCardBrands*    : Supported card brands.
  - *promotionInfos.interestFree*    : Specific installment periods with full interest-free promotions for each card brand.

 > **[INFO]** **Note**    : Before calling the   [**consult**](https://docs.antom.com/ac/ams/consult.md)   API, contact Antom Technical Support to complete pre-configuration.

 ```json
{
  "paymentOptions": [
    ...
    {
      ...
      "installment": {
        "plans": [
          {
            "enabled": true,
            "installmentNum": "2",
            "interestRate": "0.00",
            "interval": "MONTH",
            "maxInstallmentAmount": {},
            "minInstallmentAmount": {
              "currency": "KRW",
              "value": "50000"
            }
          },
          {
            "enabled": true,
            "installmentNum": "3",
            "interestRate": "0.00",
            "interval": "MONTH",
            "maxInstallmentAmount": {},
            "minInstallmentAmount": {
              "currency": "KRW",
              "value": "50000"
            }
          },
          ...
          {
            "enabled": true,
            "installmentNum": "12",
            "interestRate": "0.00",
            "interval": "MONTH",
            "maxInstallmentAmount": {},
            "minInstallmentAmount": {
              "currency": "KRW",
              "value": "50000"
            }
          }
        ],
        "supportCardBrands": [
          {
            "cardBrand": "BC",
            "logo": {
              "logoName": "BC",
              "logoUrl": "https://cdn.marmot-cloud.com/storage/2022/12/20/a0b5af56-4c94-4f77-afb4-ab99a17f3662.svg"
            }
          },
          ...
          {
            "cardBrand": "JEJUBANK",
            "logo": {
              "logoName": "JEJUBANK",
              "logoUrl": "https://cdn.marmot-cloud.com/storage/2024/3/25/f9e65ee6-32db-465c-8e7f-c0a8d41d2533.svg"
            }
          }
        ]
      },
      "promotionInfos": [
        {
          "interestFree": {
            "expireTime": "2025-11-30T14:59:59Z",
            "freePercentage": 100,
            "installmentFreeNums": [
              2,
              3,
              4,
              5
            ],
            "minPaymentAmount": {
              "currency": "KRW",
              "value": "50000"
            },
            "provider": "KOOKMIN"
          },
          "promotionType": "INTEREST_FREE"
        },
        {
          "interestFree": {
            "expireTime": "2025-11-30T14:59:59Z",
            "freePercentage": 100,
            "installmentFreeNums": [
              2,
              3,
              4,
              5
            ],
            "minPaymentAmount": {
              "currency": "KRW",
              "value": "50000"
            },
            "provider": "BC"
          },
          "promotionType": "INTEREST_FREE"
        },
        ...
      ]
    }
  ],
  "result": {
    "resultCode": "SUCCESS",
    "resultMessage": "success.",
    "resultStatus": "S"
  }
}
```

## How to enable {#C9n9L}

 > **[INFO]** **Note**    : If installment information is not specified through     *creditPayPlan*    , the payment will default to a non-installment payment.

<!-- TabGroup -->

**Tab: Hosted card integration**

If the buyer chooses to use installment payment, you need to collect relevant installment information (such as the number of installments) before initiating the payment request. When calling the   [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md)   API, you need to pass in the installment payment details through the     *creditPayPlan*     parameter, which includes the following key parameter:

 - *installmentNum*    : Specifies the number of installments. Valid values range from   `2`   to   `12`  .

 Below is an example code for calling the   [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md)   API to initiate an installment payment request:

 ```json
"paymentMethodMetaData": {
	"is3DSAuthentication": false,
}
"creditPayPlan": {
        "installmentNum": "3"
    }
```

**Tab: Server-to-server card integration**

If the buyer chooses to use installment payment, you need to collect relevant installment information (such as the number of installments) before initiating the payment request. When calling the   [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md)   API, you need to pass in the installment payment details through the     *creditPayPlan*     parameter, which includes the following key parameter:

 - *installmentNum*    : Specifies the number of installments. Valid values range from   `2`   to   `12`  .

 Below is an example code for calling the   [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md)   API to initiate an installment payment request:

 ```json
"paymentMethodMetaData": {
	"is3DSAuthentication": false,
	"cvv": "850",
	"cardholderName": {
		"firstName": "Tom",
		"lastName": "Jay"
	},
	"expiryMonth": "12",
	"expiryYear": "29",
	"cardNo": "****0615"
}
"creditPayPlan": {
        "installmentNum": "3"
    }
```

**Tab: SDK integration**

If the buyer selects the installment payment option, you can either collect the installment information yourself or delegate this task to the SDK.

<!-- TabGroup -->

**Tab: Merchant collects installment information**

If you choose to collect the installment payment details independently, you need to collect relevant installment information (such as the number of installments) from the buyer before initiating the payment request. When calling the   [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md)   API, you need to pass in the installment payment details through the     *creditPayPlan*     parameter, which includes the following key parameter:

 - *installmentNum*    : Specifies the number of installments. Valid values range from   `2`   to   `12`  .

 For more details about the parameter descriptions, refer to the   [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md)   API.

 When you collect the installment payment information yourself, the example code for initiating a payment request is as follows:

 ```json
{
  "settlementStrategy": {
    "settlementCurrency": "USD"
  },
  "productCode": "CASHIER_PAYMENT",
  "paymentNotifyUrl": "http://gol.alipay.net:8080/amsdemo/record/notify?env=main_online&paymentMethodType=CARD",
  "paymentRequestId": "ams********31016_100927_794",
  "agreementInfo": {
    "authState": "amsdemo_authState_********_20231016_100927_794"
  },
  "paymentRedirectUrl": "http://gol.alipay.net:8080/amsdemo/result?paymentRequestId=amsdmpay_zy236564_20231016_100927_794",
  "paymentFactor": {
    "isAuthorization": true,
    "asyncPay": false,
    "captureMode": "MANUAL"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD"
  },
  "creditPayPlan": {
    "installmentNum": 2
  },
  "enableInstallmentCollection":true,
  "paymentAmount": {
    "currency": "BRL",
    "value": "6000"
  },
  "order": {
    "orderAmount": {
      "currency": "BRL",
      "value": "6000"
    },
    "referenceOrderId": "amsdmorder_********_20231016_100927_794",
    "goods": [
      {
        "referenceGoodsId": "amsdm_good_********_20231016_100927_794",
        "goodsUrl": "HangZhou LeiFenTa",
        "goodsCategory": "card/ssr/adc",
        "goodsUnitAmount": {
          "currency": "USD",
          "value": "10000"
        },
        "goodsQuantity": "1",
        "goodsName": "Goods No.1",
        "goodsSkuName": "SKU1",
        "goodsBrand": "AMSDM"
      }
    ],
    "env": {
      "clientIp": "1.1.1.1",
      "osType": "IOS",
      "terminalType": "WEB"
    },
    "extendInfo": "{}",
    "orderDescription": "AMSDM_GIFT",
    "buyer": {
      "referenceBuyerId": "zy****64",
      "buyerRegistrationTime": "2022-01-01T09:30:00+08:00",
      "buyerName": {
        "firstName": "Dehua",
        "lastName": "Liu",
        "fullName": "Dehua Skr Liu",
        "middleName": "Skr"
      }
    }
  }
}
```

**Tab: SDK collects installment information**

If you need the SDK to collect installment payment information, when calling the   [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md)   API, you need to set the     *enableInstallmentCollection*     parameter to   `true`  . If you set the value of     *enableInstallmentCollection*     to   `false`   or leave it empty, the SDK will not collect installment information by default.

 When the SDK collects installment information, the example code for initiating a payment request is as follows:

 ```json
{
  "settlementStrategy": {
    "settlementCurrency": "USD"
  },
  "productCode": "CASHIER_PAYMENT",
  "paymentNotifyUrl": "http://gol.alipay.net:8080/amsdemo/record/notify?env=main_online&paymentMethodType=CARD",
  "paymentRequestId": "ams********31016_100927_794",
  "agreementInfo": {
    "authState": "amsdemo_authState_********_20231016_100927_794"
  },
  "paymentRedirectUrl": "http://gol.alipay.net:8080/amsdemo/result?paymentRequestId=amsdmpay_zy236564_20231016_100927_794",
  "paymentFactor": {
    "isAuthorization": true,
    "asyncPay": false,
    "captureMode": "MANUAL"
  },
  "paymentMethod": {
    "paymentMethodType": "CARD"
  },
  "enableInstallmentCollection":true,
  "paymentAmount": {
    "currency": "BRL",
    "value": "6000"
  },
  "order": {
    "orderAmount": {
      "currency": "BRL",
      "value": "6000"
    },
    "referenceOrderId": "amsdmorder_********_20231016_100927_794",
    "goods": [
      {
        "referenceGoodsId": "amsdm_good_********_20231016_100927_794",
        "goodsUrl": "HangZhou LeiFenTa",
        "goodsCategory": "card/ssr/adc",
        "goodsUnitAmount": {
          "currency": "USD",
          "value": "10000"
        },
        "goodsQuantity": "1",
        "goodsName": "Goods No.1",
        "goodsSkuName": "SKU1",
        "goodsBrand": "AMSDM"
      }
    ],
    "env": {
      "clientIp": "1.1.1.1",
      "osType": "IOS",
      "terminalType": "WEB"
    },
    "extendInfo": "{}",
    "orderDescription": "AMSDM_GIFT",
    "buyer": {
      "referenceBuyerId": "zy****64",
      "buyerRegistrationTime": "2022-01-01T09:30:00+08:00",
      "buyerName": {
        "firstName": "Dehua",
        "lastName": "Liu",
        "fullName": "Dehua Skr Liu",
        "middleName": "Skr"
      }
    }
  }
}
```

<!-- /TabGroup -->

<!-- /TabGroup -->
 Based on the asynchronous notification of the authorized payment result sent by the   [**notifyPayment**](https://docs.antom.com/ac/ams/paymentrn_online.md)   API, you can determine whether the buyer opted for installment payments and the corresponding number of installments through the     *paymentResultInfo.creditPayPlan*     parameter. The following code shows a sample of the asynchronous notification:

 ```json
{
  "actualPaymentAmount": {
    "currency": "KRW",
    "value": "131020"
  },
  "cardInfo": {
    "avsResultRaw": "",
    "cardBrand": "SHINHAN",
    "cardCategory": "CONSUMER",
    "cardNo": "************4735",
    "credentialTypeUsed": "PAN",
    "creditPayPlan": {
      "installmentNum": 3,
      "interval": "MONTH"
    },
    "cvvResultRaw": "",
    "funding": "CREDIT",
    "issuingCountry": "KR",
    "paymentMethodRegion": "KR",
    "threeDSResult": {
      "cavv": "",
      "challengeCancel": "",
      "challenged": false,
      "eci": "",
      "threeDSOffered": false,
      "threeDStransactionStatusReason": ""
    }
  },
  "notifyType": "PAYMENT_RESULT",
  "paymentAmount": {
    "currency": "KRW",
    "value": "131020"
  },
  "paymentCreateTime": "2026-01-05T18:56:59-08:00",
  "paymentId": "2026010619*******0242270687",
  "paymentRequestId": "1015202601*******84010019",
  "paymentResultInfo": {
    "avsResultRaw": "",
    "cardBrand": "SHINHAN",
    "cardCategory": "CONSUMER",
    "cardNo": "************4735",
    "credentialTypeUsed": "PAN",
    "creditPayPlan": {
      "installmentNum": 3,
      "interval": "MONTH"
    },
    "cvvResultRaw": "",
    "funding": "CREDIT",
    "issuingCountry": "KR",
    "paymentMethodRegion": "KR",
    "threeDSResult": {
      "cavv": "",
      "challengeCancel": "",
      "challenged": false,
      "eci": "",
      "threeDSOffered": false,
      "threeDStransactionStatusReason": ""
    }
  },
  "paymentTime": "2026-01-05T18:57:01-08:00",
  "result": {
    "resultCode": "SUCCESS",
    "resultMessage": "success.",
    "resultStatus": "S"
  }
}
```
