CentralPay Documentation CentralPay Documentation
  • Informations générales
  • Documentation
  • Développeurs
CentralPay Documentation CentralPay Documentation
  • Informations générales
  • Documentation
  • Développeurs

Documentation

  • Icône de dossier fermée Icône d’ouverture de dossierGuide de démarrage rapide >
  • Icône de dossier fermée Icône d’ouverture de dossierLe compte CentralPay
    • Compte CentralPaymerchant
    • Profils clientscustomer
    • Points de ventepointOfSale
    • Comptes de paiementwallet
    • Comptes de MEwallet
  • Icône de dossier fermée Icône d’ouverture de dossierServices liés au compte
    • Notifications email/sms
    • Services anti-fraude
    • Reversement bancairepayout
    • Exports comptables
    • Exports de données
    • Webhooks
  • Icône de dossier fermée Icône d’ouverture de dossierLiens de paiement
    • Informations générales
    • Demandes de paiementpaymentRequest
    • Page de paiement (SmartForm)
    • Retours, statuts et hooks
  • Icône de dossier fermée Icône d’ouverture de dossierTransaction par carte
    • Informations générales
    • Formulaire de paiement CUSTOM
    • Authentification 3DS 2.0
    • Transaction cartetransaction
    • Transaction carte récurrentetransaction
    • Transaction carte via walletApplePay / GooglePay
    • R-transaction carterefund / credit / dispute
    • Email de confirmation
    • Libellé relevé bancaire
    • Gestion des devises
    • Gestion des cartes virtuelles (VCC)
    • Retours, statuts et hooks
  • Icône de dossier fermée Icône d’ouverture de dossierTransaction par virement
    • Informations générales
    • IBAN Virtuels
    • Transaction par virementsctTransaction
    • Rapprochement à une demande de paiementbankReconciliation
    • R-transaction SCTrefund
    • Virements internationaux
    • Retours, statuts et webhooks
  • Icône de dossier fermée Icône d’ouverture de dossierTransaction prélèvement SEPA
    • Informations générales
    • Identifiant de Créancier SEPA
    • Déclaration du compte bancaire
    • Création du mandat SEPA
    • Transaction par prélèvementsddTransaction
    • R-transaction SDDrefund / sddTransactionReversal
    • Retours, statuts et webhooks
  • Icône de dossier fermée Icône d’ouverture de dossierTransaction par initiation
    • Informations générales
    • Retours, statuts et webhooks
  • Icône de dossier fermée Icône d’ouverture de dossierPaiements récurrents
    • Abonnementsubscription
    • Fractionnéinstallment
  • Icône de dossier fermée Icône d’ouverture de dossierAuthentification 3DS 2.2
    • 3DS 2.2 BRW (paiement unitaire)
    • 3DS 2.2 3RI (paiements récurrents)
    • FAQ 3DS 2.2
  • Icône de dossier fermée Icône d’ouverture de dossierCréer des comptes
    • Informations générales
    • Liste des pays autorisés
    • Création de compte de paiement
    • Création de compte de ME
    • Documents KYC et KYB
    • Conditions générales
    • Retours, statuts et webhooks
  • Icône de dossier fermée Icône d’ouverture de dossierTransférer des paiements
    • Informations générales
    • Transfert indépendant
    • Transfert via transaction
    • Transfert via demande de paiement
    • Reversement bancaire pour tiers
    • Retours, statuts et webhooks
  • Icône de dossier fermée Icône d’ouverture de dossierCas d’usages
    • Marketplace C2C

Transaction carte via wallet

Temps estimé :11 minutes

Apple Pay (CustomForm)

1/ Via token ApplePay déchiffré

CentralPay permet le traitement des paiements par carte effectués via Apple Pay, dans le cadre d’une intégration CUSTOM (hors SmartForm).

ℹ️ CentralPay ne prend actuellement en charge que les tokens Apple Pay déchiffrés.

✅ Prérequis

Compte Apple Developer

  • Inscrivez-vous au programme Apple Developer.
  • Créez vos identifiants de marchand Apple Pay (Merchant ID).
  • Générez votre certificat de traitement Apple Pay via le portail Apple.
  • Déclarez votre domaine (Apple Pay Merchant Domain).

Intégration côté device

  • Implémentez Apple Pay côté frontend via Apple Pay JS (pour les sites web) ou PassKit (pour les apps iOS)
  • Collectez le token Apple Pay (ApplePayToken) après validation du paiement par l’utilisateur (Face ID, Touch ID…).

📥 Étape 1 : Déchiffrement du token Apple Pay

Le déchiffrement du token Apple Pay doit être effectué sur votre backend, à l’aide de :

  • votre certificat de traitement Apple Pay,
  • votre clé privée,
  • la documentation Apple :
    👉 Apple – Payment Token Format

