Private preview
Set up a restaurant for titres-restaurant payments with the API Private preview
Use the Stripe API to onboard a restaurant to accept Bimpli, Pluxee, and Up Déjeuner French meal vouchers payments.
This guide shows how to onboard a restaurant to accept French meal vouchers payments using the Stripe API. If you prefer to use the Stripe Dashboard, see Set up a restaurant for titres-restaurant payments.
Before you begin, you must obtain a license from Commission Nationale des Titres-Restaurant (the related setting) and contract with each of the French meal vouchers issuers you want to support.
Private preview
API features are only available in private preview SDKs.
Stripe supports the following French meal vouchers issuers:
- Bimpli
- Pluxee
- Up Déjeuner
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.
Update the Stripe SDK
This feature requires preview Stripe version 2026-05-27.preview or later.
If you must use an SDK version that doesn’t support this feature, you can still access SDK private parameters. You can also use custom requests in any of the following SDKs to call private endpoints related to this feature:
- Ruby
- Python
- PHP
- Node
- Java
- .NET
- Go
Create a payment location
A PaymentLocation represents the physical restaurant or store where you accept meal vouchers payments. Each location maps to a single the related setting, the French 14-digit establishment identifier. If you operate multiple branches, create a separate payment location for each one.
Command Line
cURL
The API returns a PaymentLocation object:
{
"id": "loc_12345",
"object": "payment_location",
"display_name": "Pasta Paradise Paris",
"address": {
"line1": "999 Rue de Rivoli",
"city": "Paris",
"postal_code": "75001",
"country": "FR"
},
"business_registration": {
"siret": "29009360804163"
},
"capability_settings": {
"fr_meal_vouchers_conecs_payments": {
"supported_issuers": {
"card": [],
...
}
},
...
},
...
}
Save the id (for example, loc_12345). You need it to request onboarding and to create PaymentIntents.
Note
The the related setting and postal code must match the restaurant’s registration with the the related setting. You can’t change the country field after you create the location.
Request the meal vouchers capability
To onboard the location for French meal vouchers payments, request the fr_meal_vouchers_conecs_payments PaymentLocationCapability on your payment location. You don’t need to complete account-level onboarding steps for French meal vouchers—each physical location onboards individually.
Command Line
cURL
The API returns a PaymentLocationCapability object with status: "pending" and requirements[disabled_reason]: "pending.onboarding" while Stripe processes the onboarding request with Conecs. This process takes 1–2 business days.
{
"capability": "fr_meal_vouchers_conecs_payments",
"object": "payment_location_capability",
"account": "acct_12345",
"location": "loc_12345",
"requested": true,
"requirements": {
"currently_due": [],
"disabled_reason": "pending.onboarding",
"errors": []
},
"status": "pending"
...
}
Monitor onboarding status
Monitor the onboarding status to know when the location is ready to accept payments or when issues need your attention. You can either poll the API or listen to webhook events.
Poll the API
Retrieve the capability to check whether onboarding has completed:
Command Line
cURL
When onboarding succeeds, the status changes to active:
{
"capability": "fr_meal_vouchers_conecs_payments",
"object": "payment_location_capability",
"account": "acct_12345",
"location": "loc_12345",
"requested": true,
"requirements": {
"currently_due": [],
"disabled_reason": null,
"errors": []
},
"status": "active"
...
}
Listen to webhooks
Listen to webhook events to receive notifications when the onboarding status changes:
- payment _ location _ capability. updated : Sent when the capability’s status or requirements change.
- payment _ location. updated : Sent when the list of supported issuers for the PaymentLocation changes.
These events can arrive independently. Conecs can provide the list of supported issuers before onboarding is fully complete, so you might receive a payment_location.updated event before the capability becomes active. The supported_issuers arrays reflect which issuers are available for the location:
{
"id": "evt_12345",
"object": "event",
"type": "payment_location.updated",
"data": {
"object": {
"id": "loc_12345",
"object": "payment_location",
"capability_settings": {
"fr_meal_vouchers_conecs_payments": {
"supported_issuers": {
"card": ["up", "bimpli", "pluxee"],
...
}
}
}
...
}
}
...
}
You can accept French meal vouchers payments for a location as soon as the capability status is active.
Optional Resolve outstanding requirements
Optional Update location data after onboarding
Optional Set up a restaurant with Connect
Test your integration
In test mode, Stripe simulates the Conecs onboarding process without making a real network call. A capability moves to active as soon as all required location fields are valid.
Use the following the related setting and postal code combinations to test different onboarding scenarios:
| the related setting | Postal code | Resulting status | Notes |
|---|---|---|---|
42424242842427 | 75009 | active | Valid onboarded restaurant |
42424242842427 | Any valid postal code other than 75009 | pending ( requirements.fields_needed) | Postal code doesn’t match the the related setting |
| Any other valid the related setting | Any valid postal code | pending ( requirements.fields_needed) | the related setting either doesn’t exist or the restaurant doesn’t have the related setting approval |
The test the related setting and postal code combinations above simulate the errors described in Resolve outstanding requirements.
Next steps
After onboarding your restaurant, you can:
- Accept French meal vouchers payments for the location.
- Accept French meal vouchers payments with Connect if you’re using a Connect platform.
