πŸ‡«πŸ‡· France Local Acquiring

Integrate to Carte Bancaire, Visa and Mastercard in France and have access to a consumer base of over 68 million consumers. Cartes Bancaires (CB) is responsible for more than 65% of everyday purchases in France with more than 77 million cards in circulation and processed over 2 billion online payments in 2024. 95% of the CB cards are co-badge cards issued in conjunction with Visa or Mastercard.
PPRO is operating Cartes Bancaires, Visa and Mastercard in France through a payment orchestration model with a partner acquirer. With PPRO’s global API you will have access to all payment functionalities in France, including settlement and reconciliation reports, and the funds will be settled directly by our partner acquirer.

Payment Method Properties

MarketsFR
BrandsCB,MASTER, VISA
Processing currenciesEUR
Consumer currenciesEUR
Settlement currenciesEUR
Minimum payment amount0.00 EUR
Maximum payment amountVaries by card issuer
Recurring paymentsYes
Separate capturesYes
InstalmentsNo
Zero value authorizationsYes
RefundFull - Partial - Multiple Partial
Refund validity2 years
Authorization reversalYes
Authorization validity7 days
EMV 3-D SecureYes
ChargebackYes
Sandbox AvailabilityPPRO provided

Authentication method

EXTERNAL_3DS

  1. Before initiating a payment charge with PPRO, redirect the consumer to your external 3DS provider.
  2. After the consumer is authenticated via 3DS, initiate the payment charge informing the 3DS result in the authenticationSettings object:
    "authenticationSettings": [
        {
          "type": "EXTERNAL_3DS",
          "settings": {
            "authenticationStatus": "SUCCESS",
            "authenticationValue": "+kAr/o8S0DxgGYkz7QQHZCw8V5k=",
            "eci": "5",
            "version": "2.2.0",
            "externalId": "4dc406b0-038d-43ef-a96c-c85352c5e2c0",
            "challenge": {
              "preference": "NO_PREFERENCE",
              "outcome": "CHALLENGE"
            }
          }
        }
      ],
    

One-time Payment

1. Create a payment charge

In your /v1/payment-charges request, include:

paymentMethod: CARD

instrument.type: RAW_CARD

authenticationSettings.type: EXTERNAL_3DS

Request:

{
    "paymentMethod": "CARD",
    "merchantPaymentChargeReference": "{{$guid}}",
    "paymentDescriptor": "French Card Payment Charge",
    "autoCapture": true,
    "amount": {
        "value": 1000,
        "currency": "EUR"
    },
    "instrument": {
        "type": "RAW_CARD",
        "details": {
            "brand": "CB",
            "holderName": "John Smith",
            "expiryMonth": 5,
            "expiryYear": 2025,
            "number": "4066559930861909",
            "cvv": "123"
        }
    },
    "authenticationSettings": [
        {
            "type": "EXTERNAL_3DS",
            "settings": {
                "authenticationStatus": "SUCCESS",
                "authenticationStatusReason": "CARD_AUTHENTICATION_FAILED",
                "authenticationValue": "+kAr/o8S0DxgGYkz7QQHZCw8V5k=",
                "authenticationAlgorithm": "",
                "authenticationMode": "SCA",
                "eci": "5",
                "version": "2.2.0",
                "externalId": "4dc406b0-038d-43ef-a96c-c85352c5e2c0",
                "externalAcsId": "4dc406b0-038d-43ef-a96c-c85352c5e2c0",
                "score": "25",
                "outOfScope": {
                    "reason": "MIT"
                },
                "challenge": {
                    "preference": "CHALLENGE_REQUESTED",
                    "outcome": "CHALLENGE",
                    "exemptionReason": "LOW_RISK",
                    "cancellationReason": "CARDHOLDER_CANCELLED"
                }
            }
        }
    ],
    "consumer": {
        "name": "John Doe",
        "email": "[email protected]",
        "country": "BR",
        "client": {
            "ip": "227.149.145.184"
        },
        "taxIdentification": "39112171883",
        "billingAddress": {
            "firstName": "John",
            "lastName": "Doe",
            "street": "123 abc st",
            "postalCode": "75001",
            "city": "Rennes",
            "region": "Bretagne",
            "country": "FR"
        }
    },
    "order": {
        "orderItems": [
            {
                "sku": "LS123456789",
                "category": "bicycle",
                "name": "White T-Shirt",
                "quantity": 1,
                "amount": 1000
            }
        ],
        "shippingAddress": {
            "firstName": "Naldo",
            "lastName": "Ro",
            "phoneNumber": "01522113356",
            "street": "Rua Itaquera, 123",
            "postalCode": "41460",
            "city": "Sao Paulo",
            "region": "Sao Paulo",
            "country": "BR"
        }
    }
}