Le résultat contiendra :

{
"applicationPrimaryAccountNumber": "5454********2664",
"applicationExpirationDate": "YYMMDD",
"paymentData": {
"cryptogram": "base64-cryptogram",
"eciIndicator": "05"
}
}

🧾 Étape 2 : Création du cardToken CentralPay

Utilisez l’endpoint POST /cardToken de l’API CentralPay

ChampDescription
card[number]PAN de la carte extrait du token Apple Pay
card[expirationMonth]Mois d’expiration de la carte (format MM)
card[expirationYear]Année d’expiration de la carte (format YYYY)
onlinePaymentCryptogramCryptogramme issu du token Apple Pay (CAVV)
eciIndicatorIndice d’authentification issu du token Apple Pay (eci)
applePayTransactionIdID de la transaction Apple Pay
amountMontant en centimes (ex : 2500 = 25,00 €)
currencyCode alpha ISO (ex : EUR, USD, etc.)
merchantPublicKeyClé publique fournie par CentralPay
🔎 Où trouver la merchantPublicKey ?
Connectez-vous à votre portail CentralPay Back Office → Administration → Technique → Merchant Public Key

Exemple :

card[number]=5454696696312664
card[expirationMonth]=12
card[expirationYear]=2031
onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=
applePayTransactionId=3d2b17abed2696ca...
amount=2500
currency=EUR
merchantPublicKey=abcdef123456...

✅ Le cardToken généré contient toutes les données nécessaires à l’authentification Apple Pay.

💳 Étape 3 : Création de la transaction CentralPay

Utilisez l’endpoint POST /transaction de l’API CentralPay

Champs requis :

cardToken=...
amount=2500
currency=EUR
pointOfSaleId=...
endUserIp=...
merchantTransactionId=...

✅ Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification.

🧪 Testing avant mise en production

L’environnement de test CentralPay permet de valider l’ensemble de votre intégration Apple Pay sans déclencher de véritables paiements. Il est fortement recommandé d’utiliser cet environnement pour toutes les phases de développement, de debug et de validation côté frontend comme backend.

  • Portail de test : https://test-backoffice.centralpay.net
  • API de test : https://test-api.centralpay.net/v2/rest/
  • Cartes de test : Voir la liste des cartes

Différences entre environnement de test et de production :

  • Les URLs des API sont différentes : elles utilisent le préfixe test-.
    Exemple :
    • Test : https://test-api.centralpay.net/v2/rest/transaction
    • Production : https://api.centralpay.net/v2/rest/transaction
  • Les identifiants API (login + secret) sont propres à l’environnement de test.
    Ils ne sont pas interchangeables avec ceux de production.
  • La clé publique Apple Pay (merchantPublicKey) est également spécifique à l’environnement.

2/ Via token ApplePay chiffré

⚠️ Attention : cette méthode n’est pas encore disponible chez CentralPay au 18/04/2025.
Si cette méthode d’intégration vous intéresse, veuillez contacter le support CentralPay afin de connaître les livrables associés et les modalités d’accès.

– Création de CardToken avec votre token Apple pay chiffré.

Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui incluent les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘.
Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement.

– Création de Transaction avec votre token Apple pay chiffré.

Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘.

Google Pay (CustomForm)

1/ Via token Google Pay déchiffré

⚠️ Attention : cette méthode implique une responsabilité PCI-DSS importante de votre part. Renseignez-vous et assurez-vous d'être en conformité avant de développer ce mode d'intégration.

Pour pouvoir accepter les paiements Google Pay via CentralPay, vous devez configurer correctement votre compte marchand Google et gérer les clés de chiffrement nécessaires au déchiffrement des tokens.

✅ Prérequis

1. Créer un compte Google Pay Business

  • Accédez au Google Pay Business Console
  • Créez un Merchant Profile ou connectez-en un existant.
  • Renseignez vos coordonnées de société et d’activité.

2. Enregistrer votre domaine

  • Dans la console Google Pay, allez dans l’onglet “Domains”
  • Ajoutez votre domaine de production et de test (ex : example.com)
  • Google vous demandera d’y héberger un fichier de vérification pour valider votre propriété

3. Générer votre paire de clés de chiffrement

Google Pay chiffre les tokens envoyés à votre site en utilisant une clé publique que vous fournissez.

a) Générez votre paire de clés (exemple avec OpenSSL)
# Générer la clé privée
openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem

# Extraire la clé publique
openssl ec -in private-key.pem -pubout -out public-key.pem
b) Convertissez la clé publique au format Google (base64 sans en-tête PEM)
# Supprimer les lignes "-----BEGIN..." et "-----END..."
# et ne garder que le bloc de contenu base64

