Use the recommendations on this page to give shoppers a clear meal voucher payment experience. Regardless of sales channel, you should:
- Register your MIDs with the voucher issuers.
- Distinguish products that can be paid with a voucher from those that cannot.
- Have a strategy for handling split tenders, where the voucher balance does not cover the purchase amount of the eligible products.
- Test multiple scenarios.
Other recommendations on this page apply to either online payments or in-person payments.
Register your MIDs
Issuers decline meal voucher transactions from unregistered MIDs. Adyen receives a standard "card declined" response when this is the case, so we cannot inform you about the underlying reason. Therefore, make sure you register your MIDs with the issuer before you start accepting their meal vouchers.
The setup depends on the voucher network.
For single-branded vouchers, such as Monizze and Pluxee in Belgium through Intersolve or French vouchers through Conecs:
- Where required, make sure you have a national authorization such as registration with Commission Nationale des Titres-Restaurant (CNTR) in France.
- Ask your Adyen contact to enable the relevant network on your merchant account.
- Make sure you have a contract with each issuer and register your MIDs with them.
For vouchers that are co-branded with Mastercard, such as Edenred in Belgium and Spain:
- Determine the voucher types you want to accept and the stores where those voucher types are legally applicable.
- Register your Mastercard MID with each issuer, making sure to do this for each voucher type separately.
Validate eligibility of products
National regulations define the product categories that each voucher type can pay for. Issuers decline a payment when your MID is not registered for the voucher type or when your MCC is not eligible for the voucher type.
Proceed as follows:
- Check the line items in the shopper's basket.
- For online payments:
- Only show voucher types that match the eligible products. For example, only show eco-cheques when the basket contains eligible eco-products.
- If the basket has eligible and ineligible items, show which portion the voucher can pay for.
- When you include order lines in an API request, provide accurate product categories. Issuers and networks can use line-item data to validate eligibility.
- For in-person payments:
Do not combine voucher-eligible and ineligible items in one voucher tender. Split the basket before payment.
Present as payment option
A dedicated payment option on your checkout for the voucher, regardless of whether the voucher is co-branded with a global card scheme, ensures that the payment uses the correct network and acquirer path. It also lets you validate product eligibility before authorization, and prepares shoppers for having to use a second payment method if the voucher covers only a portion of the transaction.
Follow these guidelines:
- Do not ask shoppers to enter voucher card details in your standard card payment form. Instead, present each meal voucher brand as a separate payment method.
- Use Drop-in or Components to show each supported voucher brand.
- Only show voucher brands that apply to the store's country. For example, do not show Belgian eco-cheques on a Dutch or Spanish ecommerce store.
Handle split tenders
The term "split tender" refers to the situation where the balance on the voucher is lower than the purchase amount, and the customer needs to pay the remainder with a different payment method, such as a credit card or cash.
You need to prepare your integration to collect any remaining amount with a second payment method. The available approach depends on the sales channel and the voucher network.
-
For online payments, you can integrate partial payments to split an order between payment methods. However, this only works for single-branded "non-scheme" meal vouchers, which are routed through Intersolve or Conecs. Meal vouchers that are co-branded with Mastercard are "scheme" meal vouchers.
-
For both online and in-person payments you can integrate partial authorizations, also called partial approvals. When the voucher does not cover the transaction amount in full, the issuer normally declines the transaction. But if your payment request includes a parameter to allow partial authorization, this asks the issuer to authorize less than the transaction amount instead of declining the transaction. You can then make a second payment request for the remainder.
-
Because there is no guarantee that all issuers support partial authorizations, we recommend that for certain vouchers you first check the balance on the meal voucher. You can then make a voucher payment that does not exceed the funds on the voucher, and a second payment request for any remaining amount.
Also note that for in-person payments you need to verify that your POS system supports multiple tenders for one transaction.
Mastercard-based vouchers
This applies to meal vouchers co-branded with Mastercard, including Edenred in Belgium and Spain. For these voucher types, you can use partial authorizations. If the voucher balance is lower than the requested amount, the issuer can authorize the available amount instead of declining the payment. You can then collect the remaining amount with another payment method.
For online payments, you need to ask our Support Team to enable partial authorizations.
To handle an insufficient balance:
-
Send a payment request for the full eligible basket amount and a parameter to allow partial authorization.
-
Check the response and decide if you need to follow up on the initial payment request.
-
If the full amount is authorized, no follow-up is needed.
-
If the response shows a partial amount is authorized, collect the remaining amount with a different payment method by sending a follow-up payment request with:
- The remaining amount.
- The parameter to allow partial authorization.
- A reference parameter value that enables you to connect the two partial authorizations in your reconciliation process.
-
If the payment is declined, ask the shopper to enter a lower voucher amount and try again. You can then make a follow-up payment request as described above to collect the remaining amount.
-
Intersolve-based vouchers
This applies to Monizze, Pluxee in Belgium, and Lunch Check in Switzerland. For these issuers, first check the available funds on the voucher. This minimizes the number of declines and retry attempts. Inform the customer, so that they understand the situation beforehand. You can then make a payment request for the available amount on the voucher and collect the remaining amount with another payment method.
One of the ways to check the balance on gift cards and meal vouchers is to use the Stored Value API. However, this only works for "non-scheme" meal vouchers. For "scheme" meal vouchers (vouchers that are co-branded with Mastercard) you can check the balance using a Checkout API /paymentMethods/balance request in the case of online payments, or a Terminal API BalanceInquiry request in the case of in-person payments.
To handle a split tender:
-
Ask the shopper for their voucher details.
-
Check the balance using the method that matches your integration and the voucher type.
-
Tell the shopper how much the voucher can pay and what amount remains.
-
Send a voucher payment request for the available balance, or for the full amount when the balance is sufficient.
-
If an amount remains, send another payment request, letting the shopper choose a different payment method.
Show a clear receipt
Print a receipt that shows the voucher amount and, when the issuer supports it, the remaining balance.
Show a clear decline message
Do not show a generic payment failure message when a voucher payment is declined. Explain the reason and the next step.
- For an insufficient balance, ask the shopper to use the voucher for a lower amount and pay the remainder with another method.
- For ineligible products, identify the items that the voucher cannot pay for.
- For an unregistered MID, resolve the setup issue during onboarding. Do not ask the shopper to take action.
Recurring payments and refunds
Do not save voucher tokens for recurring or saved-payment flows unless the issuer explicitly supports this. Most voucher types do not support recurring payments.
Refund behavior depends on the voucher network. Refund a voucher payment to the original voucher whenever possible, in case the issuer or applicable regulation does not permit refunding to a different payment method.
| Network | Refund flow |
|---|---|
| Mastercard, such as Edenred in Belgium and Spain | Use the standard Mastercard refund flow. |
| Intersolve, such as Monizze and Pluxee in Belgium | Adyen processes the refund through Intersolve. |
| Conecs in France | Refunds are not supported for meal voucher (Titres-restaurant) payments through Conecs. Explain this at checkout. Instead of a refund, provide store credit or another remedy. |
Testing
Before you go live, test a payment where the voucher covers the full amount, part of the amount, and none of the amount.