# Create Card Present Payments with Installments

This guide explains how to process installment-based payment transactions in a **Card Present (CP)** environment using the Getnet Regional API. Installments allow customers at a physical terminal to divide the total purchase price into smaller, equal amounts paid over time, with the transaction secured by the physical presence of the card.

## Requirements

Before following the steps, you need to:

- **API Credentials**: Contact the Integration Support team to get your `client_id` and `client_secret`.
- **Bearer Token**: Generate your token using the [Authentication endpoint](https://api.pre.globalgetnet.com/authentication/oauth2/access_token).
- **Hardware Setup**: Ensure your physical terminal (POS/mPOS) is registered and you have valid terminal identifiers: `terminal_number`, `logical_code`, and `serial_number`.

> Getnet provides a **Bruno/Postman Collection** to help you replicate these hardware-specific use cases locally.

> **Payment facilitators**: When Getnet enables your credential as a payment facilitator, you must also send the `data.sub_merchant` object on this request. Card-present payment facilitator transactions are available in Brazil. See [Payment Facilitators](/en/global-api/reference-global/payment-facilitators).

## Use Case Specifics: Card Verification Methods

Card Present transactions require a **Cardholder Verification Method (CVM)** and an **Entry Mode** defined in the `card` object.

- **Chip + PIN**: Requires the hardware to capture an encrypted `pin_block` and a `ksn` (Key Serial Number).
- **Chip (No CVM)**: Used for low-value transactions or contactless taps that do not require a PIN.
- **Magnetic Stripe**: The card is swiped, and the full `track_2` data is transmitted.

## Understanding Card Present Installments

In a Card Present flow, an installment payment is created as a **single transaction**. The breakdown and settlement are managed automatically by the card network based on the plan selected during the physical card read.

### How Settlement Works

Installment settlement rules vary by region and card scheme. For a full breakdown of merchant vs. issuer financing and regional constraints, refer to the [Installments Reference](/en/global-api/reference-global/installments-rules).

## Installment Payment Process

The process involves two main steps: requesting available installment offers for the specific card inserted into the terminal and submitting the payment with the selected option.

### Step 1: Request Available Installment Offers

Before initiating the payment, you must query the available installment offers for the card inserted into your hardware reader using the [Get Installments endpoint](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/installments/post/dpm/payments-gwproxy/v2/payments/quotes).

The API expects the following details:

| Attribute | Description | Required |
| --- | --- | --- |
| `amount` | Total transaction amount in cents. | Yes |
| `bin` | The first 6 or 9 digits of the physical card read. | Yes |
| `installment_type_filter` | Filter results by `no_interest` or `with_interest`. | No |

**Example Request:**

```bash
curl --request POST \
  --url https://api.pre.globalgetnet.com/dpm/payments-gwproxy/v2/payments/quotes \
  --header 'authorization: Bearer <YOUR_TOKEN>' \
  --header 'content-type: application/json' \
  --data '{
  "amount": 100000,
  "bin": "515590122",
  "installment_type_filter": "no_interest"
}'

```

Extract the `quote_id` and `schema` from the response to use in the payment request.

### Step 2: Create the Card Present Payment with Installments

Once the customer selects their installment plan on the terminal, use the [Create - Authorize endpoint](https://api.pre.globalgetnet.com/dpm/payments-gwproxy/v2/payments) to process the payment.

For Card Present installment flows, you must set the `data.payment.payment_method` to **`DIRECT_CREDIT`**.

#### CP-Specific Installment Attributes

For base payment fields, refer to the [Payment API Reference](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/payments).

| Object | Attribute | Description | Required |
| --- | --- | --- | --- |
| `terminal` | `terminal_number` | The unique ID of the hardware reading the card. | **Yes** |
| `terminal` | `logical_code` | The logical code assigned to the terminal. | **Yes** |
| `terminal` | `serial_number` | The physical serial number of the terminal device. | **Yes** |
| `card` | `entry_mode` | Identifies how the card was read (`chip`, `magnetic_stripe`, etc.). | **Yes** |
| `card` | `cardholder_verification_method` | Logic for cardholder verification (`online_pin` or `no_cvm`). | **Yes (Chip)** |
| `card` | `emv` | The TLV string captured from the card's chip. | **Yes (Chip)** |
| `card` | `ksn` | The DUKPT Key Serial Number for PIN decryption. | **Yes (PIN)** |
| `additional_data.installment` | `quote_id` | The unique identifier from the installment query response. | **Yes** |
| `additional_data.installment` | `schema` | The specific installment schema selected. | **Yes** |

#### Example 1: Installment Payment with Chip + Online PIN

Used when the customer inserts their card and enters a PIN on the physical terminal to pay in installments.

```json
{
  "idempotency_key": "63c7f8ee-51a6-470d-bb76-ef762b62bfb9",
  "request_id": "daac03dc-73db-453f-9bea-b1391669d5d3",
  "order_id": "RETAIL-ORDER-202",
  "data": {
    "amount": 100000,
    "currency": "CLP",
    "customer_id": "ed2da8dd-1ba9-46e9-8501-f7987dcd9964",
    "payment": {
      "payment_method": "DIRECT_CREDIT",
      "transaction_type": "INSTALL_NO_INTEREST",
      "number_installments": 3,
      "soft_descriptor": "MINHA*LOJA",
      "terminal": {
        "terminal_number": "21000334",
        "logical_code": "21000334",
        "serial_number": "CS21000334A"
      },
      "card": {
        "entry_mode": "chip",
        "cardholder_verification_method": "online_pin",
        "seq_number": "000",
        "pin_block": "A0B6BA8D53C8D3C3",
        "ksn": "BC756011020000400001",
        "emv": "9f2701809f3303e0f8c8950580000080009f37045d21705a9f100706010a03a0b8089f2608819ba36f3f7934149f360205b782021c009c01009f1a0204849a032002279f02060000000309605F2A0200325f3401019f34031e03009f120c56495341204352454449544f5f201a2f435249535449414E2047414C494E444F2043484156455A2020",
        "aid": "A0000000031010",
        "track_2": "4508830000001759=281028102800006930"
      }
    },
    "additional_data": {
      "installment": {
        "schema": "no_interest",
        "type": "no_interest",
        "quote_id": "4a29251d-41af-41fc-ac74-fa131e215e1b"
      }
    }
  }
}

```

#### Example 2: Installment Payment with Chip (No PIN)

Used for installment payments where no PIN entry is required.

```json
{
  "idempotency_key": "c07372cf-6d11-4980-801f-a365840a0386",
  "data": {
    "amount": 100000,
    "currency": "CLP",
    "payment": {
      "payment_method": "DIRECT_CREDIT",
      "transaction_type": "INSTALL_NO_INTEREST",
      "number_installments": 3,
      "terminal": {
        "terminal_number": "123456",
        "logical_code": "123456",
        "serial_number": "CS123456A"
      },
      "card": {
        "entry_mode": "chip",
        "cardholder_verification_method": "no_cvm",
        "emv": "9f2701809f3303e0f8c8950580000080009f37045d21705a9f100706010a03a0b8089f2608819ba36f3f7934149f360205b782021c009c01009f1a0204849a032002279f02060000000309605F2A0200325f3401019f34031e03009f120c56495341204352454449544f5f201a2f435249535449414E2047414C494E444F2043484156455A2020",
        "aid": "A0000000031010",
        "track_2": "4508830000001759=281028102800006930"
      }
    },
    "additional_data": {
      "installment": {
        "schema": "no_interest",
        "type": "no_interest",
        "quote_id": "4a29251d-41af-41fc-ac74-fa131e215e1b"
      }
    }
  }
}

```

### Response Example

Upon success, the API returns the calculated installment breakdown.

```json
{
  "status": "APPROVED",
  "payment_id": "053de7f9-3725-437b-bdfc-bbf3ed0acb75",
  "installments": {
    "number_installments": 3,
    "installment_value": 33334,
    "total_amount": 100002
  }
}

```

### Step 3: Check Payment Status (Optional)

Successful installment payments will return a status of `APPROVED`. You can verify the transaction status at any time using the [Get Transaction endpoint](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/payment-record-management/get/dpm/hub-payment-info/v1/payments/info/{payment_id}).

## Next Steps

* Learn how to process [Single-Step Payments](/en/global-api/sep-card-present/payment-guides-cp/single-step-payment-cp).
* Explore [Two-Step Pre-authorizations](/en/global-api/sep-card-present/payment-guides-cp/pre-auth-payment-cp).