Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment Methods
Add payment methods
    Overview
    Payment method integration options
    Manage default payment methods in the Dashboard
    Payment method types
    Cards
      CITs and MITs
      How cards work
      Card product codes
      Cartes Bancaires
      eftpos Australia
      Co-badged cards compliance
      Instalments
    Pay with Stripe balance
    Crypto
    Bank debits
    Bank redirects
    Bank transfers
    Credit transfers (Sources)
    Buy now, pay later
    Real-time payments
    Vouchers
    Wallets
    Enable local payment methods by country
    Custom payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Handle multiple currencies
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Beyond payments
Incorporate your company
Crypto
Financial Connections
Climate
Understand fraud
Radar fraud protection
Manage disputes
Verify identities
HomePaymentsAdd payment methodsCards

Co-badged cards compliance

Learn about EU regulations requiring customer choice for co-badged cards.

Does this regulation apply to me?

Regulation (EU) 2015/751 applies to all businesses in the EEA that can process Cartes Bancaires. Sign in and return to this section to view if co-badged card regulation applies to you.

Applicable in:

Austria
Belgium
Bulgaria
Croatia
Cyprus
Czech Republic
Denmark
Estonia
Finland
France
Germany
Greece
Hungary
Iceland
Ireland
Italy
Latvia
Liechtenstein
Lithuania
Luxembourg
Malta
Netherlands
Norway
Poland
Portugal
Romania
Slovakia
Slovenia
Spain
Sweden

Regulatory requirements

Regulation (EU) 2015/751 requires businesses in the European Economic Area (EEA) to honour customers’ card brand choice for co-badged cards (for example, Cartes Bancaires cards co-badged with Visa). In practice, this means you must enable cardholders to select a preferred card brand within your checkout form in accordance with these guidelines:

  • Display the available card networks in your checkout form: All available card networks must be clearly identified during the checkout process. The visual quality, clarity, and size of the brand logos must be consistent, and it should be clear to cardholders how to select a card network.
  • Abide by the cardholder’s preferred card network: Where the cardholder chooses their preferred card network, you must use it when confirming a payment or storing card details for future use. If the cardholder doesn’t make a choice, you can choose your card network for the transaction.
  • Allow updates to the preferred card network: You must present cardholders updating their payment methods that are saved for future use with the option to change their preferred card network when they’re updating their payment details. For example, you can provide a customer portal for managing saved payment methods.

When regulation applies

Cartes Bancaires co-badged cards are the only Stripe-supported cards that fall under this regulation. As a result, Regulation (EU) 2015/751 applies to businesses that:

  • Are in the EEA1
  • Can process Cartes Bancaires

1Terminal integrations have specific regional requirements and can only process Cartes Bancaires cards in France.

Connect users

In Connect integrations, the merchant of record on a transaction is the business we use to determine if co-badged regulation applies. Depending on the Connect integration, this can either be the Platform or the Connected account.

Businesses that meet the above criteria are required to present customers with a choice of card network for all transactions that can processed with Cartes Bancaires. A transaction is eligible for Cartes Bancaires if:

  • The business can process Cartes Bancaires
  • The currency is EUR
  • The payment method is a co-badged Cartes Bancaires card

Using sandbox environments

Cartes Bancaires is always enabled in sandbox environments. As a result, you might see the network selector on Stripe-hosted UIs in a sandbox even if you don’t enable Cartes Bancaires. This allows you to preview how Stripe-hosted UIs might handle co-badged cards if Cartes Bancaires was enabled.

Integration guides

Stripe-hosted UIs, such as Checkout, Payment Links, Elements, and Stripe Terminal hardware, automatically display a network selector when you meet the applicability criteria, if configured according to the following guides. You can migrate to a Stripe-hosted UI to use these features.

For other integrations, you’re fully responsible for making sure your integration complies with the regulation requirements.

Enablement

The Card Element supports customer card brand choice automatically for eligible merchants whose integrations display the card icon.

  • To enable customer card brand choice in the Combined Card Element, set hideIcon to false or undefined.
  • To enable customer card brand choice in the Split Card Element, set showIcon to true.
The card input with a co-badged card in Card Element

Card input with a co-badged card

Card brand choice dropdown

The Card Element can’t detect the transaction currency. As a result, the card brand choice dropdown might display, even if the currency isn’t EUR. In the event that the selected network can’t process the transaction due to the currency, the other card network will process it instead.

Connect platforms

Connect platforms that use the on_behalf_of property with separate charges and transfers or destination charges must also specify onBehalfOf on the Elements group of the Card Element. This allows the Card Element to determine when to display the card brand choice dropdown.

client.js
const elements = stripe.elements({ onBehalfOf: 'CONNECTED_STRIPE_ACCOUNT_ID' }); const cardElement = elements.create('card');

Card Brand Choice and sources

Customer card brand choice in the Card Element is incompatible with Sources. The customer card brand choice dropdown might still appear if the payment is made using Sources, but the selected network won’t be honoured.

Selecting a default network

Normally, the dropdown appears without any default option selected. To select a default network, specify an array of networks from most to least preferred using the preferredNetwork option when creating the Card Element. The first network in the array that matches a network on the entered co-badged card is selected as the default. See the supported networks for valid values.

If you specify a value for preferredNetwork at create time, icons must be enabled (so that the Card Brand Choice dropdown can appear) and you can’t specify payment_method_options.card.network at confirm time.

client.js
const cardElement = elements.create('card', { hideIcon: false, preferredNetwork: ['cartes_bancaires', 'visa', 'mastercard'], });

Interaction with the networkschange event

The previous integration path to support customer card brand choice was to listen to the networkschange event and present the user with a choice of card network outside the Card Element. This integration path has been deprecated in favour of the Card Element’s native customer card brand choice dropdown.

The networkschange event truncates the returned networks array to a single network when the Card Element is eligible for the customer card brand choice dropdown. In effect, co-badged cards will appear to be regular single-network cards. This prevents legacy custom integrations from presenting a redundant network selection when customer card brand choice is already being handled within the Card Element.

Identifying network used to process a charge

The charge object associated with a successful payment contains a network field indicating which card network processed the payment. For example, for a transaction using a card, you can identify the network as follows:

{ "id": "ch_1Ff52K2eZvKYlo2CWe10i0s7", "object": "charge", ... "payment_method_details": { "card": { "brand": "visa", ... "network": "cartes_bancaires", }, "type": "card" } }

If you’re using a Terminal integration, review the specific regional requirements for how to identify the network used.

Testing

You can use the following co-badged cards to test your integration:

NumberBrandCVCDate
Cartes Bancaires or VisaAny 3 digitsAny future date
Cartes Bancaires or MastercardAny 3 digitsAny future date

If you’re using a Terminal integration, review the simulated test cards for cards that can be used with a simulated reader to verify network routing.

Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access programme.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc