> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://ixopay.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ixopay.ferndocs.com/_mcp/server.

# Transaction indicators

Particularly for card payments you have to set the `transactionIndicator` in the transaction's data to indicate the type of CoF or recurring transaction.

| transactionIndicator          | Category          | Description                                                                               | Initiator |
| ----------------------------- | ----------------- | ----------------------------------------------------------------------------------------- | --------- |
| SINGLE                        | Industry practice | A one-off transaction (without any recurring options).                                    | Customer  |
| FIRST-CARDONFILE              | Industry practice | A one-off transaction, and the merchant stores the PAN themselves.                        | Customer  |
| CARDONFILE                    | Industry practice | Card-on-file transaction, initiated by the customer.                                      | Customer  |
| CARDONFILE-MERCHANT-INITIATED | Industry practice | Unscheduled card-on-file transaction.                                                     | Merchant  |
| INITIAL                       | Recurring         | The first transaction of a recurring series.                                              | Customer  |
| RECURRING                     | Recurring         | Subsequent transactions of a recurring series, which are usually initiated automatically. | Merchant  |
| MOTO                          |                   | Mail and telephone order.                                                                 |           |

## Single

A `SINGLE` transaction indicates a customer triggered one-off payment where the customer is present. If `withRegister` is sent with `true`, the payment instrument is stored for future use in *card-on-file* payments.

