# Installment Payments and Interest Strategies

This guide explains how to perform installment (parcelado) payments with an Integrated POS using the `Sale` operation. Installments behave identically across USB and Network connections. Rules and plans depend on country and card brand.

## What are installment payments

Installment payments split the transaction amount into multiple charges. The automation system sends `Sale` with `Installments`, `PlanId`, and `Interest` (and optionally `OperationMode`) so the terminal can apply the correct plan and interest. If a parameter is omitted, the POS can display plan/installment selection on screen. Availability depends on commerce and terminal configuration.

## Before you begin

Before performing an installment payment:

* A Connector must be created and validated using `Polling`
* Integrated POS Mode must be active
* The commerce and terminal must be enabled for installment transactions

## Step 1: Execute an installment sale

To perform an installment payment, you must call the `Sale` operation with the appropriate parameters. If a required value is not provided, the POS will prompt the operator to select the plan or installments manually.

| Parameter | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| `Amount` | Long | No | Transaction value in local currency. |
| `SaleType` | Enum | No | Must be `Card` for installment payments. |
| `Installments` | Int | No | Number of installments. |
| `PlanId` | String | No | Installment plan identifier (e.g. Argentina). See [Installment Plans and Plan Ids](/en/integrated-pos/reference/installment-plans). |
| `Interest` | Enum | No | Whether the plan includes interest: `OnPosSelection`, `Interest`, or `NoInterest`. |
| `OperationMode` | Enum | No | Who calculates the final amount: `CalculatedGetnet` (the terminal calculates) or `CalculatedISV` (your application calculates and sends the final amount). |
| `CallerId` | String | No | ID generated by the automation system, required to later query the transaction with Check Status. No special or Unicode characters. |

<Callout type="warning">

Installment rules, allowed plans, and interest options depend on country and card brand and are validated by the POS. For Argentina, see the Plan Ids annex; if `PlanId` is plan_emisor or plan_emisor_accelerated and the merchant has "Plan Cuotas", the response may contain plan_getnet_simple in `PlanId`.

</Callout>

<Callout type="note">

These installment parameters apply to card sales only. For QR Code sales, `Installments`, `PlanId`, `Interest`, `OperationMode`, and `Tip` are ignored — the wallet applies its own installments. See [QR Code Payment](/en/integrated-pos/pos-payment-guides/qr-code-payment).

</Callout>

The following example demonstrates how to call a sale with 3 installments and interest:

```csharp
var saleRequest = new SaleRequest
{
    Amount = 120000,
    SaleType = SaleType.Card,
    Installments = 3,
    PlanId = "plan_emisor_accelerated",
    Interest = InterestType.Interest
};

var saleResult = await connector.SaleAsync(saleRequest);
```

Once the request is initiated, the POS handles the transaction flow and cardholder interaction.

## Step 2: Handle the response

A successful installment sale returns the standard `Sale` response structure. Below is an example of a complete response for a sale with installments:

```json
{
  "Code": 0,
  "Message": "APPROVED",
  "OperationMode": "CalculatedGetnet",
  "AuthorizationCode": "551437",
  "Amount": 120000,
  "OriginalAmount": 120000,
  "AccountingDate": "2025-08-25T16:11:23.0000000Z",
  "RealDate": "2025-08-25T13:11:50.8570000-03:00",
  "SaleType": "Card",
  "CommerceCode": "1234567890",
  "TerminalId": "GET00123",
  "PlanId": "plan_emisor_accelerated",
  "Interest": "Interest",
  "Installments": 3,
  "CallerId": "123456-789000",
  "CardBin": "84168075"
}
```

As shown above, the response includes the final plan and interest details applied by the POS. Always verify the `Code` parameter before processing the result.

## Interest and operation mode

Who calculates and applies interest is controlled by the `Interest` and `OperationMode` parameters.

`Interest` values:

* **OnPosSelection**: The user chooses on the POS whether the plan includes interest.
* **Interest**: The plan includes interest charges.
* **NoInterest**: The plan does not include interest.

`OperationMode` values:

* **CalculatedGetnet**: The terminal calculates the final amount and interest, based on internal business rules and real-time input collected during the payment flow. This is the default when `OperationMode` is omitted, so the amount sent may change based on `PlanId`, `Interest`, and `Installments`.
* **CalculatedISV**: Your application calculates and sends the final amount to charge; the terminal does not modify it.

Regardless of the mode, the response always returns the final charged amount, the `Installments` used, and the other fields describing the confirmed payment conditions.

### Credit card behavior

When a credit card is detected, the terminal validates which plans and interest configurations the merchant allows, resulting in three behaviors:

1. **No installment data sent** (`OperationMode`, `PlanId`, `Interest`, `Installments`) — the terminal prompts the operator to select the plan and number of installments on the device.
2. **Data sent but not allowed** for the merchant or card — the terminal lets the user choose a different option, because the requested conditions are not authorized.
3. **Data sent and valid** — the terminal skips the plan, interest, and installment selection screens and goes straight to payment confirmation.

### Parameter combinations

The combination of `PlanId`, `OperationMode`, `Interest`, and `Installments` determines the outcome:

| PlanId | OperationMode | Interest | Installments | Result |
| :--- | :--- | :--- | :--- | :--- |
| `contado` | CalculatedISV | NoInterest | 1 (or none) | Processes the transaction with a single installment. |
| `contado` | CalculatedISV | NoInterest | 2–99 | Error — `contado` does not allow more than one installment. |
| `contado` | CalculatedISV | Interest | any | Error — CalculatedISV does not allow installments with interest. |
| `contado` | CalculatedGetnet | NoInterest | 1 (or none) | Processes the transaction with a single installment. |
| `contado` | CalculatedGetnet | NoInterest | 2–99 | Error — `contado` does not allow more than one installment. |
| `contado` | CalculatedGetnet | Interest | 1 | Error — `contado` does not allow transactions with interest. |
| `contado` | CalculatedGetnet | Interest | 2–99 | Error — `contado` does not allow more than one installment. |
| Other plans | CalculatedISV | NoInterest | none | Prompts for installments on screen. |
| Other plans | CalculatedISV | NoInterest | 1–99 | Checks whether the installment value is allowed; prompts on screen if not. |
| Other plans | CalculatedISV | Interest | any | Error — CalculatedISV does not allow installments with interest. |
| Other plans | CalculatedGetnet | NoInterest | none | Prompts for installments on screen. |
| Other plans | CalculatedGetnet | NoInterest | 1–99 | Checks whether the installment value is allowed; prompts on screen if not. |
| Other plans | CalculatedGetnet | Interest | none | Prompts for installments on screen. |
| Other plans | CalculatedGetnet | Interest | 1–99 | Checks whether the installment value is allowed; prompts on screen if not. |

Availability also depends on the selected plan, country, and card brand. See [Installment Plans and Plan Ids](/en/integrated-pos/reference/installment-plans).

## Next steps

* For basic Sale operation and parameters without installments, see the [Single-Step Payment](/en/integrated-pos/pos-payment-guides/single-step-payment) guide.
* To accept digital wallet payments, refer to the [QR Code Payment](/en/integrated-pos/pos-payment-guides/qr-code-payment) guide.
* For a complete list of available plans and country-specific rules, consult the [Installment Plans Reference](/en/integrated-pos/reference/installment-plans).