Private preview
Save a customer's payment method without making a payment Private preview
Learn how to save a customer's French meal vouchers payment method using a SetupIntent.
Want to accept France titres-restaurant payments?
France titres-restaurant is in private preview. Enter your email address to join the waitlist. Stripe will contact you when we can onboard additional users.
Note
This guide is only for the following French meal vouchers issuers: Bimpli, Pluxee, and Up Déjeuner. It also requires preview Stripe version 2026-05-27.preview or later—see Update the Stripe SDK for setup instructions.
Before you begin
Set up your restaurant using the Payment Locations API. Make sure the location’s fr_meal_vouchers_conecs_payments capability status is active before saving payment details.
Review the Saved Payment Methods documentation
Before you start, review how to save a customer’s payment method without making a payment.
Create a SetupIntent
To specify that the payment method is set up as a French meal vouchers payment, pass the ID of your payment location in setup_details[location] and set setup_details[benefit][fr_meal_voucher][enabled] to if_payment_method_is_eligible:
Command Line
cURL
After you create the SetupIntent, return its client secret to the client.
Submit the payment details to Stripe
Use stripe.confirmSetup to complete the setup using details collected by the Payment Element. Provide a return_url to indicate where Stripe redirects the user after they complete setup.
Charge the saved payment method later
When you charge the saved payment method on-session, use the Customer and PaymentMethod IDs to create a PaymentIntent.
Pass the ID of your payment location in payment_details[location] and set payment_details[benefit][fr_meal_voucher][enabled] to if_payment_method_is_eligible:
French meal vouchers payments are in EUR only.
Command Line
cURL
Test your integration
You can use the following cards to test your integration:
| French meal vouchers issuer | Number | CVC | Expiry date |
|---|---|---|---|
| Bimpli with Conecs | Any 3 digits | Any future date |
Use the PaymentLocation ID from your test mode onboarding setup. Pass this location ID in setup_details[location] when creating the SetupIntent.
Temporary card authorization charge
When storing customer details, Stripe might send a request to the issuer to verify the card. A customer might see a 0.30 EUR charge on their bank statement resulting from this card authorization process. Stripe reverses this temporary charge almost immediately, restoring the charge to the customer’s daily balance.
