Are you looking for test card numbers?

Would you like to contact support?

Payment-method icon

Credit card installments

Learn how to accept credit card purchases in installments.

Paying in installments is the most popular form of credit card purchase in Brazil and Mexico, and widely used in Turkey.

Credit card installments are also available for some Mastercard holders in the United Kingdom, but follow a different integration flow. For more information, see Mastercard Installments UK.

When a shopper makes a purchase in installments, the cost is split into multiple smaller payments, each referred to as an installment. These are charged to the shopper's credit card every 30 days until their purchase has been paid in full. This is popular with shoppers as they receive goods or services immediately, but spread the cost of the purchase over multiple months.

Making an installment purchase requires one API call, and is similar to making a regular credit card payment. The first installment is immediately charged to the shopper's credit card, and all future installments will be charged automatically.

Payment Type 3D Secure supported Refunds Partial Refunds Captures Partial Captures Chargebacks
Credit card Yes, for supported cards. Yes Yes

Brazil and Mexico: Supported

Turkey: Not supported




You can accept credit card installment payments with:

Integrate with Checkout SDKs

Here we describe how to make installment purchases with our Checkout SDKs.

Before you begin this section, make sure you read and understand our SDK Integration guides.

When you offer installments to your shopper, the SDK renders a selector in your credit card form. Here, the shopper can choose the number of installments they want to pay, up to a maximum that you specify in the /paymentSession call.

To offer installments to your shoppers:

  • Make a /paymentSession call to create a payment session, and include a configuration object with:

    • installments.maxNumberOfInstallments: The maximum number of installments you want to offer the shopper. For more information on how many installments you can offer, see number of installments.

    The example below shows how you would make a 120 Brazilian Real (BRL) purchase that can be paid in a maximum of 6 installments of 20 BRL, using our Checkout SDK for Web.

    In Brazil, you can charge interest to shoppers paying in installments. To do this, add the interest to the amount.value.

      "reference":"installments test",

The response contains the paymentSession you need to initialize the SDK.

Integrate with API

In this section we show you the API integration steps for making installment purchase with our API integration.

Before you begin this section, make sure you read and understand our API Integration guide.

Step 1: Collect shopper details

The integration steps for collecting a shopper's card details for installments is the same as for a regular credit card payments.

To collect the shopper's card details, you can either:

Collect with Card Component

To add the Card Component to your payments form:

  1. Create a DOM element, placing it where you want the card form to be rendered:

    <div id="card"></div>
  2. Create an instance of the Card Component, and mount it:

    const card = checkout.create("card", {
        onChange: handleOnChange
  3. Create a function to listen to and handle the onChange event triggered by the Component:

    function handleOnChange(state, component) {
        state.isValid // true or false.
        /* {type: "scheme",
            encryptedCardNumber: "adyenjs_0_1_18$MT6ppy0FAMVMLH...",
            encryptedExpiryMonth: "adyenjs_0_1_18$MT6ppy0FAMVMLH...",
            encryptedExpiryYear: "adyenjs_0_1_18$MT6ppy0FAMVMLH...",
            encryptedSecurityCode: "adyenjs_0_1_18$MT6ppy0FAMVMLH..."}
  4. When state.isValid is true, collect the encrypted values passed in the

Use the encrypted values to make the payment.

To configure how the Card Component renders in your payment form, see Configuring the Component.

Collect with your own payments form 

If you're using your own payments form, when a shopper chooses to pay by card:

  • Collect the following card details from the shopper in your payment form using Custom Card Component:

    If you are PCI Level 1 or 2 certified you can pass raw card data instead.

    Card details Example input
    The card number "4111111111111111"
    The card expiry month "03"
    The card expiry year "30"
    The security code (CVV / CVC) "737"
    Optional: The card holder's name. Do not encrypt this. "J Smith"

Use the encrypted card values passed by the Custom Card Component to make the payment.

Step 2: Make payment

To make the installment purchase with our Checkout API:

  • Make a regular credit card payment with a /payments API call, and additionally include: 

    • installments.value: The number of installments. For more information on how many installments you can offer, see number of installments.

    The example below shows how you would make a 120 Brazilian Real (BRL) purchase that will be paid in 6 installments of 20 BRL.

    In Brazil, you can charge the shopper interest for paying in installments. To do this, add the interest to the amount.value.

      "reference":"installments test",
        "encryptedCardNumber": "adyenjs_0_1_18$MT6ppy0FAMVMLH...",
        "encryptedExpiryMonth": "adyenjs_0_1_18$MT6ppy0FAMVMLH...",
        "encryptedExpiryYear": "adyenjs_0_1_18$MT6ppy0FAMVMLH...",
        "encryptedSecurityCode": "adyenjs_0_1_18$MT6ppy0FAMVMLH..."

    Here we use encrypted card details, generated using the Card Component. If you are PCI Level 1 or 2 certified, you can provide raw card data instead.

If the payment is successful, you receive: 

  • pspReference: Our unique identifier for the transaction.
  • resultCode: Authorised

Step 3: Present payment result

  • Use the resultCode you received from the /payments endpoint to present the shopper with the result of the payment in your website or app. Check our result codes documentation for information on what these mean.

Installment notifications

Our notifications are webhooks informing you of important events related to your account. Although accepting notifications is not required for installment payments, we strongly recommend that you do.

To inform you of the outcome of a payment, we send you a notification with:

  • eventCode: AUTHORISATION.
  • pspReference: Adyen's unique reference associated with the payment request.
  • success: Indicates the outcome of the payment. Possible values:

    • true: The payment was authorised.
    • false: The payment failed.

You receive this notification for the installment purchase, but not for each installment payment. You can track whether an installment payment is successful with the Settlement detail report. For more information, see Reconcile installment payments.

AUTHORISATION is just one of the events that trigger a notification. Refer to Notification webhooks to accept notifications and learn about their structure and content.

Number of installments

The number of installments you can offer to your shopper depends on their country:

Country Number of installments
Brazil You choose the number of monthly installments.
Mexico Either 3, 6, 9, 12, or 18 monthly installments.
Turkey Either 2, 3, 6, or 9 monthly installments.

Getting paid

How installment payments are processed, and when you receive the funds, depend on the shopper's country. For more information, refer to the country-specific information for Brazil, or Mexico and Turkey.


In Brazil, you receive funds for each installment as it is settled. There is a settlement delay of 30 days.

We also offer advancements if you need funds sooner. There is an additional fee for this service. Contact your Adyen Account Manager for details. 

For more information on how installments are settled and reconciled in Brazil, see Reconcile installment payments.

Mexico and Turkey

For installment purchases made in Mexico or Turkey, you will receive the funds in-full when the first installment is settled.

You will be charged an additional fee by card schemes for installment purchases in Mexico and Turkey. Contact your Adyen Account Manager for details.

Configuring the Component

When creating an instance of the Card Component, you can optionally specify:

Field Description Default
enableStoreDetails Set to true to show the check box for saving the card details for recurring payments. false
hasHolderName Set to true to show the input field for the card holder name. false
holderNameRequired Set to true to make the card holder name a required field. To show the field, you additionally need to set hasHolderName to true. false
holderName String that is used to prefill the card holder name field. Empty
name String that is used to display the payment method name to the shopper. Depends on the shopperLocale specified in /paymentMethods request.
brands Array of card brands that will be recognized by Drop-in. For a list of possible values, refer to Supported card types. ['mc','visa','amex']
showBrandIcon Set to false to have Drop-in not show the brand logo when the card brand has been recognized. true
styles Set a style object to customize the card input fields. For a list of supported properties, refer to Styling card input fields.
// Define style object
var styleObject = {
  base: {
    color: 'black',
    fontSize: '16px',
    fontSmoothing: 'antialiased',
    fontFamily: 'Helvetica'
  error: {
    color: 'red'
  placeholder: {
    color: '#d8d8d8'
  validated: {
    color: 'green'
const card = checkout.create("card", {
    // Options
    enableStoreDetails: true,
    hasHolderName: true,
    holderNameRequired: true,
    brands: ["visa", "amex"],
    styles: styleObject

Testing credit card installments

Before making installment payments with live credit cards, use our test card numbers to test your integration.

In Turkey, you can also test installment purchases using Izyico's test card numbers.

You can check the status of a test installment purchase in your Customer Area > Transactions > Payments.

See also