---
title: "Titres-restaurant iOS Drop-in integration"
description: "Add Titres-restaurant to your iOS Drop-in integration"
url: "https://docs.adyen.com/payment-methods/titres-restaurant/ios-drop-in"
source_url: "https://docs.adyen.com/payment-methods/titres-restaurant/ios-drop-in.md"
canonical: "https://docs.adyen.com/payment-methods/titres-restaurant/ios-drop-in"
last_modified: "2026-06-01T15:33:15+02:00"
language: "en"
---

# Titres-restaurant iOS Drop-in integration

Add Titres-restaurant to your iOS Drop-in integration

[View source](/payment-methods/titres-restaurant/ios-drop-in.md)

On this page, you can find additional configuration for adding Titres-restaurant to your iOS Drop-in integration.

## Requirements

| Requirement          | Description                                                                                                                                                                                                                                                                                                                                                       |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Integration type** | Make sure that you have built your [iOS Drop-in integration](/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Drop-in). The minimum required version is 5.4.0.                                                                                                                                                                     |
| **Setup steps**      | Before you begin:- [Activate Titres-Restaurant](/payment-methods/titres-restaurant#activate) to get your *Carte de domiciliation CONECS*.
- [Add the meal voucher payment method in your Customer Area](/payment-methods/add-payment-methods), providing your SIRET (your business registration ID) and the Conecs MID from your *Carte de domiciliation CONECS*. |

## API reference

You do not need to send additional fields for Titres-Restaurant. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:

* [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions): This is the default with [Drop-in v5.0.0](/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Drop-in) or later.
* [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments): If you implemented an [additional use case](/online-payments/build-your-integration).

## Drop-in configuration

Select which endpoint you are integrating:

### Tab: `/sessions`

This is the default with [Drop-in v5.0.0](/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Drop-in) or later.

There is no required Titres-restaurant specific integration for iOS Drop-in.

## Show the payment result

The [payment result is returned](/online-payments/build-your-integration/sessions-flow/?platform=iOS\&integration=Drop-in\&version=5.9.0#handle-the-result) in the `didComplete` method.

### Tab: `/payments`

If you implemented an [additional use case](/online-payments/build-your-integration).

### Required configuration

Add the following events to your Titres-Restaurant configuration object to let the shopper make a [partial payment](/online-payments/partial-payments) with a meal voucher and pay the rest with another payment method:

| Event name     | Description                                                                                                                                                                                                                               |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `checkBalance` | Called when the shopper pays with a Titres-restaurant meal voucher. Make a [/paymentMethods/balance](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods/balance) request.                                            |
| `requestOrder` | Called when the Titres-restaurant meal voucher balance is less than the transaction amount. Make an [/orders](https://docs.adyen.com/api-explorer/Checkout/latest/post/orders) request with the `amount` of the total transaction amount. |
| `cancelOrder`  | Called when the shopper cancels the Titres-restaurant meal voucher transaction. Make an [/orders/cancel](https://docs.adyen.com/api-explorer/Checkout/latest/post/orders/cancel) request.                                                 |

**Partial payments for Titres-restaurant meal voucher**

```swift
extension MyCheckoutController: PartialPaymentDelegate {
    internal func checkBalance(with data: PaymentComponentData,
                               completion: @escaping (Result<Balance, Error>) -> Void) {
        // Make a POST /paymentMethods/balance request
        completion(.success(balance))
    }
    internal func requestOrder(_ completion: @escaping (Result<PartialPaymentOrder, Error>) -> Void) {
        // Make a POST /orders request
        completion(.success(order))
    }
    internal func cancelOrder(_ order: PartialPaymentOrder) {
        // Make a POST /orders/cancel request
    }
}
```

## Show the payment result

Use the  [resultCode](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#responses-200-resultCode) from the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) response to show the payment result to your shopper.

You will also receive the outcome of the payment asynchronously in a [webhook](/development-resources/webhooks). For Titres-restaurant payments, you can receive the following `resultCode` values:

| resultCode     | Description                                                                                                                                               | Action to take                                                                                                                                                                                         |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Authorised** | The payment was successful.                                                                                                                               | Inform the shopper that the payment has been successful. If you are using [manual capture](/online-payments/capture#manual-capture), you also need to [capture](/online-payments/capture) the payment. |
| **Cancelled**  | The shopper cancelled the payment.                                                                                                                        | Ask the shopper whether they want to continue with the order, or ask them to select a different payment method.                                                                                        |
| **Error**      | There was an error when the payment was being processed. For more information, check the [`refusalReason` ](/development-resources/refusal-reasons)field. | Inform the shopper that there was an error processing their payment.                                                                                                                                   |
| **Refused**    | The payment was refused. For more information, check the [`refusalReason` ](/development-resources/refusal-reasons)field.                                 | Ask the shopper to try the payment again using a different payment method.                                                                                                                             |

## Test and go live

To test Titres-restaurant payments, you must get test credentials directly from the meal voucher issuer (Bimpli, Sodexo, or Up Déjeuner).

Before you can accept live payments, you must contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to activate Titres-restaurant in your live environment.

## See also

* [iOS Drop-in integration guide](/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Drop-in)
* [Webhooks](/development-resources/webhooks)
* [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/overview)