We highly recommend enabling [3-D Secure](https://documentation.ixopay.com/docs/reference/features/3d-secure) authentication for liability shift when the customer is present and initiating the transaction. This provides an additional layer of security and can help protect against chargebacks. 3-D Secure authentication might be required in certain regions, for example, refer to [EBA's PSD2 SCA](https://finance.ec.europa.eu/publications/strong-customer-authentication-requirement-psd2-comes-force_en) announcement.

| `transactionIndicator` | `SINGLE`                         |                           |
| ---------------------- | -------------------------------- | ------------------------- |
| `withRegister`         | `false`                          | `true`                    |
| `referenceUuid`        | n/a                              | n/a                       |
| 3DS recommendation     | `OFF`, `OPTIONAL` or `MANDATORY` | `OPTIONAL` or `MANDATORY` |
| Initiator              | Customer                         |                           |

> **Default**
>
> `SINGLE` is the default transaction indicator for [Debit](https://documentation.ixopay.com/api/transaction/debit) and [Preauthorize](https://documentation.ixopay.com/api/transaction/preauthorize) transactions where `withRegister` is `false`.

*Example* : cart checkout.

## First card-on-file

A `FIRST-CARDONFILE` transaction indicates a customer triggered one-off payment where the customer is present. This is equivalent to `SINGLE` where `withRegister` is `true`, except the token is not stored in the IXOPAY platform's vault but by the PCI-compliant merchant themselves.

We highly recommend enabling [3-D Secure](https://documentation.ixopay.com/docs/reference/features/3d-secure) authentication for liability shift when the customer is present and initiating the transaction. This provides an additional layer of security and can help protect against chargebacks. 3-D Secure authentication might be required in certain regions, for example, refer to [EBA's PSD2 SCA](https://finance.ec.europa.eu/publications/strong-customer-authentication-requirement-psd2-comes-force_en) announcement.

| `transactionIndicator` | `FIRST-CARDONFILE`        |
| ---------------------- | ------------------------- |
| `withRegister`         | `false`                   |
| `referenceUuid`        | n/a                       |
| 3DS recommendation     | `OPTIONAL` or `MANDATORY` |
| Initiator              | Customer                  |

> **PCI only**
>
> This transaction indicator only applies to the [PCI transaction API](https://documentation.ixopay.com/api/pci/pci-transaction-api) and merchants that are PCI certified.

*Example* : cart checkout.

## Card-on-file

A `CARDONFILE` transaction indicates a customer triggered one-off card-on-file payment where the customer is present. That means, the payment instrument was previously stored.

We highly recommend enabling [3-D Secure](https://documentation.ixopay.com/docs/reference/features/3d-secure) authentication for liability shift when the customer is present and initiating the transaction. This provides an additional layer of security and can help protect against chargebacks. 3-D Secure authentication might be required in certain regions, for example, refer to [EBA's PSD2 SCA](https://finance.ec.europa.eu/publications/strong-customer-authentication-requirement-psd2-comes-force_en) announcement.

| `transactionIndicator` | `CARDONFILE`                                                      |
| ---------------------- | ----------------------------------------------------------------- |
| `withRegister`         | `false`                                                           |
| `referenceUuid`        | `uuid` of a `SINGLE` transaction, where `withRegister` was `true` |
| 3DS recommendation     | `OPTIONAL` or `MANDATORY`                                         |
| Initiator              | Customer                                                          |

*Example* : cart checkout.

## Merchant-initiated card-on-file

A `CARDONFILE-MERCHANT-INITIATED` transaction indicates an *unscheduled* merchant-initiated card-on-file payment.

| `transactionIndicator` | `CARDONFILE-MERCHANT-INITIATED`                                  |
| ---------------------- | ---------------------------------------------------------------- |
| `withRegister`         | `false`                                                          |
| `referenceUuid`        | `uuid` of a `SINGLE` transaction where `withRegister` was `true` |
| 3DS recommendation     | not possible, cardholder not present                             |
| Initiator              | Merchant                                                         |

*Example* : automated balance top-up.

## Initial

An `INITIAL` transaction indicates the first transaction in a recurring series of scheduled payments, where the customer is present.

> **Transaction criteria**
>
> `INITIAL` and `RECURRING` indicators should only be used if the merchant intends to process payments at regular, consistent intervals, and always for the same amount.

We highly recommend enabling [3-D Secure](https://documentation.ixopay.com/docs/reference/features/3d-secure) authentication for liability shift when the customer is present and initiating the transaction. This provides an additional layer of security and can help protect against chargebacks. 3-D Secure authentication might be required in certain regions, for example, refer to [EBA's PSD2 SCA](https://finance.ec.europa.eu/publications/strong-customer-authentication-requirement-psd2-comes-force_en) announcement.

| `transactionIndicator` | `INITIAL`                 |
| ---------------------- | ------------------------- |
| `withRegister`         | `true`                    |
| `referenceUuid`        | n/a                       |
| 3DS recommendation     | `OPTIONAL` or `MANDATORY` |
| Initiator              | Customer                  |

> **Default**
>
> `INITIAL` is the default transaction indicator for [Debit](https://documentation.ixopay.com/api/transaction/debit) and [Preauthorize](https://documentation.ixopay.com/api/transaction/preauthorize) transactions where `withRegister` is `true`.

If you want to use a stored payment instrument (card-on-file) for recurring transactions, you can use this transaction indicator and send the `uuid` of the initial `SINGLE` transaction that registered the card as a `referenceTransaction`.

*Example* : customer subscribes to a monthly service.

## Recurring

A `RECURRING` transaction indicates a subsequent card-on-file transaction in a recurring series of payments, where the customer is not present.

@@CALLOUT\_OPEN|note|Transaction criteria@@

`INITIAL` and `RECURRING` indicators should only be used if the merchant intends to process payments at regular, consistent intervals, and always for the same amount.

| `transactionIndicator` | `RECURRING`                          |
| ---------------------- | ------------------------------------ |
| `withRegister`         | `false`                              |
| `referenceUuid`        | `uuid` of an `INITIAL` transaction   |
| 3DS recommendation     | not possible, cardholder not present |
| Initiator              | Merchant                             |

*Example* : Monthly billing of a subscribed service.

## Mail or telephone order

A `MOTO` transaction indicates the card data is entered by a service agent and not by the customer themselves.

| `transactionIndicator` | `MOTO`   |          |
| ---------------------- | -------- | -------- |
| `withRegister`         | `false`  | `true`   |
| `referenceUuid`        | n/a      | n/a      |
| 3DS recommendation     | exempted | exempted |

*Example* : call-center purchase.