Are you looking for test card numbers?

Would you like to contact support?

Payment-method icon

Titres-Restaurant for API only

Add Titres-Restaurant payments to an existing API-only integration.

Accept Titres-Restaurant payments using our APIs, and build your own payment form to have full control over the look and feel of your checkout page.

Before you begin

Before starting your Titres-Restaurant integration:

To start accepting Titres-Restaurant payments, you must:

  1. Get an official authorization from the Mealvoucher National Comission. From them, you receive a Carte de domiciliation CONECS with your CONECS MID.
  2. For each meal voucher that you want to accept, contact the meal voucher issuer (Sodexo, Up Déjeuner, or Natixis) for a contract.
  3. Contact our Support Team to activate the meal voucher payment method, and let us know:
    • SIRET (Your business registration ID)
    • The Conecs MID from your Carte de domiciliation CONECS.

Build your payment form for Titres-Restaurant

If you are using the /paymentMethods request to show the available payment methods to your shopper, specify the following in your request:

In the response, you receive the meal vouchers available to your shopper as elements in the paymentMethods array, for example:

    {
      {
          "name": "Up Titre-Restaurant",
          "type": "mealVoucher_FR_groupeup"
      },
      {
          "name": "Apetiz Titre-Restaurant",
          "type": "mealVoucher_FR_natixis"
      },
      {
          "name": "Sodexo Titre-Restaurant",
          "type": "mealVoucher_FR_sodexo"
      }
    }

Render logos and names of the available brands for the shopper to choose. When the shopper selects a type of meal voucher, show the payment form.

Check the balance

After the shopper enters the meal voucher details, check if the balance is enough to make a full payment.

  1. Make a /paymentMethods/balance request including:

    Field Required Description
    paymentMethod.type -white_check_mark- mealVoucher_FR
    paymentMethod.number -white_check_mark- The meal voucher number.
    paymentMethod.expiryMonth -white_check_mark- Expiry month of the meal voucher.
    paymentMethod.expiryYear -white_check_mark- Expiry year of the meal voucher.
    reference -white_check_mark- Your reference to uniquely identify the transaction. To provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.
    /paymentMethods/balance request
    curl https://checkout-test.adyen.com/v69/paymentMethods/balance \
    -H "x-API-key: YOUR_X-API-KEY" \
    -H "content-type: application/json" \
    -d '{
     "paymentMethod": {
        "type": "mealVoucher_FR",
        "number":"4242420100058007",
        "expiryMonth": "06",
        "expiryYear": "2023"
      },
        "reference": "YOUR_REFERENCE",
        "merchantAccount": "YOUR_MERCHANT_ACCOUNT"
       }'

    The response includes the balance of the meal voucher.

    /paymentMethods/balance response
    {
     "balance": {
        "currency": "EUR",
        "value": 2500
    },
     "pspReference": "ZQXDPCQ8HXSKGK82",
     "resultCode": "Success"
    }
  2. If the balance amount is equal to or greater than the full payment amount, then continue to make a payment.

    If the balance is less than the full payment amount, create an order and ask the shopper to make partial payments with the meal voucher and a different payment method.

Make a payment

From your server, make a /payments request, specifying:

Field Required Description
paymentMethod.type -white_check_mark- mealVoucher_FR.
paymentMethod.number -white_check_mark- The meal voucher number without separators.
paymentMethod.expiryMonth -white_check_mark- The expiry month of the meal voucher.
paymentMethod.expiryYear -white_check_mark- The expiry year of the meal voucher.
paymentMethod.cvc -white_check_mark- The CVC of the meal voucher.
curl https://checkout-test.adyen.com/v68/payments \
-H "X-API-key: YOUR_X-API-KEY" \
-H "Content-Type: application/json" \
-d '{
  "amount":{
    "currency":"EUR",
    "value":1000
  },
  "reference":"YOUR_ORDER_NUMBER",
  "paymentMethod": {
     "type": "mealVoucher_FR",
     "number":"2345678910111213",
     "expiryMonth": "06",
     "expiryYear": "2023",
     "cvc": "123"
   },
  "merchantAccount":"YOUR_MERCHANT_ACCOUNT"
}'

The /payments response contains:

Present the payment result

Use the resultCode from the /payments response to present the payment result to your shopper.

You will also receive the outcome of the payment asynchronously in a webhook notification. 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, you also need to 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 field. Inform the shopper that there was an error processing their payment.
Refused The payment was refused. For more information, check the refusalReason 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 (Sodexo, Up Déjeuner, or Natixis).

Before you can accept live payments, you must contact our Support Team to activate Titres-Restaurant in your live environment.

See also