# Co-badged cards compliance Learn about EU regulations requiring customer choice for co-badged cards. [Regulation (EU) 2015/751](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex%3A32015R0751) requires businesses in the European Economic Area (EEA) to honor customers’ card brand choice for co-badged cards (for example, [Cartes Bancaires](https://docs.stripe.com/payments/cartes-bancaires.md) cards co-badged with Visa). This means you must allow cardholders to select a preferred card brand on your payment page in accordance with these guidelines: - **Display the available card networks on your online payment page or in-person checkout flow:** 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. > #### Does this regulation apply to me? > > [Regulation (EU) 2015/751](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex%3A32015R0751) applies to all businesses in the EEA that can process Cartes Bancaires. [Sign in](https://dashboard.stripe.com/login?redirect=https%3A%2F%2Fdocs.stripe.com%2Fco-badged-cards-compliance) and return to this section to view if co-badged card regulation applies to you. ## When regulation applies [Regulation (EU) 2015/751](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex%3A32015R0751) applies to the following businesses and Stripe-supported transaction types: | Payment channel | Subject to card brand choice regulation | Transaction types | | --- | --- | --- | | Online | Businesses in the EEA that can process Cartes Bancaires | The payment method is a co-badged Cartes Bancaires card, and the currency is EUR. | | In-person | Businesses in France that can process [Cartes Bancaires](https://docs.stripe.com/terminal/payments/regional.md?integration-country=FR#enable-cartes-bancaires) | The payment method is a co-badged Cartes Bancaires card. | | In-person | Businesses in Germany that can process [Girocard](https://docs.stripe.com/terminal/payments/regional.md?integration-country=DE#girocard-payments) | The payment method is a co-badged Girocard. | **Applicable in:** - AT - BE - BG - CY - CZ - DE - DK - EE - ES - FI - FR - GR - HR - HU - IE - IS - IT - LI - LT - LU - LV - MT - NL - NO - PL - PT - RO - SE - SI - SK ## Integration guides Stripe-hosted UIs, such as [Checkout](https://docs.stripe.com/payments/checkout.md), [Payment Links](https://docs.stripe.com/payment-links.md), [Elements](https://docs.stripe.com/payments/elements.md), and [Stripe Terminal](https://docs.stripe.com/terminal.md), automatically display a network selector when you meet the [applicability criteria](https://docs.stripe.com/co-badged-cards-compliance.md#when-regulation-applies). You must configure these UIs according to the guides below. For other integrations, you’re fully responsible for making sure your integration complies with the regulation requirements. > #### Sandbox environments > > When using sandboxes, Cartes Bancaires is always enabled for online payments, which means 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 handle co-badged cards if Cartes Bancaires were enabled. # Web Payment Element The [Payment Element](https://docs.stripe.com/payments/payment-element.md) supports customer card brand choice, by default. Customers who enter a co-badged card in the Payment Element can select their option for card brand choice. ![The card input with a co-badged card in Payment Element](https://b.stripecdn.com/docs-statics-srv/assets/payment-element-card-brand-choice.809e6f245c09f2ebff83f4afe04fdbf7.png) Card input with a co-badged card ### Connect platforms Connect platforms that use the `on_behalf_of` property with [separate charges and transfers](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) or [destination charges](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) in a [Payment Element created without an Intent](https://docs.stripe.com/payments/accept-a-payment-deferred.md) must also specify [onBehalfOf](https://docs.stripe.com/js/elements_object/create_without_intent#stripe_elements_no_intent-options-onBehalfOf) on the Elements group of the Payment Element. This allows the Payment Element to determine when to display the card brand choice dropdown. > In Connect integrations, the *merchant of record* (The legal entity responsible for facilitating the sale of products to a customer that handles any applicable regulations and liabilities, including sales taxes. In a Connect integration, it can be the platform or a connected account) 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. ```javascript const elements = stripe.elements({ mode: 'payment', amount: 1099, currency: 'usd', onBehalfOf: 'CONNECTED_STRIPE_ACCOUNT_ID', }); const paymentElementOptions = { layout: 'accordion', }; const paymentElement = elements.create('payment', paymentElementOptions); ``` ### Select a default network By default, the dropdown appears without an option selected. To set a default network, specify an array of networks from most to least preferred in your [default values](https://docs.stripe.com/js/elements_object/create_payment_element#payment_element_create-options-defaultValues-card-network) when creating the Payment 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](https://docs.stripe.com/api/payment_methods/create.md#create_payment_method-card-networks-preferred) for valid values. ```javascript const paymentElement = elements.create('payment', { layout: 'accordion', defaultValues: { card: { network: [preferredNetwork], }, }, }); ``` ## Identify the processing network The `charge` object associated with a successful payment contains a `network` field that indicates which card network processed the payment. For example, you can identify the network for a transaction using a `card` as follows: ```json { "id": "ch_1Ff52K2eZvKYlo2CWe10i0s7", "object": "charge", ... "payment_method_details": { "card": { "brand": "visa", ..."network": "cartes_bancaires" }, "type": "card" } } ``` If you use a [Terminal](https://docs.stripe.com/terminal.md) integration, review the [specific regional requirements](https://docs.stripe.com/terminal/payments/regional.md?integration-country=FR#identify-the-network) to identify the network used. ## Testing You can use the following co-badged cards to test your integration. #### Card numbers | Number | Brand | CVC | Date | | --- | --- | --- | --- | | 4000 0025 0000 1001 | Cartes Bancaires or Visa | Any 3 digits | Any future date | | 5555 5525 0000 1001 | Cartes Bancaires or Mastercard | Any 3 digits | Any future date | #### Tokens | Token | Brand | | --- | --- | | `tok_visa_cartesBancaires` | Cartes Bancaires or Visa | | `tok_mastercard_cartesBancaires` | Cartes Bancaires or Mastercard | #### PaymentMethods | Payment Method | Brand | | --- | --- | | `pm_card_visa_credit_fr_cartesBancaires` | Cartes Bancaires or Visa | | `pm_card_mastercard_credit_fr_cartesBancaires` | Cartes Bancaires or Mastercard | If you use a [Terminal](https://docs.stripe.com/terminal.md) integration, see the [simulated test cards](https://docs.stripe.com/terminal/references/testing.md#standard-test-cards) that you can use with a [simulated reader](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) to verify network routing.