4. Enregistrer votre clé publique dans Google Pay

  • Dans la console Google Pay, allez dans “Payment Processing”
  • Ajoutez un nouvel encrypting key
  • Donnez-lui un nom, collez votre clé publique au format Base64, et sélectionnez le type : ECv2
  • Cette clé sera utilisée pour chiffrer tous les tokens envoyés à votre site

🔐 Étape 1 : Déchiffrement du token Google Pay

Une fois Google Pay intégré côté frontend (Google Pay JS ou Android), vous recevrez un token chiffré via :

paymentData.tokenizationData.token

Ce champ contient un JSON chiffré (pas un JWT), que vous devez déchiffrer sur votre backend à l’aide de la clé privée correspondant à la clé publique enregistrée chez Google.

Google propose une bibliothèque de déchiffrement officielle en Java, mais des portages existent en Node.js, PHP, Python, etc.

📚 Documentation officielle :
👉 Google Pay – Payment Data Cryptography

Une fois déchiffré, vous obtiendrez une structure similaire à :

{
"pan": "4111111111111111",
"expirationMonth": "12",
"expirationYear": "2030",
"cryptogram": "AgAAAAAAAIR8CQrXcIhbQAAAAAA=",
"eciIndicator": "05"
}

Ce sont ces données que vous devrez envoyer à CentralPay pour créer un cardToken.

🧾 Étape 2 : Création du cardToken via l’API CentralPay

Utilisez l’endpoint POST /cardToken de l’API CentralPay

ChampDescription
card[number]PAN de la carte extrait du token Google Pay
card[expirationMonth]Mois d’expiration de la carte (format MM)
card[expirationYear]Année d’expiration de la carte (format YYYY)
onlinePaymentCryptogramCryptogramme issu du token Google Pay (CAVV)
eciIndicatorIndice d’authentification issu du token Google Pay (eci)
googlePayMessageIdID de la transaction Google Pay
amountMontant en centimes (ex : 2500 = 25,00 €)
currencyCode alpha ISO (ex : EUR, USD, etc.)
merchantPublicKeyClé publique fournie par CentralPay
🔎 Où trouver la merchantPublicKey ?
Connectez-vous à votre portail CentralPay Back Office → Administration → Technique → Merchant Public Key

Exemple :

card[number]=5454696696312664
card[expirationMonth]=12
card[expirationYear]=2031
onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=
googlePayTransactionId=
ABCD-EFGH-1234
amount=2500
currency=EUR
merchantPublicKey=abcdef123456...

✅ Le cardToken généré contient toutes les données nécessaires à l’authentification Google Pay.

💳 Étape 3 : Création de la transaction CentralPay

Utilisez l’endpoint POST /transaction de l’API CentralPay

Champs requis :

cardToken=...
amount=2500
currency=EUR
pointOfSaleId=...
endUserIp=...
merchantTransactionId=...

✅ Le cardToken encapsule déjà le contexte Google Pay et les données d’authentification.

🧪 Testing avant mise en production

L’environnement de test CentralPay permet de valider l’ensemble de votre intégration Apple Pay sans déclencher de véritables paiements. Il est fortement recommandé d’utiliser cet environnement pour toutes les phases de développement, de debug et de validation côté frontend comme backend.

  • Portail de test : https://test-backoffice.centralpay.net
  • API de test : https://test-api.centralpay.net/v2/rest/
  • Cartes de test : Voir la liste des cartes

Différences entre environnement de test et de production :

  • Les URLs des API sont différentes : elles utilisent le préfixe test-.
    Exemple :
    • Test : https://test-api.centralpay.net/v2/rest/transaction
    • Production : https://api.centralpay.net/v2/rest/transaction
  • Les identifiants API (login + secret) sont propres à l’environnement de test.
    Ils ne sont pas interchangeables avec ceux de production.
  • La clé publique Apple Pay (merchantPublicKey) est également spécifique à l’environnement.

2/ Via token Google Pay chiffré

CentralPay permet l’intégration directe de Google Pay via le mode “gateway” (passerelle de paiement), sans nécessiter de déchiffrement du token côté serveur. Dans ce mode, CentralPay est désigné comme prestataire (gateway) auprès de Google Pay, et gère la validation du token pour vous.

✅ Prérequis

1. Créer un compte Google Pay Business

  • Accédez au Google Pay Business Console
  • Créez un Merchant Profile ou connectez-en un existant.
  • Renseignez vos coordonnées de société et d’activité.

2. Enregistrer votre domaine

  • Dans la console Google Pay, allez dans l’onglet “Domains”
  • Ajoutez votre domaine de production et de test (ex : example.com)
  • Google vous demandera d’y héberger un fichier de vérification pour valider votre propriété

3. Réaliser votre intégration frontend Google Pay

  • Implémentez Google Pay côté frontend via Google Pay JS (pour les sites web) ou Google Pay API Android (pour les applications mobiles)
  • Collectez le token Google Pay (tokenizationData.token) après validation du paiement par l’utilisateur (code PIN, empreinte digitale, reconnaissance faciale…).
Google propose un tutoriel officiel pour cette intégration :
👉 Tutorial | Google Pay API | Google for Developers

4. Récupérez vos identifiants CentralPay

  • MerchantPublicKey : Connectez-vous à votre portail CentralPay Back Office → Administration → Technique → Merchant Public Key
  • Login API : Connectez-vous à votre portail CentralPay Back Office → Administration → Technique → Identifiant API → Copier l’identifiant.
  • Pass API : Connectez-vous à votre portail CentralPay Back Office → Administration → Technique → Cliquez sur votre Identifiant API → Modifier → Générer → Copiez votre pass API → Mettre à jour.

🧩 Étape 1 — Configuration de Google Pay côté frontend

1.1 – Définir la version de l’API

const baseRequest = {
apiVersion: 2,
apiVersionMinor: 0
};

1.2 – Utiliser CentralPay comme passerelle de paiement

Configurez la tokenisation comme suit :

const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
gateway: 'centralpay',
gatewayMerchantId: 'YOUR_GATEWAY_MERCHANT_ID'
}
};

📌 Remplacez YOUR_GATEWAY_MERCHANT_ID par votre MerchantPublicKey fourni par CentralPay.

1.3 – Environnement de test ou production

// Environnement de test
const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'TEST' });

// Environnement de production
const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION' });

🔐 Étape 2 — Récupération du token Google Pay

Lorsqu’un utilisateur final valide un paiement via Google Pay, l’API retourne un token au format JSON dans :

paymentData.paymentMethodData.tokenizationData.token

Ce champ contient une chaîne JSON représentant un objet du type :

{
"signature": "MEYCIQDn...",
"protocolVersion": "ECv2",
"intermediateSigningKey": {
"signedKey": "{...}",
"signatures": ["MEUCID..."]
},
"signedMessage": "{...}"
}

👉 Ce bloc devra être transmis tel quel à l’API CentralPay lors de la création du cardToken dans le champ googlePayToken.

🧾 Étape 3 — Envoi du token à CentralPay (création du cardToken)

Faites un appel à l’endpoint POST /cardToken de CentralPay avec les paramètres suivants :

Paramètres requis

ChampDescription
amountMontant en centimes (ex : 2500 pour 25,00 €)
currencyCode ISO alpha (ex : EUR, USD, etc.)
googlePayTokenLe JSON complet retourné par Google Pay (tokenizationData.token)
merchantPublicKeyClé publique CentralPay disponible dans le backoffice

Exemple de requête (format x-www-form-urlencoded) :

amount=2500
currency=EUR
merchantPublicKey=abcdef123456...
googlePayToken={"signature":"MEYCIQDn...","protocolVersion":"ECv2",...}

🔐 Ne déchiffrez pas le token vous-même : CentralPay s’occupe de sa validation côté serveur.

💳 Étape 4 — Création de la transaction

Une fois que le cardToken est obtenu, vous pouvez déclencher une transaction de manière standard via l’endpoint POST /transaction.

Exemple de paramètres

cardToken=...
amount=2500
currency=EUR
pointOfSaleId=...
endUserIp=...
merchantTransactionId=...

✅ Le cardToken contient déjà toutes les informations d’authentification : pas besoin d’ajouter de cryptogramme ou de champ CVV.

🧪 Testing avant mise en production

L’environnement de test CentralPay permet de valider l’ensemble de votre intégration Apple Pay sans déclencher de véritables paiements. Il est fortement recommandé d’utiliser cet environnement pour toutes les phases de développement, de debug et de validation côté frontend comme backend.

  • Portail de test : https://test-backoffice.centralpay.net
  • API de test : https://test-api.centralpay.net/v2/rest/
  • Cartes de test : Voir la liste des cartes

Différences entre environnement de test et de production :

  • Les URLs des API sont différentes : elles utilisent le préfixe test-.
    Exemple :
    • Test : https://test-api.centralpay.net/v2/rest/transaction
    • Production : https://api.centralpay.net/v2/rest/transaction
  • Les identifiants API (login + secret) sont propres à l’environnement de test.
    Ils ne sont pas interchangeables avec ceux de production.
  • La clé publique Apple Pay (merchantPublicKey) est également spécifique à l’environnement.

Transaction par carte -Précédent Transaction carte récurrente Prochain- Transaction par carte R-transaction carte
CONTENU

Doc Contents

Doc Footnotes

Doc Elements

  • Mentions légales
  • Politique de confidentialité

© 2024 CentralPay