Response:

{
    "id": "charge_Pg5UR2IvYalJQaIB8ztoP",
    "paymentMethod": "CARD",
    "paymentMedium": "ECOMMERCE",
    "scheduleType": "UNSCHEDULED",
    "instrumentId": "instr_PEYyBji5Ge15hxQ2sWW1N",
    "instrumentUpdated": false,
    "currency": "EUR",
    "country": "BR",
    "paymentDescriptor": "French Card Payment Charge",
    "networkTransactionIdentifier": "67f4215512d46",
    "status": "CAPTURED",
    "consumer": {
        "name": "John Doe",
        "email": "[email protected]",
        "country": "BR",
        "client": {
            "ip": "227.149.145.184"
        },
        "taxIdentification": "39112171883",
        "billingAddress": {
            "firstName": "John",
            "lastName": "Doe",
            "street": "123 abc st",
            "postalCode": "75001",
            "city": "Rennes",
            "region": "Bretagne",
            "country": "FR"
        }
    },
    "order": {
        "orderItems": [
            {
                "sku": "LS123456789",
                "category": "bicycle",
                "name": "White T-Shirt",
                "quantity": 1,
                "amount": 1000
            }
        ],
        "shippingAddress": {
            "firstName": "Naldo",
            "lastName": "Ro",
            "phoneNumber": "01522113356",
            "street": "Rua Itaquera, 123",
            "postalCode": "41460",
            "city": "Sao Paulo",
            "region": "Sao Paulo",
            "country": "BR"
        },
        "industryData": []
    },
    "authorizations": [
        {
            "id": "authz_NZW4yODxwIP3Rx4qdDqtW",
            "amount": 1000,
            "status": "AUTHORIZED",
            "merchantPaymentChargeReference": "820ffbc4-c8ef-4015-9822-cbf80ea3ddb4",
            "createdAt": "2025-04-07T19:02:46.355Z",
            "updatedAt": "2025-04-07T19:02:46.355Z"
        }
    ],
    "captures": [
        {
            "id": "capture_dSetBUSFscpmIQsJv5egC",
            "amount": 1000,
            "status": "CAPTURED",
            "merchantCaptureReference": "820ffbc4-c8ef-4015-9822-cbf80ea3ddb4",
            "createdAt": "2025-04-07T19:02:46.355Z",
            "updatedAt": "2025-04-07T19:02:46.355Z"
        }
    ],
    "refunds": [],
    "voids": [],
    "createdAt": "2025-04-07T19:02:43.765Z",
    "updatedAt": "2025-04-07T19:02:46.355Z",
    "_links": {
        "authorizations": {
            "href": "/v1/payment-charges/charge_Pg5UR2IvYalJQaIB8ztoP/authorizations"
        },
        "captures": {
            "href": "/v1/payment-charges/charge_Pg5UR2IvYalJQaIB8ztoP/captures"
        },
        "refunds": {
            "href": "/v1/payment-charges/charge_Pg5UR2IvYalJQaIB8ztoP/refunds"
        },
        "voids": {
            "href": "/v1/payment-charges/charge_Pg5UR2IvYalJQaIB8ztoP/voids"
        }
    }
}

2. Handle the response

  1. A successful payment charge status will be in CAPTURE_PENDING or CAPTURED depending if autoCapture was applied or not. If required, Capture the payment charge.