Cartes Bancaires

Overview

Cartes Bancaires is the local card scheme in France, accounting for over 90% of card and wallet traffic in the country1. With card payments accounting for 79% of transaction value in France2, accepting Cartes Bancaires payments helps you increase sales by offering your customers the most widely-used and trusted payment method in France.

As well as increased market penetration, merchants can realize significant processing cost savings with Cartes Bancaires and lower fraud rates when compared with other card schemes operating in France.

The vast majority of Cartes Bancaires cards are co-branded with an international card scheme (Visa or Mastercard). Payments can be processed using either card scheme.

Support

Routing

If you accept both local and international card brands, then under European Union consumer choice regulations (Regulation (EU) 2015/751), you must allow your customer to select the brand that they wish to process the transaction with.

Card brand lookup

Use our Card BIN API to determine the brands supported by any card. If the card is co-branded, then the API response will contain multiple values under the brand array:

{
    "type": "pan",
    "brand": [
        "cartesBancaires",
        "visa"
    ],
    "bin": "400000",
    "binLength": 6,
    "fundingType": "debit",
    "issuerName": "BPCE",
    "countryCode": "FR",
    "currency": "EUR",
    "dccAllowed": true,
    "anonymousPrepaid": "notPrepaidOrNonAnonomous",
    "category": "consumer",
    "multipleAccountAccess": "notSupported"
}

Transaction routing

When performing a 3DS authentication or a payment authorization, you can include instruction.routing.preferredCardBrand with a value of either cartesBancaires or the relevant international card brand (eg visa or mastercard) to route the transaction via the card brand supplied. This overrides the default routing configuration for your Access Worldpay entity.

"routing": {
  "preferredCardBrand": "cartesBancaires"
}

Note: If your entity is set up to only process Cartes Bancaires, or if Cartes Bancaires is configured as the default brand, then you do not need to supply the instruction.routing.preferredCardBrand object.

instruction.routing.preferredCardBrand is currently supported on our modular 3DS and Card Payments APIs.

Customer authentication

Standard PSD2 rules apply when processing Cartes Bancaires. Read our guide on when Strong Customer Authentication (SCA) applies.

3DS authentication

If using our modular 3DS API, the authentication object in the response of a Cartes Bancaires authentication request may contain some additional data:

versionstring(version)[ 1 .. 10 ] characters

The version of 3DS used to process the transaction.

ecistring(eci)[ 1 .. 2 ] characters

Electronic Commerce Indicator (ECI). Indicates the outcome of the 3DS authentication.

ECIMeaning
02 or 05Fully Authenticated Transaction
01 or 06Attempted Authentication Transaction
00 or 07Non 3-D Secure Transaction
SchemeValue
Mastercard02, 01, 00
Visa05, 06, 07
Amex05, 06, 07
JCB05, 06, 07
Diners05, 06, 07
authenticationValuestring(authenticationValue)[ 1 .. 64 ] characters

A cryptographic value that provides evidence of the outcome of a 3DS verification.

  • Visa - Cardholder Authentication Verification Value (CAVV)
  • Mastercard - Universal Cardholder Authentication Field (UCAF)
transactionIdstring(transactionId)[ 1 .. 64 ] characters

Directory server transaction Id, if provided should be used in the payment authorization authentication object

cryptogramAlgorithmstring[ 1 .. 99999 ] characters

Indicates the algorithm used to generate the cryptogram. Returned for Cartes Bancaires authentications only and must be applied in the following authorization request.

challengePreferencestring[ 1 .. 64 ] characters

Indicates the preferred challenge behavior. Returned for Cartes Bancaires authentications only and must be applied in the following authorization request.

  • noPreference
  • noChallengeRequested
  • challengeRequested
  • challengeMandated
  • noChallengeRequestedTRAPerformed
authenticationFlowstring[ 1 .. 64 ] characters

Indicates which flow the customer has been directed to. Returned for Cartes Bancaires authentications only and must be applied in the following authorization request.

Enum"challenge""frictionless"
statusReasonstring[ 1 .. 2 ] characters

Provides further information relating to the outcome of the authentication. Returned for failed authentications only. Returned for Cartes Bancaires authentications only.

cancellationIndicatorstring[ 0 .. 2 ] characters

An indicator as to why the authentication was cancelled. Returned for Cartes Bancaires authentications only.

  • 01 - Cardholder selected cancel
  • 02 - Reserved for future use
  • 03 - Authentication timed out
  • 04 and 05 - Authentication timed out at ACS provider
  • 06 - Transaction error
  • 07 - Unknown
  • 08 - Transaction timed out at SDK
networkScorestring[ 0 .. 2 ] characters

The global score calculated by the Cartes Bancaires scoring platform. Returned for Cartes Bancaires authentications only.

brandstring[ 0 .. 64 ] characters

The card brand used in the authentication. Returned for Cartes Bancaires authentications only and must be applied in the following authorization.

Example authentication outcomes are below:

authenticated - Cartes Bancaires
description: Successful frictionless authentication (Cartes Bancaires)
value:
  {
      "outcome": "authenticated",
      "transactionReference": "Memory265-13/08/1876",
      "acsTransactionId": "fe007a6e-315f-4cdf-98ca-28a9e40e3581",
      "status": "Y",
      "enrolled": "Y",
      "authentication": {
          "version": "2.1.0",
          "authenticationValue": "AJkBBkhgQQAAAE4gSEJydQAAAAA=",
          "eci": "05",
          "transactionId": "be122acf-0ba7-4eff-aa5b-fb53e9ad2f87",
          "cryptogramAlgorithm": "1",
          "challengePreference": "challengeMandated",
          "authenticationFlow": "frictionless",
          "brand": "cartesBancaires"
      }
  }

You can see the full response schema and descriptions in our API Reference.

For test card values for Cartes Bancaires, please reference our 3DS testing documentation.

SCA exemptions

You can request SCA exemptions using our SCA Exemptions API.

In France the following rules apply:

  • you cannot request exemptions for transactions with a value above 100 EUR
  • the placement of the exemption must be in authentication rather than in authorization

Taking Payment

Customer-Initiated Transactions (CIT)

Submit CITs in the normal way, using either:

If using our modular API, you must include all fields returned in the authentication object returned following your 3DS authentication request.

Merchant-Initiated Transactions (MITs)

Cartes Bancaires supports the following types of MITs:

  • subscriptions ("customerAgreement.type": "subscription")
  • unscheduled ("customerAgreement.type": "unscheduled")

You can take the first CIT payment with either an international scheme or Cartes Bancaires:

  • if the first payment is taken with the international scheme, then subsequent payments can be routed to either the international scheme or Cartes Bancaires
  • if the first payment is taken using Cartes Bancaires, then subsequent payments may only be processed using Cartes Bancaires

You must include the schemeReference, returned in the first payment, in all subsequent payments. If the first payment was processed using the international scheme, and you wish to process an MIT with Cartes Bancaires, then the scheme reference supplied in the MIT request must be prefixed with a "1".

For example, if you receive a scheme.reference value of "MCCOLXT1C0104" following the first CIT processed with Mastercard, then supply a schemeReference value of "1MCCOLXT1C0104" in the MIT request:

"customerAgreement": {
  "type": "subscription",
  "storedCardUsage": "subsequent",
  "schemeReference" "1MCCOLXT1C0104"
}

Footnotes

1: Worldpay's Global Payment Report, 2024
2: Split across credit, debit, pre-paid and wallet payments