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

Rogan Documentation

  • Icône de dossier fermée Icône de dossierDéveloppeurs
    • How to use the swagger >
    • Payment Request >
    • CARD Transaction
      • Card token
      • Transaction
      • Card
      • Credit
      • Disputes
    • 3DS 2.2 >
    • SDD Transaction
      • Mandate
      • SDD Transaction
      • SDD Transaction Reversal
    • SCT Transaction
      • SCT Transaction
      • SCT Transaction Reversal
      • Bank Reconciliation
      • Bank Reconciliation external
    • Customer >
    • Subscription
      • Subscription Model
      • Subscription
      • Invoice & invoiceItem
    • Installment Payment >
    • Refund >
    • BankAccount >
    • Onboarding
      • Create Enrollement
      • Complete enrollment
      • Update enrollment
      • Search enrollement
      • Enrollment Details
      • E-money
      • Misc
    • Wallet >
    • Transfer >
    • TransferReversal >
    • MerchantInfo >
    • Blacklist >
    • WhiteList >
    • Payout >
    • Webhook notifications
      • The BANKACCOUNT object
      • The CARD object
      • The CREDIT object
      • The CUSTOMER object
      • The DEPOSIT object
      • The DISPUTE object
      • The INSTALLMENT object
      • The ONBOARDING object
      • The PAYMENT REQUEST object
      • The PAYOUT object
      • The REFUND object
      • The SCT Transaction object
      • The SDD TRANSACTION object
      • The MANDATE object
      • The SUBSCRIPTION object
      • The TRANSACTION object
      • The TRANSFER REVERSAL object
      • The TRANSFER object
      • The WIRETRANSFER object (Deprecated)
    • Object status
      • PAYMENT REQUEST status
      • TRANSACTION status
      • REFUND status
      • CREDIT status
      • DISPUTES status
      • SUBSCRIPTION status
      • INSTALLMENT status
      • SDD TRANSACTION status
      • MANDATE status
      • BANK ACCOUNT status
      • PAYOUT status
      • SCT TRANSACTION status
    • Resources by type
      • Codes
      • Test values
  • Icône de dossier fermée Icône de dossierDocumentation
    • Guide de démarrage rapide >
    • Le compte CentralPay
      • Compte CentralPay
      • Profils clients
      • Points de vente
      • Comptes de paiement
      • Comptes de ME
    • Services liés au compte
      • Notifications email/sms
      • Services anti-fraude
      • Reversement bancaire
      • Exports comptables
      • Exports de données
      • Webhooks
    • Liens de paiement
      • Informations générales
      • Demandes de paiement
      • Page de paiement (SmartForm)
      • Retours, statuts et hooks
    • Transaction par carte
      • Informations générales
      • Formulaire de paiement CUSTOM
      • Authentification 3DS 2.0
      • Transaction carte
      • Transaction carte récurrente
      • Transaction carte via wallet
      • R-transaction carte
      • Email de confirmation
      • Libellé relevé bancaire
      • Gestion des devises
      • Gestion des cartes virtuelles (VCC)
      • Retours, statuts et hooks
    • Transaction par virement
      • Informations générales
      • IBAN Virtuels
      • Transaction par virement
      • Rapprochement à une demande de paiement
      • R-transaction SCT
      • Virements internationaux
      • Retours, statuts et webhooks
    • Transaction 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èvement
      • R-transaction SDD
      • Retours, statuts et webhooks
    • Transaction par initiation
      • Informations générales
      • Retours, statuts et webhooks
    • Paiements récurrents
      • Abonnement
      • Fractionné
    • Authentification 3DS 2.2
      • 3DS 2.2 BRW (paiement unitaire)
      • 3DS 2.2 3RI (paiements récurrents)
      • FAQ 3DS 2.2
    • Cré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
    • Transfé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
    • Cas d’usages
      • Marketplace C2C
  • Icône de dossier fermée Icône de dossierInformations générales
    • Contacter CentralPay >
    • À propos de CentralPay
      • Certifications et agréments
      • Sécurité et hébergement
      • Engagements de disponibilité
      • Évolution de la plateforme
      • Principes de réserve
    • Glossaire
      • Glossaire CentralPay
      • Lexique du paiement
    • API et interfaces
      • Utilisation des API CentralPay
      • Portail utilisateur
      • Portail client
      • Portail d’inscription
    • Entrée en relation
      • Étapes d’entrée en relation
      • Modèle « Marchand »
      • Modèle « Intégrateur »
      • Modèle « Partenaire »
      • Déclaration partenaires MOBSP
      • Déclaration partenaires Agent
      • Déclaration partenaires DME
    • Tarifs
      • Offres commerciales
      • Frais d'interchange et réseaux cartes
      • Forfaits d'accompagnement
    • Logos et visuels
      • Logos CentralPay
      • Logos PaySecure
      • Visuels de réassurance (FR/EN)
    • Plugins CMS
      • WooCommerce

HTTP Codes

Find below the list of HTTP return codes:

200OK
Note: The request was executed correctly
400BAD REQUEST
Note: Wrong parameter or rule
401UNAUTHORIZED
Note: Login / password are missing for HTTP authentication
402PAYMENT_REQUIRED
Note:  Authorization denied*
403FORBIDDEN
Note: Wrong authentication
404NOT FOUND
Note: Incorrect URL
500INTERNAL SERVER ERROR
Note: Server error

(*) Only possible for the creation of a transaction

Compte CentralPay

Ouvert pour une entité (personne physique ou morale), il est le support de :
– Sa contractualisation : grille tarifaire, CGU…
– Son administration : authentification, profils utilisateurs…
– Sa configuration : scenario de notification, points de vente, règles d’acceptations
– Sa conformité : KYC/KYB, accréditations…

Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.

1/ Les types de compte CentralPay et droits associés

Il existe plusieurs types de compte CentralPay disposants de droits spécifiques à chacun :

  • Participant : 
    Le Participant est une entité rattachée à un Partenaire qui lui fournit des services.
    Il dispose :
    • D’un compte de paiement ou de monnaie électronique utilisé uniquement pour recevoir des transferts de son Partenaire.
    • D’un accès au Portail Utilisateur pour gérer ses reversements.

      Limitations :
    • Pas d’accès direct aux API de CentralPay.
  • Marchand : 
    Le Marchand représente une entreprise ou un commerçant qui encaisse des paiements pour son propre compte. Il bénéficie :
    • D’un accès aux services CentralPay via API (directement ou via un Partenaire Technique).
    • De la gestion autonome de ses reversements.
    • D’un ou plusieurs comptes de paiement
    • D’un Contrat d’Acceptation pour encaisser des paiements.
    • D’un compte de commission dédié pour isoler les frais de service des autres transactions.
  • Partenaire Technique : 
    Le Partenaire Technique agit pour le compte d’un Marchand, ou d’un Participant disposant d’un Contrat d’Acceptation.
  • Rôles et fonctionnalités :
    • Dispose d’une infrastructure informatique permettant la gestion technique des paiement.
    • Détient des identifiants API spécifiques pour consulter ou transmettre des informations.
    • Accède à un compte centralisateur pour visualiser et suivre les transactions.
    • Possède un compte de commission pour percevoir les frais liés à ses services.
    • Peut également disposer d’un Contrat d’Acceptation pour ses propres encaissements.
  • Partenaire DME  :
    Le Partenaire DME fournit une gamme élargie de services, incluant :
    • La mise en relation de CentralPay avec des Participants dans le but d’ouvrir un compte
    • La distribution, le transfert et le remboursement de la monnaie électronique.

      Fonctionnalités :
    • Comme le Partenaire Technique, il dispose d’une infrastructure informatique pour gérer les paiements et les transferts.
    • Accède à des identifiants API selon des droits spécifiques.
    • Visualise et gère les instructions depuis un compte centralisateur.

      Le Partenaire DME fournit les instructions nécessaires pour :
    • Permettre le chargement de la valeur sur les comptes de monnaie électronique.
    • Effectuer des transferts entre comptes.
    • Rembourser la monnaie électronique.

      Il possède un compte de commission pour percevoir les frais associés.
  • Partenaire Agent :

Le Partenaire Agent (Prestataire de Services de Paiement – PSP) dispose de droits élargis et d’un statut réglementé nécessitant un enregistrement auprès de l’ACPR. Contrairement aux autres Partenaires, l’Agent participe activement à la réalisation des Services de Paiement.

Rôles et fonctionnalités :

Il peut gérer un large éventail d’opérations de paiement, notamment :

  • La demande d’inscription de Participants sous-marchands.
  • Participe à la collecte du KYC/KYB ou assure la collecte du KYC/KYB
  • La gestion des encaissements directement depuis un compte de collecte dont il est titulaire.
  • Le transfert des Transactions vers le ou les comptes de paiements concernés
  • Pilote le réservément vers les comptes bancaires
  • Dispose de :
    • Un compte de collecte sur lequel transiteront les fonds de tiers
    • Un compte de commission pour recevoir les frais liés à ses services.
    • Un éventuel compte de paiement et un contrat d’acceptation pour ses propres encaissements.

2/ Paramétrage des emails de contacts du compte

Afin d’adresser nos demandes ou de transférer les informations importantes aux bonnes personnes au sein de votre entité, il est important de renseigner les emails de contact du compte :

  • Email contact : email du responsable général du compte
  • Email administratif : email du responsable administratif du compte
  • Email technique : email du responsable technique du compte
  • Email financier : email du responsable financier du compte

NB : par défaut, les emails sont renseignés avec celui du titulaire du compte.

  • Accès Portail utilisateur de RCT – Paramétrage des coordonnées
  • Accès Portail utilisateur de PROD – Paramétrage des coordonnées

Certifications et agréments

CentralPay propose des solutions de paiement modulaires permettant l’unification des flux d’encaissement pour compte propre et l’automatisation des reversements pour le compte de tiers. La typologie de services et d’opérations proposées par CentralPay varie en fonction des besoins et de l’activité de ses marchands et partenaires.

CentralPay est une société indépendante, entièrement propriétaire de sa technologie et de ses agréments. Garantissant la meilleure autonomie possible dans ses choix de partenariats et de son évolution.

CentralPay est autorisé à entrer en relation d’affaires avec les entreprises enregistrées dans l’Espace Économique Européen.

ACPR
(Banque de France)
Établissement de Monnaie Électronique : CentralPay est un Établissement de Monnaie Électronique régulé par la Banque de France à travers son autorité de contrôle prudentiel et de résolution, l’ACPR (CIB 17138).
DSP2 : CentralPay est conforme à la 2ème Directive sur les Services de Paiements qui impose notamment des exigences en matière d’authentification forte et de protection des données.
PCI-DSS : CentralPay obtient annuellement la certification la plus élevée possible en matière de sécurisation des données bancaires et prévention de la fraude ; la norme PCI DSS de niveau 1.
EBA CLEARING & EPC : En qualité de membre de l’European Payment Council et sa connexion à l’EBA CLEARING, CentralPay intègre les schémas européens des règlements SEPA afin d’émettre et de recevoir des virements et des prélèvements depuis ses propres IBAN et IBAN virtuels.
SWIFT : Connecté au réseau SWIFT, messagerie la plus acceptée à l’échelle mondiale, CentralPay est en mesure d’échanger des flux financiers internationaux avec la plupart des banques et des institutions financières participantes.
Visa, Mastercard, Cartes bancaires, American Express : CentralPay est accrédité auprès des grands réseaux de cartes, afin d’optimiser les parcours et la conversion des paiements de tous ses utilisateurs.

How to use the swagger >

You’ll find below instruction to use our swagger properly

1 – This is where you can choose the server you’ll call for your tests. For now, only RCT (Test Api) is available.
2 – In order to do your tests, you’ll need to authenticate with your credentials. You can use here your Api login and password. You can also use our test login : Doctest:4I9HJRTd


3 – This is where you will be able to see the parameters for each endpoint, and do your tests.

4 – Try it out. Use this if you want to be able to test the endpoint. Make sure you’re authenticated before doing so.
5 – This is where you’ll be able to use the test values of your choosing. By default, most values are already filled, but use yours for better results.
6 – Click here once values are filled to call our Api and do your tests.
7 – This is where you’ll see the results once you called our Api. You’ll also find here by default responses example for this endpoint.

Guide de démarrage rapide >

1/ Entrée en relation

  • Consultez les offres tarifaires de CentralPay
  • Présentez votre projet aux équipes commerciales de Centralpay
  • Choisissez le modèle d’entrée en relation qui correspond à votre projet
  • Consultez les étapes d’entrée en relation

2/ Création de votre compte de test

Un environnement de recette est mis à disposition pour effectuer vos développements et tests d’intégration :

  • Compte de test Marchand : si vous souhaitez uniquement accéder à la solution d’encaissement Smart Collection, cliquez sur le lien suivant et renseignez vos informations : obtenir un compte de test marchand
  • Compte de test Partenaire : si vous souhaitez accéder aux solutions d’encaissement Smart Collection et de transfert des paiements Easy Wallet, veuillez contacter notre service client qui créera et paramètrera votre compte de test en conséquence.

3/ Choix de votre méthode d’intégration

Déterminez la méthode d’intégration que vous souhaitez utiliser :

  • Intégration Smart : utilisez les demandes de paiement et la page de paiement CentralPay pour encaisser vos transactions. Les parcours clients sont prêts à l’emploi, pour un lancement rapide de votre projet.
  • Intégration Custom : intégrez les services API de transaction par carte, par virement et/ou par prélèvement SEPA pour encaisser vos transactions. Les parcours doivent être entièrement développés par vos soins, ce qui vous permet de le maitriser entièrement, mais requiert plus d’efforts et de responsabilités.

4/ Paramétrage de votre compte

Votre compte CentralPay dispose d’un certain nombre de paramétrages qui peuvent être réalisés en autonomie ou avec l’aide de notre service client. Les paramétrages réalisés sur votre compte de RCT ne seront pas répercutés automatiquement sur votre compte de PROD, veillez à reparamétrer correctement votre compte de PROD une fois en votre possession.

Paramétrages principaux :

  • Récupération des accès d’authentification API du compte
  • Déclaration des domaines autorisés (si intégration Custom uniquement)
  • Comptes de paiement et affectation des comptes bancaires de sortie
  • Paramétrage des utilisateurs du Portail utilisateur
  • Création et paramétrage des points de vente
  • Paramétrage des Webhooks
  • Paramétrage de l’Identifiant de Créancier SEPA ou ICS (si prélèvements SEPA uniquement)

Paramétrages secondaires :

  • Paramétrage des emails de contact du compte
  • Paramétrage des règles d’acceptation
  • Paramétrage des reversements
  • Paramétrage du libellé de relevé bancaire (carte)
  • Paramétrage des notifications automatiques
  • Paramétrage de la page de paiement SmartForm
  • Paramétrage des profils de demandes de paiement
  • Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement carte
  • Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement SEPA

5/ Simuler des paiements

Avant la mise en production de votre compte, vous devez simuler des paiements client dans votre compte de RCT afin de vous assurer du bon fonctionnement de votre intégration :

  • Simuler une transaction carte : consultez la liste des cartes de test permettant de simuler différents types et statuts de transactions
  • Simuler une transaction par virement SEPA (SCT) : créez une ou plusieurs transactions SCT puis demandez au support CentralPay de simuler les opérations
  • Simuler une transaction par prélèvement SEPA (SDD) : récupérez un IBAN/BIC de test depuis notre liste dédiée

6/ Mise en production

Une fois vos workflows de paiement testés et validés sur l’environnement de RCT, il va être nécessaire de préparer la MEP vers l’environnement de production.
Tout paramétrage ayant été réalisé en RCT devra être réeffectuer en PROD si vous désirez le même comportement.
Pour cela il vous faudra :

  • récupérer les crédentials de PROD du ou des utilisateurs API
  • s’assurer de bien avoir l’URL API de PROD
  • récupérer la merchantPublicKey liée à votre marchand afin de créer des cardToken
  • informer CentralPay de la mise en production d’un site ou d’une évolution majeure impactant Centralpay sur la connaissance de l’activité du marchand
  • définir l’URL de votre site sur votre point de vente du marchand afin d’avoir le droit d’utiliser des demandes de paiement 
  • vérifier l’accès à la page de contact du support depuis le portail utilisateur : https://backoffice.centralpay.net/admin/support/

Une fois la MEP sur l’environnement de PRD effectuée, il est toléré de faire une ou deux transactions d’un Euro afin de contrôler le bon fonctionnement du paiement.

Contacter CentralPay >

CentralPay s’emploie à une croissance saine, permettant à nos utilisateurs d’être quotidiennement accompagnés par des équipes stables et expertes dans leur domaine (conformité, monétique, sécurité…).

Ainsi, nos services client et support sont joignables du Lundi au Vendredi depuis l’espace « Aide & Support » de votre Portail utilisateur, par email ou par visioconférence sur rendez-vous.

1/ Avant d’adresser une demande technique

Quelques points que vous pouvez vérifier préalablement :

  • Authentification : êtes-vous correctement authentifié ?
  • Environnement : êtes-vous sur le bon environnement du Portail utilisateur et de l’API (RCT ou PROD) ?
  • Autorisation : avez-vous les autorisations nécessaires pour réaliser cette opération ? L’erreur HTTP 403 signale une erreur d’autorisation.
  • Erreur HTTP : Consultez la signification des codes d’erreurs HTTP CentralPay. Si vous recevez un code erreur HTTP 500, veuillez contacter immédiatement le support technique.

2/ Informations à communiquer pour toutes demandes techniques

  • Dates et heures précises des évènements concernés
  • Lien (url) de la page concernée
  • Une ou des capture(s) d’écran, idéalement une vidéo (Cloudapp permet de faire une vidéo d’une page du navigateur Google chrome)
  • Un UUID (ou id) de l’opération concernée et son type (transaction carte, remboursements, demande de paiement…).
  • L’environnement sur lequel vous travaillez (recette RCT ou production PROD)
  • Une description précise du problème rencontré ou de votre interrogation

Ces informations nous permettrons de vous accompagner et d’analyser votre situation plus efficacement.

Vos demandes seront traitées de façon prioritaire si elles sont envoyées depuis l’espace « Aide et Support » du Portail utilisateur :

  • Aide et support – Portail utilisateur de RCT
  • Aide et support – Portail utilisateur de PROD

Card token

See more about Card Token

The Json « CardToken » object

The « CardToken » object represents a debit/credit card token.

Merchants usually want to be able to charge payment cards, IBAN or other without having to store sensitive data on their servers.
Token.js makes this easy in the browser, but you can use the same technique in other environments with our token API.

Tokens can be created with your publishable API key, which can safely be embedded in downloadable applications like iPhone and Android apps. You can then use a token anywhere in our API when a credit/debit card, bank account or any personal ID number is accepted.

You need to add a header "Origin" with an URL previously added in your Back Office as an Authorized Custom form Host.
For your tests, you can use the origin : https://example.centralpay.net.

Bank return codes

List of codes returned by the issuer bank to CentralPay after an autorization request

00Transaction approved or successfully processed
02Contact card issuer
03Invalid acceptor
04Keep card
05Do not honor
06Transaction invalid for terminal
07Honor with ID
08Time-Out
09No original
10Unable to reverse
11Partial approval
12Invalid transaction
13Invalid amount
14Invalid cardholder number
15Unknown card issuer
17Invalid capture date (terminal business date)
19Repeat transaction later
20No From Account
21No To Account
22Account not verified
23Account not saved
24No Credit Account
25Unable to locate record in file
26Record duplicated
27 ‘Edit’ error in file update field
28File access denied
29File update not possible
30Format error
31Identifier of acquiring organization unknown
32Transaction partially completed
33Card validity date exceeded
34Implausible card data
38Number of PIN attempts exceeded
39Transaction not allowed
41Lost card
42Special Pickup
43Stolen card
44Stolen card
51Insufficient funds or overdraft
54 Card expired
55Incorrect PIN
56 Card not on file
57Transaction not authorized to this cardholder
58Transaction prohibited at terminal
59Suspected fraud
60 the card acceptor must contact the buyer
61Withdrawal amount over limit
62Card use restricted
63MAC Key Error
65 Frequency limit exceeded
66Acquirer limit reached
67Card withheld
68Response not received or received too late
75Number of PIN attempts exceeded
76Invalid Account
77Issuer not participating in service
78Function not available
79Key validation error
80Approved for purchase amount only
81Unable to verify PIN
82Invalid CVV
83Not refused
84Invalid transaction lifecycle
85No key to use
86KME synchronization error
87PIN error
88MAC synchronization error
89Security violation
90Temporary system shutdown
91Card transmitter inaccessible
92Card issuer unknown
93Transacation cannot be finalized
94Duplicate request
95Contact acquirer
96System malfunction
97No Funds Transfer
98Duplicate Reversal
99Duplicate Transaction
N3Cash Service Not Available
N4Cash Back Request Exceeds Issuer Limit
N7Declined for CVV2 failure
R0Stop Payment Order
R1Revocation of Authorisation Order
R3Revocation of all Authorisations Order
A0Withdrawal in contact mode
A1VADS fallback
000Approved
001Approve with ID
002Partial approval (prepaid cards only)
100Reject
101Card expired / invalid expiry date
106PIN attempts exceeded
107Please call issuer
109Invalid merchant
110Invalid amount
111Invalid account / Invalid MICR (traveler’s check)
115Requested function not supported
117Invalid PIN
119Cardholder not registered / not authorized
122Invalid card security code (alias CID, 4DBC, 4CSC)
125Invalid effective date
181Format error
183Invalid currency code
187Refuse – New card issued
189Refuse – Merchant cancelled or closed / SE
200Refuse – Pick up card
900Accepted – ATC synchronization
909System malfunction (cryptographic error)
912Issuer not available

À propos de CentralPay

Articles

  • Certifications et agréments
  • Sécurité et hébergement
  • Engagements de disponibilité
  • Évolution de la plateforme
  • Principes de réserve

Certifications et agréments

CentralPay propose des solutions de paiement modulaires permettant l’unification des flux d’encaissement pour compte propre et l’automatisation des reversements pour le compte de tiers. La typologie de services et d’opérations proposées par CentralPay varie en fonction des besoins et de l’activité de ses marchands et partenaires.

CentralPay est une société indépendante, entièrement propriétaire de sa technologie et de ses agréments. Garantissant la meilleure autonomie possible dans ses choix de partenariats et de son évolution.

CentralPay est autorisé à entrer en relation d’affaires avec les entreprises enregistrées dans l’Espace Économique Européen.

ACPR
(Banque de France)
Établissement de Monnaie Électronique : CentralPay est un Établissement de Monnaie Électronique régulé par la Banque de France à travers son autorité de contrôle prudentiel et de résolution, l’ACPR (CIB 17138).
DSP2 : CentralPay est conforme à la 2ème Directive sur les Services de Paiements qui impose notamment des exigences en matière d’authentification forte et de protection des données.
PCI-DSS : CentralPay obtient annuellement la certification la plus élevée possible en matière de sécurisation des données bancaires et prévention de la fraude ; la norme PCI DSS de niveau 1.
EBA CLEARING & EPC : En qualité de membre de l’European Payment Council et sa connexion à l’EBA CLEARING, CentralPay intègre les schémas européens des règlements SEPA afin d’émettre et de recevoir des virements et des prélèvements depuis ses propres IBAN et IBAN virtuels.
SWIFT : Connecté au réseau SWIFT, messagerie la plus acceptée à l’échelle mondiale, CentralPay est en mesure d’échanger des flux financiers internationaux avec la plupart des banques et des institutions financières participantes.
Visa, Mastercard, Cartes bancaires, American Express : CentralPay est accrédité auprès des grands réseaux de cartes, afin d’optimiser les parcours et la conversion des paiements de tous ses utilisateurs.

Sécurité et hébergement

CentralPay exploite ses services depuis deux Datacenter Français. Les équipements et services exploités sur ces deux sites sont entièrement redondés.

Un hébergement hautement résiliant :

  • Deux Datacenter de conception TIER III basés à Tours
  • Environnement actif/actif entre les deux sites
  • Des engagements contractuels (SLA) de 99.9%
  • Des normes reconnues : ISO27001, PCI-DSS, Code of Conduct

Une infrastructure garante de la sécurité de vos données :

  • Cœur de réseau allant jusqu’à 10 Gb/s
  • Réseau électrique entièrement redondé | Densité électrique allant de 600 mA à 32 A
  • Système de contrôle d’accès avec double authentification (badge & code personnel)
  • Vidéo-surveillance et alarme reliée 24h/7j à notre télésurveillance
  • Système d’extinction d’incendie par aérosol FirePro

Engagements de disponibilité

CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants :

CPAY API
Traitement des opérations de paiement
CPAY PORTALS
Portails d’inscription, client et utilisateur
99,9 %
sur une base annuelle
99,5 %
sur une base annuelle
Le critère d’atteinte de cette garantie correspond à la disponibilité de l’API de paiement.Le critère d’atteinte de cette garantie correspond à la disponibilité des portails de l’environnement de production.

Évolution de la plateforme

Les API de CentralPay reposent sur une architecture en micro services apportant un maximum de flexibilité. Notre approche modulaire permet de faire constamment évoluer nos solutions afin d’apporter toujours plus de services et de fonctionnalités.

Ces évolutions sont réalisées après des analyses d’impact poussées afin de ne pas provoquer de changement dans les intégrations de nos utilisateurs. Dans de très rares cas, celles-ci peuvent appeler des modifications mineures ou plus importantes lorsque des changements de régulations surviennent, comme ce fut le cas pour l’évolution vers la version 2.0 du 3DS par exemple.

En cas d’évolution de la plateforme ou de modifications des attentes concernant la consommation de ses APIs, CentralPay s’engage à vous prévenir dans un délai correspondant à l’ampleur des actions à mener :

  • Modifications mineures nécessitant aucune action du marchand ou partenaire :
    remise d’information simple
  • Modifications mineures avec action nécessaire par le marchand ou partenaire :
    2 mois minimum de délai de prévenance + accompagnement à la réalisation
  • Modifications majeures avec action nécessaire par le marchand ou partenaire :
    6 mois minimum de délai de prévenance + accompagnement à la réalisation

À noter que les modifications nécessitant une action de nos marchands ou partenaires sont qualifiées d’exceptionnelles à inexistantes et que toutes les précautions sont prises pour éviter tout impact sur leur activité.

Principes de réserve

La réserve représente les sommes qui sont maintenues sur votre compte CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) liés à des opérations de paiement. Ses paramètres sont définis en fonction du profil de risque financier de votre compte, et sont actualisés en fonction de l’analyse de vos R-transactions sur une période suffisante. Les transactions récurrentes par prélèvement SEPA et par carte bancaire sont particulièrement sujets au risque de R-transactions.

CentralPay possède 3 types de garanties de protection qui peuvent s’appliquer aux marchands, en fonction de la nature de leur contrat :

1/ Le collatéral

Il représente la somme fixe versée en début de relation, servant à couvrir le risque de crédit dans le cas où le marchand ne pourrait pas satisfaire ses obligations de remboursement envers ses clients.

Le détail du Collatéral est visible depuis le Portail utilisateur : Administration Reversements Somme des cautions

2/ Le pied de compte

En l’absence de Collatéral, une somme fixe peut être prélevée directement sur les opérations afin de garantir le remboursement des clients en cas de besoin. Le wallet doit donc dépasser la valeur du pied de compte pour autoriser les reversements (payout).

Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil fixe

3/ La réserve glissante

Selon le secteur d’activité et les processus de règlement du compte, une réserve glissante (« rolling réserve » en anglais) peut être automatiquement ouverte. Il s’agit d’une garantie de protection supplémentaire qui permet de maintenir un certain pourcentage du volume d’encaissement marchand sur le compte CentralPay afin de permettre l’initiation de remboursements automatiques en cas de contestation de transaction, de fraude ou encore afin de couvrir d’éventuels frais opérationnels. Cette somme appartient à la trésorerie du marchand, elle est gardée un nombre défini de jours avant d’être libérée (généralement entre 90 à 180 jours).

Par exemple, le seuil variable de la réserve glissante est de 5% du volume d’encaissement sur 90 jours. Le calcul quotidien du montant de réserve est le suivant : montant des transactions encaissées lors des 90 derniers jours * 5%

Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil variable

Profils clients

1/ Introduction

Les profils clients (ou « Customer ») unifient et sécurisent toutes vos données client pour en faciliter la gestion. Ils interagissent avec les autres services de CentralPay et permettent notamment de :

  • centraliser leur historique de paiements (tous canaux de vente et moyens de paiement confondus)
  • digitaliser et stocker de manière sécurisée leurs supports de paiement (cartes, mandats SEPA, IBAN virtuels)
  • suivre facilement leurs paiements récurrents (abonnements, paiements fractionnés) ou règlements en attente (demandes de paiement).

Dans certains cas, ils peuvent également être associés à un compte de monnaie électronique permettant au client de recevoir et d’utiliser des fonds au sein du réseau du partenaire distributeur de cette monnaie électronique.

Un Customer est obligatoirement identifié soit par son email, soit par son numéro de téléphone.

Il est également possible de déclarer d’autres informations le concernant comme son nom, son prénom, sa langue, sa référence personnalisée, son moyen de paiement par défaut…

2/ Utilisation

La création d’un Customer est obligatoire pour la réalisation :

  • d’abonnements ou de paiements fractionnés par carte
  • de paiements en 1 clic par carte
  • de paiements par prélèvement SEPA
  • de paiements par virement SEPA avec IBAN Virtuel dédié à celui-ci
  • de création d’un compte de monnaie électronique anonyme

3/ Interfaces

Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail utilisateur > Compte > Customers :

  • Accès Customers – Portail utilisateur de RCT
  • Accès Customers – Portail utilisateur de PROD

Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise.

4/ Création d’un Customer

Il existe deux méthodes pour créer un Customer :

  • Créer un Customer depuis le service API dédié, permettant ensuite de créer une Card, de gérer un IBAN Virtuel pour ce Customer, d’initier une transaction, une demande de paiement…
  • Créer un Customer via une demande de paiement

CentralPay assure l’unicité des Customers : si vous initiez une demande de paiement avec création d’un Customer alors que son email ou son numéro de téléphone est déjà connu dans votre compte, CentralPay ne créera pas de nouveau Customer et associera la transaction au profil existant.

Sécurité et hébergement

CentralPay exploite ses services depuis deux Datacenter Français. Les équipements et services exploités sur ces deux sites sont entièrement redondés.

Un hébergement hautement résiliant :

  • Deux Datacenter de conception TIER III basés à Tours
  • Environnement actif/actif entre les deux sites
  • Des engagements contractuels (SLA) de 99.9%
  • Des normes reconnues : ISO27001, PCI-DSS, Code of Conduct

Une infrastructure garante de la sécurité de vos données :

  • Cœur de réseau allant jusqu’à 10 Gb/s
  • Réseau électrique entièrement redondé | Densité électrique allant de 600 mA à 32 A
  • Système de contrôle d’accès avec double authentification (badge & code personnel)
  • Vidéo-surveillance et alarme reliée 24h/7j à notre télésurveillance
  • Système d’extinction d’incendie par aérosol FirePro

Le compte CentralPay

Articles

  • Compte CentralPay
  • Profils clients
  • Points de vente
  • Comptes de paiement
  • Comptes de ME

Compte CentralPay

Ouvert pour une entité (personne physique ou morale), il est le support de :
– Sa contractualisation : grille tarifaire, CGU…
– Son administration : authentification, profils utilisateurs…
– Sa configuration : scenario de notification, points de vente, règles d’acceptations
– Sa conformité : KYC/KYB, accréditations…

Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.

1/ Les types de compte CentralPay et droits associés

Il existe plusieurs types de compte CentralPay disposants de droits spécifiques à chacun :

  • Participant : 
    Le Participant est une entité rattachée à un Partenaire qui lui fournit des services.
    Il dispose :
    • D’un compte de paiement ou de monnaie électronique utilisé uniquement pour recevoir des transferts de son Partenaire.
    • D’un accès au Portail Utilisateur pour gérer ses reversements.

      Limitations :
    • Pas d’accès direct aux API de CentralPay.
  • Marchand : 
    Le Marchand représente une entreprise ou un commerçant qui encaisse des paiements pour son propre compte. Il bénéficie :
    • D’un accès aux services CentralPay via API (directement ou via un Partenaire Technique).
    • De la gestion autonome de ses reversements.
    • D’un ou plusieurs comptes de paiement
    • D’un Contrat d’Acceptation pour encaisser des paiements.
    • D’un compte de commission dédié pour isoler les frais de service des autres transactions.
  • Partenaire Technique : 
    Le Partenaire Technique agit pour le compte d’un Marchand, ou d’un Participant disposant d’un Contrat d’Acceptation.
  • Rôles et fonctionnalités :
    • Dispose d’une infrastructure informatique permettant la gestion technique des paiement.
    • Détient des identifiants API spécifiques pour consulter ou transmettre des informations.
    • Accède à un compte centralisateur pour visualiser et suivre les transactions.
    • Possède un compte de commission pour percevoir les frais liés à ses services.
    • Peut également disposer d’un Contrat d’Acceptation pour ses propres encaissements.
  • Partenaire DME  :
    Le Partenaire DME fournit une gamme élargie de services, incluant :
    • La mise en relation de CentralPay avec des Participants dans le but d’ouvrir un compte
    • La distribution, le transfert et le remboursement de la monnaie électronique.

      Fonctionnalités :
    • Comme le Partenaire Technique, il dispose d’une infrastructure informatique pour gérer les paiements et les transferts.
    • Accède à des identifiants API selon des droits spécifiques.
    • Visualise et gère les instructions depuis un compte centralisateur.

      Le Partenaire DME fournit les instructions nécessaires pour :
    • Permettre le chargement de la valeur sur les comptes de monnaie électronique.
    • Effectuer des transferts entre comptes.
    • Rembourser la monnaie électronique.

      Il possède un compte de commission pour percevoir les frais associés.
  • Partenaire Agent :

Le Partenaire Agent (Prestataire de Services de Paiement – PSP) dispose de droits élargis et d’un statut réglementé nécessitant un enregistrement auprès de l’ACPR. Contrairement aux autres Partenaires, l’Agent participe activement à la réalisation des Services de Paiement.

Rôles et fonctionnalités :

Il peut gérer un large éventail d’opérations de paiement, notamment :

  • La demande d’inscription de Participants sous-marchands.
  • Participe à la collecte du KYC/KYB ou assure la collecte du KYC/KYB
  • La gestion des encaissements directement depuis un compte de collecte dont il est titulaire.
  • Le transfert des Transactions vers le ou les comptes de paiements concernés
  • Pilote le réservément vers les comptes bancaires
  • Dispose de :
    • Un compte de collecte sur lequel transiteront les fonds de tiers
    • Un compte de commission pour recevoir les frais liés à ses services.
    • Un éventuel compte de paiement et un contrat d’acceptation pour ses propres encaissements.

2/ Paramétrage des emails de contacts du compte

Afin d’adresser nos demandes ou de transférer les informations importantes aux bonnes personnes au sein de votre entité, il est important de renseigner les emails de contact du compte :

  • Email contact : email du responsable général du compte
  • Email administratif : email du responsable administratif du compte
  • Email technique : email du responsable technique du compte
  • Email financier : email du responsable financier du compte

NB : par défaut, les emails sont renseignés avec celui du titulaire du compte.

  • Accès Portail utilisateur de RCT – Paramétrage des coordonnées
  • Accès Portail utilisateur de PROD – Paramétrage des coordonnées

Profils clients

1/ Introduction

Les profils clients (ou « Customer ») unifient et sécurisent toutes vos données client pour en faciliter la gestion. Ils interagissent avec les autres services de CentralPay et permettent notamment de :

  • centraliser leur historique de paiements (tous canaux de vente et moyens de paiement confondus)
  • digitaliser et stocker de manière sécurisée leurs supports de paiement (cartes, mandats SEPA, IBAN virtuels)
  • suivre facilement leurs paiements récurrents (abonnements, paiements fractionnés) ou règlements en attente (demandes de paiement).

Dans certains cas, ils peuvent également être associés à un compte de monnaie électronique permettant au client de recevoir et d’utiliser des fonds au sein du réseau du partenaire distributeur de cette monnaie électronique.

Un Customer est obligatoirement identifié soit par son email, soit par son numéro de téléphone.

Il est également possible de déclarer d’autres informations le concernant comme son nom, son prénom, sa langue, sa référence personnalisée, son moyen de paiement par défaut…

2/ Utilisation

La création d’un Customer est obligatoire pour la réalisation :

  • d’abonnements ou de paiements fractionnés par carte
  • de paiements en 1 clic par carte
  • de paiements par prélèvement SEPA
  • de paiements par virement SEPA avec IBAN Virtuel dédié à celui-ci
  • de création d’un compte de monnaie électronique anonyme

3/ Interfaces

Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail utilisateur > Compte > Customers :

  • Accès Customers – Portail utilisateur de RCT
  • Accès Customers – Portail utilisateur de PROD

Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise.

4/ Création d’un Customer

Il existe deux méthodes pour créer un Customer :

  • Créer un Customer depuis le service API dédié, permettant ensuite de créer une Card, de gérer un IBAN Virtuel pour ce Customer, d’initier une transaction, une demande de paiement…
  • Créer un Customer via une demande de paiement

CentralPay assure l’unicité des Customers : si vous initiez une demande de paiement avec création d’un Customer alors que son email ou son numéro de téléphone est déjà connu dans votre compte, CentralPay ne créera pas de nouveau Customer et associera la transaction au profil existant.

Points de vente

1/ Introduction

Les points de vente (« Point of Sales » ou « POS ») sont la représentation de vos différents sites web, boutiques, ou équipes de vente. Ils permettent de segmenter les opérations de votre compte CentralPay à des fins :

  • Techniques : vous pouvez réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom expéditeur des emails de confirmation, logo affiché dans la page de paiement …)
  • Administratives : vous pouvez limiter les droits de consultation ou de modification de vos profils utilisateurs à certains points de ventes
  • Comptables : vous pouvez filtrer les opérations par point de vente dans votre Portail utilisateur ou dans vos exports de données

Lors de la création de votre compte CentralPay, un premier Point de Vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre Portail utilisateur pour paramétrer ce dernier, ou en créer de nouveaux :

  • Accès Points de ventes – Portail utilisateur de RCT
  • Accès Points de ventes – Portail utilisateur de PROD

2/ Paramétrages

Les Points de Vente comprennent un certain nombre de paramétrages obligatoires :

  • Paramètres généraux
    • Nom : nom du point de vente (visible par vos clients)
    • URL du site : s’il s’agit d’un site e-commerce, renseignez l’URL de ce dernier. Sinon, renseigner l’URL de votre site vitrine.
    • Pays du point de vente
  • Configuration
    • Type technique : sélectionnez « Vente à distance »
    • Utilisateurs API : sélectionnez les utilisateurs API ayant un droit d’accès à ce Point de Vente
    • Contrats : sélectionnez le contrat VAD carte qui a été paramétré pour votre compte (en règle générale, vous n’aurez qu’un seul contrat à disposition)
    • Contrat par défaut : sélectionnez le contrat VAD carte qui sera utilisé par défaut (en règle générale, vous n’aurez qu’un seul contrat à disposition)
    • Viban prioritaire : si vous souhaitez que les IBAN Virtuels affichés dans les demandes de paiement soient ceux des Customers, alors sélectionnez « Client ». Si vous préférez afficher des IBAN Virtuels dédiés à chaque demande de paiement, alors sélectionnez « SCT ». Si besoin d’informations complémentaires, consultez notre rubrique sur les IBAN Virtuel.

D’autres paramétrages ne sont pas obligatoires, mais sont importants pour votre parcours de vente :

  • Paramètres généraux
    • Logo : chargez le logo de votre entreprise ou celui dédié à votre point de vente. Il apparaitra dans la page de paiement générée par les demandes de paiement.
    • ID point de vente du marchand : renseignez une référence personnalisée vous permettant d’identifier plus simplement le point de vente dans vos systèmes d’information.
  • Emails de confirmation
    • Coche « Activer l’email de confirmation de paiement » : En cochant cette case, vous activez l’envoi d’un email à vos clients lorsqu’ils réalisent un paiement par carte. Il s’agit d’un email standardisé non modifiable contenant un récapitulatif du paiement (raison sociale de votre compte, nom de votre point de vente, date du paiement, identifiant de la transaction CentralPay, référence marchand de la transaction, description marchand de la transaction, code d’autorisation du paiement, marque de la carte, 6 premiers et 4 derniers chiffres de la carte, montant de la transaction, état de la transaction). La langue et le pied de page de l’email peuvent être paramétrés depuis le Portail utilisateur > Configuration > Email confirmation paiement.
    • Email de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser l’adresse expéditeur en utilisant l’une de vos adresses email (par exemple : no-reply@mondomaine.com). Attention, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine.
    • Nom de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser le nom de l’expéditeur (par exemple : MonEntreprise).
    • Coche « Recevoir une copie de la confirmation de paiement » : En cochant cette case, vous activez l’envoi d’une copie de l’email adressé à vos clients lorsqu’ils réalisent un paiement par carte. Cela peut vous permettre d’être informé facilement par email lorsqu’un client réalise un paiement.
    • Email du destinataire : si vous avez coché la case « Recevoir une copie de la confirmation de paiement », vous devez renseigner l’adresse email du destinataire de cette copie.

Enfin, d’autres paramètres secondaires sont disponibles :

  • OTP
    • Email de l’expéditeur OTP email : Email affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…)
    • Nom de l’expéditeur OTP email : Nom affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…)
    • Numéro de téléphone ou nom de l’expéditeur OTP SMS : Nom ou numéro de téléphone affiché en tant qu’expéditeur des SMS de One Time Password (validation de mandat SEPA…)
  • Paramètres de communication

Ces paramètres sont appliqués aux mails ou SMS transmettant le lien vers le formulaire de paiement d’une demande de paiement (paymentRequest).

Ils s’appliquent uniquement lorsque aucun scenario n’a été configuré sur la demande paiement.

  • Expéditeur SMS : Nom du correspondant affiché sur le SMS
  • Expéditeur Email : Email du correspondant affiché sur l’email
  • Nom de l’expéditeur Email : Nom du correspondant affiché sur l’email
  • Adresse de réponse Email : Email utilisé pour les réponses des emails envoyés (applicable prochainement)
  • Pied de page de l’email : Pied de page des emails (applicable prochainement)

Comptes de paiement

1/ Introduction

Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…). Ils permettent de stocker des fonds dans une devise ISO (EUR, USD, CHF, GBP…) et possèdent un IBAN/BIC qui lui est propre. Un compte de paiement est, sauf exception, associé à un compte bancaire ayant le même titulaire, permettant à CentralPay de réaliser des reversements automatiques par virement SEPA.

Si vous disposez de plusieurs comptes bancaires sur lesquels vos fonds doivent être reversés, vous pouvez demander à votre contact CentralPay de créer le même nombre de comptes de paiement dans votre compte CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des reversements SEPA en conséquence.
Il est également possible de créer plusieurs comptes de paiement à des fins de segmentation des fonds (avec un compte dédié aux opérations de commission ou de frais par exemple).

Vous pouvez consulter le détail de vos comptes de paiements depuis ces accès :

  • Comptes de paiement – Portail utilisateur de RCT
  • Comptes de paiement – Portail utilisateur de PROD

2/ Utilisations

Les comptes de paiement sont systématiquement utilisés pour les opérations de paiement de notre plateforme, à l’exception des opérations de monnaie électronique.

3/ Création de comptes de paiement

Si vous êtes marchand CentralPay, vous pouvez adresser une demande par email aux équipes CentralPay pour la création de plusieurs comptes de paiement à votre nom. Cela afin de segmenter vos opérations ou d’ouvrir un compte dans une devise différente.

Si vous êtes Partenaire MOBSP ou AGENT de CentralPay, vous pouvez créer des comptes pour vos sous-marchands en utilisant le service de création de comptes de paiement.

Comptes de ME

1/ Introduction

Uniquement réservé aux Partenaires DME et à leurs utilisateurs.

Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un partenaire DME). Un partenaire DME peut demander la création de comptes de ME pour les participants de son réseau puis réaliser des transferts de fonds en ME entre ces comptes.

Le titulaire d’un compte de ME ne peut recevoir des paiements et utiliser sa monnaie électronique que par l’intermédiaire du partenaire DME. Il peut cependant demander le remboursement de sa monnaie électronique à tout moment et recevra ses fonds en devise ISO : soit sur son compte bancaire par virement SEPA, soit sur sa carte bancaire, selon les paramétrages de son compte.

Vous pouvez consulter le détail de vos comptes de ME depuis ces accès :

  • Comptes de ME – Portail utilisateur de RCT
  • Comptes de ME – Portail utilisateur de PROD

2/ Utilisations

Les comptes de ME sont principalement utilisés pour permettre à des personnes physiques de recevoir et d’échanger facilement des fonds dans les contextes suivants :

  • Marketplaces C2C de produits ou de services
  • Stockage et utilisation de valeurs cadeaux au sein d’un réseau de commerçants indépendants

3/ Spécificités

Le CMF (Code Monétaire et Financier) présente des conditions spécifiques pour la monnaie électronique. Ainsi, il existe deux types de comptes de ME chez CentralPay :

  • Compte de ME anonyme : ce compte peut être ouvert sans vérification d’identité du titulaire, à condition qu’il soit adressé à une personne physique et soit limité à 150 € de solde ou d’encaissement sur 30 jours. Ce type de compte est particulièrement utile dans le cadre d’une utilisation ponctuelle du compte par son titulaire, ou tout simplement pour simplifier l’entrée en relation avec le partenaire DME.
  • Compte de ME vérifié : un compte anonyme peut être ensuite vérifié par les équipes conformité de CentralPay (procédure KYC) pour augmenter les limites qui lui étaient imposées, il devient ainsi « vérifié ».

4/ Création de comptes de ME

Si vous êtes Partenaire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos participants.

Payment Request >

See more about Payment Requests

Transaction

See more about card transactions

WooCommerce

Ce guide vous accompagne dans l’installation, la configuration et l’utilisation du plugin de paiement CentralPay pour WooCommerce (WordPress).

Important : la plateforme CentralPay prend en charge différents moyens de paiement (carte, virement SEPA, prélèvement SEPA, initiation de paiement) et plusieurs modes de paiement (paiement en une fois, abonnement, en plusieurs fois, etc.).
👉 Ce plugin WooCommerce permet uniquement l’encaissement de transactions cartes unitaires.

Si vous souhaitez demander une évolution du plugin, rendez-vous sur https://support.centralpay.com > Support & Paramétrage > Suggérer une nouvelle fonctionnalité

1. 📦 Téléchargement du plugin

Téléchargez l’archive ZIP du plugin CentralPay en cliquant ici.

Vous ne devez pas la décompresser manuellement.

2. 🔧 Installation sur WordPress

  1. Connectez-vous à votre interface d’administration WordPress.
  2. Allez dans Extensions > Ajouter.
  3. Cliquez sur Téléverser une extension.
  4. Sélectionnez le fichier centralpay220.zip et cliquez sur Installer maintenant.
  5. Une fois l’installation terminée, cliquez sur Activer l’extension.

3. ⚙️ Configuration du module

  1. Allez dans WooCommerce > Réglages > Paiements.
  2. Cliquez sur CentralPay pour accéder à la configuration.
  3. Renseignez les champs suivants puis cliquez sur Enregistrer les modifications :
ChampDescriptionAccès à la donnée
Identifiant marchandIl s’agit de votre Merchant Public Key. Ne pas confondre avec le Merchant UUID.Portail utilisateur CentralPay > Administration > Technique > Copier « Merchant Public Key »
Login APIIdentifiant de votre utilisateur API CentralpayPortail utilisateur CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »
Mot de passe APIMot de passe de votre utilisateur API CentralPayPortail utilisateur CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Modifier > Générer un mot de passe > Copier le mot de passe > cliquer sur « Mettre à jour »
ID du point de venteIdentifiant unique de votre point de vente (UUID)Portail utilisateur CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concerné
Mode test / productionActivez le mode test si vous souhaitez utiliser l’environnement sandbox (les logins et identifiants doivent être ceux de votre compte de test CentralPay)./
URL de redirectionRedirige vos clients vers une page personnalisée après paiement sur notre formulaire.Renseignez l’URL de votre page de confirmation de paiement.

    4. 🧪 Mode test

    • Activez le mode test dans la configuration (attention, vous devez disposer d’un compte de test CentralPay et renseigner les identifiants de ce compte de test).
    • Utilisez les cartes de test fournies par CentralPay pour simuler des paiements.
    • Vérifiez le bon fonctionnement :
      • du formulaire de paiement,
      • des redirections,
      • des statuts de commande.

    5. 🧾 Suivi des paiements

    • Retrouvez tous vos paiements dans WooCommerce > Commandes.
    • Le plugin CentralPay met à jour automatiquement les statuts des commandes.
    • En cas de besoin, un journal des événements est disponible dans le fichier error.log du plugin.

    6. 🌐 Langues disponibles

    Le plugin est disponible en :

    • 🇫🇷 Français
    • 🇬🇧 Anglais

    Vous pouvez modifier ou ajouter vos propres traductions via les fichiers .po présents dans le dossier /languages, ou en utilisant un plugin comme Loco Translate.

    7. 🧹 Désinstallation

    Pour désinstaller le plugin :

    • Désactivez-le via le menu des extensions.
    • Cliquez sur Supprimer.
    • Le script de désinstallation supprimera les paramètres du plugin.

    8. ❓ Support

    Pour toute question ou assistance, contactez notre support technique depuis https://support.centralpay.com
    Merci d’indiquer votre identifiant marchand, l’URL de votre site et le plus de détails possible sur votre besoin.

    Currency codes

    List of currency codes:

    AED
    UAE Dirham
    Currency code: 784
    AFN
    Afghani
    Currency code: 971
    ALL
    Lek
    Currency code: 008
    AMD
    Armenian Dram
    Currency code: 051
    ANG
    Netherlands Antillean Guilder
    Currency code: 532
    AOA
    Kwanza
    Currency code: 973
    ARS
    Argentine Peso
    Currency code: 032
    AUD
    Australian Dollar
    Currency code: 036
    AWG
    Aruban Florin
    Currency code: 533
    AZN
    Azerbaijanian Manat
    Currency code: 944
    BAM
    Convertible Mark
    Currency code: 977
    BBD
    Barbados Dollar
    Currency code: 052
    BDT
    Taka
    Currency code: 050
    BGN
    Bulgarian Lev
    Currency code: 975
    BHD
    Bahraini Dinar
    Currency code: 048
    BIF
    Burundi Franc
    Currency code: 108
    BMD
    Bermudian Dollar
    Currency code: 060
    BND
    Brunei Dollar
    Currency code: 096
    BOB
    Boliviano
    Currency code: 068
    BOV
    Mvdol
    Currency code: 984
    BRL
    Brazilian Real
    Currency code: 986
    BSD
    Bahamian Dollar
    Currency code: 044
    BTN
    Ngultrum
    Currency code: 064
    BWP
    Pula
    Currency code: 072
    BYR
    Belarussian Ruble
    Currency code: 974
    BZD
    Belize Dollar
    Currency code: 084
    CAD
    Canadian Dollar
    Currency code: 124
    CDF
    Congolese Franc
    Currency code: 976
    CHE
    WIR Euro
    Currency code: 947
    CHF
    Swiss Franc
    Currency code: 756
    CHW
    WIR Franc
    Currency code: 948
    CLF
    Unidad de Fomento
    Currency code: 990
    CLP
    Chilean Peso
    Currency code: 152
    CNY
    Yuan Renminbi
    Currency code: 156
    COP
    Colombian Peso
    Currency code: 170
    COU
    Unidad de Valor Real
    Currency code: 970
    CRC
    Costa Rican Colon
    Currency code: 188
    CUC
    Peso Convertible
    Currency code: 931
    CUP
    Cuban Peso
    Currency code: 192
    CVE
    Cabo Verde Escudo
    Currency code: 132
    CZK
    Czech Koruna
    Currency code: 203
    DJF
    Djibouti Franc
    Currency code: 262
    DKK
    Danish Krone
    Currency code: 208
    DOP
    Dominican Peso
    Currency code: 214
    DZD
    Algerian Dinar
    Currency code: 012
    EGP
    Egyptian Pound
    Currency code: 818
    ERN
    Nakfa
    Currency code: 232
    ETB
    Ethiopian Birr
    Currency code: 230
    EUR
    Euro
    Currency code: 978
    FJD
    Fiji Dollar
    Currency code: 242
    FKP
    Falkland Islands Pound
    Currency code: 238
    GBP
    Pound Sterling
    Currency code: 826
    GEL
    Lari
    Currency code: 981
    GHS
    Ghana Cedi
    Currency code: 936
    GIP
    Gibraltar Pound
    Currency code: 292
    GMD
    Dalasi
    Currency code: 270
    GNF
    Guinea Franc
    Currency code: 324
    GTQ
    Quetzal
    Currency code: 320
    GYD
    Guyana Dollar
    Currency code: 328
    HKD
    Hong Kong Dollar
    Currency code: 344
    HNL
    Lempira
    Currency code: 340
    HRK
    Kuna
    Currency code: 191
    HTG
    Gourde
    Currency code: 332
    HUF
    Forint
    Currency code: 348
    IDR
    Rupiah
    Currency code: 360
    ILS
    New Israeli Sheqel
    Currency code: 376
    INR
    Indian Rupee
    Currency code: 356
    IQD
    Iraqi Dinar
    Currency code: 368
    IRR
    Iranian Rial
    Currency code: 364
    ISK
    Iceland Krona
    Currency code: 352
    JMD
    Jamaican Dollar
    Currency code: 388
    JOD
    Jordanian Dinar
    Currency code: 400
    JPY
    Yen
    Currency code: 392
    KES
    Kenyan Shilling
    Currency code: 404
    KGS
    Som
    Currency code: 417
    KHR
    Riel
    Currency code: 116
    KMF
    Comoro Franc
    Currency code: 174
    KPW
    North Korean Won
    Currency code: 408
    KRW
    Won
    Currency code: 410
    KWD
    Kuwaiti Dinar
    Currency code: 414
    KYD
    Cayman Islands Dollar
    Currency code: 136
    KZT
    Tenge
    Currency code: 398
    LAK
    Kip
    Currency code: 418
    LBP
    Lebanese Pound
    Currency code: 422
    LKR
    Sri Lanka Rupee
    Currency code: 144
    LRD
    Liberian Dollar
    Currency code: 430
    LSL
    Loti
    Currency code: 426
    LYD
    Libyan Dinar
    Currency code: 434
    MAD
    Moroccan Dirham
    Currency code: 504
    MDL
    Moldovan Leu
    Currency code: 498
    MGA
    Malagasy Ariary
    Currency code: 969
    MKD
    Denar
    Currency code: 807
    MMK
    Kyat
    Currency code: 104
    MNT
    Tugrik
    Currency code: 496
    MOP
    Pataca
    Currency code: 446
    MRO
    Ouguiya
    Currency code: 478
    MUR
    Mauritius Rupee
    Currency code: 480
    MVR
    Rufiyaa
    Currency code: 462
    MWK
    Kwacha
    Currency code: 454
    MXN
    Mexican Peso
    Currency code: 484
    MXV
    Mexican Unidad de Inversion (UDI)
    Currency code: 979
    MYR
    Malaysian Ringgit
    Currency code: 458
    MZN
    Mozambique Metical
    Currency code: 943
    NAD
    Namibia Dollar
    Currency code: 516
    NGN
    Naira
    Currency code: 566
    NIO
    Cordoba Oro
    Currency code: 558
    NOK
    Norwegian Krone
    Currency code: 578
    NPR
    Nepalese Rupee
    Currency code: 524
    NZD
    New Zealand Dollar
    Currency code: 554
    OMR
    Rial Omani
    Currency code: 512
    PAB
    Balboa
    Currency code: 590
    PEN
    Nuevo Sol
    Currency code: 604
    PGK
    Kina
    Currency code: 598
    PHP
    Philippine Peso
    Currency code: 608
    PKR
    Pakistan Rupee
    Currency code: 586
    PLN
    Zloty
    Currency code: 985
    PYG
    Guarani
    Currency code: 600
    QAR
    Qatari Rial
    Currency code: 634
    RON
    Romanian Leu
    Currency code: 946
    RSD
    Serbian Dinar
    Currency code: 941
    RUB
    Russian Ruble
    Currency code: 643
    RWF
    Rwanda Franc
    Currency code: 646
    SAR
    Saudi Riyal
    Currency code: 682
    SBD
    Solomon Islands Dollar
    Currency code: 090
    SCR
    Seychelles Rupee
    Currency code: 690
    SDG
    Sudanese Pound
    Currency code: 938
    SEK
    Swedish Krona
    Currency code: 752
    SGD
    Singapore Dollar
    Currency code: 702
    SHP
    Saint Helena Pound
    Currency code: 654
    SLL
    Leone
    Currency code: 694
    SOS
    Somali Shilling
    Currency code: 706
    SRD
    Surinam Dollar
    Currency code: 968
    SSP
    South Sudanese Pound
    Currency code: 728
    STD
    Dobra
    Currency code: 678
    SVC
    El Salvador Colon
    Currency code: 222
    SYP
    Syrian Pound
    Currency code: 760
    SZL
    Lilangeni
    Currency code: 748
    THB
    Baht
    Currency code: 764
    TJS
    Somoni
    Currency code: 972
    TMT
    Turkmenistan New Manat
    Currency code: 934
    TND
    Tunisian Dinar
    Currency code: 788
    TOP
    Pa’anga
    Currency code: 776
    TRY
    Turkish Lira
    Currency code: 949
    TTD
    Trinidad and Tobago Dollar
    Currency code: 780
    TWD
    New Taiwan Dollar
    Currency code: 901
    TZS
    Tanzanian Shilling
    Currency code: 834
    UAH
    Hryvnia
    Currency code: 980
    UGX
    Uganda Shilling
    Currency code: 800
    USD
    US Dollar
    Currency code: 840
    USN
    US Dollar (Next day)
    Currency code: 997
    UYI
    Uruguay Peso en Unidades Indexadas (URUIURUI)
    Currency code: 940
    UYU
    Peso Uruguayo
    Currency code: 858
    UZS
    Uzbekistan Sum
    Currency code: 860
    VEF
    Bolivar
    Currency code: 937
    VND
    Dong
    Currency code: 704
    VUV
    Vatu
    Currency code: 548
    WST
    Tala
    Currency code: 882
    XAG
    Silver
    Currency code: 961
    XAU
    Gold
    Currency code: 959
    XBA
    Bond Markets Unit European Composite Unit (EURCO)
    Currency code: 955
    XBB
    Bond Markets Unit European Monetary Unit (E.M.U.-6)
    Currency code: 956
    XBC
    Bond Markets Unit European Unit of Account 9 (E.U.A.-9)
    Currency code: 957
    XBD
    Bond Markets Unit European Unit of Account 17 (E.U.A.-17)
    Currency code: 958
    XCD
    East Caribbean Dollar
    Currency code: 951
    XDR
    SDR (Special Drawing Right)
    Currency code: 960
    XOF
    CFA Franc BCEAO
    Currency code: 952
    XPD
    Palladium
    Currency code: 964
    XPF
    CFP Franc
    Currency code: 953
    XPT
    Platinum
    Currency code: 962
    XSU
    Sucre
    Currency code: 994
    XTS
    Codes specifically reserved for testing purposes
    Currency code: 963
    XUA
    ADB Unit of Account
    Currency code: 965
    XXX
    The codes assigned for transactions where no currency is involved
    Currency code: 999
    YER
    Yemeni Rial
    Currency code: 886
    ZAR
    Rand
    Currency code: 710
    ZMW
    Zambian Kwacha
    Currency code: 967
    ZWL
    Zimbabwe Dollar
    Currency code: 932

    Description of the certification « ISO 4217:2008 » is available at this url:

    • http://www.iso.org/iso/home/standards/currency_codes.htm

    Glossaire

    Articles

    • Glossaire CentralPay
    • Lexique du paiement

    Glossaire CentralPay

    DésignationDescription
    Acteur
    Toute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.
    Autorisation carte
    Opération d’interrogation de disponibilité des fonds d’une carte bancaire, puis de blocage en prévision d’une transaction carte (7 jours max).
    Elle est représentée par l’objet « transaction » dans l’API CentralPay.
    Compte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de :
    – Sa contractualisation : grille tarifaire, CGU…
    – Son administration : credentials, profils utilisateurs…
    – Sa configuration : scenario de notification, points de vente, règles d’acceptations
    – Sa conformité : KYC/KYB, accréditations…
    Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.

    Il est représenté par l’objet « merchant » dans l’API CentralPay.
    Compte de paiementCompte ouvert dans un établissement de paiement. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…).

    Il est représenté par l’objet « wallet » dans l’API CentralPay.
    Compte de monnaie électroniqueCompte ouvert dans un établissement de Monnaie Électronique. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distribteur (devises CUSTOM).

    Il est représenté par l’objet « wallet » dans l’API CentralPay.
    Compte de commissionCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler les opérations liées aux frais CentralPay du reste des opérations de paiement.
    Si utilisation par un partenaire, ce compte permet également de collecter ses propres commissions imputées aux transactions de ses sous-marchands.

    Il est représenté par l’objet « wallet » dans l’API CentralPay.
    Compte de réserveCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler ses fonds de réserve Centralpay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de Payout.

    Il est représenté par l’objet « wallet » dans l’API CentralPay.
    Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom de l’Agent. Il est dédié à la réception des fonds du partenaire Agent avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.

    Il est représenté par l’objet « wallet » dans l’API CentralPay.
    Compte CentralisateurLe Compte Centralisateur est un compte technique mise à disposition par CentralPay au Partenaire pour lui permettre de visualiser les instructions transmises technique transmises. Il est donc uniquement dédié à la centralisation des opérations d’un partenaire avant leur transfert vers les comptes de paiement de ses titulaires concernés.
    MarchandPersonne morale ou autoentreprise réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Dispose d’un compte CentralPay en droits « Standard ».
    Partenaire MOBSPPersonne morale, porteur d’un projet impliquant la mise en relation d’un marchand à CentralPay.
    Partenaire DMEPersonne morale déclarée comme Distributeur de Monnaie Électronique par CentralPay auprès de l’ACPR (Banque de France). Porteur d’un projet impliquant la réalisation d’opérations d’émission et d’échange de Monnaie Électronique. Dispose des droits API « DME Partner ».
    Partenaire AgentPersonne morale agréée comme Agent Prestataire de Services de Paiement de CentralPay auprès de l’ACPR (Banque de France). Réalisant notamment des opérations d’encaissement pour compte de tiers à destination de ses Participants. Dispose des droits API « Agent Partner ».
    Sous-marchandParticipant personne morale ou physique agissant à des fins commerciales ou dans le cadre d’une activité LMNP. Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».
    ParticipantPersonne physique ou morale agissant à des fins non commerciales (exemple : chargement d’un compte de paiement ou de monnaie électronique dans le but de participer au projet d’un partenaire). Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».
    IntégrateurPersonne morale, généralement une société de développement informatique, ayant intégré tout ou partie des API CentralPay dans sa propre plateforme technique. Il permet ainsi à ses clients disposant d’un compte CentralPay d’accéder aux services CentralPay dans le contexte de sa plateforme. L’intégrateur ne commercialise pas les services de CentralPay.
    ActeurToute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.
    Utilisateur BOPersonne physique disposant d’un accès à un ou plusieurs comptes CentralPay. Dispose d’un type « Legal » s’il est représentant légal du compte, sinon dispose d’un type « Natural ».
    Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur réalisant les appels API sur un compte CentralPay.
    Client / PayeurClient d’un marchand ou d’un partenaire ayant émis un paiement vers un compte CentralPay. Peut disposer d’un profil client CentralPay ou non.
    Frais CentralPayEnsemble des frais dus à CentralPay déduits des opérations correspondantes, prélevés sur un compte de commission dédié ou facturés en fin de mois.
    Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP …)
    Devise CUSTOMDevise de Monnaie Électronique créée pour un Partenaire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO comme l’EURO par exemple.
    Compte bancaireCompte bancaire externe lié à un compte CentralPay pour réaliser des reversements (payout) ou à un profil client pour réaliser des prélèvements SEPA.

    Il est représenté par l’objet « bankAccount » dans l’API CentralPay.
    Reversement bancaireVirement sortant d’un compte CentralPay vers un compte bancaire lié. Peut-être réalisé par SEPA ou SWIFT.

    Il est représenté par l’objet « payout » dans l’API CentralPay.
    Transaction carteOpération de débit d’une carte bancaire, au crédit d’un compte CentralPay.

    Elle est représentée par l’objet « transaction » dans l’API CentralPay.
    Transaction SCTOpération de réception d’un virement SEPA ou SWIFT, au crédit d’un compte CentralPay.

    Elle est représentée par l’objet « sctTransaction » dans l’API CentralPay.
    Transaction SDDOpération de débit d’un compte bancaire, au crédit d’un compte CentralPay.

    Elle est représentée par l’objet « sddTransaction » dans l’API CentralPay.

    Lexique du paiement

    DésignationDéfinition
    Identifiant de Créancier SEPA (ICS)L’ICS est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).
    Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque ou s’il est multi-bancarisé.
    DébiteurPersonne physique ou morale qui doit une somme d’argent à une autre, appelée créancier, que ce soit dans le cadre de transactions commerciales, de prêts ou d’autres obligations financières.
    CréancierPersonne physique ou morale à qui une somme d’argent est due par une autre, appelée débiteur.
    Les créanciers (banques, entreprises ou particuliers qui ont prêté de l’argent ou fourni des biens ou services à crédit) ont le droit légal de réclamer le paiement de la dette, généralement formalisé par un contrat ou une autre forme d’accord.
    Émetteur (ou donneur d’ordre)Le payeur, c’est-à-dire la personne physique ou morale qui va émettre les fonds d’une transaction financière.
    BénéficiaireLe destinataire, autrement dit la personne physique ou morale qui va percevoir les fonds d’une transaction financière.
    Autorisation bancairePropre aux transactions par carte. Interrogation de l’acquéreur vers la banque du porteur de carte concernant le montant de la transaction. Suite au « code de retour banque », l’acquéreur est en mesure de savoir si la somme demandée est disponible, et si non pourquoi (fonds insuffisants, carte volée…). Une autorisation valide assure au marchand la possibilité de capturer la somme demandée jusqu’à 7 jours.
    Passerelle de paiement (ou Payment Gateway)Technologie agissant comme intermédiaire entre le site du marchand et le réseau de paiement qui permet d’assurer la transmission sécurisée d’informations liées aux paiements. Les passerelles vérifient également la disponibilité des fonds et autorisent les paiements, tout en offrant des fonctionnalités telles que la gestion des paiements récurrents et la détection de la fraude.
    Prestataire de Services de Paiement (ou PSP)Etablissement financier qui fournit des services liés à l’acceptation et au traitement des paiements aux marchands. Ces services incluent également la gestion des comptes de paiements ouverts, la sécurité des transactions ainsi que la conformité réglementaire.
    KYB (Know your Business)Le KYB (Know Your Business) est un protocole d’authentification de l’identité et de la conformité des personnes morales, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).
    Ce processus inclut la collecte et la vérification de documents tels que les statuts de l’entreprise, les informations sur les propriétaires et les dirigeants, les justificatifs d’adresse et les informations financières.
    KYC (Know your Customer)Le KYC (Know Your Customer) est un protocole d’authentification de l’identité et de la conformité des personnes physiques, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).
    Ce processus inclut la collecte et la vérification de documents tels que les pièces d’identité, les preuves de domicile et les informations sur les activités professionnelles.
    Rapprochement d’un virementProcessus de vérification et de correspondance des factures émises enregistrées dans le compte de l’entreprise avec les paiements reçus.
    Ce traitement permet de s’assurer que toutes les transactions prévues ont bien été exécutées, de détecter toute anomalie ou erreur et de maintenir l’exactitude des enregistrements financiers de l’entreprise.
    Frais d’interchangeFrais payés par la banque du marchand (banque acquéreur) à la banque de l’acheteur (banque émettrice) lors d’une transaction par carte, afin de couvrir les coûts et les risques associés à la gestion des paiements. Ils varient en fonction de plusieurs facteurs, tels que le type de carte utilisée, le type de transaction et le pays dans lequel la transaction est effectuée.
    Frais de réseaux carteFrais facturés par les réseaux de cartes (CB, Visa, Mastercard…) aux banques et PSP qui traitent des paiements par carte. Ces frais couvrent les coûts liés à l’utilisation du réseau de paiement, notamment l’infrastructure technologique, la sécurité des transactions et le traitement des paiements.
    Interchange++Somme des commissions prélevées sur les opérations de paiement en ligne du marchand. Il est composé de :
    – Frais d’Interchange ;
    – Frais de réseaux de carte ;
    – Frais de services, facturés par le PSP qui assure le fonctionnement de la plateforme de paiement et des services associés.
    Ce calcul permet de déterminer le coût de revient exact de chacune des transactions.
    Open BankingEncouragé par la DSP2, l’Open Banking est une pratique financière permettant aux banques de partager de manière sécurisée les données financières de leurs clients avec des tiers autorisés, tels que des fintechs, à travers des API (interfaces de programmation applicative). Ce système bancaire ouvert vise à stimuler l’innovation et la concurrence dans le secteur financier, en permettant le développement de nouvelles applications et services qui peuvent offrir des expériences client améliorées, une gestion financière plus efficace et des offres personnalisées.
    Exemple : Initiation de paiement
    Impayé carte (ou chargeback / contestation / litige)Processus par lequel un titulaire de carte signale une transaction suspecte ou non autorisée à l’émetteur, en vue d’un remboursement ou d’une rétrofacturation. Les motifs de contestation peuvent inclure des transactions frauduleuses, des erreurs de facturation, des biens ou des services non reçus ou d’autres problèmes liés à l’utilisation de la carte.
    Rejet de prélèvement SEPAUn rejet de prélèvement se produit lorsqu’une demande de prélèvement est refusée par la banque du débiteur. Les raisons d’un rejet peuvent inclure des fonds insuffisants sur le compte du débiteur, des informations bancaires incorrectes, un mandat de prélèvement expiré ou non valide, ou une opposition au prélèvement de la part du débiteur.
    Lorsqu’un prélèvement est rejeté, les fonds ne sont pas transférés, et le créancier est informé du rejet pour qu’il puisse prendre les mesures appropriées.
    RIB (Relevé d’Identité Bancaire)Document fourni par une banque qui contient les informations nécessaires à l’identification d’un compte bancaire, afin de faciliter les opérations de virement ou de prélèvement. Le RIB inclut le numéro de compte, le code banque, le code guichet, l’IBAN (International Bank Account Number) ainsi que le BIC (Bank Identifier Code) de la banque.
    EEE (Espace Économique Européen)Zone économique composée des 27 pays membres de l’Union Européenne (UE) ainsi que de la Norvège, l’Islande et le Liechtenstein. L’EEE permet aux États membres de participer au marché unique de l’UE, offrant la libre circulation des biens, des services, des capitaux et des personnes.

    Points de vente

    1/ Introduction

    Les points de vente (« Point of Sales » ou « POS ») sont la représentation de vos différents sites web, boutiques, ou équipes de vente. Ils permettent de segmenter les opérations de votre compte CentralPay à des fins :

    • Techniques : vous pouvez réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom expéditeur des emails de confirmation, logo affiché dans la page de paiement …)
    • Administratives : vous pouvez limiter les droits de consultation ou de modification de vos profils utilisateurs à certains points de ventes
    • Comptables : vous pouvez filtrer les opérations par point de vente dans votre Portail utilisateur ou dans vos exports de données

    Lors de la création de votre compte CentralPay, un premier Point de Vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre Portail utilisateur pour paramétrer ce dernier, ou en créer de nouveaux :

    • Accès Points de ventes – Portail utilisateur de RCT
    • Accès Points de ventes – Portail utilisateur de PROD

    2/ Paramétrages

    Les Points de Vente comprennent un certain nombre de paramétrages obligatoires :

    • Paramètres généraux
      • Nom : nom du point de vente (visible par vos clients)
      • URL du site : s’il s’agit d’un site e-commerce, renseignez l’URL de ce dernier. Sinon, renseigner l’URL de votre site vitrine.
      • Pays du point de vente
    • Configuration
      • Type technique : sélectionnez « Vente à distance »
      • Utilisateurs API : sélectionnez les utilisateurs API ayant un droit d’accès à ce Point de Vente
      • Contrats : sélectionnez le contrat VAD carte qui a été paramétré pour votre compte (en règle générale, vous n’aurez qu’un seul contrat à disposition)
      • Contrat par défaut : sélectionnez le contrat VAD carte qui sera utilisé par défaut (en règle générale, vous n’aurez qu’un seul contrat à disposition)
      • Viban prioritaire : si vous souhaitez que les IBAN Virtuels affichés dans les demandes de paiement soient ceux des Customers, alors sélectionnez « Client ». Si vous préférez afficher des IBAN Virtuels dédiés à chaque demande de paiement, alors sélectionnez « SCT ». Si besoin d’informations complémentaires, consultez notre rubrique sur les IBAN Virtuel.

    D’autres paramétrages ne sont pas obligatoires, mais sont importants pour votre parcours de vente :

    • Paramètres généraux
      • Logo : chargez le logo de votre entreprise ou celui dédié à votre point de vente. Il apparaitra dans la page de paiement générée par les demandes de paiement.
      • ID point de vente du marchand : renseignez une référence personnalisée vous permettant d’identifier plus simplement le point de vente dans vos systèmes d’information.
    • Emails de confirmation
      • Coche « Activer l’email de confirmation de paiement » : En cochant cette case, vous activez l’envoi d’un email à vos clients lorsqu’ils réalisent un paiement par carte. Il s’agit d’un email standardisé non modifiable contenant un récapitulatif du paiement (raison sociale de votre compte, nom de votre point de vente, date du paiement, identifiant de la transaction CentralPay, référence marchand de la transaction, description marchand de la transaction, code d’autorisation du paiement, marque de la carte, 6 premiers et 4 derniers chiffres de la carte, montant de la transaction, état de la transaction). La langue et le pied de page de l’email peuvent être paramétrés depuis le Portail utilisateur > Configuration > Email confirmation paiement.
      • Email de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser l’adresse expéditeur en utilisant l’une de vos adresses email (par exemple : no-reply@mondomaine.com). Attention, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine.
      • Nom de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser le nom de l’expéditeur (par exemple : MonEntreprise).
      • Coche « Recevoir une copie de la confirmation de paiement » : En cochant cette case, vous activez l’envoi d’une copie de l’email adressé à vos clients lorsqu’ils réalisent un paiement par carte. Cela peut vous permettre d’être informé facilement par email lorsqu’un client réalise un paiement.
      • Email du destinataire : si vous avez coché la case « Recevoir une copie de la confirmation de paiement », vous devez renseigner l’adresse email du destinataire de cette copie.

    Enfin, d’autres paramètres secondaires sont disponibles :

    • OTP
      • Email de l’expéditeur OTP email : Email affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…)
      • Nom de l’expéditeur OTP email : Nom affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…)
      • Numéro de téléphone ou nom de l’expéditeur OTP SMS : Nom ou numéro de téléphone affiché en tant qu’expéditeur des SMS de One Time Password (validation de mandat SEPA…)
    • Paramètres de communication

    Ces paramètres sont appliqués aux mails ou SMS transmettant le lien vers le formulaire de paiement d’une demande de paiement (paymentRequest).

    Ils s’appliquent uniquement lorsque aucun scenario n’a été configuré sur la demande paiement.

    • Expéditeur SMS : Nom du correspondant affiché sur le SMS
    • Expéditeur Email : Email du correspondant affiché sur l’email
    • Nom de l’expéditeur Email : Nom du correspondant affiché sur l’email
    • Adresse de réponse Email : Email utilisé pour les réponses des emails envoyés (applicable prochainement)
    • Pied de page de l’email : Pied de page des emails (applicable prochainement)

    Engagements de disponibilité

    CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants :

    CPAY API
    Traitement des opérations de paiement
    CPAY PORTALS
    Portails d’inscription, client et utilisateur
    99,9 %
    sur une base annuelle
    99,5 %
    sur une base annuelle
    Le critère d’atteinte de cette garantie correspond à la disponibilité de l’API de paiement.Le critère d’atteinte de cette garantie correspond à la disponibilité des portails de l’environnement de production.

    Services liés au compte

    Articles

    • Notifications email/sms
    • Services anti-fraude
    • Reversement bancaire
    • Exports comptables
    • Exports de données
    • Webhooks

    Notifications email/sms

    1/ Introduction

    Les notifications peuvent être adressées en fonction des évènements liés à certains objets API :

    • Demande de paiement (PaymentRequest)
    • Contestation carte (dispute)
    • Paiement X fois (installment)
    • Transaction carte (transaction)
    • Reversement (payout)
    • Remboursement carte (refund)
    • Abonnement (subscription)
    • Crédit carte (credit)
    • Transaction SDD (sddTransaction)
    • Transaction SDD inversée (sddTransactionReversal)
    • Mandat (mandate)

    2/ Types de scénarios de notification

    Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre compte CentralPay : encaissement d’un virement, contestation client, échec de règlement…
    Vous maitrisez le contenu de chaque notification depuis des templates personnalisés et définissez un mode d’envoi par email, par sms ou par Json. Vous automatisez ainsi le pointage de vos encaissements, les notifications clients, ou encore la mise à jour de votre système d’information.

    3/ Paramétrage des modèles de notification

    3.1/ Paramétrage des modèles (templates)

    • Accès paramétrage templates emails :
      • Portail utilisateur de recette
      • Portail utilisateur de production
    • Accès paramétrage templates SMS :
      • Portail utilisateur de recette
      • Portail utilisateur de production
    • Accès paramétrage templates hooks :
      • Portail utilisateur de recette
      • Portail utilisateur de production

    Pour commencer le paramétrage de vos notifications, vous devez créer vos modèles de communication (email, sms ou hook) en renseignant les éléments demandés. Par exemple l’objet du mail, le nom et email de l’émetteur, le corps du texte…

    Vous pouvez intégrer des éléments dynamiques (tags) dans le corps du texte en tapant le caractère « # », qui fera apparaitre la liste des tags disponible pour le type de scénario de notification sélectionné.

    Attention, si vous utilisez les notifications emails, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine.

    Concernant les SMS, veillez à calculer le nombre de caractères : vous serez facturés d’un SMS par 160 caractères (espaces inclus).

    3.2/ Paramétrage du header et footer pour templates emails

    • Paramétrage en-tête d’email (header)
      • Portail utilisateur de recette
      • Portail utilisateur de production
    • Paramétrage pied de page d’email (footer)
      • Portail utilisateur de recette
      • Portail utilisateur de production

    En cas de création d’un template email, un « header » et un « footer » devront être créés. Vous pouvez par exemple intégrer votre logo en Header, et vos conditions de contact ou mentions légales en Footer.

    4/ Paramétrage des scénarios de notification

    • Accès Scénarios de notification – Portail utilisateur de RCT
    • Accès Scénarios de notification – Portail utilisateur de PROD

    Pour spécifier à la plateforme les conditions d’envoi et destinataires de vos notifications, vous devez créer un scénario intégrant une ou plusieurs règles d’envoi.

    Après avoir choisi le type de scénario souhaité, vous pouvez créer une règle d’envoi. Cette règle est scindée en deux parties : le “QUAND” va permettre de définir l’évènement déclencheur de la notification tandis que le “ALORS” va permettre de choisir les actions qui seront effectuées lorsque l’évènement se produira.

    4.1/ Dans la partie « QUAND » :

    • Tapez « # » pour visualiser l’ensemble des attributs disponible pour votre scénario
    • Utilisez des opérateurs logiques pour constituer votre règle :
      • Pour les chaînes de caractères (doivent être entourés de guillemets «  ») :
        • = (égal)
        • != (différent de)
        • in (dans ce qui va suivre)
        • not in (pas dans ce qui va suivre)
      • Pour les nombres (attention les montants doivent être renseignés en centimes) :
        • = (égal)
        • != (différent de)
        • < (plus petit que)
        • <= (plus petit ou égal à)
        • in (dans ce qui va suivre)
        • not in (pas dans ce qui va suivre)
      • Pour les boolean (affirmations en vrai ou faux) :
        • = (égal à)
        • != (différent de)
    • Vous pouvez utiliser des conditions pour compléter votre règle :
      • AND (pour ajouter une autre condition d’activation)
      • OR (pour ajouter une autre possibilité d’activition)

    Il est possible de donner des priorités en mettant des parenthèses autour des conditions. Si vous utilisez les conditionnels AND et OR dans la même règle, il est nécessaire de prioriser. Si vous utilisez plusieurs fois AND ou plusieurs fois OR, il sera également nécessaire de prioriser chaque partie.

    Exemples de règles :

    #end_user_country in ('FRA', 'BE')
    
    #authorisation_status = 'FAILURE' or (#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY' )
    
    #transaction_amount > 100000 and ( #authorisation_status = 'FAILURE' or #context = 'TRANSACTION_RISKY' )
    
    ((#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY') or ( #authorisation_status = 'FAILURE' and #transaction_amount < 100000 )) and (#card_product_type = 'Consumer')

    Avant de pouvoir enregistrer une règle, il est obligatoire de d’abord tester sa règle avec le bouton « tester ». Cela va permettre de vérifier que votre règle est grammaticalement correcte. Attention, cela ne garantit pas que votre règle correspond à ce que vous souhaitiez faire.

    4.2/ Dans la partie « ALORS » :

    Le “ALORS” va permettre de choisir le destinataire et le template utilisé pour la notification. Vous n’avez accès qu’aux templates qui correspondent au type de template requis (SMS, Email, Hook) et qui correspond au type de scénario choisi (transaction carte, demande de paiement, remboursement …).

    Services anti-fraude

    1/ Organisation des services anti-fraude

    Les services anti-fraude sont segmentés en 4 outils :

    • 1/ Liste blanche (whitelist)
      Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation.
      La règle définie devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».
      Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP.
      Cette fonctionnalité permet d’être moins restrictif sur des populations d’utilisateurs.
    • 2/ Liste noire (blacklist) :
      Le service de « blacklist » permet de refuser les paiements.
      Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte (Carte, IP, Tel, email).
    • 3/ Règles d’acceptation des transactions :
      Cet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement.
    • 4/ Scoring anti-fraude
      Le service de scoring permet de détecter les transactions potentiellement frauduleuses en se basant sur l’analyse croisée de plusieurs données liées aux paiements.

    Les phases de traitement des transactions sont toujours exécutées dans cet ordre.

    Dans le cas où les données d’entrée remplissent toutes les conditions des « whitelist » définies, le service de « blacklist » ne sera pas exécutée et la transaction sera opérée normalement.
    Dans le cas où les données d’entrée remplissent une des conditions des « blacklist » définies et ne figurent pas dans le service de « whitelist », la transaction sera refusée et le service « règle d’acceptation » ne sera pas exécutée.
    Chaque service est exécuté de façon descendante vis-à-vis de la hiérarchie des acteurs CentralPay, ce qui signifie qu’une plateforme peut appliquer les paramètres de ses services anti-fraude à ses marchands, mais que l’inverse n’est pas possible.

    2/ Outil de scoring de fraude

    CentralPay s’appuie sur un service de détection de fraude reposant sur des algorithmes de machine learning.

    Ce moteur prédictif est constitué depuis un large échantillon de données fourni par CentralPay au format JSON et issues des données TRANSACTION / REFUND / DISPUTE.
    Ce service s’appuie sur une classification comportementale liée au secteur d’activité du marchand.

    Le moteur retourne une action et un score.

    L’action invite le service de paiement à accepter ou refuser la transaction.

    Le score classifie le niveau de risque en fournissant un pourcentage de probabilité de fraude. Ce score est ensuite interprété dans le moteur de règle.

    Le score permet au marchand et à l’algorithme d’interagir ensemble pour s’améliorer.

    Les scores sont classifiés ainsi :

    • De 0 à 19 = risque faible
      Transaction acceptée
      Pas d’action
    • De 20 à 59 = risque moyen
      Transaction acceptée
      Action : envoi événement avec détail du score pour revue manuelle et apprentissage
    • +60 = risque élevé
      Transaction refusée
      Action : envoi événement avec détail du score pour revue manuelle et apprentissage

    Ce service d’analyse d’exposition à la fraude analyse le contexte d’exposition au risque de fraude de chaque transaction. Ce service retourne un score qui permet de traiter automatiquement la réponse attendue dans le moteur de règle.

    Le score repose sur l’analyse croisée des données suivantes :

    • Indice de risque IP
    • Détection de Proxy
    • Détection réseau TOR
    • Vérification de l’adresse IP
    • Confidence factors
    • Email checks
    • Address & phone checks
    • Adresse d’expédition à haut risque
    • Géolocalisation des adresses IP
    • Identification des équipements utilisés
    • Adresse e-mail
    • Type de navigateur
    • Discordances de pays
    • Distance de l’adresse d’expédition
    • Distance de l’adresse de facturation
    • Domaine e-mail
    • Heure
    • Montant de la commande
    • Pays
    • Numéro de téléphone
    • Titulaire IP
    • Titulaire de l’e-mail
    • Vérification adresse CB

    3/ Listes blanches et listes noires

    3.1/ Liste blanche (Whitelist)

    Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation. Cette règle devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».

    Le service anti-fraude passe ainsi à l’étape suivante.

    Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP. Cette fonctionnalité permet d’être moins restrictif sur une population d’utilisateurs.

    3.2/ Liste noire (Blacklist)

    L’étape de la « blacklist » permet de refuser les paiements.

    Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte :

    • Pays
    • Régions géographiques
    • Numéros de carte
    • Numéros de téléphone
    • E-mail
    • Adresses IP
    • IBAN

    4/ Règles d’acceptation des transactions

    Le moteur de règles d’acceptation est une brique applicative puissante et modulaire qui permet d’adapter le comportement lié au traitement à réaliser sur chaque transaction comme :

    • accepter
    • refuser
    • alerter
    • …

    Ce service permet ainsi de définir des actions à réaliser sur chaque transaction depuis une large liste d’attributs disponibles : score de fraude, localisation du porteur, montant des ventes cumulées sur 7 ou 30 jours, client VIP whitelist, paramètre spécifique adressé par le marchand…

    Une règle d’acceptation est une condition logique. Elle permet : d’autoriser, de restreindre, et/ou d’interdire des transactions.
    Une règle se compose de 4 éléments : l’action, les attributs, les opérateurs, les valeurs.

    La syntaxe d’une règle est la suivante :
    « Action » « if » « Attribut » « Opérateur de comparaison » « Valeur de comparaison »

    Exemple :

    REFUSE if card_country != 'FRA'

    La règle présentée dans cet exemple permet de refuser automatiquement les paiements lorsque le pays de la carte n’est pas la France.
    La syntaxe de la grammaire choisie par la plateforme pour son moteur d’acceptation est très semblable à la syntaxe SQL (utilisée pour dialoguer avec les bases de données).

    4.1/ Les actions disponibles

    • ALLOW
      Autorise le paiement.
    • REFUSE
      Refuse le paiement.
    • ALERT
      Adresse une notification « webhook » de la transaction associée.

    4.2/ Les attributs disponibles

    En tapant « # », les attributs disponibles sont affichés.

    Dans une règle, un attribut est toujours suivi d’un Opérateur de comparaison.

    4.3/ Les opérateurs de comparaison disponibles

    • = (égal)
    • != (différent de)
    • < (plus petit que)
    • <= (plus petit ou égal à)
    • in (dans ce qui va suivre)
    • not in (pas dans ce qui va suivre)

      Les opérateurs de comparaison = , != , > , < , >= et <= doivent être suivis d’une valeur.

      Les opérateurs IN et NOT IN sont suivis d’une liste de valeurs de comparaison.
      Une liste de valeurs est entourée par des parenthèses et les valeurs à l’intérieur de la liste sont séparées par des virgules.

      Exemple :

      REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF')

      L’exemple présenté ci-dessus permet de refuser tous les paiements dont la devise n’est pas l’Euro, le Dollar US, la Livre Sterling ou le Franc Suisse.

      Cette syntaxe évite d’écrire plusieurs règles ou plusieurs conditions dans la même règle.

      4.4/ Les valeurs disponibles :

      En fonction du type de valeur, la syntaxe permettant de définir la valeur ne sera pas la même :

      • Entiers (valeur numérique sans décimale) : syntaxe classique (ex : 100)
      • Doubles (valeur numérique avec décimales) : la valeur est définie avec un point comme séparateur de décimale (ex : 12.32)
      • Chaîne de caractères : la valeur est définie entre ‘quotes’ simples (ex : ‘FRA’)
      • Booléens : la valeur est true ou false (ex : false)

      ATTENTION : les valeurs de « montants » doivent être renseignées en centimes (ex : pour 10 € on renseignera une valeur de 1000).

      4.5/ Les opérateurs logiques :

      Les opérateurs disponibles sont AND et OR. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le « AND » permet une inclusion tandis que le « OR » une exclusion.

      Exemple :

      REFUSE if #amount < 1000 and #card_country != 'FRA'

      L’exemple présenté ci-dessus permet de refuser les paiements dont le montant est inférieur à 10 € ET dont la carte n’est pas française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée.

      Reversement bancaire

      1/ Introduction

      Les reversements bancaires (ou « Payout ») sont des virements sortant de votre compte de paiement CentralPay vers le compte bancaire qui y est associé.

      Ils peuvent être réalisés manuellement depuis le Portail utilisateur ou l’API Payment. Ils peuvent également être automatisés depuis le Portail utilisateur.

      Depuis le Portail utilisateur, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et réaliser les reversements.

      2/ Les deux modes de reversement

      2.1/ Reversement automatique

      Le titulaire du compte peut définir la périodicité : quotidien, hebdomadaire (choix du jour de la semaine, ex : chaque mardi) ou mensuel (choix du jour dans le mois, ex : le cinq du mois).
      Le service PAYOUT automatique exécutera automatiquement à 01h00 du jour donné un virement des fonds disponibles sur votre compte de paiement.

      Exemple d’un reversement hebdomadaire programmé le mardi :
      CentralPay exécutera la demande de création du virement (PAYOUT) le mardi matin avec les fonds disponibles (AVAILABLE) sur le compte de paiement jusqu’au mardi 01h00.

      2.2/ Reversement manuel (via BO ou API)

      Vous avez la possibilité d’exécuter des payouts manuellement depuis le Portail utilisateur ou l’API CentralPay. Vous pouvez déterminer le montant à reverser (avec en maximum le montant disponible sur votre compte).

      Attention, le PAYOUT ne sera exécuté immédiatement que s’il est effectué avant 05h00 le matin. À défaut, il sera exécuté le lendemain à 05h00 du matin également.

      3/ Délais de disponibilité des fonds

      Les reversements comprennent uniquement les fonds disponibles (ou « AVAILABLE ») de vos comptes de paiement. Les fonds issus d’une transaction par carte bancaire sont par exemple disponibles à J+2 : une transaction carte réalisée le lundi, apparaîtra en « Pending » le lundi, sera « Available » le mardi soir, le payout automatique sera effectué le mercredi matin à 00h05 et la réception du virement SEPA sur votre compte bancaire le jeudi.

      NB : Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT).

      4/ Création d’un reversement manuel

      4.1/ Payout manuel par Portail utilisateur

      Accès Reversements – Portail utilisateur de RCT
      Accès Reversements – Portail utilisateur de PROD

      Depuis le Portail Utilisateur > Administration > Mon compte> Reversements : cliquez sur « Transferts externes », sélectionnez le compte d’émission, le montant du reversement ainsi que l’IBAN destinataire, puis cliquez sur « confirmer le transfert ».

      4.2/ Payout manuel par API

      Consultez la rubrique développeurs du service Payout.

      5/ Reversement en euros ou devises via le réseau SWIFT

      Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises.

      Si vous disposez d’un compte en devises ou n’étant pas accessible via le réseau SEPA, vous pouvez réaliser vos virements via le réseau SWIFT. Contactez CentralPay pour en savoir plus.

      Les virements bancaires du réseau SWIFT présentent des frais très largement supérieurs aux virements SEPA. Vous pouvez demander à CentralPay de paramétrer vos reversements automatiques afin qu'ils soient déclenchés à partir d'un certain seuil de fonds disponibles.

      6/ Retours, statuts et webhooks

      6.1/ Statuts

      Statuts PAYOUT

      6.2/ Webhooks

      Webhooks PAYOUT

      Exports comptables

      1/ Introduction

      Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports.

      2/ Export comptable des opérations du compte

      • Accès opérations – Portail utilisateur de RCT
      • Accès opérations – Portail utilisateur de PROD

      Cet export reprend l’ensemble des mouvements financiers débiteurs et créditeurs qui ont été réalisés sur votre compte : autorisations cartes, transactions cartes, transactions SDD, transactions SCT, transfers, payout, frais CentralPay…
      Vous disposerez du détail de chaque opération afin que vous puissiez le rapprocher facilement à vos factures ou vos dossiers.

      L’export contient les données suivantes :

      DénominationSignification
      movement_creation_datedate de l’opération
      movement_ididentifiant CentralPay de l’opération
      movement_gross_amountmontant brut
      movement_gross_currencydevise du montant brut
      movement_fee_amountmontant des frais CentralPay
      movement_fee_currencydevise des frais
      movement_net_amountmontant net
      movement_net_currencydevise du montant net
      movement_expected_availability_datedate de disponibilité des fonds estimée
      movement_available_datedate de disponibilité des fonds réelle
      movement_statusstatut du mouvement (success, failed …)
      movement_source_typetype d’opération (transaction, transfert …)
      movement_source_uuididentifiant associé au type d’opération (transactionId, wireTransferId, transferId, …)
      merchant_descriptiondescription définie par le marchand
      merchant_reference_idréférence définie par le marchand
      card_countrypays d’émission de la carte
      card_regionzone d’émission de la carte (UE, hors UE)
      point_of_sale_idID CentralPay du point de vente

      3/ Télécharger le rapport financier mensuel

      Chaque début de mois, en plus de la facture, un rapport financier est généré, puis mis à disposition dans l’espace sécurisé de votre compte (Administration > compte > documents > Rapports financiers). Il présente les montants totaux de crédit, de débit, de frais et de réserve de votre compte :

      • Accès documents – Portail utilisateur de RCT
      • Accès documents – Portail utilisateur de PROD
      Pour bien comprendre votre rapport financier :

      A) Le total des montants acquis / reçus sur votre compte au cours de la période

      B) Le montant net reçu sur votre compte, déduction faite de l’ensemble des frais selon le calcul « B = A – I »

      C) Le montant de la réserve détenue en garantie au jour de clôture de la période

      D) Le montant des fonds disponibles au jour de clôture de la période

      E) La valeur totale des fonds disponibles et en garantie enregistrée dans les livres de CentralPay au jour de clôture de la période selon la formule « E = C + D »

      F) La valeur totale des fonds retirés / transférés à la banque du marchand pendant la période

      G) Le total des frais de service et commissions facturées sur les transactions définies dans la grille tarifaire

      H) Total des frais d’opérations techniques : frais d’autorisation cartes, de contestation, de payout…

      I) Total des frais techniques et commissions ou « I = G + H »

      Exports de données

      1/ Introduction

      Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports.

      2/ Export des transactions cartes

      • Accès Transactions – Portail utilisateur de RCT
      • Accès Transactions – Portail utilisateur de PROD

      Cet export vous permet d’obtenir le détail des transactions cartes que vous avez réalisées au cours d’une période donnée.
      Cet export simplifie la lecture de vos transactions carte en agrégeant les opérations d’autorisations et de débit, et présente des données complémentaires spécifiques aux transactions cartes.

      L’export contient les données suivantes :

      DénominationSignification
      transaction_creation_datedate de création
      transaction_ididentifiant de transaction
      transaction_amountmontant
      transaction_currencydevise
      transaction_payout_amountvaleur de devise de règlement
      transaction_payout_currencydevise de règlement
      transaction_commision_amountfrais sur la transaction
      transaction_commision_currencydevise des frais
      transaction_fee_amountfrais fixes par transaction
      transaction_3ds3DS (0=non, 1=oui)
      transaction_descriptiondescription définie par le marchand
      transaction_sourceEC Ecommerce, DP Deposit, MO Mail order
      transaction_bank_coderetour autorisation banque
      transaction_statusstatut de la transaction
      transaction_authorization_statusstatut de l’autorisation
      transaction_authorization_codecode d’autorisation
      transaction_capture_statusstatut de la capture
      transaction_capture_datedate de la capture
      transaction_capture_amountmontant de la capture
      merchant_transaction_ididentifiant de transaction marchand
      point_of_sale_ididentifiant du point de vente
      point_of_sale_namenom du point de vente
      merchant_ididentifiant marchand
      merchant_namenom du marchand
      dispute_amountmontant de la contestation
      dispute_currencydevise de la contestation
      dispute_datedate de la contestation
      refund_amountmontant du remboursement
      refund_currencydevise du remboursement
      refund_datedate du remboursement
      card_ididentifiant de la carte de paiement
      card_first66 premiers chiffres de la carte
      card_last44 derniers chiffres de la carte
      card_cardholder_namenom du porteur
      card_cardholder_emailemail du porteur
      card_typetype de carte (crédit/débit/prepaid)
      card_productnom du produit carte (Infinite, Gold…)
      card_product_typecarte consumer ou corporate
      card_commercial_brandréseau carte (VISA/Mastercard/CB)
      card_regioncontinent d’origine de la carte
      card_countrypays d’origine de la carte
      card_establishment_namenom de l’établissement qui fournit la carte
      customer_ididentifiant client
      end_user_ipIP de l’utilisateur
      end_user_languagelangue de l’utilisateur
      browser_user_agentnavigateur de l’utilisateur
      receipt_emailmail de réception de l’utilisateur
      clearing_numbernuméro de clearing
      merchant_category_codeactivité du marchand

      3/ Export des remboursements cartes

      • Accès Remboursements cartes – Portail utilisateur de RCT
      • Accès Remboursements cartes – Portail utilisateur de PROD

      Cet export vous permet d’obtenir le détail des remboursements cartes que vous avez réalisées au cours d’une période donnée.

      4/ Export des contestations de transactions cartes

      • Accès Contestations cartes – Portail utilisateur de RCT
      • Accès Contestations cartes – Portail utilisateur de PROD

      Cet export vous permet d’obtenir le détail des contestations de transactions cartes (disputes/chargebacks) que vous avez reçues au cours d’une période donnée.

      5/ Export des abonnements (cartes et SDD)

      • Accès Abonnements – Portail utilisateur de RCT
      • Accès Abonnements – Portail utilisateur de PROD

      Cet export vous permet d’obtenir le détail des abonnements cartes et SDD que vous avez réalisés au cours d’une période donnée.

      Webhooks

      1/ Introduction

      Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (ou « Events ») qui surviennent sur votre compte CentralPay. Ces évènements correspondent à la création, au changement de donnée ou au changement de statut d’un objet des API CentralPay.

      Le service permet ainsi d’avertir en temps réel votre système d’information, dès qu’une opération est réalisée sur votre compte CentralPay. Par exemple, une transaction réussie ou échouée, la création d’une nouvelle souscription (abonnement), un nouveau client (Customer), la réception d’un impayé… 

      Les webhooks sont classés en deux catégories :

      • liés aux Points de Vente « POS »
      • liés aux « Comptes »

      Le serveur distant doit confirmer la bonne réception de la requête en retournant un code 2XX. Dans le cas contraire, une nouvelle requête sera adressée toutes les 5 min pendant 2h.

      Pour s’assurer de la bonne réception des hooks, nous vous conseillons d’utiliser le service Webhook Site. Entrez l’URL donnée par le site et l’adresse mail, et effectuez vos tests. Une fois que vous êtes satisfait des réponses hooks, vous pouvez remplacer l’adresse mail et l’URL par les vôtres et effectuez un nouveau test.

      2/ Liste des Webhooks

      Vous pouvez consulter la liste des webhooks depuis la rubrique Développeurs > Webhook notifications.

      CARD Transaction

      Articles

      • Card token
      • Transaction
      • Card
      • Credit
      • Disputes

      Card token

      See more about Card Token

      The Json « CardToken » object

      The « CardToken » object represents a debit/credit card token.

      Merchants usually want to be able to charge payment cards, IBAN or other without having to store sensitive data on their servers.
      Token.js makes this easy in the browser, but you can use the same technique in other environments with our token API.

      Tokens can be created with your publishable API key, which can safely be embedded in downloadable applications like iPhone and Android apps. You can then use a token anywhere in our API when a credit/debit card, bank account or any personal ID number is accepted.

      You need to add a header "Origin" with an URL previously added in your Back Office as an Authorized Custom form Host.
      For your tests, you can use the origin : https://example.centralpay.net.

      Transaction

      See more about card transactions

      Card

      See more about Card

      You can store multiple Cards per Customer in order to charge the customer later on (subscription, etc.).

      It can also be used to store multiple debit or credit cards on a recipient in order to transfer to these cards later.

      Note: If the card is already registered for this merchant, the API will return the previous cardId registered (not a new one).

      Credit

      See more about Credit

      Disputes

      See more about Disputes

      A dispute is opened when a customer questions a transaction with their bank or credit/debit card provider.

      When the transaction is tagged as a dispute, you can respond to the dispute with evidence that shows the charge is legitimate. If the transaction cannot be proven legitimate, the dispute will become a chargeback.

      Offres commerciales

      CentralPay propose 2 modèles d’offres commerciales :

      • Les offres Starter et Medium, intégrant un forfait mensuel fixe et des frais par transaction simplifiés (ou « blind rate »)
      • Les offres Major, intégrant également un forfait mensuel fixe, mais avec des frais par transaction plus détaillés (ou « interchange++ »)

      Dans ces deux modèles, les offres CentralPay intègrent les frais d’interchange et de réseaux cartes qui sont facturés par les banques. Vous n’avez donc aucun surcoût à prévoir.

      Consultez le détail des offres CentralPay

      Card

      See more about Card

      You can store multiple Cards per Customer in order to charge the customer later on (subscription, etc.).

      It can also be used to store multiple debit or credit cards on a recipient in order to transfer to these cards later.

      Note: If the card is already registered for this merchant, the API will return the previous cardId registered (not a new one).

      API et interfaces

      Articles

      • Utilisation des API CentralPay
      • Portail utilisateur
      • Portail client
      • Portail d'inscription

      Utilisation des API CentralPay

      L’API utilise un protocole HTTP pour transporter et renvoyer toutes les réponses formatées en JSON.
      Les API CentralPay sont des API REST permettant de faciliter l’intégration de nos services de paiement.

      CentralPay mets à disposition de ses utilisateurs deux API :

      • L’API « Core Payment » : pour toutes les fonctions liées aux opérations de paiement
      • L’API « Onboarding » : pour toutes les fonctions liées à la création de comptes de paiement et de monnaie électronique (accessibles aux partenaires uniquement)

      1/ Fonctions

      Toutes les fonctions utilisent les types « MIME » : « application/x-www-form-urlencoded » et « multipart/form-data ».

      Les fonctions utilisent les méthodes suivantes :

      • Méthode HTTP POST pour la création ou la mise à jour d’un objet
      • Méthode HTTP GET pour la recherche d’objets
      • Méthode HTTP DELETE pour supprimer des objets

      2/ Authentification

      L’API de CentralPay utilise l’authentification de base HTTP pour l’authentification. Toutes les demandes adressées à notre API doivent être authentifiées (intégrant le nom d’utilisateur et le mot de passe fournis par la plateforme) et doivent être effectuées via HTTPS.

      Vous pouvez récupérer vos identifiants API depuis votre Portail utilisateur : Administration Mon compte Technique
      Cliquez ensuite sur Identifiant API Modifier Générer Copiez le mot de passe API Mettre à jour

      Accès Compte Technique – Portail utilisateur de RCT
      Accès Compte Technique – Portail utilisateur de PROD
      NB : Certains services comme le cardToken requièrent la déclaration de votre MerchantPublicKey, également disponibles depuis les liens présentés ci-dessus.


      MerchantPublicKey

      La MerchantPublicKey permet de s’authentifier sur le service API cardToken qui ne nécessite pas d’autre type d’authentification et permet d’identifier un marchand.
      Cette clé est trouvable dans l’onglet Technique des détails de votre compte sur notre portail utilisateur :


      3/ HTTP Request

      Toujours utiliser HTTP-Header pour les formats de sérialisation (user_agent, …)

      Le Content-Type (application/x-www-form-urlencoded ou multipart/form-data) doit être renseigné pour toutes les requêtes dans l’en-tête.

      L’utilisation du champ « Idempotence-Key » dans l’en-tête HTTP permet d’identifier la requête qui a été envoyée.

      Si la même valeur « Idempotence-Key » est envoyée à nouveau, la demande sera considérée comme déjà traitée et ne sera pas relancée.

      Ce contrôle permet au commerçant d’éviter d’envoyer des entrées en double.

      Cette clé doit être construite avec un hachage « sha1 » des paramètres de la demande (SANS date) concaténés comme ceci :

      Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey)
      NB : La clé "Idempotence-Key" est valable 24 heures.

      4/ HTTP Response

      Dans chaque réponse HTTP, le champ « Request-Id » est inscrit dans l’en-tête HTTP.

      NB : Si vous avez une demande spécifique à envoyer via l'API REST de CentralPay, veuillez contacter le support ou votre référent CentralPay.

      Portail utilisateur

      Le Portail utilisateur est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre compte CentralPay. Les comptes ayant des droits « Partenaires » peuvent également consulter l’activité des comptes de leurs sous-marchands.

      • Accès Portail utilisateur de recette (RCT)
      • Accès Portail utilisateur de production (PROD)

      1/ Fonctionnalités

      Le Portail utilisateur permet notamment :

      • De consulter les opérations comptables du compte
      • De consulter les paiements par carte (« transaction »)
      • De consulter les paiements par virement SEPA (« sctTransaction »)
      • De consulter les paiements par prélèvement SEPA (« sddTransaction »)
      • De créer et de consulter les demandes de paiement (« paymentRequest »)
      • De créer et de paramétrer les profils clients (« customer »)
      • De créer et de paramétrer les points de vente (« pointOfSale »)
      • De paramétrer les notifications Smart Push (templates, scénarios …)
      • D’initier et de gérer les paramètres de reversement (« payout »)
      • De générer des exports et de télécharger les rapports financiers mensuels
      • Pour les comptes « Partenaires » uniquement :
        • De créer et de consulter les demandes d’onboarding (« merchant-enrollment »)
        • De consulter les opérations et de paramétrer les comptes de leurs sous-marchands
      NB : Les comptes ayant des droits "Participant" (sous-marchands/participants de partenaires) peuvent uniquement consulter les opérations dont ils sont bénéficiaires ("transfer") et gérer leurs paramètres de reversement ("payout").

      2/ Les profils utilisateurs du Portail

      Ils représentent des personnes physiques pouvant accéder à un ou plusieurs comptes CentralPay ainsi qu’à tout ou partie des services du Portail utilisateur.

      2.1/ Gestion des profils utilisateurs « Legal » et « Natural »

      • Accès Portail utilisateur de RCT – Gestion des profils utilisateurs BO
      • Accès Portail utilisateur de PROD – Gestion des profils utilisateurs BO

      Lors de la création du compte CentralPay, le responsable ayant réalisé l’onboarding (dirigeant ou personne physique disposant d’une délégation de pouvoir) se voit attribuer un profil utilisateur dit « Legal ». Il dispose ainsi de tous les droits administrateur du compte, mais également de droits légaux permettant de paramétrer les éléments les plus sensibles du compte :

      • Paramètres du compte de paiement :
        • Changement d’IBAN de sortie (payout)
        • Changement des conditions de reversements sur compte bancaire
        • Mise à jour des documents de société
      • Paramètres des utilisateurs :
        • Création de nouveaux utilisateurs « Legal »
        • [à compléter]

      Une fois le compte créé, vous avez la possibilité de créer autant de profils utilisateurs que nécessaire en renseignant leur nom, leur prénom, leur email et leur rôle utilisateur (définissant les droits qu’ils auront sur le compte). Les profils ainsi créés sont nommés « Natural ».

      NB : Si vous disposez de plusieurs comptes CentralPay et que vos équipes doivent avoir accès à ces différents comptes, créez leur profil utilisateur depuis l’un d’entre eux, puis demander à CentralPay d’affecter leur profil à vos autres comptes. Ils bénéficieront ainsi d’un unique centralisé pour tous ces comptes.

      2.2/ Gestion des rôles et droits des profils utilisateurs « Natural »

      • Accès Portail utilisateur de RCT – Gestion des rôles utilisateurs BO
      • Accès Portail utilisateur de PROD – Gestion des rôles utilisateurs BO

      Les droits des profils utilisateurs « Natural » sont régis par leur rôle utilisateur. Le rôle comprend une liste de droits (lecture seule, création, modification, suppression) paramétrables par service (transaction, demandes de paiement, règles d’acceptation…). Ces droits peuvent être différents en fonction des services sélectionnés.

      Les utilisateurs disposant des droits nécessaires peuvent créer des rôles pour chaque équipe de leur entreprise, cependant des rôles préétablis sont disponibles nativement :

      • Standard Admin : Accès complet à toutes les fonctionnalités du Portail utilisateur (excepté les fonctionnalités admin). Attention, ce rôle comprend des accès à des services sensibles comme les règles d’acceptation, les whitelists, les blacklists, les créations d’utilisateurs Portail utilisateur, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API …
      • Standard read only : [à compléter]
      • [à compléter]

      Contactez le service client CentralPay si vous avez besoin d’aide pour la création de rôles personnalisés.

      Quelques précisions importantes concernant les rôles :

      • Les rôles sont cumulables, un utilisateur peut ainsi se voir assigner plusieurs rôles
      • Les droits des rôles sont héritables, ainsi un utilisateur ayant le droit de créer d’autres profils utilisateurs ne pourra affecter qu’un rôle similaire ou inférieur au sien.

      2.3/ Gestion des catégories de point de vente

      • Accès Portail utilisateur de RCT – Gestion des catégories de point de vente
      • Accès Portail utilisateur de PROD – Gestion des catégories de point de vente

      Si vous avez le besoin de limiter l’accès d’utilisateurs à certains points de ventes, vous pouvez créer des catégories, les affecter à vos points de ventes puis les affecter à vos profils utilisateurs.

      Exemple : un utilisateur ayant des droits de création de demandes de paiement ne pourra le faire que sur les points de ventes de sa catégorie. Il ne pourra également visualiser que les demandes de paiement émises via les points de vente de sa catégorie.

      Contactez le service client CentralPay si vous avez besoin d’aide pour la création de catégories de point de vente personnalisées.

      3/ Liste des types d’opérations visibles sur le Portail utilisateur

      Type d’objetValeurFonction
      AUTHORIZATIONDébitAutorisation de blocage d’un montant d’une carte bancaire
      TRANSACTIONCréditTransaction carte
      TRANSACTION_CANCELDébitAnnulation de transaction carte
      REFUNDCréditRemboursement transaction carte
      REFUND_CANCELDébitAnnulation d’un remboursement transaction carte
      DISPUTEDébitImpayé suite à la contestation d’une transaction carte
      DISPUTE_WONCréditAnnulation d’un impayé carte
      TRANSFERDébitTransfert de fonds entre comptes CentralPay
      TRANSFER_CANCELCréditAnnulation transfert en attente
      TRANSFER_REVERSALCréditRetour d’un transfert validé
      PAYOUTDébitVirement sortant du compte CentralPay
      PAYOUT_CANCELCréditAnnulation d’un virement sortant
      PAYOUT_REVERSALCréditRetour d’un virement sortant validé
      SCT_TRANSACTIONCréditVirement entrant
      SCT_TRANSACTION_CANCELDébitAnnulation virement entrant avant son arrivée
      SCT_TRANSACTION_REFUNDDébitAnnulation virement entrant après son arrivée par le marchand
      SCT_TRANSACTION_REVERSALDébitAnnulation virement entrant après son arrivée par Centralpay
      CREDITDébitCrédit sur carte non lié à une transaction
      CREDIT_CANCELCréditAnnulation d’un crédit sur carte
      SDD_TRANSACTIONCréditPrélèvement SEPA d’un compte bancaire externe
      SDD_TRANSACTION_CANCELDébitAnnulation d’un prélèvement d’un compte externe avant son arrivée
      SDD_TRANSACTION_REVERSALDébitRemboursement d’un prélèvement d’un compte externe après son arrivée
      DEPOSITCréditChargement d’une somme sur un compte CentralPay

      Portail client

      Le portail client CentralPay est l’interface des profils clients (Customer). Il permet à vos clients de :

      • consulter leur historique de paiement,
      • d’administrer leurs opérations en cours (mise à jour de leur moyen de paiement par défaut, résiliation d’abonnement…)
      • mais aussi d’interagir avec vous en cas de question concernant une opération (formulaire de contact).

      Ce portail est principalement utilisé pour l’administration des paiements récurrents par les clients. Les équipes conformité de CentralPay peuvent requérir que l’URL de ce portail soit intégrée dans le pied de page ou les conditions générales de votre site marchand.

      Pour s’y connecter, vos clients ont deux options :

      • Via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre compte CentralPay :
        • Accès portail client de RCT : https://test-customer.centralpay.net/home
        • Accès portail client de PROD : https://customer.centralpay.net/home
      • En direct via le lien communiqué dans les emails automatique de création d’abonnement / de paiement fractionné, ou en intégrant le CustomerID visible dans votre Portail utilisateur > Compte > Customer > Détail > CustomerId :
        • Accès portail client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId]
        • Accès portail client de RCT : https://customer.centralpay.net/customer/?uuid=[CustomerId]

      Portail d'inscription

      Le portail d’inscription de CentralPay permet la création d’un Compte CentralPay et d’un compte de paiement : de la création du profil utilisateur, jusqu’à la contractualisation, en passant par la collecte du KYC/KYB. Il interagit avec l’API Onboarding de CentralPay.

      Pour les comptes « Partenaires », il permet donc de créer des sous-marchands facilement depuis un portail hébergé par CentralPay, et d’ainsi éviter une intégration complète de l’API Onboarding.

      Pour adresser un lien d’onboarding à l’un de vos futurs sous-marchands, vous pouvez utiliser le service de création de compte de paiement.

      • Accès au portail d’inscription de RCT
      • Accès au portail d’inscription de PROD

      Évolution de la plateforme

      Les API de CentralPay reposent sur une architecture en micro services apportant un maximum de flexibilité. Notre approche modulaire permet de faire constamment évoluer nos solutions afin d’apporter toujours plus de services et de fonctionnalités.

      Ces évolutions sont réalisées après des analyses d’impact poussées afin de ne pas provoquer de changement dans les intégrations de nos utilisateurs. Dans de très rares cas, celles-ci peuvent appeler des modifications mineures ou plus importantes lorsque des changements de régulations surviennent, comme ce fut le cas pour l’évolution vers la version 2.0 du 3DS par exemple.

      En cas d’évolution de la plateforme ou de modifications des attentes concernant la consommation de ses APIs, CentralPay s’engage à vous prévenir dans un délai correspondant à l’ampleur des actions à mener :

      • Modifications mineures nécessitant aucune action du marchand ou partenaire :
        remise d’information simple
      • Modifications mineures avec action nécessaire par le marchand ou partenaire :
        2 mois minimum de délai de prévenance + accompagnement à la réalisation
      • Modifications majeures avec action nécessaire par le marchand ou partenaire :
        6 mois minimum de délai de prévenance + accompagnement à la réalisation

      À noter que les modifications nécessitant une action de nos marchands ou partenaires sont qualifiées d’exceptionnelles à inexistantes et que toutes les précautions sont prises pour éviter tout impact sur leur activité.

      Comptes de paiement

      1/ Introduction

      Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…). Ils permettent de stocker des fonds dans une devise ISO (EUR, USD, CHF, GBP…) et possèdent un IBAN/BIC qui lui est propre. Un compte de paiement est, sauf exception, associé à un compte bancaire ayant le même titulaire, permettant à CentralPay de réaliser des reversements automatiques par virement SEPA.

      Si vous disposez de plusieurs comptes bancaires sur lesquels vos fonds doivent être reversés, vous pouvez demander à votre contact CentralPay de créer le même nombre de comptes de paiement dans votre compte CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des reversements SEPA en conséquence.
      Il est également possible de créer plusieurs comptes de paiement à des fins de segmentation des fonds (avec un compte dédié aux opérations de commission ou de frais par exemple).

      Vous pouvez consulter le détail de vos comptes de paiements depuis ces accès :

      • Comptes de paiement – Portail utilisateur de RCT
      • Comptes de paiement – Portail utilisateur de PROD

      2/ Utilisations

      Les comptes de paiement sont systématiquement utilisés pour les opérations de paiement de notre plateforme, à l’exception des opérations de monnaie électronique.

      3/ Création de comptes de paiement

      Si vous êtes marchand CentralPay, vous pouvez adresser une demande par email aux équipes CentralPay pour la création de plusieurs comptes de paiement à votre nom. Cela afin de segmenter vos opérations ou d’ouvrir un compte dans une devise différente.

      Si vous êtes Partenaire MOBSP ou AGENT de CentralPay, vous pouvez créer des comptes pour vos sous-marchands en utilisant le service de création de comptes de paiement.

      SDD return codes

      Return CodeDescription
      AB05Timeout Creditor Agent
      AB06Timeout Instructed Agent
      AB07Offline Agent
      AB08Offline Creditor Agent
      AB09Error Creditor Agent
      AB10Error Instructed Agent
      AC01Incorrect Account Number
      AC03Invalid Creditor Account Number
      AC04Account Closed
      AC06Account blocked, reason not specified
      AC13Wrong Debtor account
      AG01Forbidden on this type of account
      AG02Operation/Transaction code incorrect, invalid file format
      AG09Payment Not Received
      AG10Agent Suspended
      AG11Creditor Agent Suspended
      AGNTIncorrect Agent
      AM02Not Allowed Amount
      AM04Insufficient Funds
      AM05Duplicate payment
      AM09Wrong Amount
      AM23Amount Exceeds Settlement Limit
      ARDTAlready a returned transaction
      BE04Account address invalid
      BE05Creditor Identifier incorrect
      CUSTCustomer decision
      CURRIncorrect Currency
      CUTACancellation Upon Unable to Apply
      CNORCreditor Bank is not Registered
      DNORDebtor Bank is not Registered
      DUPLDuplicate Payment
      ED05Settlement Failed
      ERINERI Option Not Supported
      FF01Invalid File Format
      FOCRPositive answer to the recall or RfRO
      FRADFraudulent originated credit transfer
      LEGLLegal Decision
      MD01No valid mandate
      MD02Mandate data missing or invalid
      MD06Refund Request By End Customer
      MD07Beneficiary Deceased
      MS02By order of the beneficiary
      MS03Reason not specified
      NOASNo Answer From Customer
      NOORNo Original Transaction Received
      RC01Invalid BIC
      RC07Invalid Creditor BIC Identifier
      RR01Missing Debtor Account Or Identification
      RR02Missing Debtors Name Or Address
      RR03Missing Creditors Name Or Address
      RR04Regulatory Reason
      SL01Specific service offered by debtor Bank
      TECHTechnical problems resulting in erroneous SCT’s
      TM01Invalid Cut Off Time
      UPAYUndue Payment

      Liens de paiement

      Articles

      • Informations générales
      • Demandes de paiement
      • Page de paiement (SmartForm)
      • Retours, statuts et hooks

      Informations générales

      1/ Les deux modes d’intégration de Smart Collection

      La solution Smart Collection permet d’encaisser des paiements depuis divers moyens de paiement.

      Vous pouvez au choix :

      • créer et intégrer vos propres parcours de paiement (intégration CUSTOM), en consommant les services API de chaque moyen de paiement :
        • Transaction par carte
        • Transaction par virement
        • Transaction par prélèvement SEPA
      • utiliser nos parcours de demande de paiement sécurisés (intégration SMART), grâce à notre service dédié :
        • Demandes de paiement (PaymentRequest)

      NB : si vous choisissez l’intégration SMART, certaines fonctionnalités spécifiques comme les R-transactions, la gestion des libellés bancaires, la gestion des IBAN Virtuels… sont présentées dans la documentation dans les rubriques CUSTOM dédiées à chaque moyen de paiement.

      2/ À propos de l’intégration SMART

      La demande de paiement permet de générer un lien de paiement menant à une page de paiement hébergée par CentralPay. Votre client peut ainsi vous régler selon les conditions de règlement que vous avez déterminé (moyens et modes de paiement autorisés, délais de règlement …). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé…).

      La demande de paiement doit être alimenté des conditions de règlement de votre panier ou de votre facture :

      • Montant à régler
      • Moyens de paiement acceptés (carte, virement, prélèvement, initiation de paiement)
      • Modes de paiement acceptés (unitaire, par abonnement, paiement fractionné…)
      • Référence de commande
      • Description de commande
      • Coordonnés clients
      • Délais de règlement autorisé
      • Délais d’expiration du lien
      • …

      Le lien de paiement peut être adressé à vos clients depuis :

      • vos tunnels de vente ou interfaces web,
      • vos outils de communications (email, sms, courriers via QR code…)
      • le service de notifications email / sms de CentralPay

      La page de paiement permet ensuite au client de réaliser sa ou ses transactions :

      • Visualisation des informations de la demande de paiement
      • Sélection du moyen ou mode de paiement
      • Renseignement des données clients
      • Renseignement des coordonnées de paiement

      Demandes de paiement

      1/ Introduction

      La demande de paiement (ou PaymentRequest) est le service vous permettant de générer des liens de paiement. Vous pouvez créer des demandes de paiement par API ou via le Portail utilisateur. La demande de paiement peut également être couplé au service de notification de CentralPay, vous permettant d’adresser facilement un lien de paiement par email ou sms à vos clients et de programmer des relances automatisées.

      2/ Création par API

      2.1/ Créer une « PaymentRequest »

      Vous trouverez ci-dessous les moyens de paiement disponibles et les valeurs API correspondantes dans le service PaymentRequest :

      Moyen ou mode de paiement souhaitéValeurs API à renseigner
      Paiements unitaires
      Transaction par cartepaymentMethod[]=TRANSACTION
      Pré-autorisation sur carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION
      transaction[source]=DP
      Vérification carte (transaction à 0 €)paymentMethod[]=TRANSACTION
      transaction[source]=RI
      Transaction par virement bancairepaymentMethod[]=SCT_TRANSACTION
      Transaction par prélèvement SEPApaymentMethod[]=SDD
      sdd[remittanceInformation]
      Transaction par initiation de paiementProchainement
      Paiements récurrents
      Abonnement par cartepaymentMethod[]=SUBSCRIPTION
      subscriptionModel[subscriptionModelId]
      Abonnement par prélèvement SEPApaymentMethod[]=SUBSCRIPTION
      subscription[source]=SDD
      subscriptionModel[subscriptionModelId]
      Paiement fractionné par cartepaymentMethod[]=INSTALLMENT
      intallment[intervalUnit]
      installment[intervalCount]
      installment [iterationCount]
      Paiement fractionné par prélèvement SEPApaymentMethod[]=INSTALLMENT
      installment[source]=SDD
      intallment[intervalUnit]
      installment[intervalCount]
      installment [iterationCount]

      Si vous souhaitez autoriser plusieurs moyens ou modes de paiement dans votre PaymentRequest, vous devez renseigner plusieurs fois l’objet paymentMethod[].

      Exemple :
      paymentMethod[]=TRANSACTION
      paymentMethod[]=SCT_TRANSACTION

      Attention, certaines combinaisons de moyens ou modes de paiement peuvent rentrer en conflits et votre PaymentRequest pourra retourner une erreur. Par exemple, vous ne pouvez pas autoriser une TRANSACTION et une SUBSCRIPTION, cependant vous pouvez autoriser une TRANSACTION et un INSTALLMENT.

      Voici les informations principales concernant d’autres valeurs à renseigner lors de la création d’une PaymentRequest :

      DésignationDéfinition
      amountMontant de la demande de paiement en centimes
      merchantPaymentRequestIdRéférence personnalisée (votre numéro de commande ou facture par exemple) que vous pourrez utiliser pour rapprocher le paiement. Cette valeur sera visible par votre client dans la page de paiement.
      descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.
      additionalData[*]Donnée clé-valeur libre, vous permettant de transiter une ou plusieurs données (références de factures, numéro client etc…). N’est pas visible par votre client dans la page de paiement.
      createCustomerCréation TRUE / FALSE d’un compte Customer (permet notamment l’enregistrement du moyen de paiement client : carte, mandat SEPA, et création d’un IBAN virtuel dédié au Customer)
      breakdown[customerId]Sélection d’un Customer déjà existant

      NOTE : pour les transactions par virement SEPA, vous pouvez définir si vous souhaitez afficher l’IBAN Virtuel dédié au Customer ou générer un IBAN Virtuel à usage unique (SCT) depuis les paramètres de vos Points de Vente.

      2.2/ Envoyer une PaymentRequest par email / sms

      Lors de sa création, vous pouvez demander à CentralPay d’adresser la demande de paiement à votre client. Il existe deux méthodes d’envoi :

      • Via le mailer par défaut des PaymentRequest : CentralPay adresse la demande de paiement depuis un modèle d’email/sms standardisé et depuis l’email expéditeur renseigné dans votre point de vente (ou à défaut l’email expéditeur de CentralPay « no-reply@centralpay.eu »).
        • Pour cela vous devez [à compléter]
      • Via le service de notification email/sms de CentralPay : CentralPay adresse la demande de paiement selon le scénario et les modèles de communication que vous avez paramétrés. Ce service permet notamment l’automatisation de relances clients, basés sur les paramètres de la demande de paiement (délais de paiement, avancement du paiement…).
        • Pour cela vous devez [à compléter]

      2.3/ Fonctions spécifiques

      Demande de paiement à montant libre (multi-moyens de paiements)

      Il est possible d’autoriser la modification du montant à régler (avec pour maximum le montant initial), afin que vos payeurs puissent régler la somme due depuis plusieurs moyens de paiements ou à des moments différents.

      Par exemple sur une demande de paiement de 500€ :

      • Régler 250€ en virement puis 250€ en carte
      • Ou 300€ avec une première carte puis 200€ avec une autre.
      • Ou régler 350€ avec une carte, puis revenir plus tard pour régler les 150€ restants avec cette même carte.

      Pour ce faire vous devez [à compléter]

      Envoyer une demande de paiement à plusieurs destinataires

      Il est possible d’adresser une demande de paiement à plusieurs destinataires avec un montant différent à régler pour chacun d’entre eux. Ainsi :

      • Chaque participant reçoit une notification e-mail ou SMS détaillant l’objet du service à régler
      • Les montants sont fixés par l’initiateur ou laissé libre à chaque participant qui règle le montant souhaité
      • Les dates paramétrées à la demande (création, expiration…) permettent de générer des notifications vers chaque participant

      Pour ce faire vous devez [à compléter]

      3/ Création depuis le Portail utilisateur

      3.1/ Création et types de demandes de paiement

      • Accès Demandes de paiement – Portail utilisateur de recette
      • Accès Demandes de paiement – Portail utilisateur de production

      Vous pouvez créer une demande de paiement depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Créer. Les demandes de paiement créées depuis le Portail utilisateur sont obligatoirement adressées à vos clients par CentralPay. En fonction de vos besoins, vous devrez choisir l’un des types de demandes suivant :

      • Demande instantanée : une demande simple, envoyée depuis les expéditeurs et les templates emails / sms standards de CentralPay.
      • Demande programmée : une demande avancée, utilisant les modèles de communication, scénarios et règles d’envoi/de relance que vous aurez préalablement paramétrés depuis le service de notifications email/sms de CentralPay. Une demande programmée adressée sans avoir sélectionné de scénario de notification sera automatiquement requalifiée en demande instantanée.

      Une fois créée, vous pouvez accéder à la page de paiement en cliquant sur le détail de la demande de paiement > Formulaire de paiement. Ainsi, vous pourrez retransmettre à votre client l’URL de la page en cas d’erreur d’envoi.

      3.2/ Les profils de demandes de paiement

      Afin de faciliter la création de demandes de paiement, vous avez la possibilité de créer des profils prédéfinis intégrant les principaux paramétrages de la demande :

      • Point de vente
      • Devise
      • Langue
      • Moyens de paiement autorisés
      • Limite de paiement (délais de paiement contractuel)
      • Expiration du lien (délais avant expiration du lien)
      • Scénarios de notification
      • Reroutage de l’email de confirmation de paiement
      • Règles d’affichage (paramètres de la page de paiement)
      • Création de Customer
      • Pièces jointes

      Vous pouvez ensuite utiliser ce profil lors de la création de vos demandes de paiement programmées via le Portail utilisateur, ou via import de fichiers plats.

      3.3/ Création de demandes de paiements par import de fichiers plats

      Depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Importer, vous pouvez déposer un fichier d’importation de demandes de paiement. Cette utilisation peut être recommandée pour les entreprises souhaitant adresser en fin de mois et relancer automatiquement une liste de créanciers.

      Vous pouvez télécharger le modèle de fichier ci-après :

      • Modèle au format CSV
      • Modèle au format JSON

      Quelques informations importantes :

      DésginationDéfinition
      profil_uuid*UUID du profil de demande de paiement
      merchant_payment_request_idRéférence personnalisée (votre numéro de commande ou facture par exemple) que vous pourrez utiliser pour rapprocher le paiement. Cette valeur sera visible par le payeur dans la page de paiement.
      descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.
      total_amount*Montant de la demande de paiement. À renseigner en doubles décimales avec un séparateur « . » (ex : 500.00 pour 500€).
      last_nameNom de famille
      first_namePrénom
      email*Email du destinataire
      phoneTéléphone du destinataire au format international (ex : 33612345678).
      create_customerCréation d’un profil client « Customer » : renseigner « O » pour OUI ou « N » pour NON
      link_expiration_dateDate d’expiration de la demande de paiement (date à laquelle le client ne pourra plus vous régler)
      deadlineDate limite de paiement (date à laquelle votre client doit vous avoir réglé, et à partir de laquelle il est en retard de paiement).
      receipt_emailEmail sur lequel vous souhaitez rerouter l’email de confirmation de paiement
      language*Langue de la communication et de la page de paiement (FRE pour français, ENG pour anglais…)
      Les champs avec un * sont obligatoires.

      Page de paiement (SmartForm)

      1/ Introduction

      La page de paiement (aussi appelé SmartForm) est une page hébergée et sécurisée par CentralPay destinée à la collecte des données clients et de leurs coordonnées de paiement. Générée via le service de demande de paiement, elle permet à vos clients de visualiser les détails de cette demande (montant, référence de commande…) et de sélectionner un moyen de paiement autorisé avant de passer à l’étape de règlement.

      2/ Paramétrage de la page

      • Accès paramétrage formulaire – Portail utilisateur de RCT
      • Accès paramétrage formulaire – Portail utilisateur de PROD

      Vous pouvez créer un ou plusieurs modèles de page afin de personnaliser votre parcours de paiement. Ci-dessous la liste des éléments paramétrables sur la page :

      DésignationDéfinition
      NomNom du modèle de page
      Template par défautCoche permettant de définir si ce modèle doit s’appliquer par défaut (les demandes de paiement créées sans modèle utiliseront ce dernier)
      Forcer la création du customerCoche permettant de forcer systématiquement la création d’un Customer à la création de la demande de paiement. Le paramètre de création du Customer renseigné sur les demandes de paiements sera ignoré. Note : CentralPay ne créera pas de nouveau Customer si son email ou son numéro de téléphone sont déjà utilisés par un autre Customer, et affectera la demande à ce dernier.
      URL de redirectionURL de redirection après paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.
      Délais de redirectionDélais de redirection vers l’URL de redirection après paiement. Champ vide : pas de redirection, 0 : redirection immédiate, autre valeur : nombre de secondes avant la redirection
      URL d’annulationURL de redirection en cas d’annulation avant paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.
      Couleur du texteCouleur du texte de la page de paiement
      Couleur des boutonsCouleur des boutons de la page de paiement
      Champs supplémentairesChamps supplémentaires qu’il est possible d’ajouter aux parcours de paiement par carte (CB) ou par virement. Utilisé pour collecter des données clients complémentaires si nécessaire (adresse, nom, prénom…).

      3/ Personnalisation du logo affiché sur le SmartForm

      Le logo affiché sur le SmartForm est celui que vous aurez renseigné dans les paramètres du point de vente utilisé pour votre demande de paiement. Par défaut, le logo de CentralPay est affiché.

      Retours, statuts et hooks

      1/ Statuts liés aux demandes de paiement

      Statuts Payment Request

      2/ Webhooks liés aux demandes de paiement

      Les demandes de paiement permettant indirectement la création de transactions cartes, SCT et SDD mais aussi d’autres objets comme les Customer, Subscription ou Installment, selon les cas d’usages, il peut être utile de suivre les webhooks associés.

      Webhooks « PaymentRequest »

      Webhooks PaymentRequest

      Webhooks « Transaction »

      Webhooks Transaction

      Webhooks « SCT Transaction »

      Webhooks SCT Transaction

      Webhooks « SDD Transaction »

      Webhooks SDD Transaction

      Webhooks « Customer »

      Webhooks Customer

      Webhooks « Subscription »

      Webhooks Subscription

      Webhooks « Installment »

      Webhooks Installment

      3DS 2.2 >

      See more about 3DS 2.2


      Frais d'interchange et réseaux cartes

      Introduction

      L’interchange correspond à la valeur chargée par l’établissement émetteur d’une carte de paiement (la banque de votre client) à l’établissement acquéreur (la banque du marchand).

      Les frais de réseaux carte (ou « Card Scheme Fees ») correspondent aux frais pris par les réseaux carte (Visa, Mastercard, CB) pour faire fonctionner le service.

      Des termes ont été définis pour désigner l’assemblage de ces frais :

      • Interchange+
        Les frais d’Interchange + les frais des réseaux cartes (card scheme fees).
      • Interchange++
        Les frais d’Interchange + les frais des réseaux cartes (card scheme fees) + les frais de service de l’établissement (CentralPay)

      Toutes les offres commerciales de CentralPay intègrent les frais d’Interchange+ ainsi que nos propres frais de service, vous n’avez donc aucun frais bancaire supplémentaire à prévoir pour réaliser vos transactions. Sauf mention contraire, des frais minimum de perception de 0.15 € sont prélevés sur l’IC++.

      1/ Frais d’interchange et réseaux carte (E-commerce)

      Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)
      Carte de débit ou prépayé
      CB, VISA, MASTERCARD
      0,2 %1,15 %
      Carte de crédit ou débit différé
      CB, VISA, MASTERCARD
      0,3 %1,5 %
      Carte professionnelle
      CB
      0,9 %/
      Carte professionnelle
      VISA
      1,45 %2 %
      Carte professionnelle
      MASTERCARD
      1,45 %2 %
      Toutes cartes
      AMERICAN EXPRESS
      AucunAucun
      Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)
      Réseau CB (Cartes bancaires)0,015 %/
      Réseau VISA0,070 %0,70 %
      Réseau MASTERCARD0,171 %0,951 %
      Réseau AMERICAN EXPRESS1,600 %2,400 %

      2/ Frais d’interchange et réseaux carte (paiement de proximité)

      Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)
      Carte de débit ou prépayé
      CB, VISA, MASTERCARD
      0,2 %1,15 %
      Carte de crédit ou débit différé
      CB, VISA, MASTERCARD
      0,3 %1,5 %
      Carte professionnelle
      CB
      0,9 %/
      Carte professionnelle
      VISA
      1,45 %2 %
      Carte professionnelle
      MASTERCARD
      1,45 %2 %
      Toutes cartes
      AMERICAN EXPRESS
      AucunAucun
      Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)
      Réseau CB (Cartes bancaires)0,015 %/
      Réseau VISA0,014 %0,322 %
      Réseau MASTERCARD0,061 %0,240 %
      Réseau AMERICAN EXPRESS1,600 %2,400 %

      Credit

      See more about Credit

      Country codes

      List of country codes:

      004
      Afghanistan
      Alpha2 code: AF
      Alpha3 code: AFG
      008
      Albania
      Alpha2 code: AL
      Alpha3 code: ALB
      010
      Antarctica
      Alpha2 code: AQ
      Alpha3 code: ATA
      012
      Algeria
      Alpha2 code: DZ
      Alpha3 code: DZA
      016
      American Samoa
      Alpha2 code: AS
      Alpha3 code: ASM
      020
      Andorra
      Alpha2 code: AD
      Alpha3 code: AND
      024
      Angola
      Alpha2 code: AO
      Alpha3 code: AGO
      028
      Antigua and Barbuda
      Alpha2 code: AG
      Alpha3 code: ATG
      031
      Azerbaijan
      Alpha2 code: AZ
      Alpha3 code: AZE
      032
      Argentina
      Alpha2 code: AR
      Alpha3 code: ARG
      036
      Australia
      Alpha2 code: AU
      Alpha3 code: AUS
      040
      Austria
      Alpha2 code: AT
      Alpha3 code: AUT
      044
      Bahamas (the)
      Alpha2 code: BS
      Alpha3 code: BHS
      048
      Bahrain
      Alpha2 code: BH
      Alpha3 code: BHR
      050
      Bangladesh
      Alpha2 code: BD
      Alpha3 code: BGD
      051
      Armenia
      Alpha2 code: AM
      Alpha3 code: ARM
      052
      Barbados
      Alpha2 code: BB
      Alpha3 code: BRB
      056
      Belgium
      Alpha2 code: BE
      Alpha3 code: BEL
      060
      Bermuda
      Alpha2 code: BM
      Alpha3 code: BMU
      064
      Bhutan
      Alpha2 code: BT
      Alpha3 code: BTN
      068
      Bolivia, Plurinational State of
      Alpha2 code: BO
      Alpha3 code: BOL
      070
      Bosnia and Herzegovina
      Alpha2 code: BA
      Alpha3 code: BIH
      072
      Botswana
      Alpha2 code: BW
      Alpha3 code: BWA
      074
      Bouvet Island
      Alpha2 code: BV
      Alpha3 code: BVT
      076
      Brazil
      Alpha2 code: BR
      Alpha3 code: BRA
      084
      Belize
      Alpha2 code: BZ
      Alpha3 code: BLZ
      086
      British Indian Ocean Territory (the)
      Alpha2 code: IO
      Alpha3 code: IOT
      090
      Solomon Islands (the)
      Alpha2 code: SB
      Alpha3 code: SLB
      092
      Virgin Islands (British)
      Alpha2 code: VG
      Alpha3 code: VGB
      096
      Brunei Darussalam
      Alpha2 code: BN
      Alpha3 code: BRN
      100
      Bulgaria
      Alpha2 code: BG
      Alpha3 code: BGR
      104
      Myanmar
      Alpha2 code: MM
      Alpha3 code: MMR
      108
      Burundi
      Alpha2 code: BI
      Alpha3 code: BDI
      112
      Belarus
      Alpha2 code: BY
      Alpha3 code: BLR
      116
      Cambodia
      Alpha2 code: KH
      Alpha3 code: KHM
      120
      Cameroon
      Alpha2 code: CM
      Alpha3 code: CMR
      124
      Canada
      Alpha2 code: CA
      Alpha3 code: CAN
      132
      Cape Verde
      Alpha2 code: CV
      Alpha3 code: CPV
      136
      Cayman Islands (the)
      Alpha2 code: KY
      Alpha3 code: CYM
      140
      Central African Republic (the)
      Alpha2 code: CF
      Alpha3 code: CAF
      144
      Sri Lanka
      Alpha2 code: LK
      Alpha3 code: LKA
      148
      Chad
      Alpha2 code: TD
      Alpha3 code: TCD
      152
      Chile
      Alpha2 code: CL
      Alpha3 code: CHL
      156
      China
      Alpha2 code: CN
      Alpha3 code: CHN
      158
      Taiwan (Province of China)
      Alpha2 code: TW
      Alpha3 code: TWN
      162
      Christmas Island
      Alpha2 code: CX
      Alpha3 code: CXR
      166
      Cocos (Keeling) Islands (the)
      Alpha2 code: CC
      Alpha3 code: CCK
      170
      Colombia
      Alpha2 code: CO
      Alpha3 code: COL
      174
      Comoros
      Alpha2 code: KM
      Alpha3 code: COM
      175
      Mayotte
      Alpha2 code: YT
      Alpha3 code: MYT
      178
      Congo
      Alpha2 code: CG
      Alpha3 code: COG
      180
      Congo (the Democratic Republic of the)
      Alpha2 code: CD
      Alpha3 code: COD
      184
      Cook Islands (the)
      Alpha2 code: CK
      Alpha3 code: COK
      188
      Costa Rica
      Alpha2 code: CR
      Alpha3 code: CRI
      191
      Croatia
      Alpha2 code: HR
      Alpha3 code: HRV
      192
      Cuba
      Alpha2 code: CU
      Alpha3 code: CUB
      196
      Cyprus
      Alpha2 code: CY
      Alpha3 code: CYP
      203
      Czech Republic (the)
      Alpha2 code: CZ
      Alpha3 code: CZE
      204
      Benin
      Alpha2 code: BJ
      Alpha3 code: BEN
      208
      Denmark
      Alpha2 code: DK
      Alpha3 code: DNK
      212
      Dominica
      Alpha2 code: DM
      Alpha3 code: DMA
      214
      Dominican Republic (the)
      Alpha2 code: DO
      Alpha3 code: DOM
      218
      Ecuador
      Alpha2 code: EC
      Alpha3 code: ECU
      222
      El Salvador
      Alpha2 code: SV
      Alpha3 code: SLV
      226
      Equatorial Guinea
      Alpha2 code: GQ
      Alpha3 code: GNQ
      231
      Ethiopia
      Alpha2 code: ET
      Alpha3 code: ETH
      232
      Eritrea
      Alpha2 code: ER
      Alpha3 code: ERI
      233
      Estonia
      Alpha2 code: EE
      Alpha3 code: EST
      234
      Faroe Islands (the)
      Alpha2 code: FO
      Alpha3 code: FRO
      238
      Falkland Islands (the) [Malvinas]
      Alpha2 code: FK
      Alpha3 code: FLK
      239
      South Georgia and the South Sandwich Islands
      Alpha2 code: GS
      Alpha3 code: SGS
      242
      Fiji
      Alpha2 code: FJ
      Alpha3 code: FJI
      246
      Finland
      Alpha2 code: FI
      Alpha3 code: FIN
      248
      Ã…land Islands
      Alpha2 code: AX
      Alpha3 code: ALA
      250
      France
      Alpha2 code: FR
      Alpha3 code: FRA
      254
      French Guiana
      Alpha2 code: GF
      Alpha3 code: GUF
      258
      French Polynesia
      Alpha2 code: PF
      Alpha3 code: PYF
      260
      French Southern Territories (the)
      Alpha2 code: TF
      Alpha3 code: ATF
      262
      Djibouti
      Alpha2 code: DJ
      Alpha3 code: DJI
      266
      Gabon
      Alpha2 code: GA
      Alpha3 code: GAB
      268
      Georgia
      Alpha2 code: GE
      Alpha3 code: GEO
      270
      Gambia (The)
      Alpha2 code: GM
      Alpha3 code: GMB
      275
      Palestine, State of
      Alpha2 code: PS
      Alpha3 code: PSE
      276
      Germany
      Alpha2 code: DE
      Alpha3 code: DEU
      288
      Ghana
      Alpha2 code: GH
      Alpha3 code: GHA
      292
      Gibraltar
      Alpha2 code: GI
      Alpha3 code: GIB
      296
      Kiribati
      Alpha2 code: KI
      Alpha3 code: KIR
      300
      Greece
      Alpha2 code: GR
      Alpha3 code: GRC
      304
      Greenland
      Alpha2 code: GL
      Alpha3 code: GRL
      308
      Grenada
      Alpha2 code: GD
      Alpha3 code: GRD
      312
      Guadeloupe
      Alpha2 code: GP
      Alpha3 code: GLP
      316
      Guam
      Alpha2 code: GU
      Alpha3 code: GUM
      320
      Guatemala
      Alpha2 code: GT
      Alpha3 code: GTM
      324
      Guinea
      Alpha2 code: GN
      Alpha3 code: GIN
      328
      Guyana
      Alpha2 code: GY
      Alpha3 code: GUY
      332
      Haiti
      Alpha2 code: HT
      Alpha3 code: HTI
      334
      Heard Island and McDonald Islands
      Alpha2 code: HM
      Alpha3 code: HMD
      336
      Holy See (the) [Vatican City State]
      Alpha2 code: VA
      Alpha3 code: VAT
      340
      Honduras
      Alpha2 code: HN
      Alpha3 code: HND
      344
      Hong Kong
      Alpha2 code: HK
      Alpha3 code: HKG
      348
      Hungary
      Alpha2 code: HU
      Alpha3 code: HUN
      352
      Iceland
      Alpha2 code: IS
      Alpha3 code: ISL
      356
      India
      Alpha2 code: IN
      Alpha3 code: IND
      360
      Indonesia
      Alpha2 code: ID
      Alpha3 code: IDN
      364
      Iran (the Islamic Republic of)
      Alpha2 code: IR
      Alpha3 code: IRN
      368
      Iraq
      Alpha2 code: IQ
      Alpha3 code: IRQ
      372
      Ireland
      Alpha2 code: IE
      Alpha3 code: IRL
      376
      Israel
      Alpha2 code: IL
      Alpha3 code: ISR
      380
      Italy
      Alpha2 code: IT
      Alpha3 code: ITA
      384
      Ivory coast
      Alpha2 code: CI
      Alpha3 code: CIV
      388
      Jamaica
      Alpha2 code: JM
      Alpha3 code: JAM
      392
      Japan
      Alpha2 code: JP
      Alpha3 code: JPN
      398
      Kazakhstan
      Alpha2 code: KZ
      Alpha3 code: KAZ
      400
      Jordan
      Alpha2 code: JO
      Alpha3 code: JOR
      404
      Kenya
      Alpha2 code: KE
      Alpha3 code: KEN
      408
      Korea (the Democratic People’s Republic of)
      Alpha2 code: KP
      Alpha3 code: PRK
      410
      Korea (the Republic of)
      Alpha2 code: KR
      Alpha3 code: KOR
      414
      Kuwait
      Alpha2 code: KW
      Alpha3 code: KWT
      417
      Kyrgyzstan
      Alpha2 code: KG
      Alpha3 code: KGZ
      418
      Lao People’s Democratic Republic (the)
      Alpha2 code: LA
      Alpha3 code: LAO
      422
      Lebanon
      Alpha2 code: LB
      Alpha3 code: LBN
      426
      Lesotho
      Alpha2 code: LS
      Alpha3 code: LSO
      428
      Latvia
      Alpha2 code: LV
      Alpha3 code: LVA
      430
      Liberia
      Alpha2 code: LR
      Alpha3 code: LBR
      434
      Libya
      Alpha2 code: LY
      Alpha3 code: LBY
      438
      Liechtenstein
      Alpha2 code: LI
      Alpha3 code: LIE
      440
      Lithuania
      Alpha2 code: LT
      Alpha3 code: LTU
      442
      Luxembourg
      Alpha2 code: LU
      Alpha3 code: LUX
      446
      Macao
      Alpha2 code: MO
      Alpha3 code: MAC
      450
      Madagascar
      Alpha2 code: MG
      Alpha3 code: MDG
      454
      Malawi
      Alpha2 code: MW
      Alpha3 code: MWI
      458
      Malaysia
      Alpha2 code: MY
      Alpha3 code: MYS
      462
      Maldives
      Alpha2 code: MV
      Alpha3 code: MDV
      466
      Mali
      Alpha2 code: ML
      Alpha3 code: MLI
      470
      Malta
      Alpha2 code: MT
      Alpha3 code: MLT
      474
      Martinique
      Alpha2 code: MQ
      Alpha3 code: MTQ
      478
      Mauritania
      Alpha2 code: MR
      Alpha3 code: MRT
      480
      Mauritius
      Alpha2 code: MU
      Alpha3 code: MUS
      484
      Mexico
      Alpha2 code: MX
      Alpha3 code: MEX
      492
      Monaco
      Alpha2 code: MC
      Alpha3 code: MCO
      496
      Mongolia
      Alpha2 code: MN
      Alpha3 code: MNG
      498
      Moldova (the Republic of)
      Alpha2 code: MD
      Alpha3 code: MDA
      499
      Montenegro
      Alpha2 code: ME
      Alpha3 code: MNE
      500
      Montserrat
      Alpha2 code: MS
      Alpha3 code: MSR
      504
      Morocco
      Alpha2 code: MA
      Alpha3 code: MAR
      508
      Mozambique
      Alpha2 code: MZ
      Alpha3 code: MOZ
      512
      Oman
      Alpha2 code: OM
      Alpha3 code: OMN
      516
      Namibia
      Alpha2 code: NA
      Alpha3 code: NAM
      520
      Nauru
      Alpha2 code: NR
      Alpha3 code: NRU
      524
      Nepal
      Alpha2 code: NP
      Alpha3 code: NPL
      528
      Netherlands (the)
      Alpha2 code: NL
      Alpha3 code: NLD
      531
      Curacao
      Alpha2 code: CW
      Alpha3 code: CUW
      533
      Aruba
      Alpha2 code: AW
      Alpha3 code: ABW
      534
      Sint Maarten (Dutch part)
      Alpha2 code: SX
      Alpha3 code: SXM
      535
      Bonaire, Sint Eustatius and Saba
      Alpha2 code: BQ
      Alpha3 code: BES
      540
      New Caledonia
      Alpha2 code: NC
      Alpha3 code: NCL
      548
      Vanuatu
      Alpha2 code: VU
      Alpha3 code: VUT
      554
      New Zealand
      Alpha2 code: NZ
      Alpha3 code: NZL
      558
      Nicaragua
      Alpha2 code: NI
      Alpha3 code: NIC
      562
      Niger (the)
      Alpha2 code: NE
      Alpha3 code: NER
      566
      Nigeria
      Alpha2 code: NG
      Alpha3 code: NGA
      570
      Niue
      Alpha2 code: NU
      Alpha3 code: NIU
      574
      Norfolk Island
      Alpha2 code: NF
      Alpha3 code: NFK
      578
      Norway
      Alpha2 code: NO
      Alpha3 code: NOR
      580
      Northern Mariana Islands (the)
      Alpha2 code: MP
      Alpha3 code: MNP
      581
      United States Minor Outlying Islands (the)
      Alpha2 code: UM
      Alpha3 code: UMI
      583
      Micronesia (the Federated States of)
      Alpha2 code: FM
      Alpha3 code: FSM
      584
      Marshall Islands (the)
      Alpha2 code: MH
      Alpha3 code: MHL
      585
      Palau
      Alpha2 code: PW
      Alpha3 code: PLW
      586
      Pakistan
      Alpha2 code: PK
      Alpha3 code: PAK
      591
      Panama
      Alpha2 code: PA
      Alpha3 code: PAN
      598
      Papua New Guinea
      Alpha2 code: PG
      Alpha3 code: PNG
      600
      Paraguay
      Alpha2 code: PY
      Alpha3 code: PRY
      604
      Peru
      Alpha2 code: PE
      Alpha3 code: PER
      608
      Philippines (the)
      Alpha2 code: PH
      Alpha3 code: PHL
      612
      Pitcairn
      Alpha2 code: PN
      Alpha3 code: PCN
      616
      Poland
      Alpha2 code: PL
      Alpha3 code: POL
      620
      Portugal
      Alpha2 code: PT
      Alpha3 code: PRT
      624
      Guinea-Bissau
      Alpha2 code: GW
      Alpha3 code: GNB
      626
      Timor-Leste
      Alpha2 code: TL
      Alpha3 code: TLS
      630
      Puerto Rico
      Alpha2 code: PR
      Alpha3 code: PRI
      634
      Qatar
      Alpha2 code: QA
      Alpha3 code: QAT
      638
      Réunion
      Alpha2 code: RE
      Alpha3 code: REU
      642
      Romania
      Alpha2 code: RO
      Alpha3 code: ROU
      643
      Russian Federation (the)
      Alpha2 code: RU
      Alpha3 code: RUS
      646
      Rwanda
      Alpha2 code: RW
      Alpha3 code: RWA
      652
      Saint Barthélemy
      Alpha2 code: BL
      Alpha3 code: BLM
      654
      Saint Helena, Ascension and Tristan da Cunha
      Alpha2 code: SH
      Alpha3 code: SHN
      659
      Saint Kitts and Nevis
      Alpha2 code: KN
      Alpha3 code: KNA
      660
      Anguilla
      Alpha2 code: AI
      Alpha3 code: AIA
      662
      Saint Lucia
      Alpha2 code: LC
      Alpha3 code: LCA
      663
      Saint Martin (French part)
      Alpha2 code: MF
      Alpha3 code: MAF
      666
      Saint Pierre and Miquelon
      Alpha2 code: PM
      Alpha3 code: SPM
      670
      Saint Vincent and the Grenadines
      Alpha2 code: VC
      Alpha3 code: VCT
      674
      San Marino
      Alpha2 code: SM
      Alpha3 code: SMR
      678
      Sao Tome and Principe
      Alpha2 code: ST
      Alpha3 code: STP
      682
      Saudi Arabia
      Alpha2 code: SA
      Alpha3 code: SAU
      686
      Senegal
      Alpha2 code: SN
      Alpha3 code: SEN
      688
      Serbia
      Alpha2 code: RS
      Alpha3 code: SRB
      690
      Seychelles
      Alpha2 code: SC
      Alpha3 code: SYC
      694
      Sierra Leone
      Alpha2 code: SL
      Alpha3 code: SLE
      702
      Singapore
      Alpha2 code: SG
      Alpha3 code: SGP
      703
      Slovakia
      Alpha2 code: SK
      Alpha3 code: SVK
      704
      Viet Nam
      Alpha2 code: VN
      Alpha3 code: VNM
      705
      Slovenia
      Alpha2 code: SI
      Alpha3 code: SVN
      706
      Somalia
      Alpha2 code: SO
      Alpha3 code: SOM
      710
      South Africa
      Alpha2 code: ZA
      Alpha3 code: ZAF
      716
      Zimbabwe
      Alpha2 code: ZW
      Alpha3 code: ZWE
      724
      Spain
      Alpha2 code: ES
      Alpha3 code: ESP
      728
      South Sudan
      Alpha2 code: SS
      Alpha3 code: SSD
      729
      Sudan (the)
      Alpha2 code: SD
      Alpha3 code: SDN
      732
      Western Sahara
      Alpha2 code: EH
      Alpha3 code: ESH
      740
      Suriname
      Alpha2 code: SR
      Alpha3 code: SUR
      744
      Svalbard and Jan Mayen
      Alpha2 code: SJ
      Alpha3 code: SJM
      748
      Swaziland
      Alpha2 code: SZ
      Alpha3 code: SWZ
      752
      Sweden
      Alpha2 code: SE
      Alpha3 code: SWE
      756
      Switzerland
      Alpha2 code: CH
      Alpha3 code: CHE
      760
      Syrian Arab Republic (the)
      Alpha2 code: SY
      Alpha3 code: SYR
      762
      Tajikistan
      Alpha2 code: TJ
      Alpha3 code: TJK
      764
      Thailand
      Alpha2 code: TH
      Alpha3 code: THA
      768
      Togo
      Alpha2 code: TG
      Alpha3 code: TGO
      772
      Tokelau
      Alpha2 code: TK
      Alpha3 code: TKL
      776
      Tonga
      Alpha2 code: TO
      Alpha3 code: TON
      780
      Trinidad and Tobago
      Alpha2 code: TT
      Alpha3 code: TTO
      784
      United Arab Emirates (the)
      Alpha2 code: AE
      Alpha3 code: ARE
      788
      Tunisia
      Alpha2 code: TN
      Alpha3 code: TUN
      792
      Turkey
      Alpha2 code: TR
      Alpha3 code: TUR
      795
      Turkmenistan
      Alpha2 code: TM
      Alpha3 code: TKM
      796
      Turks and Caicos Islands (the)
      Alpha2 code: TC
      Alpha3 code: TCA
      798
      Tuvalu
      Alpha2 code: TV
      Alpha3 code: TUV
      800
      Uganda
      Alpha2 code: UG
      Alpha3 code: UGA
      804
      Ukraine
      Alpha2 code: UA
      Alpha3 code: UKR
      807
      Macedonia (the former Yugoslav Republic of)
      Alpha2 code: MK
      Alpha3 code: MKD
      818
      Egypt
      Alpha2 code: EG
      Alpha3 code: EGY
      826
      United Kingdom (the)
      Alpha2 code: GB
      Alpha3 code: GBR
      831
      Guernsey
      Alpha2 code: GG
      Alpha3 code: GGY
      832
      Jersey
      Alpha2 code: JE
      Alpha3 code: JEY
      833
      Isle of Man
      Alpha2 code: IM
      Alpha3 code: IMN
      834
      Tanzania, United Republic of
      Alpha2 code: TZ
      Alpha3 code: TZA
      840
      United States (the)
      Alpha2 code: US
      Alpha3 code: USA
      850
      Virgin Islands (U.S.)
      Alpha2 code: VI
      Alpha3 code: VIR
      854
      Burkina Faso
      Alpha2 code: BF
      Alpha3 code: BFA
      858
      Uruguay
      Alpha2 code: UY
      Alpha3 code: URY
      860
      Uzbekistan
      Alpha2 code: UZ
      Alpha3 code: UZB
      862
      Venezuela, Bolivarian Republic of
      Alpha2 code: VE
      Alpha3 code: VEN
      876
      Wallis and Futuna
      Alpha2 code: WF
      Alpha3 code: WLF
      882
      Samoa
      Alpha2 code: WS
      Alpha3 code: WSM
      887
      Yemen
      Alpha2 code: YE
      Alpha3 code: YEM
      894
      Zambia  
      Alpha2 code: ZM
      Alpha3 code: ZMB

      Entrée en relation

      Articles

      • Étapes d'entrée en relation
      • Modèle "Marchand"
      • Modèle "Intégrateur"
      • Modèle "Partenaire"
      • Déclaration partenaires MOBSP
      • Déclaration partenaires Agent
      • Déclaration partenaires DME

      Étapes d'entrée en relation

      Voici les étapes d’entrée en relation vous permettant d’accéder à la plateforme CentralPay. Notez que pour les partenaires, des étapes complémentaires peuvent être demandées.

      1. Qualification de votre projet
        Les équipes commerciales qualifient votre projet lors d’un échange email ou d’un appel visio : parcours de paiement et moyens de paiement souhaités, méthodes d’intégration possibles, typologie de clients adressé, volumétrie de votre projet…
      2. Acceptation de l’offre commerciale
        Les équipes commerciales vous adressent nos offres commerciales correspondant à vos besoins et votre activité. En retour, elles attendent de votre part le choix de l’offre et un premier accord de principe.
      3. Analyse risque de votre projet
        Votre structure et votre projet sont analysées par nos équipes conformité afin de déterminer si nous pouvons entrer en relation d’affaires, et selon quelles conditions (mesures de gestion du risque financier, de gestion de la fraude…)
      4. Initiation du projet
        Vous recevez les accès à votre environnement de test et aux documentations correspondantes afin de commencer votre intégration CentralPay. Si vous avez souscrit à l’une de nos offres d’accompagnement, une réunion d’initiation du projet est organisée avec vos référents CentralPay (service commercial, service client et service intégration). Cette réunion permet notamment de guider vos équipes techniques dans leur appréciation des API CentralPay, et de prévoir les paramétrages à réaliser sur votre compte (notifications, reversements, profils utilisateurs…).
      5. Création du compte CentralPay
        En parallèle de l’intégration technique, le service client CentralPay adressera un lien d’inscription permettant la création de votre compte au responsable légal de votre structure. Il devra soumettre les informations et les documents justificatifs de votre structure avant de signer électroniquement le contrat CentralPay. Suite à l’inscription, des documents supplémentaires peuvent être demandés par le service conformité de CentralPay.
        • Consulter le contrat cadre de services de paiement
        • En cas de besoin, le responsable légal de votre structure peut désigner un mandataire pour réaliser l’inscription CentralPay et être titulaire du compte CentralPay à sa place. Un modèle de délégation de pouvoir est disponible sur demande.
      6. Mise en production
        Après avoir validé votre compte, votre intégration et le règlement de vos factures en attente, une date de mise en production vous sera demandée. À cette date, votre compte sera débloqué et vous pourrez encaisser vos premières transactions.

      Modèle "Marchand"

      1/ Description du modèle

      Le modèle « Marchand » est adressé aux personnes morales réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment :

      • Le compte CentralPay
      • Les services liés au compte
      • Le service d’encaissement Smart
      • Le service de transaction par carte
      • Le service de transaction par virement
      • Le service de transaction par prélèvement SEPA

      2/ Frais et commissions

      CentralPay vous facture un forfait plateforme fixe ainsi que les frais de service liés aux opérations réalisées sur votre compte. CentralPay prélève ces frais de service sur votre compte de paiement principal ou votre compte de commission dédié. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de virement SEPA vous sera adressée. Les frais mensuels fixes sont eux prélevés mensuellement par prélèvement SEPA, demandés annuellement par virement SEPA ou prélevés sur votre compte selon les conditions de votre contrat.

      Modèle "Intégrateur"

      1/ Description du modèle

      Le modèle « Intégrateur » est adressé aux éditeurs de solutions, souhaitant proposer une intégration technique clé-en-main de CentralPay à ses utilisateurs. Ils peuvent intégrer tout ou partie de la solution Smart Collection, incluant notamment :

      • Le compte CentralPay
      • Les services liés au compte
      • Le service d’encaissement Smart
      • Le service de transaction par carte
      • Le service de transaction par virement
      • Le service de transaction par prélèvement SEPA

      Mais également tout ou partie de la solution Easy Wallet, incluant notamment :

      • Les services de création de comptes
      • Les services de transfert des paiements

      2/ Spécificités lors de l’entrée en relation

      L’intégrateur n’a pas à suivre les étapes d’entrée en relation classique.

      Contrairement aux marchands ou partenaires, un intégrateur ne crée pas de compte CentralPay. Il permet uniquement à ses utilisateurs également marchands de CentralPay d’accéder plus facilement à notre plateforme technique via sa solution. CentralPay contractualise et facture ses marchands en direct, sans intervention de l’intégrateur.

      Le marchand peut ensuite créer des accès API dédiés à l’intégrateur et lui communiquer afin qu’il renseigne son compte CentralPay via son intégration.

      CentralPay est lié avec l’intégrateur par un contrat intégrateur spécifiant les conditions d’utilisation de nos API.

      Modèle "Partenaire"

      1/ Description du modèle

      Le modèle « Partenaire » est adressé aux personnes morales souhaitant piloter des opérations d’encaissement pour compte de tiers (vente de biens ou de services) contractuellement liés. Il permet d’accéder à la solution Smart Collection, incluant notamment :

      • Le compte CentralPay
      • Les services liés au compte
      • Le service d’encaissement Smart
      • Le service de transaction par carte
      • Le service de transaction par virement
      • Le service de transaction par prélèvement SEPA

      Mais également la solution Easy Wallet, incluant notamment :

      • Les services de création de comptes
      • Les services de transfert des paiements

      2/ Les trois types de partenaires

      1. Le Partenaire Techniques
        destiné aux plateformes de ventes de biens ou de services standards (marketplace B2B ou B2C, éditeurs de solutions…) et ne souhaitant pas être impliqué dans la fourniture de services de paiement.
      2. Le Partenaire DME
        destiné aux plateformes de ventes de biens ou de services entre particuliers (marketplace C2C) ou des éditeurs de solutions souhaitant développer des services de porte-monnaie électronique pour leurs particuliers utilisateurs.
        Ce modèle nécessite la déclaration d’un statut de Distributeur de Monnaie Électronique par CentralPay à l’ACPR.
      3. Le Partenaire Agent
        destiné aux plateformes de ventes de biens ou de services souhaitant commercialiser des services de paiement ou des plateformes financières ayant besoin de piloter des transferts de valeurs avancés entre les comptes CentralPay de leurs utilisateurs.
        Ce modèle nécessite la déclaration d’un statut d’Agent Prestataire de Services de Paiement par CentralPay à l’ACPR, et son acceptation par cette dernière.

      2/ Choix du Statut : « Partenaire Technique » ou « Partenaire Agent de Service de Paiement »

      L’encaissement pour compte de tiers est une activité réglementée qui nécessite le statut d’Agent de Service de Paiement dès lors que l’entité participe activement à la fourniture de services de paiement.
      En savoir plus sur les agréments de CentralPay

      Ce statut implique :

      • Des responsabilités importantes, notamment en matière de conformité réglementaire.
      • Des risques spécifiques, tels que le blanchiment d’argent, le financement du terrorisme ou encore des risques financiers.
      • Une supervision étroite par CentralPay et les autorités compétentes.


      Le statut « Partenaire technique », alternative au statut d’Agent de Service de Paiement

      Pour les entreprises souhaitant gérer des opérations pour le compte de tiers sans effectuer elles-mêmes les encaissements, CentralPay propose le statut de « Partenaire Technique ». Ce statut de implique du Partenaire la mise à disposition d’une organisation informatique permettant une gestion technique des paiements et confère l’avantage de :

      • Piloter les demandes d’encaissement et de reversement pour tiers, sans être directement associés à la fourniture des services de paiement.
      • Eviter les contraintes réglementaires liées au statut d’Agent, notamment celles relatives à la gestion des fonds de tiers.

      Rôle du « Partenaire Technique »

      Dans ce cadre, le Partenaire Technique agit pour le compte :

      • D’un Marchand, ou
      • D’un Participant disposant d’un compte de paiement et d’un contrat d’acceptation auprès de CentralPay.

      Rôle et Fonctionnalité du Partenaire Technique :

      • Dispose d’une infrastructure informatique permettant la gestion technique des paiement.
      • Détient des identifiants API spécifiques pour consulter ou transmettre des informations.
      • Accède à un compte centralisateur pour visualiser et suivre les transactions.
      • Possède un compte de commission pour percevoir les frais liés à ses services.
      • Peut également disposer d’un Contrat d’Acceptation pour ses propres encaissements.

      De ce fait, CentralPay reste responsable des opérations de paiement réalisées par son Partenaire Technique. Bien que de nombreuses opérations techniques puissent vous être déléguées, les opérations de paiement seront toujours effectuées par CentralPay.

      Ainsi, pour limiter au maximum votre responsabilité, CentralPay doit avoir une relation directe avec l’ensemble des parties.

      Vos utilisateurs accèdent à leurs comptes CentralPay depuis votre environnement incluant des services API de CentralPay, et peuvent si besoin se connecter à notre Portail utilisateur. Vous disposez de vos propres conditions générales pour cette relation avec vos utilisateurs. Les frais que vous leur facturez pour accéder à vos services doivent être définis dans vos conditions générales.

      Bien qu’en relation directe avec les sous-marchands Participants, CentralPay ne se substitue pas à votre rôle de partenaire. Nous entrons principalement en contact avec les Participants lors de la création de leur compte de paiement et lors des mises à jour règlementaires de leurs documents justificatifs.

      Lorsque vos utilisateurs ouvrent des comptes CentralPay, ils acceptent et signent les conditions générales d’utilisation de CentralPay depuis notre portail d’inscription. Dans le même temps, ils acceptent que vous puissiez effectuer certaines opérations via votre intégration.

      3/ Frais et commissions

      Commissions partenaire : Vous facturez vos services à vos utilisateurs selon vos propres conditions générales. Vous pouvez préciser le montant de vos commissions dans chaque opération réalisée sur la plateforme. CentralPay se chargera de les prélever sur le compte de paiement de votre sous-marchand et de les transférer à votre compte de commission dédié. Notez que CentralPay peut contrôler vos opérations pour s’assurer que la règlementation soit respectée. Par exemple, CentralPay peut vérifier que vos commissions prélevées par le biais de la plateforme correspondent bien à vos conditions générales.

      Frais CentralPay : CentralPay vous facture un forfait plateforme mensuel ainsi que des frais de service lié aux opérations réalisées pour vos sous-marchands. CentralPay prélève ces frais de service sur votre compte de commission. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de chargement par virement SEPA vous sera adressée. Le forfait plateforme sera lui prélevé mensuellement par prélèvement SEPA, demandé annuellement par virement SEPA ou prélevé sur votre compte de commission selon les conditions de votre contrat.

      5/ Spécificités lors de l’entrée en relation

      En plus des étapes d’entrée en relation classique, les partenaires doivent suivre des étapes complémentaires :

      • Signature du contrat partenaire
        Les équipes commerciales de CentralPay vous adresseront un document à signer électroniquement avant l’étape d’initiation de votre projet.
      • Déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement auprès de l’ORIAS (partenaire MOBSP seulement)
      • Déclaration en tant que Distributeur de Monnaie Électronique à l’ACPR (partenaires DME seulement)
      • Demande du statut d’Agent Prestataire de Services de Paiement à l’ACPR (partenaires Agent seulement)

      6/ Spécificités liées au suivi de l’activité

      Il est important de noter que des réglementations s’appliquent à toute entité souhaitant devenir Agent ou DME d’un établissement financier, et que ces réglementations doivent être scrupuleusement respectées.

      6.1/ Formation LCB-FT

      À ce titre, une formation de deux (2) heures en matière de LCB-FT (lutte contre le blanchiment de capitaux et de financement du terrorisme) est dispensée par CENTRALPAY à tout nouvel agent ou DME, dans un délai de trois (3) mois à compter du début de son activité en tant que tel :

      • Cette formation s’adresse aux dirigeants et aux membres du personnel du partenaire qui participent à la mise en œuvre des prestations externalisées.
      • Le partenaire devra désigner un maximum de 10 personnes pour participer à la formation.
      • La formation aura lieu à distance.
      • À l’issue de la formation, CENTRALPAY remettra aux participants à la formation un support de formation
      • CENTRALPAY s’engage à informer le partenaire de toutes modifications qui interviendraient en matière de LCB-FT, afin que le partenaire puisse procéder à l’actualisation des connaissances de ses salariés.
      • Le partenaire s’engage à assurer la formation de tout nouvel employé.
      • CENTRALPAY pourra exiger que le personnel du partenaire suive des formations supplémentaires tout au long de la relation d’affaires en cas d’insuffisance constatée.

      6.2/ Reporting

      Par leur statut régulé, les partenaires DME et Agent sont soumis au contrôle de leur établissement et ont un devoir de reporting régulier envers ce dernier.

      Pour permettre à CENTRALPAY de contrôler les activités externalisées, le partenaire s’engage à communiquer à CENTRALPAY les reportings suivants :

      • Un reporting trimestriel sur la gestion des réclamations :
        • date de réception
        • date de traitement
        • nature de la réclamation
        • solution apportée
        • date de résolution
      • Un reporting trimestriel sur la gestion des remboursements (réalisés hors de la plateforme CentralPay) :
        • % de remboursement,
        • délai moyen de remboursement
        • avec une extraction des remboursements effectués
      • Un reporting trimestriel sur la gestion des incidents :
        • En sus des déclarations d’incidents constatés au fil de l’eau

      Lors de votre entrée en relation, CentralPay vous transmettra une liste et une trame de reporting que vous devrez alimenter et renvoyer périodiquement à CentralPay à partir de votre date de mise en production. Cette trame a été conçue pour simplifier au maximum les tâches de reporting qui vous incombent.

      6.3/ Manquement contractuel

      En cas de non-réalisation ou retard significatif vis-à-vis des devoirs de formation ou de reporting du partenaire, CentralPay se réserve le droit d’interrompre ou de résilier le contrat de partenaire.

      Déclaration partenaires MOBSP

      Introduction

      Avant de lire cette page, veuillez consulter la rubrique dédiée à l’entrée en relation pour les partenaires.

      Les partenaires CentralPay basés en France opèrent avec le statut d’intermédiaires en opérations de banque et en service de paiement (IOBSP), plus précisément en tant que Mandataires en Opérations de Banques et Services de Paiement (MOBSP).

      Pour devenir partenaire MOBSP de CentralPay, vous devez vous déclarer à l’ORIAS. CentralPay devra ensuite vous déclarer en tant que son mandataire. Votre partie peut être réalisée en quelques heures, celle de CentralPay prend quelques jours. L’ORIAS peut quant à elle prendre jusqu’à deux mois pour examiner votre demande.

      Bien que ce processus vous incombe, CentralPay peut vous assister en cas de besoin. Contactez notre service client en cas de besoin.

      1/ Préparez vos données

      1.1 Obtenez votre attestation de mandat

      Après avoir signé votre contrat de partenariat avec CentralPay :

      1. Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN.
      2. CentralPay vous répondra avec votre attestation de mandat. Vous aurez besoin de ce document pour l’étape 3.3.

      1.2 Préparez vos documents justificatifs

      Lors de l’étape 3.3 du processus d’inscription, vous devrez fournir les pièces justificatives suivantes :

      • KBIS datant de moins de trois mois
      • Justificatif d’aptitude professionnelle : diplôme dans une école de commerce ou de gestion agréée ou certification RNCP (NCF 122, 128, 313 ou 314, niveaux 7 à 5) ou reconnaissance par le CIEP pour les diplômes étrangers.

      Si vous ne disposez pas d’un justificatif d’aptitude professionnelle accepté par l’Orias, envoyez un email à notre service client. CentralPay peut vous aider à suivre la formation nécessaire.

      Voir l’image ci-jointe, faisant référence à la catégorie Niveau III – IOBSP (niveau 3).

      2/ Créez votre compte ORIAS

      2.1 Accéder au formulaire

      1. Allez sur le site de l’ORIAS.
      2. Faites défiler vers le bas jusqu’à voir la section Comment ça marche ?
      3. Cliquez sur S’inscrire.

      Vous serez redirigé vers le formulaire d’inscription.

      2.2 Saisir les informations

      1. Entrez votre numéro SIREN
      2. Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique.
      3. Saisissez les informations de votre représentant légal.
      4. Saisissez les coordonnées de votre représentant légal.
      5. Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un.
      6. Entrez l’adresse de votre entreprise.
      7. Vérifiez toutes les informations que vous avez saisies, puis cliquez sur Valider.

      2.3 Connectez-vous à votre compte ORIAS

      Vérifiez votre boîte de réception pour un email de l’ORIAS (no-reply-orias@orias.fr). L’email contient votre identifiant et un mot de passe provisoire.

      1. Retournez sur le site de l’ORIAS
      2. Cliquez sur Connexion / Login
      3. Saisissez votre identifiant et votre mot de passe provisoire depuis votre email
      4. Suivez les instructions sur votre écran pour modifier votre mot de passe, puis enregistrez-le

      Après avoir enregistré votre nouveau mot de passe, vous serez redirigé vers votre espace compte ORIAS.

      3/ Réalisez une nouvelle demande d’inscription

      3.1 Enregistrez votre entreprise

      1. Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît
      2. Choisissez Activité IOB
      3. Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP)
      4. Cliquez sur Soumettre

      3.2 Fournissez des informations complémentaires

      1. Sélectionnez la case précisant que vous complétez votre inscription à titre de Mandataire non exclusif en opérations de banque et en services de paiement
        • Si un autre type d’inscription est spécifié, utilisez le bouton Précédent de votre navigateur pour revenir à la page précédente et réessayez.
      2. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds
      3. Pour la deuxième question, choisissez la réponse : Accessoire, indiquant à l’ORIAS que les services financiers ne sont pas l’activité principale de votre entreprise.
      4. Pour la troisième question, choisissez la réponse : Oui, indiquant à l’ORIAS que votre entreprise propose du crédit (ou d’autres services bancaires et de paiement) uniquement à titre de service secondaire.
      5. Cliquez sur Aller à l’étape « Pièces justificatives »

      3.3 Fournissez vos documents justificatifs

      1. Soumettez votre KBIS
      2. Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1
      3. Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2.
      4. Cliquez sur Aller à l’étape suivante

      3.4 Payez votre inscription

      La dernière étape consiste à payer votre inscription.

      1. Notez que vous payez pour l’enregistrement de Mandataire non exclusif en opérations de banque et en services de paiement. Sans payer les frais, votre inscription ne peut être finalisée.
      2. Choisissez de payer avec votre Carte bancaire, ou cliquez sur Choisir un autre mode de paiement pour payer par Virement (virement) ou Chèque (chèque).
      3. Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu.
      4. Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription.
      5. Vous recevrez votre numéro d’inscription ORIAS par e-mail, confirmant que votre inscription est terminée. Envoyez ce numéro au service client de CentralPay par email.

      4/ CentralPay vous enregistre en tant que MOBSP

      Après avoir envoyé à CentralPay votre numéro d’enregistrement Orias par email, CentralPay vous enregistre en tant que Mandataire non exclusif en opérations de banque et en services de paiement (MOBSP).

      5/ L’ORIAS examine votre candidature

      L’ORIAS examine vos documents et votre candidature pour s’assurer que votre dossier est entièrement conforme. L’ORIAS vous informera de sa décision finale par email. Si elle est approuvée, l’e-mail contient également la date à laquelle votre statut de MOBSP prendra effet.

      N’hésitez pas à contacter l’ORIAS par téléphone (09.69.32.59.73) ou par email (contact@orias.fr) si vous ne recevez pas à temps les informations concernant votre candidature.

      6/ Mettez à jour vos mentions légales

      Après avoir reçu l’agrément de l’ORIAS et être devenu MOBSP, assurez-vous de mettre à jour vos mentions légales. Ajoutez quelque chose de similaire à l’exemple suivant au pied de page de votre site Web, dans votre page de mentions légales et partout où vous distribuez ou vendez des services de paiement.

      [Raison sociale], société immatriculée au RCS de [ville d’enregistrement] sous le numéro [numéro RCS], et inscrite au Registre unique des Intermédiaires en Assurance, Banque et Finance sous le numéro d’immatriculation [numéro d’enregistrement ORIAS] en qualité de Mandataire non exclusif en opérations de banque et en services de paiement.

      Déclaration partenaires Agent

      1/ Introduction

      L’ACPR (Autorité de contrôle Prudentiel et de Résolution) est un organe de la Banque de France. En tant que régulateur, elle seule détermine la validation ou non des Agents d’un Établissement comme CentralPay. L’ACPR traite uniquement avec ses Établissements agréés, le futur Agent ne peut donc pas échanger en direct avec elle.

      La déclaration d’un Agent Prestataire de Services de Paiement se déroule en trois étapes :

      • Le montage et la soumission du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur Agent,
      • Le traitement des demandes de l’ACPR concernant le dossier : réalisé par CentralPay avec l’aide de son futur Agent,
      • La décision d’acceptation : émise par l’ACPR à CentralPay.

      2/ Responsabilités de l’Agent

      CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment :

      • L’activité de votre sous-marchand ;
      • La réalité économique de l’opération ;
      • La lutte contre la fraude.

      Les Établissements régulés qui font appel à des Agents restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place.

      Un statut d’agent passe par :

      • La contractualisation d’un contrat Cadre d’Agent de paiement qui définit les relations entre les parties ;
      • Des CGU vendeurs.

      Dans le cas où un agent internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC.

      3/ Devenir Partenaire Agent CentralPay

      Devenir Agent de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs mois.

      Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs.

      3.1/ Résumé des étapes

      1. Compréhension du modèle
        • Explication des services apportés par le partenaire
        • Définition de son modèle d’affaires
        • Validation par les services Juridique et Conformité de CentralPay
      2. Offre commerciale
        • Présentation
      3. Validation
        • Validation du Partenaire par les services Juridique et Conformité de CentralPay
        • Validation de la proposition commerciale et des conditions tarifaires par le Partenaire
      4. Test & Intégration
        • Mise en place de la sandbox
        • Réunion de lancement de projet avec l’équipe technique
        • Phase d’intégration technique
      5. Instruction du dossier ACPR
        • Collecte des éléments nécessaires à la constitution du dossier
        • Préparation du dossier d’agrément d’Agent
        • Présentation du dossier de déclaration de l’agent auprès de l’ACPR
      6. Mise en production
        • Validation en environnement de test (environnement de recette)
        • Mise en production

      3.2/ Pièces à fournir à CentralPay

      1. Pré-constitution du dossier :
        • CGU service de paiement
        • Définition des activités régulées utilisées par le Partenaire, description des services attachés aux prestations régulées, modèle d’affaires
        • Organigramme de la société ou du groupe le cas échéant avec son effectif réparti par service
        • Structure de l’actionnariat
        • Flux prévisionnels qui seront confiés à CentralPay au cours des 3 prochaines années
        • Nombre d’enrôlements prévisionnels au cours des 3 prochaines années 
        • Reprise éventuelle de KYC existant dans le cadre d’une migration
        • Préparation du contrat d’Agent.
      1. Déclaration de l’agent auprès du régulateur :
        • Signature du contrat d’Agent ;
        • Le Service Juridique CentralPay se charge de constituer le dossier de déclaration et collecte les pièces suivantes :
          • Kbis de moins de 3 mois de la société et des sociétés gérantes le cas échéant ;
          • Statuts à jour de la société et des sociétés gérantes le cas échéant datés et signés par un représentant légal ;
          • Pièce d’identité en couleur des dirigeants ;
          • CV des dirigeants daté et signé ;
          • Casier judiciaire des dirigeants ;
          • Déclaration de non-condamnation des dirigeants ;
          • Répartition de la détention de parts de la société ;
          • Kbis des personnes morales actionnaires le cas échéant et Organigramme Groupe si applicable ;
          • PV d’AG si des changements juridiques ont eu lieu récemment (fusion, actif inférieur à la moitié du capital social, changement de direction, etc.) ;
          • Peuvent être demandés également lors de l’instruction :
            • Derniers bilans et compte de résultats ;
            • États financiers de l’année en cours et/ou de l’année venant de s’écouler ;
            • Toute pièce jugée utile à la demande du régulateur.

      3.3/ Délais d’instruction

      Une fois la totalité des pièces collectées, le service Juridique instruit le dossier dans un délai d’environ 2 semaines.

      L’ACPR dispose ensuite d’un délai de deux mois pour répondre, les premières questions arrivent généralement sous 30 jours.

      L’ACPR adresse en général des questions complémentaires et/ou des demandes de documents complémentaires en fonction de la situation et/ou de l’activité de votre société.

      3.4/ Instruction finalisée et agent déclaré

      Une fois le dossier validé par l’ACPR, l’Agent est réputé pouvoir démarrer son activité avec CentralPay.

      Votre société peut donc désormais commencer à encaisser via CentralPay et faire ouvrir des comptes de paiement à ses clients.

      À l’issue de l’instruction par le régulateur et l’Agent validé, il est référencé dans les registres de l’ACPR et reçoit un numéro d’enregistrement qu’il doit utiliser dans ses communications et ses CGU.

      3.5/ Particularités d’un agent spécialisé dans le domaine du télécom

      Un agent travaillant dans le domaine du télécom, c’est-à-dire réalisant des encaissements via des appels sur des numéros surtaxés, se doit de produire un récapitulatif des minutes de téléphone réalisées sous chaque opérateur téléphonique.

      Lors de la réception du virement de l’opérateur téléphonique chez CentralPay, ce récapitulatif doit être fourni à CentralPay. De plus, le calcul de la répartition des opérations devant être envoyées à chaque marchand via CentralPay doit également être envoyé au Service Conformité.

      Le Service Conformité de CentralPay consigne ces informations et s’assure que les marchands ont bien été crédités de leurs encaissements.

      Déclaration partenaires DME

      1/ Introduction

      Les Établissements émetteurs de monnaie électronique comme CentralPay peuvent mandater des Distributeurs de Monnaie Électronique (DME) afin de collecter des fonds et d’assurer les échanges permettant l’achat et le remboursement de ME dans un réseau de participants défini.

      La déclaration d’un Distributeur de Monnaie Électronique se déroule en deux étapes :

      • Le montage du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur DME,
      • L’instruction du dossier à l’ACPR : réalisé par CentralPay. Elle ne nécessite pas de validation particulière de l’ACPR.

      2/ Responsabilité du partenaire DME

      CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment :

      • La réalité économique de l’opération ;
      • La lutte contre la fraude.

      Les Établissements régulés qui font appel à des distributeurs restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place.

      Un statut de Distributeur de Monnaie Electronique passe par :

      • La contractualisation d’un contrat Cadre de Distribution de Monnaie Électronique qui définit les relations entre les parties ;
      • Des CGU d’utilisation de Monnaie Électronique.

      Dans le cas où un DME internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC ou réalise des interfaces de gestion qui ne permettrait pas à CentralPay d’assurer l’exécution du service sans le concours du PSEE.

      3/ Devenir partenaire DME

      Devenir Distributeur de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs semaines.

      Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs.

      3.1/ Résumé des étapes

      1. Compréhension du modèle
        • Explication des services apportés par le partenaire
        • Définition de son modèle d’affaires
        • Validation par le service Risque & Conformité de CentralPay
      2. Offre Commerciale
        • Présentation
      3. Validation
        • Validation du Partenaire par le service Risque & Conformité de CentralPay
        • Validation de la proposition commerciale et des conditions tarifaires par le Partenaire
      4. Test & Intégration
        • Mise en place de la sandbox
        • Réunion de lancement de projet avec l’équipe technique
        • Phase d’intégration technique
      5. Instruction du dossier ACPR
        • Collecte des éléments nécessaires à la constitution du dossier
        • Préparation du dossier
        • Présentation du dossier
      6. Mise en production
        • Validation de la recette
        • Mise en production

      3.2/ Pièces à fournir à CentralPay

      Prochainement

      Comptes de ME

      1/ Introduction

      Uniquement réservé aux Partenaires DME et à leurs utilisateurs.

      Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un partenaire DME). Un partenaire DME peut demander la création de comptes de ME pour les participants de son réseau puis réaliser des transferts de fonds en ME entre ces comptes.

      Le titulaire d’un compte de ME ne peut recevoir des paiements et utiliser sa monnaie électronique que par l’intermédiaire du partenaire DME. Il peut cependant demander le remboursement de sa monnaie électronique à tout moment et recevra ses fonds en devise ISO : soit sur son compte bancaire par virement SEPA, soit sur sa carte bancaire, selon les paramétrages de son compte.

      Vous pouvez consulter le détail de vos comptes de ME depuis ces accès :

      • Comptes de ME – Portail utilisateur de RCT
      • Comptes de ME – Portail utilisateur de PROD

      2/ Utilisations

      Les comptes de ME sont principalement utilisés pour permettre à des personnes physiques de recevoir et d’échanger facilement des fonds dans les contextes suivants :

      • Marketplaces C2C de produits ou de services
      • Stockage et utilisation de valeurs cadeaux au sein d’un réseau de commerçants indépendants

      3/ Spécificités

      Le CMF (Code Monétaire et Financier) présente des conditions spécifiques pour la monnaie électronique. Ainsi, il existe deux types de comptes de ME chez CentralPay :

      • Compte de ME anonyme : ce compte peut être ouvert sans vérification d’identité du titulaire, à condition qu’il soit adressé à une personne physique et soit limité à 150 € de solde ou d’encaissement sur 30 jours. Ce type de compte est particulièrement utile dans le cadre d’une utilisation ponctuelle du compte par son titulaire, ou tout simplement pour simplifier l’entrée en relation avec le partenaire DME.
      • Compte de ME vérifié : un compte anonyme peut être ensuite vérifié par les équipes conformité de CentralPay (procédure KYC) pour augmenter les limites qui lui étaient imposées, il devient ainsi « vérifié ».

      4/ Création de comptes de ME

      Si vous êtes Partenaire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos participants.

      Principes de réserve

      La réserve représente les sommes qui sont maintenues sur votre compte CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) liés à des opérations de paiement. Ses paramètres sont définis en fonction du profil de risque financier de votre compte, et sont actualisés en fonction de l’analyse de vos R-transactions sur une période suffisante. Les transactions récurrentes par prélèvement SEPA et par carte bancaire sont particulièrement sujets au risque de R-transactions.

      CentralPay possède 3 types de garanties de protection qui peuvent s’appliquer aux marchands, en fonction de la nature de leur contrat :

      1/ Le collatéral

      Il représente la somme fixe versée en début de relation, servant à couvrir le risque de crédit dans le cas où le marchand ne pourrait pas satisfaire ses obligations de remboursement envers ses clients.

      Le détail du Collatéral est visible depuis le Portail utilisateur : Administration Reversements Somme des cautions

      2/ Le pied de compte

      En l’absence de Collatéral, une somme fixe peut être prélevée directement sur les opérations afin de garantir le remboursement des clients en cas de besoin. Le wallet doit donc dépasser la valeur du pied de compte pour autoriser les reversements (payout).

      Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil fixe

      3/ La réserve glissante

      Selon le secteur d’activité et les processus de règlement du compte, une réserve glissante (« rolling réserve » en anglais) peut être automatiquement ouverte. Il s’agit d’une garantie de protection supplémentaire qui permet de maintenir un certain pourcentage du volume d’encaissement marchand sur le compte CentralPay afin de permettre l’initiation de remboursements automatiques en cas de contestation de transaction, de fraude ou encore afin de couvrir d’éventuels frais opérationnels. Cette somme appartient à la trésorerie du marchand, elle est gardée un nombre défini de jours avant d’être libérée (généralement entre 90 à 180 jours).

      Par exemple, le seuil variable de la réserve glissante est de 5% du volume d’encaissement sur 90 jours. Le calcul quotidien du montant de réserve est le suivant : montant des transactions encaissées lors des 90 derniers jours * 5%

      Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil variable

      Transaction par carte

      Articles

      • Informations générales
      • Formulaire de paiement CUSTOM
      • Authentification 3DS 2.0
      • Transaction carte
      • Transaction carte récurrente
      • Transaction carte via wallet
      • R-transaction carte
      • Email de confirmation
      • Libellé relevé bancaire
      • Gestion des devises
      • Gestion des cartes virtuelles (VCC)
      • Retours, statuts et hooks

      Informations générales

      1/ Introduction

      Une transaction carte comprend une succession d’actions :

      1. Authentification 3DS 2.0 :
        Elle permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client :
        • Si les données ne concordent pas ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »).
        • Sinon, elle autorise directement le paiement (« Frictionless »).
      2. Autorisation bancaire :
        Demande effectuée par CentralPay à la banque du payeur permettant de vérifier la validité et la provision de sa carte. Les fonds « autorisés » sont bloqués jusqu’à la réalisation de la capture des fonds. Si aucune capture n’est réalisée sous un délai de 7 jours, les fonds « autorisés » sont libérés et le marchand devra renouveler son autorisation.
        Pour les activités éligibles (location, hôtellerie…), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours.
      3. Capture :
        La capture permet d’initier le débit de la carte sur la base d’une autorisation ou d’une pré-autorisation. Un marchand peut réaliser une capture complète ou partielle du montant autorisé.

      2/ Types et réseaux de cartes acceptés :

      Les cartes de paiement sont émises par les banques ou les établissements de paiement agréés, elles peuvent être badgées par un ou plusieurs réseaux de carte (aussi nommés « Card Scheme »).

      Les réseaux acceptés par CentralPay sont :

      • Carte Bancaire
      • VISA
      • MasterCard
      • American Express

      En France, la majorité des cartes émises sont co-badgées CB et VISA ou CB et Mastercard. Dans ce cas, le client doit avoir la possibilité de choisir le réseau qu’il souhaite utiliser.

      Les cartes peuvent être de débit ou de débit différé / crédit (en France la majorité des cartes sont de débit), et peuvent être des cartes de particulier (dit « Consumer ») ou des cartes de professionnels (dit « Corporate »).

      À noter que ces paramètres impactent le coût de la transaction pour le marchand (interchange bancaire et frais de réseaux carte).

      Formulaire de paiement CUSTOM

      1/ Introduction

      Le service API Transaction permet d’opérer une autorisation puis une capture de la carte de paiement de votre client. Les différents modes de paiement par carte sont pilotés via ce même service.

      Pour initier la première transaction d’un client encore inconnu, vous devez d’abord collecter les données de sa carte de paiement en générant un « cardTokenId » via le service de tokenisation de CentralPay « token.js ».

      Un objet « card » sera ensuite retourné en tant que « cardId », pourra être enregistré dans un « customer » et ensuite être utilisé lors des prochaines transactions de ce client (pour des paiements en 1 clic ou des paiements récurrents).

      Attention, avec le Custom Form, vous devrez également intégrer le processus d’authentification 3DS 2.0 avant d’initier vos transactions.

      Schéma de transaction avec « cardTokenId » via le service « token.js » :

      Note : Si vous disposez déjà des données de la carte dans votre système et que vous disposez d’un agrément PCI-DSS level 1, vous pouvez directement utiliser le sous-objet « card » en adressant toutes les données de la carte de paiement (BIN, date d’expiration, CVC).

      2/ Prérequis

      • Déclarez les domaines autorisés
        Déclarez les domaines sur lesquels vos formulaires de paiement CUSTOM vont être hébergés.
        Allez sur votre Portail utilisateur > Administration > Mon compte > Onglet Technique > cliquez sur « Modifier » > Déclarez vos domaines dans « Hosts Custom Forms autorisés »
        • Accès Portail utilisateur de RCT – Compte > Technique
        • Accès Portail utilisateur de PROD – Compte > Technique
      • Sécurisez vos pages de paiement
        Utilisez TLS (1.2 min) (Transport Layer Security) afin qu’elles utilisent les protocoles HTTPS requis par la norme
      • Passez en revue et validez la conformité PCI de votre service chaque année
        Grâce à la combinaison de « CUSTOM + TOKEN.JS », vous gérez vous-même vos formulaires de paiement pour une expérience de paiement optimisée. Cette méthode implique que vous initialisez les paiements sur vos serveurs et vous devez vous conformer au niveau PCI-DSS SAQ A-EP. Vous pouvez télécharger le formulaire SAQ A-EP ici.

      3/ Création d’un formulaire de paiement par carte (WEB)

      Ce tutoriel explique comment utiliser le langage HTML et Token.js pour obtenir un cardTokenID afin de créer une transaction depuis votre propre formulaire de paiement CUSTOM.

      Le Token.js est le JavaScript que nous mettons à votre disposition pour vous aider à implémenter le premier composant dont vous avez besoin pour créer un cardTokenID.

      Une fois que vous obtenez un cardTokenId, vous serez en mesure d’initialiser une transaction pour débiter la carte de votre client.

      Consultez nos exemples en ligne de formulaires CUSTOM FORM :

      • Exemple de formulaire Custom Form sans 3DS 2.0
      • Exemple de formulaire Custom Form avec 3DS 2.0

      3.1 Créer un formulaire de paiement HTML

      Contrairement à la page de paiement SMART FORM qui est généré et hébergé par CentralPay, le CUSTOM FORM doit être créé et intégré par vos soins. Vous devez donc générer le code HTML qui convient à votre parcours de paiement, avec notamment les champs suivants :

      • Numéro de carte (16 digits pour CB, Visa, Mastercard – 15 digits pour Amex)
      • Date d’expiration (MM/AAAA)
      • CVC (3 digits pour CB, Visa, Mastercard – 4 digits pour Amex)

      3.2 Envoyer les informations de carte avec le Token.js

      Envoyez les données cartes du navigateur du client à la plateforme PCI-DSS de CentralPay qui vous adressera un cardTokenId en retour. Pour ce faire, vous devez ajouter dans le <body> le tag ci-dessous :

      • Tag du Token.js de recette :
      <script src="https://test-js.centralpay.net/js/token.js"></script>
      • Tag du Token.js de production :
      <script src="https://js.centralpay.net/js/token.js"></script>

      Ajoutez également votre merchantPublicKey dans un tag séparé :

      <script type="text/javascript">
        window.Centralpay ? Centralpay.card.setMerchantPublicKey('8ce4b92abd7c3110e2033ffbfa7cca0f097a66f1f1d267ff6c94429884ed82ac') : alert('Error loading html form');
      </script>

      /!\ La merchantPublicKey identifie vos requêtes vers la Plateforme. Remplacez celle présente dans l’exemple ci-dessus par la vôtre. Consultez notre rubrique sur l’Authentification de nos API pour connaitre comment la récupérer.

      3.3 Réceptionner le cardTokenID dans votre système

      Récupérez le cardTokenID qui vous a été retourné dans le JavaScript afin de pouvoir soumettre votre requête à la plateforme.

      Toutes les données de la carte sont maintenant stockées dans cardTokenID pendant une durée de 5 min. C’est donc cette valeur que vous devrez transmettre à notre API et en aucun cas les données brutes de la carte bancaire.

      3.4 Créer une transaction à l’aide de la cardTokenID

      Maintenant que vous êtes en possession du cardTokenID, vous êtes prêts pour initialiser une transaction. À la différence des étapes précédentes qui se déroulent depuis le navigateur, celle-ci sera exécutée depuis vos serveurs.

      Consultez les pages dédiés au mode de paiement par carte que vous souhaitez intégrer :

      • Transaction par carte unitaire (standard, capture différée, vérification carte, MoTo, en 1 clic)
      • Transaction par carte récurrente (abonnement, fractionné)

      Ou consultez directement le swagger du service API Transaction pour avoir plus de détails techniques.

      3.5 Sauvegarder les informations d’une carte dans un profil client

      Le cardTokenId n’est utilisable qu’une seule fois. Si vous prévoyez d’utiliser les données de la carte ultérieurement (paiement en 1 clic, paiement récurrent…), vous devez donc créer un Customer et y enregistrer une Card.

      Ainsi, la prochaine fois, au lieu d’utiliser un nouveau cardTokenId, vous utiliserez le customerID correspondant.

      4/ Créer un formulaire de paiement par carte (APP)

      Les marchands veulent généralement pouvoir débiter des cartes de paiement sans avoir à stocker des données sensibles sur leurs serveurs. Notre javascript Token.js rend cela simple depuis un navigateur web, mais vous pouvez utiliser la même technique dans d’autres environnements avec notre cardToken.

      Ces tokens sont créés grâce à votre merchantPublicKey, qui peut être intégrée en toute sécurité dans des applications téléchargeables telles que les applications iPhone et Android. Vous pouvez ensuite utiliser ces Tokens pour initier vos transactions.

      Vous devez ajouter un header « Origin » avec une URL précédemment déclaré dans vos domaines autorisés (voir 2/ Prérequis).
      Pour vos tests, vous pouvez utiliser l’Origin : https://example.centralpay.net

      Authentification 3DS 2.0

      Le protocole 3D Secure 2.0 permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client :

      • Si les données ne sont pas concordantes ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »).
      • Sinon, elle autorise directement le paiement (« Frictionless »).

      Il existe deux types de 3DS, selon si vous souhaitez initier une transaction classique (pour laquelle le porteur est présent) ou si vous exécutez une échéance de paiement récurrent (pour laquelle le porteur n’est pas présent) :

      • Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction)
        Représente la majorité des intégrations de 3DS 2. Il requiert l’authentification du client afin de vérifier qu’il est bien le porteur légitime de la carte au moment de la transaction. Il déclenche si nécessaire un challenge qui vérifie l’identité du porteur de carte (SCA).
        Découvrez comment intégrer le 3DS 2.0 BRW
      • Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents)
        3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand lorsque le porteur n’est pas présent ou non participant.
        3RI offre la possibilité de générer les authentifications 3DS nécessaires sans que le client ne soit impliqué. Cela permet d’utiliser une authentification générée précédemment avec un client. Elle est utilisée dans les contextes suivants de paiements récurrents : Paiement fractionné, Abonnement, Refund, etc.
        Découvrez comment intégrer le 3DS 2.0 3RI

      Transaction carte

      Selon les besoins de votre activité, CentralPay propose divers modes de transactions unitaires via son service API Transaction.

      Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form et intégrer l’authentification 3DS 2.0.

      Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales.

      1/ Autorisation et capture instantanée

      Pour réaliser un paiement simple par carte (autorisation puis capture instantanée) :

      • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « EC »

      2/ Autorisation et capture différée

      Ce mode de transaction peut être utile si vous souhaitez bloquer les fonds de votre client avant de le débiter définitivement, le temps de la validation de votre commande par exemple. Ainsi, vous pouvez annuler l’opération sans être soumis aux frais de transaction ou de remboursement.

      Pour réaliser un paiement par carte avec capture différée (autorisation puis capture différée), vous devez :

      • Réaliser une autorisation en renseignant le paramètre « capture » de la Transaction avec la valeur « false ». Les fonds seront ainsi bloqués sur la carte du client.
      • Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount »)

      Vous avez 7 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés.

      3/ Pré-autorisation et capture différée

      Le service de pré-autorisation et capture différée (ou caution / PLBS) permet d’effectuer une pré-autorisation d’un certain montant, que vous pourrez ensuite capturer partiellement ou pleinement sous 30 jours. Durant cette période, les fonds vous sont garantis, ils sont donc bloqués sur la carte et ne peuvent être utilisés par votre client.

      Ce service n’est accessible qu’à certaines activités autorisées (locations de véhicules ou de matériels, hôtellerie…)

      Pour réaliser une pré-autorisation et capture différée, vous devez :

      • Réaliser une pré-autorisation en renseignant le paramètre « source » de la Transaction avec la valeur « DP ». Les fonds seront ainsi bloqués sur la carte du client.
      • Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount »)

      Vous avez 30 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés.

      4/ Vérification carte (empreinte sécurisée)

      Le service d’empreinte & vérification carte permet d’effectuer une autorisation à 0€ avec authentification du porteur (3DS 2.0). Ainsi, vous disposerez des informations concernant la carte de votre client (carte de débit, de crédit, prépayée…), et vous vous assurerez qu’elle n’est pas frauduleuse (carte non volée, porteur identifié…). Ce service est généralement utilisé pour enregistrer une carte avec 3DS en vue d’un abonnement avec une date de démarrage différée.

      Pour réaliser une prise d’empreinte & vérification carte (autorisation à 0€ sans capture), vous devez :

      • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « RI »
      • Nous vous recommandons également de créer un « customer » lors de la transaction, afin d’associer le « cardId » ainsi généré et de vous permettre un éventuel débit ultérieur de cette carte.

      5/ Débit carte seul (MO/TO)

      Le service de paiement MOTO (Mail Order / Telephone Order) permet d’effectuer une autorisation puis une capture d’une carte, sans la présence de son porteur. Il est généralement utilisé par les hôtels pour le débit de services ou de consommations additionnelles en fin de séjour.

      Attention, ce service n’est accessible qu’à certaines activités autorisées (hôtellerie…), et apporte des résultats de conversion de moins en moins performants depuis la directive DSP2, car elle ne permet pas l’authentification du porteur de carte.

      Pour réaliser un paiement MOTO, vous devez :

      • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « MO » (Mail Order) ou « TO » (Telephone Order).

      6/ Paiement par carte en 1 clic

      Le paiement par carte en 1 clic consiste à enregistrer les données cartes de votre client, afin qu’il puisse régler sa commande sans avoir à les ressaisir. La ou les cartes du client sont stockées de manière sécurisée dans le Customer CentralPay. Il est dans ce cadre nécessaire de permettre à votre client de sélectionner la carte qu’il souhaite utiliser ou d’ajouter une nouvelle carte.

      Pour réaliser un paiement par carte en 1 clic, vous devez :

      • Sélectionner l’option « One-click » dans la configuration du point de vente.
      • Vous assurer que vos customer ont une carte liée à leur profil.

      Transaction carte récurrente

      Selon les besoins de votre activité, CentralPay propose plusieurs modes de transactions récurrentes :

      • Abonnement depuis un modèle d’abonnement
        CentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont.
      • Abonnement depuis des transactions successives
        Vous pilotez le prélèvement de chaque échéance vous-même par API.
      • Paiement fractionné
        CentralPay fractionne une somme due en plusieurs transactions et gère leur prélèvement, selon les conditions de règlement que vous avez renseigné.

      Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form, créer un profil Customer pour ce client, et intégrer les principes d’authentification 3DS 2.0.

      Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales.

      Lors d’un paiement récurrent, votre client reçoit automatiquement un email contenant le détail de ses échéances. Ce mail contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire et de résilier un abonnement si besoin est.

      1/ Abonnement depuis un modèle d’abonnement

      1.1/ Création

      Vous devez d’abord :

      • créer un formulaire de paiement Custom Form,
      • créer un Customer contenant au moins une Card
      • et réaliser une authentification 3DS 2.0 BRW.

      Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur.

      1.2/ Cas d’intégration spécifiques

      • Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une Transaction suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.
      • Si vous souhaitez simplement faire démarrer un abonnement à une date précise, vous pouvez d’abord réaliser une empreinte carte vérifiée suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.

      2/ Abonnement depuis des transactions successives

      2.1/ Création

      Vous devez d’abord :

      • créer un formulaire de paiement Custom Form,
      • créer un Customer contenant au moins une Card
      • réaliser une authentification 3DS 2.0 BRW
      • réaliser une première Transaction

      Ensuite, vous pourrez initier vous-même les prochaines Transactions en utilisant l’authentification 3DS 3RI.

      2.2/ Informations importantes

      • pour garantir un taux de conversion optimum, le montant de la première transaction doit être supérieur ou égal aux montants des transactions suivantes réalisées avec l’authentification 3DS 3RI.
      • la plateforme CentralPay ne considérera pas les transactions générées comme des « abonnements », ainsi les interfaces « Portail utilisateur » et « Portail client » afficheront ces opérations au même titre qu’une succession de transactions unitaires.
      • avec ce modèle, le système d’automatisation des nouvelles tentatives ne s’appliquera pas en cas d’échec de prélèvement d’une de vos transactions.

      3/ Paiement fractionné

      3.1/ Création

      Vous devez d’abord :

      • créer un formulaire de paiement Custom Form,
      • créer un Customer contenant au moins une Card
      • et réaliser une authentification 3DS 2.0 BRW.

      Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

      Transaction carte via wallet

      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.

      R-transaction carte

      1/ Remboursement

      Vous pouvez rembourser une Transaction si celle-ci est « Cleared » via le service Refund ou depuis le détail de la Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant.

      Votre client recevra les fonds sur sa carte sous 3 à 5 jours ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération.

      Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.

      2/ Crédit

      Vous pouvez créditer la carte d’un client sans transaction initiale depuis le service Credit. Pour cela, il existe plusieurs solutions :

      • Tokeniser une carte via le service cardToken pour ensuite la renseigner dans le service Credit
      • Créer ou rechercher un Customer disposant d’une carte valide, puis renseigner son « customerId » ainsi que son « cardId » dans le service Credit
      NB : ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus.

      3/ Contestation

      Pour tout paiement par carte, votre client a la possibilité de contester une transaction auprès de sa banque (opération nommée contestation, chargeback ou impayé) :

      • pendant 120 jours à compter de la transaction sur les réseaux « Visa » ou « Mastercard »
      • pendant 13 mois à compter de la date d’opération sur le réseau Français « Carte Bancaire ».
      En France, une contestation n'est en principe autorisée que dans le cadre d'une utilisation frauduleuse de la carte (carte volée, prélèvements abusifs…). Cependant, dans d'autres pays européens, la contestation peut également être utilisée dans le cadre d'un litige commercial (service ou produit non rendu / non conforme).

      En cas de contestation, CentralPay en est informé et crée automatiquement sur votre compte une opération de Dispute liée à la transaction contestée. Le montant de cette transaction vous sera débité afin de rembourser votre client. Des frais non remboursables s’appliquent également pour chaque contestation reçue.

      À ce stade, le statut de la Dispute sera CHARGEBACK_NOTICED et vous pourrez consulter sur le Portail utilisateur ou via notre API le motif de contestation de votre client. Vous disposez ainsi d’un délai de 20 jours calendaires pour répondre en fournissant la preuve de livraison du service ou du produit. À défaut de réponse dans les délais impartis, il ne sera plus possible de répondre à la contestation.

      Notez que dans le cadre des transactions non authentifiées (sans 3DS), vous devez également justifier du consentement du titulaire de la carte. Vous devez à minima prouver que le nom et prénom de votre client est bien le même que celui qui est indiqué sur la carte de paiement. 

      Une fois votre réponse émise, celle-ci est étudiée par la banque de votre client avant d’adresser son verdict :

      • Vous avez obtenu gain de cause, la contestation a été rejetée. Le montant de la transaction vous est remboursé et le statut de la Dispute passe en CHARGEBACK_WON.
      • Vos preuves sont jugées insuffisantes, la contestation est maintenue. Le statut de la Dispute passe en CHARGEBACK_LOST.
      NB : Il est possible, en amont d'une contestation, qu'un client réalise une demande d'information sur une transaction afin d'en connaitre les détails. CentralPay créera une opération Dispute avec statut RETRIEVAL_NOTICED. Vous devez répondre dans les 7 jours en fournissant la nature du service délivré, la preuve de consentement du client et/ou la preuve de livraison. Si votre réponse est acceptée, le statut de la Dispute passera à RETRIEVAL_CLOSE. À défaut de réponse, votre client pourra déclencher une contestation auprès de sa banque.

      Email de confirmation

      1/ Introduction

      Quand une transaction par carte a été réalisée avec succès, CentralPay peut adresser un email de confirmation de paiement à votre client. Pour cela, vous devez l’activer en renseignant les paramétrages de l’email de confirmation dans votre Point de Vente.

      Cet email est adressé par défaut à l’email du Customer associé à la transaction, mais vous pouvez renseigner la valeur receiptEmail de la transaction si vous souhaitez l’adresser à un autre.

      2/ Paramétrage

      L’email de confirmation possède une mise en forme standardisée affichant les différentes informations de paiement, vous pouvez cependant configurer plusieurs paramètres depuis le Portail utilisateur.

      1. Adresse email de l’expéditeur : paramètrage depuis le point de vente
      2. Nom de l’expéditeur : paramètrage depuis le point de vente
      3. Votre logo : paramètrage depuis le point de vente
      4. Nom du point de vente : paramètrage depuis le point de vente
      5. Texte de pied de page : paramétrage depuis l’entrrée « Configuration > Email confirmation paiement > Créer »
      6. Langue d’affichage : renseigner la valeur « endUserLanguage » dans la requête de Transaction (anglais par défaut)

      Libellé relevé bancaire

      Le libellé de relevé bancaire correspond à la description qui sera affichée sur le relevé de compte bancaire de vos clients pour chacune de vos transactions par carte.

      Lorsqu’un compte CentralPay « marchand » ou « partenaire » est créé, un libellé de relevé bancaire est défini automatiquement en utilisant le nom de votre premier Point de Vente :

      • CPAY*NomDuPointDeVente

      Vous pouvez demander à CentralPay de modifier votre libellé, cependant il doit permettre à vos clients de vous identifier clairement ou d’accéder à votre site de réclamation.

      Gestion des devises

      Introduction

      Dans le cadre d’une activité internationale, vos clients peuvent disposer d’une carte adossée à un compte bancaire en devises non Euros.

      Quelle que soit votre intégration, ces clients pourront vous régler en Euros grâce au système de conversion automatique des réseaux carte (Visa, Mastercard, American Express). Vos clients porteront l’ensemble des coûts de conversion des devises, et vous recevrez des Euros sur votre compte CentralPay.

      Dans certains cas, CentralPay peut vous permettre d’encaisser des transactions par carte bancaire dans différentes devises : Euros (EUR), Dollars (USD), Francs Suisses (CHF) et Livres (GBP). Contactez CentralPay si la gestion de transaction en devises est un enjeu pour votre activité.

      Notez que dans ce cas, les coûts d’acquisition en devises (hors EUROS) sont soumis à des frais complémentaires et seront déduits du montant de vos transactions.

      Les reversements (payout) par virement SEPA ne peuvent être réalisés que sur les valeurs disponibles en EUROS. Les valeurs hors EUROS sont reversées par virement SWIFT ayant des frais supérieurs. Il est cependant possible de programmer les reversements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de reversement.

      Gestion des cartes virtuelles (VCC)

      1/ Introduction

      Fonctionnement des OTA
      Les grands OTA que sont Booking.com, Expedia.com, hotels.com ou Agoda.com peuvent collecter les règlements lors de la réservation. Dans ce cas, ils fournissent aux hôteliers, non pas les données de la carte du client, mais une alias, qui est une carte virtuelle ou VCC.

      Une carte virtuelle ou VCC est généralement émise pour un usage encadré afin de limiter les risques de compromission.
      Une carte virtuelle représente en quelque sorte l’alias d’une carte existante qui ne pourra être utilisé qu’à partir d’une certaine date et depuis un MCC défini. En l’occurrence, dans le secteur du tourisme, il est nécessaire d’avoir un contrat avec le MCC 7011 (HOTELS) pour pouvoir la débiter.
      Ainsi, dans le cas où le numéro de carte tombait entre les mains d’une personne mal intentionnée, elle ne pourrait pas déclencher de débit sur la carte source.
      Étant donné la nature spéciale des cartes issues par ces OTA, il est en général impossible de réaliser des demandes d’autorisation, de pré-autorisation ou de vérification au moment de la commande.

      Si la carte n’est débitable que le jour de la réservation par un MCC 7011 par exemple, l’émetteur, en général MASTERCARD B2B PRODUCT, renverra un code d’erreur pour transaction invalide (12).

      Cartes virtuelles Booking.com
      Booking.com utilise des cartes virtuelles sur certaines destinations.  En fonction du paramétrage réalisé sur le site de l’hôtel, une réservation pourra être réalisée avec ou sans prise d’empreinte carte. Si l’hôtelier a choisi de demander un moyen de paiement, alors BOOKING.com génèrera une carte virtuelle et l’adressera à l’hôtelier ou à son prestataire technique. Avec la crise du covid19, booking n'autorise plus les débits de ses VCC qu'un jour après le checkin du client.
      En savoir plus sur le fonctionnement des cartes virtuelles de booking.com
      Cartes virtuelles Expedia
      Chez EXPEDIA, il est possible de laisser le visiteur choisir entre la possibilité de payer à l’hôtel (Hotel Collect) ou de payer directement lorsqu’il réalise la réservation (Expedia Collect). Cette option est appelée Expedia Traveler Preference (ETP). Si un client utilise la méthode Expedia Collect, une carte virtuelle sera alors générée.
      En savoir plus sur le fonctionnement des cartes virtuelles d'expedia.com

      2/ Gestion des cartes virtuelles avec CentralPay

      La meilleure méthode pour stocker une VCC et de pouvoir l’utiliser une fois disponible est de créer un « Customer » et de lui associer la carte concernée.

      Deux options sont ouvertes :

      • Soit la carte est débitable au moment de la création et une demande de vérification est réalisable à la création du Customer 
      • Soit la carte n’est pas utilisable à la création du customer et la carte doit être créé sans vérification. Cela ne signifie pas qu’elle ne pourra pas être utilisée à terme. Cela veut simplement dire qu’elle ne doit être débitée qu’à une certaine date. En général, les OTA auront préalablement vérifié les données de la carte pour s’assurer qu’elle était débitable.

      Ainsi, créer un Customer dans l’API CentralPay permet de tokeniser la carte virtuelle, sécuriser son stockage et de faciliter son utilisation lorsque les conditions d’acceptation initiales auront été réunies.

      Retours, statuts et hooks

      1/ Codes de retour banque liés aux transactions carte

      Lorsqu’une transaction carte (objet « transaction ») est initiée, une demande d’autorisation est soumise à la banque émettrice de la carte. Cette dernière répond avec un code, permettant d’interpréter l’acceptation, le refus et la cause du refus de l’autorisation.

      La banque du titulaire de la carte (appelée également banque émettrice) exprime son refus en fonction de choix qui lui sont propres et totalement indépendants de CentralPay. CentralPay n’est en possession d’aucune information complémentaire si une carte est refusée et n’a aucun moyen d’en obtenir.

      Les principaux codes de retour banque :

      CodeDescription
      A1 – Repli VADSDSP2 et Soft decline
      La banque refuse la transaction, car elle ne possède pas d’authentification forte (3DS 2.0).
      Il est nécessaire de repasser cette transaction en 3DS afin de ne plus avoir ce code.
      57, 3 et 5Refus générique de la banque
      La banque refuse sans donner de statut particulier.
      Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.
      Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives.
      4, 7, 14, 15, 31, 33, 34, 41, 43, 54, 55, 56, 59, 63, 76Suspicion de fraude ou vol de la carte
      La banque émettrice estime que son client n’est plus en possession de la carte et qu’il s’agit d’une usurpation.
      51, 61Provisions insuffisantes / plafond atteint
      La carte a dépassé le montant du plafond autorisé ou ne dispose pas des fonds suffisants.
      La carte peut de nouveau être acceptée ultérieurement, les plafonds étant calculés sur 7 jours glissant, une transaction peut tout à fait être retentée le lendemain.
      12Transaction invalide
      La banque refuse sans donner de statut particulier. Cela peut être :
      – Simplement une transaction invalide
      – Un code 75 de la part de la banque émettrice (le code PIN de la carte a été trop de fois incorrect).
      – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS)
      – Ou une autre décision que nous ne connaissons pas.
      Consulter la liste complète des codes de retour banque

      2/ Statuts liés aux transactions carte

      Statuts « Transaction »

      Statuts TRANSACTION

      Statuts « Refund »

      Statuts REFUND

      Statuts « Credit »

      Statuts CREDIT

      Statuts « Disputes »

      Statuts DISPUTES

      Statuts « Subscription »

      Statuts SUBSCRIPTION

      Statuts « Installment »

      Statuts INSTALLMENT

      3/ Webhooks liés aux transactions carte

      Webhooks « Transaction »

      Webhooks Transaction

      Webhooks « Card »

      Webhooks Card

      Webhooks « Refund »

      Webhooks Refund

      Webhooks « Credit »

      Webhooks Credit

      Webhooks « Customer »

      Webhooks Customer

      Webhooks « Dispute »

      Webhooks Dispute

      Webhooks « Subscription »

      Webhooks Subscription

      Webhooks « Installment »

      Webhooks Installment

      SDD Transaction

      Articles

      • Mandate
      • SDD Transaction
      • SDD Transaction Reversal

      Mandate

      See more about Mandate

      SDD Transaction

      See more about SDD Transaction

      SDD Transaction Reversal

      See more about SDD Transaction Reversal

      Disputes

      See more about Disputes

      A dispute is opened when a customer questions a transaction with their bank or credit/debit card provider.

      When the transaction is tagged as a dispute, you can respond to the dispute with evidence that shows the charge is legitimate. If the transaction cannot be proven legitimate, the dispute will become a chargeback.

      Transfer purpose codes

      ACCT : AccountManagement
      ADCS : AdvisoryDonationCopyrightServices
      ADMG : AdministrativeManagement
      ADVA : AdvancePayment
      AEMP : ActiveEmploymentPolicy
      AGRT : AgriculturalTransfer
      AIRB : Air
      ALLW : Allowance
      ALMY : AlimonyPayment
      AMEX : Amex
      ANNI : Annuity
      ANTS : AnesthesiaServices
      AREN : AccountsReceivablesEntry
      AUCO : AuthenticatedCollections
      B112 : TrailerFeePayment
      BBSC : BabyBonusScheme
      BCDM : BearerChequeDomestic
      BCFG : BearerChequeForeign
      BECH : ChildBenefit
      BENE : UnemploymentDisabilityBenefit
      BEXP : BusinessExpenses
      BFWD : BondForward
      BKDF : BankLoanDelayedDrawFunding
      BKFE : BankLoanFees
      BKFM : BankLoanFundingMemo
      BKIP : BankLoanAccruedInterestPayment
      BKPP : BankLoanPrincipalPaydown
      BLDM : BuildingMaintenance
      BNET : BondForwardNetting
      BOCE : BackOfficeConversionEntry
      BOND : Bonds
      BONU : BonusPayment.
      BR12 : TrailerFeeRebate
      BUSB : Bus
      CABD : CorporateActions-Bonds
      CAEQ : CorporateActions-Equities
      CAFI : CustodianManagementFeeInhouse
      CASH : CashManagementTransfer
      CBCR : CreditCard
      CBFF : CapitalBuilding
      CBFR : CapitalBuildingRetirement
      CBLK : CardBulkClearing
      CBTV : CableTVBill
      CCHD : CashCompensationHelplessnessDisability
      CCIR : CrossCurrencyIRS
      CCPC : CCPClearedInitialMargin
      CCPM : CCPClearedVariationMargin
      CCRD : CreditCardPayment
      CCSM : CCPClearedInitialMarginSegregatedCash
      CDBL : CreditCardBill
      CDCB : CardPaymentWithCashBack
      CDCD : CashDisbursementCashSettlement
      CDCS : CashDisbursementWithSurcharging
      CDDP : CardDeferredPayment
      CDEP : CreditDefaultEventPayment
      CDOC : OriginalCredit
      CDQC : QuasiCash
      CFDI : CapitalFallingDueInhouse
      CFEE : CancellationFee
      CGDD : CardGeneratedDirectDebit
      CHAR : CharityPayment
      CLPR : CarLoanPrincipalRepayment
      CMDT : CommodityTransfer
      COLL : CollectionPayment
      COMC : CommercialPayment
      COMM : Commission
      COMP : CompensationPayment
      COMT : ConsumerThirdPartyConsolidatedPayment
      CORT : TradeSettlementPayment
      COST : Costs
      CPEN : CashPenalties
      CPKC : CarparkCharges
      CPYR : Copyright
      CRDS : CreditDefaultSwap
      CRPR : CrossProduct
      CRSP : CreditSupport
      CRTL : CreditLine
      CSDB : CashDisbursementCashManagement
      CSLP : CompanySocialLoanPaymentToBank
      CVCF : ConvalescentCareFacility
      DBCR : DebitCard
      DBTC : DebitCollectionPayment
      DCRD : DebitCardPayment
      DEBT : ChargesBorneByDebtor
      DEPD : DependentSupportPayment
      DEPT : Deposit
      DERI : Derivatives
      DICL : Diners
      DIVD : Dividend
      DMEQ : DurableMedicaleEquipment
      DNTS : DentalServices
      DSMT : PrintedOrderDisbursement
      DVPM : DeliverAgainstPayment
      ECPG : GuaranteedEPayment
      ECPR : EPaymentReturn
      ECPU : NonGuaranteedEPayment
      EDUC : Education
      EFTC : LowValueCredit
      EFTD : LowValueDebit
      ELEC : ElectricityBill
      ENRG : Energies
      EPAY : Epayment
      EQPT : EquityOption
      EQTS : Equities
      EQUS : EquitySwap
      ESTX : EstateTax
      ETUP : EPurseTopUp
      EXPT : ExoticOption
      EXTD : ExchangeTradedDerivatives
      FACT : FactorUpdateRelatedPayment
      FAND : FinancialAidInCaseOfNaturalDisaster
      FCOL : FeeCollection
      FCPM : LatePaymentOfFeesAndCharges
      FEES : PaymentOfFees
      FERB : Ferry
      FIXI : FixedIncome
      FLCR : FleetCard
      FNET : FuturesNettingPayment
      FORW : ForwardForeignExchange
      FREX : ForeignExchange
      FUTR : Futures
      FWBC : ForwardBrokerOwnedCashCollateral
      FWCC : ForwardClientOwnedCashCollateral
      FWLV : ForeignWorkerLevy
      FWSB : ForwardBrokerOwnedCashCollateralSegregated
      FWSC : ForwardClientOwnedSegregatedCashCollateral
      FXNT : ForeignExchangeRelatedNetting
      GAFA : GovernmentFamilyAllowance
      GAHO : GovernmentHousingAllowance
      GAMB : GamblingOrWageringPayment
      GASB : GasBill
      GDDS : PurchaseSaleOfGoods
      GDSV : PurchaseSaleOfGoodsAndServices
      GFRP : GuaranteeFundRightsPayment
      GIFT : Gift
      GOVI : GovernmentInsurance
      GOVT : GovernmentPayment
      GSCB : PurchaseSaleOfGoodsAndServicesWithCashBack
      GSTX : GoodsServicesTax
      GVEA : AustrianGovernmentEmployeesCategoryA
      GVEB : AustrianGovernmentEmployeesCategoryB
      GVEC : AustrianGovernmentEmployeesCategoryC
      GVED : AustrianGovernmentEmployeesCategoryD
      GWLT : GovermentWarLegislationTransfer
      HEDG : Hedging
      HLRP : PropertyLoanRepayment
      HLST : PropertyLoanSettlement
      HLTC : HomeHealthCare
      HLTI : HealthInsurance
      HREC : HousingRelatedContribution
      HSPC : HospitalCare
      HSTX : HousingTax
      ICCP : IrrevocableCreditCardPayment
      ICRF : IntermediateCareFacility
      IDCP : IrrevocableDebitCardPayment
      IHRP : InstalmentHirePurchaseAgreement
      INPC : InsurancePremiumCar
      INPR : InsurancePremiumRefund
      INSC : PaymentOfInsuranceClaim
      INSM : Installment
      INSU : InsurancePremium
      INTC : IntraCompanyPayment
      INTE : Interest
      INTP : IntraPartyPayment
      INTX : IncomeTax
      INVS : InvestmentAndSecurities
      IPAY : InstantPayments
      IPCA : InstantPaymentsCancellation
      IPDO : InstantPaymentsForDonations
      IPEA : InstantPaymentsInECommerceWithoutAddressData
      IPEC : InstantPaymentsInECommerceWithAddressData
      IPEW : InstantPaymentsInECommerce
      IPPS : InstantPaymentsAtPOS
      IPRT : InstantPaymentsReturn
      IPU2 : InstantPaymentsUnattendedVendingMachineWith2FA
      IPUW : InstantPaymentsUnattendedVendingMachineWithout2FA
      IVPT : InvoicePayment
      LBIN : LendingBuyInNetting
      LBRI : LaborInsurance
      LCOL : LendingCashCollateralFreeMovement
      LFEE : LendingFees
      LICF : LicenseFee
      LIFI : LifeInsurance
      LIMA : LiquidityManagement
      LMEQ : LendingEquityMarkedToMarketCashCollateral
      LMFI : LendingFixedIncomeMarkedToMarketCashCollateral
      LMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateral
      LOAN : Loan
      LOAR : LoanRepayment
      LOTT : LotteryPayment
      LREB : LendingRebatePayments
      LREV : LendingRevenuePayments
      LSFL : LendingClaimPayment
      LTCF : LongTermCareFacility
      MAFC : MedicalAidFundContribution
      MARF : MedicalAidRefund
      MARG : DailyMarginOnListedDerivatives
      MBSB : MBSBrokerOwnedCashCollateral
      MBSC : MBSClientOwnedCashCollateral
      MCDM : MultiCurrenyChequeDomestic
      MCFG : MultiCurrenyChequeForeign
      MDCS : MedicalServices
      MGCC : FuturesInitialMargin
      MGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateral
      MOMA : MoneyMarket
      MP2B : MobileP2BPayment
      MP2P : MobileP2PPayment
      MSVC : MultipleServiceTypes
      MTUP : MobileTopUp
      NETT : Netting
      NITX : NetIncomeTax
      NOWS : NotOtherwiseSpecified
      NWCH : NetworkCharge
      NWCM : NetworkCommunication
      OCCC : ClientOwnedOCCPledgedCollateral
      OCDM : OrderChequeDomestic
      OCFG : OrderChequeForeign
      OFEE : OpeningFee
      OPBC : OTCOptionBrokerOwnedCashCollateral
      OPCC : OTCOptionClientOwnedCashCollateral
      OPSB : OTCOptionBrokerOwnedSegregatedCashCollateral
      OPSC : OTCOptionClientOwnedCashSegregatedCashCollateral
      OPTN : FXOption
      OTCD : OTCDerivatives
      OTHR : Other
      OTLC : OtherTelecomRelatedBill
      PADD : PreauthorizedDebit
      PAYR : Payroll
      PCOM : PropertyCompletionPayment
      PDEP : PropertyDeposit
      PEFC : PensionFundContribution
      PENO : PaymentBasedOnEnforcementOrder
      PENS : PensionPayment
      PHON : TelephoneBill
      PLDS : PropertyLoanDisbursement
      PLRF : PropertyLoanRefinancing
      POPE : PointOfPurchaseEntry
      PPTI : PropertyInsurance
      PRCP : PricePayment
      PRME : PreciousMetal
      PTSP : PaymentTerms
      PTXP : PropertyTax
      RAPI : RapidPaymentInstruction
      RCKE : RepresentedCheckEntry
      RCPT : ReceiptPayment
      RDTX : RoadTax
      REBT : Rebate
      REFU : Refund
      RELG : RentalLeaseGeneral
      RENT : Rent
      REOD : AccountOverdraftRepayment
      REPO : RepurchaseAgreement
      RETL : RetailPayment
      RHBS : RehabilitationSupport
      RIMB : ReimbursementOfAPreviousErroneousTransaction
      RINP : RecurringInstallmentPayment
      RLWY : Railway
      ROYA : Royalties
      RPBC : BilateralRepoBrokerOwnedCollateral
      RPCC : RepoClientOwnedCollateral
      RPNT : BilateralRepoInternetNetting
      RPSB : BilateralRepoBrokerOwnedSegregatedCashCollateral
      RPSC : BilateralRepoClientOwnedSegregatedCashCollateral
      RRBN : RoundRobin
      RRCT : ReimbursementReceivedCreditTransfer
      RRTP : RelatedRequestToPay
      RVPM : ReceiveAgainstPayment
      RVPO : ReverseRepurchaseAgreement
      SALA : SalaryPayment
      SASW : ATM
      SAVG : Savings
      SBSC : SecuritiesBuySellSellBuyBack
      SCIE : SingleCurrencyIRSExotic
      SCIR : SingleCurrencyIRS
      SCRP : SecuritiesCrossProducts
      SCVE : PurchaseSaleOfServices
      SECU : Securities
      SEPI : SecuritiesPurchaseInhouse
      SERV : ServiceCharges
      SHBC : BrokerOwnedCollateralShortSale
      SHCC : ClientOwnedCollateralShortSale
      SHSL : ShortSell
      SLEB : SecuritiesLendingAndBorrowing
      SLOA : SecuredLoan
      SLPI : PaymentSlipInstruction
      SPLT : SplitPayments
      SPSP : SalaryPensionSumPayment
      SSBE : SocialSecurityBenefit
      STDY : Study
      SUBS : Subscription
      SUPP : SupplierPayment
      SWBC : SwapBrokerOwnedCashCollateral
      SWCC : SwapClientOwnedCashCollateral
      SWFP : SwapContractFinalPayment
      SWPP : SwapContractPartialPayment
      SWPT : Swaption
      SWRS : SwapContractResetPayment
      SWSB : SwapsBrokerOwnedSegregatedCashCollateral
      SWSC : SwapsClientOwnedSegregatedCashCollateral
      SWUF : SwapContractUpfrontPayment
      TAXR : TaxRefund
      TAXS : TaxPayment
      TBAN : TBAPairOffNetting
      TBAS : ToBeAnnounced
      TBBC : TBABrokerOwnedCashCollateral
      TBCC : TBAClientOwnedCashCollateral
      TBIL : TelecommunicationsBill
      TCSC : TownCouncilServiceCharges
      TELI : TelephoneInitiatedTransaction
      TLRF : NonUSMutualFundTrailerFeePayment
      TLRR : NonUSMutualFundTrailerFeeRebatePayment
      TMPG : TMPGClaimPayment
      TPRI : TriPartyRepoInterest
      TPRP : TriPartyRepoNetting
      TRAD : Commercial
      TRCP : TreasuryCrossProduct
      TREA : TreasuryPayment
      TRFD : TrustFund
      TRNC : TruncatedPaymentSlip
      TRPT : RoadPricing
      TRVC : TravellerCheque
      UBIL : Utilities
      UNIT : UnitTrustPurchase
      VATX : ValueAddedTaxPayment
      VIEW : VisionCare
      WEBI : InternetInitiatedTransaction
      WHLD : WithHolding
      WTER : WaterBill

      Notifications email/sms

      1/ Introduction

      Les notifications peuvent être adressées en fonction des évènements liés à certains objets API :

      • Demande de paiement (PaymentRequest)
      • Contestation carte (dispute)
      • Paiement X fois (installment)
      • Transaction carte (transaction)
      • Reversement (payout)
      • Remboursement carte (refund)
      • Abonnement (subscription)
      • Crédit carte (credit)
      • Transaction SDD (sddTransaction)
      • Transaction SDD inversée (sddTransactionReversal)
      • Mandat (mandate)

      2/ Types de scénarios de notification

      Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre compte CentralPay : encaissement d’un virement, contestation client, échec de règlement…
      Vous maitrisez le contenu de chaque notification depuis des templates personnalisés et définissez un mode d’envoi par email, par sms ou par Json. Vous automatisez ainsi le pointage de vos encaissements, les notifications clients, ou encore la mise à jour de votre système d’information.

      3/ Paramétrage des modèles de notification

      3.1/ Paramétrage des modèles (templates)

      • Accès paramétrage templates emails :
        • Portail utilisateur de recette
        • Portail utilisateur de production
      • Accès paramétrage templates SMS :
        • Portail utilisateur de recette
        • Portail utilisateur de production
      • Accès paramétrage templates hooks :
        • Portail utilisateur de recette
        • Portail utilisateur de production

      Pour commencer le paramétrage de vos notifications, vous devez créer vos modèles de communication (email, sms ou hook) en renseignant les éléments demandés. Par exemple l’objet du mail, le nom et email de l’émetteur, le corps du texte…

      Vous pouvez intégrer des éléments dynamiques (tags) dans le corps du texte en tapant le caractère « # », qui fera apparaitre la liste des tags disponible pour le type de scénario de notification sélectionné.

      Attention, si vous utilisez les notifications emails, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine.

      Concernant les SMS, veillez à calculer le nombre de caractères : vous serez facturés d’un SMS par 160 caractères (espaces inclus).

      3.2/ Paramétrage du header et footer pour templates emails

      • Paramétrage en-tête d’email (header)
        • Portail utilisateur de recette
        • Portail utilisateur de production
      • Paramétrage pied de page d’email (footer)
        • Portail utilisateur de recette
        • Portail utilisateur de production

      En cas de création d’un template email, un « header » et un « footer » devront être créés. Vous pouvez par exemple intégrer votre logo en Header, et vos conditions de contact ou mentions légales en Footer.

      4/ Paramétrage des scénarios de notification

      • Accès Scénarios de notification – Portail utilisateur de RCT
      • Accès Scénarios de notification – Portail utilisateur de PROD

      Pour spécifier à la plateforme les conditions d’envoi et destinataires de vos notifications, vous devez créer un scénario intégrant une ou plusieurs règles d’envoi.

      Après avoir choisi le type de scénario souhaité, vous pouvez créer une règle d’envoi. Cette règle est scindée en deux parties : le “QUAND” va permettre de définir l’évènement déclencheur de la notification tandis que le “ALORS” va permettre de choisir les actions qui seront effectuées lorsque l’évènement se produira.

      4.1/ Dans la partie « QUAND » :

      • Tapez « # » pour visualiser l’ensemble des attributs disponible pour votre scénario
      • Utilisez des opérateurs logiques pour constituer votre règle :
        • Pour les chaînes de caractères (doivent être entourés de guillemets «  ») :
          • = (égal)
          • != (différent de)
          • in (dans ce qui va suivre)
          • not in (pas dans ce qui va suivre)
        • Pour les nombres (attention les montants doivent être renseignés en centimes) :
          • = (égal)
          • != (différent de)
          • < (plus petit que)
          • <= (plus petit ou égal à)
          • in (dans ce qui va suivre)
          • not in (pas dans ce qui va suivre)
        • Pour les boolean (affirmations en vrai ou faux) :
          • = (égal à)
          • != (différent de)
      • Vous pouvez utiliser des conditions pour compléter votre règle :
        • AND (pour ajouter une autre condition d’activation)
        • OR (pour ajouter une autre possibilité d’activition)

      Il est possible de donner des priorités en mettant des parenthèses autour des conditions. Si vous utilisez les conditionnels AND et OR dans la même règle, il est nécessaire de prioriser. Si vous utilisez plusieurs fois AND ou plusieurs fois OR, il sera également nécessaire de prioriser chaque partie.

      Exemples de règles :

      #end_user_country in ('FRA', 'BE')
      
      #authorisation_status = 'FAILURE' or (#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY' )
      
      #transaction_amount > 100000 and ( #authorisation_status = 'FAILURE' or #context = 'TRANSACTION_RISKY' )
      
      ((#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY') or ( #authorisation_status = 'FAILURE' and #transaction_amount < 100000 )) and (#card_product_type = 'Consumer')

      Avant de pouvoir enregistrer une règle, il est obligatoire de d’abord tester sa règle avec le bouton « tester ». Cela va permettre de vérifier que votre règle est grammaticalement correcte. Attention, cela ne garantit pas que votre règle correspond à ce que vous souhaitiez faire.

      4.2/ Dans la partie « ALORS » :

      Le “ALORS” va permettre de choisir le destinataire et le template utilisé pour la notification. Vous n’avez accès qu’aux templates qui correspondent au type de template requis (SMS, Email, Hook) et qui correspond au type de scénario choisi (transaction carte, demande de paiement, remboursement …).

      Glossaire CentralPay

      DésignationDescription
      Acteur
      Toute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.
      Autorisation carte
      Opération d’interrogation de disponibilité des fonds d’une carte bancaire, puis de blocage en prévision d’une transaction carte (7 jours max).
      Elle est représentée par l’objet « transaction » dans l’API CentralPay.
      Compte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de :
      – Sa contractualisation : grille tarifaire, CGU…
      – Son administration : credentials, profils utilisateurs…
      – Sa configuration : scenario de notification, points de vente, règles d’acceptations
      – Sa conformité : KYC/KYB, accréditations…
      Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.

      Il est représenté par l’objet « merchant » dans l’API CentralPay.
      Compte de paiementCompte ouvert dans un établissement de paiement. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…).

      Il est représenté par l’objet « wallet » dans l’API CentralPay.
      Compte de monnaie électroniqueCompte ouvert dans un établissement de Monnaie Électronique. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distribteur (devises CUSTOM).

      Il est représenté par l’objet « wallet » dans l’API CentralPay.
      Compte de commissionCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler les opérations liées aux frais CentralPay du reste des opérations de paiement.
      Si utilisation par un partenaire, ce compte permet également de collecter ses propres commissions imputées aux transactions de ses sous-marchands.

      Il est représenté par l’objet « wallet » dans l’API CentralPay.
      Compte de réserveCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler ses fonds de réserve Centralpay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de Payout.

      Il est représenté par l’objet « wallet » dans l’API CentralPay.
      Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom de l’Agent. Il est dédié à la réception des fonds du partenaire Agent avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.

      Il est représenté par l’objet « wallet » dans l’API CentralPay.
      Compte CentralisateurLe Compte Centralisateur est un compte technique mise à disposition par CentralPay au Partenaire pour lui permettre de visualiser les instructions transmises technique transmises. Il est donc uniquement dédié à la centralisation des opérations d’un partenaire avant leur transfert vers les comptes de paiement de ses titulaires concernés.
      MarchandPersonne morale ou autoentreprise réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Dispose d’un compte CentralPay en droits « Standard ».
      Partenaire MOBSPPersonne morale, porteur d’un projet impliquant la mise en relation d’un marchand à CentralPay.
      Partenaire DMEPersonne morale déclarée comme Distributeur de Monnaie Électronique par CentralPay auprès de l’ACPR (Banque de France). Porteur d’un projet impliquant la réalisation d’opérations d’émission et d’échange de Monnaie Électronique. Dispose des droits API « DME Partner ».
      Partenaire AgentPersonne morale agréée comme Agent Prestataire de Services de Paiement de CentralPay auprès de l’ACPR (Banque de France). Réalisant notamment des opérations d’encaissement pour compte de tiers à destination de ses Participants. Dispose des droits API « Agent Partner ».
      Sous-marchandParticipant personne morale ou physique agissant à des fins commerciales ou dans le cadre d’une activité LMNP. Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».
      ParticipantPersonne physique ou morale agissant à des fins non commerciales (exemple : chargement d’un compte de paiement ou de monnaie électronique dans le but de participer au projet d’un partenaire). Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».
      IntégrateurPersonne morale, généralement une société de développement informatique, ayant intégré tout ou partie des API CentralPay dans sa propre plateforme technique. Il permet ainsi à ses clients disposant d’un compte CentralPay d’accéder aux services CentralPay dans le contexte de sa plateforme. L’intégrateur ne commercialise pas les services de CentralPay.
      ActeurToute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.
      Utilisateur BOPersonne physique disposant d’un accès à un ou plusieurs comptes CentralPay. Dispose d’un type « Legal » s’il est représentant légal du compte, sinon dispose d’un type « Natural ».
      Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur réalisant les appels API sur un compte CentralPay.
      Client / PayeurClient d’un marchand ou d’un partenaire ayant émis un paiement vers un compte CentralPay. Peut disposer d’un profil client CentralPay ou non.
      Frais CentralPayEnsemble des frais dus à CentralPay déduits des opérations correspondantes, prélevés sur un compte de commission dédié ou facturés en fin de mois.
      Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP …)
      Devise CUSTOMDevise de Monnaie Électronique créée pour un Partenaire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO comme l’EURO par exemple.
      Compte bancaireCompte bancaire externe lié à un compte CentralPay pour réaliser des reversements (payout) ou à un profil client pour réaliser des prélèvements SEPA.

      Il est représenté par l’objet « bankAccount » dans l’API CentralPay.
      Reversement bancaireVirement sortant d’un compte CentralPay vers un compte bancaire lié. Peut-être réalisé par SEPA ou SWIFT.

      Il est représenté par l’objet « payout » dans l’API CentralPay.
      Transaction carteOpération de débit d’une carte bancaire, au crédit d’un compte CentralPay.

      Elle est représentée par l’objet « transaction » dans l’API CentralPay.
      Transaction SCTOpération de réception d’un virement SEPA ou SWIFT, au crédit d’un compte CentralPay.

      Elle est représentée par l’objet « sctTransaction » dans l’API CentralPay.
      Transaction SDDOpération de débit d’un compte bancaire, au crédit d’un compte CentralPay.

      Elle est représentée par l’objet « sddTransaction » dans l’API CentralPay.

      Transaction par virement

      Articles

      • Informations générales
      • IBAN Virtuels
      • Transaction par virement
      • Rapprochement à une demande de paiement
      • R-transaction SCT
      • Virements internationaux
      • Retours, statuts et webhooks

      Informations générales

      1/ Introduction

      Le virement bancaire est le moyen de paiement le plus répandu pour les règlements d’entreprises. Il consiste en un transfert direct des fonds d’un compte (bancaire ou de paiement) à un autre, sans utiliser de support additionnel comme une carte par exemple.

      La personne physique ou morale qui demande l’émission du virement est dénommée le donneur d’ordre (ou l’émetteur), celle qui reçoit l’argent le bénéficiaire. Contrairement à un paiement par carte ou par prélèvement SEPA, seul l’émetteur lui-même peut initier un virement. Il se rend ainsi sur l’espace personnel de sa banque, déclare les coordonnées bancaires du bénéficiaire (IBAN + BIC + Nom de titulaire), puis renseigne un montant et une référence de virement.

      Quelques informations importantes :

      • Le délai de réception d’un virement classique chez CentralPay est de 4 à 24 heures ouvrées (contre 24 à 48 heures ouvrées chez la majorité des banques traditionnelles). Il sera également possible de recevoir des virements instantanés (réception <5 secondes) à partir d’octobre 2024.
      • Le virement ne présente pas de risque financier majeur pour le marchand bénéficiaire, car l’émetteur s’authentifie fortement auprès de sa banque et ne peut donc pas contester cette opération.
      • Les banques émettrices accordent un plafond de règlement par virement nettement plus élevé que celui appliqué aux opérations de prélèvement SEPA ou de règlement par carte.
      • Selon les fonctionnalités proposées par sa banque, l’émetteur peut programmer un virement récurrent ou à date différée.

      2/ Types de réseaux acceptés

      Il existe deux types de virements bancaires :

      • les virements SEPA (ou SEPA Credit Transfer) : utilisés pour les opérations en EUROS réalisées entre deux pays membres de la zone SEPA (= 27 pays de l’Union européenne + Royaume-Uni, Monaco, Andorre, Vatican, Suisse, Liechtenstein, Norvège, Islande et Saint-Marin)
      • les virements internationaux : utilisés pour les opérations internationales en EUROS ou en devises, via le réseau SWIFT.

      Les frais applicables aux réseaux SEPA sont très largement favorables (à peine quelques dizaines de centimes contre plusieurs dizaines d’euros pour SWIFT). SWIFT permet cependant plusieurs options liées au règlement de ses frais : à la charge de l’émetteur, du bénéficiaire ou partagés.

      CentralPay est atteignable par toutes les banques de l’Espace Économique Européen utilisant les réseaux SEPA (via STEP2 pour les SCT/SDD, ainsi que TIPS et RT1 pour les « Instant SCT »). Seuls les virements de réseaux internationaux ou en devises hors EUROS ne sont pas recevables pour le moment (via réseau SWIFT par exemple).

      IBAN Virtuels

      1/ Introduction

      Le paiement par virement bancaire impose une responsabilité au client émetteur : celle de renseigner les coordonnées bancaires (IBAN + BIC + Nom du titulaire), le montant du règlement mais aussi la référence de virement.

      Une absence ou un mauvais formatage de la référence (causé par le client ou par le système de sa banque) contraint le bénéficiaire d’analyser manuellement le virement reçu pour le rapprocher à la bonne facture et au bon poste client.

      CentralPay vous permet de présenter un IBAN virtuel différent à chacun de vos clients (Customer) ou dans chacune de vos factures (PaymentRequest). Ainsi lors de la réception d’un virement, CentralPay identifie automatiquement l’émetteur et peut rapprocher la facture pour vous, selon l’IBAN virtuel utilisé par votre client, même en cas d’erreur de référence.

      Un IBAN Virtuel est en tous points identique à un IBAN classique, ce qui rend le processus entièrement transparent pour vos clients.

      Ce service vous permettra notamment :

      • d’être informé instantanément quand un client vous a réglé par virement,
      • d’automatiser vos alertes internes et vos relances clients (via le service de notifications),
      • d’automatiser le rapprochement de vos paiements dans vos solutions comptables ou de facturations (ERP…),
      • pour les plateformes et marketplaces : d’identifier facilement le marchand bénéficiaire et de lui transférer les fonds

      Vous pourrez créer des IBAN Virtuels CentralPay depuis différents services de la plateforme :

      • Depuis le service Customer
      • Depuis le service SCT Transaction
      • Depuis le service PaymentRequest
      Chaque compte de paiement ou de monnaie électronique dispose nativement d'un IBAN Virtuel dédié

      2/ Consulter l’IBAN Virtuel de ses comptes

      Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail utilisateur Administration Comptes IBAN/BIC :

      • Accès Comptes – Portail Utilisateur de RCT
      • Accès Comptes – Portail Utilisateur de PROD

      Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount

      3/ Créer un IBAN Virtuel dédié à un Customer

      Vous pouvez créer un IBAN Virtuel dédié à un client lors de la création d’un nouveau Customer, ou via l’update d’un Customer existant.

      Pour cela, vous devez renseigner le champ « walletIdForIban » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds.

      Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID :

      • Accès Comptes – Portail Utilisateur de RCT
      • Accès Comptes – Portail Utilisateur de PROD

      En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre Customer.

      Le BIC des IBAN émis par CentralPay sont : CEAYFR22

      4/ Création d’un IBAN Virtuel dédié à une SCT Transaction

      Comme pour un Customer, vous pouvez créer un IBAN Virtuel dédié à une transaction par virement lors de la création d’une SCT Transaction.

      Pour rappel, une SCT Transaction est créée automatiquement par CentralPay lorsque vous recevez un virement sur votre IBAN Virtuel principal ou celui d'un Customer. Il est cependant possible de créer une SCT Transaction en amont afin de lui affecter un IBAN Virtuel dédié et une référence personnalisée par exemple.

      Pour cela, vous devez renseigner le champ « ibanWalletId » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds.

      Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID :

      • Accès Comptes – Portail Utilisateur de RCT
      • Accès Comptes – Portail Utilisateur de PROD

      En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre SCT Transaction.

      Un IBAN Virtuel dédié à une SCT Transaction n'est plus fonctionnel une fois que sa SCT Transaction a été entièrement réglée. Il est cependant possible de recevoir plusieurs virements d'un montant inférieur sur un même IBAN pour compléter le montant de la SCT Transaction.
      À noter que si un virement reçu dépasse le montant de la SCT Transaction, il sera tout de même accepté. Vous devrez réaliser un remboursement partiel pour reverser le trop perçu à votre client.

      5/ Utilisation des IBAN Virtuels depuis les demandes de paiement

      Il est possible d’utiliser des IBAN Virtuels Customer ou SCT Transaction depuis le service de demande de paiement, si vous acceptez le moyen de paiement « SCT Transaction ».

      Vous pouvez sélectionner le type d’IBAN Virtuel que vous souhaitez afficher dans vos demandes de paiement depuis le champ « Viban prioritaire » des paramétrages de votre point de vente. Si vous sélectionnez :

      • SCT
        • La demande de paiement créera systématiquement un IBAN Virtuel dédié à la SCT Transaction
      • Client
        • La demande de paiement utilisera l’IBAN Virtuel du Customer s’il en dispose déjà d’un, sinon elle en créera un automatiquement
      Dans le cas d'une demande de paiement avec vIBAN à la SCT Transaction uniquement : si vous annulez la demande de paiement, le vIBAN associé ne sera plus atteignable. Ainsi, chaque virement reçu sur ce vIBAN sera automatiquement renvoyé à son émetteur.

      Transaction par virement

      1/ Introduction

      Une SCT Transaction représente un virement bancaire reçu sur un de vos IBAN Virtuel CentralPay.

      Elle peut être créée de trois manières différentes :

      • Automatiquement
        si vous adressez un IBAN Virtuel dédié à l’un de vos clients ou l’un de vos comptes de paiement, CentralPay créera la SCT Transaction automatiquement lors de la réception du virement. Vous pourrez ensuite rapprocher cette SCT Transaction à votre commande/facture en récupérant la valeur du champ « description » (correspondant à la référence renseignée par votre client dans son espace bancaire).
      • Depuis le service SCT Transaction
        si vous souhaitez automatiser le rapprochement du virement à la transaction, vous pouvez :
        • créer une SCT Transaction avec un IBAN Virtuel dédié : ce qui permettra un rapprochement sûr à 100% à votre transaction. Attention, dans ce cas vos clients devront déclarer un nouveau bénéficiaire dans leur espace bancaire à chaque virement qu’ils vous adresseront.
        • créer une SCT Transaction en utilisant un IBAN Virtuel Customer et récupérer la référence courte générée par CentralPay pour cette transaction : ce qui permettra de rapprocher systématiquement le virement au profil client correspondant, et potentiellement jusqu’à la transaction si votre client a bien renseigné la référence dans son virement.
      • Depuis le service de demande de paiement
        si vous souhaitez déléguer à CentralPay l’affichage des informations de règlement à vos clients (montant, IBAN, BIC, référence…), vous pouvez créer une Demande de paiement autorisant les paiements par SCT Transaction. Cette option permet également de gérer facilement les virements multiples ou les règlements clients depuis plusieurs moyens de paiement.

      2/ Créer une SCT transaction

      Créer une SCT Transaction :

      • Renseignez un montant en centimes (amount), et une devise (currency).
      • Si vous souhaitez créer un IBAN Virtuel dédié à la SCT Transaction, renseignez le champ « ibanWalletId » avec l’UUID de votre compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur > Administration > Comptes > UUID.
      • Si vous souhaitez utiliser un IBAN Virtuel existant (dédié à un Customer ou à un compte de paiement), renseignez le champ « iban » avec l’IBAN souhaité.
        • Vous pourrez ensuite récupérer la valeur « sepaReference » générée par CentralPay et la transmettre à votre client pour laisser CentralPay rapprocher le virement à votre transaction
        • ou renseigner la valeur « merchantSctTransactionId » avec votre propre référence personnalisée pour rapprocher vous-même le virement via nos exports d’opérations.

      Rapprochement à une demande de paiement

      CentralPay met à disposition un service nommé bankReconciliation permettant de lier une ou plusieurs SCT Transaction à une demande de paiement (PaymentRequest) si vous n’utilisez pas les IBAN Virtuel dédié aux SCT Transaction.

      1/ En cas d’erreur de référence par votre client

      Lorsque vous utilisez les demandes de paiement avec IBAN Virtuels dédiés à un Customer et que votre client ne renseigne pas correctement la « sepaReference » lors de l’émission de son virement ; CentralPay n’est pas en mesure de rapprocher automatiquement le virement à la demande de paiement.

      Vous pouvez donc utiliser le service bankReconciliation pour affecter la SCT Transaction reçue à la demande de paiement créée initialement :

      • Amount = montant du virement en centimes
      • wireTransferID = ID de la SCT TRANSACTION (accessible dans le hook de la SCT TRANSACTION)
      • paymentRequestBreakdownId = ID du breakdown de la PaymentRequest (accessible dans le hook de la PaymentRequest)

      2/ Si vous utilisez votre propre référence de commande

      Si vous souhaitez organiser vos créances clients dans CentralPay grâce au service de Demandes de paiement sans utiliser la page de paiement SmartForm, voici la démarche à suivre :

      • pour chaque client : créer un Customer avec vIBAN, récupérer le vIBAN et l’afficher dans votre tunnel de vente avec votre référence de commande
      • créer en parallèle une paymentRequest contenant cette même référence de commande (dans le champ « merchantPaymentRequestId ») et le montant de commande
      • Dès réception d’un virement client, vous identifiez la commande liée grâce au champ « description » de la SCT Transaction
      • Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId »
        • si une PaymentRequest présente la même référence, vous l’associez avec le service « bankReconciliation »
        • si aucune PaymentRequest ne présente la même référence mais que le virement a été reçu sur un vIBAN Customer n’ayant qu’une seule PaymentRequest en attente ou d’un montant identique, vous pouvez faire en sorte de les rapprocher avec une bankReconciliation
        • si aucune PaymentRequest ne présente la même référence et que le Customer présente plusieurs PaymentRequest en attente de règlement ou d’un montant différent, levez une alerte dans votre système pour faire rapprocher le virement manuellement par votre service financier (qui l’associera manuellement à la bonne PaymentRequest via une bankReconciliation)
      • Les virements non liés à une PaymentRequest seront ainsi facilement identifiables
      • De même que les PaymentRequest non payées ou partiellement payées.

      R-transaction SCT

      1/ Remboursement

      Vous pouvez rembourser une SCT Transaction si celle-ci est « RECEIVED » via le service Refund ou depuis le détail de la SCT Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant.

      Votre client recevra les fonds sur son compte bancaire sous 24 à 48 heures ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération.

      Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.

      Virements internationaux

      Introduction

      Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises.

      Il sera prochainement possible d’accepter des virements internationaux via le service SCT Transaction. Veuillez contacter CentralPay si ce service est un enjeu pour le développement de votre activité.

      Retours, statuts et webhooks

      1/ Retours liés aux SCT Transactions

      Il n’existe pas de code retours pour les SCT Transactions.

      2/ Statuts liés aux SCT Transactions

      Statuts « SCT Transaction »

      Statuts SCT TRANSACTION

      Statuts « Refund »

      Statuts REFUND

      3/ Webhooks liés aux SCT Transactions

      Webhooks « SCT Transaction »

      Webhooks SCT Transaction

      Webhooks « Refund »

      Webhooks Refund

      Webhooks « Customer »

      Webhooks Customer

      SCT Transaction

      Articles

      • SCT Transaction
      • SCT Transaction Reversal
      • Bank Reconciliation
      • Bank Reconciliation external

      SCT Transaction

      See more about SCT Transaction

      SCT Transaction Reversal

      See more about SCT Transaction Reversal

      Bank Reconciliation

      See more about Bank Reconciliation

      Bank Reconciliation external

      See more about Bank Reconciliation

      SDD purpose codes

      The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction.

      SALA(1) (2)Salary Payment
      TREA(1) (2)Treasury Payment
      ADVA(2)Advance Payment
      AGRT(2)Agricultural Transfer
      ALMY(2)Alimony Payment
      BECH(2)Child Benefit
      BENE(2)Unemployment Disability Benefit
      BONU(2)Bonus Payment
      CASH(1) (2)Cash Management Transfer
      CBFF(2)Capital Building
      CHAR(2)Charity Payment
      COLL(2)Collection Payment
      CMDT(2)Commodity Transfer
      COMC(2)Commercial Payment
      COMM(2)Commission
      COST(2)Costs
      CPYR(2)Copyright
      DIVI(1) (2)Dividend
      FREX(2)Foreign Exchange
      GDDS(2)Purchase Sale Of Goods
      GOVT(1) (2)Gouvernment Payment
      IHRP(2)Instalment Hire Purchase Agreement
      INTC(1) (2)Intra Company Payment
      INSU(2)Insurance Premium
      INTE(1) (2)Interest
      LIFC(2)Licence Fee
      LOAN(1) (2)Loan
      LOAR(2)Loan Repayment
      NETT(2)Netting
      PAYR(2)Payment Roll
      PENS(1) (2)Pension
      REFU (2)Refund
      RENT(2)Rent
      ROYA(2)Royalties
      SCVE(2)Purchase Sale Of Services
      SECU(1) (2)Securities
      SSBE(1) (2)Social Security Benefit
      SUBS(2)Subscription
      TAXS(1) (2)Tax Payment
      COMT(2)Consumer Third Party Consolidated Payment
      DBTC(2)Debit Collection Payment
      SUPP(1) (2)Supplier Payment
      HEDG(1) (2)Hedging
      MSVC(2)Multiple Service Types
      NOWS(2)Not Otherwise Specified
      CARD(2)Card Payment
      CDBL(2)Credit Card Bill
      FERB(2)Ferry
      AIRB(2)Air
      BUSB(2)Bus
      RLWY(2)Railway
      CVCF(2)Convalescent Care Facility
      DNTS(2)Dental Services
      ANTS(2)Anesthesia Services
      HLTC(2)Home Health Care
      HSPC(2)Hospital Care
      ICRF(2)Intermediate Care Facility
      LTCF(2)Long Term Care Facility
      MDCS(2)Medical Services
      VIEW(2)Vision Care
      DMEQ(2)Durable Medicale Equipment
      CBTV(2)Cable TV Bill
      ELEC(2)Electricity Bill
      GASB(2)Gas Bill
      PHON(2)Telephone Bill
      OTLC(2)Other Telecom Related Bill
      WTER(2)Water Bill
      STDY(2)Study
      PRCP(2)Price Payment
      INSM(2)Installment
      RINP(2)Recurring Installment Payment
      OFEE(2)Opening Fee
      CFEE(2)Cancellation Fee
      GOVI(2)Government Insurance
      INPC(2)Insurance Premium Car
      LBRI(2)Labor Insurance
      LIFI(2)Life Insurance
      PPTI(2)Property Insurance
      HLTI(2)Health Insurance
      CLPR(2)Car Loan Principal Repayment
      ESTX(2)Estate Tax
      HLRP(2)Housing Loan Repayment
      CSLP(2)Company Social Loan Payment To Bank
      HSTX(2)Housing Tax
      INTX(2)Income Tax
      NITX(2)Net Income Tax
      NWCH(2)Network Charge
      NWCM(2)Network Communication
      BEXP(2)Business Expenses
      TRFD(2)Trust Fund
      RCPT(2)Receipt
      PTSP(2)Payment Terms
      OTHR(2)Other
      WHLD(1)(2)With Holding
      CORT(1)Trade Settlement Payment
      VATX(1)Value Added Tax Payment
      TRAD(1)Trade

      Services anti-fraude

      1/ Organisation des services anti-fraude

      Les services anti-fraude sont segmentés en 4 outils :

      • 1/ Liste blanche (whitelist)
        Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation.
        La règle définie devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».
        Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP.
        Cette fonctionnalité permet d’être moins restrictif sur des populations d’utilisateurs.
      • 2/ Liste noire (blacklist) :
        Le service de « blacklist » permet de refuser les paiements.
        Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte (Carte, IP, Tel, email).
      • 3/ Règles d’acceptation des transactions :
        Cet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement.
      • 4/ Scoring anti-fraude
        Le service de scoring permet de détecter les transactions potentiellement frauduleuses en se basant sur l’analyse croisée de plusieurs données liées aux paiements.

      Les phases de traitement des transactions sont toujours exécutées dans cet ordre.

      Dans le cas où les données d’entrée remplissent toutes les conditions des « whitelist » définies, le service de « blacklist » ne sera pas exécutée et la transaction sera opérée normalement.
      Dans le cas où les données d’entrée remplissent une des conditions des « blacklist » définies et ne figurent pas dans le service de « whitelist », la transaction sera refusée et le service « règle d’acceptation » ne sera pas exécutée.
      Chaque service est exécuté de façon descendante vis-à-vis de la hiérarchie des acteurs CentralPay, ce qui signifie qu’une plateforme peut appliquer les paramètres de ses services anti-fraude à ses marchands, mais que l’inverse n’est pas possible.

      2/ Outil de scoring de fraude

      CentralPay s’appuie sur un service de détection de fraude reposant sur des algorithmes de machine learning.

      Ce moteur prédictif est constitué depuis un large échantillon de données fourni par CentralPay au format JSON et issues des données TRANSACTION / REFUND / DISPUTE.
      Ce service s’appuie sur une classification comportementale liée au secteur d’activité du marchand.

      Le moteur retourne une action et un score.

      L’action invite le service de paiement à accepter ou refuser la transaction.

      Le score classifie le niveau de risque en fournissant un pourcentage de probabilité de fraude. Ce score est ensuite interprété dans le moteur de règle.

      Le score permet au marchand et à l’algorithme d’interagir ensemble pour s’améliorer.

      Les scores sont classifiés ainsi :

      • De 0 à 19 = risque faible
        Transaction acceptée
        Pas d’action
      • De 20 à 59 = risque moyen
        Transaction acceptée
        Action : envoi événement avec détail du score pour revue manuelle et apprentissage
      • +60 = risque élevé
        Transaction refusée
        Action : envoi événement avec détail du score pour revue manuelle et apprentissage

      Ce service d’analyse d’exposition à la fraude analyse le contexte d’exposition au risque de fraude de chaque transaction. Ce service retourne un score qui permet de traiter automatiquement la réponse attendue dans le moteur de règle.

      Le score repose sur l’analyse croisée des données suivantes :

      • Indice de risque IP
      • Détection de Proxy
      • Détection réseau TOR
      • Vérification de l’adresse IP
      • Confidence factors
      • Email checks
      • Address & phone checks
      • Adresse d’expédition à haut risque
      • Géolocalisation des adresses IP
      • Identification des équipements utilisés
      • Adresse e-mail
      • Type de navigateur
      • Discordances de pays
      • Distance de l’adresse d’expédition
      • Distance de l’adresse de facturation
      • Domaine e-mail
      • Heure
      • Montant de la commande
      • Pays
      • Numéro de téléphone
      • Titulaire IP
      • Titulaire de l’e-mail
      • Vérification adresse CB

      3/ Listes blanches et listes noires

      3.1/ Liste blanche (Whitelist)

      Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation. Cette règle devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».

      Le service anti-fraude passe ainsi à l’étape suivante.

      Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP. Cette fonctionnalité permet d’être moins restrictif sur une population d’utilisateurs.

      3.2/ Liste noire (Blacklist)

      L’étape de la « blacklist » permet de refuser les paiements.

      Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte :

      • Pays
      • Régions géographiques
      • Numéros de carte
      • Numéros de téléphone
      • E-mail
      • Adresses IP
      • IBAN

      4/ Règles d’acceptation des transactions

      Le moteur de règles d’acceptation est une brique applicative puissante et modulaire qui permet d’adapter le comportement lié au traitement à réaliser sur chaque transaction comme :

      • accepter
      • refuser
      • alerter
      • …

      Ce service permet ainsi de définir des actions à réaliser sur chaque transaction depuis une large liste d’attributs disponibles : score de fraude, localisation du porteur, montant des ventes cumulées sur 7 ou 30 jours, client VIP whitelist, paramètre spécifique adressé par le marchand…

      Une règle d’acceptation est une condition logique. Elle permet : d’autoriser, de restreindre, et/ou d’interdire des transactions.
      Une règle se compose de 4 éléments : l’action, les attributs, les opérateurs, les valeurs.

      La syntaxe d’une règle est la suivante :
      « Action » « if » « Attribut » « Opérateur de comparaison » « Valeur de comparaison »

      Exemple :

      REFUSE if card_country != 'FRA'

      La règle présentée dans cet exemple permet de refuser automatiquement les paiements lorsque le pays de la carte n’est pas la France.
      La syntaxe de la grammaire choisie par la plateforme pour son moteur d’acceptation est très semblable à la syntaxe SQL (utilisée pour dialoguer avec les bases de données).

      4.1/ Les actions disponibles

      • ALLOW
        Autorise le paiement.
      • REFUSE
        Refuse le paiement.
      • ALERT
        Adresse une notification « webhook » de la transaction associée.

      4.2/ Les attributs disponibles

      En tapant « # », les attributs disponibles sont affichés.

      Dans une règle, un attribut est toujours suivi d’un Opérateur de comparaison.

      4.3/ Les opérateurs de comparaison disponibles

      • = (égal)
      • != (différent de)
      • < (plus petit que)
      • <= (plus petit ou égal à)
      • in (dans ce qui va suivre)
      • not in (pas dans ce qui va suivre)

        Les opérateurs de comparaison = , != , > , < , >= et <= doivent être suivis d’une valeur.

        Les opérateurs IN et NOT IN sont suivis d’une liste de valeurs de comparaison.
        Une liste de valeurs est entourée par des parenthèses et les valeurs à l’intérieur de la liste sont séparées par des virgules.

        Exemple :

        REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF')

        L’exemple présenté ci-dessus permet de refuser tous les paiements dont la devise n’est pas l’Euro, le Dollar US, la Livre Sterling ou le Franc Suisse.

        Cette syntaxe évite d’écrire plusieurs règles ou plusieurs conditions dans la même règle.

        4.4/ Les valeurs disponibles :

        En fonction du type de valeur, la syntaxe permettant de définir la valeur ne sera pas la même :

        • Entiers (valeur numérique sans décimale) : syntaxe classique (ex : 100)
        • Doubles (valeur numérique avec décimales) : la valeur est définie avec un point comme séparateur de décimale (ex : 12.32)
        • Chaîne de caractères : la valeur est définie entre ‘quotes’ simples (ex : ‘FRA’)
        • Booléens : la valeur est true ou false (ex : false)

        ATTENTION : les valeurs de « montants » doivent être renseignées en centimes (ex : pour 10 € on renseignera une valeur de 1000).

        4.5/ Les opérateurs logiques :

        Les opérateurs disponibles sont AND et OR. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le « AND » permet une inclusion tandis que le « OR » une exclusion.

        Exemple :

        REFUSE if #amount < 1000 and #card_country != 'FRA'

        L’exemple présenté ci-dessus permet de refuser les paiements dont le montant est inférieur à 10 € ET dont la carte n’est pas française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée.

        Lexique du paiement

        DésignationDéfinition
        Identifiant de Créancier SEPA (ICS)L’ICS est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).
        Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque ou s’il est multi-bancarisé.
        DébiteurPersonne physique ou morale qui doit une somme d’argent à une autre, appelée créancier, que ce soit dans le cadre de transactions commerciales, de prêts ou d’autres obligations financières.
        CréancierPersonne physique ou morale à qui une somme d’argent est due par une autre, appelée débiteur.
        Les créanciers (banques, entreprises ou particuliers qui ont prêté de l’argent ou fourni des biens ou services à crédit) ont le droit légal de réclamer le paiement de la dette, généralement formalisé par un contrat ou une autre forme d’accord.
        Émetteur (ou donneur d’ordre)Le payeur, c’est-à-dire la personne physique ou morale qui va émettre les fonds d’une transaction financière.
        BénéficiaireLe destinataire, autrement dit la personne physique ou morale qui va percevoir les fonds d’une transaction financière.
        Autorisation bancairePropre aux transactions par carte. Interrogation de l’acquéreur vers la banque du porteur de carte concernant le montant de la transaction. Suite au « code de retour banque », l’acquéreur est en mesure de savoir si la somme demandée est disponible, et si non pourquoi (fonds insuffisants, carte volée…). Une autorisation valide assure au marchand la possibilité de capturer la somme demandée jusqu’à 7 jours.
        Passerelle de paiement (ou Payment Gateway)Technologie agissant comme intermédiaire entre le site du marchand et le réseau de paiement qui permet d’assurer la transmission sécurisée d’informations liées aux paiements. Les passerelles vérifient également la disponibilité des fonds et autorisent les paiements, tout en offrant des fonctionnalités telles que la gestion des paiements récurrents et la détection de la fraude.
        Prestataire de Services de Paiement (ou PSP)Etablissement financier qui fournit des services liés à l’acceptation et au traitement des paiements aux marchands. Ces services incluent également la gestion des comptes de paiements ouverts, la sécurité des transactions ainsi que la conformité réglementaire.
        KYB (Know your Business)Le KYB (Know Your Business) est un protocole d’authentification de l’identité et de la conformité des personnes morales, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).
        Ce processus inclut la collecte et la vérification de documents tels que les statuts de l’entreprise, les informations sur les propriétaires et les dirigeants, les justificatifs d’adresse et les informations financières.
        KYC (Know your Customer)Le KYC (Know Your Customer) est un protocole d’authentification de l’identité et de la conformité des personnes physiques, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).
        Ce processus inclut la collecte et la vérification de documents tels que les pièces d’identité, les preuves de domicile et les informations sur les activités professionnelles.
        Rapprochement d’un virementProcessus de vérification et de correspondance des factures émises enregistrées dans le compte de l’entreprise avec les paiements reçus.
        Ce traitement permet de s’assurer que toutes les transactions prévues ont bien été exécutées, de détecter toute anomalie ou erreur et de maintenir l’exactitude des enregistrements financiers de l’entreprise.
        Frais d’interchangeFrais payés par la banque du marchand (banque acquéreur) à la banque de l’acheteur (banque émettrice) lors d’une transaction par carte, afin de couvrir les coûts et les risques associés à la gestion des paiements. Ils varient en fonction de plusieurs facteurs, tels que le type de carte utilisée, le type de transaction et le pays dans lequel la transaction est effectuée.
        Frais de réseaux carteFrais facturés par les réseaux de cartes (CB, Visa, Mastercard…) aux banques et PSP qui traitent des paiements par carte. Ces frais couvrent les coûts liés à l’utilisation du réseau de paiement, notamment l’infrastructure technologique, la sécurité des transactions et le traitement des paiements.
        Interchange++Somme des commissions prélevées sur les opérations de paiement en ligne du marchand. Il est composé de :
        – Frais d’Interchange ;
        – Frais de réseaux de carte ;
        – Frais de services, facturés par le PSP qui assure le fonctionnement de la plateforme de paiement et des services associés.
        Ce calcul permet de déterminer le coût de revient exact de chacune des transactions.
        Open BankingEncouragé par la DSP2, l’Open Banking est une pratique financière permettant aux banques de partager de manière sécurisée les données financières de leurs clients avec des tiers autorisés, tels que des fintechs, à travers des API (interfaces de programmation applicative). Ce système bancaire ouvert vise à stimuler l’innovation et la concurrence dans le secteur financier, en permettant le développement de nouvelles applications et services qui peuvent offrir des expériences client améliorées, une gestion financière plus efficace et des offres personnalisées.
        Exemple : Initiation de paiement
        Impayé carte (ou chargeback / contestation / litige)Processus par lequel un titulaire de carte signale une transaction suspecte ou non autorisée à l’émetteur, en vue d’un remboursement ou d’une rétrofacturation. Les motifs de contestation peuvent inclure des transactions frauduleuses, des erreurs de facturation, des biens ou des services non reçus ou d’autres problèmes liés à l’utilisation de la carte.
        Rejet de prélèvement SEPAUn rejet de prélèvement se produit lorsqu’une demande de prélèvement est refusée par la banque du débiteur. Les raisons d’un rejet peuvent inclure des fonds insuffisants sur le compte du débiteur, des informations bancaires incorrectes, un mandat de prélèvement expiré ou non valide, ou une opposition au prélèvement de la part du débiteur.
        Lorsqu’un prélèvement est rejeté, les fonds ne sont pas transférés, et le créancier est informé du rejet pour qu’il puisse prendre les mesures appropriées.
        RIB (Relevé d’Identité Bancaire)Document fourni par une banque qui contient les informations nécessaires à l’identification d’un compte bancaire, afin de faciliter les opérations de virement ou de prélèvement. Le RIB inclut le numéro de compte, le code banque, le code guichet, l’IBAN (International Bank Account Number) ainsi que le BIC (Bank Identifier Code) de la banque.
        EEE (Espace Économique Européen)Zone économique composée des 27 pays membres de l’Union Européenne (UE) ainsi que de la Norvège, l’Islande et le Liechtenstein. L’EEE permet aux États membres de participer au marché unique de l’UE, offrant la libre circulation des biens, des services, des capitaux et des personnes.

        Transaction prélèvement SEPA

        Articles

        • Informations générales
        • Identifiant de Créancier SEPA
        • Déclaration du compte bancaire
        • Création du mandat SEPA
        • Transaction par prélèvement
        • R-transaction SDD
        • Retours, statuts et webhooks

        Informations générales

        Introduction

        Le prélèvement SEPA (SEPA Direct Debit ou « SDD » en anglais) permet à un créancier (marchand) de prélever un montant dû directement sur le compte de son débiteur (client). Il est principalement destiné aux règlements récurrents (abonnements ou paiements en plusieurs fois) mais peut-être dans certains cas utilisé pour des règlements ponctuels (par exemple pour le règlement de factures entre professionnels).

        Étant émis à l’initiative du créancier, il requiert la collecte préalable d’une autorisation de son débiteur. Le marchand édite ainsi un « Mandat SEPA » précisant les conditions de prélèvement et les coordonnées bancaires des deux parties que son débiteur devra signer.

        1/ Les deux types de prélèvement SEPA

        Il existe deux types de prélèvements SEPA :

        • Le prélèvement SEPA « CORE » : le plus répandu, il permet aux créanciers de débiter des comptes de particuliers comme de personnes morales. Le mandat SEPA est édité et signé entre les deux parties sans contraintes particulières. Le débiteur est cependant protégé et peut contester un prélèvement CORE sans motifs auprès de sa banque sous 8 semaines.
        • Le prélèvement SEPA « B2B » : réservé aux prélèvements entre entreprises. Le mandat SEPA est édité, signé puis doit être transmis par le débiteur à sa banque. Le parcours de contractualisation requiert ainsi une action forte du débiteur et la validation de sa banque. Cependant, les prélèvements initiés depuis ce type de mandats ne sont pas contestables.
          CentralPay ne propose pas ce service de prélèvement SEPA type « B2B ».

        2/ Risques de rejet et de contestation

        Le prélèvement SEPA étant un moyen de paiement dont les transactions sont initiées sans authentification forte du client, les risques de rejets et de contestations sont à prendre en considération.

        Consultez la rubrique « R-Transaction SDD » pour en savoir plus sur les rejets et contestations SDD.

        3/ Informations importantes

        • Le prélèvement SEPA est utilisable sur la vaste majorité des comptes bancaires « courants » des pays de la zone SEPA et certains de l’Espace Économique Européen hors SEPA. Cela dépend de la connectivité aux réseaux SEPA des banques des débiteurs. Les comptes spéciaux type « comptes épargnes » ne sont pas atteignables.
        • Les opérations SEPA sont traitées en devise EUROS (€) uniquement.
        • Les opérations SEPA sont traitées lors des jours ouvrés uniquement (hors weekend et jours fériés). Ainsi, le délai de réception des fonds varie entre 2 à 5 jours à compter de la date d’initiation de l’opération.
        • Le débiteur doit être informé par le créancier des prélèvements à venir, au moins 14 jours avant la date, soit par l’envoi d’un échéancier, d’une notification ou d’une facture.
        • La durée de validité d’un mandat SEPA est de 36 mois après la dernière transaction opérée sur ce mandat.
        • Dans le cadre d’un prélèvement SEPA sur le compte bancaire d’une entreprise (personne morale), le créancier doit veiller à ce que le mandat SEPA soit adressé et signé par le dirigeant ou un responsable habilité (gérant, service comptabilité…).
        • Le prélèvement SEPA est particulièrement adapté aux transactions récurrentes d’un montant situé entre 20 et 200 EUR pour les débiteurs particuliers, et entre 20 et 2 000 EUR pour les débiteurs personnes morales.

        Identifiant de Créancier SEPA

        L’Identifiant Créancier SEPA (ICS) est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).

        Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque.

        Communiquez votre ICS à CentralPay lors de votre entrée en relation afin que nos équipes puissent le déclarer dans votre compte.

        Déclaration du compte bancaire

        Pour réaliser une transaction par prélèvement SEPA, il faut d’abord créer le profil de votre client (le débiteur) et déclarer ses coordonnées bancaires sur la plateforme CentralPay.

        1/ Créer un profil client « Customer »

        • Collecter les informations de votre client (email, nom, prénom …)
        • Créer un profil client Customer
        • Récupérer la propriété « customerId » dans le retour de création du Customer

        2/ Créer un compte bancaire « bankAccount »

        • Collecter les coordonnées bancaires de votre client (IBAN, BIC, nom du titulaire du compte …)
        • Créer un compte bancaire bankAccount en renseignant le « customerId » de votre client
        • Récupérer le « bankAccountId » et le « identityId » dans le retour de création du bankAccount

        Création du mandat SEPA

        Après avoir déclaré le compte bancaire « bankAccount » du client et rattaché son profil client « Customer », vous pouvez créer un mandat SEPA « mandate » et collecter la signature électronique de votre client via un code (OTP) envoyé par SMS.

        Prérequis : vous devez récupérer le « creditorBankAccountId » de votre compte CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail utilisateur en utilisant un profil avec des droits Admin : Administration Mon compte Comptes bancaires
        Identifiez la ligne présentant votre ICS dans la colonne « IBAN » puis copiez l’UUID associé.

        1/ Création et signature d’un nouveau mandat SEPA

        Créez un mandat SEPA :

        • Créez un « Mandate »
          • Renseignez votre « creditorBankAccountId »
          • Renseignez le « CustomerId » de votre client
          • Renseignez votre Référence Unique de Mandat (RUM)
          • Indiquez le type de mandat que vous souhaitez créer dans la propriété « paymentType »
          • Renseignez le numéro de téléphone de votre client dans la propriété « debtorPhone »
          • Renseignez l’email de votre client dans la propriété « debtorEmail »
          • Indiquez le compte bancaire de votre client en renseignant son « bankAccountId » dans la propriété « debtorBankAccountId »
        • Une fois le mandat SEPA créé :
          • Un « mandateId » sera généré
          • Le statut du mandat sera en « PENDING »
          • Un code à 6 chiffres (OTP) sera envoyé à votre client par SMS (durée de vie 15 min). Vous pouvez renouveler l’envoi de l’OTP.

        Signez un mandat SEPA :

        • Signez le « Mandate »
          • Collectez le code à 6 chiffres auprès de votre client, et renseignez-le dans la propriété « otp »
          • Renseignez le « mandateId » généré lors de la création du mandat
          • Renseignez l’IP de votre client dans la propriété « endUserIp »
          • Le statut du mandat passera ainsi en « ACTIVE » et le mandat SEPA au format PDF sera envoyé au client par email

        Schéma de déclaration du compte bancaire et création mandat

        2/ Déclaration d’un mandat existant (migration)

        Dans le cadre d’une migration de mandats déjà créé auprès d’un autre prestataire de paiement, il est possible de désactiver la fonction de signature par OTP sms et d’envoi du mandat SEPA par email. Si c’est votre cas, contactez nos équipes afin d’obtenir plus de détails concernant cette procédure.

        Prérequis :

        • Les mandats doivent avoir été créés avec votre Identifiant de Créancier SEPA (ICS)
        • Les mandats doivent avoir été créés avec votre entité juridique actuelle
        • Les mandats doivent avoir été dûment signés et acceptés par vos débiteurs
        • Les mandats doivent être encore actifs (<36 mois depuis la dernière transaction)

        Transaction par prélèvement

        Une fois les étapes de création et de signature de mandat réalisées, vous pouvez créer une transaction en prélèvement SEPA (Transaction SDD). Chaque transaction SDD sera liée au mandat correspondant.

        Pour créer des transactions SDD, vous avez plusieurs possibilités :

        1. Créer des transactions SDD individuelles : pour réaliser une ou plusieurs transactions SDD par API en complète autonomie
        2. Créer des transactions SDD via les modèles d’abonnement « Subscription » : pour réaliser X transactions selon une fréquence définie par un modèle d’abonnement (exemple : 50 € par mois pendant 12 mois).
        3. Créer des transactions SDD via le service de paiement fractionné « Installment » : pour fractionner une créance client en plusieurs transactions (exemple : 1000 € à régler en 3 fois avec un acompte de 500 €).

        1/ Transactions SDD individuelles

        Créez une « SDDTransaction »

        • Renseignez l’identifiant du mandat SEPA « mandateId »
        • Renseignez le montant de la transaction en centimes « amount »
        • Renseignez la devise EUR dans la propriété « currency »
        • Renseignez votre identifiant unique de transaction dans la propriété « endToEndIdentification »
        • Renseignez la description de la transaction dans la propriété « remittanceInformation » (cette donnée apparaitra sur le relevé de compte de vos clients)
        • Renseignez l’IP de votre client dans « endUserIp »
        • Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId »
        • Renseignez la date souhaitée de la transaction dans « requestedCollectionDate »

        Vous pouvez ensuite répéter l’opération à chaque échéance de prélèvement de votre client.

        [Optionnel] Demander au client une validation par SMS

        • Pour plus de sécurité, vous pouvez configurer un OTP pour la validation de chaque SDDTransaction : un OTP sera alors généré à la création et envoyé à votre client par SMS. Un sddTransactionId sera également généré à la création.
        • Par défaut, la validation des SDDTransaction est automatique.
        • Cette étape est nécessaire que si vous avez configuré une validation OTP pour la SDDTransaction
        • Récupérer auprès de votre client son code secret
        • Nous le transmettre, ainsi que le sddTransactionId.
        • Par cette action, la SDDTransaction sera considéré comme validé et sera donc effectuée.

        2/ Transactions SDD depuis les modèles d’abonnement « subscription »

        2.1/ Création

        Vous devez d’abord créer un Customer contenant au moins un Mandate.

        Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur.

        2.2/ Cas d’intégration spécifiques

        • Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une SDD Transaction seule, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.
        • Si vous souhaitez simplement faire démarrer un abonnement à une date précise (ex : date d’entrée en vigueur de votre contrat), vous pouvez renseigner une date de démarrage (startingDate) dans l’objet Subscription.

        3/ Transactions SDD en paiement fractionné « Installment »

        3.1/ Création

        Vous devez d’abord créer un Customer contenant au moins un Mandate.

        Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

        R-transaction SDD

        1/ Remboursement de prélèvement SEPA

        Il n’est pour l’instant pas possible de réaliser un remboursement sur un prélèvement SEPA (date : 06/06/2024).

        Veuillez contacter CentralPay pour plus d’informations.

        2/ Rejet et contestations de prélèvement SEPA

        Les rejets et contestations de prélèvements SEPA sont émis par les banques de vos clients. Ils sont représentés dans votre compte CentralPay par les opérations « SDD Transaction Reversal ».

        Un rejet de prélèvement SEPA est émis par la banque avant la mise à disposition des fonds au créancier (sous 2 à 5 jours). Voici les principaux motifs de rejet des prélèvements SEPA Core :

        • Provisions insuffisantes : le compte bancaire du débiteur ne dispose pas de fonds suffisants pour réaliser l’opération.
        • Compte clôturé : le compte bancaire du débiteur a été fermé.
        • Coordonnées bancaires incorrectes : l’IBAN ou BIC utilisé est incorrect, ou le compte n’est pas en devise EUROS.

        Une contestation de prélèvement SEPA peut être émise par le débiteur jusqu’à 13 mois après l’opération. C’est le principal facteur de risque financier de ce moyen de paiement. Voici les principaux motifs de contestation des prélèvements SEPA Core :

        • Contestation de l’opération (sous 8 semaines max) : le mandat SEPA est valide, mais le client conteste l’opération auprès de sa banque pour quelconque motif. L’opération est entièrement remboursée et des frais de contestation sont applicables au créancier. Le délai est de 70 jours pour les banques hors de l’Union européenne ou de l’Espace Économique Européen.
        • Contestation pour absence de mandat (sous 13 mois max) : le mandat SEPA n’est pas valide (absence de mandat, mauvais signataire…), le client conteste les opérations réalisées. Les opérations sont entièrement remboursées et des frais de contestation sont applicables au créancier.

        Pour en savoir plus, consultez la liste complète des codes de rejets et contestation de prélèvement SEPA :

        Codes de retour SDD

        Retours, statuts et webhooks

        1/ Retours liés aux prélèvements SEPA

        Lorsqu’une transaction SDD (prélèvement SEPA) est rejetée, la banque de votre client adresse un code de rejet permettant d’en identifier la cause. Il faut principalement différencier les rejets (à l’initiative de la banque, ils sont reçus rapidement) des contestations (à l’initiative du client, elles peuvent être reçues plusieurs semaines ou mois après la transaction) :

        Contestations
        MD06 Opération contestée par le débiteur (peut être reçu jusqu’à 8 semaines après la transaction)
        MD01 Contestation pour absence de mandat (peut être reçu jusqu’à 13 mois après la transaction)
        SL01 ICS marchand blacklisté par le client via sa banque
        MS02Raison non communiquée (peut inclure des contestations ou des rejets)
        Rejets
        AM04 Provisions insuffisantes
        Tout autre codeRejets techniques divers (compte clôturé, bloqué, IBAN non atteignable…)
        Consulter la liste complète des codes de rejet SDD

        2/ Statuts liés aux prélèvements SEPA

        Statuts « SDD Transaction »

        Statuts SDD Transaction

        Statuts « Mandate »

        Statuts MANDATE

        Statuts « bankAccount »

        [à compléter]

        Statuts « Subscription »

        Statuts SUBSCRIPTION

        Statuts « Installment »

        Statuts INSTALLMENT

        3/ Webhooks liés aux prélèvements SEPA

        Webhooks « SDD Transaction »

        Webhooks SDD Transaction

        Webhooks « Mandate »

        Webhooks Mandate

        Webhooks « Bank Account »

        Webhooks BankAccount

        Webhooks « Customer »

        Webhooks Customer

        Webhooks « Subscription »

        Webhooks Subscription

        Webhooks « Installment »

        Webhooks Installment

        Customer >

        See more about Customer

        Tarifs

        Articles

        • Offres commerciales
        • Frais d'interchange et réseaux cartes
        • Forfaits d'accompagnement

        Offres commerciales

        CentralPay propose 2 modèles d’offres commerciales :

        • Les offres Starter et Medium, intégrant un forfait mensuel fixe et des frais par transaction simplifiés (ou « blind rate »)
        • Les offres Major, intégrant également un forfait mensuel fixe, mais avec des frais par transaction plus détaillés (ou « interchange++ »)

        Dans ces deux modèles, les offres CentralPay intègrent les frais d’interchange et de réseaux cartes qui sont facturés par les banques. Vous n’avez donc aucun surcoût à prévoir.

        Consultez le détail des offres CentralPay

        Frais d'interchange et réseaux cartes

        Introduction

        L’interchange correspond à la valeur chargée par l’établissement émetteur d’une carte de paiement (la banque de votre client) à l’établissement acquéreur (la banque du marchand).

        Les frais de réseaux carte (ou « Card Scheme Fees ») correspondent aux frais pris par les réseaux carte (Visa, Mastercard, CB) pour faire fonctionner le service.

        Des termes ont été définis pour désigner l’assemblage de ces frais :

        • Interchange+
          Les frais d’Interchange + les frais des réseaux cartes (card scheme fees).
        • Interchange++
          Les frais d’Interchange + les frais des réseaux cartes (card scheme fees) + les frais de service de l’établissement (CentralPay)

        Toutes les offres commerciales de CentralPay intègrent les frais d’Interchange+ ainsi que nos propres frais de service, vous n’avez donc aucun frais bancaire supplémentaire à prévoir pour réaliser vos transactions. Sauf mention contraire, des frais minimum de perception de 0.15 € sont prélevés sur l’IC++.

        1/ Frais d’interchange et réseaux carte (E-commerce)

        Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)
        Carte de débit ou prépayé
        CB, VISA, MASTERCARD
        0,2 %1,15 %
        Carte de crédit ou débit différé
        CB, VISA, MASTERCARD
        0,3 %1,5 %
        Carte professionnelle
        CB
        0,9 %/
        Carte professionnelle
        VISA
        1,45 %2 %
        Carte professionnelle
        MASTERCARD
        1,45 %2 %
        Toutes cartes
        AMERICAN EXPRESS
        AucunAucun
        Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)
        Réseau CB (Cartes bancaires)0,015 %/
        Réseau VISA0,070 %0,70 %
        Réseau MASTERCARD0,171 %0,951 %
        Réseau AMERICAN EXPRESS1,600 %2,400 %

        2/ Frais d’interchange et réseaux carte (paiement de proximité)

        Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)
        Carte de débit ou prépayé
        CB, VISA, MASTERCARD
        0,2 %1,15 %
        Carte de crédit ou débit différé
        CB, VISA, MASTERCARD
        0,3 %1,5 %
        Carte professionnelle
        CB
        0,9 %/
        Carte professionnelle
        VISA
        1,45 %2 %
        Carte professionnelle
        MASTERCARD
        1,45 %2 %
        Toutes cartes
        AMERICAN EXPRESS
        AucunAucun
        Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)
        Réseau CB (Cartes bancaires)0,015 %/
        Réseau VISA0,014 %0,322 %
        Réseau MASTERCARD0,061 %0,240 %
        Réseau AMERICAN EXPRESS1,600 %2,400 %

        Forfaits d'accompagnement

        Les forfaits d’accompagnement permettent une mise en service rapide, guidée par nos équipes support intégration (SI) et service client (SC). Les heures d’accompagnement vous permettent de déléguer certains paramétrages de votre compte et de solliciter des échanges visio : avec le SI pour les sujets techniques, avec le SC pour ceux d’ordre administratif / fonctionnels.

        1/ Accompagnement à l’intégration Smart Collection

        Accompagnement à l’intégration, au choixFrais (HT)
        En autonomie
        2 heures d’accompagnement équipe Service Client
        Inclus
        (offres Starter, Medium et Major Company)
        Accompagnement standard
        Analyse technique du projet par équipe Service Intégration
        2 heures d’accompagnement équipe Service Intégration
        2 heures d’accompagnement équipe Service Client
        490 €
        Accompagnement avancé
        Analyse technique et suivi par Responsable Service Intégration dédié
        3 heures d’accompagnement par Responsable Service Intégration dédié
        3 heures d’accompagnement par Responsable Service Client dédié
        1 990 €

        2/ Accompagnement à l’intégration Smart Collection et Easy Wallet

        Accompagnement à l’intégration, au choixFrais (HT)
        En autonomie
        3 heures d’accompagnement équipe Service Client
        Inclus
        (offres Medium et Major Partner)
        Accompagnement standard
        Analyse technique du projet par équipe Service Intégration
        5 heures d’accompagnement équipe Service Intégration
        5 heures d’accompagnement équipe Service Client
        990 €
        Accompagnement avancé
        Analyse technique et suivi par Responsable Service Intégration dédié
        10 heures d’accompagnement par Responsable Service Intégration dédié
        10 heures d’accompagnement par Responsable Service Client dédié
        2 990 €

        3/ Forfaits d’accompagnement horaire par le service client

        Accompagnement horaire au choix, utilisable pour déléguer des paramétrages de comptes, des interventions avec tests, des analyses spécifiques…Frais (HT)
        Forfait d’accompagnement 2 h
        2 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
        250 €
        Forfait d’accompagnement 5 h
        5 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
        490 €
        Forfait d’accompagnement 10 h
        10 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
        890 €

        Error codes

        ErrorDetails ATTRIBUTES
        errorCodeCode indicating the type of problem identified.
        errorComponentCode indicating the 3-D Secure component that identified the error.
        errorDescriptionText describing the problem identified.
        errorDetailAdditional detail regarding the problem identified.
        ErrorCode possible values
        101MESSAGE_RECEIVED_INVALID
        102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED
        103SENT_MESSAGES_LIMIT_EXCEEDED
        201REQUIRED_ELEMENT_MISSING
        202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED
        203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS
        204DUPLICATE_DATA_ELEMENT
        301TRANSACTION_ID_NOT_RECOGNIZED
        302DATA_DECRYPTION_FAILURE
        303ACCESS_DENIED_INVALID_ENDPOINT
        304ISO_CODE_NOT_VALID
        305TRANSACTION_DATA_NOT_VALID
        306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM
        307SERIAL_NUMBER_NOT_VALID
        402TRANSACTION_TIMED_OUT
        403TRANSIENT_SYSTEM_FAILURE
        404PERMANENT_SYSTEM_FAILURE
        405SYSTEM_CONNECTION_FAILURE
        911DATA_FIELDS_RELEVANCE_CHECK_FAILURE
        912DUPLICATED_TRANSACTION_ID
        ErrorComponent possible values
        « C »THREE_DS_SDK
        « S »THREE_DS_SERVER
        « D »DIRECTORY_SERVER
        « A »ACCESS_CONTROL_SERVER

        Logos et visuels

        Articles

        • Logos CentralPay
        • Logos PaySecure
        • Visuels de réassurance (FR/EN)

        Logos CentralPay

        Logo CentralPay SVG
        Logo CentralPay blanc SVG
        Logo CentralPay PNG
        Logo CentralPay blanc PNG

        Logos PaySecure

        Logos

        Logo PaySecure classique PNG
        Logo PaySecure blanc PNG
        Logo PaySecure classique JPG

        Visuels de réassurance (FR/EN)

        Réassurance – fond blanc
        Réassurance – fond transparent
        Réassurance – blanc
        Réassurance – fond blanc
        Réassurance – fond transparent
        Réassurance – blanc

        Visuels de réassurance (FR/EN)

        Intégrez un de ces visuels en dessous de votre formulaire de paiement CustomForm, ou simplement dans le footer de votre site afin de rassurer vos clients concernant la sécurité de leurs données de paiement.

        Réassurance 1 – classique
        Réassurance 1 – fond blanc
        Réassurance 1 – blanc
        Réassurance 2 – classique
        Réassurance 2 – fond blanc
        Réassurance 2 – blanc
        Réassurance 3 – classique
        Réassurance 3 – fond blanc
        Réassurance 3 – blanc
        Réassurance 4 – Avec Amex
        Réassurance 4 – Amex fond blanc
        Réassurance 4 – Amex blanc
        Réassurance 5 – Avec Amex
        Réassurance 5 – Amex fond blanc
        Réassurance 5 – Amex blanc
        Réassurance 6 – Avec Amex
        Réassurance 6 – Amex fond blanc
        Réassurance 6 – Amex blanc

        Réassurance 1 – classique
        Réassurance 1 – fond blanc
        Réassurance 1 – blanc
        Réassurance 2 – classique
        Réassurance 2 – fond blanc
        Réassurance 2 – blanc
        Réassurance 3 – classique
        Réassurance 3 – fond blanc
        Réassurance 3 – blanc
        Réassurance 4 – Avec Amex
        Réassurance 4 – Amex fond blanc
        Réassurance 4 – Amex blanc
        Réassurance 5 – Avec Amex
        Réassurance 5 – Amex fond blanc
        Réassurance 5 – Amex blanc
        Réassurance 6 – Avec Amex
        Réassurance 6 – Amex fond blanc
        Réassurance 6 – Amex blanc

        Utilisation des API CentralPay

        L’API utilise un protocole HTTP pour transporter et renvoyer toutes les réponses formatées en JSON.
        Les API CentralPay sont des API REST permettant de faciliter l’intégration de nos services de paiement.

        CentralPay mets à disposition de ses utilisateurs deux API :

        • L’API « Core Payment » : pour toutes les fonctions liées aux opérations de paiement
        • L’API « Onboarding » : pour toutes les fonctions liées à la création de comptes de paiement et de monnaie électronique (accessibles aux partenaires uniquement)

        1/ Fonctions

        Toutes les fonctions utilisent les types « MIME » : « application/x-www-form-urlencoded » et « multipart/form-data ».

        Les fonctions utilisent les méthodes suivantes :

        • Méthode HTTP POST pour la création ou la mise à jour d’un objet
        • Méthode HTTP GET pour la recherche d’objets
        • Méthode HTTP DELETE pour supprimer des objets

        2/ Authentification

        L’API de CentralPay utilise l’authentification de base HTTP pour l’authentification. Toutes les demandes adressées à notre API doivent être authentifiées (intégrant le nom d’utilisateur et le mot de passe fournis par la plateforme) et doivent être effectuées via HTTPS.

        Vous pouvez récupérer vos identifiants API depuis votre Portail utilisateur : Administration Mon compte Technique
        Cliquez ensuite sur Identifiant API Modifier Générer Copiez le mot de passe API Mettre à jour

        Accès Compte Technique – Portail utilisateur de RCT
        Accès Compte Technique – Portail utilisateur de PROD
        NB : Certains services comme le cardToken requièrent la déclaration de votre MerchantPublicKey, également disponibles depuis les liens présentés ci-dessus.


        MerchantPublicKey

        La MerchantPublicKey permet de s’authentifier sur le service API cardToken qui ne nécessite pas d’autre type d’authentification et permet d’identifier un marchand.
        Cette clé est trouvable dans l’onglet Technique des détails de votre compte sur notre portail utilisateur :


        3/ HTTP Request

        Toujours utiliser HTTP-Header pour les formats de sérialisation (user_agent, …)

        Le Content-Type (application/x-www-form-urlencoded ou multipart/form-data) doit être renseigné pour toutes les requêtes dans l’en-tête.

        L’utilisation du champ « Idempotence-Key » dans l’en-tête HTTP permet d’identifier la requête qui a été envoyée.

        Si la même valeur « Idempotence-Key » est envoyée à nouveau, la demande sera considérée comme déjà traitée et ne sera pas relancée.

        Ce contrôle permet au commerçant d’éviter d’envoyer des entrées en double.

        Cette clé doit être construite avec un hachage « sha1 » des paramètres de la demande (SANS date) concaténés comme ceci :

        Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey)
        NB : La clé "Idempotence-Key" est valable 24 heures.

        4/ HTTP Response

        Dans chaque réponse HTTP, le champ « Request-Id » est inscrit dans l’en-tête HTTP.

        NB : Si vous avez une demande spécifique à envoyer via l'API REST de CentralPay, veuillez contacter le support ou votre référent CentralPay.

        Reversement bancaire

        1/ Introduction

        Les reversements bancaires (ou « Payout ») sont des virements sortant de votre compte de paiement CentralPay vers le compte bancaire qui y est associé.

        Ils peuvent être réalisés manuellement depuis le Portail utilisateur ou l’API Payment. Ils peuvent également être automatisés depuis le Portail utilisateur.

        Depuis le Portail utilisateur, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et réaliser les reversements.

        2/ Les deux modes de reversement

        2.1/ Reversement automatique

        Le titulaire du compte peut définir la périodicité : quotidien, hebdomadaire (choix du jour de la semaine, ex : chaque mardi) ou mensuel (choix du jour dans le mois, ex : le cinq du mois).
        Le service PAYOUT automatique exécutera automatiquement à 01h00 du jour donné un virement des fonds disponibles sur votre compte de paiement.

        Exemple d’un reversement hebdomadaire programmé le mardi :
        CentralPay exécutera la demande de création du virement (PAYOUT) le mardi matin avec les fonds disponibles (AVAILABLE) sur le compte de paiement jusqu’au mardi 01h00.

        2.2/ Reversement manuel (via BO ou API)

        Vous avez la possibilité d’exécuter des payouts manuellement depuis le Portail utilisateur ou l’API CentralPay. Vous pouvez déterminer le montant à reverser (avec en maximum le montant disponible sur votre compte).

        Attention, le PAYOUT ne sera exécuté immédiatement que s’il est effectué avant 05h00 le matin. À défaut, il sera exécuté le lendemain à 05h00 du matin également.

        3/ Délais de disponibilité des fonds

        Les reversements comprennent uniquement les fonds disponibles (ou « AVAILABLE ») de vos comptes de paiement. Les fonds issus d’une transaction par carte bancaire sont par exemple disponibles à J+2 : une transaction carte réalisée le lundi, apparaîtra en « Pending » le lundi, sera « Available » le mardi soir, le payout automatique sera effectué le mercredi matin à 00h05 et la réception du virement SEPA sur votre compte bancaire le jeudi.

        NB : Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT).

        4/ Création d’un reversement manuel

        4.1/ Payout manuel par Portail utilisateur

        Accès Reversements – Portail utilisateur de RCT
        Accès Reversements – Portail utilisateur de PROD

        Depuis le Portail Utilisateur > Administration > Mon compte> Reversements : cliquez sur « Transferts externes », sélectionnez le compte d’émission, le montant du reversement ainsi que l’IBAN destinataire, puis cliquez sur « confirmer le transfert ».

        4.2/ Payout manuel par API

        Consultez la rubrique développeurs du service Payout.

        5/ Reversement en euros ou devises via le réseau SWIFT

        Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises.

        Si vous disposez d’un compte en devises ou n’étant pas accessible via le réseau SEPA, vous pouvez réaliser vos virements via le réseau SWIFT. Contactez CentralPay pour en savoir plus.

        Les virements bancaires du réseau SWIFT présentent des frais très largement supérieurs aux virements SEPA. Vous pouvez demander à CentralPay de paramétrer vos reversements automatiques afin qu'ils soient déclenchés à partir d'un certain seuil de fonds disponibles.

        6/ Retours, statuts et webhooks

        6.1/ Statuts

        Statuts PAYOUT

        6.2/ Webhooks

        Webhooks PAYOUT

        Transaction par initiation

        Articles

        • Informations générales
        • Retours, statuts et webhooks

        Informations générales

        Introduction

        L’initiation de paiement (ou Pay by Bank) permet d’adresser des demandes de virement à ses clients, directement dans leur application bancaire. CentralPay transmet le montant, l’IBAN bénéficiaire et la référence, afin qu’ils n’aient plus qu’à valider l’émission du virement.

        Que votre client ait émis un virement classique ou instantané, vous recevez immédiatement un avis de virement pour vous informer de son émission.

        Ce moyen de paiement constitue une bonne alternative, car il permet de contourner certaines problématiques propres aux cartes (plafond) ou aux virements (erreurs de références, délais de traitement).

        1/ Création d’une Initiation de paiement

        L’Initiation de paiement sera prochainement disponible depuis le service de demandes de paiement uniquement.

        Retours, statuts et webhooks

        1/ Retours liés aux Initiations de paiement

        [à compléter avec les codes de retour banque liés aux remboursements de SCT Transaction s’il en existe]

        2/ Statuts liés aux Initiations de paiement

        Statuts « Payment Request »

        Statuts Payment Request

        Statuts « SCT Transaction »

        Statuts SCT Transaction

        Statuts « Refund »

        Statuts Refund

        3/ Webhooks liés aux Initiations de paiement

        Webhooks « Payment Request »

        Webhooks Payment Request

        Webhooks « SCT Transaction »

        Webhooks SCT Transaction

        Webhooks « Refund »

        Webhooks Refund

        Webhooks « Customer »

        Webhooks Customer

        Subscription

        Articles

        • Subscription Model
        • Subscription
        • Invoice & invoiceItem

        Subscription Model

        See more about Subscription Model

        Subscription

        See more about Subscription

        Invoice & invoiceItem

        See more about Invoice & invoiceItem

        Test IBAN values

        Find below the list of HTTP return codes:

        DE91100000000123456789AXABFRPP
        AZ96AZEJ00000000001234567890AXABFRPP
        CY21002001950000357001234567AXABFRPP
        ES7921000813610123456789AXABFRPP
        FR7630006000011234567890189AXABFRPP
        FO9264600123456789AXABFRPP

        Portail utilisateur

        Le Portail utilisateur est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre compte CentralPay. Les comptes ayant des droits « Partenaires » peuvent également consulter l’activité des comptes de leurs sous-marchands.

        • Accès Portail utilisateur de recette (RCT)
        • Accès Portail utilisateur de production (PROD)

        1/ Fonctionnalités

        Le Portail utilisateur permet notamment :

        • De consulter les opérations comptables du compte
        • De consulter les paiements par carte (« transaction »)
        • De consulter les paiements par virement SEPA (« sctTransaction »)
        • De consulter les paiements par prélèvement SEPA (« sddTransaction »)
        • De créer et de consulter les demandes de paiement (« paymentRequest »)
        • De créer et de paramétrer les profils clients (« customer »)
        • De créer et de paramétrer les points de vente (« pointOfSale »)
        • De paramétrer les notifications Smart Push (templates, scénarios …)
        • D’initier et de gérer les paramètres de reversement (« payout »)
        • De générer des exports et de télécharger les rapports financiers mensuels
        • Pour les comptes « Partenaires » uniquement :
          • De créer et de consulter les demandes d’onboarding (« merchant-enrollment »)
          • De consulter les opérations et de paramétrer les comptes de leurs sous-marchands
        NB : Les comptes ayant des droits "Participant" (sous-marchands/participants de partenaires) peuvent uniquement consulter les opérations dont ils sont bénéficiaires ("transfer") et gérer leurs paramètres de reversement ("payout").

        2/ Les profils utilisateurs du Portail

        Ils représentent des personnes physiques pouvant accéder à un ou plusieurs comptes CentralPay ainsi qu’à tout ou partie des services du Portail utilisateur.

        2.1/ Gestion des profils utilisateurs « Legal » et « Natural »

        • Accès Portail utilisateur de RCT – Gestion des profils utilisateurs BO
        • Accès Portail utilisateur de PROD – Gestion des profils utilisateurs BO

        Lors de la création du compte CentralPay, le responsable ayant réalisé l’onboarding (dirigeant ou personne physique disposant d’une délégation de pouvoir) se voit attribuer un profil utilisateur dit « Legal ». Il dispose ainsi de tous les droits administrateur du compte, mais également de droits légaux permettant de paramétrer les éléments les plus sensibles du compte :

        • Paramètres du compte de paiement :
          • Changement d’IBAN de sortie (payout)
          • Changement des conditions de reversements sur compte bancaire
          • Mise à jour des documents de société
        • Paramètres des utilisateurs :
          • Création de nouveaux utilisateurs « Legal »
          • [à compléter]

        Une fois le compte créé, vous avez la possibilité de créer autant de profils utilisateurs que nécessaire en renseignant leur nom, leur prénom, leur email et leur rôle utilisateur (définissant les droits qu’ils auront sur le compte). Les profils ainsi créés sont nommés « Natural ».

        NB : Si vous disposez de plusieurs comptes CentralPay et que vos équipes doivent avoir accès à ces différents comptes, créez leur profil utilisateur depuis l’un d’entre eux, puis demander à CentralPay d’affecter leur profil à vos autres comptes. Ils bénéficieront ainsi d’un unique centralisé pour tous ces comptes.

        2.2/ Gestion des rôles et droits des profils utilisateurs « Natural »

        • Accès Portail utilisateur de RCT – Gestion des rôles utilisateurs BO
        • Accès Portail utilisateur de PROD – Gestion des rôles utilisateurs BO

        Les droits des profils utilisateurs « Natural » sont régis par leur rôle utilisateur. Le rôle comprend une liste de droits (lecture seule, création, modification, suppression) paramétrables par service (transaction, demandes de paiement, règles d’acceptation…). Ces droits peuvent être différents en fonction des services sélectionnés.

        Les utilisateurs disposant des droits nécessaires peuvent créer des rôles pour chaque équipe de leur entreprise, cependant des rôles préétablis sont disponibles nativement :

        • Standard Admin : Accès complet à toutes les fonctionnalités du Portail utilisateur (excepté les fonctionnalités admin). Attention, ce rôle comprend des accès à des services sensibles comme les règles d’acceptation, les whitelists, les blacklists, les créations d’utilisateurs Portail utilisateur, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API …
        • Standard read only : [à compléter]
        • [à compléter]

        Contactez le service client CentralPay si vous avez besoin d’aide pour la création de rôles personnalisés.

        Quelques précisions importantes concernant les rôles :

        • Les rôles sont cumulables, un utilisateur peut ainsi se voir assigner plusieurs rôles
        • Les droits des rôles sont héritables, ainsi un utilisateur ayant le droit de créer d’autres profils utilisateurs ne pourra affecter qu’un rôle similaire ou inférieur au sien.

        2.3/ Gestion des catégories de point de vente

        • Accès Portail utilisateur de RCT – Gestion des catégories de point de vente
        • Accès Portail utilisateur de PROD – Gestion des catégories de point de vente

        Si vous avez le besoin de limiter l’accès d’utilisateurs à certains points de ventes, vous pouvez créer des catégories, les affecter à vos points de ventes puis les affecter à vos profils utilisateurs.

        Exemple : un utilisateur ayant des droits de création de demandes de paiement ne pourra le faire que sur les points de ventes de sa catégorie. Il ne pourra également visualiser que les demandes de paiement émises via les points de vente de sa catégorie.

        Contactez le service client CentralPay si vous avez besoin d’aide pour la création de catégories de point de vente personnalisées.

        3/ Liste des types d’opérations visibles sur le Portail utilisateur

        Type d’objetValeurFonction
        AUTHORIZATIONDébitAutorisation de blocage d’un montant d’une carte bancaire
        TRANSACTIONCréditTransaction carte
        TRANSACTION_CANCELDébitAnnulation de transaction carte
        REFUNDCréditRemboursement transaction carte
        REFUND_CANCELDébitAnnulation d’un remboursement transaction carte
        DISPUTEDébitImpayé suite à la contestation d’une transaction carte
        DISPUTE_WONCréditAnnulation d’un impayé carte
        TRANSFERDébitTransfert de fonds entre comptes CentralPay
        TRANSFER_CANCELCréditAnnulation transfert en attente
        TRANSFER_REVERSALCréditRetour d’un transfert validé
        PAYOUTDébitVirement sortant du compte CentralPay
        PAYOUT_CANCELCréditAnnulation d’un virement sortant
        PAYOUT_REVERSALCréditRetour d’un virement sortant validé
        SCT_TRANSACTIONCréditVirement entrant
        SCT_TRANSACTION_CANCELDébitAnnulation virement entrant avant son arrivée
        SCT_TRANSACTION_REFUNDDébitAnnulation virement entrant après son arrivée par le marchand
        SCT_TRANSACTION_REVERSALDébitAnnulation virement entrant après son arrivée par Centralpay
        CREDITDébitCrédit sur carte non lié à une transaction
        CREDIT_CANCELCréditAnnulation d’un crédit sur carte
        SDD_TRANSACTIONCréditPrélèvement SEPA d’un compte bancaire externe
        SDD_TRANSACTION_CANCELDébitAnnulation d’un prélèvement d’un compte externe avant son arrivée
        SDD_TRANSACTION_REVERSALDébitRemboursement d’un prélèvement d’un compte externe après son arrivée
        DEPOSITCréditChargement d’une somme sur un compte CentralPay

        Exports comptables

        1/ Introduction

        Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports.

        2/ Export comptable des opérations du compte

        • Accès opérations – Portail utilisateur de RCT
        • Accès opérations – Portail utilisateur de PROD

        Cet export reprend l’ensemble des mouvements financiers débiteurs et créditeurs qui ont été réalisés sur votre compte : autorisations cartes, transactions cartes, transactions SDD, transactions SCT, transfers, payout, frais CentralPay…
        Vous disposerez du détail de chaque opération afin que vous puissiez le rapprocher facilement à vos factures ou vos dossiers.

        L’export contient les données suivantes :

        DénominationSignification
        movement_creation_datedate de l’opération
        movement_ididentifiant CentralPay de l’opération
        movement_gross_amountmontant brut
        movement_gross_currencydevise du montant brut
        movement_fee_amountmontant des frais CentralPay
        movement_fee_currencydevise des frais
        movement_net_amountmontant net
        movement_net_currencydevise du montant net
        movement_expected_availability_datedate de disponibilité des fonds estimée
        movement_available_datedate de disponibilité des fonds réelle
        movement_statusstatut du mouvement (success, failed …)
        movement_source_typetype d’opération (transaction, transfert …)
        movement_source_uuididentifiant associé au type d’opération (transactionId, wireTransferId, transferId, …)
        merchant_descriptiondescription définie par le marchand
        merchant_reference_idréférence définie par le marchand
        card_countrypays d’émission de la carte
        card_regionzone d’émission de la carte (UE, hors UE)
        point_of_sale_idID CentralPay du point de vente

        3/ Télécharger le rapport financier mensuel

        Chaque début de mois, en plus de la facture, un rapport financier est généré, puis mis à disposition dans l’espace sécurisé de votre compte (Administration > compte > documents > Rapports financiers). Il présente les montants totaux de crédit, de débit, de frais et de réserve de votre compte :

        • Accès documents – Portail utilisateur de RCT
        • Accès documents – Portail utilisateur de PROD
        Pour bien comprendre votre rapport financier :

        A) Le total des montants acquis / reçus sur votre compte au cours de la période

        B) Le montant net reçu sur votre compte, déduction faite de l’ensemble des frais selon le calcul « B = A – I »

        C) Le montant de la réserve détenue en garantie au jour de clôture de la période

        D) Le montant des fonds disponibles au jour de clôture de la période

        E) La valeur totale des fonds disponibles et en garantie enregistrée dans les livres de CentralPay au jour de clôture de la période selon la formule « E = C + D »

        F) La valeur totale des fonds retirés / transférés à la banque du marchand pendant la période

        G) Le total des frais de service et commissions facturées sur les transactions définies dans la grille tarifaire

        H) Total des frais d’opérations techniques : frais d’autorisation cartes, de contestation, de payout…

        I) Total des frais techniques et commissions ou « I = G + H »

        Paiements récurrents

        Articles

        • Abonnement
        • Fractionné

        Abonnement

        Introduction

        Le service d’abonnement vous permet se réaliser automatiquement des transactions récurrentes sur vos profils clients en se basant sur un modèle d’abonnement défini en amont depuis l’API CentralPay ou le Portail utilisateur. Il est ensuite possible d’ajouter des échéances ou de modifier leur montant à la volée depuis les services Invoice & Invoice Item.

        Ce service permet de générer soit des transactions carte, soit des transactions SDD (prélèvement SEPA).

        Définitions utiles pour cette section :

        – SubscriptionModel : 
        modèle d’abonnement (définissant le montant et la fréquence d’abonnement)

        – Subscription : 
        abonnement appliqué à un client

        – Invoice : 
        facture, option à utiliser si vous devez modifier la valeur à l’intérieur d’un plan d’abonnement

        – InvoiceItem : 
        ligne ou article inclus dans la facture. Une facture a potentiellement plusieurs lignes ou éléments
        Le service "Subscription" n'est pas le seul moyen de réaliser des transactions récurrentes. 
        Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement.

        1/ Créer un modèle d’abonnement (subscriptionModel)

        • Accès modèles d’abonnements – Portail utilisateur de RCT
        • Accès modèles d’abonnements – Portail utilisateur de PROD

        Le subcriptionModel vous permet de pouvoir créer différents types d’abonnements en fonction de vos services proposés. Par exemple, si vous avez à votre disposition deux types d’offre d’abonnement, le premier en utilisant les caractéristiques de base de votre service et l’autre en utilisant les fonctionnalités avancées, vous allez devoir créer deux modèles :

        • Un pour l’offre d’abonnement « basique »
        • Un pour l’offre d’abonnement « avancé »

        Chaque « SubscriptionModel » possède un ID unique. Vous fournirez cet identifiant dans vos requêtes API lorsque vous souhaiterez appliquer un abonnement à un client sur la base de ce modèle.

        Vous pouvez utiliser les attributs suivants :

        • amount : montant à renseigner en centimes
        • intervalUnit : DAY / WEEK / MONTH / YEAR (jour / semaine / mois / année)
        • intervalCount : nombre de « intervalUnit » entre deux échéances (ex : si intervalUnit = DAY et intervalCount = 10, alors il y aura une transaction tous les 10 jours).
        • iterationCount : nombre d’échéances (attention la première transaction n’est pas comptabilisée dans ce paramètre, elle s’ajoute donc à ce nombre).

        Exemple :

        • amount = 3000
        • intervalUnit = DAY
        • intervalCount = 3
        • iterationCount = 3

        Ainsi votre modèle d’abonnement sera configuré pour facturer à votre client 30,00 EUR tous les 3 jours pendant 4 échéances (pour un total d’un abonnement de 12 Jours).

        2/ Créer un abonnement (subscription)

        Pour créer un abonnement, vous devez d’abord créer un Customer contenant au moins :

        • une Card (si vous souhaitez opérer des transactions carte)
        • ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA).

        Vous pouvez ensuite créer une Subscription :

        • Selon le moyen de paiement souhaité :
          • pour des transactions carte : renseignez l’identifiant du profil client « customerId »
          • pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate »
          • pour des transactions entre comptes CentralPay : renseignez l’identifiant du compte émetteur « walletId »
        • Renseignez l’identifiant du modèle d’abonnement « subscriptionModelId »
        • Renseignez l’IP de votre client dans « endUserIp »
        • Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId »

        Notez qu’à la création d’un abonnement, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire ou son mandat SEPA et de résilier un abonnement si besoin est.

        Un client pouvant à tout moment résilier son abonnement depuis le portail client mis à sa disposition. Veillez à vous inscrire aux webhooks d'annulation d'abonnement. Si votre abonnement comprend une période d'engagement, il est préférable d'utiliser la méthode d'abonnement par transactions successives, ou demander à CentralPay de ne pas diffuser le lien vers le portail client.

        3/ Automatisation des nouvelles tentatives en cas d’échec

        En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur.

        • Accès paramétrages abonnements – Portail utilisateur de RCT
        • Accès paramétrages abonnements – Portail utilisateur de PROD

        Comportement des champs :

        • Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay
          • Sélection d’une valeur de 4 à 23
        • 1er échec de paiement de facture : comportement en cas d’un premier échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale
          • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
        • 2nd échec de paiement de facture : comportement en cas d’un deuxième échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
          • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
        • 3eme échec de paiement de facture : comportement en cas d’un troisième échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
          • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
        • Action finale : comportement si les actions précédentes ont échoué
          • CANCELED = Annulation de l’abonnement (modification du statut de l’abonnement en CANCELED)
          • FAILURE = Échec de l’abonnement (modification du statut de l’abonnement en FAILURE)
          • UNPAID = Abonnement impayé (modification du statut de l’abonnement en FAILURE + envoi de hook SUBSCRIPTION_UNPAID)

        4/ Fonctions d’annulation des abonnements

        Il existe deux fonctions d’annulation d’abonnement depuis l’API, le Portail Utilisateur ou le Portail Client :

        • Annuler : l’abonnement est annulé immédiatement
        • Annuler en fin de période : l’abonnement sera annulé à la fin de l’échéance en cours (afin de laisser l’abonné bénéficier de votre service durant sa dernière période payée). Par API, vous devrez renseigner le champ « atPeriodEnd ».
          • Note : Durant ce laps de temps, vous pouvez réactiver l’abonnement avec le service « reactivate » des Subscription.
        Les abonnements dont l'ensemble des échéances ont été réalisées passent automatiquement en statut CANCELED.

        5/ Modifier le montant d’une échéance d’abonnement

        CentralPay crée un invoice pour chaque échéance d’un abonnement (Subscription), selon le modèle d’abonnement associé (subscriptionModel).

        Vous pouvez procéder à des actions manuelles à n’importe quel moment pour modifier les échéances (invoice) d’un abonnement (subscription). Vous trouverez ci-dessous une liste d’actions possibles :

        • Modifier le montant d’une échéance : Le service invoiceItem vous permet de modifier le montant d’une échéance (invoice) en renseignant un montant positif ou négatif qui s’additionnera au montant initial de l’échéance. L’invoiceItem sera pris en compte lors de la prochaine échéance de l’abonnement, qu’elle soit créée manuellement ou automatiquement. Vous avez également la possibilité de spécifier une échéance donnée dans votre requête en renseignant un invoiceId.
        • Créer une échéance supplémentaire : les échéances (invoice) dites « périodiques » sont créées automatiquement selon votre subscriptionModel. Vous avez la possibilité de créer d’autres échéances ponctuelles sur votre abonnement en créant une invoice.
        • Supprimer un invoiceItem non traité : s’il n’est pas encore lié à une facture
        • Fermer une échéance à venir : si vous souhaitez que CentralPay ne réalise pas le prélèvement d’une échéance (et/ou ses nouvelles tentatives automatiques), vous pouvez fermer cette dernière depuis le service « close » de l’invoice. Au besoin vous pourrez rouvrir cette échéance via le service « reopen » de l’invoice, si elle n’a pas été payée ou qu’il reste des nouvelles tentatives programmées.
        • Forcer le paiement d’une échéance : les transactions sont effectuées automatiquement par le service d’abonnement, vous pouvez cependant initier la transaction en avance ou réaliser une nouvelle tentative manuellement avec le service « pay » de l’invoice. Ces paiements « manuels » ne sont pas comptabilisés par le système de nouvelles tentatives automatisées. Cette action peut être effectuée sur une facture fermée.

        6/ Schéma complet de création d’un abonnement

        Fractionné

        Introduction

        Le paiement fractionné permet de découper le règlement d’une facture en plusieurs échéances. CentralPay prélève ensuite la carte du client selon un échéancier défini lors de la première transaction. Il peut être utilisé pour proposer un étalement de règlement à votre client ou pour automatiser un règlement type « acompte/solde ».

        Contrairement aux abonnements, un client ne peut pas résilier un paiement fractionné depuis le portail client.

        CentralPay vous aide à recouvrer les échéances dues par vos clients avec un système de nouvelles tentatives automatisées en cas d’échec de prélèvement. Cependant, CentralPay ne garantie pas les sommes dues à l’aide d’un crédit ou d’un système de financement de créances.

        Le service "Installment" n'est pas le seul moyen de réaliser des transactions récurrentes. 
        Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement.

        1/ Créer un paiement fractionné

        Vous devez d’abord créer un Customer contenant au moins :

        • une Card (si vous souhaitez opérer des transactions carte)
        • ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA).

        Ensuite, le service Installment vous permettra de créer facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

        Vous pouvez ensuite créer un Installment:

        • Selon le moyen de paiement souhaité :
          • pour des transactions carte : renseignez l’identifiant du profil client « customerId »
          • pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate »
        • Renseignez le montant en centimes « amount »
        • Renseignez la devise en format ISO « currency »
        • Renseignez l’IP de votre client dans « endUserIp »
        • Renseignez les paramètres de fractionnement « iterationCount », « intervalCount » et « intervalUnit »

        Avec ce service, il est également possible :

        • d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements
        • de définir un montant d’acompte qui sera déduit du montant total (depositAmount). Cet acompte peut également être défini à une date spécifique (depositStartingDate).
        • de définir une date de démarrage du paiement fractionné (startingDate) : si l’on souhaite par exemple que l’acompte soit réglé tout de suite, et que les premières échéances soient prélevées à partir d’une certaine date.

        Notez qu’à la création d’un paiement fractionné, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent et de changer sa carte bancaire ou son mandat SEPA si besoin est.

        2/ Exemple de paiement fractionné

        Vous souhaitez facturer à votre client 1 000 € divisés en 3 mois à partir du 05/07/2024, avec un acompte de 200 € le 28/06/2024 et ajouter un frais supplémentaire de 10 € :

        • amount =100000
        • depositAmount = 20000
        • feeAmount = 1000
        • currency = EUR
        • intervalUnit = MONTH
        • intervalCount = 1
        • iterationCount = 3
        • depositStartingDate = 2024-06-28
        • startingDate = 2024-07-05

        Le plan de fractionnement sera le suivant :

        • 28/06/2024 = 200,00 € (acompte)
        • 05/07/2024 = 276,68 € (premier fractionnement + ajustement arrondis + frais supplémentaires)
        • 05/08/2024 = 276,66 € (deuxième fractionnement)
        • 05/09/2024 = 276,66 € (troisième fractionnement)
        Les arrondis sont appliqués au premier paiement (hors acompte).

        3/ Automatisation des nouvelles tentatives en cas d’échec

        En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur :

        • Accès paramétrages paiements fractionnés – Portail utilisateur de RCT
        • Accès paramétrages paiements fractionnés – Portail utilisateur de PROD

        Comportement des champs :

        • Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay
          • Sélection d’une valeur de 4 à 23
        • 1er échec de paiement : comportement en cas d’un premier échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale
          • Stop = le système ne réalisera pas de nouvelle tentative de prélèvement.
        • 2nd échec de paiement : comportement en cas d’un deuxième échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
          • Stop = le système ne réalisera pas de deuxième nouvelle tentative de prélèvement.
        • 3eme échec de paiement : comportement en cas d’un troisième échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
          • Stop = le système ne réalisera pas de troisième nouvelle tentative de prélèvement.
        • 4eme échec de paiement : comportement en cas d’un quatrième échec de prélèvement
          • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
          • Stop = le système ne réalisera pas de quatrième nouvelle tentative de prélèvement.

        Installment Payment >

        See more about Installment Payment

        Plugins CMS

        Articles

        • WooCommerce

        WooCommerce

        Ce guide vous accompagne dans l’installation, la configuration et l’utilisation du plugin de paiement CentralPay pour WooCommerce (WordPress).

        Important : la plateforme CentralPay prend en charge différents moyens de paiement (carte, virement SEPA, prélèvement SEPA, initiation de paiement) et plusieurs modes de paiement (paiement en une fois, abonnement, en plusieurs fois, etc.).
        👉 Ce plugin WooCommerce permet uniquement l’encaissement de transactions cartes unitaires.

        Si vous souhaitez demander une évolution du plugin, rendez-vous sur https://support.centralpay.com > Support & Paramétrage > Suggérer une nouvelle fonctionnalité

        1. 📦 Téléchargement du plugin

        Téléchargez l’archive ZIP du plugin CentralPay en cliquant ici.

        Vous ne devez pas la décompresser manuellement.

        2. 🔧 Installation sur WordPress

        1. Connectez-vous à votre interface d’administration WordPress.
        2. Allez dans Extensions > Ajouter.
        3. Cliquez sur Téléverser une extension.
        4. Sélectionnez le fichier centralpay220.zip et cliquez sur Installer maintenant.
        5. Une fois l’installation terminée, cliquez sur Activer l’extension.

        3. ⚙️ Configuration du module

        1. Allez dans WooCommerce > Réglages > Paiements.
        2. Cliquez sur CentralPay pour accéder à la configuration.
        3. Renseignez les champs suivants puis cliquez sur Enregistrer les modifications :
        ChampDescriptionAccès à la donnée
        Identifiant marchandIl s’agit de votre Merchant Public Key. Ne pas confondre avec le Merchant UUID.Portail utilisateur CentralPay > Administration > Technique > Copier « Merchant Public Key »
        Login APIIdentifiant de votre utilisateur API CentralpayPortail utilisateur CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »
        Mot de passe APIMot de passe de votre utilisateur API CentralPayPortail utilisateur CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Modifier > Générer un mot de passe > Copier le mot de passe > cliquer sur « Mettre à jour »
        ID du point de venteIdentifiant unique de votre point de vente (UUID)Portail utilisateur CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concerné
        Mode test / productionActivez le mode test si vous souhaitez utiliser l’environnement sandbox (les logins et identifiants doivent être ceux de votre compte de test CentralPay)./
        URL de redirectionRedirige vos clients vers une page personnalisée après paiement sur notre formulaire.Renseignez l’URL de votre page de confirmation de paiement.

          4. 🧪 Mode test

          • Activez le mode test dans la configuration (attention, vous devez disposer d’un compte de test CentralPay et renseigner les identifiants de ce compte de test).
          • Utilisez les cartes de test fournies par CentralPay pour simuler des paiements.
          • Vérifiez le bon fonctionnement :
            • du formulaire de paiement,
            • des redirections,
            • des statuts de commande.

          5. 🧾 Suivi des paiements

          • Retrouvez tous vos paiements dans WooCommerce > Commandes.
          • Le plugin CentralPay met à jour automatiquement les statuts des commandes.
          • En cas de besoin, un journal des événements est disponible dans le fichier error.log du plugin.

          6. 🌐 Langues disponibles

          Le plugin est disponible en :

          • 🇫🇷 Français
          • 🇬🇧 Anglais

          Vous pouvez modifier ou ajouter vos propres traductions via les fichiers .po présents dans le dossier /languages, ou en utilisant un plugin comme Loco Translate.

          7. 🧹 Désinstallation

          Pour désinstaller le plugin :

          • Désactivez-le via le menu des extensions.
          • Cliquez sur Supprimer.
          • Le script de désinstallation supprimera les paramètres du plugin.

          8. ❓ Support

          Pour toute question ou assistance, contactez notre support technique depuis https://support.centralpay.com
          Merci d’indiquer votre identifiant marchand, l’URL de votre site et le plus de détails possible sur votre besoin.

          Test cards Values

          You will find below a list of cards that you can use to test and check your integration.

          Visa Card numbers

          4000 0000 0000 0051Card lost (41) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
          4000 0000 0000 0069Fraud suspicion (59) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
          4000 0000 0000 0077Insufficient funds (51) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
          4000 0000 0000 0085To be refused (5) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
          4556 5579 5572 6624Transaction successful (3DS) & Authentication = Y
          4916 9940 6425 2017Transaction successful (3DS) & Authentication = C
          4556 1041 6038 2032Transaction successful (NON 3DS) & Authentication = N
          4024 0071 7987 2394Transaction (NON 3DS) & Authentication = N
          4234 6319 8242 8908Transaction (3DS) & Authentication = I
          4234 6319 8242 8916Transaction successful (3DS) & Authentication = D : application flow
          4234 6319 8242 8924Transaction successful (3DS) & Authentication = D : browser flow
          4032 0389 8296 2700EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBIT ;
          4032 0343 8883 4767EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDIT ;
          4020 0280 0191 2012EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWN ;
          4032 0337 9569 2248EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBIT ;
          4032 0368 1354 0364EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDIT ;
          4032 0387 5662 0096EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWN ;
          4032 0358 5604 7592EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBIT ;
          4032 0302 9068 3219EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDIT ;
          4032 0377 5134 3001EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWN ;
          4032 0307 5488 6225EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBIT ;
          4032 0310 2547 6341EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDIT ;
          4032 0341 4311 3978EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWN ;
          4032 0309 5816 7398EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBIT ;
          4032 0375 4480 7536EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDIT ;
          4032 0366 9148 7225EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWN ;
          4032 0325 8917 3860EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBIT ;
          4032 0388 0897 9557EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDIT ;
          4032 0374 2147 1240EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWN ;

          Mastercard Card numbers

          5333 2591 5564 3223Transaction successful (3DS) & Authentication = Y
          5306 8899 4283 3340Transaction successful (3DS) & Authentication = C
          5328 7203 8458 2224Transaction successful (NON 3DS) & Authentication = N
          5187 4346 4359 3002Transaction successful (NON 3DS) & Authentication = N
          5517 4500 0000 0168EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDIT
          5223 8599 0000 0174EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBIT
          5325 0900 0000 0115EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT
          5325 0900 0000 0008EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT
          5486 7467 7300 0005EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUS
          5588 1000 0000 0007EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBIT
          5122 9400 0000 0009EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBIT

          Amex Card numbers

          3415 0209 8634 895Transaction successful (3DS) & Authentication = Y
          3486 3826 7931 507Transaction successful (3DS) & Authentication = C
          3456 9539 9207 589Transaction successful (NON 3DS) & Authentication = N
          3415 0209 8634 895EEA=false ; region=EUROPE ; productType=CONSUMER
          3486 3826 7931 507EEA=false ; region=EUROPE ; productType=CORPORATE
          3718 4294 2351 004EEA=false ; region=EUROPE ; productType=UNKNOWN
          3712 5311 3391 201EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMER
          3423 1631 7472 410EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATE
          3710 9829 7279 338EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWN

          CB Card numbers

          4020 0235 6597 5380Transaction successful (NON 3DS), scheme : CB
          4020 0254 4041 8403Transaction successful (NON 3DS), scheme : CB_VISA
          5232 1035 2372 2651Transaction successful (NON 3DS), scheme : CB_MASTERCARD

          Développeurs

          Articles

          • How to use the swagger >
          • Payment Request >
          • CARD Transaction
          • 3DS 2.2 >
          • SDD Transaction
          • SCT Transaction
          • Customer >
          • Subscription
          • Installment Payment >
          • Refund >
          • BankAccount >
          • Onboarding
          • Wallet >
          • Transfer >
          • TransferReversal >
          • MerchantInfo >
          • Blacklist >
          • WhiteList >
          • Payout >
          • Webhook notifications
          • Object status
          • Resources by type

          How to use the swagger >

          You’ll find below instruction to use our swagger properly

          1 – This is where you can choose the server you’ll call for your tests. For now, only RCT (Test Api) is available.
          2 – In order to do your tests, you’ll need to authenticate with your credentials. You can use here your Api login and password. You can also use our test login : Doctest:4I9HJRTd


          3 – This is where you will be able to see the parameters for each endpoint, and do your tests.

          4 – Try it out. Use this if you want to be able to test the endpoint. Make sure you’re authenticated before doing so.
          5 – This is where you’ll be able to use the test values of your choosing. By default, most values are already filled, but use yours for better results.
          6 – Click here once values are filled to call our Api and do your tests.
          7 – This is where you’ll see the results once you called our Api. You’ll also find here by default responses example for this endpoint.

          Payment Request >

          See more about Payment Requests

          CARD Transaction

          Card token

          See more about Card Token

          The Json « CardToken » object

          The « CardToken » object represents a debit/credit card token.

          Merchants usually want to be able to charge payment cards, IBAN or other without having to store sensitive data on their servers.
          Token.js makes this easy in the browser, but you can use the same technique in other environments with our token API.

          Tokens can be created with your publishable API key, which can safely be embedded in downloadable applications like iPhone and Android apps. You can then use a token anywhere in our API when a credit/debit card, bank account or any personal ID number is accepted.

          You need to add a header "Origin" with an URL previously added in your Back Office as an Authorized Custom form Host.
          For your tests, you can use the origin : https://example.centralpay.net.

          Transaction

          See more about card transactions

          Card

          See more about Card

          You can store multiple Cards per Customer in order to charge the customer later on (subscription, etc.).

          It can also be used to store multiple debit or credit cards on a recipient in order to transfer to these cards later.

          Note: If the card is already registered for this merchant, the API will return the previous cardId registered (not a new one).

          Credit

          See more about Credit

          Disputes

          See more about Disputes

          A dispute is opened when a customer questions a transaction with their bank or credit/debit card provider.

          When the transaction is tagged as a dispute, you can respond to the dispute with evidence that shows the charge is legitimate. If the transaction cannot be proven legitimate, the dispute will become a chargeback.

          3DS 2.2 >

          See more about 3DS 2.2


          SDD Transaction

          Mandate

          See more about Mandate

          SDD Transaction

          See more about SDD Transaction

          SDD Transaction Reversal

          See more about SDD Transaction Reversal

          SCT Transaction

          SCT Transaction

          See more about SCT Transaction

          SCT Transaction Reversal

          See more about SCT Transaction Reversal

          Bank Reconciliation

          See more about Bank Reconciliation

          Bank Reconciliation external

          See more about Bank Reconciliation

          Customer >

          See more about Customer

          Subscription

          Subscription Model

          See more about Subscription Model

          Subscription

          See more about Subscription

          Invoice & invoiceItem

          See more about Invoice & invoiceItem

          Installment Payment >

          See more about Installment Payment

          Refund >

          See more about Refund for Card Transaction
          See more about Refund for SCT Transaction
          See more about Refund for SDD Transaction

          BankAccount >

          See more about BankAccount

          Once your identity has been created (Merchant or Customer), you can create a bank account you’ll link to it.

          Merchants must create for their customer the bank account with informations provided by them.

          It must be noted that to become a creditor, you need to have a level STANDARD or more.

          Onboarding

          Create Enrollement

          Complete enrollment

          Update enrollment

          Search enrollement

          Enrollment Details

          E-money

          Misc

          Wallet >

          Transfer >

          TransferReversal >

          MerchantInfo >

          Blacklist >

          WhiteList >

          Payout >

          See more about Payout

          Webhook notifications

          The BANKACCOUNT object

          BANKACCOUNT_ACCEPTED
          When a Bank account is accepted
          {
            "eventId": "e9229c2d-43f3-47aa-a2d4-09b2cd8afeef",
            "type": "BANKACCOUNT_ACCEPTED",
            "creationDate": "2024-01-05T12:44:06.262837+01:00",
            "object": {
              "attachments": [],
              "bankAccountId": "e6337e4f-6067-42ca-b7f0-9b7bce77c21e",
              "bic": "AXABFRPP",
              "creationDate": "2024-01-05T12:44:06.044772+01:00",
              "currency": "EUR",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "iban": "FR7612548029980000000150086",
              "name": "GAUTHIER REF API",
              "ownerAddress": "142 RUE DE LA REFAPI",
              "ownerCity": "TOURS",
              "ownerCountry": "FRA",
              "ownerName": "GAUTHIER REFAPI",
              "ownerPostalCode": "37000",
              "type": "CUSTOMER_ACCOUNT"
            },
            "requestId": "0062091d-0377-4a47-bc95-b5717636825f"
          }

          BANKACCOUNT_PENDING
          When a Bank account is pending
          {
            "eventId": "601c64e9-b65e-4369-8f70-5d32ce853073",
            "type": "BANKACCOUNT_PENDING",
            "creationDate": "2024-01-15T14:26:17.381461+01:00",
            "object": {
              "attachments": [],
              "bankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
              "bic": "AXABFRPP",
              "creationDate": "2024-01-15T14:26:17.189030+01:00",
              "currency": "EUR",
              "iban": "DE91100000000123456789",
              "merchantId": "e962cfc2-1d4f-4f4f-8688-71c38920ca6b",
              "name": "GAUTHIER REF API",
              "ownerAddress": "142 RUE DE LA REFAPI",
              "ownerCity": "TOURS",
              "ownerCountry": "FRA",
              "ownerName": "GAUTHIER REFAPI",
              "ownerPostalCode": "37000",
              "type": "MERCHANT_ACCOUNT"
            },
            "requestId": "0965a4a6-e353-47ad-b844-40f7feca3ef0"
          }

          BANKACCOUNT_UPDATED
          When a Bank account is updated
          {
              "name": "GAUTHIER REF API",
              "description": null,
              "ownerName": "GAUTHIER REFAPI",
              "ownerAddress": "142 RUE DE LA REFAPI",
              "ownerDescription": null,
              "ownerPostalCode": "37000",
              "ownerCity": "TOURS",
              "ownerCountry": "FRA",
              "iban": "FR7612548029980000000150086",
              "bic": "AXABFRPP",
              "currency": "EUR",
              "type": "CUSTOMER_ACCOUNT",
              "bankAccountId": "e6337e4f-6067-42ca-b7f0-9b7bce77c21e",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "merchantId": null,
              "creationDate": "2024-01-05T12:44:06.044772+01:00",
              "attachments": []
          }

          The CARD object

          CARD_UPDATED
          When a card is updated
          {
            "eventId": "5f037905-d0f2-4171-bc6f-fbab3b3e56e2",
            "type": "CARD_UPDATED",
            "creationDate": "2024-01-05T12:55:39.727533+01:00",
            "object": {
              "additionalData": {},
              "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
              "cardType": "DEBIT",
              "cardholderEmail": "test@gmail.com",
              "cardholderName": "MARIE ANNE",
              "check": true,
              "commercialBrand": "MASTERCARD",
              "country": "FRA",
              "creationDate": "2024-01-05T12:52:41.054394+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "europeanEconomicArea": true,
              "expirationMonth": 9,
              "expirationYear": 2035,
              "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
              "first6": "532509",
              "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
              "last4": "0008",
              "productType": "CORPORATE",
              "region": "EUROPE"
            },
            "requestId": "296311d9-1f68-4f1f-a9bf-7879afb92c7b",
            "objectBeforeUpdate": {
              "additionalData": {},
              "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
              "cardType": "DEBIT",
              "cardholderEmail": "gduhamel@centralpay.eu",
              "check": true,
              "commercialBrand": "MASTERCARD",
              "country": "FRA",
              "creationDate": "2024-01-05T12:52:41.054394+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "europeanEconomicArea": true,
              "expirationMonth": 9,
              "expirationYear": 2035,
              "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
              "first6": "532509",
              "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
              "last4": "0008",
              "productType": "CORPORATE",
              "region": "EUROPE"
            }
          

          CARDTOKEN_CREATED
          When a card token is created
          {
            "eventId": "3973ea45-d327-48d7-b74a-08cbffc821e9",
            "type": "CARDTOKEN_CREATED",
            "creationDate": "2024-01-05T14:23:41.971425+01:00",
            "object": {
              "card": {
                "additionalData": {},
                "cardId": "81e54dd0-512e-47c0-91f3-54e81b74a3ea",
                "cardTokenId": "a3d37fd6-2ad7-4e9d-a4a0-b0b1aff44b50",
                "cardType": "DEBIT",
                "cardholderEmail": "Conner44@yahoo.com",
                "cardholderName": "GAUTHIER REFAPI",
                "check": true,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:23:41.881571+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 12,
                "expirationYear": 2025,
                "fingerprint": "edb9f9757c4be415db6616f94a04706a6b92dcd1",
                "first6": "403203",
                "last4": "2700",
                "productType": "CONSUMER",
                "region": "EUROPE"
              },
              "cardTokenId": "a3d37fd6-2ad7-4e9d-a4a0-b0b1aff44b50",
              "creationDate": "2024-01-05T14:23:41.881571+01:00",
              "endUserIp": "54.86.50.139",
              "status": "UNUSED"
            },
            "requestId": "f55ea9cb-595a-4e5d-b9ba-52198b5b3a16"
          }

          The CREDIT object

          CREDIT_CREATED
          When a credit is created
          {
            "eventId": "b0ea7273-7421-4f3d-b9b6-27c1f521386b",
            "type": "CREDIT_CREATED",
            "creationDate": "2024-01-05T14:51:48.090154+01:00",
            "object": {
              "additionalData": {
                "key1": "value1"
              },
              "amount": 100,
              "card": {
                "additionalData": {},
                "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                "cardTokenId": "39e38277-d68d-4970-b7ef-2f3e65e3ba1c",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:51:46.753895+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 12,
                "expirationYear": 2026,
                "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T14:51:47.744817+01:00",
              "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
              "currency": "EUR",
              "fee": 0,
              "merchantCreditId": "MCID-01",
              "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
              "order": {
                "addressLine1": "142 RUE DE LA REFAPI",
                "cardCountry": "FRA",
                "city": "BRIANNEBURY",
                "country": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "payoutAmount": 100,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "status": "UNCLEARED",
              "transactionTransfers": []
            },
            "requestId": "d4cf4f9b-83bc-4877-8d2a-c84a7183c666"
          }

          CREDIT_CANCELED
          When a credit is cancelled
          {
            "eventId": "df668650-b893-462e-aa1a-f232bed383da",
            "type": "CREDIT_CANCELED",
            "creationDate": "2024-01-05T14:53:29.028715+01:00",
            "object": {
              "additionalData": {
                "key1": "value1",
                "test": "test"
              },
              "amount": 100,
              "cancelMovementId": "1555e13a-0344-403a-a01c-6d435c598659",
              "cancellationDate": "2024-01-05T14:53:29.015180+01:00",
              "card": {
                "additionalData": {},
                "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:51:46.753895+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 12,
                "expirationYear": 2026,
                "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T14:51:47.744817+01:00",
              "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
              "currency": "EUR",
              "fee": 0,
              "merchantCreditId": "MCID-01",
              "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
              "order": {
                "addressLine1": "142 RUE DE LA REFAPI",
                "cardCountry": "FRA",
                "city": "BRIANNEBURY",
                "country": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "payoutAmount": 100,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "status": "CANCELED",
              "transactionTransfers": []
            },
            "requestId": "dca78a74-22f1-4fd8-a6bb-fc4be4735838"
          }

          CREDIT_UPDATED
          When a credit is updated
          {
            "eventId": "b51f11be-c535-49a4-8a70-6241afd75654",
            "type": "CREDIT_UPDATED",
            "creationDate": "2024-01-05T14:52:49.329773+01:00",
            "object": {
              "additionalData": {
                "key1": "value1",
                "test": "test"
              },
              "amount": 100,
              "card": {
                "additionalData": {},
                "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:51:46.753895+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 12,
                "expirationYear": 2026,
                "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T14:51:47.744817+01:00",
              "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
              "currency": "EUR",
              "fee": 0,
              "merchantCreditId": "MCID-01",
              "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
              "order": {
                "addressLine1": "142 RUE DE LA REFAPI",
                "cardCountry": "FRA",
                "city": "BRIANNEBURY",
                "country": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "payoutAmount": 100,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "status": "UNCLEARED",
              "transactionTransfers": []
            },
            "requestId": "300fdb28-2e74-4512-a7e9-f3fa843c8a7c",
            "objectBeforeUpdate": {
              "additionalData": {
                "key1": "value1"
              },
              "amount": 100,
              "card": {
                "additionalData": {},
                "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:51:46.753895+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 12,
                "expirationYear": 2026,
                "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T14:51:47.744817+01:00",
              "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
              "currency": "EUR",
              "fee": 0,
              "merchantCreditId": "MCID-01",
              "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
              "order": {
                "addressLine1": "142 RUE DE LA REFAPI",
                "cardCountry": "FRA",
                "city": "BRIANNEBURY",
                "country": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "payoutAmount": 100,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "status": "UNCLEARED",
              "transactionTransfers": []
            }
          }

          The CUSTOMER object

          CUSTOMER_CREATED
          When a customer is created
              {
            "eventId": "8af1b16e-f78a-42ae-9304-69624a4023fc",
            "type": "CUSTOMER_CREATED",
            "creationDate": "2024-01-05T12:29:58.808367+01:00",
            "object": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [],
              "creationDate": "2024-01-05T12:29:58.736339+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "JOCELYN",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "WISOKY",
              "merchantCustomerId": "1704454198-GDU",
              "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
              }

          CUSTOMER_UPDATED
          When a customer is updated
          {
          "eventId": "94683d87-5919-4d4a-a547-21dbc7e7af1d",
          "type": "CUSTOMER_UPDATED",
          "creationDate": "2024-01-05T12:36:29.492916+01:00",
          "object": {
          "additionalData": {},
          "bankAccounts": [],
          "cardMerchants": [],
          "cards": [],
          "creationDate": "2024-01-05T12:29:58.736339+01:00",
          "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
          "email": "gduhamel@centralpay.eu",
          "fee": 0,
          "firstName": "JOCELYN",
          "installmentPayments": [],
          "language": "fre",
          "lastName": "WISOKY",
          "merchantCustomerId": "1704454198-GDU",
          "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
          "otpExpired": false,
          "subscriptions": [],
          "totalCharge": 0,
          "wallets": []
          },
          "requestId": "ca336699-db00-46c6-a797-228c320e351b",
          "objectBeforeUpdate": {
          "additionalData": {},
          "bankAccounts": [],
          "cardMerchants": [],
          "cards": [],
          "creationDate": "2024-01-05T12:29:58.736339+01:00",
          "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
          "email": "gduhamel@centralpay.eu",
          "fee": 0,
          "firstName": "JOCELYN",
          "installmentPayments": [],
          "language": "fre",
          "lastName": "WISOKY",
          "merchantCustomerId": "1704454198-GDU",
          "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
          "otpExpired": false,
          "subscriptions": [],
          "totalCharge": 0,
          "wallets": []
          }
          }


          CUSTOMER_OTP
          When a Customer OTP is received to confirm a transaction
          {
            "eventId": "7404acb7-6000-4059-9da2-97581df00dc8",
            "type": "CUSTOMER_OTP",
            "creationDate": "2024-01-26T12:02:55.839650+01:00",
            "object": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [
                {
                  "additionalData": {},
                  "cardId": "a361cbf0-c334-4422-b4e8-4d96f6b72799",
                  "cardType": "DEBIT",
                  "cardholderEmail": "gduhamel@centralpay.eu",
                  "check": false,
                  "commercialBrand": "VISA",
                  "country": "FRA",
                  "creationDate": "2024-01-26T11:59:38.763535+01:00",
                  "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                  "europeanEconomicArea": true,
                  "expirationMonth": 9,
                  "expirationYear": 2035,
                  "fingerprint": "8e9302793aa37b661f9ec57013d105ad72f1bc86",
                  "first6": "400000",
                  "last4": "0002",
                  "productType": "UNKNOWN",
                  "region": "EUROPE"
                }
              ],
              "creationDate": "2024-01-26T11:59:38.569182+01:00",
              "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "BEULAH",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "PROSACCO",
              "merchantCustomerId": "1706266777-GDU",
              "movementId": "9afa479b-0859-4712-a614-2b1f38b81f9c",
              "otpExpirationDate": "2024-01-26T12:17:55.731546+01:00",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
            },
            "requestId": "5329117d-5f7f-471b-a8d7-832627252670",
            "objectBeforeUpdate": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [
                {
                  "additionalData": {},
                  "cardId": "a361cbf0-c334-4422-b4e8-4d96f6b72799",
                  "cardType": "DEBIT",
                  "cardholderEmail": "gduhamel@centralpay.eu",
                  "check": false,
                  "commercialBrand": "VISA",
                  "country": "FRA",
                  "creationDate": "2024-01-26T11:59:38.763535+01:00",
                  "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                  "europeanEconomicArea": true,
                  "expirationMonth": 9,
                  "expirationYear": 2035,
                  "fingerprint": "8e9302793aa37b661f9ec57013d105ad72f1bc86",
                  "first6": "400000",
                  "last4": "0002",
                  "productType": "UNKNOWN",
                  "region": "EUROPE"
                }
              ],
              "creationDate": "2024-01-26T11:59:38.569182+01:00",
              "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "BEULAH",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "PROSACCO",
              "merchantCustomerId": "1706266777-GDU",
              "movementId": "9afa479b-0859-4712-a614-2b1f38b81f9c",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
            }
          }

          The DEPOSIT object

          DEPOSIT_CREATED
          When a deposit is created
              {
                  "depositId": "f63ea558-6e50-4dba-a7e7-eb8676144ea0",
                  "creationDate": "2020-11-16T10:55:11.163214+01:00",
                  "description": null,
                  "amount": 1500000,
                  "currency": "EUR",
                  "sepaReference": null,
                  "movementId": "9612fe9b-e226-4e9f-a0dc-8539a24ba748",
                  "merchantId": "0055bff7-566c-4688-818c-85caf3601785",
                  "destinationBankAccountId": "d9952704-5054-47fc-a068-c6865a9d00fd"
              }

          DEPOSIT_UPDATED
          When a deposit is updated

          The DISPUTE object

          DISPUTE_UPDATED
          When a dispute is updated
          {
            "eventId": "91986115-56ed-442a-ace7-2207c7f7cfa1",
            "type": "DISPUTE_UPDATED",
            "creationDate": "2024-01-05T15:22:33.233092+01:00",
            "object": {
              "additionalData": {},
              "amount": 10,
              "creationDate": "2024-01-05T15:16:27.776882+01:00",
              "currency": "EUR",
              "description": "ma description",
              "disputeDate": "2021-03-18",
              "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
              "fee": 0,
              "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
              "reason": "FRAUDULENT",
              "status": "CHARGEBACK_WON",
              "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116",
              "wonMovementId": "569d7143-7357-4171-91ac-c03721a8ee30"
            },
            "requestId": "750fdf73-0782-482b-97f6-2dbfb809b563",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 10,
              "creationDate": "2024-01-05T15:16:27.776882+01:00",
              "currency": "EUR",
              "disputeDate": "2021-03-18",
              "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
              "fee": 0,
              "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
              "reason": "FRAUDULENT",
              "status": "CHARGEBACK_NOTICED",
              "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116"
            }
          }

          DISPUTE_CREATED
          When a dispute is created

          The INSTALLMENT object

          INSTALLMENTPAYMENT_CREATED
          When an installment is created
          {
            "eventId": "ab0c4d87-336d-4f1d-94ac-8a19e91c90df",
            "type": "INSTALLMENTPAYMENT_CREATED",
            "creationDate": "2024-01-05T16:47:16.962837+01:00",
            "object": {
              "additionalData": {
                "Key1": "val1"
              },
              "amount": 1000,
              "card": {
                "commercialBrand": "MASTERCARD",
                "first6": "532509",
                "last4": "0008",
                "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
              },
              "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T16:47:14.425730+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "depositAmount": 0,
              "endUserIp": "245.100.1.15",
              "feeAmount": 0,
              "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
              "installments": [
                {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:47:14.425041+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "d70bceea-1b4b-454f-ae04-3cfa5e877e01",
                  "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                  "paid": true,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:47:15.250593+01:00",
                      "uuid": "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                    }
                  ],
                  "transactions": [
                    "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                  ],
                  "type": "INSTALLMENT"
                },
                {
                  "amount": 500,
                  "attemptCount": 0,
                  "creationDate": "2024-01-05T16:47:14.425434+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "8a2fea18-7ce7-4320-a398-3aec7c7cd7e9",
                  "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                  "nextTransactionAttempt": "2024-02-05T04:00+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "transactions": [],
                  "type": "INSTALLMENT"
                }
              ],
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 2,
              "merchantInstallmentPaymentId": "MIP_001",
              "pointOfSale": {
                "name": "Corben Dallas",
                "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
              },
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "startingDate": "2024-01-05",
              "status": "ACTIVE"
            },
            "requestId": "66ec59e5-3f88-4cbd-a01f-b6be126084bf"
          }

          INSTALLMENTPAYMENT_FAILED
          When an installment failed
          {
            "eventId": "4e1bbe68-906d-4e33-923d-dfee760a2261",
            "type": "INSTALLMENTPAYMENT_FAILED",
            "creationDate": "2024-01-05T16:34:31.349325+01:00",
            "object": {
              "additionalData": {
                "Key1": "val1"
              },
              "amount": 1000,
              "card": {
                "commercialBrand": "MASTERCARD",
                "first6": "532509",
                "last4": "0008",
                "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
              },
              "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T16:34:29.520817+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "depositAmount": 0,
              "endUserIp": "245.100.1.15",
              "feeAmount": 0,
              "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
              "installments": [
                {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:34:29.520151+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "paid": false,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:34:30.385545+01:00",
                      "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                    }
                  ],
                  "transactions": [
                    "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                  ],
                  "type": "INSTALLMENT"
                },
                {
                  "amount": 500,
                  "attemptCount": 0,
                  "creationDate": "2024-01-05T16:34:29.520525+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "9d1fdd64-a45c-4f30-afb2-36734fdfbf39",
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "paid": false,
                  "sddTransactions": [],
                  "transactions": [],
                  "type": "INSTALLMENT"
                }
              ],
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 2,
              "merchantInstallmentPaymentId": "MIP_001",
              "pointOfSale": {
                "name": "Corben Dallas",
                "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
              },
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "startingDate": "2024-01-05",
              "status": "CANCELED"
            },
            "requestId": "60a91f69-2549-4652-96ee-25fb58f48f56"
          }

          INSTALLMENTPAYMENT_UPDATED
          When an installment is updated
              {
                  "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                  "creationDate": "2021-09-09T09:49:00.941254+02:00",
                  "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                  "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                  "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                  "cardId": "06a45250-8e22-41aa-a97a-284c225419a5",
                  "paymentRequestBreakdownId": "6e5ba89d-d275-4174-8cfd-9418dc6bd303",
                  "paymentRequestId": "c796df20-258e-4645-90d8-aad70349c547",
                  "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                  "depositStartingDate": null,
                  "startingDate": "2021-09-09",
                  "requestedCollectionDate": null,
                  "merchantInstallmentPaymentId": null,
                  "endUserIp": "92.154.127.221",
                  "endUserLanguage": null,
                  "amount": 300,
                  "depositAmount": 0,
                  "feeAmount": 0,
                  "currency": "EUR",
                  "description": null,
                  "intervalUnit": "WEEK",
                  "intervalCount": 1,
                  "iterationCount": 3,
                  "status": "ACTIVE",
                  "endToEndIdentification": null,
                  "remittanceInformation": "BCDEB2DEEB6E",
                  "installments": [
                      {
                          "installmentId": "ee6f170c-710a-4a9d-a79f-c163de336530",
                          "creationDate": "2021-09-09T09:49:00.940625+02:00",
                          "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                          "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                          "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                          "amount": 100,
                          "currency": "EUR",
                          "attemptCount": 1,
                          "paid": true,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": null,
                          "transactions": [],
                          "sddTransactions": [
                              "116adfc1-7996-4bd7-9678-d4a2b1a77762"
                          ]
                      },
                      {
                          "installmentId": "26d5e572-4740-4c30-bbb8-5d2251e13e1d",
                          "creationDate": "2021-09-09T09:49:00.941206+02:00",
                          "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                          "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                          "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                          "amount": 100,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-09-16T08:00+02:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "afe58afd-712d-415f-adf5-70e980c73b57",
                          "creationDate": "2021-09-09T09:49:00.941224+02:00",
                          "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                          "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                          "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                          "amount": 100,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-09-23T08:00+02:00",
                          "transactions": [],
                          "sddTransactions": []
                      }
                  ],
                  "additionalData": []
              }

          INSTALLMENTPAYMENT_CANCELED
          When an installment is cancelled
          {
            "eventId": "47253f14-814e-4cf8-9582-be869145a80f",
            "type": "INSTALLMENTPAYMENT_CANCELED",
            "creationDate": "2024-01-05T16:34:31.276257+01:00",
            "object": {
              "additionalData": {
                "Key1": "val1"
              },
              "amount": 1000,
              "card": {
                "commercialBrand": "MASTERCARD",
                "first6": "532509",
                "last4": "0008",
                "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
              },
              "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T16:34:29.520817+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "depositAmount": 0,
              "endUserIp": "245.100.1.15",
              "feeAmount": 0,
              "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
              "installments": [
                {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:34:29.520151+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "paid": false,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:34:30.385545+01:00",
                      "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                    }
                  ],
                  "transactions": [
                    "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                  ],
                  "type": "INSTALLMENT"
                },
                {
                  "amount": 500,
                  "attemptCount": 0,
                  "creationDate": "2024-01-05T16:34:29.520525+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "9d1fdd64-a45c-4f30-afb2-36734fdfbf39",
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "paid": false,
                  "sddTransactions": [],
                  "transactions": [],
                  "type": "INSTALLMENT"
                }
              ],
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 2,
              "merchantInstallmentPaymentId": "MIP_001",
              "pointOfSale": {
                "name": "Corben Dallas",
                "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
              },
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "startingDate": "2024-01-05",
              "status": "CANCELED"
            },
            "requestId": "1bac71b6-6d40-4618-b772-95c926cbeab2"
          }

          INSTALLMENTPAYMENT_ACTIVATED
          When an installment is activated

          INSTALLMENTPAYMENT_FAILURE
          When an installment failed to be paid

          INSTALLMENTPAYMENT_PAID
          When an installment is paid
          {
            "eventId": "17198557-e18a-4e75-a88f-d23ea841a641",
            "type": "INSTALLMENTPAYMENT_PAID",
            "creationDate": "2024-01-30T12:19:22.324713+01:00",
            "object": {
              "additionalData": {},
              "amount": 100000,
              "card": {
                "commercialBrand": "VISA",
                "first6": "403203",
                "last4": "2700",
                "uuid": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82"
              },
              "cardId": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-15T12:40:35.818249+01:00",
              "currency": "EUR",
              "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
              "depositAmount": 0,
              "endUserIp": "91.229.230.41",
              "endUserLanguage": "eng",
              "feeAmount": 0,
              "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
              "installments": [
                {
                  "amount": 50000,
                  "attemptCount": 1,
                  "creationDate": "2024-01-15T12:40:35.818185+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "installmentId": "c3c2eb3c-9935-4eb1-a9bd-42f62f1c035c",
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "paid": true,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-15T12:40:36.418127+01:00",
                      "uuid": "7f642ab2-5c15-4420-b85a-a97cb819844d"
                    }
                  ],
                  "transactions": [
                    "7f642ab2-5c15-4420-b85a-a97cb819844d"
                  ],
                  "type": "INSTALLMENT"
                },
                {
                  "amount": 50000,
                  "attemptCount": 1,
                  "creationDate": "2024-01-15T12:40:35.818207+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "installmentId": "6eaf48a5-d0df-40d2-bd62-a297444d37d2",
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "paid": true,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-30T12:19:20.941639+01:00",
                      "uuid": "ea71af48-6048-46e0-8703-7cb3e0a24b65"
                    }
                  ],
                  "transactions": [
                    "ea71af48-6048-46e0-8703-7cb3e0a24b65"
                  ],
                  "type": "INSTALLMENT"
                }
              ],
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 2,
              "paymentRequestBreakdownId": "b665743f-6671-4749-9727-f801c0d9915a",
              "paymentRequestId": "3192c6e1-89e6-4d5a-9d96-3208b37f5c3f",
              "pointOfSale": {
                "name": "Corben Dallas",
                "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
              },
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "startingDate": "2023-12-15",
              "status": "PAID"
            },
            "requestId": "7ef61f64-e4e9-4021-8d29-c4b449b762f8"
          }

          INSTALLMENTPAYMENT_UNPAID
          When an installment is unpaid
              {
                  "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                  "creationDate": "2021-09-03T10:38:16.811541+02:00",
                  "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                  "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                  "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                  "cardId": "d3143e10-9660-48bb-b6a6-b2e1100ecf6f",
                  "paymentRequestBreakdownId": null,
                  "paymentRequestId": null,
                  "mandateId": null,
                  "depositStartingDate": "2021-09-03",
                  "startingDate": "2021-09-17",
                  "requestedCollectionDate": null,
                  "merchantInstallmentPaymentId": "testInstall",
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "fre",
                  "amount": 550000,
                  "depositAmount": 50000,
                  "feeAmount": 0,
                  "currency": "EUR",
                  "description": null,
                  "intervalUnit": "WEEK",
                  "intervalCount": 2,
                  "iterationCount": 10,
                  "status": "UNPAID",
                  "endToEndIdentification": null,
                  "remittanceInformation": null,
                  "installments": [
                      {
                          "installmentId": "1a123952-cc30-47c2-8f2e-1b6182fd25a6",
                          "creationDate": "2021-09-03T10:38:16.809510+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 1,
                          "paid": false,
                          "type": "DEPOSIT",
                          "nextTransactionAttempt": "2021-09-03T08:00+02:00",
                          "transactions": [
                              "91c604d8-a63c-483c-87aa-f03181a634b5"
                          ],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "28754849-1b22-491b-bc15-7f38d0c9a988",
                          "creationDate": "2021-09-03T10:38:16.810529+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-09-17T08:00+02:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "666f0320-7766-464e-949b-e7ce9997a173",
                          "creationDate": "2021-09-03T10:38:16.810564+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-10-01T08:00+02:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "1b88ddcc-5c9e-4b43-a3cc-6792d9162ea4",
                          "creationDate": "2021-09-03T10:38:16.810582+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-10-15T08:00+02:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "1f25ec3c-d846-4f9c-80e9-c5b86adef8eb",
                          "creationDate": "2021-09-03T10:38:16.810595+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-10-29T08:00+02:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "9d206cee-565d-4181-9987-d65f82a0ffaa",
                          "creationDate": "2021-09-03T10:38:16.810609+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-11-12T07:00+01:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "4fecfcf0-7b4a-4241-a716-a56bc840bd20",
                          "creationDate": "2021-09-03T10:38:16.810621+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-11-26T07:00+01:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "703d1c4f-f1a6-4e30-9a8c-83cd9916f42e",
                          "creationDate": "2021-09-03T10:38:16.810634+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-12-10T07:00+01:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "4c98d99f-f321-43bf-a37e-801a85d03200",
                          "creationDate": "2021-09-03T10:38:16.810646+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2021-12-24T07:00+01:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "893c6120-7f51-4616-9f18-7880c76747fb",
                          "creationDate": "2021-09-03T10:38:16.810658+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2022-01-07T07:00+01:00",
                          "transactions": [],
                          "sddTransactions": []
                      },
                      {
                          "installmentId": "8bf4e146-8737-4260-84f5-1a95653d1e24",
                          "creationDate": "2021-09-03T10:38:16.810671+02:00",
                          "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                          "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                          "mandateId": null,
                          "amount": 50000,
                          "currency": "EUR",
                          "attemptCount": 0,
                          "paid": false,
                          "type": "INSTALLMENT",
                          "nextTransactionAttempt": "2022-01-21T07:00+01:00",
                          "transactions": [],
                          "sddTransactions": []
                      }
                  ],
                  "additionalData": []
              }

          INSTALLMENT_TRANSACTION_SUCCEEDED
          When a transaction of an installment is make
          {
            "eventId": "a4bb53ba-c913-4077-bf75-5b3d91c0f026",
            "type": "INSTALLMENT_TRANSACTION_SUCCEEDED",
            "creationDate": "2024-01-05T16:47:16.914769+01:00",
            "object": {
              "amount": 500,
              "attemptCount": 1,
              "creationDate": "2024-01-05T16:47:14.425041+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "installmentId": "d70bceea-1b4b-454f-ae04-3cfa5e877e01",
              "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
              "paid": true,
              "sddTransactions": [],
              "transactionDatas": [
                {
                  "creationDate": "2024-01-05T16:47:15.250593+01:00",
                  "uuid": "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                }
              ],
              "transactions": [
                "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
              ],
              "type": "INSTALLMENT"
            },
            "requestId": "05809a07-9e49-44be-91c2-4ca357f2a7cc"
          }

          INSTALLMENT_TRANSACTION_FAILED
          When a transaction of an installment is failed
          {
            "eventId": "2518ae0a-7e88-4458-86cb-3ef2a71f07bf",
            "type": "INSTALLMENT_TRANSACTION_FAILED",
            "creationDate": "2024-01-05T16:34:31.034977+01:00",
            "object": {
              "amount": 500,
              "attemptCount": 1,
              "creationDate": "2024-01-05T16:34:29.520151+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
              "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
              "nextTransactionAttempt": "2024-01-08T04:00+01:00",
              "paid": false,
              "sddTransactions": [],
              "transactionDatas": [
                {
                  "creationDate": "2024-01-05T16:34:30.385545+01:00",
                  "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                }
              ],
              "transactions": [
                "f061fa00-8494-4eca-b9d1-f54d36125d7d"
              ],
              "type": "INSTALLMENT"
            },
            "requestId": "89cb89a8-618a-46f6-8971-c8f84a57f61e"
          }

          The ONBOARDING object

          ONBOARDING_ENROLLMENT_CREATED
          When the onboarding request has been accept. You will receive an enrollementId associated to you custom reference.
          {
            "eventId": "8eb9f549-325d-4451-8e98-d90f1bf5635a",
            "type": "ONBOARDING_ENROLLMENT_CREATED",
            "creationDate": "2024-01-10T09:14:51.488392+01:00",
            "object": {
              "workflow": {
                "uuid": "b1161973-7ec2-4dd0-a23e-abb788b68844",
                "status": "ON_GOING",
                "activities": [
                  {
                    "step_elements": [],
                    "uuid": "e08b0baf-c947-4b82-bd69-f98a2a67c511",
                    "name": "ContractValiA",
                    "state": "TODO",
                    "category": "validation",
                    "created_at": "2024-01-10T09:14:51"
                  }
                ],
                "additional_documents": []
              },
              "identity_badge": null,
              "representatives_list": null,
              "inactive_representatives_list": [],
              "infogreffe_identity": null,
              "language": "fr",
              "risk_score": {
                "activity": 2,
                "activity_age": null,
                "turnover": 1,
                "bank_account": 0,
                "total": null
              },
              "additional_document_need_upload": false,
              "uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
              "risk_points": null,
              "created_at": "2024-01-10T09:14:51",
              "last_updated_at": null,
              "turnover_is_fixed": false,
              "workflow_mode": "SEQUENTIAL",
              "risk_level": "LOW",
              "type": "INDIVIDUAL",
              "is_canceled": false,
              "enrollment_account": null,
              "profile": {
                "birthname": {
                  "status": "ON_GOING",
                  "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                  "value": null,
                  "element-type": "birthname"
                },
                "uuid": "805a41ad-bd70-4841-a0d4-91f9082860dd",
                "workflow": {
                  "uuid": "24d6e160-5f16-4e60-81a2-f5b6942ce629",
                  "status": "ON_GOING",
                  "activities": [
                    {
                      "step_elements": [
                        {
                          "status": "COMPLETED",
                          "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                          "value": "Carmelo",
                          "element-type": "firstname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                          "value": "Littel",
                          "element-type": "lastname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                          "value": "verna11@yahoo.com",
                          "element-type": "email"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                          "value": "+3300000000",
                          "element-type": "phone"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                          "value": "1993-01-01T00:00:00",
                          "element-type": "birthday"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                          "value": "Tours",
                          "element-type": "place-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                          "country": "FRA",
                          "element-type": "country-of-birth"
                        }
                      ],
                      "uuid": "adf915df-d11f-4862-b76d-1c1e4e06994d",
                      "name": "identityInfos",
                      "state": "TODO",
                      "category": "identity",
                      "created_at": "2024-01-10T09:14:51"
                    }
                  ],
                  "additional_documents": []
                },
                "firstname": {
                  "status": "COMPLETED",
                  "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                  "value": "Carmelo",
                  "element-type": "firstname"
                },
                "lastname": {
                  "status": "COMPLETED",
                  "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                  "value": "Littel",
                  "element-type": "lastname"
                },
                "usename": {
                  "status": "ON_GOING",
                  "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                  "value": null,
                  "element-type": "birthname"
                },
                "email": {
                  "status": "COMPLETED",
                  "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                  "value": "verna11@yahoo.com",
                  "element-type": "email"
                },
                "language": {
                  "status": "ON_GOING",
                  "uuid": "78daf0f6-4659-461f-a817-72c4b233cd70",
                  "locale": {
                    "identifier": "fr"
                  },
                  "element-type": "language"
                },
                "phone": {
                  "status": "COMPLETED",
                  "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                  "value": "+3300000000",
                  "element-type": "phone"
                },
                "birthday": {
                  "status": "COMPLETED",
                  "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                  "value": "1993-01-01T00:00:00",
                  "element-type": "birthday"
                },
                "login": null,
                "bo_user_uuid": null
              },
              "activity_sector": {
                "name": "Artisans (plumber, electricians, ...)"
              },
              "data": {
                "type": "PARTICULAR",
                "company_name": null,
                "history": [],
                "turnover": {
                  "name": "Less than 20k EUR"
                },
                "activity_age": null
              },
              "custom_reference": null,
              "is_converted": false,
              "conformity_status": "ON_GOING",
              "conformity_status_level_two": null,
              "comments_level_two": null,
              "validator_level_one": null,
              "validator_level_two": null,
              "merchant_uuid": null,
              "validation_date": null,
              "validation_date_level_two": null,
              "sub_type": null,
              "api_infogreffe_attempt": 0,
              "next_step": 0,
              "full_kyc": false
            },
            "requestId": "b59cf6d0-4180-4a0e-b26d-8d2e34759c46"
          }

          ONBOARDING_ENROLLMENT_STATUS_UPDATED
          An ongoing onboarding has been updated.
          {
            "eventId": "e4e42e20-1819-49d3-af96-9a7ecb978a5d",
            "type": "ONBOARDING_ENROLLMENT_STATUS_UPDATED",
            "creationDate": "2024-01-10T09:16:02.927117+01:00",
            "object": {
              "workflow": {
                "uuid": "b1161973-7ec2-4dd0-a23e-abb788b68844",
                "status": "ON_GOING",
                "activities": [
                  {
                    "step_elements": [],
                    "uuid": "e08b0baf-c947-4b82-bd69-f98a2a67c511",
                    "name": "ContractValiA",
                    "state": "TODO",
                    "category": "validation",
                    "created_at": "2024-01-10T09:14:51"
                  }
                ],
                "additional_documents": []
              },
              "identity_badge": null,
              "representatives_list": null,
              "inactive_representatives_list": [],
              "infogreffe_identity": null,
              "language": "fr",
              "risk_score": {
                "activity": 2,
                "activity_age": null,
                "turnover": 1,
                "bank_account": 0,
                "total": null
              },
              "additional_document_need_upload": false,
              "uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
              "risk_points": null,
              "created_at": "2024-01-10T09:14:51",
              "last_updated_at": "2024-01-10T09:16:02",
              "turnover_is_fixed": false,
              "workflow_mode": "SEQUENTIAL",
              "risk_level": "LOW",
              "type": "INDIVIDUAL",
              "is_canceled": false,
              "enrollment_account": null,
              "profile": {
                "birthname": {
                  "status": "ON_GOING",
                  "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                  "value": null,
                  "element-type": "birthname"
                },
                "uuid": "805a41ad-bd70-4841-a0d4-91f9082860dd",
                "workflow": {
                  "uuid": "24d6e160-5f16-4e60-81a2-f5b6942ce629",
                  "status": "ACCEPTED",
                  "activities": [
                    {
                      "step_elements": [
                        {
                          "status": "COMPLETED",
                          "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                          "value": "Carmelo",
                          "element-type": "firstname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                          "country": "FRA",
                          "element-type": "country-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                          "value": "1993-01-01T00:00:00",
                          "element-type": "birthday"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                          "value": "+3300000000",
                          "element-type": "phone"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                          "value": "Littel",
                          "element-type": "lastname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                          "value": "Tours",
                          "element-type": "place-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                          "value": "verna11@yahoo.com",
                          "element-type": "email"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                          "value": "Carmelo",
                          "element-type": "firstname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                          "value": "Littel",
                          "element-type": "lastname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                          "value": "verna11@yahoo.com",
                          "element-type": "email"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                          "value": "+3300000000",
                          "element-type": "phone"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                          "value": "1993-01-01T00:00:00",
                          "element-type": "birthday"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                          "value": "Tours",
                          "element-type": "place-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                          "country": "FRA",
                          "element-type": "country-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "08942994-180a-469e-9139-fa2fa09375ec",
                          "documents": [
                            {
                              "file_check": null
                            }
                          ],
                          "type": "PASSPORT",
                          "proof_of_identity_document": null,
                          "expiry_date": null,
                          "document_number": null,
                          "mrz_line1": null,
                          "mrz_line2": null,
                          "issuing_country": null,
                          "element-type": "identity-document"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "01994746-c538-4387-a07d-af53b40e797d",
                          "name_line1": "rue du bois",
                          "name_line2": null,
                          "name_line3": null,
                          "name_line4": null,
                          "locality": "Tours",
                          "postal_code": "37000",
                          "country": "FRA",
                          "element-type": "address"
                        }
                      ],
                      "uuid": "adf915df-d11f-4862-b76d-1c1e4e06994d",
                      "name": "identityInfos",
                      "state": "OK",
                      "category": "identity",
                      "created_at": "2024-01-10T09:14:51"
                    },
                    {
                      "step_elements": [],
                      "uuid": null,
                      "name": "finished",
                      "state": "OK",
                      "category": null,
                      "created_at": null
                    }
                  ],
                  "additional_documents": []
                },
                "firstname": {
                  "status": "COMPLETED",
                  "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                  "value": "Carmelo",
                  "element-type": "firstname"
                },
                "lastname": {
                  "status": "COMPLETED",
                  "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                  "value": "Littel",
                  "element-type": "lastname"
                },
                "usename": {
                  "status": "ON_GOING",
                  "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                  "value": null,
                  "element-type": "birthname"
                },
                "email": {
                  "status": "COMPLETED",
                  "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                  "value": "verna11@yahoo.com",
                  "element-type": "email"
                },
                "language": {
                  "status": "ON_GOING",
                  "uuid": "78daf0f6-4659-461f-a817-72c4b233cd70",
                  "locale": {
                    "identifier": "fr"
                  },
                  "element-type": "language"
                },
                "phone": {
                  "status": "COMPLETED",
                  "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                  "value": "+3300000000",
                  "element-type": "phone"
                },
                "birthday": {
                  "status": "COMPLETED",
                  "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                  "value": "1993-01-01T00:00:00",
                  "element-type": "birthday"
                },
                "login": null,
                "bo_user_uuid": null
              },
              "activity_sector": {
                "name": "Hotels & holiday rentals"
              },
              "data": {
                "type": "PARTICULAR",
                "company_name": null,
                "history": [],
                "turnover": {
                  "name": "Less than 20k EUR"
                },
                "activity_age": null
              },
              "custom_reference": null,
              "is_converted": false,
              "conformity_status": "ON_GOING",
              "conformity_status_level_two": null,
              "comments_level_two": null,
              "validator_level_one": null,
              "validator_level_two": null,
              "merchant_uuid": null,
              "validation_date": null,
              "validation_date_level_two": null,
              "sub_type": null,
              "api_infogreffe_attempt": 0,
              "next_step": 0,
              "full_kyc": false
            },
            "requestId": "e2324dd3-59e4-44e2-a0d7-fe7df9c4a690"
          }

          ONBOARDING_ENROLLMENT_INVALID_DOCUMENTS
          Some documents are regarded as invalid by the Centralpay conformity
          {
              "uuid": "bc0fac82-xxxx-xxxx-8107-80b12cae168b",
              "activities": [
                  {
                      "uuid": "ffd29ae2-xxxx-xxxx-b6cc-a368c664f224",
                      "name": "identityInfos",
                      "step_elements": [
                          {
                              "uuid": "ac1c8f9c-xxxx-xxxx-a10b-1e26937942fc",
                              "field": "IdentityDocument",
                              "comment": "Le document est expiré",
                              "reasons": [
                                  {
                                      "reason": "OTHER",
                                      "comment": null
                                  }
                              ]
                          }
                      ]
                  }
              ]
          }

          ONBOARDING_ENROLLMENT_VALID_DOCUMENTS
          Some documents are regarded as valid by the Centralpay conformity
          {
              "uuid": "c5ed5ac3-xxxx-xxxx-909a-e7e8fde6ab0e",
              "risk_level": "MEDIUM",
              "merchant_block_configuration_status": "NONE"
          }

          ONBOARDING_PAYMENT_ACCOUNT_CREATED
          The account has been created.
          {
            "eventId": "69d19eb6-5b4d-4658-8149-526d779328a4",
            "type": "ONBOARDING_PAYMENT_ACCOUNT_CREATED",
            "creationDate": "2024-01-10T09:17:04.318216+01:00",
            "object": {
              "merchantEnrollmentId": "c2e03650-2427-4c25-aa31-016c63f7261b",
              "merchantEnrollmentCustomReference": null,
              "merchantEnrollmentType": "BASIC",
              "merchantId": "cac4f315-4dbf-45da-bb3c-4c9b64fe81c1",
              "merchantName": "Carmelo Littel",
              "merchantWalletId": "9a8fc3a1-bece-4ef2-a92a-d6341f8799e0",
              "creationDate": "2024-01-10T09:17:03+0100",
              "merchantBlockConfigurationStatus": "NONE"
            },
            "requestId": "abd91f96-78c3-4277-8eea-b2a4e323efd3"
          }

          ONBOARDING_PAYMENT_ACCOUNT_UPDATED
          The account has been update. You receive those elements

          ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTED
          Additionnal documents or information have been request on one ongoing onboarding.
              {
                  "uuid": "1ad91002-fcad-4056-a41f-82ab63687af2",
                  "additional_documents": 
                {
                      "uuid": "eb0b568a-a619-4d80-b35a-846144ef1925",
                      "created_at": "2021-03-23T17:30:35+01:00",
                      "type": "AUDITED_FINANCIAL_REPORT",
                      "additional_documents_history": 
                    [
                          {
                              "uuid": "1a330b31-9150-45cd-9fc3-bb3bed751b7b",
                              "created_at": "2021-03-23T17:30:35+01:00",
                              "status": "NOT_UPLOADED",
                              "comment": "en couleur de moins de 3 mois",
                              "additional_document_history_status": 
                              [
                                  {
                                      "changed_at": "2021-03-23T17:30:35+01:00",
                                      "value": "NOT_UPLOADED"
                                  }
                              ]
                          }
                      ]
                  }
              }

          ONBOARDING_ADDITIONAL_DOCUMENT_UPDATED
          Additionnal documents or information have been provided by the account holder in one ongoing onboarding.

          ONBOARDING_ENROLLMENT_WORKFLOW_RESET
          The workflow has returned to it’s initial state
          {
            "eventId": "4fa7e538-9e45-4ba2-8c22-25bdb931ff19",
            "type": "ONBOARDING_ENROLLMENT_WORKFLOW_RESET",
            "creationDate": "2024-01-25T12:24:32.450115+01:00",
            "object": {
              "workflow": {
                "uuid": "cc91fb6c-55c0-48b3-82de-549d1061edf9",
                "status": "ON_GOING",
                "activities": [
                  {
                    "step_elements": [],
                    "uuid": "49ff33c2-d4e8-4eec-ad1c-43ebe822706b",
                    "name": "ContractValiA",
                    "state": "TODO",
                    "category": "validation",
                    "created_at": "2024-01-25T12:24:32"
                  },
                  {
                    "step_elements": [],
                    "uuid": "49ff33c2-d4e8-4eec-ad1c-43ebe822706b",
                    "name": "ContractValiA",
                    "state": "TODO",
                    "category": "validation",
                    "created_at": "2024-01-25T12:24:32"
                  }
                ],
                "additional_documents": []
              },
              "identity_badge": null,
              "representatives_list": null,
              "inactive_representatives_list": [],
              "infogreffe_identity": null,
              "language": "fr",
              "risk_score": {
                "activity": 2,
                "activity_age": null,
                "turnover": 1,
                "bank_account": 0,
                "total": null
              },
              "additional_document_need_upload": false,
              "uuid": "b7fa53f5-1cc7-4524-8a41-364b6e85f6b4",
              "risk_points": null,
              "created_at": "2024-01-25T12:21:11",
              "last_updated_at": null,
              "turnover_is_fixed": false,
              "workflow_mode": "SEQUENTIAL",
              "risk_level": "LOW",
              "type": "INDIVIDUAL",
              "is_canceled": false,
              "enrollment_account": null,
              "profile": {
                "birthname": {
                  "status": "ON_GOING",
                  "uuid": "a404d8cf-d4f5-412a-b0a2-fc8843fbe7ed",
                  "value": null,
                  "element-type": "birthname"
                },
                "uuid": "c8e69bcf-cd2a-4dd5-85a6-252ba8ef2fa2",
                "workflow": {
                  "uuid": "512c94e7-f470-446f-b030-65729b681d41",
                  "status": "ON_GOING",
                  "activities": [
                    {
                      "step_elements": [
                        {
                          "status": "COMPLETED",
                          "uuid": "e3832733-a07c-4f29-999a-945854cae097",
                          "value": "Alejandra",
                          "element-type": "firstname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "6f2bf419-ada4-4967-b6ff-4c02dee109f4",
                          "value": "Walter",
                          "element-type": "lastname"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "a691c5d5-a62a-4cd9-97b1-b68c1e612d0f",
                          "value": "+3300000000",
                          "element-type": "phone"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "e077ba27-5cfe-4a5b-ada9-cbf043d50cb5",
                          "value": "Tours",
                          "element-type": "place-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "faec075e-d17c-4c7d-ad2d-8e9ee573f840",
                          "value": "1993-01-01T00:00:00",
                          "element-type": "birthday"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "d052f4da-c670-4075-8d29-d55fdae732a5",
                          "country": "FRA",
                          "element-type": "country-of-birth"
                        },
                        {
                          "status": "COMPLETED",
                          "uuid": "96693dd5-4463-402a-aea7-e034b414825a",
                          "value": "tessie_ebert@gmail.com",
                          "element-type": "email"
                        }
                      ],
                      "uuid": "b77d7bf7-ab6f-4cb0-ad18-22ac66a50a3b",
                      "name": "identityInfos",
                      "state": "TODO",
                      "category": "identity",
                      "created_at": "2024-01-25T12:21:11"
                    }
                  ],
                  "additional_documents": []
                },
                "firstname": {
                  "status": "COMPLETED",
                  "uuid": "e3832733-a07c-4f29-999a-945854cae097",
                  "value": "Alejandra",
                  "element-type": "firstname"
                },
                "lastname": {
                  "status": "COMPLETED",
                  "uuid": "6f2bf419-ada4-4967-b6ff-4c02dee109f4",
                  "value": "Walter",
                  "element-type": "lastname"
                },
                "usename": {
                  "status": "ON_GOING",
                  "uuid": "a404d8cf-d4f5-412a-b0a2-fc8843fbe7ed",
                  "value": null,
                  "element-type": "birthname"
                },
                "email": {
                  "status": "COMPLETED",
                  "uuid": "96693dd5-4463-402a-aea7-e034b414825a",
                  "value": "tessie_ebert@gmail.com",
                  "element-type": "email"
                },
                "language": {
                  "status": "ON_GOING",
                  "uuid": "232259eb-02cf-48af-9693-d678fecd9dc1",
                  "locale": {
                    "identifier": "fr"
                  },
                  "element-type": "language"
                },
                "phone": {
                  "status": "COMPLETED",
                  "uuid": "a691c5d5-a62a-4cd9-97b1-b68c1e612d0f",
                  "value": "+3300000000",
                  "element-type": "phone"
                },
                "birthday": {
                  "status": "COMPLETED",
                  "uuid": "faec075e-d17c-4c7d-ad2d-8e9ee573f840",
                  "value": "1993-01-01T00:00:00",
                  "element-type": "birthday"
                },
                "login": null,
                "bo_user_uuid": null
              },
              "activity_sector": {
                "name": "Artisans (plumber, electricians, ...)"
              },
              "data": {
                "type": "PARTICULAR",
                "company_name": null,
                "history": [],
                "turnover": {
                  "name": "Less than 20k EUR"
                },
                "activity_age": null
              },
              "custom_reference": null,
              "is_converted": false,
              "conformity_status": "ON_GOING",
              "conformity_status_level_two": null,
              "comments_level_two": null,
              "validator_level_one": null,
              "validator_level_two": null,
              "merchant_uuid": null,
              "validation_date": null,
              "validation_date_level_two": null,
              "sub_type": null,
              "api_infogreffe_attempt": 0,
              "next_step": 0,
              "full_kyc": false,
              "auto_updated_data": false
            },
            "requestId": "3ca496d0-bd87-4457-8460-fc1e502d4962"
          }

          ONBOARDING_PEP_SANCTION_SEARCH_RESULT
          The PEP Sanction search has return result, you receive those elements
          {
            "eventId": "a427366c-eb0b-4d68-9d81-22f406162024",
            "type": "ONBOARDING_PEP_SANCTION_SEARCH_RESULT",
            "creationDate": "2024-01-10T09:16:09.771127+01:00",
            "object": {
              "enrollment_uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
              "enrollment_url": "https://test-backoffice.centralpay.net/admin/onboarding/c2e03650-2427-4c25-aa31-016c63f7261b/show",
              "profile": {
                "pep_validation": {
                  "created_at": "2024-01-10 09:16:04",
                  "status": "ACCEPTED",
                  "reference": "1704874567-MMSug5fh",
                  "client_ref": "225cab33-3c8d-4bc7-b6d8-7f7d7448b49d",
                  "review_url": "https://api.complyadvantage.com1704874567-MMSug5fh"
                },
                "sanction_validation": {
                  "created_at": "2024-01-10 09:16:04",
                  "status": "ACCEPTED",
                  "reference": "1704874567-MMSug5fh",
                  "client_ref": "225cab33-3c8d-4bc7-b6d8-7f7d7448b49d",
                  "review_url": "https://api.complyadvantage.com1704874567-MMSug5fh"
                }
              }
            },
            "requestId": "d995a82d-ff33-4c20-af58-2546f3ef4c09"
          }

          ENROLLMENT_CREATED
          When an enrollement is created

          The PAYMENT REQUEST object

          PAYMENTREQUEST_CREATED
          Happen when a payment request is created
          {
            "eventId": "75b8f668-c5ce-40c8-ba51-2423004b04d2",
            "type": "PAYMENTREQUEST_CREATED",
            "creationDate": "2024-01-08T11:47:27.515437+01:00",
            "object": {
              "additionalData": {},
              "attachments": [],
              "breakdowns": [
                {
                  "amount": 29000,
                  "email": "gduhamel@centralpay.eu",
                  "endpoint": "https://test-form.centralpay.net/446ae220-96f7-40ec-bd9b-9c8b83e0919b",
                  "entered": false,
                  "firstName": "Corben",
                  "initiator": true,
                  "lastName": "DALLAS",
                  "paid": false,
                  "paymentAttempted": false,
                  "paymentRequestBreakdownId": "548c4ce7-d14f-486d-b9ac-b3caa3a9f5b6",
                  "payments": [],
                  "status": "UNPAID",
                  "view": 0
                }
              ],
              "createCustomer": false,
              "creationDate": "2024-01-08T11:47:27.494330+01:00",
              "currency": "EUR",
              "installments": [],
              "language": "fre",
              "linkExpirationDate": "2025-01-07T11:47:27.393093+01:00",
              "merchantPaymentRequestId": "Facture 12334",
              "notificationEmails": [],
              "paymentMethods": [
                "TRANSACTION",
                "SCT_TRANSACTION"
              ],
              "paymentRequestId": "1c3d2a38-5f0e-41d4-a177-cf87fb5da617",
              "paymentRequestStatus": "ACTIVE",
              "paymentStatus": "UNPAID",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "scenarios": [],
              "subscriptions": [],
              "totalAmount": 29000,
              "transaction": {
                "capture": true,
                "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                "customAcceptanceData": {},
                "paymentRequestTransactionId": "94977411-0b77-4792-b4cb-efd133911f66",
                "source": "EC"
              },
              "transfers": [],
              "wireTransfer": {
                "paymentRequestWireTransferId": "329c9d8f-53de-4797-b6fc-d75ce3bf2466"
              }
            },
            "requestId": "7dc393fc-f32a-4c4e-945e-f4f231610a47"
          }

          PAYMENTREQUEST_CANCELED
          Happen when a payment request is cancelled
          {
            "eventId": "092b72f8-67a3-489c-af21-684eef115c65",
            "type": "PAYMENTREQUEST_CANCELED",
            "creationDate": "2024-01-08T11:50:28.640892+01:00",
            "object": {
              "additionalData": {},
              "attachments": [],
              "breakdowns": [
                {
                  "amount": 29000,
                  "email": "gduhamel@centralpay.eu",
                  "endpoint": "https://test-form.centralpay.net/446ae220-96f7-40ec-bd9b-9c8b83e0919b",
                  "entered": true,
                  "firstName": "Corben",
                  "initiator": true,
                  "lastName": "DALLAS",
                  "paid": false,
                  "paymentAttempted": false,
                  "paymentRequestBreakdownId": "548c4ce7-d14f-486d-b9ac-b3caa3a9f5b6",
                  "payments": [],
                  "status": "UNPAID",
                  "view": 0
                }
              ],
              "createCustomer": false,
              "creationDate": "2024-01-08T11:47:27.494330+01:00",
              "currency": "EUR",
              "endingDate": "2024-01-08T11:50:28.619151+01:00",
              "installments": [],
              "language": "fre",
              "linkExpirationDate": "2025-01-07T11:47:27.393093+01:00",
              "merchantPaymentRequestId": "Facture 12334",
              "notificationEmails": [],
              "paymentMethods": [
                "SCT_TRANSACTION",
                "TRANSACTION"
              ],
              "paymentRequestId": "1c3d2a38-5f0e-41d4-a177-cf87fb5da617",
              "paymentRequestStatus": "CANCELED",
              "paymentStatus": "UNPAID",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "scenarios": [],
              "subscriptions": [],
              "totalAmount": 29000,
              "transaction": {
                "capture": true,
                "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                "customAcceptanceData": {},
                "paymentRequestTransactionId": "94977411-0b77-4792-b4cb-efd133911f66",
                "source": "EC"
              },
              "transfers": [],
              "wireTransfer": {
                "paymentRequestWireTransferId": "329c9d8f-53de-4797-b6fc-d75ce3bf2466"
              }
            },
            "requestId": "ff7f8976-a2fe-4a90-8bf1-55eb6a1abf5f"
          }

          PAYMENTREQUEST_CLOSED
          Happen when a payment request is closed
          {
            "eventId": "f06c4263-7708-476e-89c8-c6c52213d034",
            "type": "PAYMENTREQUEST_CLOSED",
            "creationDate": "2024-01-08T11:51:37.271485+01:00",
            "object": {
              "additionalData": {},
              "attachments": [],
              "breakdowns": [
                {
                  "amount": 29000,
                  "email": "gduhamel@centralpay.eu",
                  "endpoint": "https://test-form.centralpay.net/7c9b8626-c7b1-46dc-9efa-7f7c994839e6",
                  "entered": true,
                  "firstName": "Corben",
                  "initiator": true,
                  "lastName": "DALLAS",
                  "paid": false,
                  "paymentAttempted": false,
                  "paymentRequestBreakdownId": "82ad8194-10e6-4639-8011-8cacd285f465",
                  "payments": [],
                  "status": "UNPAID",
                  "view": 0
                }
              ],
              "createCustomer": false,
              "creationDate": "2024-01-08T11:51:25.123940+01:00",
              "currency": "EUR",
              "endingDate": "2024-01-08T11:51:37.249097+01:00",
              "installments": [],
              "language": "fre",
              "linkExpirationDate": "2025-01-07T11:51:25.039807+01:00",
              "merchantPaymentRequestId": "Facture 12334",
              "notificationEmails": [],
              "paymentMethods": [
                "SCT_TRANSACTION",
                "TRANSACTION"
              ],
              "paymentRequestId": "af2d283a-eec1-4d55-9fa9-82ae6a3a1212",
              "paymentRequestStatus": "CLOSED",
              "paymentStatus": "UNPAID",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "scenarios": [],
              "subscriptions": [],
              "totalAmount": 29000,
              "transaction": {
                "capture": true,
                "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                "customAcceptanceData": {},
                "paymentRequestTransactionId": "49d7fa4f-88d8-43bf-8ed1-2ac68a093953",
                "source": "EC"
              },
              "transfers": [],
              "wireTransfer": {
                "paymentRequestWireTransferId": "a26099e7-af23-4b71-baa0-24608bb10f0e"
              }
            },
            "requestId": "19ae9e22-5c4b-4c2b-a94c-a2fd41c3dcd2"
          }

          PAYMENTREQUEST_PAID
          Happen when a payment request is paid
          {
            "eventId": "04feded6-e56b-4980-903f-3f15d89405aa",
            "type": "PAYMENTREQUEST_PAID",
            "creationDate": "2024-01-15T12:36:33.155085+01:00",
            "object": {
              "additionalData": {},
              "attachments": [],
              "breakdowns": [
                {
                  "amount": 100000,
                  "email": "gduhamel@centralpay.eu",
                  "endpoint": "https://test-form.centralpay.net/6afa376b-976a-4b79-8320-5baf16681b79",
                  "entered": true,
                  "initiator": true,
                  "paid": false,
                  "paymentAttempted": false,
                  "paymentRequestBreakdownId": "75b6d330-948e-4aef-8967-d88d2acc7190",
                  "payments": [
                    {
                      "creationDate": "2024-01-15T12:36:11.311665+01:00",
                      "paymentMethod": "TRANSACTION",
                      "uuid": "73d16504-a1d7-488a-8e0a-b350972f754d"
                    },
                    {
                      "creationDate": "2024-01-15T12:36:31.689550+01:00",
                      "paymentMethod": "TRANSACTION",
                      "uuid": "f80eee11-a633-46c2-bf08-f31d33d3107a"
                    }
                  ],
                  "status": "PAID",
                  "view": 0
                }
              ],
              "createCustomer": false,
              "creationDate": "2024-01-15T12:34:44.362675+01:00",
              "currency": "EUR",
              "endingDate": "2024-01-15T12:36:33.036207+01:00",
              "installment": {
                "depositAmount": 0,
                "feeAmount": 0,
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 2,
                "paymentRequestInstallmentId": "979caed1-430b-4984-8697-7f85eecaf482",
                "source": "CARD",
                "startingDate": "2024-01-15"
              },
              "installments": [
                {
                  "depositAmount": 0,
                  "feeAmount": 0,
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestInstallmentId": "979caed1-430b-4984-8697-7f85eecaf482",
                  "source": "CARD",
                  "startingDate": "2024-01-15"
                }
              ],
              "language": "eng",
              "linkExpirationDate": "2025-01-14T12:34:44.285879+01:00",
              "notificationEmails": [],
              "paymentMethods": [
                "INSTALLMENT",
                "TRANSACTION"
              ],
              "paymentRequestId": "2bfc4ab4-f878-46b8-8a12-3263d2d28842",
              "paymentRequestStatus": "CLOSED",
              "paymentStatus": "PAID",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "scenarios": [],
              "subscriptions": [],
              "totalAmount": 100000,
              "transaction": {
                "capture": true,
                "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                "customAcceptanceData": {},
                "paymentRequestTransactionId": "75b7c505-c546-475a-88ee-c169073d05b1",
                "source": "EC"
              },
              "transfers": []
            },
            "requestId": "6847ced8-92ab-45df-9f1d-1069112b98e1"
          }

          PAYMENTREQUEST_INSTALLMENT_FAILED
          Happen when the installment of the payment request failed
          {
            "eventId": "36650db2-3f36-479f-9518-16699a289467",
            "type": "PAYMENTREQUEST_INSTALLMENT_FAILED",
            "creationDate": "2024-01-15T12:43:18.344841+01:00",
            "object": {
              "additionalData": {},
              "amount": 100000,
              "card": {
                "commercialBrand": "VISA",
                "first6": "400000",
                "last4": "0069",
                "uuid": "3f3114d8-03eb-464d-9b0c-15200caa6d2d"
              },
              "cardId": "3f3114d8-03eb-464d-9b0c-15200caa6d2d",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-15T12:43:16.467780+01:00",
              "currency": "EUR",
              "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
              "depositAmount": 0,
              "endUserIp": "91.229.230.41",
              "endUserLanguage": "eng",
              "feeAmount": 0,
              "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
              "installments": [
                {
                  "amount": 50000,
                  "attemptCount": 1,
                  "creationDate": "2024-01-15T12:43:16.467716+01:00",
                  "currency": "EUR",
                  "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                  "installmentId": "54c40fa5-e25e-451b-9c5f-7a6d715c449c",
                  "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                  "nextTransactionAttempt": "2024-01-18T04:00+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-15T12:43:17.074117+01:00",
                      "uuid": "70ccb90d-3b1a-43d2-b1ee-146e65cf4906"
                    }
                  ],
                  "transactions": [
                    "70ccb90d-3b1a-43d2-b1ee-146e65cf4906"
                  ],
                  "type": "INSTALLMENT"
                },
                {
                  "amount": 50000,
                  "attemptCount": 0,
                  "creationDate": "2024-01-15T12:43:16.467738+01:00",
                  "currency": "EUR",
                  "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                  "installmentId": "1db9808f-cbd9-4498-8d35-497ff341c473",
                  "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                  "nextTransactionAttempt": "2024-02-15T04:00+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "transactions": [],
                  "type": "INSTALLMENT"
                }
              ],
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 2,
              "paymentRequestBreakdownId": "fbd3f414-f1dc-416a-a4cd-d7bf76d21b77",
              "paymentRequestId": "b4a010bb-8e3f-4261-af97-4993bede753f",
              "pointOfSale": {
                "name": "Corben Dallas",
                "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
              },
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "startingDate": "2024-01-15",
              "status": "FAILURE"
            },
            "requestId": "e217a158-fc58-4b43-8c5d-6f23f7cc7977"
          }

          PAYMENTREQUEST_INSTALLMENT_SUCCEEDED
          Happen when the installment of the payment request succeeded
          {
            "eventId": "8f744f4e-4101-4df4-805f-22be1620b4e7",
            "type": "PAYMENTREQUEST_INSTALLMENT_SUCCEEDED",
            "creationDate": "2024-01-15T12:40:38.091171+01:00",
            "object": {
              "additionalData": {},
              "amount": 100000,
              "card": {
                "commercialBrand": "VISA",
                "first6": "403203",
                "last4": "2700",
                "uuid": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82"
              },
              "cardId": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-15T12:40:35.818249+01:00",
              "currency": "EUR",
              "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
              "depositAmount": 0,
              "endUserIp": "91.229.230.41",
              "endUserLanguage": "eng",
              "feeAmount": 0,
              "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
              "installments": [
                {
                  "amount": 50000,
                  "attemptCount": 1,
                  "creationDate": "2024-01-15T12:40:35.818185+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "installmentId": "c3c2eb3c-9935-4eb1-a9bd-42f62f1c035c",
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "paid": true,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-15T12:40:36.418127+01:00",
                      "uuid": "7f642ab2-5c15-4420-b85a-a97cb819844d"
                    }
                  ],
                  "transactions": [
                    "7f642ab2-5c15-4420-b85a-a97cb819844d"
                  ],
                  "type": "INSTALLMENT"
                },
                {
                  "amount": 50000,
                  "attemptCount": 0,
                  "creationDate": "2024-01-15T12:40:35.818207+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "installmentId": "6eaf48a5-d0df-40d2-bd62-a297444d37d2",
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "nextTransactionAttempt": "2024-02-15T04:00+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "transactions": [],
                  "type": "INSTALLMENT"
                }
              ],
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 2,
              "paymentRequestBreakdownId": "b665743f-6671-4749-9727-f801c0d9915a",
              "paymentRequestId": "3192c6e1-89e6-4d5a-9d96-3208b37f5c3f",
              "pointOfSale": {
                "name": "Corben Dallas",
                "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
              },
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "startingDate": "2024-01-15",
              "status": "ACTIVE"
            },
            "requestId": "b843a04a-cb43-4883-a584-7adc52142c55"
          }

          PAYMENTREQUEST_SUBSCRIPTION_FAILED
          Happen when the subscription of the payment request failed
              {
                  "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                  "creationDate": "2021-09-08T09:39:06.212604+02:00",
                  "walletId": null,
                  "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                  "cardId": "63afa65e-5674-49bf-9ac3-a98b82d16e92",
                  "mandateId": null,
                  "startingDate": "2021-09-08",
                  "endingDate": null,
                  "expectedEndingDate": "2022-09-07",
                  "currentPeriodStart": "2021-09-08",
                  "currentPeriodEnd": "2021-10-07",
                  "requestedCollectionDate": null,
                  "cancellationDate": null,
                  "paymentRequestBreakdownId": null,
                  "paymentRequestId": null,
                  "merchantSubscriptionId": null,
                  "subscriptionModel": {
                      "subscriptionModelId": "01c3f578-a589-4ef7-9bb6-d855ff0fa121",
                      "creationDate": "2021-09-08T09:39:06.137368+02:00",
                      "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                      "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                      "merchantSubscriptionModelId": null,
                      "amount": 10000,
                      "currency": "EUR",
                      "name": "Test Abo",
                      "description": null,
                      "intervalUnit": "MONTH",
                      "intervalCount": 1,
                      "iterationCount": 12,
                      "additionalData": []
                  },
                  "quantity": 1,
                  "status": "ACTIVE",
                  "cancelAtPeriodEnd": null,
                  "lastInvoice": {
                      "invoiceId": "da0622d1-723b-4567-ad40-917a92a84e05",
                      "creationDate": "2021-09-08T09:39:06.562016+02:00",
                      "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                      "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                      "walletId": null,
                      "mandateId": null,
                      "merchantInvoiceId": null,
                      "amount": 10000,
                      "currency": "EUR",
                      "closed": true,
                      "invoiceItems": [
                          {
                              "invoiceItemId": "e8b03ea3-85ca-4e85-ab3d-6b1c83122508",
                              "creationDate": "2021-09-08T09:39:06.469080+02:00",
                              "invoiceId": "da0622d1-723b-4567-ad40-917a92a84e05",
                              "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                              "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                              "walletId": null,
                              "mandateId": null,
                              "merchantInvoiceItemId": null,
                              "quantity": 1,
                              "amount": 10000,
                              "totalAmount": 10000,
                              "currency": "EUR",
                              "description": null,
                              "type": "SUBSCRIPTION",
                              "additionalData": []
                          }
                      ],
                      "description": null,
                      "attemptCount": 1,
                      "paid": true,
                      "type": "SUBSCRIPTION",
                      "nextTransactionAttempt": null,
                      "transactions": [
                          "d0bcd686-1b6b-45aa-bf8a-c4cedab81127"
                      ],
                      "transfers": [],
                      "sddTransactions": [],
                      "eventReceivedDate": null,
                      "additionalData": []
                  },
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": null,
                  "endToEndIdentification": null,
                  "remittanceInformation": null,
                  "redirect": null,
                  "additionalData": []
              }

          PAYMENTREQUEST_SUBSCRIPTION_SUCCEEDED
          Happen when the subscription of the payment request succeeded
              {
                  "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                  "creationDate": "2021-09-09T10:32:15.675280+02:00",
                  "walletId": null,
                  "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                  "cardId": null,
                  "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                  "startingDate": "2021-09-09",
                  "endingDate": null,
                  "expectedEndingDate": null,
                  "currentPeriodStart": "2021-09-09",
                  "currentPeriodEnd": "2021-10-08",
                  "requestedCollectionDate": "2021-09-15",
                  "cancellationDate": null,
                  "paymentRequestBreakdownId": "825c03a4-fa3e-4df0-812d-f3d094f88ca3",
                  "paymentRequestId": "ef4bf0e4-c77c-42a3-910e-b85e84b3c92b",
                  "merchantSubscriptionId": null,
                  "subscriptionModel": {
                      "subscriptionModelId": "b1561842-46c1-422c-84a6-69ea8e1c8051",
                      "creationDate": "2017-05-10T09:20:14.268+02:00",
                      "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                      "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                      "merchantSubscriptionModelId": "a00e2d1b-87a1-4fb2-8e15-5d6132006d5b",
                      "amount": 2000,
                      "currency": "EUR",
                      "name": "premium",
                      "description": "abbonnement premium",
                      "intervalUnit": "MONTH",
                      "intervalCount": 1,
                      "iterationCount": null,
                      "additionalData": []
                  },
                  "quantity": 1,
                  "status": "ACTIVE",
                  "cancelAtPeriodEnd": null,
                  "lastInvoice": {
                      "invoiceId": "e257896b-86a1-41cf-865b-ac0531e2ea4a",
                      "creationDate": "2021-09-09T10:32:16.072897+02:00",
                      "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                      "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                      "walletId": null,
                      "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                      "merchantInvoiceId": null,
                      "amount": 2000,
                      "currency": "EUR",
                      "closed": true,
                      "invoiceItems": [
                          {
                              "invoiceItemId": "0dabd4f2-6e36-4731-989a-d00bdf93e748",
                              "creationDate": "2021-09-09T10:32:15.860404+02:00",
                              "invoiceId": "e257896b-86a1-41cf-865b-ac0531e2ea4a",
                              "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                              "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                              "walletId": null,
                              "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                              "merchantInvoiceItemId": null,
                              "quantity": 1,
                              "amount": 2000,
                              "totalAmount": 2000,
                              "currency": "EUR",
                              "description": null,
                              "type": "SUBSCRIPTION",
                              "additionalData": []
                          }
                      ],
                      "description": null,
                      "attemptCount": 1,
                      "paid": true,
                      "type": "SUBSCRIPTION",
                      "nextTransactionAttempt": null,
                      "transactions": [],
                      "transfers": [],
                      "sddTransactions": [
                          "0fd0d6cb-076a-4df5-9e89-7a62b74791e8"
                      ],
                      "eventReceivedDate": null,
                      "additionalData": []
                  },
                  "endUserIp": "92.154.127.221",
                  "endUserLanguage": null,
                  "endToEndIdentification": null,
                  "remittanceInformation": "PREMIUM",
                  "redirect": null,
                  "additionalData": []
              }

          PAYMENTREQUEST_TRANSACTION_FAILED
          Happen when the transaction of the payment request failed
          {
            "eventId": "66f20401-7ca6-47bd-95f1-830628171cf8",
            "type": "PAYMENTREQUEST_TRANSACTION_FAILED",
            "creationDate": "2024-01-05T14:46:59.418489+01:00",
            "object": {
              "additionalData": {},
              "amount": 3600000,
              "amountCaptured": 0,
              "amountRefunded": 0,
              "archivingReference": "9GUGCIZEU0VN",
              "authorizationMovementId": "7ed9258a-ee75-4705-90f3-678973d2402e",
              "authorizationStatus": "FAILURE",
              "bankCode": "51",
              "bankMessage": "Simulation : Insufficient Funds",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
              "captureStatus": "UNCAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "30e49b6e-ed07-4b43-8862-2abd2f181678",
                "cardType": "DEBIT",
                "cardholderEmail": "gduhamel@centralpay.eu",
                "check": true,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:46:39.151564+01:00",
                "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "7032968c1a882c155b3d8014297daabaa7133680",
                "first6": "400000",
                "infoId": "90eaf823-e2e7-4757-845a-b966bbab03c6",
                "last4": "0077",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "country": "FRA",
              "creationDate": "2024-01-05T14:46:58.190985+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "endUserIp": "245.100.1.15",
              "endUserLanguage": "fre",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "order": {
                "cardholderEmail": "GDU-Yvette5@hotmail.com",
                "country": "FRA"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "GDU-Buck_Gislason@hotmail.com",
              "refunded": false,
              "refunds": [],
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 3600000,
              "transactionId": "d530cdbe-b9fc-481b-b99d-8ce0db75deb4",
              "transactionStatus": "FAILURE",
              "transactiontransfers": [],
              "withCvv": true
            },
            "requestId": "c120a3c0-764a-4c7e-a705-4721784212c7"
          }

          PAYMENTREQUEST_TRANSACTION_SUCCEEDED
          Happen when the transaction of the payment request succeeded
          {
            "eventId": "11a2d5b6-b8da-4e83-8182-5bd417b0b6b6",
            "type": "PAYMENTREQUEST_TRANSACTION_SUCCEEDED",
            "creationDate": "2024-01-15T12:36:33.122848+01:00",
            "object": {
              "additionalData": {},
              "amount": 100000,
              "amountCaptured": 100000,
              "amountRefunded": 0,
              "archivingReference": "3GZD1KYRDSHP",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "656d9ee5-8ccb-45d9-a8fe-c830adf69dfd",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
              "captureDate": "2024-01-15T12:36:33.020554+01:00",
              "captureStatus": "CAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "5e6269c2-b8a7-4ced-ad12-4c6cfdeda11b",
                "cardTokenId": "0211ff3d-1e71-4772-8bdb-8c7e23905f86",
                "cardType": "DEBIT",
                "cardholderEmail": "gduhamel@centralpay.eu",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-15T12:36:29.312152+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 5,
                "expirationYear": 2025,
                "fingerprint": "9ede6a38739c3ce76c59bee1083409937d497e7a",
                "first6": "403203",
                "last4": "2700",
                "productType": "CONSUMER",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-15T12:36:31.689550+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "endUserIp": "91.229.230.41",
              "endUserLanguage": "eng",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "455d5abf-4076-4b14-8804-87fc9a9ece8d",
              "order": {
                "cardholderEmail": "gduhamel@centralpay.eu"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "paymentRequestBreakdownId": "75b6d330-948e-4aef-8967-d88d2acc7190",
              "paymentRequestId": "2bfc4ab4-f878-46b8-8a12-3263d2d28842",
              "payoutAmount": 100000,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "gduhamel@centralpay.eu",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": true,
              "totalAmount": 100000,
              "transactionId": "f80eee11-a633-46c2-bf08-f31d33d3107a",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [],
              "withCvv": true
            },
            "requestId": "6847ced8-92ab-45df-9f1d-1069112b98e1"
          }

          PAYMENTREQUEST_SDDTRANSACTION_SUCCEEDED
          Happen when the SDD transaction of the payment request succeeded

          PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDED
          Happen when the SCT transaction of the payment request succeeded

          The PAYOUT object

          PAYOUT_CREATED
          When a payout will be asked.
          {
            "eventId": "da2e06e2-c6d5-416e-91b8-3fd398e216aa",
            "type": "PAYOUT_CREATED",
            "creationDate": "2024-01-15T15:05:36.401305+01:00",
            "object": {
              "additionalData": {},
              "amount": 1,
              "automatic": false,
              "creationDate": "2024-01-15T15:05:36.280515+01:00",
              "currency": "EUR",
              "description": "ma description",
              "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
              "expectedArrivalDate": "2024-01-17",
              "fee": 0,
              "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
              "net": 1,
              "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
              "payoutReference": "PAYOUT-20240115150536-a00f7a69",
              "payoutType": "SCT",
              "status": "PENDING",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "9d99d793-ef34-4e4f-aefd-627da4b77fbc"
          }

          PAYOUT_UPDATED
          When an ongoing payout has been updated.
          {
            "eventId": "e1e8725c-eb98-400f-b3df-8f799a3ba165",
            "type": "PAYOUT_UPDATED",
            "creationDate": "2024-01-15T15:06:51.827583+01:00",
            "object": {
              "additionalData": {},
              "amount": 1,
              "automatic": false,
              "creationDate": "2024-01-15T15:05:36.280515+01:00",
              "currency": "EUR",
              "description": "ma description",
              "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
              "expectedArrivalDate": "2024-01-17",
              "fee": 0,
              "merchantPayoutId": "Up_Test_Doc",
              "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
              "net": 1,
              "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
              "payoutReference": "PAYOUT-20240115150536-a00f7a69",
              "payoutType": "SCT",
              "status": "PENDING",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "a39650ab-ddcf-4da7-965e-a0e5d44949ab",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 1,
              "automatic": false,
              "creationDate": "2024-01-15T15:05:36.280515+01:00",
              "currency": "EUR",
              "description": "ma description",
              "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
              "expectedArrivalDate": "2024-01-17",
              "fee": 0,
              "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
              "net": 1,
              "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
              "payoutReference": "PAYOUT-20240115150536-a00f7a69",
              "payoutType": "SCT",
              "status": "PENDING",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            }
          }

          PAYOUT_CANCELED
          When an ongoing payout has been canceled.
          {
            "eventId": "9630cef4-e1f4-4f5d-811d-e361c4c30c78",
            "type": "PAYOUT_CANCELED",
            "creationDate": "2024-01-08T15:15:55.576036+01:00",
            "object": {
              "additionalData": {},
              "amount": 1,
              "automatic": false,
              "cancelMovementId": "258e7c45-1d4f-48fc-a026-bebb8c10014e",
              "cancellationDate": "2024-01-08T15:15:55.562863+01:00",
              "creationDate": "2024-01-08T15:15:22.435232+01:00",
              "currency": "EUR",
              "description": "ma description",
              "destinationBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
              "expectedArrivalDate": "2024-01-10",
              "fee": 0,
              "merchantPayoutId": "Up_Test_Doc",
              "movementId": "3d8c5417-2cc9-4c7d-9504-5446cac24e87",
              "net": 1,
              "payoutId": "d68c9005-8954-4d17-96f5-8435a81ace20",
              "payoutReference": "PAYOUT-20240108151522-a00f7a69",
              "payoutType": "SCT",
              "status": "CANCEL",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "7b69dbff-59eb-489f-ac0a-9df343f2bd2a"
          }

          PAYOUT_PAID
          When an ongoing payout has been properly executed.
          {
            "eventId": "9a1df5b8-6b24-4274-ad52-1295999f4a6c",
            "type": "PAYOUT_PAID",
            "creationDate": "2024-01-30T11:29:15.965095+01:00",
            "object": {
              "additionalData": {},
              "amount": 100,
              "arrivalDate": "2024-01-30",
              "automatic": true,
              "creationDate": "2024-01-26T16:56:15.147347+01:00",
              "currency": "EUR",
              "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
              "expectedArrivalDate": "2024-01-28",
              "fee": 0,
              "movementId": "b4fafbb7-e73a-4a98-bc6b-f4c7dfee7104",
              "net": 100,
              "payoutId": "f88cab14-b73e-44fc-adcf-9cb1f4f4c43b",
              "payoutReference": "PAYOUT-20240126165615-a00f7a69",
              "payoutType": "SCT",
              "status": "PAID",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "ceffc00e-a708-45fd-bc16-fe0999455e06"
          }

          PAYOUT_REVERSAL_CREATED
          When a payout reversal has been created

          The REFUND object

          REFUND_CREATED
          When a refund is created
              {
                  "refundId": "3c349da5-c144-424b-bbdd-6f756b43c4ee",
                  "creationDate": "2021-09-08T09:40:42.140717+02:00",
                  "transactionId": "9c6ffb50-11cf-418c-9c9f-57a3fba20c20",
                  "clearingDate": null,
                  "cancellationDate": null,
                  "merchantRefundId": null,
                  "currency": "EUR",
                  "amount": 1,
                  "payoutCurrency": "EUR",
                  "payoutAmount": 1,
                  "commission": 0,
                  "fee": 0,
                  "description": "ma description",
                  "status": "UNCLEARED",
                  "movementId": "8981c46d-1e9e-4501-b78c-2d3e6e313fda",
                  "cancelMovementId": null,
                  "additionalData": []
              }

          REFUND_CANCELED
          When a refund is cancelled
              {
                  "refundId": "3c349da5-c144-424b-bbdd-6f756b43c4ee",
                  "creationDate": "2021-09-08T09:40:42.140717+02:00",
                  "transactionId": "9c6ffb50-11cf-418c-9c9f-57a3fba20c20",
                  "clearingDate": null,
                  "cancellationDate": "2021-09-08T09:40:42.646025+02:00",
                  "merchantRefundId": null,
                  "currency": "EUR",
                  "amount": 1,
                  "payoutCurrency": "EUR",
                  "payoutAmount": 1,
                  "commission": 0,
                  "fee": 0,
                  "description": "ma description",
                  "status": "CANCELED",
                  "movementId": "8981c46d-1e9e-4501-b78c-2d3e6e313fda",
                  "cancelMovementId": "b315d96f-8dc0-437d-af5f-729a8c0bb502",
                  "additionalData": []
              }

          REFUND_UPDATED
          When a refund is updated

          The SCT Transaction object

          SCT_TRANSACTION_CREATED
          When a sct transaction is created
          {
            "eventId": "283cb3c2-ddfd-4db2-aef7-df47e642d6b2",
            "type": "SCT_TRANSACTION_CREATED",
            "creationDate": "2024-01-08T16:03:10.536372+01:00",
            "object": {
              "additionalData": {},
              "amount": 12345,
              "bankAccount": {
                "bic": "AXABFRPP",
                "iban": "FR7612548029980000000150086"
              },
              "bic": "AXABFRPP",
              "creationDate": "2024-01-08T16:03:10.516099+01:00",
              "currency": "EUR",
              "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
              "iban": "FR7612548029980000000150086",
              "order": {
                "firstName": "CORBEN",
                "lastName": "DALLAS"
              },
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "refunds": [],
              "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
              "sepaReference": "TOKWTB",
              "status": "PENDING",
              "transactionTransfers": []
            },
            "requestId": "f3ccb2bd-df53-4b50-b64a-5d503dda7440"
          }

          SCT_TRANSACTION_UPDATED
          When a sct transaction is updated
          {
            "eventId": "8057c6df-86d2-45e0-8cc9-9d2d7163ab99",
            "type": "SCT_TRANSACTION_UPDATED",
            "creationDate": "2024-01-08T16:03:44.760244+01:00",
            "object": {
              "additionalData": {},
              "amount": 12345,
              "bankAccount": {
                "bic": "AXABFRPP",
                "iban": "FR7612548029980000000150086"
              },
              "bic": "AXABFRPP",
              "creationDate": "2024-01-08T16:03:10.516099+01:00",
              "currency": "EUR",
              "description": "ma description",
              "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
              "iban": "FR7612548029980000000150086",
              "order": {
                "firstName": "CORBEN",
                "lastName": "DALLAS"
              },
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "processed": false,
              "refunds": [],
              "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
              "sepaReference": "TOKWTB         ",
              "status": "PENDING",
              "transactionTransfers": []
            },
            "requestId": "a40ff9c2-3285-4b1b-aee2-de5b21402ad1",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 12345,
              "bankAccount": {
                "bic": "AXABFRPP",
                "iban": "FR7612548029980000000150086"
              },
              "bic": "AXABFRPP",
              "creationDate": "2024-01-08T16:03:10.516099+01:00",
              "currency": "EUR",
              "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
              "iban": "FR7612548029980000000150086",
              "order": {
                "firstName": "CORBEN",
                "lastName": "DALLAS"
              },
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "processed": false,
              "refunds": [],
              "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
              "sepaReference": "TOKWTB         ",
              "status": "PENDING",
              "transactionTransfers": []
            }
          }

          SCT_TRANSACTION_RECEIVED
          When a sct transaction is received
          {
            "eventId": "b6fef094-77d5-4230-8526-baa0fb4b10d6",
            "type": "SCT_TRANSACTION_RECEIVED",
            "creationDate": "2024-01-10T12:39:40.146639+01:00",
            "object": {
              "additionalData": {},
              "amount": 12345,
              "bankAccount": {
                "bic": "CEAYFR22",
                "iban": "FR7699999000019761523040665"
              },
              "bic": "CEAYFR22",
              "commission": 0,
              "creationDate": "2024-01-10T12:32:39.516605+01:00",
              "currency": "EUR",
              "debtorInfo": {
                "address": {
                  "addressLines": [
                    "Direccion del ordenante",
                    "08010  BARCELONA"
                  ],
                  "country": "ES"
                },
                "name": "GUILLAUME MAXIMILIEN JACQUES PONSARD"
              },
              "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
              "fee": 0,
              "iban": "FR7699999000019761523040665",
              "merchantSctTransactionId": "8srWEcIiIW",
              "movementId": "25d7a3f4-a421-4dc7-8554-486bf801bade",
              "order": {
                "firstName": "CORBEN",
                "lastName": "DALLAS"
              },
              "payoutAmount": 12345,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "processed": true,
              "processedDate": "2024-01-10T12:39:40.099911+01:00",
              "receiptDate": "2024-01-10T12:39:40.099911+01:00",
              "sctTransactionId": "4cbd9866-b723-4a3a-9bf8-b30382b91909",
              "sepaReference": "ZCPTDW         ",
              "status": "RECEIVED",
              "transactionTransfers": []
            },
            "requestId": "4be1b982-107d-4133-bdb2-377afd4d7ae4"
          }

          SCT_TRANSACTION_CANCELED
          When a sct transaction is cancelled
          {
          {
            "eventId": "66cedcb4-091a-4023-beb8-d64f86438c73",
            "type": "SCT_TRANSACTION_CANCELED",
            "creationDate": "2024-01-08T16:03:57.125156+01:00",
            "object": {
              "additionalData": {},
              "amount": 12345,
              "bankAccount": {
                "bic": "AXABFRPP",
                "iban": "FR7612548029980000000150086"
              },
              "bic": "AXABFRPP",
              "cancellationDate": "2024-01-08T16:03:57.119857+01:00",
              "creationDate": "2024-01-08T16:03:10.516099+01:00",
              "currency": "EUR",
              "description": "ma description",
              "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
              "iban": "FR7612548029980000000150086",
              "order": {
                "firstName": "CORBEN",
                "lastName": "DALLAS"
              },
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "processed": false,
              "refunds": [],
              "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
              "sepaReference": "TOKWTB         ",
              "status": "CANCELED",
              "transactionTransfers": []
            },
            "requestId": "8aa84040-e72b-4e78-9149-0e5478d74b10"
          }
          }

          SCT_TRANSACTION_REVERSAL_CREATED
          When a sct transaction reversal is created
          {
            "eventId": "80544b1c-a167-4dd5-b493-166642e543fd",
            "type": "SCT_TRANSACTION_REVERSAL_CREATED",
            "creationDate": "2024-01-11T11:48:24.125374+01:00",
            "object": {
              "amount": 12345,
              "creationDate": "2024-01-11T11:48:24.116525+01:00",
              "currency": "EUR",
              "description": "Remboursement du client",
              "sctTransactionId": "2cf657da-9431-4da2-9720-4b877a9b44ef",
              "sctTransactionReversalId": "d5a11ee9-a598-4457-9ed8-e9a7961baaf7",
              "status": "PENDING"
            },
            "requestId": "9ea9af82-921f-4b41-9de8-e461bc284849"
          }}

          SCT_TRANSACTION_REVERSAL_RECEIVED
          When a sct transaction reversal is received
          {
            "eventId": "180bfcfd-a46c-40e3-8d9c-e1eeb380d84f",
            "type": "SCT_TRANSACTION_REVERSAL_RECEIVED",
            "creationDate": "2024-01-30T12:38:45.221820+01:00",
            "object": {
              "amount": 12345,
              "creationDate": "2024-01-11T11:48:24.116525+01:00",
              "currency": "EUR",
              "description": "Remboursement du client",
              "expectedAvailabilityDate": "2024-01-30",
              "movementId": "ec5a1db6-af35-47ad-9387-9b37e7cc6053",
              "sctTransactionId": "2cf657da-9431-4da2-9720-4b877a9b44ef",
              "sctTransactionReversalId": "d5a11ee9-a598-4457-9ed8-e9a7961baaf7",
              "status": "RECEIVED"
            },
            "requestId": "20319064-8dfb-453f-ab0b-d621055606d7"
          }

          SCT_TRANSACTION_REFUNDED_CANCELED
          When a sct transaction refund is cancelled

          SCT_TRANSACTION_REFUNDED_RECEIVED,
          When a sct transaction refund is received

          SCT_TRANSACTION_REFUNDED
          When a sct transaction reversal is created

          The SDD TRANSACTION object

          SDDTRANSACTION_CREATED
          When a SDD Transaction is created
          {
            "eventId": "bc6cb3b3-2960-4833-88a4-ddce9335fcbe",
            "type": "SDDTRANSACTION_CREATED",
            "creationDate": "2024-01-11T13:02:56.629960+01:00",
            "object": {
              "additionalData": {},
              "amount": 12,
              "automaticValidation": false,
              "creationDate": "2024-01-11T13:02:56.373932+01:00",
              "currency": "EUR",
              "endToEndIdentification": "M6C+XE3H5",
              "endUserIp": "245.100.1.15",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
              "otpExpired": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "remittanceInformation": "TEST",
              "requestedCollectionDate": "2024-01-12",
              "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
              "sequenceType": "RCUR",
              "status": "PENDING",
              "transactionTransfers": [],
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "27dd69d1-3789-4abc-9e9c-d6644c436f9b"
          }

          SDDTRANSACTION_CLEARED
          When a SDD Transaction is received
          {
            "eventId": "e54db468-ee08-4f61-83b2-c91b7c6a0c05",
            "type": "SDDTRANSACTION_CLEARED",
            "creationDate": "2024-01-11T14:30:59.249935+01:00",
            "object": {
              "additionalData": {},
              "amount": 12,
              "automaticValidation": false,
              "commission": 0,
              "creationDate": "2024-01-11T14:28:41.754664+01:00",
              "currency": "EUR",
              "endToEndIdentification": "84J4ZDNEW",
              "endUserIp": "245.100.1.15",
              "fee": 0,
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "movementId": "0a6ffbe5-f067-4c03-9f62-672cb46e312c",
              "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
              "otpExpired": false,
              "payoutAmount": 12,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "remittanceInformation": "TEST",
              "requestedCollectionDate": "2024-01-12",
              "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
              "sequenceType": "RCUR",
              "status": "CLEARED",
              "transactionTransfers": [],
              "validationDate": "2024-01-11T14:30:56.448356+01:00",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "5a2c73f8-1a46-451c-9444-608cb8a1f92d"
          }

          SDDTRANSACTION_VALIDATED
          When a SDD Transaction is validated
          {
            "eventId": "2a21fd0e-19f2-469e-a80d-0300398f7d40",
            "type": "SDDTRANSACTION_VALIDATED",
            "creationDate": "2024-01-11T13:03:17.335248+01:00",
            "object": {
              "additionalData": {},
              "amount": 12,
              "automaticValidation": false,
              "creationDate": "2024-01-11T13:02:56.373932+01:00",
              "currency": "EUR",
              "endToEndIdentification": "M6C+XE3H5",
              "endUserIp": "245.100.1.15",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
              "otpExpired": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "remittanceInformation": "TEST",
              "requestedCollectionDate": "2024-01-12",
              "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
              "sequenceType": "RCUR",
              "status": "ACTIVE",
              "transactionTransfers": [],
              "validationDate": "2024-01-11T13:03:17.329335+01:00",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "3af961bc-140f-4630-bdda-cff9854484b0"
          }

          SDDTRANSACTION_CANCELED
          When a SDD Transaction is cancelled
          {
            "eventId": "894cf6da-e9d6-41b4-8504-d541c13dd7e5",
            "type": "SDDTRANSACTION_CANCELED",
            "creationDate": "2024-01-11T12:46:20.865252+01:00",
            "object": {
              "additionalData": {},
              "amount": 12,
              "automaticValidation": true,
              "cancellationDate": "2024-01-11T12:46:20.844829+01:00",
              "creationDate": "2024-01-11T12:46:04.839313+01:00",
              "currency": "EUR",
              "endToEndIdentification": "2(OSAI,:P",
              "endUserIp": "245.100.1.15",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "otpExpired": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "remittanceInformation": "TEST",
              "requestedCollectionDate": "2024-01-23",
              "sddTransactionId": "a5530b31-ef60-4511-adeb-18843f61ef81",
              "sequenceType": "RCUR",
              "status": "CANCELED",
              "transactionTransfers": [],
              "validationDate": "2024-01-11T12:46:04.839337+01:00",
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "3f82090d-f76b-4c3a-9d12-4befb22313e5"
          }

          SDDTRANSACTION_RENEWOTP
          When a request for an OTP renewal has been sent for an SSD transaction
          {
            "eventId": "fd352df9-2abc-43b8-a761-07e28375d4ff",
            "type": "SDDTRANSACTION_RENEWOTP",
            "creationDate": "2024-01-11T14:28:46.213454+01:00",
            "object": {
              "additionalData": {},
              "amount": 12,
              "automaticValidation": false,
              "creationDate": "2024-01-11T14:28:41.754664+01:00",
              "currency": "EUR",
              "endToEndIdentification": "84J4ZDNEW",
              "endUserIp": "245.100.1.15",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
              "otpExpired": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "remittanceInformation": "TEST",
              "requestedCollectionDate": "2024-01-12",
              "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
              "sequenceType": "RCUR",
              "status": "PENDING",
              "transactionTransfers": [],
              "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
            },
            "requestId": "85a68830-fa0f-41c9-8c80-d5c578f998f9"
          }

          SDDTRANSACTION_REVERSED_CREATED
          When a SDD Transaction reversal is created

          The MANDATE object

          MANDATE_CREATED
          When a mandate is created
          {
            "eventId": "ba739034-7e86-4280-9e19-b8d3be3f683c",
            "type": "MANDATE_CREATED",
            "creationDate": "2024-01-11T12:41:18.209916+01:00",
            "object": {
              "additionalData": {},
              "creationDate": "2024-01-11T12:41:17.403384+01:00",
              "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
              "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
              "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
              "debtorEmail": "gduhamel@centralpay.eu",
              "debtorPhone": "+33600000000",
              "description": "ma description",
              "language": "fre",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
              "otpExpired": false,
              "paymentType": "PUCT",
              "rum": "GT20KDMVN",
              "sddTransactions": [],
              "status": "PENDING",
              "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
            },
            "requestId": "800c83a7-d37b-4c33-9907-8874d5c7fa87"
          }

          MANDATE_SIGNED
          When a mandate is signed
          {
            "eventId": "d60f35d6-c20a-4317-9ea9-dc90fd4bcd1b",
            "type": "MANDATE_SIGNED",
            "creationDate": "2024-01-11T12:43:07.337387+01:00",
            "object": {
              "additionalData": {},
              "creationDate": "2024-01-11T12:41:17.403384+01:00",
              "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
              "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
              "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
              "debtorEmail": "gduhamel@centralpay.eu",
              "debtorPhone": "+33600000000",
              "description": "ma description",
              "language": "fre",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
              "otpExpired": false,
              "paymentType": "PUCT",
              "pdfFileId": "7b8d75bd-8f09-400d-af9c-c8787a0858fc",
              "rum": "GT20KDMVN",
              "sddTransactions": [],
              "signatureCity": "TOURS",
              "signatureDate": "2024-01-11T12:43:06.838810+01:00",
              "signatureIpAddress": "245.100.1.15",
              "status": "ACTIVE",
              "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
            },
            "requestId": "4c40f8ba-94fd-433c-b7eb-71bbad68f51a"
          }

          MANDATE_OBSOLETED
          When a mandate is obsolete
          {
            "eventId": "8961d9a3-1b38-4275-9ef7-1c3f9dc993e9",
            "type": "MANDATE_OBSOLETED",
            "creationDate": "2024-01-11T14:34:29.346268+01:00",
            "object": {
              "additionalData": {},
              "creationDate": "2024-01-11T12:41:17.403384+01:00",
              "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
              "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
              "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
              "debtorEmail": "gduhamel@centralpay.eu",
              "debtorPhone": "+3300000000",
              "description": "ma description",
              "language": "fre",
              "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
              "obsolescenceDate": "2024-01-11T14:34:29.315888+01:00",
              "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
              "otpExpired": true,
              "paymentType": "PUCT",
              "pdfFileId": "7b8d75bd-8f09-400d-af9c-c8787a0858fc",
              "rum": "GT20KDMVN",
              "sddTransactions": [
                {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": true,
                  "cancellationDate": "2024-01-11T12:46:20.844829+01:00",
                  "creationDate": "2024-01-11T12:46:04.839313+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "2(OSAI,:P",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-23",
                  "sddTransactionId": "a5530b31-ef60-4511-adeb-18843f61ef81",
                  "sequenceType": "RCUR",
                  "status": "CANCELED",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T12:46:04.839337+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": true,
                  "creationDate": "2024-01-11T12:46:27.952977+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "MUPXTJXVK",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-23",
                  "sddTransactionId": "3b781c44-ca15-4cbf-a529-f73e9c9fb0cf",
                  "sequenceType": "RCUR",
                  "status": "ACTIVE",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T12:46:27.953004+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": true,
                  "creationDate": "2024-01-11T12:53:09.201843+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "7C28543RZ",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "af2e9240-d58f-478d-8e64-d8041ac882e0",
                  "sequenceType": "RCUR",
                  "status": "ACTIVE",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T12:53:09.201871+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T13:02:56.373932+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "M6C+XE3H5",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                  "otpExpired": true,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                  "sequenceType": "RCUR",
                  "status": "ACTIVE",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T13:03:17.329335+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "commission": 0,
                  "creationDate": "2024-01-11T14:28:41.754664+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "84J4ZDNEW",
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "movementId": "0a6ffbe5-f067-4c03-9f62-672cb46e312c",
                  "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                  "otpExpired": false,
                  "payoutAmount": 12,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                  "sequenceType": "RCUR",
                  "status": "CLEARED",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T14:30:56.448356+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                }
              ],
              "signatureCity": "TOURS",
              "signatureDate": "2024-01-11T12:43:06.838810+01:00",
              "signatureIpAddress": "245.100.1.15",
              "status": "OBSOLETE",
              "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
            },
            "requestId": "8d56fb75-1ce2-458b-b057-e8722ec22427"
          }

          MANDATE_RENEWOTP
          When a request for an OTP renewal has been sent for an mandate
          {
            "eventId": "8f103a2e-8e05-4af7-9b57-a76dc3fe1b48",
            "type": "MANDATE_RENEWOTP",
            "creationDate": "2024-01-11T14:34:56.606277+01:00",
            "object": {
              "additionalData": {},
              "creationDate": "2024-01-11T14:34:36.412083+01:00",
              "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
              "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
              "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
              "debtorEmail": "gduhamel@centralpay.eu",
              "debtorPhone": "+3300000000",
              "description": "ma description",
              "language": "fre",
              "mandateId": "ffc24f5a-f43a-4e9f-b4f9-1d7d1b87a46c",
              "otpExpirationDate": "2024-01-11T14:49:56.133201+01:00",
              "otpExpired": false,
              "paymentType": "PUCT",
              "rum": "YRHCV3K37",
              "sddTransactions": [],
              "status": "PENDING",
              "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
            },
            "requestId": "a427c5b9-dbf4-4cb2-b9a5-bdf76418901b"
          }

          The SUBSCRIPTION object

          SUBSCRIPTIONMODEL_CREATED
          When a Subscription model is created
          {
            "eventId": "396d5bf8-f494-4ba6-91ef-29bd6be595b1",
            "type": "SUBSCRIPTIONMODEL_CREATED",
            "creationDate": "2024-01-08T11:56:53.360135+01:00",
            "object": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T11:56:53.353430+01:00",
              "currency": "EUR",
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 12,
              "name": "Test Abo",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
            },
            "requestId": "9dd48255-2b54-40bb-bd38-dfeac5d0535b"
          }

          SUBSCRIPTIONMODEL_UPDATED
          When a Subscription model is updated
          {
            "eventId": "d00f3f00-b2d6-4de4-8c41-a106b88054b9",
            "type": "SUBSCRIPTIONMODEL_UPDATED",
            "creationDate": "2024-01-08T11:58:22.826908+01:00",
            "object": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T11:56:53.353430+01:00",
              "currency": "EUR",
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 12,
              "name": "CPMInnn",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
            },
            "requestId": "4bc97650-9a0e-4032-ba46-8088c1e31b0b",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T11:56:53.353430+01:00",
              "currency": "EUR",
              "intervalCount": 1,
              "intervalUnit": "MONTH",
              "iterationCount": 12,
              "name": "Test Abo",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
            }
          }

          SUBSCRIPTION_CREATED
          When a Subscription is created
          {
            "eventId": "f87999fa-ab71-4a57-bc1f-b360670ef593",
            "type": "SUBSCRIPTION_CREATED",
            "creationDate": "2024-01-08T12:24:12.821583+01:00",
            "object": {
              "additionalData": {},
              "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
              "creationDate": "2024-01-08T12:24:12.700858+01:00",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "endUserIp": "245.100.1.15",
              "expectedEndingDate": "2025-01-09",
              "merchantSubscriptionId": "Gauthier refapi",
              "quantity": 1,
              "startingDate": "2024-01-10",
              "status": "ACTIVE",
              "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 100,
                "creationDate": "2024-01-08T12:20:23.305903+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test refapi",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
              }
            },
            "requestId": "c66d38ac-5f7d-4a52-840c-ebadade3bf4f"
          }

          SUBSCRIPTION_FAILED
          When a Subscription failed
          {
            "eventId": "3c8ca51e-aa44-41ca-ad24-872a86ed35ee",
            "type": "SUBSCRIPTION_FAILED",
            "creationDate": "2024-01-15T11:59:56.223023+01:00",
            "object": {
              "additionalData": {},
              "cancelAtPeriodEnd": false,
              "cancellationDate": "2024-01-15T11:59:55.877297+01:00",
              "cardId": "0a6b2fdc-85e4-4ffa-bffa-0ae276e11aa3",
              "creationDate": "2024-01-15T11:59:52.983206+01:00",
              "currentPeriodEnd": "2024-01-15",
              "currentPeriodStart": "2024-01-15",
              "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
              "endUserIp": "245.100.1.15",
              "endingDate": "2024-01-15",
              "expectedEndingDate": "2025-01-14",
              "lastInvoice": {
                "additionalData": {},
                "amount": 10000,
                "attemptCount": 1,
                "closed": true,
                "creationDate": "2024-01-15T11:59:53.614864+01:00",
                "currency": "EUR",
                "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                "invoiceItems": [
                  {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-15T11:59:53.357382+01:00",
                    "currency": "EUR",
                    "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                    "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                    "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                    "quantity": 1,
                    "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                    "totalAmount": 10000,
                    "type": "SUBSCRIPTION"
                  }
                ],
                "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                "paid": false,
                "sddTransactions": [],
                "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                "transactions": [
                  "19b41977-e973-4dd9-846e-5777459196a5"
                ],
                "transfers": [],
                "type": "SUBSCRIPTION"
              },
              "merchantSubscriptionId": "Test refapi gogo",
              "quantity": 1,
              "startingDate": "2024-01-15",
              "status": "CANCELED",
              "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 10000,
                "creationDate": "2024-01-11T15:02:53.061463+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test Abo",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
              }
            },
            "requestId": "ac2cae53-8d39-4e5a-8098-bcf0ab55a7cc"
          }

          SUBSCRIPTION_UPDATED
          When a Subscription is updated
          {
            "eventId": "3da295c6-403e-4080-9398-9cebf7efbc37",
            "type": "SUBSCRIPTION_UPDATED",
            "creationDate": "2024-01-08T12:25:27.579680+01:00",
            "object": {
              "additionalData": {},
              "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
              "creationDate": "2024-01-08T12:24:12.700858+01:00",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "endUserIp": "245.100.1.15",
              "expectedEndingDate": "2025-01-09",
              "merchantSubscriptionId": "TEST001",
              "quantity": 1,
              "startingDate": "2024-01-10",
              "status": "ACTIVE",
              "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 100,
                "creationDate": "2024-01-08T12:20:23.305903+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test refapi",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
              }
            },
            "requestId": "10797b88-f4ff-48f5-bc79-c417333b92d5",
            "objectBeforeUpdate": {
              "additionalData": {},
              "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
              "creationDate": "2024-01-08T12:24:12.700858+01:00",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "endUserIp": "245.100.1.15",
              "expectedEndingDate": "2025-01-09",
              "merchantSubscriptionId": "Gauthier refapi",
              "quantity": 1,
              "startingDate": "2024-01-10",
              "status": "ACTIVE",
              "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 100,
                "creationDate": "2024-01-08T12:20:23.305903+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test refapi",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
              }
            }
          }

          SUBSCRIPTION_CANCELED
          When a Subscription is cancelled
          {
            "eventId": "298e5eae-4447-4981-932e-633adbb97e5f",
            "type": "SUBSCRIPTION_CANCELED",
            "creationDate": "2024-01-08T12:26:46.705238+01:00",
            "object": {
              "additionalData": {},
              "cancelAtPeriodEnd": false,
              "cancellationDate": "2024-01-08T12:26:46.701626+01:00",
              "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
              "creationDate": "2024-01-08T12:24:12.700858+01:00",
              "currentPeriodEnd": "2024-01-08",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "endUserIp": "245.100.1.15",
              "endingDate": "2024-01-08",
              "expectedEndingDate": "2025-01-09",
              "merchantSubscriptionId": "TEST001",
              "quantity": 1,
              "startingDate": "2024-01-10",
              "status": "CANCELED",
              "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 100,
                "creationDate": "2024-01-08T12:20:23.305903+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test refapi",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
              }
            },
            "requestId": "bd8f1a27-bae3-4cfd-8471-7f6e878c6dc7"
          }

          SUBSCRIPTION_ACTIVE
          When a Subscription is active

          SUBSCRIPTION_FAILURE
          When a Subscription failed to be paid
          {
            "eventId": "22c7c038-2aa4-4550-9fd0-27e5395c250d",
            "type": "SUBSCRIPTION_FAILURE",
            "creationDate": "2024-01-15T11:59:55.661209+01:00",
            "object": {
              "additionalData": {},
              "cardId": "0a6b2fdc-85e4-4ffa-bffa-0ae276e11aa3",
              "creationDate": "2024-01-15T11:59:52.983206+01:00",
              "currentPeriodEnd": "2024-02-14",
              "currentPeriodStart": "2024-01-15",
              "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
              "endUserIp": "245.100.1.15",
              "expectedEndingDate": "2025-01-14",
              "lastInvoice": {
                "additionalData": {},
                "amount": 10000,
                "attemptCount": 1,
                "closed": false,
                "creationDate": "2024-01-15T11:59:53.614864+01:00",
                "currency": "EUR",
                "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                "invoiceItems": [
                  {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-15T11:59:53.357382+01:00",
                    "currency": "EUR",
                    "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                    "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                    "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                    "quantity": 1,
                    "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                    "totalAmount": 10000,
                    "type": "SUBSCRIPTION"
                  }
                ],
                "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                "paid": false,
                "sddTransactions": [],
                "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                "transactions": [
                  "19b41977-e973-4dd9-846e-5777459196a5"
                ],
                "transfers": [],
                "type": "SUBSCRIPTION"
              },
              "merchantSubscriptionId": "Test refapi gogo",
              "quantity": 1,
              "startingDate": "2024-01-15",
              "status": "FAILURE",
              "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 10000,
                "creationDate": "2024-01-11T15:02:53.061463+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test Abo",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
              }
            },
            "requestId": "1c35bbaf-0f37-44e1-a7e5-c3f10be0a9a4"
          }

          SUBSCRIPTION_UNPAID
          When a Subscription is unpaid

          SUBSCRIPTION_REACTIVATED
          When a Subscription is reactivated
          {
            "eventId": "536eb70e-cb79-44a6-be28-4384445583c2",
            "type": "SUBSCRIPTION_REACTIVATED",
            "creationDate": "2024-01-11T15:12:05.092897+01:00",
            "object": {
              "additionalData": {},
              "cardId": "7d5f52b0-ef15-4a04-9c06-c4a9ac76f4bf",
              "creationDate": "2024-01-11T15:11:29.487853+01:00",
              "currentPeriodEnd": "2024-02-10",
              "currentPeriodStart": "2024-01-11",
              "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
              "endUserIp": "245.100.1.15",
              "lastInvoice": {
                "additionalData": {},
                "amount": 10000,
                "attemptCount": 1,
                "closed": true,
                "creationDate": "2024-01-11T15:11:30.057522+01:00",
                "currency": "EUR",
                "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                "invoiceId": "94185799-1ac6-4206-8df2-006043d0e2a9",
                "invoiceItems": [
                  {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:11:29.798622+01:00",
                    "currency": "EUR",
                    "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                    "invoiceId": "94185799-1ac6-4206-8df2-006043d0e2a9",
                    "invoiceItemId": "cd4325ca-4f61-4886-98c6-a524682ee0e2",
                    "quantity": 1,
                    "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                    "totalAmount": 10000,
                    "type": "SUBSCRIPTION"
                  }
                ],
                "paid": true,
                "sddTransactions": [],
                "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                "transactions": [
                  "3f462466-4a71-480c-b062-e2023ee99b17"
                ],
                "transfers": [],
                "type": "SUBSCRIPTION"
              },
              "merchantSubscriptionId": "Test refapi gogo",
              "quantity": 1,
              "startingDate": "2024-01-11",
              "status": "ACTIVE",
              "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
              "subscriptionModel": {
                "additionalData": {},
                "amount": 10000,
                "creationDate": "2024-01-11T15:02:53.061463+01:00",
                "currency": "EUR",
                "intervalCount": 1,
                "intervalUnit": "MONTH",
                "iterationCount": 12,
                "name": "Test Abo",
                "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
              }
            },
            "requestId": "69ac4f1d-059b-4065-adc2-90f0eb6a98ab"
          }

          INVOICEITEM_CREATED
          When an invoice item is created
          {
            "eventId": "6167d379-fb95-4425-8e9b-af74f4235bfc",
            "type": "INVOICEITEM_CREATED",
            "creationDate": "2024-01-08T12:30:46.157764+01:00",
            "object": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T12:30:46.131739+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
              "quantity": 3,
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "totalAmount": 30000,
              "type": "MANUAL"
            },
            "requestId": "d7cd40bd-88de-4956-9c42-baf5a0549f1b"
          }

          INVOICEITEM_UPDATED
          When an invoice item is updated
          {
            "eventId": "353dd2fd-934e-4a20-9f12-b47bf213a35c",
            "type": "INVOICEITEM_UPDATED",
            "creationDate": "2024-01-15T10:59:30.750004+01:00",
            "object": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T12:44:49.815091+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
              "quantity": 2,
              "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
              "totalAmount": 20000,
              "type": "MANUAL"
            },
            "requestId": "9678a75a-aa0c-4023-8d2a-56b56dfeae87",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T12:44:49.815091+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
              "quantity": 3,
              "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
              "totalAmount": 30000,
              "type": "MANUAL"
            }
          }

          INVOICEITEM_DELETED
          When an invoice item is deleted
          {
            "eventId": "ae992cbd-d82f-495a-b7b7-4627dc9806e8",
            "type": "INVOICEITEM_DELETED",
            "creationDate": "2024-01-15T11:00:04.748878+01:00",
            "object": {
              "additionalData": {},
              "amount": 10000,
              "creationDate": "2024-01-08T12:44:49.815091+01:00",
              "currency": "EUR",
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
              "quantity": 2,
              "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
              "totalAmount": 20000,
              "type": "MANUAL"
            },
            "requestId": "fe0e462f-81d9-4640-abbd-ce6c914432b6"
          }

          INVOICE_CREATED
          When an invoice is created
          {
            "eventId": "59df2504-3ab7-46c3-8469-0957d579b014",
            "type": "INVOICE_CREATED",
            "creationDate": "2024-01-08T12:31:18.271671+01:00",
            "object": {
              "additionalData": {},
              "amount": 30000,
              "attemptCount": 0,
              "closed": false,
              "creationDate": "2024-01-08T12:31:18.264645+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              ],
              "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
              "paid": false,
              "sddTransactions": [],
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "transactions": [],
              "transfers": [],
              "type": "MANUAL"
            },
            "requestId": "1b51631e-d6d7-4632-bc8f-c67bd6f52729"
          }

          INVOICE_UPDATED
          When an invoice is updated
          {
          {
            "eventId": "3c63e5da-1bce-4c5c-9dfc-1a206fda69a7",
            "type": "INVOICE_UPDATED",
            "creationDate": "2024-01-08T12:31:25.469957+01:00",
            "object": {
              "additionalData": {},
              "amount": 30000,
              "attemptCount": 0,
              "closed": false,
              "creationDate": "2024-01-08T12:31:18.264645+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "description": "ma description",
              "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              ],
              "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
              "paid": false,
              "sddTransactions": [],
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "transactions": [],
              "transfers": [],
              "type": "MANUAL"
            },
            "requestId": "176cf4e9-4669-473c-a9cb-f102fd6aa2ab",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 30000,
              "attemptCount": 0,
              "closed": false,
              "creationDate": "2024-01-08T12:31:18.264645+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              ],
              "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
              "paid": false,
              "sddTransactions": [],
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "transactions": [],
              "transfers": [],
              "type": "MANUAL"
            }
          }
          }

          INVOICE_CLOSED
          When an invoice is closed
          {
            "eventId": "32cc898a-112f-43fd-921e-be8613d85b73",
            "type": "INVOICE_CLOSED",
            "creationDate": "2024-01-08T12:31:33.554755+01:00",
            "object": {
              "additionalData": {},
              "amount": 30000,
              "attemptCount": 0,
              "closed": true,
              "creationDate": "2024-01-08T12:31:18.264645+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "description": "ma description",
              "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              ],
              "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
              "paid": false,
              "sddTransactions": [],
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "transactions": [],
              "transfers": [],
              "type": "MANUAL"
            },
            "requestId": "36e1f1c0-b08b-41e1-a35b-bc0942b084f7"
          }

          INVOICE_REOPEN
          When an invoice is reopen
          {
            "eventId": "c3e22524-8677-447f-9c70-caee15bdb31a",
            "type": "INVOICE_REOPEN",
            "creationDate": "2024-01-08T12:31:38.069325+01:00",
            "object": {
              "additionalData": {},
              "amount": 30000,
              "attemptCount": 0,
              "closed": false,
              "creationDate": "2024-01-08T12:31:18.264645+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "description": "ma description",
              "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              ],
              "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
              "paid": false,
              "sddTransactions": [],
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "transactions": [],
              "transfers": [],
              "type": "MANUAL"
            },
            "requestId": "7ef43ab1-2249-43b2-834e-dcad31d609a5"
          }

          INVOICE_TRANSACTION_SUCCEEDED
          When an invoice transaction succeeded
          {
            "eventId": "58b1922a-a959-43c3-aeea-784f6970586c",
            "type": "INVOICE_TRANSACTION_SUCCEEDED",
            "creationDate": "2024-01-08T12:31:48.444350+01:00",
            "object": {
              "additionalData": {},
              "amount": 30000,
              "attemptCount": 0,
              "closed": true,
              "creationDate": "2024-01-08T12:31:18.264645+01:00",
              "currency": "EUR",
              "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
              "description": "ma description",
              "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              ],
              "paid": true,
              "sddTransactions": [],
              "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
              "transactions": [
                "67cfc05b-d06c-4f2b-8aec-2033e0c61478"
              ],
              "transfers": [],
              "type": "MANUAL"
            },
            "requestId": "01fb7049-bd27-4ec0-846d-605c352bd2f9"
          }

          INVOICE_TRANSACTION_FAILED
          When an invoice transaction failed
          {
            "eventId": "23ef2df3-0e6d-4397-b877-aba2acea2ed1",
            "type": "INVOICE_TRANSACTION_FAILED",
            "creationDate": "2024-01-15T11:59:55.647989+01:00",
            "object": {
              "additionalData": {},
              "amount": 10000,
              "attemptCount": 1,
              "closed": false,
              "creationDate": "2024-01-15T11:59:53.614864+01:00",
              "currency": "EUR",
              "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
              "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
              "invoiceItems": [
                {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-15T11:59:53.357382+01:00",
                  "currency": "EUR",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                  "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                  "quantity": 1,
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "totalAmount": 10000,
                  "type": "SUBSCRIPTION"
                }
              ],
              "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
              "paid": false,
              "sddTransactions": [],
              "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
              "transactions": [
                "19b41977-e973-4dd9-846e-5777459196a5"
              ],
              "transfers": [],
              "type": "SUBSCRIPTION"
            },
            "requestId": "1c35bbaf-0f37-44e1-a7e5-c3f10be0a9a4"
          }

          The TRANSACTION object

          TRANSACTION_SUCCEEDED
          When a transaction has been approved by the issuing bank
          {
            "eventId": "4774dddc-7163-40f9-a6e0-72cd52abad19",
            "type": "TRANSACTION_SUCCEEDED",
            "creationDate": "2024-01-05T14:43:21.487036+01:00",
            "object": {
              "additionalData": {},
              "amount": 3600000,
              "amountCaptured": 3600000,
              "amountRefunded": 0,
              "archivingReference": "5MS7NOWFGWSR",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "0ee6bd7e-3e74-454d-a62b-120db043714d",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
              "captureDate": "2024-01-05T14:43:21.355125+01:00",
              "captureStatus": "CAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                "cardType": "DEBIT",
                "cardholderEmail": "test@gmail.com",
                "cardholderName": "MARIE ANNE",
                "check": true,
                "commercialBrand": "MASTERCARD",
                "country": "FRA",
                "creationDate": "2024-01-05T12:52:41.054394+01:00",
                "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                "first6": "532509",
                "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                "last4": "0008",
                "productType": "CORPORATE",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "country": "FRA",
              "creationDate": "2024-01-05T14:43:19.909652+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "endUserIp": "245.100.1.15",
              "endUserLanguage": "fre",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "899287b0-a0a5-413c-8be8-bc3d794ba96a",
              "order": {
                "cardholderEmail": "GDU-Solon40@gmail.com",
                "country": "FRA"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 3600000,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "GDU-Clemens7@yahoo.com",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 3600000,
              "transactionId": "aa42bd28-5a34-47e4-87b0-3d25375be798",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [],
              "withCvv": true
            },
            "requestId": "3d82de99-2346-4eef-a30b-68e7efe5acd1"
          }

          TRANSACTION_CANCELED
          When a transaction is cancelled
          {
            "eventId": "2ed7535a-8d07-4502-aea8-d755c5584962",
            "type": "TRANSACTION_CANCELED",
            "creationDate": "2024-01-11T14:51:53.615072+01:00",
            "object": {
              "additionalData": {
                "key1": "value1",
                "key2": "value2"
              },
              "amount": 10,
              "amountCaptured": 10,
              "amountRefunded": 0,
              "archivingReference": "TSMEGRM4XQSN",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "82dbefb7-2a49-4cf9-a10a-953e0fefd89b",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "cancelMovementId": "36238731-363a-4f30-913e-7a9b9defdd33",
              "captureCancellationDate": "2024-01-11T14:51:53.583865+01:00",
              "captureDate": "2024-01-11T14:50:33.400938+01:00",
              "captureStatus": "CANCELED",
              "card": {
                "additionalData": {},
                "cardId": "0f72740b-3a97-436b-aa78-9ac30308d404",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-11T14:50:31.216307+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 12,
                "expirationYear": 2026,
                "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-11T14:50:32.194359+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "endUserIp": "245.100.1.15",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "36d934c8-de2f-43df-be49-a4f058c6c0ba",
              "order": {
                "addressLine1": "ADRESSE",
                "cardCountry": "FRA",
                "city": "PARIS",
                "country": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 10,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 10,
              "transactionId": "2fbdd1ad-99e1-4fb6-a5f9-06239d7ef1a1",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [
                {
                  "amount": 1,
                  "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "escrowDate": "2024-01-15",
                  "fee": 0,
                  "merchantTransferId": "MRI_CODE"
                }
              ],
              "withCvv": true
            },
            "requestId": "2631c3f5-65cb-441f-9cb7-14dcf2c8d128"
          }

          TRANSACTION_CAPTURED
          When a transaction is sent to the clearing and will be debited
          {
            "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5",
            "type": "TRANSACTION_CAPTURED",
            "creationDate": "2024-01-05T14:43:21.513924+01:00",
            "object": {
              "additionalData": {},
              "amount": 3600000,
              "amountCaptured": 3600000,
              "amountRefunded": 0,
              "archivingReference": "5MS7NOWFGWSR",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "0ee6bd7e-3e74-454d-a62b-120db043714d",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
              "captureDate": "2024-01-05T14:43:21.355125+01:00",
              "captureStatus": "CAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                "cardType": "DEBIT",
                "cardholderEmail": "test@gmail.com",
                "cardholderName": "MARIE ANNE",
                "check": true,
                "commercialBrand": "MASTERCARD",
                "country": "FRA",
                "creationDate": "2024-01-05T12:52:41.054394+01:00",
                "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                "first6": "532509",
                "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                "last4": "0008",
                "productType": "CORPORATE",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "country": "FRA",
              "creationDate": "2024-01-05T14:43:19.909652+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "endUserIp": "245.100.1.15",
              "endUserLanguage": "fre",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "899287b0-a0a5-413c-8be8-bc3d794ba96a",
              "order": {
                "cardholderEmail": "GDU-Solon40@gmail.com",
                "country": "FRA"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 3600000,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "GDU-Clemens7@yahoo.com",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 3600000,
              "transactionId": "aa42bd28-5a34-47e4-87b0-3d25375be798",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [],
              "withCvv": true
            },
            "requestId": "3d82de99-2346-4eef-a30b-68e7efe5acd1"
          }

          TRANSACTION_EXPIRED
          When a transaction is expired
          {
            "eventId": "9a93ea00-42cc-4555-ad29-24daa2ec5fbe",
            "type": "TRANSACTION_EXPIRED",
            "creationDate": "2024-02-01T00:30:07.148454+01:00",
            "object": {
              "transactionId": "87b40109-0de5-454d-acf4-dfa51f23d15b",
              "creationDate": "2024-01-30T14:20:47.062768+01:00",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "merchantTransactionId": null,
              "archivingReference": "YB6J5BGOC4TF",
              "transactionStatus": "SUCCESS",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "authorizationCode": "000000",
              "riskScore": null,
              "source": "EC",
              "description": null,
              "currency": "EUR",
              "payoutCurrency": "EUR",
              "payoutAmount": null,
              "commission": null,
              "fee": 0,
              "amount": 36000,
              "partialAuthorization": false,
              "partialAuthorized": false,
              "partialAuthorizedAmount": null,
              "totalAmount": 36000,
              "card": {
                "cardId": "4970cff8-a3eb-4b7a-9f8e-6a4156c08cec",
                "creationDate": "2024-01-30T14:20:45.679621+01:00",
                "customerId": null,
                "cardTokenId": null,
                "infoId": null,
                "merchantCardId": null,
                "commercialBrand": "VISA",
                "first6": "403203",
                "last4": "3001",
                "expirationMonth": 12,
                "expirationYear": 2025,
                "country": "FRA",
                "cardholderName": null,
                "cardholderEmail": null,
                "description": null,
                "fingerprint": "a90fedc230c187acb2e4d6b8a3e3237044931beb",
                "cardType": "UNKNOWN",
                "region": "EUROPE",
                "productType": "UNKNOWN",
                "europeanEconomicArea": true,
                "check": false,
                "additionalData": {}
              },
              "cardMerchantToken": null,
              "captureStatus": "EXPIRED",
              "amountCaptured": 0,
              "refunded": true,
              "amountRefunded": 0,
              "refunds": [],
              "endUserIp": "8.8.8.8",
              "endUserLanguage": "fre",
              "browserUserAgent": null,
              "browserAcceptLanguage": null,
              "country": null,
              "receiptEmail": null,
              "transactiontransfers": [],
              "transferGroup": null,
              "residualAmount": null,
              "order": {
                "firstName": null,
                "lastName": null,
                "addressLine1": null,
                "addressLine2": null,
                "addressLine3": null,
                "addressLine4": null,
                "postalCode": null,
                "city": null,
                "country": null,
                "email": null,
                "phone": null,
                "cardCountry": "FRA",
                "cardholderName": null,
                "cardholderEmail": null
              },
              "dispute": null,
              "cardPresent": {
                "cardSequenceNumber": null,
                "cardEntryMode": null,
                "pinEntryCapability": null,
                "transactionSequenceCounter": null,
                "uniqueTerminalId": null,
                "cardholderSignatureImage": null,
                "gpsLatitude": null,
                "gpsLongitude": null,
                "cardholderPhoto": null,
                "cardAcceptorTerminalId": null,
                "offlinePinIndicator": null,
                "ucatTerminalIndicator": null,
                "iccData": null,
                "iccDataResponse": null
              },
              "clearingNumber": null,
              "merchantCategoryCode": "1711",
              "withCvv": true,
              "arn": "123456",
              "authorizationCancellationDate": null,
              "customerId": null,
              "captureDate": null,
              "clearingDate": null,
              "captureCancellationDate": null,
              "enrollmentId": null,
              "movementId": null,
              "authorizationMovementId": "258d16f5-3f5f-401d-8f5b-c9ff9d00f28d",
              "cancelMovementId": null,
              "paymentRequestBreakdownId": null,
              "paymentRequestId": null,
              "invoiceId": null,
              "installmentId": null,
              "customAcceptanceData": {},
              "additionalData": {
                "key1": "value1",
                "key2": "value2"
              },
              "3ds": false
            },
            "requestId": "fcf800bb-1748-4d23-9ce7-121c5f14a51b"
          }

          TRANSACTION_UPDATED
          When a transaction is updated
          {
            "eventId": "eaf9366e-cd66-4ab9-ad23-09ed2ec5972d",
            "type": "TRANSACTION_UPDATED",
            "creationDate": "2024-01-11T14:54:35.830032+01:00",
            "object": {
              "additionalData": {
                "key1": "value1",
                "key2": "value2"
              },
              "amount": 10,
              "amountCaptured": 10,
              "amountRefunded": 0,
              "archivingReference": "FLS2TYH3HJ5G",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "02e0e9ec-77f6-4a75-9732-57a0d0844354",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "captureDate": "2024-01-11T14:53:18.688598+01:00",
              "captureStatus": "CAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "180c71b5-9384-4ea5-9452-b190d4afc542",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-11T14:53:17.634328+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 1,
                "expirationYear": 2024,
                "fingerprint": "9e6b6fc8e48c4ee716efb06762e726c0108e5e8d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-11T14:53:17.576925+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "endUserIp": "245.100.1.15",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "3dbd2c18-1110-496b-9cd2-1e7b7568fc00",
              "order": {
                "cardCountry": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 10,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "test@gmail.com",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 10,
              "transactionId": "8d08a5b1-413e-46d8-8e8e-6da8c0d5025b",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [
                {
                  "amount": 1,
                  "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "escrowDate": "2024-01-13",
                  "fee": 0
                }
              ],
              "withCvv": true
            },
            "requestId": "6b85d1b7-853a-420e-a500-62aac18840c1",
            "objectBeforeUpdate": {
              "additionalData": {
                "key1": "value1",
                "key2": "value2"
              },
              "amount": 10,
              "amountCaptured": 10,
              "amountRefunded": 0,
              "archivingReference": "FLS2TYH3HJ5G",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "02e0e9ec-77f6-4a75-9732-57a0d0844354",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "captureDate": "2024-01-11T14:53:18.688598+01:00",
              "captureStatus": "CAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "180c71b5-9384-4ea5-9452-b190d4afc542",
                "cardType": "DEBIT",
                "check": false,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-11T14:53:17.634328+01:00",
                "europeanEconomicArea": true,
                "expirationMonth": 1,
                "expirationYear": 2024,
                "fingerprint": "9e6b6fc8e48c4ee716efb06762e726c0108e5e8d",
                "first6": "400000",
                "last4": "0002",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-11T14:53:17.576925+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "endUserIp": "245.100.1.15",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "3dbd2c18-1110-496b-9cd2-1e7b7568fc00",
              "order": {
                "cardCountry": "FRA",
                "firstName": "MANDATORY",
                "lastName": "MANDATORY"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 10,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 10,
              "transactionId": "8d08a5b1-413e-46d8-8e8e-6da8c0d5025b",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [
                {
                  "amount": 1,
                  "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "escrowDate": "2024-01-13",
                  "fee": 0
                }
              ],
              "withCvv": true
            }
          }

          TRANSACTION_DISPUTED
          When a transaction is turned to a chargeback
          
          {
            "eventId": "36e7853b-eecf-43d2-99ec-80aa5b26b46f",
            "type": "TRANSACTION_DISPUTED",
            "creationDate": "2024-01-05T15:16:28.316447+01:00",
            "object": {
              "additionalData": {},
              "amount": 36000,
              "amountCaptured": 36000,
              "amountRefunded": 0,
              "archivingReference": "AULQKEG8VFZV",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "a7caf3b3-4d60-412e-9536-8b31e7fa2b99",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
              "captureDate": "2024-01-04T15:04:14.560777+01:00",
              "captureStatus": "CLEARED",
              "card": {
                "additionalData": {},
                "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                "cardType": "DEBIT",
                "cardholderEmail": "test@gmail.com",
                "cardholderName": "MARIE ANNE",
                "check": true,
                "commercialBrand": "MASTERCARD",
                "country": "FRA",
                "creationDate": "2024-01-05T12:52:41.054394+01:00",
                "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                "first6": "532509",
                "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                "last4": "0008",
                "productType": "CORPORATE",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "clearingDate": "2024-01-05",
              "clearingNumber": "008194",
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "country": "FRA",
              "creationDate": "2024-01-05T15:04:13.275733+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "dispute": {
                "additionalData": {},
                "amount": 10,
                "creationDate": "2024-01-05T15:16:27.776882+01:00",
                "currency": "EUR",
                "disputeDate": "2021-03-18",
                "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                "fee": 0,
                "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                "reason": "FRAUDULENT",
                "status": "CHARGEBACK_NOTICED",
                "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116"
              },
              "endUserIp": "245.100.1.15",
              "endUserLanguage": "fre",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "15560735-1636-4a01-9a15-89eab54ef9e1",
              "order": {
                "cardholderEmail": "GDU-Dasia77@hotmail.com",
                "country": "FRA"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 36000,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "GDU-Benton_Hamill8@gmail.com",
              "refunded": false,
              "refunds": [],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 36000,
              "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [],
              "withCvv": false
            },
            "requestId": "29ae33a7-bcd3-405f-ab21-485729b980aa"
          }

          TRANSACTION_FAILED
          When a transaction has been declined by the issuing bank
          {
            "eventId": "0eeacc49-8957-4910-925f-d633505f23b0",
            "type": "TRANSACTION_FAILED",
            "creationDate": "2024-01-05T14:46:59.392077+01:00",
            "object": {
              "additionalData": {},
              "amount": 3600000,
              "amountCaptured": 0,
              "amountRefunded": 0,
              "archivingReference": "9GUGCIZEU0VN",
              "authorizationMovementId": "7ed9258a-ee75-4705-90f3-678973d2402e",
              "authorizationStatus": "FAILURE",
              "bankCode": "51",
              "bankMessage": "Simulation : Insufficient Funds",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
              "captureStatus": "UNCAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "30e49b6e-ed07-4b43-8862-2abd2f181678",
                "cardType": "DEBIT",
                "cardholderEmail": "gduhamel@centralpay.eu",
                "check": true,
                "commercialBrand": "VISA",
                "country": "FRA",
                "creationDate": "2024-01-05T14:46:39.151564+01:00",
                "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "7032968c1a882c155b3d8014297daabaa7133680",
                "first6": "400000",
                "infoId": "90eaf823-e2e7-4757-845a-b966bbab03c6",
                "last4": "0077",
                "productType": "UNKNOWN",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "country": "FRA",
              "creationDate": "2024-01-05T14:46:58.190985+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "endUserIp": "245.100.1.15",
              "endUserLanguage": "fre",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "order": {
                "cardholderEmail": "GDU-Yvette5@hotmail.com",
                "country": "FRA"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "GDU-Buck_Gislason@hotmail.com",
              "refunded": false,
              "refunds": [],
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 3600000,
              "transactionId": "d530cdbe-b9fc-481b-b99d-8ce0db75deb4",
              "transactionStatus": "FAILURE",
              "transactiontransfers": [],
              "withCvv": true
            },
            "requestId": "c120a3c0-764a-4c7e-a705-4721784212c7"
          }

          TRANSACTION_FRAUDULENT
          When a transaction is refused because it has meet a blacklist element (Email, IP, Card, …)
          
          {
            "eventId": "d489a6be-9b6d-43fa-86e3-c5d26437aac3",
            "type": "TRANSACTION_FRAUDULENT",
            "creationDate": "2024-01-05T16:34:30.947564+01:00",
            "object": {
              "additionalData": {},
              "amount": 500,
              "amountCaptured": 0,
              "amountRefunded": 0,
              "authorizationStatus": "FRAUD",
              "bankMessage": "PAN in BLACKLIST [532509xxx0008]",
              "captureStatus": "UNCAPTURED",
              "card": {
                "additionalData": {},
                "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                "cardType": "DEBIT",
                "cardholderEmail": "gduhamel@centralpay.eu",
                "check": true,
                "commercialBrand": "MASTERCARD",
                "country": "FRA",
                "creationDate": "2024-01-05T16:33:13.699153+01:00",
                "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                "first6": "532509",
                "infoId": "dabeaee8-1f45-438e-b9c7-37bbce92315e",
                "last4": "0008",
                "productType": "CORPORATE",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "creationDate": "2024-01-05T16:34:30.385545+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
              "endUserIp": "245.100.1.15",
              "merchantTransactionId": "MIP_001",
              "order": {
                "cardCountry": "FRA",
                "cardholderEmail": "gduhamel@centralpay.eu",
                "email": "gduhamel@centralpay.eu",
                "firstName": "CECELIA",
                "lastName": "EBERT"
              },
              "partialAuthorization": false,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "gduhamel@centralpay.eu",
              "refunded": false,
              "refunds": [],
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 500,
              "transactionId": "f061fa00-8494-4eca-b9d1-f54d36125d7d",
              "transactionStatus": "FRAUD",
              "transactiontransfers": [],
              "withCvv": true
            },
            "requestId": "47c8329d-b686-4dc0-ad21-941e4ec2945d"
          }

          TRANSACTION_NOT_ACCEPTED
          When a transaction is refused because entering an acceptance rule

          TRANSACTION_REFUNDED
          When a transaction has been refunded to the card holder
          {
            "eventId": "21f8a3b1-1fab-4071-9f75-ef36d10a6572",
            "type": "TRANSACTION_REFUNDED",
            "creationDate": "2024-01-10T09:35:28.762354+01:00",
            "object": {
              "additionalData": {},
              "amount": 36000,
              "amountCaptured": 36000,
              "amountRefunded": 36000,
              "archivingReference": "YNADK4W3G2EK",
              "arn": "123456",
              "authorizationCode": "000000",
              "authorizationMovementId": "679d6b91-bba5-43fa-a444-b3aa7fb2ad2f",
              "authorizationStatus": "SUCCESS",
              "bankCode": "0",
              "bankMessage": "Simulation : Transaction Approved",
              "browserAcceptLanguage": "en_US",
              "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
              "captureDate": "2024-01-04T15:04:11.419479+01:00",
              "captureStatus": "CLEARED",
              "card": {
                "additionalData": {},
                "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                "cardType": "DEBIT",
                "cardholderEmail": "test@gmail.com",
                "cardholderName": "MARIE ANNE",
                "check": true,
                "commercialBrand": "MASTERCARD",
                "country": "FRA",
                "creationDate": "2024-01-05T12:52:41.054394+01:00",
                "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                "europeanEconomicArea": true,
                "expirationMonth": 9,
                "expirationYear": 2035,
                "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                "first6": "532509",
                "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                "last4": "0008",
                "productType": "CORPORATE",
                "region": "EUROPE"
              },
              "cardPresent": {},
              "clearingDate": "2024-01-05",
              "clearingNumber": "008194",
              "commission": 0,
              "contractId": "a674d481-4805-4a66-915a-67956efca36f",
              "country": "FRA",
              "creationDate": "2024-01-05T15:04:10.135397+01:00",
              "currency": "EUR",
              "customAcceptanceData": {},
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "endUserIp": "245.100.1.15",
              "endUserLanguage": "fre",
              "fee": 0,
              "merchantCategoryCode": "1711",
              "movementId": "656895c7-e7a2-4b7d-8920-0bb78ea45f3a",
              "order": {
                "cardholderEmail": "GDU-Martina_Ondricka@hotmail.com",
                "country": "FRA"
              },
              "partialAuthorization": false,
              "partialAuthorized": false,
              "payoutAmount": 36000,
              "payoutCurrency": "EUR",
              "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
              "receiptEmail": "GDU-Justyn98@gmail.com",
              "refunded": true,
              "refunds": [
                {
                  "additionalData": {},
                  "amount": 36000,
                  "commission": 0,
                  "creationDate": "2024-01-10T09:35:28.448559+01:00",
                  "currency": "EUR",
                  "description": "GDU-testapi",
                  "fee": 0,
                  "movementId": "c42ea27a-6d74-4c4b-b170-e17762916c79",
                  "payoutAmount": 36000,
                  "payoutCurrency": "EUR",
                  "refundId": "9bf06654-c023-4481-8e6a-138bb5f13777",
                  "status": "UNCLEARED",
                  "transactionId": "2a06bfae-51f5-4dd7-945b-47631c16cb9c"
                }
              ],
              "residualAmount": 0,
              "source": "EC",
              "threeDSecure": false,
              "totalAmount": 36000,
              "transactionId": "2a06bfae-51f5-4dd7-945b-47631c16cb9c",
              "transactionStatus": "SUCCESS",
              "transactiontransfers": [],
              "withCvv": false
            },
            "requestId": "794c20b2-4a0c-4d9d-a580-af5544c11120"
          }

          TRANSACTION_RISKY
          When a transaction is refused because of its risk score exceed the limit

          TRANSACTION_THREEDS_AUTH_FAILED
          When a transaction is declined because the card holder failed to authenticate himself during the 3DS process

          The TRANSFER REVERSAL object

          TRANSFERREVERSAL_SUCCEEDED
          When a transfer reversal succeeded
             {
            "eventId": "9bd04039-7b33-4553-af86-64a6e925eef9",
            "type": "TRANSFERREVERSAL_SUCCEEDED",
            "creationDate": "2024-01-16T11:11:40.720817+01:00",
            "object": {
              "additionalData": {},
              "amount": 140,
              "creationDate": "2024-01-16T11:11:40.611318+01:00",
              "currency": "EUR",
              "description": "Test",
              "fee": 0,
              "merchantTransferReversalId": "test",
              "movementId": "e34b6833-7b32-4fde-993a-b904f8f3aeae",
              "net": 140,
              "refundFee": true,
              "status": "TRANSFERRED",
              "transferId": "e3a45ca4-49a9-4681-bc06-be9ab6dd7d79",
              "transferReversalId": "bb47ad7b-4112-4ad5-abf3-489d5878d6fd"
            },
            "requestId": "7e593b04-58c3-4e0d-b3c6-ec2a6887164e"
          }
              }

          TRANSFERREVERSAL_UPDATED
          When a transfer reversal is updated
             {
            "eventId": "8317512a-d7d2-4d6d-a61a-644afb7537fb",
            "type": "TRANSFERREVERSAL_UPDATED",
            "creationDate": "2024-01-16T11:18:00.682451+01:00",
            "object": {
              "additionalData": {},
              "amount": 140,
              "creationDate": "2024-01-16T11:11:40.611318+01:00",
              "currency": "EUR",
              "description": "Addeddata",
              "fee": 0,
              "merchantTransferReversalId": "test",
              "movementId": "e34b6833-7b32-4fde-993a-b904f8f3aeae",
              "net": 140,
              "refundFee": true,
              "status": "TRANSFERRED",
              "transferId": "e3a45ca4-49a9-4681-bc06-be9ab6dd7d79",
              "transferReversalId": "bb47ad7b-4112-4ad5-abf3-489d5878d6fd"
            },
            "requestId": "3509acf1-39c9-45e5-b1b6-d58ee6639b8d"
              }

          The TRANSFER object

          TRANSFER_SUCCEEDED
          When a transfer succeeded
              {
          {
            "eventId": "a1147178-8197-46d7-ba6d-433f71a1b7f5",
            "type": "TRANSFER_SUCCEEDED",
            "creationDate": "2024-01-08T14:33:25.439719+01:00",
            "object": {
              "additionalData": {},
              "amount": 140,
              "creationDate": "2024-01-08T14:33:25.050153+01:00",
              "currency": "EUR",
              "description": "Vente de XxX",
              "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
              "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
              "exchangedAmount": 140,
              "exchangedFee": 0,
              "exchangedNet": 140,
              "fee": 0,
              "merchantTransferId": "IDENTIFIANT_MRI",
              "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
              "net": 140,
              "rate": 1,
              "reversed": false,
              "status": "TRANSFERRED",
              "toCurrency": "GTH",
              "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
              "transferReversals": []
            },
            "requestId": "6d21911b-40bb-4259-aef9-39c616d60aa4"
          }
              }

          TRANSFER_UPDATED
          When a transfer is updated
              {
          {
            "eventId": "356e4dff-4146-47d5-9db9-3226585cafc1",
            "type": "TRANSFER_UPDATED",
            "creationDate": "2024-01-08T14:38:40.555843+01:00",
            "object": {
              "additionalData": {
                "Key1": "val2"
              },
              "amount": 140,
              "creationDate": "2024-01-08T14:33:25.050153+01:00",
              "currency": "EUR",
              "description": "transfer1",
              "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
              "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
              "exchangedAmount": 140,
              "exchangedFee": 0,
              "exchangedNet": 140,
              "fee": 0,
              "merchantTransferId": "TEST_002",
              "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
              "net": 140,
              "rate": 1,
              "reversed": false,
              "status": "TRANSFERRED",
              "toCurrency": "GTH",
              "transferGroup": "TransferGroup_0002",
              "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
              "transferReversals": []
            },
            "requestId": "e7b6b976-a0ae-45dc-a018-f6c651a7f559",
            "objectBeforeUpdate": {
              "additionalData": {},
              "amount": 140,
              "creationDate": "2024-01-08T14:33:25.050153+01:00",
              "currency": "EUR",
              "description": "Vente de XxX",
              "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
              "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
              "exchangedAmount": 140,
              "exchangedFee": 0,
              "exchangedNet": 140,
              "fee": 0,
              "merchantTransferId": "IDENTIFIANT_MRI",
              "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
              "net": 140,
              "rate": 1,
              "reversed": false,
              "status": "TRANSFERRED",
              "toCurrency": "GTH",
              "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
              "transferReversals": []
            }
          }
              }

          TRANSFER_CANCELED
          When a transfer is cancelled
              {
            "eventId": "d1a35d33-87b7-4672-8e49-495cd117f45b",
            "type": "TRANSFER_CANCELED",
            "creationDate": "2024-01-16T11:34:40.698751+01:00",
            "object": {
              "additionalData": {},
              "amount": 140,
              "cancelMovementId": "e66acfa2-60c4-4eec-8bfe-f1571318a667",
              "cancellationDate": "2024-01-16T11:34:40.691168+01:00",
              "creationDate": "2024-01-16T11:34:05.280812+01:00",
              "currency": "EUR",
              "description": "Vente de XxX",
              "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
              "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
              "escrowDate": "2035-12-23",
              "exchangedAmount": 140,
              "exchangedFee": 0,
              "exchangedNet": 140,
              "fee": 0,
              "merchantTransferId": "IDENTIFIANT_GDU",
              "movementId": "98c79326-53e5-4b71-8ef6-4b1344c428a4",
              "net": 140,
              "rate": 1,
              "reversed": false,
              "status": "CANCEL",
              "toCurrency": "EUR",
              "transferId": "fd4aa0f5-69d5-4b79-b6df-c99dab33d9ee",
              "transferReversals": []
            },
            "requestId": "35b87d6e-41dd-4a5e-b1a2-5347b6fa1eba"
          }

          The WIRETRANSFER object (Deprecated)

          WIRETRANSFER_CREATED
          When a wire transfer is created

          WIRETRANSFER_UPDATED
          When a wire transfer is updated

          WIRETRANSFER_RECEIVED
          When a wire transfer is received

          WIRETRANSFER_CANCELED
          When a wire transfer is cancelled

          Object status

          PAYMENT REQUEST status

          • Payment request status:
            • ACTIVE
            • CLOSED
            • CANCELED
          • Payment status :
            • UNPAID
            • ACCEPTED
            • PARTIALLY_PAID
            • PAID

          The following table explains every possible status combination and what they point out :

          Payment request statusPayment status Explanation
          ACTIVEUNPAIDPayment request created, waiting for the customer’s payment.
          ACTIVEPARTIALLY_PAIDThe customer has paid part of the total sum of the payment request that will stay ACTIVE while waiting for the remaining payment(s).
          ACTIVEACCEPTEDTemporary status that is exclusive for the SDD transactions, pre-authorization and deferred payments. The customer has done the required action and the operation is waiting for the processing.
          CLOSEDPAIDThe payment request has been fully paid.
          CLOSEDPARTIALLY_PAIDThe payment request has been partially paid and the merchant has manually closed it. This can be performed from the API or the user portal if the merchant is satisfied with this partial payment of the customer and allows to stop any automatic reminders.
          CANCELEDUNPAIDThe payment request was cancelled before the customer’s payment. This cancellation may be initiated by the merchant via API or via the User Portal (in the event of an error in the creation or cancellation of an order, for example), or carried out automatically if the link expires. This cancellation reason is visible from the User Portal.

          TRANSACTION status

          Status « Transaction »

          StatusDescription
          SUCCESSThe transaction is a « success » when an authorization request has been issued by the Bank and the bank return code is « 0 ».
          FRAUDThe status indicates that the transaction encountered a « blacklisted » item. This can come from an IP, phone number, email or card number.
          CAPTUREDA Success transaction must be « captured » within 7 calendar days in order to be charged to your Customer’s card.
          Note: by default, a transaction is automatically « captured ».
          FAILUREThe transaction is in « failure » when the authorization has not been issued by the Bank issuing the card.
          In addition, you receive a rejection code issued by the bank of the card issuer (bank code < 100).
          CANCELEDThis status reflects the cancellation of a « capture » request before it is cleared. It is possible to cancel a transaction between the « success » and « cleared » transaction status.
          THREEDS_AUTH_FAILURE3DS authentication failed. The cardholder submitted an incorrect code or did not submit it in time.
          CLEAREDA « Cleared » transaction indicates that a debit has been made on your customer’s card. At this point, you can no longer cancel the transaction, but you can refund it using the « refund » API object.
          NOT_ACCEPTEDThe transaction was declined as it encountered an element of denial of an acceptance rule.

          REFUND status

          Statuts « Refund »

          StatutDescription
          CLEAREDProcessed refund.
          UNCLEAREDRefund pending processing.
          FAILURERefund in error.
          CANCELEDRefund cancelled, either by you or by your customer via the customer portal.

          CREDIT status

          Status « Credit »

          StatusDescription
          CLEAREDCredit processed.
          UNCLEAREDCredit pending processing
          FAILURECredit in error.
          CANCELEDCredit cancelled, either by you or by your Customer via the customer portal.

          DISPUTES status

          Status « Disputes »

          StatutDescription
          RETRIEVAL_NOTICEDA request for information is sent to you in order to obtain information on the nature of the operation carried out. At this point, it is not a proven dispute. Depending on your response to this request, your client can turn it into a dispute.
          RETRIEVAL_CLOSENotification that the request for information is closed. The information provided has prevented the dispute.
          CHARGEBACK_NOTICEDA transaction dispute is sent by your customer. The amount of this transaction will be charged to refund your customer. Non-refundable fees also apply for each dispute received.
          Note : a Chargeback (dispute) is not necessarily preceded by a Retrieval (request for information).
          CHARGEBACK_WONYou were successful, the dispute was rejected. The amount of the transaction is refunded to you.
          CHARGEBACK_LOSTYour evidences are deemed insufficient, the challenge is upheld.
          TRANSACTION_REFUNDEDThe amount of the disputed transaction was refunded to you following a CHARGEBACK_WON.

          SUBSCRIPTION status

          Status « Subscription »

          StatusDescription
          ACCEPTEDThe subscription is active and running (initial status when a subscription is successfully created).
          PENDINGStatus defined by the configuration you have chosen in case of repeated payment failures.
          REFUSEDStatus defined by the configuration you have chosen in case of repeated payment failures.
          CANCELLEDThe subscription has been cancelled either by you or by your Customer via the customer portal.

          INSTALLMENT status

          Status « Subscription »

          StatusDescription
          ACTIVEThe installment is active and follows its course (initial status when an installment is created successfully).
          PAIDThe installment has been fully paid.
          FAILUREA payment attempt failed, there will be at least one more trial (The number of trials is configurable on the user portal).
          UNPAIDAll payment attempts failed, final status.
          CANCELEDThe installment has been cancelled by the merchant.

          SDD TRANSACTION status

          Statuts « SDD Transaction »

          StatutDescription
          ACTIVEPending SDD transaction (similar to pending status – largely obsolete status since CentralPay CBK update).
          PENDINGPending SDD transaction.
          NOTICEDObsolete — This status is no longer used.
          CLEAREDProcessed SDD transaction.
          CANCELEDCancelled SDD transaction.
          REVERSEDSDD transaction refunded following a rejection of the customer’s bank, a customer dispute, or following a refund from you.

          MANDATE status

          Status « Mandate »

          StatusDescription
          ACTIVEActive mandate, ready to use.
          PENDINGMandate pending validation.
          OBSOLETEInactive mandate, not usable.

          BANK ACCOUNT status

          StatusDescription
          ACCEPTEDThe bank account has been accepted by the conformity service.
          PENDINGThe bank account is waiting the conformity service verification.
          REFUSEDThe bank account has been refused by the conformity service.
          CANCELLEDThe bank account is no longer usable (closed account, fraud, …).

          PAYOUT status

          StatusDescription
          PAIDThe payout has been paid.
          PENDINGPayout pending processing.
          CANCELLEDThe payout has been cancelled (only in pending).
          REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet.

          SCT TRANSACTION status

          Status « SCT Transaction »

          StatusDescription
          PENDINGPending receipt of the SCT Transaction.
          RECEIVEDSCT Transaction received.
          CANCELEDSCT Transaction cancelled before receipt.
          REFUNDEDSCT Transaction refunded.

          Resources by type

          Codes

          Test values

          Authentification 3DS 2.2

          Articles

          • 3DS 2.2 BRW (paiement unitaire)
          • 3DS 2.2 3RI (paiements récurrents)
          • FAQ 3DS 2.2

          3DS 2.2 BRW (paiement unitaire)

          Téléchargement des sources 3DS 2.0

          Vous pouvez télécharger les sources ici : 3ds2.zip

          Introduction

          Tout ce processus doit se dérouler sur la même page web (ceci est une contrainte du process bancaire).

          Les grandes étapes du 3D Secure 2.0 :

          Consultez un exemple de formulaire de paiement CUSTOM intégrant le 3DS 2.0

          1) Versioning

          • Cette étape consiste à adresser le PAN de la carte à l’API Centralpay.

          Exemple de code Curl :

              curl -v POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \
              -h 'Content-Type: application/x-www-form-urlencoded' \
              -u 'doctest:4I9HJRTd' \
              -d 'acctNumber=4000001000000067'
          • En réponse :
            • Si la carte n’est pas 3DS 2.0, le versioning vous retournera une erreur 404. Cela signifie que la carte utilisée n’est pas enrôlée 3DS 2.0 et que la transaction ne peut pas se faire en 3DS 2.0.
            • Si la carte est 3DS 2.0, vous recevrez un UUID identifiant l’opération jusqu’au résultat final + les données nécessaire pour réaliser le « 3DS Method » (URL + base64)

          Deux réponses au Versionning sont possibles si la carte est 3DS 2.0 :

          • Version 1 (la plus fréquente) :
          {
              "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f",
              "threeDSMethodURL":"https://test-3dss-demo.centralpay.net/acs/3ds-method",
              "threeDSMethodDataForm":{
                  "threeDSMethodData":"eyJ0aHJlZURTTWV0aG9kTm90aWZ
                  pY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJ
                  hbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9
                  uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2M
                  tZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0="
              },
              "errorDetails":null
          }

          Cette réponse est renvoyée quand la banque a besoin de l’acs url dans la requête de l’authentification.

          Le process 3DS Method est alors nécessaire, vous pouvez passer au point 2 : 3DS METHOD.

          • Version 2 :
          {
              "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f",
              "threeDSMethodURL": null,
              "threeDSMethodDataForm": null,
              "errorDetails": null
          }

          Cette réponse est renvoyée quand la banque n’a pas besoin de l’acs url dans la requête de l’authentification.
          Le versioning renvoie une réponse où seul « threeDSServerTransID » possède une valeur non null.

          Le process 3DS Method n’est alors pas nécessaire, vous pouvez passer au point 3 : 3DS AUTHENTICATION BRW.

          2) 3DS METHOD

          Lorsque le versioning renvoi les champs threeDSMethodURL et threeDSMethodDataForm en « Non Null », le process 3DS Method est alors nécessaire.
          Cette fonction a pour but de poster la donnée base64 reçue du versioning vers l’ACS.
          Le formulaire iframe doit être réalisée par le navigateur client vers la banque simultanément avec l’authentification.
          Il faut réaliser une iFrame cachée qui servira à poster la donnée base64 (threeDSMethodData) à l’URL reçue dans le versioning (threeDSMethodURL).

          3) 3DS AUTHENTICATION BRW

          L’appel devra être adressé vers l’url suivante de l’API CentralPay : « 3ds2/authentication »
          Cette requête permet l’envoi des données contextuelles liées au porteur

          Exemple d’appel (curl code) :

              curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \
              --header 'Content-Type: application/x-www-form-urlencoded' \
              --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
              --data-urlencode 'threeDSServerTransID=7d031b8e-7fb7-4215-b866-eaacb395002f' \
              --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \
              --data-urlencode 'deviceChannel=02' \
              --data-urlencode 'messageCategory=01' \
              --data-urlencode 'purchaseAmount=1000' \
              --data-urlencode 'purchaseCurrency=EUR' \
              --data-urlencode 'threeDSRequestorAuthenticationInd=01' \
              --data-urlencode 'browserJavaEnabled=true' \
              --data-urlencode 'browserLanguage=fr-FR' \
              --data-urlencode 'browserColorDepth=24' \
              --data-urlencode 'browserScreenHeight=1052' \
              --data-urlencode 'browserScreenWidth=1853' \
              --data-urlencode 'browserTZ=120' \
              --data-urlencode 'browserIP=127.0.0.1' \
              --data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' \
              --data-urlencode 'browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
              --data-urlencode 'notificationURL=http://dev4.dev.centralpay.net:1101/requestor/challenge-notification' \
              --data-urlencode 'threeDSRequestorURL=https://www.centralpay.eu'

          L’api va retourner un statut de transaction (« transStatus »), voici les valeurs et leurs significations :

          Pas d’autorisation (ne pas faire la transaction) :

          • N = Non authentifié /Compte non vérifié. Transaction refusée.
          • U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq.
          • R = Authentification/vérification du compte rejetée. l’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation
          • I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS.

          Autorisation sans challenge :  

          • Y = Vérification de l’authentification réussie.
          • A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie.  

          Autorisation après challenge : 

          • C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes.
          • D = Challenge requis. Authentification découplée confirmée.

          Exemples de réponses possibles :

          C = Challenge requis :

          {
          "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f",
          "transStatus": "C",
          "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge",
          "acsChallengeMandated": "Y",
          "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=",
          "contractId": "71602dd0-2790-4743-877b-e72530d7576d"
          }

          Le Challenge est nécessaire.

          Y = authentification réussie :

          {
              "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe",
              "transStatus": "Y",
              "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa",
              "eci": "02",
              "contractId": "71602dd0-2790-4743-877b-e72530d7576d"
          }

          Le Challenge n’est pas nécessaire.
          Les champs requis au 3DS 2.0 sont dans la réponse (threeDSServerTransID, transStatus, authenticationValue (cavv), eci).

          Note : Le xid n’est pas fourni, car il s’agit d’une référence libre pour les marchands.

          N = Transaction refusée :

          {
              "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0",
              "transStatus": "N",
              "eci": "00",
              "contractId": "258128f3-5db9-4235-918a-f1d786f67c29"
          }

          Transaction refusée.

          4) Challenge

          • Lorsque la réponse de l’authentification est « C« , l’utilisateur doit effectuer un challenge, une Iframe doit alors soumettre un formulaire à l’url (acsURL) retournée par l’API lors de l’appel à « 3ds2/authentication ».
          • Le seul paramètre envoyé est : creq qui comprend la valeur base64EncodedChallengeRequest qui provient de l’appel à « 3ds2/authentication ».
          • A la fin du challenge, l’url configurée (paramètre notificationURL ) dans l’appel « 3ds2/authentication » est appelée.

          Voici ce que vous aurez dans notre environnement de test pour l’affichage du Challenge OTP (dans des conditions de PROD, la fenêtre affichée sera celle de l’ACS) :

          Voici les OTP en environnement test :

          • 1234 retourne Y pour Challenge réussi
          • 4444 retourne A pour Challenge réussi
          • 1111 retourne N pour Challenge échoué
          • 2222 retourne R pour Challenge échoué
          • 3333 retourne U pour Challenge échoué

          5) Réponse

          • À l’issue du challenge, les informations concernant celui-ci sont disponibles dans la variable « finalCresValue »
          • Pour récupérer les informations de cette valeur base 64 il faut la décoder, voici un exemple en php :
          $retour = json_decode(base64_decode($_POST['cres']), true)
          • Si celui-ci est égal à Y ou A alors le client a effectué le challenge correctement et le paiement est autorisé, vous devrez alors appeler GET /results afin de connaitre les données nécessaire aux 3DS 2.0 pour votre transaction.
          • Si le statut de transaction est égal à une autre valeur, alors le client n’a pas effectué le challenge correctement et le paiement est refusé.

          6) Résultat

          • Pour connaitre les données 3DS 2.0 à renseigner à la création d’une transaction 3DS 2.0, vous devrez adresser le threeDSServerTransID de l’authentification 3DS 2.0 préalablement effectuée.
          • Rappel : Si vous avez obtenu un transStatus à « Y » en réponse de l’authentification, les données 3DS 2.0 sont déjà contenu dans celui-ci.

          Appel :

          curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \
          --header 'Authorization: Basic e3tERUZBVUxUX1VTRVJ9fTp7e0RFRkFVTFRfUEFTU1dPUkR9fQ=='

          Réponse :

          {
              "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f",
              "transStatus": "Y",
              "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=",
              "eci": "01"
          }

          7) Transaction

          Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 :

          • 3ds[threeDSServerTransID] = threeDSServerTransID
          • 3ds[status] = transStatus
          • 3ds[cavv] = authenticationValue
          • 3ds[eci] = eci (Obligatoire si disponible)
          • 3ds[xid] = Paramètre Custom destiné aux marchands.

          Exemple d’une transaction 3DS 2.0 :

          curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \
          --header 'Origin: https://example.centralpay.net' \
          --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
          --header 'Content-Type: application/x-www-form-urlencoded' \
          --data-urlencode 'currency=EUR' \
          --data-urlencode 'amount=1500' \
          --data-urlencode 'endUserIp=9.64.32.8' \
          --data-urlencode 'endUserLanguage=ita' \
          --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \
          --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \
          --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \
          --data-urlencode 'browserAcceptLanguage=it_IT' \
          --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \
          --data-urlencode 'email=support@centralpay.eu' \
          --data-urlencode 'receiptEmail=support@centralpay.eu' \
          --data-urlencode 'capture=true' \
          --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \
          --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \
          --data-urlencode 'order[firstName]=John' \
          --data-urlencode 'order[lastName]=Doe' \
          --data-urlencode 'source=EC' \
          --data-urlencode '3ds[xid]=35876533346561303461' \
          --data-urlencode '3ds[cavv]=JAmi21makAifmwqo2120cjq1AAA=' \
          --data-urlencode '3ds[eci]=01' \
          --data-urlencode '3ds[status]=Y' \
          --data-urlencode '3ds[threeDSServerTransID]=7d031b8e-7fb7-4215-b866-eaacb395002f'

          3DS 2.2 3RI (paiements récurrents)

          Prérequis

          Afin de réaliser une transaction en 3DS 2.0 3RI, il faut que l’utilisateur ait déjà réalisé une transaction 3DS 2.0 avec une authentification BRW.
          Une fois celle-ci effectuée, gardez le acsTransId qui est envoyé, il faudra le passer dans threeDSReqPriorRef.

          1/ 3DS AUTHENTICATION RI

          • L’appel devra être adressé vers l’URL suivante de l’API CentralPay : « 3ds2/authentication »
          • Le acsTransId que vous avez gardé de l’authentification BRW doit être mis dans threeDSReqPriorRef.
          • Si l’api vous retourne un statut de transaction (« transStatus ») à « Y » l’authentification 3RI est autorisé.
          • Voici les valeurs possibles de transStatus et leur signification :
            • Y = Vérification de l’authentification réussie.
            • N = Non authentifié /Compte non vérifié. Transaction refusée.
            • U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq.
            • A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie.
            • C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes.
            • D = Challenge requis. Authentification découplée confirmée.
            • R = Authentification/vérification du compte rejetée. L’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation.
            • I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS.

          Exemple d’appel 3RI (curl code) :

          curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \
          --header 'Content-Type: application/x-www-form-urlencoded' \
          --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
          --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \
          --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \
          --data-urlencode 'pointOfSaleId=08960d92-874b-4447-800b-aaa53fa976f5' \
          --data-urlencode 'deviceChannel=03' \
          --data-urlencode 'messageCategory=02' \
          --data-urlencode 'acctType=03' \
          --data-urlencode 'cardExpiryDate=9999' \
          --data-urlencode 'purchaseAmount=4880' \
          --data-urlencode 'purchaseCurrency=978' \ 
          --data-urlencode 'purchaseExponent=2' \
          --data-urlencode 'purchaseDate=20230101122345' \
          --data-urlencode 'recurringExpiry=20330101' \
          --data-urlencode 'recurringFrequency=0' \
          --data-urlencode 'chAccAgeInd=03' \
          --data-urlencode 'chAccChange=20220901' \
          --data-urlencode 'chAccDate=20220901' \
          --data-urlencode 'email=support@centralpay.eu' \
          --data-urlencode 'nbPurchaseAccount=2' \
          --data-urlencode 'paymentAccAge=20221001' \
          --data-urlencode 'paymentAccInd=03' \
          --data-urlencode 'threeDSReqPriorAuthMethod=02' \
          --data-urlencode 'threeDSReqPriorAuthTimestamp=202209010123' \
          --data-urlencode 'threeDSReqPriorRef=7d031b8e-7fb7-4215-b866-eaacb395002f' \
          --data-urlencode 'threeDSRequestorDecReqInd=N' \
          --data-urlencode 'threeDSRequestorAuthenticationInd=02' \
          --data-urlencode 'threeDSRequestorChallengeInd=02' \
          --data-urlencode 'threeRIInd=01'

          Explication de certains paramètres

          • deviceChannel 03 -> 3DS Requestor Initiated (3RI)
          • messageCategory 02 -> La valeur 02 force la transaction en 3RI.
          • purchaseAmount -> Montant de l’achat courant
          • purchaseCurrency -> Monnaie au format ISO
          • purchaseExponent  -> Unité mineure de la monnaie courante
          • purchaseDate  -> Date de l’achat
          • recurringExpiry  -> Date à laquelle il n’y aura plus d’autorisations qui pourront être effectuées
          • recurringFrequency  -> Nombre de jours minimums entre deux autorisations.
          • acctType -> Debit
          • chAccAgeInd -> Durée pendant laquelle le titulaire de la carte possède le compte auprès du demandeur 3DS. Les valeurs acceptées sont :
            • 01 -> Pas de compte
            • 02 -> Créé durant la transaction
            • 03 -> Moins de 30 jours
            • 04 -> Entre 30 et 60 jours
            • 05 -> Plus de 60 jours.
          • chAccChange -> Date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Format de la date = YYYYMMDD.
          • chAccDate -> Date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Format de la date = YYYYMMDD.
          • nbPurchaseAccount -> Nombre d’achats effectués avec ce compte de titulaire de carte au cours des six derniers mois.
          • paymentAccAge ->  Date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS.
          • paymentAccInd ->  Indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs acceptées sont :
            • 01 -> Pas de compte
            • 02 -> Créé durant la transaction
            • 03 -> Moins de 30 jours
            • 04 -> Entre 30 et 60 jours
            • 05 -> Plus de 60 jours.
          • threeDSReqPriorAuthMethod 02 -> Vérification du porteur de carte effectué par l’ACS.
          • threeDSReqPriorAuthTimestamp -> Date et heure en UTC de l’authentification précédente. Le format de date accepté est YYYYMMDDHHMM.
          • threeDSReqPriorRef -> Le champ doit contenir la valeur « acsTransId » de la transaction 3DS BRW précédente.
          • threeDSRequestorDecReqInd N -> Ne pas utiliser l’authentification découplée.
          • threeDSRequestorAuthenticationInd 02 -> Transaction récurrente
          • threeDSRequestorChallengeInd 02 -> Pas de Challenge requis
          • threeRIInd 01 -> Transaction récurrente

          Exemple de réponse :

          {
                  "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c",
                  "transStatus": "Y",
                  "eci": "02",
                  "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf"
          }

          2/ Transaction

          • Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 :
            • 3ds[threeDSServerTransID] = threeDSServerTransID (ajouter le nouveau génerer par l’authentification 3RI)
            • 3ds[status] = transStatus
            • 3ds[eci] = eci (Obligatoire si disponible)
            • 3ds[xid] = Paramètre Custom destiné aux marchands.
          • Lors d’une transaction en 3RI, il ne faut pas envoyer le 3ds[cavv].

          Exemple d’une transaction 3DS 2.0 :

          curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \
          --header 'Origin: https://example.centralpay.net' \
          --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
          --header 'Content-Type: application/x-www-form-urlencoded' \
          --data-urlencode 'currency=EUR' \
          --data-urlencode 'amount=1500' \
          --data-urlencode 'endUserIp=9.64.32.8' \
          --data-urlencode 'endUserLanguage=ita' \
          --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \
          --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \
          --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \
          --data-urlencode 'browserAcceptLanguage=it_IT' \
          --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \
          --data-urlencode 'email=support@centralpay.eu' \
          --data-urlencode 'receiptEmail=support@centralpay.eu' \
          --data-urlencode 'capture=true' \
          --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ 
          --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \
          --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \
          --data-urlencode 'order[firstName]=John' \
          --data-urlencode 'order[lastName]=Doe' \
          --data-urlencode 'source=EC' \
          --data-urlencode '3ds[xid]=35876533346561303461' \
          --data-urlencode '3ds[eci]=02' \
          --data-urlencode '3ds[status]=Y' \
          --data-urlencode '3ds[threeDSServerTransID]=67dc456c-6c7a-987f-92cf-f68752525d0c'

          FAQ 3DS 2.2

          Foire aux questions autour du 3-D Secure 2.0.

          Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ?

          Consultez la liste des cartes de tests de l’environnement de RCT

          Ma transaction a reçu le code retour banque 5, qu’est-ce que ça signifie ?

          • Cela signifie, que la banque refuse sans donner de statut particulier.
            Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.
            Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives.

          Ma transaction a reçu le code retour banque 12, qu’est-ce que ça signifie ?

          • Cela signifie que la banque refuse sans donner de statut particulier.
            La raison peut être :
                  – Simplement une transaction invalide
                  – Un code 75 de la part de la banque émetteur (le code PIN de la carte a été trop de fois incorrecte)
                  – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS)
                  – Ou une autre décision que nous ne connaissons pas.

          L’API transaction me retourne une erreur « Soft Decline » pourtant le paramètre « threeDSServerTransID » est bien celui retourné par le cres.
          Comment devons-nous interpréter ce retour et que devons-nous faire ?

          • Le soft decline est renvoyé par la banque lorsque que le 3DS n’est pas présent dans la transaction.
            Il faut vérifier s’il manque des champs présentés dans cette partie de la documentation : https://ref-api.centralpay.net/payment#106-3ds-sub-object

          Ma requête du Versioning me retourne une erreur « 404 » avec le message « Card account number not found in card ranges from Directory Server ».
          Qu’est-ce que ça signifie et que dois-je faire ?

          • Cela signifie que la carte utilisée n’est pas enrôlée 3DS2.0 et que la transaction ne peut pas se faire en 3DS2.0.
            Pour ce cas, nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce genre de carte.

          La réponse de la requête Result nous a renvoyé le transStatus à U.
          Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

          • La valeur U de transStatus en réponse de la requête result signifie que l’authentification ou la vérification n’a pas pu se faire suite à un problème technique ou autres problèmes.
            Du côté du smart form lors du challenge avec la requête result, seules les valeurs Y et A permettent de valider le challenge et continuer le paiement.
            Les autres valeurs font échouer le challenge et le paiement.
            Mais dans le cas d’un custom form le fonctionnement peut être différent, vous pouvez utiliser la valeur U pour faire une nouvelle tentative de challenge et si ça échoue encore alors le paiement passe en 3DS1 ou est refusé, ou alors pour directement retenter le paiement en 3DS1 ou le considérer comme un échec de paiement.
            Ces différents cas sont possibles à réaliser.

          Nous avons soumis le formulaire à l’URL retournée par l’authentication avec le base64EncodedChallengeRequest.
          Mais le client est aussitôt revenu sur notre site sans CRES mais avec un paramètre ERROR contenant la valeur « eyJ0aHJlZURTU…Mi4xLjAifQ== » ainsi que le paramètre « THREEDSSESSIONDATA » qui lui était vide.
          Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

          • Lorsque vous avez un retour de ce genre, il faut vérifier que votre processus du 3DS2 se déroule bien sûr une seule et même page avec la solution d’un iframe.
            Si le processus est conforme, alors contactez le support technique avec les informations nécessaires.
          Pour rappel, toutes les étapes du formulaire se réalisent sur une seule et même page sans redirection vers une page bancaire ou autre.
          Cela se fait grâce à la solution de l'Iframe.
          Toute la procédure du 3DS2.0 se passe sur la même page !

          Nous avons reçu une erreur 303 : « acquirerBIN, acquirerMerchantID not recognized » lors d’un appel à l’authentication.
          Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

          • Il s’agit soit du contrat qui n’est pas 3DS2, soit d’autres problèmes.
            Dans le cas d’un autre problème, il faut alors contacter le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations pouvant être nécessaire.

          Sur l’étape d’authentication, nous avons eu une erreur 203 : « Validation of 3DS Requestor Authentication data failed.
          Data element not in the required format or value is invalid » pour le champ merchant.merchantName.
          Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

          • L’erreur 203 signifie qu’il y a un caractère invalide dans le paramètre « merchant.merchantName ».

          Lors d’un test d’appel de la fonction 3DS2 « authentication », l’erreur suivante est retournée dans la clé « card data » : « There is no unique source of card ».
          Qu’est-ce que cela signifie ?

          • L’erreur « There is no unique source of card » est commune à toute la plateforme et est présent lorsque vous envoyez des informations de cartes deux fois : par exemple via un cardToken et un cardId ou un PAN et un cardToken etc…

          Portail client

          Le portail client CentralPay est l’interface des profils clients (Customer). Il permet à vos clients de :

          • consulter leur historique de paiement,
          • d’administrer leurs opérations en cours (mise à jour de leur moyen de paiement par défaut, résiliation d’abonnement…)
          • mais aussi d’interagir avec vous en cas de question concernant une opération (formulaire de contact).

          Ce portail est principalement utilisé pour l’administration des paiements récurrents par les clients. Les équipes conformité de CentralPay peuvent requérir que l’URL de ce portail soit intégrée dans le pied de page ou les conditions générales de votre site marchand.

          Pour s’y connecter, vos clients ont deux options :

          • Via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre compte CentralPay :
            • Accès portail client de RCT : https://test-customer.centralpay.net/home
            • Accès portail client de PROD : https://customer.centralpay.net/home
          • En direct via le lien communiqué dans les emails automatique de création d’abonnement / de paiement fractionné, ou en intégrant le CustomerID visible dans votre Portail utilisateur > Compte > Customer > Détail > CustomerId :
            • Accès portail client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId]
            • Accès portail client de RCT : https://customer.centralpay.net/customer/?uuid=[CustomerId]

          Exports de données

          1/ Introduction

          Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports.

          2/ Export des transactions cartes

          • Accès Transactions – Portail utilisateur de RCT
          • Accès Transactions – Portail utilisateur de PROD

          Cet export vous permet d’obtenir le détail des transactions cartes que vous avez réalisées au cours d’une période donnée.
          Cet export simplifie la lecture de vos transactions carte en agrégeant les opérations d’autorisations et de débit, et présente des données complémentaires spécifiques aux transactions cartes.

          L’export contient les données suivantes :

          DénominationSignification
          transaction_creation_datedate de création
          transaction_ididentifiant de transaction
          transaction_amountmontant
          transaction_currencydevise
          transaction_payout_amountvaleur de devise de règlement
          transaction_payout_currencydevise de règlement
          transaction_commision_amountfrais sur la transaction
          transaction_commision_currencydevise des frais
          transaction_fee_amountfrais fixes par transaction
          transaction_3ds3DS (0=non, 1=oui)
          transaction_descriptiondescription définie par le marchand
          transaction_sourceEC Ecommerce, DP Deposit, MO Mail order
          transaction_bank_coderetour autorisation banque
          transaction_statusstatut de la transaction
          transaction_authorization_statusstatut de l’autorisation
          transaction_authorization_codecode d’autorisation
          transaction_capture_statusstatut de la capture
          transaction_capture_datedate de la capture
          transaction_capture_amountmontant de la capture
          merchant_transaction_ididentifiant de transaction marchand
          point_of_sale_ididentifiant du point de vente
          point_of_sale_namenom du point de vente
          merchant_ididentifiant marchand
          merchant_namenom du marchand
          dispute_amountmontant de la contestation
          dispute_currencydevise de la contestation
          dispute_datedate de la contestation
          refund_amountmontant du remboursement
          refund_currencydevise du remboursement
          refund_datedate du remboursement
          card_ididentifiant de la carte de paiement
          card_first66 premiers chiffres de la carte
          card_last44 derniers chiffres de la carte
          card_cardholder_namenom du porteur
          card_cardholder_emailemail du porteur
          card_typetype de carte (crédit/débit/prepaid)
          card_productnom du produit carte (Infinite, Gold…)
          card_product_typecarte consumer ou corporate
          card_commercial_brandréseau carte (VISA/Mastercard/CB)
          card_regioncontinent d’origine de la carte
          card_countrypays d’origine de la carte
          card_establishment_namenom de l’établissement qui fournit la carte
          customer_ididentifiant client
          end_user_ipIP de l’utilisateur
          end_user_languagelangue de l’utilisateur
          browser_user_agentnavigateur de l’utilisateur
          receipt_emailmail de réception de l’utilisateur
          clearing_numbernuméro de clearing
          merchant_category_codeactivité du marchand

          3/ Export des remboursements cartes

          • Accès Remboursements cartes – Portail utilisateur de RCT
          • Accès Remboursements cartes – Portail utilisateur de PROD

          Cet export vous permet d’obtenir le détail des remboursements cartes que vous avez réalisées au cours d’une période donnée.

          4/ Export des contestations de transactions cartes

          • Accès Contestations cartes – Portail utilisateur de RCT
          • Accès Contestations cartes – Portail utilisateur de PROD

          Cet export vous permet d’obtenir le détail des contestations de transactions cartes (disputes/chargebacks) que vous avez reçues au cours d’une période donnée.

          5/ Export des abonnements (cartes et SDD)

          • Accès Abonnements – Portail utilisateur de RCT
          • Accès Abonnements – Portail utilisateur de PROD

          Cet export vous permet d’obtenir le détail des abonnements cartes et SDD que vous avez réalisés au cours d’une période donnée.

          Refund >

          See more about Refund for Card Transaction
          See more about Refund for SCT Transaction
          See more about Refund for SDD Transaction

          Mandate

          See more about Mandate

          Documentation

          Articles

          • Guide de démarrage rapide >
          • Le compte CentralPay
          • Services liés au compte
          • Liens de paiement
          • Transaction par carte
          • Transaction par virement
          • Transaction prélèvement SEPA
          • Transaction par initiation
          • Paiements récurrents
          • Authentification 3DS 2.2
          • Créer des comptes
          • Transférer des paiements
          • Cas d'usages

          Guide de démarrage rapide >

          1/ Entrée en relation

          • Consultez les offres tarifaires de CentralPay
          • Présentez votre projet aux équipes commerciales de Centralpay
          • Choisissez le modèle d’entrée en relation qui correspond à votre projet
          • Consultez les étapes d’entrée en relation

          2/ Création de votre compte de test

          Un environnement de recette est mis à disposition pour effectuer vos développements et tests d’intégration :

          • Compte de test Marchand : si vous souhaitez uniquement accéder à la solution d’encaissement Smart Collection, cliquez sur le lien suivant et renseignez vos informations : obtenir un compte de test marchand
          • Compte de test Partenaire : si vous souhaitez accéder aux solutions d’encaissement Smart Collection et de transfert des paiements Easy Wallet, veuillez contacter notre service client qui créera et paramètrera votre compte de test en conséquence.

          3/ Choix de votre méthode d’intégration

          Déterminez la méthode d’intégration que vous souhaitez utiliser :

          • Intégration Smart : utilisez les demandes de paiement et la page de paiement CentralPay pour encaisser vos transactions. Les parcours clients sont prêts à l’emploi, pour un lancement rapide de votre projet.
          • Intégration Custom : intégrez les services API de transaction par carte, par virement et/ou par prélèvement SEPA pour encaisser vos transactions. Les parcours doivent être entièrement développés par vos soins, ce qui vous permet de le maitriser entièrement, mais requiert plus d’efforts et de responsabilités.

          4/ Paramétrage de votre compte

          Votre compte CentralPay dispose d’un certain nombre de paramétrages qui peuvent être réalisés en autonomie ou avec l’aide de notre service client. Les paramétrages réalisés sur votre compte de RCT ne seront pas répercutés automatiquement sur votre compte de PROD, veillez à reparamétrer correctement votre compte de PROD une fois en votre possession.

          Paramétrages principaux :

          • Récupération des accès d’authentification API du compte
          • Déclaration des domaines autorisés (si intégration Custom uniquement)
          • Comptes de paiement et affectation des comptes bancaires de sortie
          • Paramétrage des utilisateurs du Portail utilisateur
          • Création et paramétrage des points de vente
          • Paramétrage des Webhooks
          • Paramétrage de l’Identifiant de Créancier SEPA ou ICS (si prélèvements SEPA uniquement)

          Paramétrages secondaires :

          • Paramétrage des emails de contact du compte
          • Paramétrage des règles d’acceptation
          • Paramétrage des reversements
          • Paramétrage du libellé de relevé bancaire (carte)
          • Paramétrage des notifications automatiques
          • Paramétrage de la page de paiement SmartForm
          • Paramétrage des profils de demandes de paiement
          • Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement carte
          • Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement SEPA

          5/ Simuler des paiements

          Avant la mise en production de votre compte, vous devez simuler des paiements client dans votre compte de RCT afin de vous assurer du bon fonctionnement de votre intégration :

          • Simuler une transaction carte : consultez la liste des cartes de test permettant de simuler différents types et statuts de transactions
          • Simuler une transaction par virement SEPA (SCT) : créez une ou plusieurs transactions SCT puis demandez au support CentralPay de simuler les opérations
          • Simuler une transaction par prélèvement SEPA (SDD) : récupérez un IBAN/BIC de test depuis notre liste dédiée

          6/ Mise en production

          Une fois vos workflows de paiement testés et validés sur l’environnement de RCT, il va être nécessaire de préparer la MEP vers l’environnement de production.
          Tout paramétrage ayant été réalisé en RCT devra être réeffectuer en PROD si vous désirez le même comportement.
          Pour cela il vous faudra :

          • récupérer les crédentials de PROD du ou des utilisateurs API
          • s’assurer de bien avoir l’URL API de PROD
          • récupérer la merchantPublicKey liée à votre marchand afin de créer des cardToken
          • informer CentralPay de la mise en production d’un site ou d’une évolution majeure impactant Centralpay sur la connaissance de l’activité du marchand
          • définir l’URL de votre site sur votre point de vente du marchand afin d’avoir le droit d’utiliser des demandes de paiement 
          • vérifier l’accès à la page de contact du support depuis le portail utilisateur : https://backoffice.centralpay.net/admin/support/

          Une fois la MEP sur l’environnement de PRD effectuée, il est toléré de faire une ou deux transactions d’un Euro afin de contrôler le bon fonctionnement du paiement.

          Le compte CentralPay

          Compte CentralPay

          Ouvert pour une entité (personne physique ou morale), il est le support de :
          – Sa contractualisation : grille tarifaire, CGU…
          – Son administration : authentification, profils utilisateurs…
          – Sa configuration : scenario de notification, points de vente, règles d’acceptations
          – Sa conformité : KYC/KYB, accréditations…

          Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.

          1/ Les types de compte CentralPay et droits associés

          Il existe plusieurs types de compte CentralPay disposants de droits spécifiques à chacun :

          • Participant : 
            Le Participant est une entité rattachée à un Partenaire qui lui fournit des services.
            Il dispose :
            • D’un compte de paiement ou de monnaie électronique utilisé uniquement pour recevoir des transferts de son Partenaire.
            • D’un accès au Portail Utilisateur pour gérer ses reversements.

              Limitations :
            • Pas d’accès direct aux API de CentralPay.
          • Marchand : 
            Le Marchand représente une entreprise ou un commerçant qui encaisse des paiements pour son propre compte. Il bénéficie :
            • D’un accès aux services CentralPay via API (directement ou via un Partenaire Technique).
            • De la gestion autonome de ses reversements.
            • D’un ou plusieurs comptes de paiement
            • D’un Contrat d’Acceptation pour encaisser des paiements.
            • D’un compte de commission dédié pour isoler les frais de service des autres transactions.
          • Partenaire Technique : 
            Le Partenaire Technique agit pour le compte d’un Marchand, ou d’un Participant disposant d’un Contrat d’Acceptation.
          • Rôles et fonctionnalités :
            • Dispose d’une infrastructure informatique permettant la gestion technique des paiement.
            • Détient des identifiants API spécifiques pour consulter ou transmettre des informations.
            • Accède à un compte centralisateur pour visualiser et suivre les transactions.
            • Possède un compte de commission pour percevoir les frais liés à ses services.
            • Peut également disposer d’un Contrat d’Acceptation pour ses propres encaissements.
          • Partenaire DME  :
            Le Partenaire DME fournit une gamme élargie de services, incluant :
            • La mise en relation de CentralPay avec des Participants dans le but d’ouvrir un compte
            • La distribution, le transfert et le remboursement de la monnaie électronique.

              Fonctionnalités :
            • Comme le Partenaire Technique, il dispose d’une infrastructure informatique pour gérer les paiements et les transferts.
            • Accède à des identifiants API selon des droits spécifiques.
            • Visualise et gère les instructions depuis un compte centralisateur.

              Le Partenaire DME fournit les instructions nécessaires pour :
            • Permettre le chargement de la valeur sur les comptes de monnaie électronique.
            • Effectuer des transferts entre comptes.
            • Rembourser la monnaie électronique.

              Il possède un compte de commission pour percevoir les frais associés.
          • Partenaire Agent :

          Le Partenaire Agent (Prestataire de Services de Paiement – PSP) dispose de droits élargis et d’un statut réglementé nécessitant un enregistrement auprès de l’ACPR. Contrairement aux autres Partenaires, l’Agent participe activement à la réalisation des Services de Paiement.

          Rôles et fonctionnalités :

          Il peut gérer un large éventail d’opérations de paiement, notamment :

          • La demande d’inscription de Participants sous-marchands.
          • Participe à la collecte du KYC/KYB ou assure la collecte du KYC/KYB
          • La gestion des encaissements directement depuis un compte de collecte dont il est titulaire.
          • Le transfert des Transactions vers le ou les comptes de paiements concernés
          • Pilote le réservément vers les comptes bancaires
          • Dispose de :
            • Un compte de collecte sur lequel transiteront les fonds de tiers
            • Un compte de commission pour recevoir les frais liés à ses services.
            • Un éventuel compte de paiement et un contrat d’acceptation pour ses propres encaissements.

          2/ Paramétrage des emails de contacts du compte

          Afin d’adresser nos demandes ou de transférer les informations importantes aux bonnes personnes au sein de votre entité, il est important de renseigner les emails de contact du compte :

          • Email contact : email du responsable général du compte
          • Email administratif : email du responsable administratif du compte
          • Email technique : email du responsable technique du compte
          • Email financier : email du responsable financier du compte

          NB : par défaut, les emails sont renseignés avec celui du titulaire du compte.

          • Accès Portail utilisateur de RCT – Paramétrage des coordonnées
          • Accès Portail utilisateur de PROD – Paramétrage des coordonnées

          Profils clients

          1/ Introduction

          Les profils clients (ou « Customer ») unifient et sécurisent toutes vos données client pour en faciliter la gestion. Ils interagissent avec les autres services de CentralPay et permettent notamment de :

          • centraliser leur historique de paiements (tous canaux de vente et moyens de paiement confondus)
          • digitaliser et stocker de manière sécurisée leurs supports de paiement (cartes, mandats SEPA, IBAN virtuels)
          • suivre facilement leurs paiements récurrents (abonnements, paiements fractionnés) ou règlements en attente (demandes de paiement).

          Dans certains cas, ils peuvent également être associés à un compte de monnaie électronique permettant au client de recevoir et d’utiliser des fonds au sein du réseau du partenaire distributeur de cette monnaie électronique.

          Un Customer est obligatoirement identifié soit par son email, soit par son numéro de téléphone.

          Il est également possible de déclarer d’autres informations le concernant comme son nom, son prénom, sa langue, sa référence personnalisée, son moyen de paiement par défaut…

          2/ Utilisation

          La création d’un Customer est obligatoire pour la réalisation :

          • d’abonnements ou de paiements fractionnés par carte
          • de paiements en 1 clic par carte
          • de paiements par prélèvement SEPA
          • de paiements par virement SEPA avec IBAN Virtuel dédié à celui-ci
          • de création d’un compte de monnaie électronique anonyme

          3/ Interfaces

          Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail utilisateur > Compte > Customers :

          • Accès Customers – Portail utilisateur de RCT
          • Accès Customers – Portail utilisateur de PROD

          Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise.

          4/ Création d’un Customer

          Il existe deux méthodes pour créer un Customer :

          • Créer un Customer depuis le service API dédié, permettant ensuite de créer une Card, de gérer un IBAN Virtuel pour ce Customer, d’initier une transaction, une demande de paiement…
          • Créer un Customer via une demande de paiement

          CentralPay assure l’unicité des Customers : si vous initiez une demande de paiement avec création d’un Customer alors que son email ou son numéro de téléphone est déjà connu dans votre compte, CentralPay ne créera pas de nouveau Customer et associera la transaction au profil existant.

          Points de vente

          1/ Introduction

          Les points de vente (« Point of Sales » ou « POS ») sont la représentation de vos différents sites web, boutiques, ou équipes de vente. Ils permettent de segmenter les opérations de votre compte CentralPay à des fins :

          • Techniques : vous pouvez réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom expéditeur des emails de confirmation, logo affiché dans la page de paiement …)
          • Administratives : vous pouvez limiter les droits de consultation ou de modification de vos profils utilisateurs à certains points de ventes
          • Comptables : vous pouvez filtrer les opérations par point de vente dans votre Portail utilisateur ou dans vos exports de données

          Lors de la création de votre compte CentralPay, un premier Point de Vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre Portail utilisateur pour paramétrer ce dernier, ou en créer de nouveaux :

          • Accès Points de ventes – Portail utilisateur de RCT
          • Accès Points de ventes – Portail utilisateur de PROD

          2/ Paramétrages

          Les Points de Vente comprennent un certain nombre de paramétrages obligatoires :

          • Paramètres généraux
            • Nom : nom du point de vente (visible par vos clients)
            • URL du site : s’il s’agit d’un site e-commerce, renseignez l’URL de ce dernier. Sinon, renseigner l’URL de votre site vitrine.
            • Pays du point de vente
          • Configuration
            • Type technique : sélectionnez « Vente à distance »
            • Utilisateurs API : sélectionnez les utilisateurs API ayant un droit d’accès à ce Point de Vente
            • Contrats : sélectionnez le contrat VAD carte qui a été paramétré pour votre compte (en règle générale, vous n’aurez qu’un seul contrat à disposition)
            • Contrat par défaut : sélectionnez le contrat VAD carte qui sera utilisé par défaut (en règle générale, vous n’aurez qu’un seul contrat à disposition)
            • Viban prioritaire : si vous souhaitez que les IBAN Virtuels affichés dans les demandes de paiement soient ceux des Customers, alors sélectionnez « Client ». Si vous préférez afficher des IBAN Virtuels dédiés à chaque demande de paiement, alors sélectionnez « SCT ». Si besoin d’informations complémentaires, consultez notre rubrique sur les IBAN Virtuel.

          D’autres paramétrages ne sont pas obligatoires, mais sont importants pour votre parcours de vente :

          • Paramètres généraux
            • Logo : chargez le logo de votre entreprise ou celui dédié à votre point de vente. Il apparaitra dans la page de paiement générée par les demandes de paiement.
            • ID point de vente du marchand : renseignez une référence personnalisée vous permettant d’identifier plus simplement le point de vente dans vos systèmes d’information.
          • Emails de confirmation
            • Coche « Activer l’email de confirmation de paiement » : En cochant cette case, vous activez l’envoi d’un email à vos clients lorsqu’ils réalisent un paiement par carte. Il s’agit d’un email standardisé non modifiable contenant un récapitulatif du paiement (raison sociale de votre compte, nom de votre point de vente, date du paiement, identifiant de la transaction CentralPay, référence marchand de la transaction, description marchand de la transaction, code d’autorisation du paiement, marque de la carte, 6 premiers et 4 derniers chiffres de la carte, montant de la transaction, état de la transaction). La langue et le pied de page de l’email peuvent être paramétrés depuis le Portail utilisateur > Configuration > Email confirmation paiement.
            • Email de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser l’adresse expéditeur en utilisant l’une de vos adresses email (par exemple : no-reply@mondomaine.com). Attention, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine.
            • Nom de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser le nom de l’expéditeur (par exemple : MonEntreprise).
            • Coche « Recevoir une copie de la confirmation de paiement » : En cochant cette case, vous activez l’envoi d’une copie de l’email adressé à vos clients lorsqu’ils réalisent un paiement par carte. Cela peut vous permettre d’être informé facilement par email lorsqu’un client réalise un paiement.
            • Email du destinataire : si vous avez coché la case « Recevoir une copie de la confirmation de paiement », vous devez renseigner l’adresse email du destinataire de cette copie.

          Enfin, d’autres paramètres secondaires sont disponibles :

          • OTP
            • Email de l’expéditeur OTP email : Email affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…)
            • Nom de l’expéditeur OTP email : Nom affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…)
            • Numéro de téléphone ou nom de l’expéditeur OTP SMS : Nom ou numéro de téléphone affiché en tant qu’expéditeur des SMS de One Time Password (validation de mandat SEPA…)
          • Paramètres de communication

          Ces paramètres sont appliqués aux mails ou SMS transmettant le lien vers le formulaire de paiement d’une demande de paiement (paymentRequest).

          Ils s’appliquent uniquement lorsque aucun scenario n’a été configuré sur la demande paiement.

          • Expéditeur SMS : Nom du correspondant affiché sur le SMS
          • Expéditeur Email : Email du correspondant affiché sur l’email
          • Nom de l’expéditeur Email : Nom du correspondant affiché sur l’email
          • Adresse de réponse Email : Email utilisé pour les réponses des emails envoyés (applicable prochainement)
          • Pied de page de l’email : Pied de page des emails (applicable prochainement)

          Comptes de paiement

          1/ Introduction

          Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…). Ils permettent de stocker des fonds dans une devise ISO (EUR, USD, CHF, GBP…) et possèdent un IBAN/BIC qui lui est propre. Un compte de paiement est, sauf exception, associé à un compte bancaire ayant le même titulaire, permettant à CentralPay de réaliser des reversements automatiques par virement SEPA.

          Si vous disposez de plusieurs comptes bancaires sur lesquels vos fonds doivent être reversés, vous pouvez demander à votre contact CentralPay de créer le même nombre de comptes de paiement dans votre compte CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des reversements SEPA en conséquence.
          Il est également possible de créer plusieurs comptes de paiement à des fins de segmentation des fonds (avec un compte dédié aux opérations de commission ou de frais par exemple).

          Vous pouvez consulter le détail de vos comptes de paiements depuis ces accès :

          • Comptes de paiement – Portail utilisateur de RCT
          • Comptes de paiement – Portail utilisateur de PROD

          2/ Utilisations

          Les comptes de paiement sont systématiquement utilisés pour les opérations de paiement de notre plateforme, à l’exception des opérations de monnaie électronique.

          3/ Création de comptes de paiement

          Si vous êtes marchand CentralPay, vous pouvez adresser une demande par email aux équipes CentralPay pour la création de plusieurs comptes de paiement à votre nom. Cela afin de segmenter vos opérations ou d’ouvrir un compte dans une devise différente.

          Si vous êtes Partenaire MOBSP ou AGENT de CentralPay, vous pouvez créer des comptes pour vos sous-marchands en utilisant le service de création de comptes de paiement.

          Comptes de ME

          1/ Introduction

          Uniquement réservé aux Partenaires DME et à leurs utilisateurs.

          Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un partenaire DME). Un partenaire DME peut demander la création de comptes de ME pour les participants de son réseau puis réaliser des transferts de fonds en ME entre ces comptes.

          Le titulaire d’un compte de ME ne peut recevoir des paiements et utiliser sa monnaie électronique que par l’intermédiaire du partenaire DME. Il peut cependant demander le remboursement de sa monnaie électronique à tout moment et recevra ses fonds en devise ISO : soit sur son compte bancaire par virement SEPA, soit sur sa carte bancaire, selon les paramétrages de son compte.

          Vous pouvez consulter le détail de vos comptes de ME depuis ces accès :

          • Comptes de ME – Portail utilisateur de RCT
          • Comptes de ME – Portail utilisateur de PROD

          2/ Utilisations

          Les comptes de ME sont principalement utilisés pour permettre à des personnes physiques de recevoir et d’échanger facilement des fonds dans les contextes suivants :

          • Marketplaces C2C de produits ou de services
          • Stockage et utilisation de valeurs cadeaux au sein d’un réseau de commerçants indépendants

          3/ Spécificités

          Le CMF (Code Monétaire et Financier) présente des conditions spécifiques pour la monnaie électronique. Ainsi, il existe deux types de comptes de ME chez CentralPay :

          • Compte de ME anonyme : ce compte peut être ouvert sans vérification d’identité du titulaire, à condition qu’il soit adressé à une personne physique et soit limité à 150 € de solde ou d’encaissement sur 30 jours. Ce type de compte est particulièrement utile dans le cadre d’une utilisation ponctuelle du compte par son titulaire, ou tout simplement pour simplifier l’entrée en relation avec le partenaire DME.
          • Compte de ME vérifié : un compte anonyme peut être ensuite vérifié par les équipes conformité de CentralPay (procédure KYC) pour augmenter les limites qui lui étaient imposées, il devient ainsi « vérifié ».

          4/ Création de comptes de ME

          Si vous êtes Partenaire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos participants.

          Services liés au compte

          Notifications email/sms

          1/ Introduction

          Les notifications peuvent être adressées en fonction des évènements liés à certains objets API :

          • Demande de paiement (PaymentRequest)
          • Contestation carte (dispute)
          • Paiement X fois (installment)
          • Transaction carte (transaction)
          • Reversement (payout)
          • Remboursement carte (refund)
          • Abonnement (subscription)
          • Crédit carte (credit)
          • Transaction SDD (sddTransaction)
          • Transaction SDD inversée (sddTransactionReversal)
          • Mandat (mandate)

          2/ Types de scénarios de notification

          Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre compte CentralPay : encaissement d’un virement, contestation client, échec de règlement…
          Vous maitrisez le contenu de chaque notification depuis des templates personnalisés et définissez un mode d’envoi par email, par sms ou par Json. Vous automatisez ainsi le pointage de vos encaissements, les notifications clients, ou encore la mise à jour de votre système d’information.

          3/ Paramétrage des modèles de notification

          3.1/ Paramétrage des modèles (templates)

          • Accès paramétrage templates emails :
            • Portail utilisateur de recette
            • Portail utilisateur de production
          • Accès paramétrage templates SMS :
            • Portail utilisateur de recette
            • Portail utilisateur de production
          • Accès paramétrage templates hooks :
            • Portail utilisateur de recette
            • Portail utilisateur de production

          Pour commencer le paramétrage de vos notifications, vous devez créer vos modèles de communication (email, sms ou hook) en renseignant les éléments demandés. Par exemple l’objet du mail, le nom et email de l’émetteur, le corps du texte…

          Vous pouvez intégrer des éléments dynamiques (tags) dans le corps du texte en tapant le caractère « # », qui fera apparaitre la liste des tags disponible pour le type de scénario de notification sélectionné.

          Attention, si vous utilisez les notifications emails, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine.

          Concernant les SMS, veillez à calculer le nombre de caractères : vous serez facturés d’un SMS par 160 caractères (espaces inclus).

          3.2/ Paramétrage du header et footer pour templates emails

          • Paramétrage en-tête d’email (header)
            • Portail utilisateur de recette
            • Portail utilisateur de production
          • Paramétrage pied de page d’email (footer)
            • Portail utilisateur de recette
            • Portail utilisateur de production

          En cas de création d’un template email, un « header » et un « footer » devront être créés. Vous pouvez par exemple intégrer votre logo en Header, et vos conditions de contact ou mentions légales en Footer.

          4/ Paramétrage des scénarios de notification

          • Accès Scénarios de notification – Portail utilisateur de RCT
          • Accès Scénarios de notification – Portail utilisateur de PROD

          Pour spécifier à la plateforme les conditions d’envoi et destinataires de vos notifications, vous devez créer un scénario intégrant une ou plusieurs règles d’envoi.

          Après avoir choisi le type de scénario souhaité, vous pouvez créer une règle d’envoi. Cette règle est scindée en deux parties : le “QUAND” va permettre de définir l’évènement déclencheur de la notification tandis que le “ALORS” va permettre de choisir les actions qui seront effectuées lorsque l’évènement se produira.

          4.1/ Dans la partie « QUAND » :

          • Tapez « # » pour visualiser l’ensemble des attributs disponible pour votre scénario
          • Utilisez des opérateurs logiques pour constituer votre règle :
            • Pour les chaînes de caractères (doivent être entourés de guillemets «  ») :
              • = (égal)
              • != (différent de)
              • in (dans ce qui va suivre)
              • not in (pas dans ce qui va suivre)
            • Pour les nombres (attention les montants doivent être renseignés en centimes) :
              • = (égal)
              • != (différent de)
              • < (plus petit que)
              • <= (plus petit ou égal à)
              • in (dans ce qui va suivre)
              • not in (pas dans ce qui va suivre)
            • Pour les boolean (affirmations en vrai ou faux) :
              • = (égal à)
              • != (différent de)
          • Vous pouvez utiliser des conditions pour compléter votre règle :
            • AND (pour ajouter une autre condition d’activation)
            • OR (pour ajouter une autre possibilité d’activition)

          Il est possible de donner des priorités en mettant des parenthèses autour des conditions. Si vous utilisez les conditionnels AND et OR dans la même règle, il est nécessaire de prioriser. Si vous utilisez plusieurs fois AND ou plusieurs fois OR, il sera également nécessaire de prioriser chaque partie.

          Exemples de règles :

          #end_user_country in ('FRA', 'BE')
          
          #authorisation_status = 'FAILURE' or (#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY' )
          
          #transaction_amount > 100000 and ( #authorisation_status = 'FAILURE' or #context = 'TRANSACTION_RISKY' )
          
          ((#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY') or ( #authorisation_status = 'FAILURE' and #transaction_amount < 100000 )) and (#card_product_type = 'Consumer')

          Avant de pouvoir enregistrer une règle, il est obligatoire de d’abord tester sa règle avec le bouton « tester ». Cela va permettre de vérifier que votre règle est grammaticalement correcte. Attention, cela ne garantit pas que votre règle correspond à ce que vous souhaitiez faire.

          4.2/ Dans la partie « ALORS » :

          Le “ALORS” va permettre de choisir le destinataire et le template utilisé pour la notification. Vous n’avez accès qu’aux templates qui correspondent au type de template requis (SMS, Email, Hook) et qui correspond au type de scénario choisi (transaction carte, demande de paiement, remboursement …).

          Services anti-fraude

          1/ Organisation des services anti-fraude

          Les services anti-fraude sont segmentés en 4 outils :

          • 1/ Liste blanche (whitelist)
            Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation.
            La règle définie devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».
            Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP.
            Cette fonctionnalité permet d’être moins restrictif sur des populations d’utilisateurs.
          • 2/ Liste noire (blacklist) :
            Le service de « blacklist » permet de refuser les paiements.
            Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte (Carte, IP, Tel, email).
          • 3/ Règles d’acceptation des transactions :
            Cet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement.
          • 4/ Scoring anti-fraude
            Le service de scoring permet de détecter les transactions potentiellement frauduleuses en se basant sur l’analyse croisée de plusieurs données liées aux paiements.

          Les phases de traitement des transactions sont toujours exécutées dans cet ordre.

          Dans le cas où les données d’entrée remplissent toutes les conditions des « whitelist » définies, le service de « blacklist » ne sera pas exécutée et la transaction sera opérée normalement.
          Dans le cas où les données d’entrée remplissent une des conditions des « blacklist » définies et ne figurent pas dans le service de « whitelist », la transaction sera refusée et le service « règle d’acceptation » ne sera pas exécutée.
          Chaque service est exécuté de façon descendante vis-à-vis de la hiérarchie des acteurs CentralPay, ce qui signifie qu’une plateforme peut appliquer les paramètres de ses services anti-fraude à ses marchands, mais que l’inverse n’est pas possible.

          2/ Outil de scoring de fraude

          CentralPay s’appuie sur un service de détection de fraude reposant sur des algorithmes de machine learning.

          Ce moteur prédictif est constitué depuis un large échantillon de données fourni par CentralPay au format JSON et issues des données TRANSACTION / REFUND / DISPUTE.
          Ce service s’appuie sur une classification comportementale liée au secteur d’activité du marchand.

          Le moteur retourne une action et un score.

          L’action invite le service de paiement à accepter ou refuser la transaction.

          Le score classifie le niveau de risque en fournissant un pourcentage de probabilité de fraude. Ce score est ensuite interprété dans le moteur de règle.

          Le score permet au marchand et à l’algorithme d’interagir ensemble pour s’améliorer.

          Les scores sont classifiés ainsi :

          • De 0 à 19 = risque faible
            Transaction acceptée
            Pas d’action
          • De 20 à 59 = risque moyen
            Transaction acceptée
            Action : envoi événement avec détail du score pour revue manuelle et apprentissage
          • +60 = risque élevé
            Transaction refusée
            Action : envoi événement avec détail du score pour revue manuelle et apprentissage

          Ce service d’analyse d’exposition à la fraude analyse le contexte d’exposition au risque de fraude de chaque transaction. Ce service retourne un score qui permet de traiter automatiquement la réponse attendue dans le moteur de règle.

          Le score repose sur l’analyse croisée des données suivantes :

          • Indice de risque IP
          • Détection de Proxy
          • Détection réseau TOR
          • Vérification de l’adresse IP
          • Confidence factors
          • Email checks
          • Address & phone checks
          • Adresse d’expédition à haut risque
          • Géolocalisation des adresses IP
          • Identification des équipements utilisés
          • Adresse e-mail
          • Type de navigateur
          • Discordances de pays
          • Distance de l’adresse d’expédition
          • Distance de l’adresse de facturation
          • Domaine e-mail
          • Heure
          • Montant de la commande
          • Pays
          • Numéro de téléphone
          • Titulaire IP
          • Titulaire de l’e-mail
          • Vérification adresse CB

          3/ Listes blanches et listes noires

          3.1/ Liste blanche (Whitelist)

          Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation. Cette règle devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».

          Le service anti-fraude passe ainsi à l’étape suivante.

          Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP. Cette fonctionnalité permet d’être moins restrictif sur une population d’utilisateurs.

          3.2/ Liste noire (Blacklist)

          L’étape de la « blacklist » permet de refuser les paiements.

          Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte :

          • Pays
          • Régions géographiques
          • Numéros de carte
          • Numéros de téléphone
          • E-mail
          • Adresses IP
          • IBAN

          4/ Règles d’acceptation des transactions

          Le moteur de règles d’acceptation est une brique applicative puissante et modulaire qui permet d’adapter le comportement lié au traitement à réaliser sur chaque transaction comme :

          • accepter
          • refuser
          • alerter
          • …

          Ce service permet ainsi de définir des actions à réaliser sur chaque transaction depuis une large liste d’attributs disponibles : score de fraude, localisation du porteur, montant des ventes cumulées sur 7 ou 30 jours, client VIP whitelist, paramètre spécifique adressé par le marchand…

          Une règle d’acceptation est une condition logique. Elle permet : d’autoriser, de restreindre, et/ou d’interdire des transactions.
          Une règle se compose de 4 éléments : l’action, les attributs, les opérateurs, les valeurs.

          La syntaxe d’une règle est la suivante :
          « Action » « if » « Attribut » « Opérateur de comparaison » « Valeur de comparaison »

          Exemple :

          REFUSE if card_country != 'FRA'

          La règle présentée dans cet exemple permet de refuser automatiquement les paiements lorsque le pays de la carte n’est pas la France.
          La syntaxe de la grammaire choisie par la plateforme pour son moteur d’acceptation est très semblable à la syntaxe SQL (utilisée pour dialoguer avec les bases de données).

          4.1/ Les actions disponibles

          • ALLOW
            Autorise le paiement.
          • REFUSE
            Refuse le paiement.
          • ALERT
            Adresse une notification « webhook » de la transaction associée.

          4.2/ Les attributs disponibles

          En tapant « # », les attributs disponibles sont affichés.

          Dans une règle, un attribut est toujours suivi d’un Opérateur de comparaison.

          4.3/ Les opérateurs de comparaison disponibles

          • = (égal)
          • != (différent de)
          • < (plus petit que)
          • <= (plus petit ou égal à)
          • in (dans ce qui va suivre)
          • not in (pas dans ce qui va suivre)

            Les opérateurs de comparaison = , != , > , < , >= et <= doivent être suivis d’une valeur.

            Les opérateurs IN et NOT IN sont suivis d’une liste de valeurs de comparaison.
            Une liste de valeurs est entourée par des parenthèses et les valeurs à l’intérieur de la liste sont séparées par des virgules.

            Exemple :

            REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF')

            L’exemple présenté ci-dessus permet de refuser tous les paiements dont la devise n’est pas l’Euro, le Dollar US, la Livre Sterling ou le Franc Suisse.

            Cette syntaxe évite d’écrire plusieurs règles ou plusieurs conditions dans la même règle.

            4.4/ Les valeurs disponibles :

            En fonction du type de valeur, la syntaxe permettant de définir la valeur ne sera pas la même :

            • Entiers (valeur numérique sans décimale) : syntaxe classique (ex : 100)
            • Doubles (valeur numérique avec décimales) : la valeur est définie avec un point comme séparateur de décimale (ex : 12.32)
            • Chaîne de caractères : la valeur est définie entre ‘quotes’ simples (ex : ‘FRA’)
            • Booléens : la valeur est true ou false (ex : false)

            ATTENTION : les valeurs de « montants » doivent être renseignées en centimes (ex : pour 10 € on renseignera une valeur de 1000).

            4.5/ Les opérateurs logiques :

            Les opérateurs disponibles sont AND et OR. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le « AND » permet une inclusion tandis que le « OR » une exclusion.

            Exemple :

            REFUSE if #amount < 1000 and #card_country != 'FRA'

            L’exemple présenté ci-dessus permet de refuser les paiements dont le montant est inférieur à 10 € ET dont la carte n’est pas française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée.

            Reversement bancaire

            1/ Introduction

            Les reversements bancaires (ou « Payout ») sont des virements sortant de votre compte de paiement CentralPay vers le compte bancaire qui y est associé.

            Ils peuvent être réalisés manuellement depuis le Portail utilisateur ou l’API Payment. Ils peuvent également être automatisés depuis le Portail utilisateur.

            Depuis le Portail utilisateur, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et réaliser les reversements.

            2/ Les deux modes de reversement

            2.1/ Reversement automatique

            Le titulaire du compte peut définir la périodicité : quotidien, hebdomadaire (choix du jour de la semaine, ex : chaque mardi) ou mensuel (choix du jour dans le mois, ex : le cinq du mois).
            Le service PAYOUT automatique exécutera automatiquement à 01h00 du jour donné un virement des fonds disponibles sur votre compte de paiement.

            Exemple d’un reversement hebdomadaire programmé le mardi :
            CentralPay exécutera la demande de création du virement (PAYOUT) le mardi matin avec les fonds disponibles (AVAILABLE) sur le compte de paiement jusqu’au mardi 01h00.

            2.2/ Reversement manuel (via BO ou API)

            Vous avez la possibilité d’exécuter des payouts manuellement depuis le Portail utilisateur ou l’API CentralPay. Vous pouvez déterminer le montant à reverser (avec en maximum le montant disponible sur votre compte).

            Attention, le PAYOUT ne sera exécuté immédiatement que s’il est effectué avant 05h00 le matin. À défaut, il sera exécuté le lendemain à 05h00 du matin également.

            3/ Délais de disponibilité des fonds

            Les reversements comprennent uniquement les fonds disponibles (ou « AVAILABLE ») de vos comptes de paiement. Les fonds issus d’une transaction par carte bancaire sont par exemple disponibles à J+2 : une transaction carte réalisée le lundi, apparaîtra en « Pending » le lundi, sera « Available » le mardi soir, le payout automatique sera effectué le mercredi matin à 00h05 et la réception du virement SEPA sur votre compte bancaire le jeudi.

            NB : Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT).

            4/ Création d’un reversement manuel

            4.1/ Payout manuel par Portail utilisateur

            Accès Reversements – Portail utilisateur de RCT
            Accès Reversements – Portail utilisateur de PROD

            Depuis le Portail Utilisateur > Administration > Mon compte> Reversements : cliquez sur « Transferts externes », sélectionnez le compte d’émission, le montant du reversement ainsi que l’IBAN destinataire, puis cliquez sur « confirmer le transfert ».

            4.2/ Payout manuel par API

            Consultez la rubrique développeurs du service Payout.

            5/ Reversement en euros ou devises via le réseau SWIFT

            Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises.

            Si vous disposez d’un compte en devises ou n’étant pas accessible via le réseau SEPA, vous pouvez réaliser vos virements via le réseau SWIFT. Contactez CentralPay pour en savoir plus.

            Les virements bancaires du réseau SWIFT présentent des frais très largement supérieurs aux virements SEPA. Vous pouvez demander à CentralPay de paramétrer vos reversements automatiques afin qu'ils soient déclenchés à partir d'un certain seuil de fonds disponibles.

            6/ Retours, statuts et webhooks

            6.1/ Statuts

            Statuts PAYOUT

            6.2/ Webhooks

            Webhooks PAYOUT

            Exports comptables

            1/ Introduction

            Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports.

            2/ Export comptable des opérations du compte

            • Accès opérations – Portail utilisateur de RCT
            • Accès opérations – Portail utilisateur de PROD

            Cet export reprend l’ensemble des mouvements financiers débiteurs et créditeurs qui ont été réalisés sur votre compte : autorisations cartes, transactions cartes, transactions SDD, transactions SCT, transfers, payout, frais CentralPay…
            Vous disposerez du détail de chaque opération afin que vous puissiez le rapprocher facilement à vos factures ou vos dossiers.

            L’export contient les données suivantes :

            DénominationSignification
            movement_creation_datedate de l’opération
            movement_ididentifiant CentralPay de l’opération
            movement_gross_amountmontant brut
            movement_gross_currencydevise du montant brut
            movement_fee_amountmontant des frais CentralPay
            movement_fee_currencydevise des frais
            movement_net_amountmontant net
            movement_net_currencydevise du montant net
            movement_expected_availability_datedate de disponibilité des fonds estimée
            movement_available_datedate de disponibilité des fonds réelle
            movement_statusstatut du mouvement (success, failed …)
            movement_source_typetype d’opération (transaction, transfert …)
            movement_source_uuididentifiant associé au type d’opération (transactionId, wireTransferId, transferId, …)
            merchant_descriptiondescription définie par le marchand
            merchant_reference_idréférence définie par le marchand
            card_countrypays d’émission de la carte
            card_regionzone d’émission de la carte (UE, hors UE)
            point_of_sale_idID CentralPay du point de vente

            3/ Télécharger le rapport financier mensuel

            Chaque début de mois, en plus de la facture, un rapport financier est généré, puis mis à disposition dans l’espace sécurisé de votre compte (Administration > compte > documents > Rapports financiers). Il présente les montants totaux de crédit, de débit, de frais et de réserve de votre compte :

            • Accès documents – Portail utilisateur de RCT
            • Accès documents – Portail utilisateur de PROD
            Pour bien comprendre votre rapport financier :

            A) Le total des montants acquis / reçus sur votre compte au cours de la période

            B) Le montant net reçu sur votre compte, déduction faite de l’ensemble des frais selon le calcul « B = A – I »

            C) Le montant de la réserve détenue en garantie au jour de clôture de la période

            D) Le montant des fonds disponibles au jour de clôture de la période

            E) La valeur totale des fonds disponibles et en garantie enregistrée dans les livres de CentralPay au jour de clôture de la période selon la formule « E = C + D »

            F) La valeur totale des fonds retirés / transférés à la banque du marchand pendant la période

            G) Le total des frais de service et commissions facturées sur les transactions définies dans la grille tarifaire

            H) Total des frais d’opérations techniques : frais d’autorisation cartes, de contestation, de payout…

            I) Total des frais techniques et commissions ou « I = G + H »

            Exports de données

            1/ Introduction

            Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports.

            2/ Export des transactions cartes

            • Accès Transactions – Portail utilisateur de RCT
            • Accès Transactions – Portail utilisateur de PROD

            Cet export vous permet d’obtenir le détail des transactions cartes que vous avez réalisées au cours d’une période donnée.
            Cet export simplifie la lecture de vos transactions carte en agrégeant les opérations d’autorisations et de débit, et présente des données complémentaires spécifiques aux transactions cartes.

            L’export contient les données suivantes :

            DénominationSignification
            transaction_creation_datedate de création
            transaction_ididentifiant de transaction
            transaction_amountmontant
            transaction_currencydevise
            transaction_payout_amountvaleur de devise de règlement
            transaction_payout_currencydevise de règlement
            transaction_commision_amountfrais sur la transaction
            transaction_commision_currencydevise des frais
            transaction_fee_amountfrais fixes par transaction
            transaction_3ds3DS (0=non, 1=oui)
            transaction_descriptiondescription définie par le marchand
            transaction_sourceEC Ecommerce, DP Deposit, MO Mail order
            transaction_bank_coderetour autorisation banque
            transaction_statusstatut de la transaction
            transaction_authorization_statusstatut de l’autorisation
            transaction_authorization_codecode d’autorisation
            transaction_capture_statusstatut de la capture
            transaction_capture_datedate de la capture
            transaction_capture_amountmontant de la capture
            merchant_transaction_ididentifiant de transaction marchand
            point_of_sale_ididentifiant du point de vente
            point_of_sale_namenom du point de vente
            merchant_ididentifiant marchand
            merchant_namenom du marchand
            dispute_amountmontant de la contestation
            dispute_currencydevise de la contestation
            dispute_datedate de la contestation
            refund_amountmontant du remboursement
            refund_currencydevise du remboursement
            refund_datedate du remboursement
            card_ididentifiant de la carte de paiement
            card_first66 premiers chiffres de la carte
            card_last44 derniers chiffres de la carte
            card_cardholder_namenom du porteur
            card_cardholder_emailemail du porteur
            card_typetype de carte (crédit/débit/prepaid)
            card_productnom du produit carte (Infinite, Gold…)
            card_product_typecarte consumer ou corporate
            card_commercial_brandréseau carte (VISA/Mastercard/CB)
            card_regioncontinent d’origine de la carte
            card_countrypays d’origine de la carte
            card_establishment_namenom de l’établissement qui fournit la carte
            customer_ididentifiant client
            end_user_ipIP de l’utilisateur
            end_user_languagelangue de l’utilisateur
            browser_user_agentnavigateur de l’utilisateur
            receipt_emailmail de réception de l’utilisateur
            clearing_numbernuméro de clearing
            merchant_category_codeactivité du marchand

            3/ Export des remboursements cartes

            • Accès Remboursements cartes – Portail utilisateur de RCT
            • Accès Remboursements cartes – Portail utilisateur de PROD

            Cet export vous permet d’obtenir le détail des remboursements cartes que vous avez réalisées au cours d’une période donnée.

            4/ Export des contestations de transactions cartes

            • Accès Contestations cartes – Portail utilisateur de RCT
            • Accès Contestations cartes – Portail utilisateur de PROD

            Cet export vous permet d’obtenir le détail des contestations de transactions cartes (disputes/chargebacks) que vous avez reçues au cours d’une période donnée.

            5/ Export des abonnements (cartes et SDD)

            • Accès Abonnements – Portail utilisateur de RCT
            • Accès Abonnements – Portail utilisateur de PROD

            Cet export vous permet d’obtenir le détail des abonnements cartes et SDD que vous avez réalisés au cours d’une période donnée.

            Webhooks

            1/ Introduction

            Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (ou « Events ») qui surviennent sur votre compte CentralPay. Ces évènements correspondent à la création, au changement de donnée ou au changement de statut d’un objet des API CentralPay.

            Le service permet ainsi d’avertir en temps réel votre système d’information, dès qu’une opération est réalisée sur votre compte CentralPay. Par exemple, une transaction réussie ou échouée, la création d’une nouvelle souscription (abonnement), un nouveau client (Customer), la réception d’un impayé… 

            Les webhooks sont classés en deux catégories :

            • liés aux Points de Vente « POS »
            • liés aux « Comptes »

            Le serveur distant doit confirmer la bonne réception de la requête en retournant un code 2XX. Dans le cas contraire, une nouvelle requête sera adressée toutes les 5 min pendant 2h.

            Pour s’assurer de la bonne réception des hooks, nous vous conseillons d’utiliser le service Webhook Site. Entrez l’URL donnée par le site et l’adresse mail, et effectuez vos tests. Une fois que vous êtes satisfait des réponses hooks, vous pouvez remplacer l’adresse mail et l’URL par les vôtres et effectuez un nouveau test.

            2/ Liste des Webhooks

            Vous pouvez consulter la liste des webhooks depuis la rubrique Développeurs > Webhook notifications.

            Liens de paiement

            Informations générales

            1/ Les deux modes d’intégration de Smart Collection

            La solution Smart Collection permet d’encaisser des paiements depuis divers moyens de paiement.

            Vous pouvez au choix :

            • créer et intégrer vos propres parcours de paiement (intégration CUSTOM), en consommant les services API de chaque moyen de paiement :
              • Transaction par carte
              • Transaction par virement
              • Transaction par prélèvement SEPA
            • utiliser nos parcours de demande de paiement sécurisés (intégration SMART), grâce à notre service dédié :
              • Demandes de paiement (PaymentRequest)

            NB : si vous choisissez l’intégration SMART, certaines fonctionnalités spécifiques comme les R-transactions, la gestion des libellés bancaires, la gestion des IBAN Virtuels… sont présentées dans la documentation dans les rubriques CUSTOM dédiées à chaque moyen de paiement.

            2/ À propos de l’intégration SMART

            La demande de paiement permet de générer un lien de paiement menant à une page de paiement hébergée par CentralPay. Votre client peut ainsi vous régler selon les conditions de règlement que vous avez déterminé (moyens et modes de paiement autorisés, délais de règlement …). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé…).

            La demande de paiement doit être alimenté des conditions de règlement de votre panier ou de votre facture :

            • Montant à régler
            • Moyens de paiement acceptés (carte, virement, prélèvement, initiation de paiement)
            • Modes de paiement acceptés (unitaire, par abonnement, paiement fractionné…)
            • Référence de commande
            • Description de commande
            • Coordonnés clients
            • Délais de règlement autorisé
            • Délais d’expiration du lien
            • …

            Le lien de paiement peut être adressé à vos clients depuis :

            • vos tunnels de vente ou interfaces web,
            • vos outils de communications (email, sms, courriers via QR code…)
            • le service de notifications email / sms de CentralPay

            La page de paiement permet ensuite au client de réaliser sa ou ses transactions :

            • Visualisation des informations de la demande de paiement
            • Sélection du moyen ou mode de paiement
            • Renseignement des données clients
            • Renseignement des coordonnées de paiement

            Demandes de paiement

            1/ Introduction

            La demande de paiement (ou PaymentRequest) est le service vous permettant de générer des liens de paiement. Vous pouvez créer des demandes de paiement par API ou via le Portail utilisateur. La demande de paiement peut également être couplé au service de notification de CentralPay, vous permettant d’adresser facilement un lien de paiement par email ou sms à vos clients et de programmer des relances automatisées.

            2/ Création par API

            2.1/ Créer une « PaymentRequest »

            Vous trouverez ci-dessous les moyens de paiement disponibles et les valeurs API correspondantes dans le service PaymentRequest :

            Moyen ou mode de paiement souhaitéValeurs API à renseigner
            Paiements unitaires
            Transaction par cartepaymentMethod[]=TRANSACTION
            Pré-autorisation sur carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION
            transaction[source]=DP
            Vérification carte (transaction à 0 €)paymentMethod[]=TRANSACTION
            transaction[source]=RI
            Transaction par virement bancairepaymentMethod[]=SCT_TRANSACTION
            Transaction par prélèvement SEPApaymentMethod[]=SDD
            sdd[remittanceInformation]
            Transaction par initiation de paiementProchainement
            Paiements récurrents
            Abonnement par cartepaymentMethod[]=SUBSCRIPTION
            subscriptionModel[subscriptionModelId]
            Abonnement par prélèvement SEPApaymentMethod[]=SUBSCRIPTION
            subscription[source]=SDD
            subscriptionModel[subscriptionModelId]
            Paiement fractionné par cartepaymentMethod[]=INSTALLMENT
            intallment[intervalUnit]
            installment[intervalCount]
            installment [iterationCount]
            Paiement fractionné par prélèvement SEPApaymentMethod[]=INSTALLMENT
            installment[source]=SDD
            intallment[intervalUnit]
            installment[intervalCount]
            installment [iterationCount]

            Si vous souhaitez autoriser plusieurs moyens ou modes de paiement dans votre PaymentRequest, vous devez renseigner plusieurs fois l’objet paymentMethod[].

            Exemple :
            paymentMethod[]=TRANSACTION
            paymentMethod[]=SCT_TRANSACTION

            Attention, certaines combinaisons de moyens ou modes de paiement peuvent rentrer en conflits et votre PaymentRequest pourra retourner une erreur. Par exemple, vous ne pouvez pas autoriser une TRANSACTION et une SUBSCRIPTION, cependant vous pouvez autoriser une TRANSACTION et un INSTALLMENT.

            Voici les informations principales concernant d’autres valeurs à renseigner lors de la création d’une PaymentRequest :

            DésignationDéfinition
            amountMontant de la demande de paiement en centimes
            merchantPaymentRequestIdRéférence personnalisée (votre numéro de commande ou facture par exemple) que vous pourrez utiliser pour rapprocher le paiement. Cette valeur sera visible par votre client dans la page de paiement.
            descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.
            additionalData[*]Donnée clé-valeur libre, vous permettant de transiter une ou plusieurs données (références de factures, numéro client etc…). N’est pas visible par votre client dans la page de paiement.
            createCustomerCréation TRUE / FALSE d’un compte Customer (permet notamment l’enregistrement du moyen de paiement client : carte, mandat SEPA, et création d’un IBAN virtuel dédié au Customer)
            breakdown[customerId]Sélection d’un Customer déjà existant

            NOTE : pour les transactions par virement SEPA, vous pouvez définir si vous souhaitez afficher l’IBAN Virtuel dédié au Customer ou générer un IBAN Virtuel à usage unique (SCT) depuis les paramètres de vos Points de Vente.

            2.2/ Envoyer une PaymentRequest par email / sms

            Lors de sa création, vous pouvez demander à CentralPay d’adresser la demande de paiement à votre client. Il existe deux méthodes d’envoi :

            • Via le mailer par défaut des PaymentRequest : CentralPay adresse la demande de paiement depuis un modèle d’email/sms standardisé et depuis l’email expéditeur renseigné dans votre point de vente (ou à défaut l’email expéditeur de CentralPay « no-reply@centralpay.eu »).
              • Pour cela vous devez [à compléter]
            • Via le service de notification email/sms de CentralPay : CentralPay adresse la demande de paiement selon le scénario et les modèles de communication que vous avez paramétrés. Ce service permet notamment l’automatisation de relances clients, basés sur les paramètres de la demande de paiement (délais de paiement, avancement du paiement…).
              • Pour cela vous devez [à compléter]

            2.3/ Fonctions spécifiques

            Demande de paiement à montant libre (multi-moyens de paiements)

            Il est possible d’autoriser la modification du montant à régler (avec pour maximum le montant initial), afin que vos payeurs puissent régler la somme due depuis plusieurs moyens de paiements ou à des moments différents.

            Par exemple sur une demande de paiement de 500€ :

            • Régler 250€ en virement puis 250€ en carte
            • Ou 300€ avec une première carte puis 200€ avec une autre.
            • Ou régler 350€ avec une carte, puis revenir plus tard pour régler les 150€ restants avec cette même carte.

            Pour ce faire vous devez [à compléter]

            Envoyer une demande de paiement à plusieurs destinataires

            Il est possible d’adresser une demande de paiement à plusieurs destinataires avec un montant différent à régler pour chacun d’entre eux. Ainsi :

            • Chaque participant reçoit une notification e-mail ou SMS détaillant l’objet du service à régler
            • Les montants sont fixés par l’initiateur ou laissé libre à chaque participant qui règle le montant souhaité
            • Les dates paramétrées à la demande (création, expiration…) permettent de générer des notifications vers chaque participant

            Pour ce faire vous devez [à compléter]

            3/ Création depuis le Portail utilisateur

            3.1/ Création et types de demandes de paiement

            • Accès Demandes de paiement – Portail utilisateur de recette
            • Accès Demandes de paiement – Portail utilisateur de production

            Vous pouvez créer une demande de paiement depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Créer. Les demandes de paiement créées depuis le Portail utilisateur sont obligatoirement adressées à vos clients par CentralPay. En fonction de vos besoins, vous devrez choisir l’un des types de demandes suivant :

            • Demande instantanée : une demande simple, envoyée depuis les expéditeurs et les templates emails / sms standards de CentralPay.
            • Demande programmée : une demande avancée, utilisant les modèles de communication, scénarios et règles d’envoi/de relance que vous aurez préalablement paramétrés depuis le service de notifications email/sms de CentralPay. Une demande programmée adressée sans avoir sélectionné de scénario de notification sera automatiquement requalifiée en demande instantanée.

            Une fois créée, vous pouvez accéder à la page de paiement en cliquant sur le détail de la demande de paiement > Formulaire de paiement. Ainsi, vous pourrez retransmettre à votre client l’URL de la page en cas d’erreur d’envoi.

            3.2/ Les profils de demandes de paiement

            Afin de faciliter la création de demandes de paiement, vous avez la possibilité de créer des profils prédéfinis intégrant les principaux paramétrages de la demande :

            • Point de vente
            • Devise
            • Langue
            • Moyens de paiement autorisés
            • Limite de paiement (délais de paiement contractuel)
            • Expiration du lien (délais avant expiration du lien)
            • Scénarios de notification
            • Reroutage de l’email de confirmation de paiement
            • Règles d’affichage (paramètres de la page de paiement)
            • Création de Customer
            • Pièces jointes

            Vous pouvez ensuite utiliser ce profil lors de la création de vos demandes de paiement programmées via le Portail utilisateur, ou via import de fichiers plats.

            3.3/ Création de demandes de paiements par import de fichiers plats

            Depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Importer, vous pouvez déposer un fichier d’importation de demandes de paiement. Cette utilisation peut être recommandée pour les entreprises souhaitant adresser en fin de mois et relancer automatiquement une liste de créanciers.

            Vous pouvez télécharger le modèle de fichier ci-après :

            • Modèle au format CSV
            • Modèle au format JSON

            Quelques informations importantes :

            DésginationDéfinition
            profil_uuid*UUID du profil de demande de paiement
            merchant_payment_request_idRéférence personnalisée (votre numéro de commande ou facture par exemple) que vous pourrez utiliser pour rapprocher le paiement. Cette valeur sera visible par le payeur dans la page de paiement.
            descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.
            total_amount*Montant de la demande de paiement. À renseigner en doubles décimales avec un séparateur « . » (ex : 500.00 pour 500€).
            last_nameNom de famille
            first_namePrénom
            email*Email du destinataire
            phoneTéléphone du destinataire au format international (ex : 33612345678).
            create_customerCréation d’un profil client « Customer » : renseigner « O » pour OUI ou « N » pour NON
            link_expiration_dateDate d’expiration de la demande de paiement (date à laquelle le client ne pourra plus vous régler)
            deadlineDate limite de paiement (date à laquelle votre client doit vous avoir réglé, et à partir de laquelle il est en retard de paiement).
            receipt_emailEmail sur lequel vous souhaitez rerouter l’email de confirmation de paiement
            language*Langue de la communication et de la page de paiement (FRE pour français, ENG pour anglais…)
            Les champs avec un * sont obligatoires.

            Page de paiement (SmartForm)

            1/ Introduction

            La page de paiement (aussi appelé SmartForm) est une page hébergée et sécurisée par CentralPay destinée à la collecte des données clients et de leurs coordonnées de paiement. Générée via le service de demande de paiement, elle permet à vos clients de visualiser les détails de cette demande (montant, référence de commande…) et de sélectionner un moyen de paiement autorisé avant de passer à l’étape de règlement.

            2/ Paramétrage de la page

            • Accès paramétrage formulaire – Portail utilisateur de RCT
            • Accès paramétrage formulaire – Portail utilisateur de PROD

            Vous pouvez créer un ou plusieurs modèles de page afin de personnaliser votre parcours de paiement. Ci-dessous la liste des éléments paramétrables sur la page :

            DésignationDéfinition
            NomNom du modèle de page
            Template par défautCoche permettant de définir si ce modèle doit s’appliquer par défaut (les demandes de paiement créées sans modèle utiliseront ce dernier)
            Forcer la création du customerCoche permettant de forcer systématiquement la création d’un Customer à la création de la demande de paiement. Le paramètre de création du Customer renseigné sur les demandes de paiements sera ignoré. Note : CentralPay ne créera pas de nouveau Customer si son email ou son numéro de téléphone sont déjà utilisés par un autre Customer, et affectera la demande à ce dernier.
            URL de redirectionURL de redirection après paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.
            Délais de redirectionDélais de redirection vers l’URL de redirection après paiement. Champ vide : pas de redirection, 0 : redirection immédiate, autre valeur : nombre de secondes avant la redirection
            URL d’annulationURL de redirection en cas d’annulation avant paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.
            Couleur du texteCouleur du texte de la page de paiement
            Couleur des boutonsCouleur des boutons de la page de paiement
            Champs supplémentairesChamps supplémentaires qu’il est possible d’ajouter aux parcours de paiement par carte (CB) ou par virement. Utilisé pour collecter des données clients complémentaires si nécessaire (adresse, nom, prénom…).

            3/ Personnalisation du logo affiché sur le SmartForm

            Le logo affiché sur le SmartForm est celui que vous aurez renseigné dans les paramètres du point de vente utilisé pour votre demande de paiement. Par défaut, le logo de CentralPay est affiché.

            Retours, statuts et hooks

            1/ Statuts liés aux demandes de paiement

            Statuts Payment Request

            2/ Webhooks liés aux demandes de paiement

            Les demandes de paiement permettant indirectement la création de transactions cartes, SCT et SDD mais aussi d’autres objets comme les Customer, Subscription ou Installment, selon les cas d’usages, il peut être utile de suivre les webhooks associés.

            Webhooks « PaymentRequest »

            Webhooks PaymentRequest

            Webhooks « Transaction »

            Webhooks Transaction

            Webhooks « SCT Transaction »

            Webhooks SCT Transaction

            Webhooks « SDD Transaction »

            Webhooks SDD Transaction

            Webhooks « Customer »

            Webhooks Customer

            Webhooks « Subscription »

            Webhooks Subscription

            Webhooks « Installment »

            Webhooks Installment

            Transaction par carte

            Informations générales

            1/ Introduction

            Une transaction carte comprend une succession d’actions :

            1. Authentification 3DS 2.0 :
              Elle permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client :
              • Si les données ne concordent pas ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »).
              • Sinon, elle autorise directement le paiement (« Frictionless »).
            2. Autorisation bancaire :
              Demande effectuée par CentralPay à la banque du payeur permettant de vérifier la validité et la provision de sa carte. Les fonds « autorisés » sont bloqués jusqu’à la réalisation de la capture des fonds. Si aucune capture n’est réalisée sous un délai de 7 jours, les fonds « autorisés » sont libérés et le marchand devra renouveler son autorisation.
              Pour les activités éligibles (location, hôtellerie…), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours.
            3. Capture :
              La capture permet d’initier le débit de la carte sur la base d’une autorisation ou d’une pré-autorisation. Un marchand peut réaliser une capture complète ou partielle du montant autorisé.

            2/ Types et réseaux de cartes acceptés :

            Les cartes de paiement sont émises par les banques ou les établissements de paiement agréés, elles peuvent être badgées par un ou plusieurs réseaux de carte (aussi nommés « Card Scheme »).

            Les réseaux acceptés par CentralPay sont :

            • Carte Bancaire
            • VISA
            • MasterCard
            • American Express

            En France, la majorité des cartes émises sont co-badgées CB et VISA ou CB et Mastercard. Dans ce cas, le client doit avoir la possibilité de choisir le réseau qu’il souhaite utiliser.

            Les cartes peuvent être de débit ou de débit différé / crédit (en France la majorité des cartes sont de débit), et peuvent être des cartes de particulier (dit « Consumer ») ou des cartes de professionnels (dit « Corporate »).

            À noter que ces paramètres impactent le coût de la transaction pour le marchand (interchange bancaire et frais de réseaux carte).

            Formulaire de paiement CUSTOM

            1/ Introduction

            Le service API Transaction permet d’opérer une autorisation puis une capture de la carte de paiement de votre client. Les différents modes de paiement par carte sont pilotés via ce même service.

            Pour initier la première transaction d’un client encore inconnu, vous devez d’abord collecter les données de sa carte de paiement en générant un « cardTokenId » via le service de tokenisation de CentralPay « token.js ».

            Un objet « card » sera ensuite retourné en tant que « cardId », pourra être enregistré dans un « customer » et ensuite être utilisé lors des prochaines transactions de ce client (pour des paiements en 1 clic ou des paiements récurrents).

            Attention, avec le Custom Form, vous devrez également intégrer le processus d’authentification 3DS 2.0 avant d’initier vos transactions.

            Schéma de transaction avec « cardTokenId » via le service « token.js » :

            Note : Si vous disposez déjà des données de la carte dans votre système et que vous disposez d’un agrément PCI-DSS level 1, vous pouvez directement utiliser le sous-objet « card » en adressant toutes les données de la carte de paiement (BIN, date d’expiration, CVC).

            2/ Prérequis

            • Déclarez les domaines autorisés
              Déclarez les domaines sur lesquels vos formulaires de paiement CUSTOM vont être hébergés.
              Allez sur votre Portail utilisateur > Administration > Mon compte > Onglet Technique > cliquez sur « Modifier » > Déclarez vos domaines dans « Hosts Custom Forms autorisés »
              • Accès Portail utilisateur de RCT – Compte > Technique
              • Accès Portail utilisateur de PROD – Compte > Technique
            • Sécurisez vos pages de paiement
              Utilisez TLS (1.2 min) (Transport Layer Security) afin qu’elles utilisent les protocoles HTTPS requis par la norme
            • Passez en revue et validez la conformité PCI de votre service chaque année
              Grâce à la combinaison de « CUSTOM + TOKEN.JS », vous gérez vous-même vos formulaires de paiement pour une expérience de paiement optimisée. Cette méthode implique que vous initialisez les paiements sur vos serveurs et vous devez vous conformer au niveau PCI-DSS SAQ A-EP. Vous pouvez télécharger le formulaire SAQ A-EP ici.

            3/ Création d’un formulaire de paiement par carte (WEB)

            Ce tutoriel explique comment utiliser le langage HTML et Token.js pour obtenir un cardTokenID afin de créer une transaction depuis votre propre formulaire de paiement CUSTOM.

            Le Token.js est le JavaScript que nous mettons à votre disposition pour vous aider à implémenter le premier composant dont vous avez besoin pour créer un cardTokenID.

            Une fois que vous obtenez un cardTokenId, vous serez en mesure d’initialiser une transaction pour débiter la carte de votre client.

            Consultez nos exemples en ligne de formulaires CUSTOM FORM :

            • Exemple de formulaire Custom Form sans 3DS 2.0
            • Exemple de formulaire Custom Form avec 3DS 2.0

            3.1 Créer un formulaire de paiement HTML

            Contrairement à la page de paiement SMART FORM qui est généré et hébergé par CentralPay, le CUSTOM FORM doit être créé et intégré par vos soins. Vous devez donc générer le code HTML qui convient à votre parcours de paiement, avec notamment les champs suivants :

            • Numéro de carte (16 digits pour CB, Visa, Mastercard – 15 digits pour Amex)
            • Date d’expiration (MM/AAAA)
            • CVC (3 digits pour CB, Visa, Mastercard – 4 digits pour Amex)

            3.2 Envoyer les informations de carte avec le Token.js

            Envoyez les données cartes du navigateur du client à la plateforme PCI-DSS de CentralPay qui vous adressera un cardTokenId en retour. Pour ce faire, vous devez ajouter dans le <body> le tag ci-dessous :

            • Tag du Token.js de recette :
            <script src="https://test-js.centralpay.net/js/token.js"></script>
            • Tag du Token.js de production :
            <script src="https://js.centralpay.net/js/token.js"></script>

            Ajoutez également votre merchantPublicKey dans un tag séparé :

            <script type="text/javascript">
              window.Centralpay ? Centralpay.card.setMerchantPublicKey('8ce4b92abd7c3110e2033ffbfa7cca0f097a66f1f1d267ff6c94429884ed82ac') : alert('Error loading html form');
            </script>

            /!\ La merchantPublicKey identifie vos requêtes vers la Plateforme. Remplacez celle présente dans l’exemple ci-dessus par la vôtre. Consultez notre rubrique sur l’Authentification de nos API pour connaitre comment la récupérer.

            3.3 Réceptionner le cardTokenID dans votre système

            Récupérez le cardTokenID qui vous a été retourné dans le JavaScript afin de pouvoir soumettre votre requête à la plateforme.

            Toutes les données de la carte sont maintenant stockées dans cardTokenID pendant une durée de 5 min. C’est donc cette valeur que vous devrez transmettre à notre API et en aucun cas les données brutes de la carte bancaire.

            3.4 Créer une transaction à l’aide de la cardTokenID

            Maintenant que vous êtes en possession du cardTokenID, vous êtes prêts pour initialiser une transaction. À la différence des étapes précédentes qui se déroulent depuis le navigateur, celle-ci sera exécutée depuis vos serveurs.

            Consultez les pages dédiés au mode de paiement par carte que vous souhaitez intégrer :

            • Transaction par carte unitaire (standard, capture différée, vérification carte, MoTo, en 1 clic)
            • Transaction par carte récurrente (abonnement, fractionné)

            Ou consultez directement le swagger du service API Transaction pour avoir plus de détails techniques.

            3.5 Sauvegarder les informations d’une carte dans un profil client

            Le cardTokenId n’est utilisable qu’une seule fois. Si vous prévoyez d’utiliser les données de la carte ultérieurement (paiement en 1 clic, paiement récurrent…), vous devez donc créer un Customer et y enregistrer une Card.

            Ainsi, la prochaine fois, au lieu d’utiliser un nouveau cardTokenId, vous utiliserez le customerID correspondant.

            4/ Créer un formulaire de paiement par carte (APP)

            Les marchands veulent généralement pouvoir débiter des cartes de paiement sans avoir à stocker des données sensibles sur leurs serveurs. Notre javascript Token.js rend cela simple depuis un navigateur web, mais vous pouvez utiliser la même technique dans d’autres environnements avec notre cardToken.

            Ces tokens sont créés grâce à votre merchantPublicKey, qui peut être intégrée en toute sécurité dans des applications téléchargeables telles que les applications iPhone et Android. Vous pouvez ensuite utiliser ces Tokens pour initier vos transactions.

            Vous devez ajouter un header « Origin » avec une URL précédemment déclaré dans vos domaines autorisés (voir 2/ Prérequis).
            Pour vos tests, vous pouvez utiliser l’Origin : https://example.centralpay.net

            Authentification 3DS 2.0

            Le protocole 3D Secure 2.0 permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client :

            • Si les données ne sont pas concordantes ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »).
            • Sinon, elle autorise directement le paiement (« Frictionless »).

            Il existe deux types de 3DS, selon si vous souhaitez initier une transaction classique (pour laquelle le porteur est présent) ou si vous exécutez une échéance de paiement récurrent (pour laquelle le porteur n’est pas présent) :

            • Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction)
              Représente la majorité des intégrations de 3DS 2. Il requiert l’authentification du client afin de vérifier qu’il est bien le porteur légitime de la carte au moment de la transaction. Il déclenche si nécessaire un challenge qui vérifie l’identité du porteur de carte (SCA).
              Découvrez comment intégrer le 3DS 2.0 BRW
            • Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents)
              3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand lorsque le porteur n’est pas présent ou non participant.
              3RI offre la possibilité de générer les authentifications 3DS nécessaires sans que le client ne soit impliqué. Cela permet d’utiliser une authentification générée précédemment avec un client. Elle est utilisée dans les contextes suivants de paiements récurrents : Paiement fractionné, Abonnement, Refund, etc.
              Découvrez comment intégrer le 3DS 2.0 3RI

            Transaction carte

            Selon les besoins de votre activité, CentralPay propose divers modes de transactions unitaires via son service API Transaction.

            Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form et intégrer l’authentification 3DS 2.0.

            Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales.

            1/ Autorisation et capture instantanée

            Pour réaliser un paiement simple par carte (autorisation puis capture instantanée) :

            • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « EC »

            2/ Autorisation et capture différée

            Ce mode de transaction peut être utile si vous souhaitez bloquer les fonds de votre client avant de le débiter définitivement, le temps de la validation de votre commande par exemple. Ainsi, vous pouvez annuler l’opération sans être soumis aux frais de transaction ou de remboursement.

            Pour réaliser un paiement par carte avec capture différée (autorisation puis capture différée), vous devez :

            • Réaliser une autorisation en renseignant le paramètre « capture » de la Transaction avec la valeur « false ». Les fonds seront ainsi bloqués sur la carte du client.
            • Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount »)

            Vous avez 7 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés.

            3/ Pré-autorisation et capture différée

            Le service de pré-autorisation et capture différée (ou caution / PLBS) permet d’effectuer une pré-autorisation d’un certain montant, que vous pourrez ensuite capturer partiellement ou pleinement sous 30 jours. Durant cette période, les fonds vous sont garantis, ils sont donc bloqués sur la carte et ne peuvent être utilisés par votre client.

            Ce service n’est accessible qu’à certaines activités autorisées (locations de véhicules ou de matériels, hôtellerie…)

            Pour réaliser une pré-autorisation et capture différée, vous devez :

            • Réaliser une pré-autorisation en renseignant le paramètre « source » de la Transaction avec la valeur « DP ». Les fonds seront ainsi bloqués sur la carte du client.
            • Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount »)

            Vous avez 30 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés.

            4/ Vérification carte (empreinte sécurisée)

            Le service d’empreinte & vérification carte permet d’effectuer une autorisation à 0€ avec authentification du porteur (3DS 2.0). Ainsi, vous disposerez des informations concernant la carte de votre client (carte de débit, de crédit, prépayée…), et vous vous assurerez qu’elle n’est pas frauduleuse (carte non volée, porteur identifié…). Ce service est généralement utilisé pour enregistrer une carte avec 3DS en vue d’un abonnement avec une date de démarrage différée.

            Pour réaliser une prise d’empreinte & vérification carte (autorisation à 0€ sans capture), vous devez :

            • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « RI »
            • Nous vous recommandons également de créer un « customer » lors de la transaction, afin d’associer le « cardId » ainsi généré et de vous permettre un éventuel débit ultérieur de cette carte.

            5/ Débit carte seul (MO/TO)

            Le service de paiement MOTO (Mail Order / Telephone Order) permet d’effectuer une autorisation puis une capture d’une carte, sans la présence de son porteur. Il est généralement utilisé par les hôtels pour le débit de services ou de consommations additionnelles en fin de séjour.

            Attention, ce service n’est accessible qu’à certaines activités autorisées (hôtellerie…), et apporte des résultats de conversion de moins en moins performants depuis la directive DSP2, car elle ne permet pas l’authentification du porteur de carte.

            Pour réaliser un paiement MOTO, vous devez :

            • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « MO » (Mail Order) ou « TO » (Telephone Order).

            6/ Paiement par carte en 1 clic

            Le paiement par carte en 1 clic consiste à enregistrer les données cartes de votre client, afin qu’il puisse régler sa commande sans avoir à les ressaisir. La ou les cartes du client sont stockées de manière sécurisée dans le Customer CentralPay. Il est dans ce cadre nécessaire de permettre à votre client de sélectionner la carte qu’il souhaite utiliser ou d’ajouter une nouvelle carte.

            Pour réaliser un paiement par carte en 1 clic, vous devez :

            • Sélectionner l’option « One-click » dans la configuration du point de vente.
            • Vous assurer que vos customer ont une carte liée à leur profil.

            Transaction carte récurrente

            Selon les besoins de votre activité, CentralPay propose plusieurs modes de transactions récurrentes :

            • Abonnement depuis un modèle d’abonnement
              CentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont.
            • Abonnement depuis des transactions successives
              Vous pilotez le prélèvement de chaque échéance vous-même par API.
            • Paiement fractionné
              CentralPay fractionne une somme due en plusieurs transactions et gère leur prélèvement, selon les conditions de règlement que vous avez renseigné.

            Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form, créer un profil Customer pour ce client, et intégrer les principes d’authentification 3DS 2.0.

            Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales.

            Lors d’un paiement récurrent, votre client reçoit automatiquement un email contenant le détail de ses échéances. Ce mail contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire et de résilier un abonnement si besoin est.

            1/ Abonnement depuis un modèle d’abonnement

            1.1/ Création

            Vous devez d’abord :

            • créer un formulaire de paiement Custom Form,
            • créer un Customer contenant au moins une Card
            • et réaliser une authentification 3DS 2.0 BRW.

            Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur.

            1.2/ Cas d’intégration spécifiques

            • Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une Transaction suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.
            • Si vous souhaitez simplement faire démarrer un abonnement à une date précise, vous pouvez d’abord réaliser une empreinte carte vérifiée suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.

            2/ Abonnement depuis des transactions successives

            2.1/ Création

            Vous devez d’abord :

            • créer un formulaire de paiement Custom Form,
            • créer un Customer contenant au moins une Card
            • réaliser une authentification 3DS 2.0 BRW
            • réaliser une première Transaction

            Ensuite, vous pourrez initier vous-même les prochaines Transactions en utilisant l’authentification 3DS 3RI.

            2.2/ Informations importantes

            • pour garantir un taux de conversion optimum, le montant de la première transaction doit être supérieur ou égal aux montants des transactions suivantes réalisées avec l’authentification 3DS 3RI.
            • la plateforme CentralPay ne considérera pas les transactions générées comme des « abonnements », ainsi les interfaces « Portail utilisateur » et « Portail client » afficheront ces opérations au même titre qu’une succession de transactions unitaires.
            • avec ce modèle, le système d’automatisation des nouvelles tentatives ne s’appliquera pas en cas d’échec de prélèvement d’une de vos transactions.

            3/ Paiement fractionné

            3.1/ Création

            Vous devez d’abord :

            • créer un formulaire de paiement Custom Form,
            • créer un Customer contenant au moins une Card
            • et réaliser une authentification 3DS 2.0 BRW.

            Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

            Transaction carte via wallet

            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.

            R-transaction carte

            1/ Remboursement

            Vous pouvez rembourser une Transaction si celle-ci est « Cleared » via le service Refund ou depuis le détail de la Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant.

            Votre client recevra les fonds sur sa carte sous 3 à 5 jours ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération.

            Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.

            2/ Crédit

            Vous pouvez créditer la carte d’un client sans transaction initiale depuis le service Credit. Pour cela, il existe plusieurs solutions :

            • Tokeniser une carte via le service cardToken pour ensuite la renseigner dans le service Credit
            • Créer ou rechercher un Customer disposant d’une carte valide, puis renseigner son « customerId » ainsi que son « cardId » dans le service Credit
            NB : ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus.

            3/ Contestation

            Pour tout paiement par carte, votre client a la possibilité de contester une transaction auprès de sa banque (opération nommée contestation, chargeback ou impayé) :

            • pendant 120 jours à compter de la transaction sur les réseaux « Visa » ou « Mastercard »
            • pendant 13 mois à compter de la date d’opération sur le réseau Français « Carte Bancaire ».
            En France, une contestation n'est en principe autorisée que dans le cadre d'une utilisation frauduleuse de la carte (carte volée, prélèvements abusifs…). Cependant, dans d'autres pays européens, la contestation peut également être utilisée dans le cadre d'un litige commercial (service ou produit non rendu / non conforme).

            En cas de contestation, CentralPay en est informé et crée automatiquement sur votre compte une opération de Dispute liée à la transaction contestée. Le montant de cette transaction vous sera débité afin de rembourser votre client. Des frais non remboursables s’appliquent également pour chaque contestation reçue.

            À ce stade, le statut de la Dispute sera CHARGEBACK_NOTICED et vous pourrez consulter sur le Portail utilisateur ou via notre API le motif de contestation de votre client. Vous disposez ainsi d’un délai de 20 jours calendaires pour répondre en fournissant la preuve de livraison du service ou du produit. À défaut de réponse dans les délais impartis, il ne sera plus possible de répondre à la contestation.

            Notez que dans le cadre des transactions non authentifiées (sans 3DS), vous devez également justifier du consentement du titulaire de la carte. Vous devez à minima prouver que le nom et prénom de votre client est bien le même que celui qui est indiqué sur la carte de paiement. 

            Une fois votre réponse émise, celle-ci est étudiée par la banque de votre client avant d’adresser son verdict :

            • Vous avez obtenu gain de cause, la contestation a été rejetée. Le montant de la transaction vous est remboursé et le statut de la Dispute passe en CHARGEBACK_WON.
            • Vos preuves sont jugées insuffisantes, la contestation est maintenue. Le statut de la Dispute passe en CHARGEBACK_LOST.
            NB : Il est possible, en amont d'une contestation, qu'un client réalise une demande d'information sur une transaction afin d'en connaitre les détails. CentralPay créera une opération Dispute avec statut RETRIEVAL_NOTICED. Vous devez répondre dans les 7 jours en fournissant la nature du service délivré, la preuve de consentement du client et/ou la preuve de livraison. Si votre réponse est acceptée, le statut de la Dispute passera à RETRIEVAL_CLOSE. À défaut de réponse, votre client pourra déclencher une contestation auprès de sa banque.

            Email de confirmation

            1/ Introduction

            Quand une transaction par carte a été réalisée avec succès, CentralPay peut adresser un email de confirmation de paiement à votre client. Pour cela, vous devez l’activer en renseignant les paramétrages de l’email de confirmation dans votre Point de Vente.

            Cet email est adressé par défaut à l’email du Customer associé à la transaction, mais vous pouvez renseigner la valeur receiptEmail de la transaction si vous souhaitez l’adresser à un autre.

            2/ Paramétrage

            L’email de confirmation possède une mise en forme standardisée affichant les différentes informations de paiement, vous pouvez cependant configurer plusieurs paramètres depuis le Portail utilisateur.

            1. Adresse email de l’expéditeur : paramètrage depuis le point de vente
            2. Nom de l’expéditeur : paramètrage depuis le point de vente
            3. Votre logo : paramètrage depuis le point de vente
            4. Nom du point de vente : paramètrage depuis le point de vente
            5. Texte de pied de page : paramétrage depuis l’entrrée « Configuration > Email confirmation paiement > Créer »
            6. Langue d’affichage : renseigner la valeur « endUserLanguage » dans la requête de Transaction (anglais par défaut)

            Libellé relevé bancaire

            Le libellé de relevé bancaire correspond à la description qui sera affichée sur le relevé de compte bancaire de vos clients pour chacune de vos transactions par carte.

            Lorsqu’un compte CentralPay « marchand » ou « partenaire » est créé, un libellé de relevé bancaire est défini automatiquement en utilisant le nom de votre premier Point de Vente :

            • CPAY*NomDuPointDeVente

            Vous pouvez demander à CentralPay de modifier votre libellé, cependant il doit permettre à vos clients de vous identifier clairement ou d’accéder à votre site de réclamation.

            Gestion des devises

            Introduction

            Dans le cadre d’une activité internationale, vos clients peuvent disposer d’une carte adossée à un compte bancaire en devises non Euros.

            Quelle que soit votre intégration, ces clients pourront vous régler en Euros grâce au système de conversion automatique des réseaux carte (Visa, Mastercard, American Express). Vos clients porteront l’ensemble des coûts de conversion des devises, et vous recevrez des Euros sur votre compte CentralPay.

            Dans certains cas, CentralPay peut vous permettre d’encaisser des transactions par carte bancaire dans différentes devises : Euros (EUR), Dollars (USD), Francs Suisses (CHF) et Livres (GBP). Contactez CentralPay si la gestion de transaction en devises est un enjeu pour votre activité.

            Notez que dans ce cas, les coûts d’acquisition en devises (hors EUROS) sont soumis à des frais complémentaires et seront déduits du montant de vos transactions.

            Les reversements (payout) par virement SEPA ne peuvent être réalisés que sur les valeurs disponibles en EUROS. Les valeurs hors EUROS sont reversées par virement SWIFT ayant des frais supérieurs. Il est cependant possible de programmer les reversements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de reversement.

            Gestion des cartes virtuelles (VCC)

            1/ Introduction

            Fonctionnement des OTA
            Les grands OTA que sont Booking.com, Expedia.com, hotels.com ou Agoda.com peuvent collecter les règlements lors de la réservation. Dans ce cas, ils fournissent aux hôteliers, non pas les données de la carte du client, mais une alias, qui est une carte virtuelle ou VCC.

            Une carte virtuelle ou VCC est généralement émise pour un usage encadré afin de limiter les risques de compromission.
            Une carte virtuelle représente en quelque sorte l’alias d’une carte existante qui ne pourra être utilisé qu’à partir d’une certaine date et depuis un MCC défini. En l’occurrence, dans le secteur du tourisme, il est nécessaire d’avoir un contrat avec le MCC 7011 (HOTELS) pour pouvoir la débiter.
            Ainsi, dans le cas où le numéro de carte tombait entre les mains d’une personne mal intentionnée, elle ne pourrait pas déclencher de débit sur la carte source.
            Étant donné la nature spéciale des cartes issues par ces OTA, il est en général impossible de réaliser des demandes d’autorisation, de pré-autorisation ou de vérification au moment de la commande.

            Si la carte n’est débitable que le jour de la réservation par un MCC 7011 par exemple, l’émetteur, en général MASTERCARD B2B PRODUCT, renverra un code d’erreur pour transaction invalide (12).

            Cartes virtuelles Booking.com
            Booking.com utilise des cartes virtuelles sur certaines destinations.  En fonction du paramétrage réalisé sur le site de l’hôtel, une réservation pourra être réalisée avec ou sans prise d’empreinte carte. Si l’hôtelier a choisi de demander un moyen de paiement, alors BOOKING.com génèrera une carte virtuelle et l’adressera à l’hôtelier ou à son prestataire technique. Avec la crise du covid19, booking n'autorise plus les débits de ses VCC qu'un jour après le checkin du client.
            En savoir plus sur le fonctionnement des cartes virtuelles de booking.com
            Cartes virtuelles Expedia
            Chez EXPEDIA, il est possible de laisser le visiteur choisir entre la possibilité de payer à l’hôtel (Hotel Collect) ou de payer directement lorsqu’il réalise la réservation (Expedia Collect). Cette option est appelée Expedia Traveler Preference (ETP). Si un client utilise la méthode Expedia Collect, une carte virtuelle sera alors générée.
            En savoir plus sur le fonctionnement des cartes virtuelles d'expedia.com

            2/ Gestion des cartes virtuelles avec CentralPay

            La meilleure méthode pour stocker une VCC et de pouvoir l’utiliser une fois disponible est de créer un « Customer » et de lui associer la carte concernée.

            Deux options sont ouvertes :

            • Soit la carte est débitable au moment de la création et une demande de vérification est réalisable à la création du Customer 
            • Soit la carte n’est pas utilisable à la création du customer et la carte doit être créé sans vérification. Cela ne signifie pas qu’elle ne pourra pas être utilisée à terme. Cela veut simplement dire qu’elle ne doit être débitée qu’à une certaine date. En général, les OTA auront préalablement vérifié les données de la carte pour s’assurer qu’elle était débitable.

            Ainsi, créer un Customer dans l’API CentralPay permet de tokeniser la carte virtuelle, sécuriser son stockage et de faciliter son utilisation lorsque les conditions d’acceptation initiales auront été réunies.

            Retours, statuts et hooks

            1/ Codes de retour banque liés aux transactions carte

            Lorsqu’une transaction carte (objet « transaction ») est initiée, une demande d’autorisation est soumise à la banque émettrice de la carte. Cette dernière répond avec un code, permettant d’interpréter l’acceptation, le refus et la cause du refus de l’autorisation.

            La banque du titulaire de la carte (appelée également banque émettrice) exprime son refus en fonction de choix qui lui sont propres et totalement indépendants de CentralPay. CentralPay n’est en possession d’aucune information complémentaire si une carte est refusée et n’a aucun moyen d’en obtenir.

            Les principaux codes de retour banque :

            CodeDescription
            A1 – Repli VADSDSP2 et Soft decline
            La banque refuse la transaction, car elle ne possède pas d’authentification forte (3DS 2.0).
            Il est nécessaire de repasser cette transaction en 3DS afin de ne plus avoir ce code.
            57, 3 et 5Refus générique de la banque
            La banque refuse sans donner de statut particulier.
            Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.
            Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives.
            4, 7, 14, 15, 31, 33, 34, 41, 43, 54, 55, 56, 59, 63, 76Suspicion de fraude ou vol de la carte
            La banque émettrice estime que son client n’est plus en possession de la carte et qu’il s’agit d’une usurpation.
            51, 61Provisions insuffisantes / plafond atteint
            La carte a dépassé le montant du plafond autorisé ou ne dispose pas des fonds suffisants.
            La carte peut de nouveau être acceptée ultérieurement, les plafonds étant calculés sur 7 jours glissant, une transaction peut tout à fait être retentée le lendemain.
            12Transaction invalide
            La banque refuse sans donner de statut particulier. Cela peut être :
            – Simplement une transaction invalide
            – Un code 75 de la part de la banque émettrice (le code PIN de la carte a été trop de fois incorrect).
            – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS)
            – Ou une autre décision que nous ne connaissons pas.
            Consulter la liste complète des codes de retour banque

            2/ Statuts liés aux transactions carte

            Statuts « Transaction »

            Statuts TRANSACTION

            Statuts « Refund »

            Statuts REFUND

            Statuts « Credit »

            Statuts CREDIT

            Statuts « Disputes »

            Statuts DISPUTES

            Statuts « Subscription »

            Statuts SUBSCRIPTION

            Statuts « Installment »

            Statuts INSTALLMENT

            3/ Webhooks liés aux transactions carte

            Webhooks « Transaction »

            Webhooks Transaction

            Webhooks « Card »

            Webhooks Card

            Webhooks « Refund »

            Webhooks Refund

            Webhooks « Credit »

            Webhooks Credit

            Webhooks « Customer »

            Webhooks Customer

            Webhooks « Dispute »

            Webhooks Dispute

            Webhooks « Subscription »

            Webhooks Subscription

            Webhooks « Installment »

            Webhooks Installment

            Transaction par virement

            Informations générales

            1/ Introduction

            Le virement bancaire est le moyen de paiement le plus répandu pour les règlements d’entreprises. Il consiste en un transfert direct des fonds d’un compte (bancaire ou de paiement) à un autre, sans utiliser de support additionnel comme une carte par exemple.

            La personne physique ou morale qui demande l’émission du virement est dénommée le donneur d’ordre (ou l’émetteur), celle qui reçoit l’argent le bénéficiaire. Contrairement à un paiement par carte ou par prélèvement SEPA, seul l’émetteur lui-même peut initier un virement. Il se rend ainsi sur l’espace personnel de sa banque, déclare les coordonnées bancaires du bénéficiaire (IBAN + BIC + Nom de titulaire), puis renseigne un montant et une référence de virement.

            Quelques informations importantes :

            • Le délai de réception d’un virement classique chez CentralPay est de 4 à 24 heures ouvrées (contre 24 à 48 heures ouvrées chez la majorité des banques traditionnelles). Il sera également possible de recevoir des virements instantanés (réception <5 secondes) à partir d’octobre 2024.
            • Le virement ne présente pas de risque financier majeur pour le marchand bénéficiaire, car l’émetteur s’authentifie fortement auprès de sa banque et ne peut donc pas contester cette opération.
            • Les banques émettrices accordent un plafond de règlement par virement nettement plus élevé que celui appliqué aux opérations de prélèvement SEPA ou de règlement par carte.
            • Selon les fonctionnalités proposées par sa banque, l’émetteur peut programmer un virement récurrent ou à date différée.

            2/ Types de réseaux acceptés

            Il existe deux types de virements bancaires :

            • les virements SEPA (ou SEPA Credit Transfer) : utilisés pour les opérations en EUROS réalisées entre deux pays membres de la zone SEPA (= 27 pays de l’Union européenne + Royaume-Uni, Monaco, Andorre, Vatican, Suisse, Liechtenstein, Norvège, Islande et Saint-Marin)
            • les virements internationaux : utilisés pour les opérations internationales en EUROS ou en devises, via le réseau SWIFT.

            Les frais applicables aux réseaux SEPA sont très largement favorables (à peine quelques dizaines de centimes contre plusieurs dizaines d’euros pour SWIFT). SWIFT permet cependant plusieurs options liées au règlement de ses frais : à la charge de l’émetteur, du bénéficiaire ou partagés.

            CentralPay est atteignable par toutes les banques de l’Espace Économique Européen utilisant les réseaux SEPA (via STEP2 pour les SCT/SDD, ainsi que TIPS et RT1 pour les « Instant SCT »). Seuls les virements de réseaux internationaux ou en devises hors EUROS ne sont pas recevables pour le moment (via réseau SWIFT par exemple).

            IBAN Virtuels

            1/ Introduction

            Le paiement par virement bancaire impose une responsabilité au client émetteur : celle de renseigner les coordonnées bancaires (IBAN + BIC + Nom du titulaire), le montant du règlement mais aussi la référence de virement.

            Une absence ou un mauvais formatage de la référence (causé par le client ou par le système de sa banque) contraint le bénéficiaire d’analyser manuellement le virement reçu pour le rapprocher à la bonne facture et au bon poste client.

            CentralPay vous permet de présenter un IBAN virtuel différent à chacun de vos clients (Customer) ou dans chacune de vos factures (PaymentRequest). Ainsi lors de la réception d’un virement, CentralPay identifie automatiquement l’émetteur et peut rapprocher la facture pour vous, selon l’IBAN virtuel utilisé par votre client, même en cas d’erreur de référence.

            Un IBAN Virtuel est en tous points identique à un IBAN classique, ce qui rend le processus entièrement transparent pour vos clients.

            Ce service vous permettra notamment :

            • d’être informé instantanément quand un client vous a réglé par virement,
            • d’automatiser vos alertes internes et vos relances clients (via le service de notifications),
            • d’automatiser le rapprochement de vos paiements dans vos solutions comptables ou de facturations (ERP…),
            • pour les plateformes et marketplaces : d’identifier facilement le marchand bénéficiaire et de lui transférer les fonds

            Vous pourrez créer des IBAN Virtuels CentralPay depuis différents services de la plateforme :

            • Depuis le service Customer
            • Depuis le service SCT Transaction
            • Depuis le service PaymentRequest
            Chaque compte de paiement ou de monnaie électronique dispose nativement d'un IBAN Virtuel dédié

            2/ Consulter l’IBAN Virtuel de ses comptes

            Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail utilisateur Administration Comptes IBAN/BIC :

            • Accès Comptes – Portail Utilisateur de RCT
            • Accès Comptes – Portail Utilisateur de PROD

            Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount

            3/ Créer un IBAN Virtuel dédié à un Customer

            Vous pouvez créer un IBAN Virtuel dédié à un client lors de la création d’un nouveau Customer, ou via l’update d’un Customer existant.

            Pour cela, vous devez renseigner le champ « walletIdForIban » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds.

            Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID :

            • Accès Comptes – Portail Utilisateur de RCT
            • Accès Comptes – Portail Utilisateur de PROD

            En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre Customer.

            Le BIC des IBAN émis par CentralPay sont : CEAYFR22

            4/ Création d’un IBAN Virtuel dédié à une SCT Transaction

            Comme pour un Customer, vous pouvez créer un IBAN Virtuel dédié à une transaction par virement lors de la création d’une SCT Transaction.

            Pour rappel, une SCT Transaction est créée automatiquement par CentralPay lorsque vous recevez un virement sur votre IBAN Virtuel principal ou celui d'un Customer. Il est cependant possible de créer une SCT Transaction en amont afin de lui affecter un IBAN Virtuel dédié et une référence personnalisée par exemple.

            Pour cela, vous devez renseigner le champ « ibanWalletId » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds.

            Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID :

            • Accès Comptes – Portail Utilisateur de RCT
            • Accès Comptes – Portail Utilisateur de PROD

            En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre SCT Transaction.

            Un IBAN Virtuel dédié à une SCT Transaction n'est plus fonctionnel une fois que sa SCT Transaction a été entièrement réglée. Il est cependant possible de recevoir plusieurs virements d'un montant inférieur sur un même IBAN pour compléter le montant de la SCT Transaction.
            À noter que si un virement reçu dépasse le montant de la SCT Transaction, il sera tout de même accepté. Vous devrez réaliser un remboursement partiel pour reverser le trop perçu à votre client.

            5/ Utilisation des IBAN Virtuels depuis les demandes de paiement

            Il est possible d’utiliser des IBAN Virtuels Customer ou SCT Transaction depuis le service de demande de paiement, si vous acceptez le moyen de paiement « SCT Transaction ».

            Vous pouvez sélectionner le type d’IBAN Virtuel que vous souhaitez afficher dans vos demandes de paiement depuis le champ « Viban prioritaire » des paramétrages de votre point de vente. Si vous sélectionnez :

            • SCT
              • La demande de paiement créera systématiquement un IBAN Virtuel dédié à la SCT Transaction
            • Client
              • La demande de paiement utilisera l’IBAN Virtuel du Customer s’il en dispose déjà d’un, sinon elle en créera un automatiquement
            Dans le cas d'une demande de paiement avec vIBAN à la SCT Transaction uniquement : si vous annulez la demande de paiement, le vIBAN associé ne sera plus atteignable. Ainsi, chaque virement reçu sur ce vIBAN sera automatiquement renvoyé à son émetteur.

            Transaction par virement

            1/ Introduction

            Une SCT Transaction représente un virement bancaire reçu sur un de vos IBAN Virtuel CentralPay.

            Elle peut être créée de trois manières différentes :

            • Automatiquement
              si vous adressez un IBAN Virtuel dédié à l’un de vos clients ou l’un de vos comptes de paiement, CentralPay créera la SCT Transaction automatiquement lors de la réception du virement. Vous pourrez ensuite rapprocher cette SCT Transaction à votre commande/facture en récupérant la valeur du champ « description » (correspondant à la référence renseignée par votre client dans son espace bancaire).
            • Depuis le service SCT Transaction
              si vous souhaitez automatiser le rapprochement du virement à la transaction, vous pouvez :
              • créer une SCT Transaction avec un IBAN Virtuel dédié : ce qui permettra un rapprochement sûr à 100% à votre transaction. Attention, dans ce cas vos clients devront déclarer un nouveau bénéficiaire dans leur espace bancaire à chaque virement qu’ils vous adresseront.
              • créer une SCT Transaction en utilisant un IBAN Virtuel Customer et récupérer la référence courte générée par CentralPay pour cette transaction : ce qui permettra de rapprocher systématiquement le virement au profil client correspondant, et potentiellement jusqu’à la transaction si votre client a bien renseigné la référence dans son virement.
            • Depuis le service de demande de paiement
              si vous souhaitez déléguer à CentralPay l’affichage des informations de règlement à vos clients (montant, IBAN, BIC, référence…), vous pouvez créer une Demande de paiement autorisant les paiements par SCT Transaction. Cette option permet également de gérer facilement les virements multiples ou les règlements clients depuis plusieurs moyens de paiement.

            2/ Créer une SCT transaction

            Créer une SCT Transaction :

            • Renseignez un montant en centimes (amount), et une devise (currency).
            • Si vous souhaitez créer un IBAN Virtuel dédié à la SCT Transaction, renseignez le champ « ibanWalletId » avec l’UUID de votre compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur > Administration > Comptes > UUID.
            • Si vous souhaitez utiliser un IBAN Virtuel existant (dédié à un Customer ou à un compte de paiement), renseignez le champ « iban » avec l’IBAN souhaité.
              • Vous pourrez ensuite récupérer la valeur « sepaReference » générée par CentralPay et la transmettre à votre client pour laisser CentralPay rapprocher le virement à votre transaction
              • ou renseigner la valeur « merchantSctTransactionId » avec votre propre référence personnalisée pour rapprocher vous-même le virement via nos exports d’opérations.

            Rapprochement à une demande de paiement

            CentralPay met à disposition un service nommé bankReconciliation permettant de lier une ou plusieurs SCT Transaction à une demande de paiement (PaymentRequest) si vous n’utilisez pas les IBAN Virtuel dédié aux SCT Transaction.

            1/ En cas d’erreur de référence par votre client

            Lorsque vous utilisez les demandes de paiement avec IBAN Virtuels dédiés à un Customer et que votre client ne renseigne pas correctement la « sepaReference » lors de l’émission de son virement ; CentralPay n’est pas en mesure de rapprocher automatiquement le virement à la demande de paiement.

            Vous pouvez donc utiliser le service bankReconciliation pour affecter la SCT Transaction reçue à la demande de paiement créée initialement :

            • Amount = montant du virement en centimes
            • wireTransferID = ID de la SCT TRANSACTION (accessible dans le hook de la SCT TRANSACTION)
            • paymentRequestBreakdownId = ID du breakdown de la PaymentRequest (accessible dans le hook de la PaymentRequest)

            2/ Si vous utilisez votre propre référence de commande

            Si vous souhaitez organiser vos créances clients dans CentralPay grâce au service de Demandes de paiement sans utiliser la page de paiement SmartForm, voici la démarche à suivre :

            • pour chaque client : créer un Customer avec vIBAN, récupérer le vIBAN et l’afficher dans votre tunnel de vente avec votre référence de commande
            • créer en parallèle une paymentRequest contenant cette même référence de commande (dans le champ « merchantPaymentRequestId ») et le montant de commande
            • Dès réception d’un virement client, vous identifiez la commande liée grâce au champ « description » de la SCT Transaction
            • Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId »
              • si une PaymentRequest présente la même référence, vous l’associez avec le service « bankReconciliation »
              • si aucune PaymentRequest ne présente la même référence mais que le virement a été reçu sur un vIBAN Customer n’ayant qu’une seule PaymentRequest en attente ou d’un montant identique, vous pouvez faire en sorte de les rapprocher avec une bankReconciliation
              • si aucune PaymentRequest ne présente la même référence et que le Customer présente plusieurs PaymentRequest en attente de règlement ou d’un montant différent, levez une alerte dans votre système pour faire rapprocher le virement manuellement par votre service financier (qui l’associera manuellement à la bonne PaymentRequest via une bankReconciliation)
            • Les virements non liés à une PaymentRequest seront ainsi facilement identifiables
            • De même que les PaymentRequest non payées ou partiellement payées.

            R-transaction SCT

            1/ Remboursement

            Vous pouvez rembourser une SCT Transaction si celle-ci est « RECEIVED » via le service Refund ou depuis le détail de la SCT Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant.

            Votre client recevra les fonds sur son compte bancaire sous 24 à 48 heures ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération.

            Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.

            Virements internationaux

            Introduction

            Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises.

            Il sera prochainement possible d’accepter des virements internationaux via le service SCT Transaction. Veuillez contacter CentralPay si ce service est un enjeu pour le développement de votre activité.

            Retours, statuts et webhooks

            1/ Retours liés aux SCT Transactions

            Il n’existe pas de code retours pour les SCT Transactions.

            2/ Statuts liés aux SCT Transactions

            Statuts « SCT Transaction »

            Statuts SCT TRANSACTION

            Statuts « Refund »

            Statuts REFUND

            3/ Webhooks liés aux SCT Transactions

            Webhooks « SCT Transaction »

            Webhooks SCT Transaction

            Webhooks « Refund »

            Webhooks Refund

            Webhooks « Customer »

            Webhooks Customer

            Transaction prélèvement SEPA

            Informations générales

            Introduction

            Le prélèvement SEPA (SEPA Direct Debit ou « SDD » en anglais) permet à un créancier (marchand) de prélever un montant dû directement sur le compte de son débiteur (client). Il est principalement destiné aux règlements récurrents (abonnements ou paiements en plusieurs fois) mais peut-être dans certains cas utilisé pour des règlements ponctuels (par exemple pour le règlement de factures entre professionnels).

            Étant émis à l’initiative du créancier, il requiert la collecte préalable d’une autorisation de son débiteur. Le marchand édite ainsi un « Mandat SEPA » précisant les conditions de prélèvement et les coordonnées bancaires des deux parties que son débiteur devra signer.

            1/ Les deux types de prélèvement SEPA

            Il existe deux types de prélèvements SEPA :

            • Le prélèvement SEPA « CORE » : le plus répandu, il permet aux créanciers de débiter des comptes de particuliers comme de personnes morales. Le mandat SEPA est édité et signé entre les deux parties sans contraintes particulières. Le débiteur est cependant protégé et peut contester un prélèvement CORE sans motifs auprès de sa banque sous 8 semaines.
            • Le prélèvement SEPA « B2B » : réservé aux prélèvements entre entreprises. Le mandat SEPA est édité, signé puis doit être transmis par le débiteur à sa banque. Le parcours de contractualisation requiert ainsi une action forte du débiteur et la validation de sa banque. Cependant, les prélèvements initiés depuis ce type de mandats ne sont pas contestables.
              CentralPay ne propose pas ce service de prélèvement SEPA type « B2B ».

            2/ Risques de rejet et de contestation

            Le prélèvement SEPA étant un moyen de paiement dont les transactions sont initiées sans authentification forte du client, les risques de rejets et de contestations sont à prendre en considération.

            Consultez la rubrique « R-Transaction SDD » pour en savoir plus sur les rejets et contestations SDD.

            3/ Informations importantes

            • Le prélèvement SEPA est utilisable sur la vaste majorité des comptes bancaires « courants » des pays de la zone SEPA et certains de l’Espace Économique Européen hors SEPA. Cela dépend de la connectivité aux réseaux SEPA des banques des débiteurs. Les comptes spéciaux type « comptes épargnes » ne sont pas atteignables.
            • Les opérations SEPA sont traitées en devise EUROS (€) uniquement.
            • Les opérations SEPA sont traitées lors des jours ouvrés uniquement (hors weekend et jours fériés). Ainsi, le délai de réception des fonds varie entre 2 à 5 jours à compter de la date d’initiation de l’opération.
            • Le débiteur doit être informé par le créancier des prélèvements à venir, au moins 14 jours avant la date, soit par l’envoi d’un échéancier, d’une notification ou d’une facture.
            • La durée de validité d’un mandat SEPA est de 36 mois après la dernière transaction opérée sur ce mandat.
            • Dans le cadre d’un prélèvement SEPA sur le compte bancaire d’une entreprise (personne morale), le créancier doit veiller à ce que le mandat SEPA soit adressé et signé par le dirigeant ou un responsable habilité (gérant, service comptabilité…).
            • Le prélèvement SEPA est particulièrement adapté aux transactions récurrentes d’un montant situé entre 20 et 200 EUR pour les débiteurs particuliers, et entre 20 et 2 000 EUR pour les débiteurs personnes morales.

            Identifiant de Créancier SEPA

            L’Identifiant Créancier SEPA (ICS) est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).

            Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque.

            Communiquez votre ICS à CentralPay lors de votre entrée en relation afin que nos équipes puissent le déclarer dans votre compte.

            Déclaration du compte bancaire

            Pour réaliser une transaction par prélèvement SEPA, il faut d’abord créer le profil de votre client (le débiteur) et déclarer ses coordonnées bancaires sur la plateforme CentralPay.

            1/ Créer un profil client « Customer »

            • Collecter les informations de votre client (email, nom, prénom …)
            • Créer un profil client Customer
            • Récupérer la propriété « customerId » dans le retour de création du Customer

            2/ Créer un compte bancaire « bankAccount »

            • Collecter les coordonnées bancaires de votre client (IBAN, BIC, nom du titulaire du compte …)
            • Créer un compte bancaire bankAccount en renseignant le « customerId » de votre client
            • Récupérer le « bankAccountId » et le « identityId » dans le retour de création du bankAccount

            Création du mandat SEPA

            Après avoir déclaré le compte bancaire « bankAccount » du client et rattaché son profil client « Customer », vous pouvez créer un mandat SEPA « mandate » et collecter la signature électronique de votre client via un code (OTP) envoyé par SMS.

            Prérequis : vous devez récupérer le « creditorBankAccountId » de votre compte CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail utilisateur en utilisant un profil avec des droits Admin : Administration Mon compte Comptes bancaires
            Identifiez la ligne présentant votre ICS dans la colonne « IBAN » puis copiez l’UUID associé.

            1/ Création et signature d’un nouveau mandat SEPA

            Créez un mandat SEPA :

            • Créez un « Mandate »
              • Renseignez votre « creditorBankAccountId »
              • Renseignez le « CustomerId » de votre client
              • Renseignez votre Référence Unique de Mandat (RUM)
              • Indiquez le type de mandat que vous souhaitez créer dans la propriété « paymentType »
              • Renseignez le numéro de téléphone de votre client dans la propriété « debtorPhone »
              • Renseignez l’email de votre client dans la propriété « debtorEmail »
              • Indiquez le compte bancaire de votre client en renseignant son « bankAccountId » dans la propriété « debtorBankAccountId »
            • Une fois le mandat SEPA créé :
              • Un « mandateId » sera généré
              • Le statut du mandat sera en « PENDING »
              • Un code à 6 chiffres (OTP) sera envoyé à votre client par SMS (durée de vie 15 min). Vous pouvez renouveler l’envoi de l’OTP.

            Signez un mandat SEPA :

            • Signez le « Mandate »
              • Collectez le code à 6 chiffres auprès de votre client, et renseignez-le dans la propriété « otp »
              • Renseignez le « mandateId » généré lors de la création du mandat
              • Renseignez l’IP de votre client dans la propriété « endUserIp »
              • Le statut du mandat passera ainsi en « ACTIVE » et le mandat SEPA au format PDF sera envoyé au client par email

            Schéma de déclaration du compte bancaire et création mandat

            2/ Déclaration d’un mandat existant (migration)

            Dans le cadre d’une migration de mandats déjà créé auprès d’un autre prestataire de paiement, il est possible de désactiver la fonction de signature par OTP sms et d’envoi du mandat SEPA par email. Si c’est votre cas, contactez nos équipes afin d’obtenir plus de détails concernant cette procédure.

            Prérequis :

            • Les mandats doivent avoir été créés avec votre Identifiant de Créancier SEPA (ICS)
            • Les mandats doivent avoir été créés avec votre entité juridique actuelle
            • Les mandats doivent avoir été dûment signés et acceptés par vos débiteurs
            • Les mandats doivent être encore actifs (<36 mois depuis la dernière transaction)

            Transaction par prélèvement

            Une fois les étapes de création et de signature de mandat réalisées, vous pouvez créer une transaction en prélèvement SEPA (Transaction SDD). Chaque transaction SDD sera liée au mandat correspondant.

            Pour créer des transactions SDD, vous avez plusieurs possibilités :

            1. Créer des transactions SDD individuelles : pour réaliser une ou plusieurs transactions SDD par API en complète autonomie
            2. Créer des transactions SDD via les modèles d’abonnement « Subscription » : pour réaliser X transactions selon une fréquence définie par un modèle d’abonnement (exemple : 50 € par mois pendant 12 mois).
            3. Créer des transactions SDD via le service de paiement fractionné « Installment » : pour fractionner une créance client en plusieurs transactions (exemple : 1000 € à régler en 3 fois avec un acompte de 500 €).

            1/ Transactions SDD individuelles

            Créez une « SDDTransaction »

            • Renseignez l’identifiant du mandat SEPA « mandateId »
            • Renseignez le montant de la transaction en centimes « amount »
            • Renseignez la devise EUR dans la propriété « currency »
            • Renseignez votre identifiant unique de transaction dans la propriété « endToEndIdentification »
            • Renseignez la description de la transaction dans la propriété « remittanceInformation » (cette donnée apparaitra sur le relevé de compte de vos clients)
            • Renseignez l’IP de votre client dans « endUserIp »
            • Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId »
            • Renseignez la date souhaitée de la transaction dans « requestedCollectionDate »

            Vous pouvez ensuite répéter l’opération à chaque échéance de prélèvement de votre client.

            [Optionnel] Demander au client une validation par SMS

            • Pour plus de sécurité, vous pouvez configurer un OTP pour la validation de chaque SDDTransaction : un OTP sera alors généré à la création et envoyé à votre client par SMS. Un sddTransactionId sera également généré à la création.
            • Par défaut, la validation des SDDTransaction est automatique.
            • Cette étape est nécessaire que si vous avez configuré une validation OTP pour la SDDTransaction
            • Récupérer auprès de votre client son code secret
            • Nous le transmettre, ainsi que le sddTransactionId.
            • Par cette action, la SDDTransaction sera considéré comme validé et sera donc effectuée.

            2/ Transactions SDD depuis les modèles d’abonnement « subscription »

            2.1/ Création

            Vous devez d’abord créer un Customer contenant au moins un Mandate.

            Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur.

            2.2/ Cas d’intégration spécifiques

            • Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une SDD Transaction seule, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.
            • Si vous souhaitez simplement faire démarrer un abonnement à une date précise (ex : date d’entrée en vigueur de votre contrat), vous pouvez renseigner une date de démarrage (startingDate) dans l’objet Subscription.

            3/ Transactions SDD en paiement fractionné « Installment »

            3.1/ Création

            Vous devez d’abord créer un Customer contenant au moins un Mandate.

            Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

            R-transaction SDD

            1/ Remboursement de prélèvement SEPA

            Il n’est pour l’instant pas possible de réaliser un remboursement sur un prélèvement SEPA (date : 06/06/2024).

            Veuillez contacter CentralPay pour plus d’informations.

            2/ Rejet et contestations de prélèvement SEPA

            Les rejets et contestations de prélèvements SEPA sont émis par les banques de vos clients. Ils sont représentés dans votre compte CentralPay par les opérations « SDD Transaction Reversal ».

            Un rejet de prélèvement SEPA est émis par la banque avant la mise à disposition des fonds au créancier (sous 2 à 5 jours). Voici les principaux motifs de rejet des prélèvements SEPA Core :

            • Provisions insuffisantes : le compte bancaire du débiteur ne dispose pas de fonds suffisants pour réaliser l’opération.
            • Compte clôturé : le compte bancaire du débiteur a été fermé.
            • Coordonnées bancaires incorrectes : l’IBAN ou BIC utilisé est incorrect, ou le compte n’est pas en devise EUROS.

            Une contestation de prélèvement SEPA peut être émise par le débiteur jusqu’à 13 mois après l’opération. C’est le principal facteur de risque financier de ce moyen de paiement. Voici les principaux motifs de contestation des prélèvements SEPA Core :

            • Contestation de l’opération (sous 8 semaines max) : le mandat SEPA est valide, mais le client conteste l’opération auprès de sa banque pour quelconque motif. L’opération est entièrement remboursée et des frais de contestation sont applicables au créancier. Le délai est de 70 jours pour les banques hors de l’Union européenne ou de l’Espace Économique Européen.
            • Contestation pour absence de mandat (sous 13 mois max) : le mandat SEPA n’est pas valide (absence de mandat, mauvais signataire…), le client conteste les opérations réalisées. Les opérations sont entièrement remboursées et des frais de contestation sont applicables au créancier.

            Pour en savoir plus, consultez la liste complète des codes de rejets et contestation de prélèvement SEPA :

            Codes de retour SDD

            Retours, statuts et webhooks

            1/ Retours liés aux prélèvements SEPA

            Lorsqu’une transaction SDD (prélèvement SEPA) est rejetée, la banque de votre client adresse un code de rejet permettant d’en identifier la cause. Il faut principalement différencier les rejets (à l’initiative de la banque, ils sont reçus rapidement) des contestations (à l’initiative du client, elles peuvent être reçues plusieurs semaines ou mois après la transaction) :

            Contestations
            MD06 Opération contestée par le débiteur (peut être reçu jusqu’à 8 semaines après la transaction)
            MD01 Contestation pour absence de mandat (peut être reçu jusqu’à 13 mois après la transaction)
            SL01 ICS marchand blacklisté par le client via sa banque
            MS02Raison non communiquée (peut inclure des contestations ou des rejets)
            Rejets
            AM04 Provisions insuffisantes
            Tout autre codeRejets techniques divers (compte clôturé, bloqué, IBAN non atteignable…)
            Consulter la liste complète des codes de rejet SDD

            2/ Statuts liés aux prélèvements SEPA

            Statuts « SDD Transaction »

            Statuts SDD Transaction

            Statuts « Mandate »

            Statuts MANDATE

            Statuts « bankAccount »

            [à compléter]

            Statuts « Subscription »

            Statuts SUBSCRIPTION

            Statuts « Installment »

            Statuts INSTALLMENT

            3/ Webhooks liés aux prélèvements SEPA

            Webhooks « SDD Transaction »

            Webhooks SDD Transaction

            Webhooks « Mandate »

            Webhooks Mandate

            Webhooks « Bank Account »

            Webhooks BankAccount

            Webhooks « Customer »

            Webhooks Customer

            Webhooks « Subscription »

            Webhooks Subscription

            Webhooks « Installment »

            Webhooks Installment

            Transaction par initiation

            Informations générales

            Introduction

            L’initiation de paiement (ou Pay by Bank) permet d’adresser des demandes de virement à ses clients, directement dans leur application bancaire. CentralPay transmet le montant, l’IBAN bénéficiaire et la référence, afin qu’ils n’aient plus qu’à valider l’émission du virement.

            Que votre client ait émis un virement classique ou instantané, vous recevez immédiatement un avis de virement pour vous informer de son émission.

            Ce moyen de paiement constitue une bonne alternative, car il permet de contourner certaines problématiques propres aux cartes (plafond) ou aux virements (erreurs de références, délais de traitement).

            1/ Création d’une Initiation de paiement

            L’Initiation de paiement sera prochainement disponible depuis le service de demandes de paiement uniquement.

            Retours, statuts et webhooks

            1/ Retours liés aux Initiations de paiement

            [à compléter avec les codes de retour banque liés aux remboursements de SCT Transaction s’il en existe]

            2/ Statuts liés aux Initiations de paiement

            Statuts « Payment Request »

            Statuts Payment Request

            Statuts « SCT Transaction »

            Statuts SCT Transaction

            Statuts « Refund »

            Statuts Refund

            3/ Webhooks liés aux Initiations de paiement

            Webhooks « Payment Request »

            Webhooks Payment Request

            Webhooks « SCT Transaction »

            Webhooks SCT Transaction

            Webhooks « Refund »

            Webhooks Refund

            Webhooks « Customer »

            Webhooks Customer

            Paiements récurrents

            Abonnement

            Introduction

            Le service d’abonnement vous permet se réaliser automatiquement des transactions récurrentes sur vos profils clients en se basant sur un modèle d’abonnement défini en amont depuis l’API CentralPay ou le Portail utilisateur. Il est ensuite possible d’ajouter des échéances ou de modifier leur montant à la volée depuis les services Invoice & Invoice Item.

            Ce service permet de générer soit des transactions carte, soit des transactions SDD (prélèvement SEPA).

            Définitions utiles pour cette section :

            – SubscriptionModel : 
            modèle d’abonnement (définissant le montant et la fréquence d’abonnement)

            – Subscription : 
            abonnement appliqué à un client

            – Invoice : 
            facture, option à utiliser si vous devez modifier la valeur à l’intérieur d’un plan d’abonnement

            – InvoiceItem : 
            ligne ou article inclus dans la facture. Une facture a potentiellement plusieurs lignes ou éléments
            Le service "Subscription" n'est pas le seul moyen de réaliser des transactions récurrentes. 
            Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement.

            1/ Créer un modèle d’abonnement (subscriptionModel)

            • Accès modèles d’abonnements – Portail utilisateur de RCT
            • Accès modèles d’abonnements – Portail utilisateur de PROD

            Le subcriptionModel vous permet de pouvoir créer différents types d’abonnements en fonction de vos services proposés. Par exemple, si vous avez à votre disposition deux types d’offre d’abonnement, le premier en utilisant les caractéristiques de base de votre service et l’autre en utilisant les fonctionnalités avancées, vous allez devoir créer deux modèles :

            • Un pour l’offre d’abonnement « basique »
            • Un pour l’offre d’abonnement « avancé »

            Chaque « SubscriptionModel » possède un ID unique. Vous fournirez cet identifiant dans vos requêtes API lorsque vous souhaiterez appliquer un abonnement à un client sur la base de ce modèle.

            Vous pouvez utiliser les attributs suivants :

            • amount : montant à renseigner en centimes
            • intervalUnit : DAY / WEEK / MONTH / YEAR (jour / semaine / mois / année)
            • intervalCount : nombre de « intervalUnit » entre deux échéances (ex : si intervalUnit = DAY et intervalCount = 10, alors il y aura une transaction tous les 10 jours).
            • iterationCount : nombre d’échéances (attention la première transaction n’est pas comptabilisée dans ce paramètre, elle s’ajoute donc à ce nombre).

            Exemple :

            • amount = 3000
            • intervalUnit = DAY
            • intervalCount = 3
            • iterationCount = 3

            Ainsi votre modèle d’abonnement sera configuré pour facturer à votre client 30,00 EUR tous les 3 jours pendant 4 échéances (pour un total d’un abonnement de 12 Jours).

            2/ Créer un abonnement (subscription)

            Pour créer un abonnement, vous devez d’abord créer un Customer contenant au moins :

            • une Card (si vous souhaitez opérer des transactions carte)
            • ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA).

            Vous pouvez ensuite créer une Subscription :

            • Selon le moyen de paiement souhaité :
              • pour des transactions carte : renseignez l’identifiant du profil client « customerId »
              • pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate »
              • pour des transactions entre comptes CentralPay : renseignez l’identifiant du compte émetteur « walletId »
            • Renseignez l’identifiant du modèle d’abonnement « subscriptionModelId »
            • Renseignez l’IP de votre client dans « endUserIp »
            • Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId »

            Notez qu’à la création d’un abonnement, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire ou son mandat SEPA et de résilier un abonnement si besoin est.

            Un client pouvant à tout moment résilier son abonnement depuis le portail client mis à sa disposition. Veillez à vous inscrire aux webhooks d'annulation d'abonnement. Si votre abonnement comprend une période d'engagement, il est préférable d'utiliser la méthode d'abonnement par transactions successives, ou demander à CentralPay de ne pas diffuser le lien vers le portail client.

            3/ Automatisation des nouvelles tentatives en cas d’échec

            En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur.

            • Accès paramétrages abonnements – Portail utilisateur de RCT
            • Accès paramétrages abonnements – Portail utilisateur de PROD

            Comportement des champs :

            • Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay
              • Sélection d’une valeur de 4 à 23
            • 1er échec de paiement de facture : comportement en cas d’un premier échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale
              • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
            • 2nd échec de paiement de facture : comportement en cas d’un deuxième échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
              • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
            • 3eme échec de paiement de facture : comportement en cas d’un troisième échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
              • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
            • Action finale : comportement si les actions précédentes ont échoué
              • CANCELED = Annulation de l’abonnement (modification du statut de l’abonnement en CANCELED)
              • FAILURE = Échec de l’abonnement (modification du statut de l’abonnement en FAILURE)
              • UNPAID = Abonnement impayé (modification du statut de l’abonnement en FAILURE + envoi de hook SUBSCRIPTION_UNPAID)

            4/ Fonctions d’annulation des abonnements

            Il existe deux fonctions d’annulation d’abonnement depuis l’API, le Portail Utilisateur ou le Portail Client :

            • Annuler : l’abonnement est annulé immédiatement
            • Annuler en fin de période : l’abonnement sera annulé à la fin de l’échéance en cours (afin de laisser l’abonné bénéficier de votre service durant sa dernière période payée). Par API, vous devrez renseigner le champ « atPeriodEnd ».
              • Note : Durant ce laps de temps, vous pouvez réactiver l’abonnement avec le service « reactivate » des Subscription.
            Les abonnements dont l'ensemble des échéances ont été réalisées passent automatiquement en statut CANCELED.

            5/ Modifier le montant d’une échéance d’abonnement

            CentralPay crée un invoice pour chaque échéance d’un abonnement (Subscription), selon le modèle d’abonnement associé (subscriptionModel).

            Vous pouvez procéder à des actions manuelles à n’importe quel moment pour modifier les échéances (invoice) d’un abonnement (subscription). Vous trouverez ci-dessous une liste d’actions possibles :

            • Modifier le montant d’une échéance : Le service invoiceItem vous permet de modifier le montant d’une échéance (invoice) en renseignant un montant positif ou négatif qui s’additionnera au montant initial de l’échéance. L’invoiceItem sera pris en compte lors de la prochaine échéance de l’abonnement, qu’elle soit créée manuellement ou automatiquement. Vous avez également la possibilité de spécifier une échéance donnée dans votre requête en renseignant un invoiceId.
            • Créer une échéance supplémentaire : les échéances (invoice) dites « périodiques » sont créées automatiquement selon votre subscriptionModel. Vous avez la possibilité de créer d’autres échéances ponctuelles sur votre abonnement en créant une invoice.
            • Supprimer un invoiceItem non traité : s’il n’est pas encore lié à une facture
            • Fermer une échéance à venir : si vous souhaitez que CentralPay ne réalise pas le prélèvement d’une échéance (et/ou ses nouvelles tentatives automatiques), vous pouvez fermer cette dernière depuis le service « close » de l’invoice. Au besoin vous pourrez rouvrir cette échéance via le service « reopen » de l’invoice, si elle n’a pas été payée ou qu’il reste des nouvelles tentatives programmées.
            • Forcer le paiement d’une échéance : les transactions sont effectuées automatiquement par le service d’abonnement, vous pouvez cependant initier la transaction en avance ou réaliser une nouvelle tentative manuellement avec le service « pay » de l’invoice. Ces paiements « manuels » ne sont pas comptabilisés par le système de nouvelles tentatives automatisées. Cette action peut être effectuée sur une facture fermée.

            6/ Schéma complet de création d’un abonnement

            Fractionné

            Introduction

            Le paiement fractionné permet de découper le règlement d’une facture en plusieurs échéances. CentralPay prélève ensuite la carte du client selon un échéancier défini lors de la première transaction. Il peut être utilisé pour proposer un étalement de règlement à votre client ou pour automatiser un règlement type « acompte/solde ».

            Contrairement aux abonnements, un client ne peut pas résilier un paiement fractionné depuis le portail client.

            CentralPay vous aide à recouvrer les échéances dues par vos clients avec un système de nouvelles tentatives automatisées en cas d’échec de prélèvement. Cependant, CentralPay ne garantie pas les sommes dues à l’aide d’un crédit ou d’un système de financement de créances.

            Le service "Installment" n'est pas le seul moyen de réaliser des transactions récurrentes. 
            Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement.

            1/ Créer un paiement fractionné

            Vous devez d’abord créer un Customer contenant au moins :

            • une Card (si vous souhaitez opérer des transactions carte)
            • ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA).

            Ensuite, le service Installment vous permettra de créer facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

            Vous pouvez ensuite créer un Installment:

            • Selon le moyen de paiement souhaité :
              • pour des transactions carte : renseignez l’identifiant du profil client « customerId »
              • pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate »
            • Renseignez le montant en centimes « amount »
            • Renseignez la devise en format ISO « currency »
            • Renseignez l’IP de votre client dans « endUserIp »
            • Renseignez les paramètres de fractionnement « iterationCount », « intervalCount » et « intervalUnit »

            Avec ce service, il est également possible :

            • d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements
            • de définir un montant d’acompte qui sera déduit du montant total (depositAmount). Cet acompte peut également être défini à une date spécifique (depositStartingDate).
            • de définir une date de démarrage du paiement fractionné (startingDate) : si l’on souhaite par exemple que l’acompte soit réglé tout de suite, et que les premières échéances soient prélevées à partir d’une certaine date.

            Notez qu’à la création d’un paiement fractionné, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent et de changer sa carte bancaire ou son mandat SEPA si besoin est.

            2/ Exemple de paiement fractionné

            Vous souhaitez facturer à votre client 1 000 € divisés en 3 mois à partir du 05/07/2024, avec un acompte de 200 € le 28/06/2024 et ajouter un frais supplémentaire de 10 € :

            • amount =100000
            • depositAmount = 20000
            • feeAmount = 1000
            • currency = EUR
            • intervalUnit = MONTH
            • intervalCount = 1
            • iterationCount = 3
            • depositStartingDate = 2024-06-28
            • startingDate = 2024-07-05

            Le plan de fractionnement sera le suivant :

            • 28/06/2024 = 200,00 € (acompte)
            • 05/07/2024 = 276,68 € (premier fractionnement + ajustement arrondis + frais supplémentaires)
            • 05/08/2024 = 276,66 € (deuxième fractionnement)
            • 05/09/2024 = 276,66 € (troisième fractionnement)
            Les arrondis sont appliqués au premier paiement (hors acompte).

            3/ Automatisation des nouvelles tentatives en cas d’échec

            En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur :

            • Accès paramétrages paiements fractionnés – Portail utilisateur de RCT
            • Accès paramétrages paiements fractionnés – Portail utilisateur de PROD

            Comportement des champs :

            • Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay
              • Sélection d’une valeur de 4 à 23
            • 1er échec de paiement : comportement en cas d’un premier échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale
              • Stop = le système ne réalisera pas de nouvelle tentative de prélèvement.
            • 2nd échec de paiement : comportement en cas d’un deuxième échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
              • Stop = le système ne réalisera pas de deuxième nouvelle tentative de prélèvement.
            • 3eme échec de paiement : comportement en cas d’un troisième échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
              • Stop = le système ne réalisera pas de troisième nouvelle tentative de prélèvement.
            • 4eme échec de paiement : comportement en cas d’un quatrième échec de prélèvement
              • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
              • Stop = le système ne réalisera pas de quatrième nouvelle tentative de prélèvement.

            Authentification 3DS 2.2

            3DS 2.2 BRW (paiement unitaire)

            Téléchargement des sources 3DS 2.0

            Vous pouvez télécharger les sources ici : 3ds2.zip

            Introduction

            Tout ce processus doit se dérouler sur la même page web (ceci est une contrainte du process bancaire).

            Les grandes étapes du 3D Secure 2.0 :

            Consultez un exemple de formulaire de paiement CUSTOM intégrant le 3DS 2.0

            1) Versioning

            • Cette étape consiste à adresser le PAN de la carte à l’API Centralpay.

            Exemple de code Curl :

                curl -v POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \
                -h 'Content-Type: application/x-www-form-urlencoded' \
                -u 'doctest:4I9HJRTd' \
                -d 'acctNumber=4000001000000067'
            • En réponse :
              • Si la carte n’est pas 3DS 2.0, le versioning vous retournera une erreur 404. Cela signifie que la carte utilisée n’est pas enrôlée 3DS 2.0 et que la transaction ne peut pas se faire en 3DS 2.0.
              • Si la carte est 3DS 2.0, vous recevrez un UUID identifiant l’opération jusqu’au résultat final + les données nécessaire pour réaliser le « 3DS Method » (URL + base64)

            Deux réponses au Versionning sont possibles si la carte est 3DS 2.0 :

            • Version 1 (la plus fréquente) :
            {
                "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f",
                "threeDSMethodURL":"https://test-3dss-demo.centralpay.net/acs/3ds-method",
                "threeDSMethodDataForm":{
                    "threeDSMethodData":"eyJ0aHJlZURTTWV0aG9kTm90aWZ
                    pY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJ
                    hbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9
                    uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2M
                    tZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0="
                },
                "errorDetails":null
            }

            Cette réponse est renvoyée quand la banque a besoin de l’acs url dans la requête de l’authentification.

            Le process 3DS Method est alors nécessaire, vous pouvez passer au point 2 : 3DS METHOD.

            • Version 2 :
            {
                "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f",
                "threeDSMethodURL": null,
                "threeDSMethodDataForm": null,
                "errorDetails": null
            }

            Cette réponse est renvoyée quand la banque n’a pas besoin de l’acs url dans la requête de l’authentification.
            Le versioning renvoie une réponse où seul « threeDSServerTransID » possède une valeur non null.

            Le process 3DS Method n’est alors pas nécessaire, vous pouvez passer au point 3 : 3DS AUTHENTICATION BRW.

            2) 3DS METHOD

            Lorsque le versioning renvoi les champs threeDSMethodURL et threeDSMethodDataForm en « Non Null », le process 3DS Method est alors nécessaire.
            Cette fonction a pour but de poster la donnée base64 reçue du versioning vers l’ACS.
            Le formulaire iframe doit être réalisée par le navigateur client vers la banque simultanément avec l’authentification.
            Il faut réaliser une iFrame cachée qui servira à poster la donnée base64 (threeDSMethodData) à l’URL reçue dans le versioning (threeDSMethodURL).

            3) 3DS AUTHENTICATION BRW

            L’appel devra être adressé vers l’url suivante de l’API CentralPay : « 3ds2/authentication »
            Cette requête permet l’envoi des données contextuelles liées au porteur

            Exemple d’appel (curl code) :

                curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \
                --header 'Content-Type: application/x-www-form-urlencoded' \
                --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
                --data-urlencode 'threeDSServerTransID=7d031b8e-7fb7-4215-b866-eaacb395002f' \
                --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \
                --data-urlencode 'deviceChannel=02' \
                --data-urlencode 'messageCategory=01' \
                --data-urlencode 'purchaseAmount=1000' \
                --data-urlencode 'purchaseCurrency=EUR' \
                --data-urlencode 'threeDSRequestorAuthenticationInd=01' \
                --data-urlencode 'browserJavaEnabled=true' \
                --data-urlencode 'browserLanguage=fr-FR' \
                --data-urlencode 'browserColorDepth=24' \
                --data-urlencode 'browserScreenHeight=1052' \
                --data-urlencode 'browserScreenWidth=1853' \
                --data-urlencode 'browserTZ=120' \
                --data-urlencode 'browserIP=127.0.0.1' \
                --data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' \
                --data-urlencode 'browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
                --data-urlencode 'notificationURL=http://dev4.dev.centralpay.net:1101/requestor/challenge-notification' \
                --data-urlencode 'threeDSRequestorURL=https://www.centralpay.eu'

            L’api va retourner un statut de transaction (« transStatus »), voici les valeurs et leurs significations :

            Pas d’autorisation (ne pas faire la transaction) :

            • N = Non authentifié /Compte non vérifié. Transaction refusée.
            • U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq.
            • R = Authentification/vérification du compte rejetée. l’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation
            • I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS.

            Autorisation sans challenge :  

            • Y = Vérification de l’authentification réussie.
            • A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie.  

            Autorisation après challenge : 

            • C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes.
            • D = Challenge requis. Authentification découplée confirmée.

            Exemples de réponses possibles :

            C = Challenge requis :

            {
            "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f",
            "transStatus": "C",
            "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge",
            "acsChallengeMandated": "Y",
            "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=",
            "contractId": "71602dd0-2790-4743-877b-e72530d7576d"
            }

            Le Challenge est nécessaire.

            Y = authentification réussie :

            {
                "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe",
                "transStatus": "Y",
                "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa",
                "eci": "02",
                "contractId": "71602dd0-2790-4743-877b-e72530d7576d"
            }

            Le Challenge n’est pas nécessaire.
            Les champs requis au 3DS 2.0 sont dans la réponse (threeDSServerTransID, transStatus, authenticationValue (cavv), eci).

            Note : Le xid n’est pas fourni, car il s’agit d’une référence libre pour les marchands.

            N = Transaction refusée :

            {
                "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0",
                "transStatus": "N",
                "eci": "00",
                "contractId": "258128f3-5db9-4235-918a-f1d786f67c29"
            }

            Transaction refusée.

            4) Challenge

            • Lorsque la réponse de l’authentification est « C« , l’utilisateur doit effectuer un challenge, une Iframe doit alors soumettre un formulaire à l’url (acsURL) retournée par l’API lors de l’appel à « 3ds2/authentication ».
            • Le seul paramètre envoyé est : creq qui comprend la valeur base64EncodedChallengeRequest qui provient de l’appel à « 3ds2/authentication ».
            • A la fin du challenge, l’url configurée (paramètre notificationURL ) dans l’appel « 3ds2/authentication » est appelée.

            Voici ce que vous aurez dans notre environnement de test pour l’affichage du Challenge OTP (dans des conditions de PROD, la fenêtre affichée sera celle de l’ACS) :

            Voici les OTP en environnement test :

            • 1234 retourne Y pour Challenge réussi
            • 4444 retourne A pour Challenge réussi
            • 1111 retourne N pour Challenge échoué
            • 2222 retourne R pour Challenge échoué
            • 3333 retourne U pour Challenge échoué

            5) Réponse

            • À l’issue du challenge, les informations concernant celui-ci sont disponibles dans la variable « finalCresValue »
            • Pour récupérer les informations de cette valeur base 64 il faut la décoder, voici un exemple en php :
            $retour = json_decode(base64_decode($_POST['cres']), true)
            • Si celui-ci est égal à Y ou A alors le client a effectué le challenge correctement et le paiement est autorisé, vous devrez alors appeler GET /results afin de connaitre les données nécessaire aux 3DS 2.0 pour votre transaction.
            • Si le statut de transaction est égal à une autre valeur, alors le client n’a pas effectué le challenge correctement et le paiement est refusé.

            6) Résultat

            • Pour connaitre les données 3DS 2.0 à renseigner à la création d’une transaction 3DS 2.0, vous devrez adresser le threeDSServerTransID de l’authentification 3DS 2.0 préalablement effectuée.
            • Rappel : Si vous avez obtenu un transStatus à « Y » en réponse de l’authentification, les données 3DS 2.0 sont déjà contenu dans celui-ci.

            Appel :

            curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \
            --header 'Authorization: Basic e3tERUZBVUxUX1VTRVJ9fTp7e0RFRkFVTFRfUEFTU1dPUkR9fQ=='

            Réponse :

            {
                "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f",
                "transStatus": "Y",
                "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=",
                "eci": "01"
            }

            7) Transaction

            Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 :

            • 3ds[threeDSServerTransID] = threeDSServerTransID
            • 3ds[status] = transStatus
            • 3ds[cavv] = authenticationValue
            • 3ds[eci] = eci (Obligatoire si disponible)
            • 3ds[xid] = Paramètre Custom destiné aux marchands.

            Exemple d’une transaction 3DS 2.0 :

            curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \
            --header 'Origin: https://example.centralpay.net' \
            --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
            --header 'Content-Type: application/x-www-form-urlencoded' \
            --data-urlencode 'currency=EUR' \
            --data-urlencode 'amount=1500' \
            --data-urlencode 'endUserIp=9.64.32.8' \
            --data-urlencode 'endUserLanguage=ita' \
            --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \
            --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \
            --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \
            --data-urlencode 'browserAcceptLanguage=it_IT' \
            --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \
            --data-urlencode 'email=support@centralpay.eu' \
            --data-urlencode 'receiptEmail=support@centralpay.eu' \
            --data-urlencode 'capture=true' \
            --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \
            --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \
            --data-urlencode 'order[firstName]=John' \
            --data-urlencode 'order[lastName]=Doe' \
            --data-urlencode 'source=EC' \
            --data-urlencode '3ds[xid]=35876533346561303461' \
            --data-urlencode '3ds[cavv]=JAmi21makAifmwqo2120cjq1AAA=' \
            --data-urlencode '3ds[eci]=01' \
            --data-urlencode '3ds[status]=Y' \
            --data-urlencode '3ds[threeDSServerTransID]=7d031b8e-7fb7-4215-b866-eaacb395002f'

            3DS 2.2 3RI (paiements récurrents)

            Prérequis

            Afin de réaliser une transaction en 3DS 2.0 3RI, il faut que l’utilisateur ait déjà réalisé une transaction 3DS 2.0 avec une authentification BRW.
            Une fois celle-ci effectuée, gardez le acsTransId qui est envoyé, il faudra le passer dans threeDSReqPriorRef.

            1/ 3DS AUTHENTICATION RI

            • L’appel devra être adressé vers l’URL suivante de l’API CentralPay : « 3ds2/authentication »
            • Le acsTransId que vous avez gardé de l’authentification BRW doit être mis dans threeDSReqPriorRef.
            • Si l’api vous retourne un statut de transaction (« transStatus ») à « Y » l’authentification 3RI est autorisé.
            • Voici les valeurs possibles de transStatus et leur signification :
              • Y = Vérification de l’authentification réussie.
              • N = Non authentifié /Compte non vérifié. Transaction refusée.
              • U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq.
              • A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie.
              • C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes.
              • D = Challenge requis. Authentification découplée confirmée.
              • R = Authentification/vérification du compte rejetée. L’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation.
              • I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS.

            Exemple d’appel 3RI (curl code) :

            curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \
            --header 'Content-Type: application/x-www-form-urlencoded' \
            --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
            --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \
            --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \
            --data-urlencode 'pointOfSaleId=08960d92-874b-4447-800b-aaa53fa976f5' \
            --data-urlencode 'deviceChannel=03' \
            --data-urlencode 'messageCategory=02' \
            --data-urlencode 'acctType=03' \
            --data-urlencode 'cardExpiryDate=9999' \
            --data-urlencode 'purchaseAmount=4880' \
            --data-urlencode 'purchaseCurrency=978' \ 
            --data-urlencode 'purchaseExponent=2' \
            --data-urlencode 'purchaseDate=20230101122345' \
            --data-urlencode 'recurringExpiry=20330101' \
            --data-urlencode 'recurringFrequency=0' \
            --data-urlencode 'chAccAgeInd=03' \
            --data-urlencode 'chAccChange=20220901' \
            --data-urlencode 'chAccDate=20220901' \
            --data-urlencode 'email=support@centralpay.eu' \
            --data-urlencode 'nbPurchaseAccount=2' \
            --data-urlencode 'paymentAccAge=20221001' \
            --data-urlencode 'paymentAccInd=03' \
            --data-urlencode 'threeDSReqPriorAuthMethod=02' \
            --data-urlencode 'threeDSReqPriorAuthTimestamp=202209010123' \
            --data-urlencode 'threeDSReqPriorRef=7d031b8e-7fb7-4215-b866-eaacb395002f' \
            --data-urlencode 'threeDSRequestorDecReqInd=N' \
            --data-urlencode 'threeDSRequestorAuthenticationInd=02' \
            --data-urlencode 'threeDSRequestorChallengeInd=02' \
            --data-urlencode 'threeRIInd=01'

            Explication de certains paramètres

            • deviceChannel 03 -> 3DS Requestor Initiated (3RI)
            • messageCategory 02 -> La valeur 02 force la transaction en 3RI.
            • purchaseAmount -> Montant de l’achat courant
            • purchaseCurrency -> Monnaie au format ISO
            • purchaseExponent  -> Unité mineure de la monnaie courante
            • purchaseDate  -> Date de l’achat
            • recurringExpiry  -> Date à laquelle il n’y aura plus d’autorisations qui pourront être effectuées
            • recurringFrequency  -> Nombre de jours minimums entre deux autorisations.
            • acctType -> Debit
            • chAccAgeInd -> Durée pendant laquelle le titulaire de la carte possède le compte auprès du demandeur 3DS. Les valeurs acceptées sont :
              • 01 -> Pas de compte
              • 02 -> Créé durant la transaction
              • 03 -> Moins de 30 jours
              • 04 -> Entre 30 et 60 jours
              • 05 -> Plus de 60 jours.
            • chAccChange -> Date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Format de la date = YYYYMMDD.
            • chAccDate -> Date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Format de la date = YYYYMMDD.
            • nbPurchaseAccount -> Nombre d’achats effectués avec ce compte de titulaire de carte au cours des six derniers mois.
            • paymentAccAge ->  Date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS.
            • paymentAccInd ->  Indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs acceptées sont :
              • 01 -> Pas de compte
              • 02 -> Créé durant la transaction
              • 03 -> Moins de 30 jours
              • 04 -> Entre 30 et 60 jours
              • 05 -> Plus de 60 jours.
            • threeDSReqPriorAuthMethod 02 -> Vérification du porteur de carte effectué par l’ACS.
            • threeDSReqPriorAuthTimestamp -> Date et heure en UTC de l’authentification précédente. Le format de date accepté est YYYYMMDDHHMM.
            • threeDSReqPriorRef -> Le champ doit contenir la valeur « acsTransId » de la transaction 3DS BRW précédente.
            • threeDSRequestorDecReqInd N -> Ne pas utiliser l’authentification découplée.
            • threeDSRequestorAuthenticationInd 02 -> Transaction récurrente
            • threeDSRequestorChallengeInd 02 -> Pas de Challenge requis
            • threeRIInd 01 -> Transaction récurrente

            Exemple de réponse :

            {
                    "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c",
                    "transStatus": "Y",
                    "eci": "02",
                    "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf"
            }

            2/ Transaction

            • Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 :
              • 3ds[threeDSServerTransID] = threeDSServerTransID (ajouter le nouveau génerer par l’authentification 3RI)
              • 3ds[status] = transStatus
              • 3ds[eci] = eci (Obligatoire si disponible)
              • 3ds[xid] = Paramètre Custom destiné aux marchands.
            • Lors d’une transaction en 3RI, il ne faut pas envoyer le 3ds[cavv].

            Exemple d’une transaction 3DS 2.0 :

            curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \
            --header 'Origin: https://example.centralpay.net' \
            --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
            --header 'Content-Type: application/x-www-form-urlencoded' \
            --data-urlencode 'currency=EUR' \
            --data-urlencode 'amount=1500' \
            --data-urlencode 'endUserIp=9.64.32.8' \
            --data-urlencode 'endUserLanguage=ita' \
            --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \
            --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \
            --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \
            --data-urlencode 'browserAcceptLanguage=it_IT' \
            --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \
            --data-urlencode 'email=support@centralpay.eu' \
            --data-urlencode 'receiptEmail=support@centralpay.eu' \
            --data-urlencode 'capture=true' \
            --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ 
            --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \
            --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \
            --data-urlencode 'order[firstName]=John' \
            --data-urlencode 'order[lastName]=Doe' \
            --data-urlencode 'source=EC' \
            --data-urlencode '3ds[xid]=35876533346561303461' \
            --data-urlencode '3ds[eci]=02' \
            --data-urlencode '3ds[status]=Y' \
            --data-urlencode '3ds[threeDSServerTransID]=67dc456c-6c7a-987f-92cf-f68752525d0c'

            FAQ 3DS 2.2

            Foire aux questions autour du 3-D Secure 2.0.

            Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ?

            Consultez la liste des cartes de tests de l’environnement de RCT

            Ma transaction a reçu le code retour banque 5, qu’est-ce que ça signifie ?

            • Cela signifie, que la banque refuse sans donner de statut particulier.
              Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.
              Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives.

            Ma transaction a reçu le code retour banque 12, qu’est-ce que ça signifie ?

            • Cela signifie que la banque refuse sans donner de statut particulier.
              La raison peut être :
                    – Simplement une transaction invalide
                    – Un code 75 de la part de la banque émetteur (le code PIN de la carte a été trop de fois incorrecte)
                    – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS)
                    – Ou une autre décision que nous ne connaissons pas.

            L’API transaction me retourne une erreur « Soft Decline » pourtant le paramètre « threeDSServerTransID » est bien celui retourné par le cres.
            Comment devons-nous interpréter ce retour et que devons-nous faire ?

            • Le soft decline est renvoyé par la banque lorsque que le 3DS n’est pas présent dans la transaction.
              Il faut vérifier s’il manque des champs présentés dans cette partie de la documentation : https://ref-api.centralpay.net/payment#106-3ds-sub-object

            Ma requête du Versioning me retourne une erreur « 404 » avec le message « Card account number not found in card ranges from Directory Server ».
            Qu’est-ce que ça signifie et que dois-je faire ?

            • Cela signifie que la carte utilisée n’est pas enrôlée 3DS2.0 et que la transaction ne peut pas se faire en 3DS2.0.
              Pour ce cas, nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce genre de carte.

            La réponse de la requête Result nous a renvoyé le transStatus à U.
            Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

            • La valeur U de transStatus en réponse de la requête result signifie que l’authentification ou la vérification n’a pas pu se faire suite à un problème technique ou autres problèmes.
              Du côté du smart form lors du challenge avec la requête result, seules les valeurs Y et A permettent de valider le challenge et continuer le paiement.
              Les autres valeurs font échouer le challenge et le paiement.
              Mais dans le cas d’un custom form le fonctionnement peut être différent, vous pouvez utiliser la valeur U pour faire une nouvelle tentative de challenge et si ça échoue encore alors le paiement passe en 3DS1 ou est refusé, ou alors pour directement retenter le paiement en 3DS1 ou le considérer comme un échec de paiement.
              Ces différents cas sont possibles à réaliser.

            Nous avons soumis le formulaire à l’URL retournée par l’authentication avec le base64EncodedChallengeRequest.
            Mais le client est aussitôt revenu sur notre site sans CRES mais avec un paramètre ERROR contenant la valeur « eyJ0aHJlZURTU…Mi4xLjAifQ== » ainsi que le paramètre « THREEDSSESSIONDATA » qui lui était vide.
            Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

            • Lorsque vous avez un retour de ce genre, il faut vérifier que votre processus du 3DS2 se déroule bien sûr une seule et même page avec la solution d’un iframe.
              Si le processus est conforme, alors contactez le support technique avec les informations nécessaires.
            Pour rappel, toutes les étapes du formulaire se réalisent sur une seule et même page sans redirection vers une page bancaire ou autre.
            Cela se fait grâce à la solution de l'Iframe.
            Toute la procédure du 3DS2.0 se passe sur la même page !

            Nous avons reçu une erreur 303 : « acquirerBIN, acquirerMerchantID not recognized » lors d’un appel à l’authentication.
            Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

            • Il s’agit soit du contrat qui n’est pas 3DS2, soit d’autres problèmes.
              Dans le cas d’un autre problème, il faut alors contacter le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations pouvant être nécessaire.

            Sur l’étape d’authentication, nous avons eu une erreur 203 : « Validation of 3DS Requestor Authentication data failed.
            Data element not in the required format or value is invalid » pour le champ merchant.merchantName.
            Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

            • L’erreur 203 signifie qu’il y a un caractère invalide dans le paramètre « merchant.merchantName ».

            Lors d’un test d’appel de la fonction 3DS2 « authentication », l’erreur suivante est retournée dans la clé « card data » : « There is no unique source of card ».
            Qu’est-ce que cela signifie ?

            • L’erreur « There is no unique source of card » est commune à toute la plateforme et est présent lorsque vous envoyez des informations de cartes deux fois : par exemple via un cardToken et un cardId ou un PAN et un cardToken etc…

            Créer des comptes

            Informations générales

            Prochainement

            Liste des pays autorisés

            CentralPay et ses partenaires sont autorisés à entrer en relation d’affaires et à ouvrir des comptes de paiement ou de Monnaie Électronique pour des personnes physiques ou morales issues des pays suivants :

            • Espace Économique Européen :
              • Allemagne
              • Autriche
              • Belgique
              • Bulgarie
              • Chypre
              • Croatie
              • Danemark
              • Espagne
              • Estonie
              • Finlande
              • France et Outre mer :
                • Guadeloupe – Guyane française – Martinique – Mayotte – Polynésie française – Réunion – Saint-Barthélemy – Saint-Martin (français) – Saint-Pierre-et-Miquelon – Wallis-et-Futuna
              • Grèce
              • Hongrie
              • Irlande
              • Islande
              • Italie
              • Lettonie
              • Lituanie
              • Liechtenstein
              • Luxembourg
              • Malte
              • Norvège
              • Pays-Bas
              • Pologne
              • Portugal
              • République tchèque
              • Roumanie
              • Slovaquie
              • Slovénie
              • Suède
            • Autre
              • Royaume-Uni
              • Suisse

            Création de compte de paiement

            Prochainement

            Création de compte de ME

            Introduction

            Prochainement

            Schéma de création d’un compte de ME limité

            Schéma de validation KYC d’un compte de ME

            Documents KYC et KYB

            Prochainement

            Conditions générales

            CGU CentralPay

            Prochainement

            Liste des activités interdites

            Prochainement

            Retours, statuts et webhooks

            Prochainement

            Transférer des paiements

            Informations générales

            1/ Introduction

            La solution EasyWallet permet aux plateformes d’encaisser des paiements et de les transférer à des tiers tout en respectant la réglementation européenne.

            Pour ce faire, le module comprend deux principaux services :

            • L’inscription : permettant la création de comptes de paiement et de monnaie électronique pour les marchands ou participants d’une plateforme.
            • Le transfert : permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique.

            Selon le modèle de partenariat CentralPay, les possibilités d’inscription et de transferts sont différentes.

            2/ Les types de transferts

            Selon le modèle de partenariat établi avec CentralPay, le transfert des paiements est réalisé différemment :

            • Partenaires MOBSP : vous devez utiliser le service de transfert via transaction
            • Agents PSP : vous pouvez utiliser le service de transfert libre ou transfert via transaction
            • Distributeurs de ME : vous devez utiliser le service de transfert via transaction pour la phase d’encaissement en devise. Ensuite, vous pouvez utiliser le service de transfert libre uniquement pour mouvementer la monnaie électronique entre les comptes de vos participants.

            Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay.

            Transfert indépendant

            Transfert indépendant

            L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits « Plateforme ».

            Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte « Plateforme » qui initie les transactions depuis l’API vers un compte « Basic » connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique.

            Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement.

            Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net.

            Les fonds issus de transfers issus d’une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2.

            Exemple 1 :

            Amount = 100
            Fee = 30

            Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100.

            Exemple 2 :

            Amount = 70
            Fee = 0

            Le détenteur du compte de destination recevra 70 sans indication de frais.

            Type de transfer

            1 Mode Asynchrone Manuel (valable uniquement pour les Agents)

            La « Plateforme » réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH.

            Exemple :

            POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout).

            Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles.

            2 Mode synchrone Auto

            Le compte « Plateforme » réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur.

            Exemple :

            POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la  devise de règlement (payout)

            Exemple :

            transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 }
            transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 }

            Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais.

            Transfert indépendant en ME

            Transfert via transaction

            Transfert via transaction

            Vous pouvez paramétrer un transfert depuis tous types de transaction :

            • Transaction CARD (cartes de paiement) : voir comment créer une transaction CARD
            • Transaction SCT (virements SEPA entrants) : voir comment créer une transaction SCT
            • Transaction SDD (prélèvements SEPA) : voir comment créer une transaction SDD

            Paramétrer un transfert depuis une transaction

            Le transfert depuis une transaction permet de renseigner les destinataires des transferts, les montants correspondants, et votre commission.

            [Renseigner les items API à utiliser pour réaliser un transfert depuis une transaction]

            Transfert en ME via transaction

            Transfert via demande de paiement

            Reversement bancaire pour tiers

            Reversement par marketplace

            Vous pouvez créer des payouts pour vos marchands, pour cela, plusieurs solutions, soit :

            • Soit passer par le endpoint : /payout/byThirdParty (vous pouvez retrouver tous les paramètres de celui-ci dans « Référence API »
            • Soit passer par le Portail utilisateur

            Via le Portail utilisateur, voici les étapes à réaliser :

            1/ Rendez-vous sur les comptes liés

            2/ Sélectionnez le marchand sur lequel faire le payout

            3/ Se rendre dans les comptes bancaires

            4/ Faire le payout

            Reversement pour compte de tiers

            Retours, statuts et webhooks

            Cas d'usages

            Marketplace C2C

            Prochainement

            Portail d'inscription

            Le portail d’inscription de CentralPay permet la création d’un Compte CentralPay et d’un compte de paiement : de la création du profil utilisateur, jusqu’à la contractualisation, en passant par la collecte du KYC/KYB. Il interagit avec l’API Onboarding de CentralPay.

            Pour les comptes « Partenaires », il permet donc de créer des sous-marchands facilement depuis un portail hébergé par CentralPay, et d’ainsi éviter une intégration complète de l’API Onboarding.

            Pour adresser un lien d’onboarding à l’un de vos futurs sous-marchands, vous pouvez utiliser le service de création de compte de paiement.

            • Accès au portail d’inscription de RCT
            • Accès au portail d’inscription de PROD

            Webhooks

            1/ Introduction

            Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (ou « Events ») qui surviennent sur votre compte CentralPay. Ces évènements correspondent à la création, au changement de donnée ou au changement de statut d’un objet des API CentralPay.

            Le service permet ainsi d’avertir en temps réel votre système d’information, dès qu’une opération est réalisée sur votre compte CentralPay. Par exemple, une transaction réussie ou échouée, la création d’une nouvelle souscription (abonnement), un nouveau client (Customer), la réception d’un impayé… 

            Les webhooks sont classés en deux catégories :

            • liés aux Points de Vente « POS »
            • liés aux « Comptes »

            Le serveur distant doit confirmer la bonne réception de la requête en retournant un code 2XX. Dans le cas contraire, une nouvelle requête sera adressée toutes les 5 min pendant 2h.

            Pour s’assurer de la bonne réception des hooks, nous vous conseillons d’utiliser le service Webhook Site. Entrez l’URL donnée par le site et l’adresse mail, et effectuez vos tests. Une fois que vous êtes satisfait des réponses hooks, vous pouvez remplacer l’adresse mail et l’URL par les vôtres et effectuez un nouveau test.

            2/ Liste des Webhooks

            Vous pouvez consulter la liste des webhooks depuis la rubrique Développeurs > Webhook notifications.

            Créer des comptes

            Articles

            • 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

            Informations générales

            Prochainement

            Liste des pays autorisés

            CentralPay et ses partenaires sont autorisés à entrer en relation d’affaires et à ouvrir des comptes de paiement ou de Monnaie Électronique pour des personnes physiques ou morales issues des pays suivants :

            • Espace Économique Européen :
              • Allemagne
              • Autriche
              • Belgique
              • Bulgarie
              • Chypre
              • Croatie
              • Danemark
              • Espagne
              • Estonie
              • Finlande
              • France et Outre mer :
                • Guadeloupe – Guyane française – Martinique – Mayotte – Polynésie française – Réunion – Saint-Barthélemy – Saint-Martin (français) – Saint-Pierre-et-Miquelon – Wallis-et-Futuna
              • Grèce
              • Hongrie
              • Irlande
              • Islande
              • Italie
              • Lettonie
              • Lituanie
              • Liechtenstein
              • Luxembourg
              • Malte
              • Norvège
              • Pays-Bas
              • Pologne
              • Portugal
              • République tchèque
              • Roumanie
              • Slovaquie
              • Slovénie
              • Suède
            • Autre
              • Royaume-Uni
              • Suisse

            Création de compte de paiement

            Prochainement

            Création de compte de ME

            Introduction

            Prochainement

            Schéma de création d’un compte de ME limité

            Schéma de validation KYC d’un compte de ME

            Documents KYC et KYB

            Prochainement

            Conditions générales

            CGU CentralPay

            Prochainement

            Liste des activités interdites

            Prochainement

            Retours, statuts et webhooks

            Prochainement

            BankAccount >

            See more about BankAccount

            Once your identity has been created (Merchant or Customer), you can create a bank account you’ll link to it.

            Merchants must create for their customer the bank account with informations provided by them.

            It must be noted that to become a creditor, you need to have a level STANDARD or more.

            SDD Transaction

            See more about SDD Transaction

            Informations générales

            Articles

            • Contacter CentralPay >
            • À propos de CentralPay
            • Glossaire
            • API et interfaces
            • Entrée en relation
            • Tarifs
            • Logos et visuels
            • Plugins CMS

            Contacter CentralPay >

            CentralPay s’emploie à une croissance saine, permettant à nos utilisateurs d’être quotidiennement accompagnés par des équipes stables et expertes dans leur domaine (conformité, monétique, sécurité…).

            Ainsi, nos services client et support sont joignables du Lundi au Vendredi depuis l’espace « Aide & Support » de votre Portail utilisateur, par email ou par visioconférence sur rendez-vous.

            1/ Avant d’adresser une demande technique

            Quelques points que vous pouvez vérifier préalablement :

            • Authentification : êtes-vous correctement authentifié ?
            • Environnement : êtes-vous sur le bon environnement du Portail utilisateur et de l’API (RCT ou PROD) ?
            • Autorisation : avez-vous les autorisations nécessaires pour réaliser cette opération ? L’erreur HTTP 403 signale une erreur d’autorisation.
            • Erreur HTTP : Consultez la signification des codes d’erreurs HTTP CentralPay. Si vous recevez un code erreur HTTP 500, veuillez contacter immédiatement le support technique.

            2/ Informations à communiquer pour toutes demandes techniques

            • Dates et heures précises des évènements concernés
            • Lien (url) de la page concernée
            • Une ou des capture(s) d’écran, idéalement une vidéo (Cloudapp permet de faire une vidéo d’une page du navigateur Google chrome)
            • Un UUID (ou id) de l’opération concernée et son type (transaction carte, remboursements, demande de paiement…).
            • L’environnement sur lequel vous travaillez (recette RCT ou production PROD)
            • Une description précise du problème rencontré ou de votre interrogation

            Ces informations nous permettrons de vous accompagner et d’analyser votre situation plus efficacement.

            Vos demandes seront traitées de façon prioritaire si elles sont envoyées depuis l’espace « Aide et Support » du Portail utilisateur :

            • Aide et support – Portail utilisateur de RCT
            • Aide et support – Portail utilisateur de PROD

            À propos de CentralPay

            Certifications et agréments

            CentralPay propose des solutions de paiement modulaires permettant l’unification des flux d’encaissement pour compte propre et l’automatisation des reversements pour le compte de tiers. La typologie de services et d’opérations proposées par CentralPay varie en fonction des besoins et de l’activité de ses marchands et partenaires.

            CentralPay est une société indépendante, entièrement propriétaire de sa technologie et de ses agréments. Garantissant la meilleure autonomie possible dans ses choix de partenariats et de son évolution.

            CentralPay est autorisé à entrer en relation d’affaires avec les entreprises enregistrées dans l’Espace Économique Européen.

            ACPR
            (Banque de France)
            Établissement de Monnaie Électronique : CentralPay est un Établissement de Monnaie Électronique régulé par la Banque de France à travers son autorité de contrôle prudentiel et de résolution, l’ACPR (CIB 17138).
            DSP2 : CentralPay est conforme à la 2ème Directive sur les Services de Paiements qui impose notamment des exigences en matière d’authentification forte et de protection des données.
            PCI-DSS : CentralPay obtient annuellement la certification la plus élevée possible en matière de sécurisation des données bancaires et prévention de la fraude ; la norme PCI DSS de niveau 1.
            EBA CLEARING & EPC : En qualité de membre de l’European Payment Council et sa connexion à l’EBA CLEARING, CentralPay intègre les schémas européens des règlements SEPA afin d’émettre et de recevoir des virements et des prélèvements depuis ses propres IBAN et IBAN virtuels.
            SWIFT : Connecté au réseau SWIFT, messagerie la plus acceptée à l’échelle mondiale, CentralPay est en mesure d’échanger des flux financiers internationaux avec la plupart des banques et des institutions financières participantes.
            Visa, Mastercard, Cartes bancaires, American Express : CentralPay est accrédité auprès des grands réseaux de cartes, afin d’optimiser les parcours et la conversion des paiements de tous ses utilisateurs.

            Sécurité et hébergement

            CentralPay exploite ses services depuis deux Datacenter Français. Les équipements et services exploités sur ces deux sites sont entièrement redondés.

            Un hébergement hautement résiliant :

            • Deux Datacenter de conception TIER III basés à Tours
            • Environnement actif/actif entre les deux sites
            • Des engagements contractuels (SLA) de 99.9%
            • Des normes reconnues : ISO27001, PCI-DSS, Code of Conduct

            Une infrastructure garante de la sécurité de vos données :

            • Cœur de réseau allant jusqu’à 10 Gb/s
            • Réseau électrique entièrement redondé | Densité électrique allant de 600 mA à 32 A
            • Système de contrôle d’accès avec double authentification (badge & code personnel)
            • Vidéo-surveillance et alarme reliée 24h/7j à notre télésurveillance
            • Système d’extinction d’incendie par aérosol FirePro

            Engagements de disponibilité

            CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants :

            CPAY API
            Traitement des opérations de paiement
            CPAY PORTALS
            Portails d’inscription, client et utilisateur
            99,9 %
            sur une base annuelle
            99,5 %
            sur une base annuelle
            Le critère d’atteinte de cette garantie correspond à la disponibilité de l’API de paiement.Le critère d’atteinte de cette garantie correspond à la disponibilité des portails de l’environnement de production.

            Évolution de la plateforme

            Les API de CentralPay reposent sur une architecture en micro services apportant un maximum de flexibilité. Notre approche modulaire permet de faire constamment évoluer nos solutions afin d’apporter toujours plus de services et de fonctionnalités.

            Ces évolutions sont réalisées après des analyses d’impact poussées afin de ne pas provoquer de changement dans les intégrations de nos utilisateurs. Dans de très rares cas, celles-ci peuvent appeler des modifications mineures ou plus importantes lorsque des changements de régulations surviennent, comme ce fut le cas pour l’évolution vers la version 2.0 du 3DS par exemple.

            En cas d’évolution de la plateforme ou de modifications des attentes concernant la consommation de ses APIs, CentralPay s’engage à vous prévenir dans un délai correspondant à l’ampleur des actions à mener :

            • Modifications mineures nécessitant aucune action du marchand ou partenaire :
              remise d’information simple
            • Modifications mineures avec action nécessaire par le marchand ou partenaire :
              2 mois minimum de délai de prévenance + accompagnement à la réalisation
            • Modifications majeures avec action nécessaire par le marchand ou partenaire :
              6 mois minimum de délai de prévenance + accompagnement à la réalisation

            À noter que les modifications nécessitant une action de nos marchands ou partenaires sont qualifiées d’exceptionnelles à inexistantes et que toutes les précautions sont prises pour éviter tout impact sur leur activité.

            Principes de réserve

            La réserve représente les sommes qui sont maintenues sur votre compte CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) liés à des opérations de paiement. Ses paramètres sont définis en fonction du profil de risque financier de votre compte, et sont actualisés en fonction de l’analyse de vos R-transactions sur une période suffisante. Les transactions récurrentes par prélèvement SEPA et par carte bancaire sont particulièrement sujets au risque de R-transactions.

            CentralPay possède 3 types de garanties de protection qui peuvent s’appliquer aux marchands, en fonction de la nature de leur contrat :

            1/ Le collatéral

            Il représente la somme fixe versée en début de relation, servant à couvrir le risque de crédit dans le cas où le marchand ne pourrait pas satisfaire ses obligations de remboursement envers ses clients.

            Le détail du Collatéral est visible depuis le Portail utilisateur : Administration Reversements Somme des cautions

            2/ Le pied de compte

            En l’absence de Collatéral, une somme fixe peut être prélevée directement sur les opérations afin de garantir le remboursement des clients en cas de besoin. Le wallet doit donc dépasser la valeur du pied de compte pour autoriser les reversements (payout).

            Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil fixe

            3/ La réserve glissante

            Selon le secteur d’activité et les processus de règlement du compte, une réserve glissante (« rolling réserve » en anglais) peut être automatiquement ouverte. Il s’agit d’une garantie de protection supplémentaire qui permet de maintenir un certain pourcentage du volume d’encaissement marchand sur le compte CentralPay afin de permettre l’initiation de remboursements automatiques en cas de contestation de transaction, de fraude ou encore afin de couvrir d’éventuels frais opérationnels. Cette somme appartient à la trésorerie du marchand, elle est gardée un nombre défini de jours avant d’être libérée (généralement entre 90 à 180 jours).

            Par exemple, le seuil variable de la réserve glissante est de 5% du volume d’encaissement sur 90 jours. Le calcul quotidien du montant de réserve est le suivant : montant des transactions encaissées lors des 90 derniers jours * 5%

            Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil variable

            Glossaire

            Glossaire CentralPay

            DésignationDescription
            Acteur
            Toute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.
            Autorisation carte
            Opération d’interrogation de disponibilité des fonds d’une carte bancaire, puis de blocage en prévision d’une transaction carte (7 jours max).
            Elle est représentée par l’objet « transaction » dans l’API CentralPay.
            Compte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de :
            – Sa contractualisation : grille tarifaire, CGU…
            – Son administration : credentials, profils utilisateurs…
            – Sa configuration : scenario de notification, points de vente, règles d’acceptations
            – Sa conformité : KYC/KYB, accréditations…
            Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.

            Il est représenté par l’objet « merchant » dans l’API CentralPay.
            Compte de paiementCompte ouvert dans un établissement de paiement. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…).

            Il est représenté par l’objet « wallet » dans l’API CentralPay.
            Compte de monnaie électroniqueCompte ouvert dans un établissement de Monnaie Électronique. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distribteur (devises CUSTOM).

            Il est représenté par l’objet « wallet » dans l’API CentralPay.
            Compte de commissionCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler les opérations liées aux frais CentralPay du reste des opérations de paiement.
            Si utilisation par un partenaire, ce compte permet également de collecter ses propres commissions imputées aux transactions de ses sous-marchands.

            Il est représenté par l’objet « wallet » dans l’API CentralPay.
            Compte de réserveCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler ses fonds de réserve Centralpay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de Payout.

            Il est représenté par l’objet « wallet » dans l’API CentralPay.
            Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom de l’Agent. Il est dédié à la réception des fonds du partenaire Agent avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.

            Il est représenté par l’objet « wallet » dans l’API CentralPay.
            Compte CentralisateurLe Compte Centralisateur est un compte technique mise à disposition par CentralPay au Partenaire pour lui permettre de visualiser les instructions transmises technique transmises. Il est donc uniquement dédié à la centralisation des opérations d’un partenaire avant leur transfert vers les comptes de paiement de ses titulaires concernés.
            MarchandPersonne morale ou autoentreprise réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Dispose d’un compte CentralPay en droits « Standard ».
            Partenaire MOBSPPersonne morale, porteur d’un projet impliquant la mise en relation d’un marchand à CentralPay.
            Partenaire DMEPersonne morale déclarée comme Distributeur de Monnaie Électronique par CentralPay auprès de l’ACPR (Banque de France). Porteur d’un projet impliquant la réalisation d’opérations d’émission et d’échange de Monnaie Électronique. Dispose des droits API « DME Partner ».
            Partenaire AgentPersonne morale agréée comme Agent Prestataire de Services de Paiement de CentralPay auprès de l’ACPR (Banque de France). Réalisant notamment des opérations d’encaissement pour compte de tiers à destination de ses Participants. Dispose des droits API « Agent Partner ».
            Sous-marchandParticipant personne morale ou physique agissant à des fins commerciales ou dans le cadre d’une activité LMNP. Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».
            ParticipantPersonne physique ou morale agissant à des fins non commerciales (exemple : chargement d’un compte de paiement ou de monnaie électronique dans le but de participer au projet d’un partenaire). Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».
            IntégrateurPersonne morale, généralement une société de développement informatique, ayant intégré tout ou partie des API CentralPay dans sa propre plateforme technique. Il permet ainsi à ses clients disposant d’un compte CentralPay d’accéder aux services CentralPay dans le contexte de sa plateforme. L’intégrateur ne commercialise pas les services de CentralPay.
            ActeurToute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.
            Utilisateur BOPersonne physique disposant d’un accès à un ou plusieurs comptes CentralPay. Dispose d’un type « Legal » s’il est représentant légal du compte, sinon dispose d’un type « Natural ».
            Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur réalisant les appels API sur un compte CentralPay.
            Client / PayeurClient d’un marchand ou d’un partenaire ayant émis un paiement vers un compte CentralPay. Peut disposer d’un profil client CentralPay ou non.
            Frais CentralPayEnsemble des frais dus à CentralPay déduits des opérations correspondantes, prélevés sur un compte de commission dédié ou facturés en fin de mois.
            Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP …)
            Devise CUSTOMDevise de Monnaie Électronique créée pour un Partenaire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO comme l’EURO par exemple.
            Compte bancaireCompte bancaire externe lié à un compte CentralPay pour réaliser des reversements (payout) ou à un profil client pour réaliser des prélèvements SEPA.

            Il est représenté par l’objet « bankAccount » dans l’API CentralPay.
            Reversement bancaireVirement sortant d’un compte CentralPay vers un compte bancaire lié. Peut-être réalisé par SEPA ou SWIFT.

            Il est représenté par l’objet « payout » dans l’API CentralPay.
            Transaction carteOpération de débit d’une carte bancaire, au crédit d’un compte CentralPay.

            Elle est représentée par l’objet « transaction » dans l’API CentralPay.
            Transaction SCTOpération de réception d’un virement SEPA ou SWIFT, au crédit d’un compte CentralPay.

            Elle est représentée par l’objet « sctTransaction » dans l’API CentralPay.
            Transaction SDDOpération de débit d’un compte bancaire, au crédit d’un compte CentralPay.

            Elle est représentée par l’objet « sddTransaction » dans l’API CentralPay.

            Lexique du paiement

            DésignationDéfinition
            Identifiant de Créancier SEPA (ICS)L’ICS est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).
            Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque ou s’il est multi-bancarisé.
            DébiteurPersonne physique ou morale qui doit une somme d’argent à une autre, appelée créancier, que ce soit dans le cadre de transactions commerciales, de prêts ou d’autres obligations financières.
            CréancierPersonne physique ou morale à qui une somme d’argent est due par une autre, appelée débiteur.
            Les créanciers (banques, entreprises ou particuliers qui ont prêté de l’argent ou fourni des biens ou services à crédit) ont le droit légal de réclamer le paiement de la dette, généralement formalisé par un contrat ou une autre forme d’accord.
            Émetteur (ou donneur d’ordre)Le payeur, c’est-à-dire la personne physique ou morale qui va émettre les fonds d’une transaction financière.
            BénéficiaireLe destinataire, autrement dit la personne physique ou morale qui va percevoir les fonds d’une transaction financière.
            Autorisation bancairePropre aux transactions par carte. Interrogation de l’acquéreur vers la banque du porteur de carte concernant le montant de la transaction. Suite au « code de retour banque », l’acquéreur est en mesure de savoir si la somme demandée est disponible, et si non pourquoi (fonds insuffisants, carte volée…). Une autorisation valide assure au marchand la possibilité de capturer la somme demandée jusqu’à 7 jours.
            Passerelle de paiement (ou Payment Gateway)Technologie agissant comme intermédiaire entre le site du marchand et le réseau de paiement qui permet d’assurer la transmission sécurisée d’informations liées aux paiements. Les passerelles vérifient également la disponibilité des fonds et autorisent les paiements, tout en offrant des fonctionnalités telles que la gestion des paiements récurrents et la détection de la fraude.
            Prestataire de Services de Paiement (ou PSP)Etablissement financier qui fournit des services liés à l’acceptation et au traitement des paiements aux marchands. Ces services incluent également la gestion des comptes de paiements ouverts, la sécurité des transactions ainsi que la conformité réglementaire.
            KYB (Know your Business)Le KYB (Know Your Business) est un protocole d’authentification de l’identité et de la conformité des personnes morales, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).
            Ce processus inclut la collecte et la vérification de documents tels que les statuts de l’entreprise, les informations sur les propriétaires et les dirigeants, les justificatifs d’adresse et les informations financières.
            KYC (Know your Customer)Le KYC (Know Your Customer) est un protocole d’authentification de l’identité et de la conformité des personnes physiques, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).
            Ce processus inclut la collecte et la vérification de documents tels que les pièces d’identité, les preuves de domicile et les informations sur les activités professionnelles.
            Rapprochement d’un virementProcessus de vérification et de correspondance des factures émises enregistrées dans le compte de l’entreprise avec les paiements reçus.
            Ce traitement permet de s’assurer que toutes les transactions prévues ont bien été exécutées, de détecter toute anomalie ou erreur et de maintenir l’exactitude des enregistrements financiers de l’entreprise.
            Frais d’interchangeFrais payés par la banque du marchand (banque acquéreur) à la banque de l’acheteur (banque émettrice) lors d’une transaction par carte, afin de couvrir les coûts et les risques associés à la gestion des paiements. Ils varient en fonction de plusieurs facteurs, tels que le type de carte utilisée, le type de transaction et le pays dans lequel la transaction est effectuée.
            Frais de réseaux carteFrais facturés par les réseaux de cartes (CB, Visa, Mastercard…) aux banques et PSP qui traitent des paiements par carte. Ces frais couvrent les coûts liés à l’utilisation du réseau de paiement, notamment l’infrastructure technologique, la sécurité des transactions et le traitement des paiements.
            Interchange++Somme des commissions prélevées sur les opérations de paiement en ligne du marchand. Il est composé de :
            – Frais d’Interchange ;
            – Frais de réseaux de carte ;
            – Frais de services, facturés par le PSP qui assure le fonctionnement de la plateforme de paiement et des services associés.
            Ce calcul permet de déterminer le coût de revient exact de chacune des transactions.
            Open BankingEncouragé par la DSP2, l’Open Banking est une pratique financière permettant aux banques de partager de manière sécurisée les données financières de leurs clients avec des tiers autorisés, tels que des fintechs, à travers des API (interfaces de programmation applicative). Ce système bancaire ouvert vise à stimuler l’innovation et la concurrence dans le secteur financier, en permettant le développement de nouvelles applications et services qui peuvent offrir des expériences client améliorées, une gestion financière plus efficace et des offres personnalisées.
            Exemple : Initiation de paiement
            Impayé carte (ou chargeback / contestation / litige)Processus par lequel un titulaire de carte signale une transaction suspecte ou non autorisée à l’émetteur, en vue d’un remboursement ou d’une rétrofacturation. Les motifs de contestation peuvent inclure des transactions frauduleuses, des erreurs de facturation, des biens ou des services non reçus ou d’autres problèmes liés à l’utilisation de la carte.
            Rejet de prélèvement SEPAUn rejet de prélèvement se produit lorsqu’une demande de prélèvement est refusée par la banque du débiteur. Les raisons d’un rejet peuvent inclure des fonds insuffisants sur le compte du débiteur, des informations bancaires incorrectes, un mandat de prélèvement expiré ou non valide, ou une opposition au prélèvement de la part du débiteur.
            Lorsqu’un prélèvement est rejeté, les fonds ne sont pas transférés, et le créancier est informé du rejet pour qu’il puisse prendre les mesures appropriées.
            RIB (Relevé d’Identité Bancaire)Document fourni par une banque qui contient les informations nécessaires à l’identification d’un compte bancaire, afin de faciliter les opérations de virement ou de prélèvement. Le RIB inclut le numéro de compte, le code banque, le code guichet, l’IBAN (International Bank Account Number) ainsi que le BIC (Bank Identifier Code) de la banque.
            EEE (Espace Économique Européen)Zone économique composée des 27 pays membres de l’Union Européenne (UE) ainsi que de la Norvège, l’Islande et le Liechtenstein. L’EEE permet aux États membres de participer au marché unique de l’UE, offrant la libre circulation des biens, des services, des capitaux et des personnes.

            API et interfaces

            Utilisation des API CentralPay

            L’API utilise un protocole HTTP pour transporter et renvoyer toutes les réponses formatées en JSON.
            Les API CentralPay sont des API REST permettant de faciliter l’intégration de nos services de paiement.

            CentralPay mets à disposition de ses utilisateurs deux API :

            • L’API « Core Payment » : pour toutes les fonctions liées aux opérations de paiement
            • L’API « Onboarding » : pour toutes les fonctions liées à la création de comptes de paiement et de monnaie électronique (accessibles aux partenaires uniquement)

            1/ Fonctions

            Toutes les fonctions utilisent les types « MIME » : « application/x-www-form-urlencoded » et « multipart/form-data ».

            Les fonctions utilisent les méthodes suivantes :

            • Méthode HTTP POST pour la création ou la mise à jour d’un objet
            • Méthode HTTP GET pour la recherche d’objets
            • Méthode HTTP DELETE pour supprimer des objets

            2/ Authentification

            L’API de CentralPay utilise l’authentification de base HTTP pour l’authentification. Toutes les demandes adressées à notre API doivent être authentifiées (intégrant le nom d’utilisateur et le mot de passe fournis par la plateforme) et doivent être effectuées via HTTPS.

            Vous pouvez récupérer vos identifiants API depuis votre Portail utilisateur : Administration Mon compte Technique
            Cliquez ensuite sur Identifiant API Modifier Générer Copiez le mot de passe API Mettre à jour

            Accès Compte Technique – Portail utilisateur de RCT
            Accès Compte Technique – Portail utilisateur de PROD
            NB : Certains services comme le cardToken requièrent la déclaration de votre MerchantPublicKey, également disponibles depuis les liens présentés ci-dessus.


            MerchantPublicKey

            La MerchantPublicKey permet de s’authentifier sur le service API cardToken qui ne nécessite pas d’autre type d’authentification et permet d’identifier un marchand.
            Cette clé est trouvable dans l’onglet Technique des détails de votre compte sur notre portail utilisateur :


            3/ HTTP Request

            Toujours utiliser HTTP-Header pour les formats de sérialisation (user_agent, …)

            Le Content-Type (application/x-www-form-urlencoded ou multipart/form-data) doit être renseigné pour toutes les requêtes dans l’en-tête.

            L’utilisation du champ « Idempotence-Key » dans l’en-tête HTTP permet d’identifier la requête qui a été envoyée.

            Si la même valeur « Idempotence-Key » est envoyée à nouveau, la demande sera considérée comme déjà traitée et ne sera pas relancée.

            Ce contrôle permet au commerçant d’éviter d’envoyer des entrées en double.

            Cette clé doit être construite avec un hachage « sha1 » des paramètres de la demande (SANS date) concaténés comme ceci :

            Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey)
            NB : La clé "Idempotence-Key" est valable 24 heures.

            4/ HTTP Response

            Dans chaque réponse HTTP, le champ « Request-Id » est inscrit dans l’en-tête HTTP.

            NB : Si vous avez une demande spécifique à envoyer via l'API REST de CentralPay, veuillez contacter le support ou votre référent CentralPay.

            Portail utilisateur

            Le Portail utilisateur est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre compte CentralPay. Les comptes ayant des droits « Partenaires » peuvent également consulter l’activité des comptes de leurs sous-marchands.

            • Accès Portail utilisateur de recette (RCT)
            • Accès Portail utilisateur de production (PROD)

            1/ Fonctionnalités

            Le Portail utilisateur permet notamment :

            • De consulter les opérations comptables du compte
            • De consulter les paiements par carte (« transaction »)
            • De consulter les paiements par virement SEPA (« sctTransaction »)
            • De consulter les paiements par prélèvement SEPA (« sddTransaction »)
            • De créer et de consulter les demandes de paiement (« paymentRequest »)
            • De créer et de paramétrer les profils clients (« customer »)
            • De créer et de paramétrer les points de vente (« pointOfSale »)
            • De paramétrer les notifications Smart Push (templates, scénarios …)
            • D’initier et de gérer les paramètres de reversement (« payout »)
            • De générer des exports et de télécharger les rapports financiers mensuels
            • Pour les comptes « Partenaires » uniquement :
              • De créer et de consulter les demandes d’onboarding (« merchant-enrollment »)
              • De consulter les opérations et de paramétrer les comptes de leurs sous-marchands
            NB : Les comptes ayant des droits "Participant" (sous-marchands/participants de partenaires) peuvent uniquement consulter les opérations dont ils sont bénéficiaires ("transfer") et gérer leurs paramètres de reversement ("payout").

            2/ Les profils utilisateurs du Portail

            Ils représentent des personnes physiques pouvant accéder à un ou plusieurs comptes CentralPay ainsi qu’à tout ou partie des services du Portail utilisateur.

            2.1/ Gestion des profils utilisateurs « Legal » et « Natural »

            • Accès Portail utilisateur de RCT – Gestion des profils utilisateurs BO
            • Accès Portail utilisateur de PROD – Gestion des profils utilisateurs BO

            Lors de la création du compte CentralPay, le responsable ayant réalisé l’onboarding (dirigeant ou personne physique disposant d’une délégation de pouvoir) se voit attribuer un profil utilisateur dit « Legal ». Il dispose ainsi de tous les droits administrateur du compte, mais également de droits légaux permettant de paramétrer les éléments les plus sensibles du compte :

            • Paramètres du compte de paiement :
              • Changement d’IBAN de sortie (payout)
              • Changement des conditions de reversements sur compte bancaire
              • Mise à jour des documents de société
            • Paramètres des utilisateurs :
              • Création de nouveaux utilisateurs « Legal »
              • [à compléter]

            Une fois le compte créé, vous avez la possibilité de créer autant de profils utilisateurs que nécessaire en renseignant leur nom, leur prénom, leur email et leur rôle utilisateur (définissant les droits qu’ils auront sur le compte). Les profils ainsi créés sont nommés « Natural ».

            NB : Si vous disposez de plusieurs comptes CentralPay et que vos équipes doivent avoir accès à ces différents comptes, créez leur profil utilisateur depuis l’un d’entre eux, puis demander à CentralPay d’affecter leur profil à vos autres comptes. Ils bénéficieront ainsi d’un unique centralisé pour tous ces comptes.

            2.2/ Gestion des rôles et droits des profils utilisateurs « Natural »

            • Accès Portail utilisateur de RCT – Gestion des rôles utilisateurs BO
            • Accès Portail utilisateur de PROD – Gestion des rôles utilisateurs BO

            Les droits des profils utilisateurs « Natural » sont régis par leur rôle utilisateur. Le rôle comprend une liste de droits (lecture seule, création, modification, suppression) paramétrables par service (transaction, demandes de paiement, règles d’acceptation…). Ces droits peuvent être différents en fonction des services sélectionnés.

            Les utilisateurs disposant des droits nécessaires peuvent créer des rôles pour chaque équipe de leur entreprise, cependant des rôles préétablis sont disponibles nativement :

            • Standard Admin : Accès complet à toutes les fonctionnalités du Portail utilisateur (excepté les fonctionnalités admin). Attention, ce rôle comprend des accès à des services sensibles comme les règles d’acceptation, les whitelists, les blacklists, les créations d’utilisateurs Portail utilisateur, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API …
            • Standard read only : [à compléter]
            • [à compléter]

            Contactez le service client CentralPay si vous avez besoin d’aide pour la création de rôles personnalisés.

            Quelques précisions importantes concernant les rôles :

            • Les rôles sont cumulables, un utilisateur peut ainsi se voir assigner plusieurs rôles
            • Les droits des rôles sont héritables, ainsi un utilisateur ayant le droit de créer d’autres profils utilisateurs ne pourra affecter qu’un rôle similaire ou inférieur au sien.

            2.3/ Gestion des catégories de point de vente

            • Accès Portail utilisateur de RCT – Gestion des catégories de point de vente
            • Accès Portail utilisateur de PROD – Gestion des catégories de point de vente

            Si vous avez le besoin de limiter l’accès d’utilisateurs à certains points de ventes, vous pouvez créer des catégories, les affecter à vos points de ventes puis les affecter à vos profils utilisateurs.

            Exemple : un utilisateur ayant des droits de création de demandes de paiement ne pourra le faire que sur les points de ventes de sa catégorie. Il ne pourra également visualiser que les demandes de paiement émises via les points de vente de sa catégorie.

            Contactez le service client CentralPay si vous avez besoin d’aide pour la création de catégories de point de vente personnalisées.

            3/ Liste des types d’opérations visibles sur le Portail utilisateur

            Type d’objetValeurFonction
            AUTHORIZATIONDébitAutorisation de blocage d’un montant d’une carte bancaire
            TRANSACTIONCréditTransaction carte
            TRANSACTION_CANCELDébitAnnulation de transaction carte
            REFUNDCréditRemboursement transaction carte
            REFUND_CANCELDébitAnnulation d’un remboursement transaction carte
            DISPUTEDébitImpayé suite à la contestation d’une transaction carte
            DISPUTE_WONCréditAnnulation d’un impayé carte
            TRANSFERDébitTransfert de fonds entre comptes CentralPay
            TRANSFER_CANCELCréditAnnulation transfert en attente
            TRANSFER_REVERSALCréditRetour d’un transfert validé
            PAYOUTDébitVirement sortant du compte CentralPay
            PAYOUT_CANCELCréditAnnulation d’un virement sortant
            PAYOUT_REVERSALCréditRetour d’un virement sortant validé
            SCT_TRANSACTIONCréditVirement entrant
            SCT_TRANSACTION_CANCELDébitAnnulation virement entrant avant son arrivée
            SCT_TRANSACTION_REFUNDDébitAnnulation virement entrant après son arrivée par le marchand
            SCT_TRANSACTION_REVERSALDébitAnnulation virement entrant après son arrivée par Centralpay
            CREDITDébitCrédit sur carte non lié à une transaction
            CREDIT_CANCELCréditAnnulation d’un crédit sur carte
            SDD_TRANSACTIONCréditPrélèvement SEPA d’un compte bancaire externe
            SDD_TRANSACTION_CANCELDébitAnnulation d’un prélèvement d’un compte externe avant son arrivée
            SDD_TRANSACTION_REVERSALDébitRemboursement d’un prélèvement d’un compte externe après son arrivée
            DEPOSITCréditChargement d’une somme sur un compte CentralPay

            Portail client

            Le portail client CentralPay est l’interface des profils clients (Customer). Il permet à vos clients de :

            • consulter leur historique de paiement,
            • d’administrer leurs opérations en cours (mise à jour de leur moyen de paiement par défaut, résiliation d’abonnement…)
            • mais aussi d’interagir avec vous en cas de question concernant une opération (formulaire de contact).

            Ce portail est principalement utilisé pour l’administration des paiements récurrents par les clients. Les équipes conformité de CentralPay peuvent requérir que l’URL de ce portail soit intégrée dans le pied de page ou les conditions générales de votre site marchand.

            Pour s’y connecter, vos clients ont deux options :

            • Via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre compte CentralPay :
              • Accès portail client de RCT : https://test-customer.centralpay.net/home
              • Accès portail client de PROD : https://customer.centralpay.net/home
            • En direct via le lien communiqué dans les emails automatique de création d’abonnement / de paiement fractionné, ou en intégrant le CustomerID visible dans votre Portail utilisateur > Compte > Customer > Détail > CustomerId :
              • Accès portail client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId]
              • Accès portail client de RCT : https://customer.centralpay.net/customer/?uuid=[CustomerId]

            Portail d'inscription

            Le portail d’inscription de CentralPay permet la création d’un Compte CentralPay et d’un compte de paiement : de la création du profil utilisateur, jusqu’à la contractualisation, en passant par la collecte du KYC/KYB. Il interagit avec l’API Onboarding de CentralPay.

            Pour les comptes « Partenaires », il permet donc de créer des sous-marchands facilement depuis un portail hébergé par CentralPay, et d’ainsi éviter une intégration complète de l’API Onboarding.

            Pour adresser un lien d’onboarding à l’un de vos futurs sous-marchands, vous pouvez utiliser le service de création de compte de paiement.

            • Accès au portail d’inscription de RCT
            • Accès au portail d’inscription de PROD

            Entrée en relation

            Étapes d'entrée en relation

            Voici les étapes d’entrée en relation vous permettant d’accéder à la plateforme CentralPay. Notez que pour les partenaires, des étapes complémentaires peuvent être demandées.

            1. Qualification de votre projet
              Les équipes commerciales qualifient votre projet lors d’un échange email ou d’un appel visio : parcours de paiement et moyens de paiement souhaités, méthodes d’intégration possibles, typologie de clients adressé, volumétrie de votre projet…
            2. Acceptation de l’offre commerciale
              Les équipes commerciales vous adressent nos offres commerciales correspondant à vos besoins et votre activité. En retour, elles attendent de votre part le choix de l’offre et un premier accord de principe.
            3. Analyse risque de votre projet
              Votre structure et votre projet sont analysées par nos équipes conformité afin de déterminer si nous pouvons entrer en relation d’affaires, et selon quelles conditions (mesures de gestion du risque financier, de gestion de la fraude…)
            4. Initiation du projet
              Vous recevez les accès à votre environnement de test et aux documentations correspondantes afin de commencer votre intégration CentralPay. Si vous avez souscrit à l’une de nos offres d’accompagnement, une réunion d’initiation du projet est organisée avec vos référents CentralPay (service commercial, service client et service intégration). Cette réunion permet notamment de guider vos équipes techniques dans leur appréciation des API CentralPay, et de prévoir les paramétrages à réaliser sur votre compte (notifications, reversements, profils utilisateurs…).
            5. Création du compte CentralPay
              En parallèle de l’intégration technique, le service client CentralPay adressera un lien d’inscription permettant la création de votre compte au responsable légal de votre structure. Il devra soumettre les informations et les documents justificatifs de votre structure avant de signer électroniquement le contrat CentralPay. Suite à l’inscription, des documents supplémentaires peuvent être demandés par le service conformité de CentralPay.
              • Consulter le contrat cadre de services de paiement
              • En cas de besoin, le responsable légal de votre structure peut désigner un mandataire pour réaliser l’inscription CentralPay et être titulaire du compte CentralPay à sa place. Un modèle de délégation de pouvoir est disponible sur demande.
            6. Mise en production
              Après avoir validé votre compte, votre intégration et le règlement de vos factures en attente, une date de mise en production vous sera demandée. À cette date, votre compte sera débloqué et vous pourrez encaisser vos premières transactions.

            Modèle "Marchand"

            1/ Description du modèle

            Le modèle « Marchand » est adressé aux personnes morales réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment :

            • Le compte CentralPay
            • Les services liés au compte
            • Le service d’encaissement Smart
            • Le service de transaction par carte
            • Le service de transaction par virement
            • Le service de transaction par prélèvement SEPA

            2/ Frais et commissions

            CentralPay vous facture un forfait plateforme fixe ainsi que les frais de service liés aux opérations réalisées sur votre compte. CentralPay prélève ces frais de service sur votre compte de paiement principal ou votre compte de commission dédié. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de virement SEPA vous sera adressée. Les frais mensuels fixes sont eux prélevés mensuellement par prélèvement SEPA, demandés annuellement par virement SEPA ou prélevés sur votre compte selon les conditions de votre contrat.

            Modèle "Intégrateur"

            1/ Description du modèle

            Le modèle « Intégrateur » est adressé aux éditeurs de solutions, souhaitant proposer une intégration technique clé-en-main de CentralPay à ses utilisateurs. Ils peuvent intégrer tout ou partie de la solution Smart Collection, incluant notamment :

            • Le compte CentralPay
            • Les services liés au compte
            • Le service d’encaissement Smart
            • Le service de transaction par carte
            • Le service de transaction par virement
            • Le service de transaction par prélèvement SEPA

            Mais également tout ou partie de la solution Easy Wallet, incluant notamment :

            • Les services de création de comptes
            • Les services de transfert des paiements

            2/ Spécificités lors de l’entrée en relation

            L’intégrateur n’a pas à suivre les étapes d’entrée en relation classique.

            Contrairement aux marchands ou partenaires, un intégrateur ne crée pas de compte CentralPay. Il permet uniquement à ses utilisateurs également marchands de CentralPay d’accéder plus facilement à notre plateforme technique via sa solution. CentralPay contractualise et facture ses marchands en direct, sans intervention de l’intégrateur.

            Le marchand peut ensuite créer des accès API dédiés à l’intégrateur et lui communiquer afin qu’il renseigne son compte CentralPay via son intégration.

            CentralPay est lié avec l’intégrateur par un contrat intégrateur spécifiant les conditions d’utilisation de nos API.

            Modèle "Partenaire"

            1/ Description du modèle

            Le modèle « Partenaire » est adressé aux personnes morales souhaitant piloter des opérations d’encaissement pour compte de tiers (vente de biens ou de services) contractuellement liés. Il permet d’accéder à la solution Smart Collection, incluant notamment :

            • Le compte CentralPay
            • Les services liés au compte
            • Le service d’encaissement Smart
            • Le service de transaction par carte
            • Le service de transaction par virement
            • Le service de transaction par prélèvement SEPA

            Mais également la solution Easy Wallet, incluant notamment :

            • Les services de création de comptes
            • Les services de transfert des paiements

            2/ Les trois types de partenaires

            1. Le Partenaire Techniques
              destiné aux plateformes de ventes de biens ou de services standards (marketplace B2B ou B2C, éditeurs de solutions…) et ne souhaitant pas être impliqué dans la fourniture de services de paiement.
            2. Le Partenaire DME
              destiné aux plateformes de ventes de biens ou de services entre particuliers (marketplace C2C) ou des éditeurs de solutions souhaitant développer des services de porte-monnaie électronique pour leurs particuliers utilisateurs.
              Ce modèle nécessite la déclaration d’un statut de Distributeur de Monnaie Électronique par CentralPay à l’ACPR.
            3. Le Partenaire Agent
              destiné aux plateformes de ventes de biens ou de services souhaitant commercialiser des services de paiement ou des plateformes financières ayant besoin de piloter des transferts de valeurs avancés entre les comptes CentralPay de leurs utilisateurs.
              Ce modèle nécessite la déclaration d’un statut d’Agent Prestataire de Services de Paiement par CentralPay à l’ACPR, et son acceptation par cette dernière.

            2/ Choix du Statut : « Partenaire Technique » ou « Partenaire Agent de Service de Paiement »

            L’encaissement pour compte de tiers est une activité réglementée qui nécessite le statut d’Agent de Service de Paiement dès lors que l’entité participe activement à la fourniture de services de paiement.
            En savoir plus sur les agréments de CentralPay

            Ce statut implique :

            • Des responsabilités importantes, notamment en matière de conformité réglementaire.
            • Des risques spécifiques, tels que le blanchiment d’argent, le financement du terrorisme ou encore des risques financiers.
            • Une supervision étroite par CentralPay et les autorités compétentes.


            Le statut « Partenaire technique », alternative au statut d’Agent de Service de Paiement

            Pour les entreprises souhaitant gérer des opérations pour le compte de tiers sans effectuer elles-mêmes les encaissements, CentralPay propose le statut de « Partenaire Technique ». Ce statut de implique du Partenaire la mise à disposition d’une organisation informatique permettant une gestion technique des paiements et confère l’avantage de :

            • Piloter les demandes d’encaissement et de reversement pour tiers, sans être directement associés à la fourniture des services de paiement.
            • Eviter les contraintes réglementaires liées au statut d’Agent, notamment celles relatives à la gestion des fonds de tiers.

            Rôle du « Partenaire Technique »

            Dans ce cadre, le Partenaire Technique agit pour le compte :

            • D’un Marchand, ou
            • D’un Participant disposant d’un compte de paiement et d’un contrat d’acceptation auprès de CentralPay.

            Rôle et Fonctionnalité du Partenaire Technique :

            • Dispose d’une infrastructure informatique permettant la gestion technique des paiement.
            • Détient des identifiants API spécifiques pour consulter ou transmettre des informations.
            • Accède à un compte centralisateur pour visualiser et suivre les transactions.
            • Possède un compte de commission pour percevoir les frais liés à ses services.
            • Peut également disposer d’un Contrat d’Acceptation pour ses propres encaissements.

            De ce fait, CentralPay reste responsable des opérations de paiement réalisées par son Partenaire Technique. Bien que de nombreuses opérations techniques puissent vous être déléguées, les opérations de paiement seront toujours effectuées par CentralPay.

            Ainsi, pour limiter au maximum votre responsabilité, CentralPay doit avoir une relation directe avec l’ensemble des parties.

            Vos utilisateurs accèdent à leurs comptes CentralPay depuis votre environnement incluant des services API de CentralPay, et peuvent si besoin se connecter à notre Portail utilisateur. Vous disposez de vos propres conditions générales pour cette relation avec vos utilisateurs. Les frais que vous leur facturez pour accéder à vos services doivent être définis dans vos conditions générales.

            Bien qu’en relation directe avec les sous-marchands Participants, CentralPay ne se substitue pas à votre rôle de partenaire. Nous entrons principalement en contact avec les Participants lors de la création de leur compte de paiement et lors des mises à jour règlementaires de leurs documents justificatifs.

            Lorsque vos utilisateurs ouvrent des comptes CentralPay, ils acceptent et signent les conditions générales d’utilisation de CentralPay depuis notre portail d’inscription. Dans le même temps, ils acceptent que vous puissiez effectuer certaines opérations via votre intégration.

            3/ Frais et commissions

            Commissions partenaire : Vous facturez vos services à vos utilisateurs selon vos propres conditions générales. Vous pouvez préciser le montant de vos commissions dans chaque opération réalisée sur la plateforme. CentralPay se chargera de les prélever sur le compte de paiement de votre sous-marchand et de les transférer à votre compte de commission dédié. Notez que CentralPay peut contrôler vos opérations pour s’assurer que la règlementation soit respectée. Par exemple, CentralPay peut vérifier que vos commissions prélevées par le biais de la plateforme correspondent bien à vos conditions générales.

            Frais CentralPay : CentralPay vous facture un forfait plateforme mensuel ainsi que des frais de service lié aux opérations réalisées pour vos sous-marchands. CentralPay prélève ces frais de service sur votre compte de commission. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de chargement par virement SEPA vous sera adressée. Le forfait plateforme sera lui prélevé mensuellement par prélèvement SEPA, demandé annuellement par virement SEPA ou prélevé sur votre compte de commission selon les conditions de votre contrat.

            5/ Spécificités lors de l’entrée en relation

            En plus des étapes d’entrée en relation classique, les partenaires doivent suivre des étapes complémentaires :

            • Signature du contrat partenaire
              Les équipes commerciales de CentralPay vous adresseront un document à signer électroniquement avant l’étape d’initiation de votre projet.
            • Déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement auprès de l’ORIAS (partenaire MOBSP seulement)
            • Déclaration en tant que Distributeur de Monnaie Électronique à l’ACPR (partenaires DME seulement)
            • Demande du statut d’Agent Prestataire de Services de Paiement à l’ACPR (partenaires Agent seulement)

            6/ Spécificités liées au suivi de l’activité

            Il est important de noter que des réglementations s’appliquent à toute entité souhaitant devenir Agent ou DME d’un établissement financier, et que ces réglementations doivent être scrupuleusement respectées.

            6.1/ Formation LCB-FT

            À ce titre, une formation de deux (2) heures en matière de LCB-FT (lutte contre le blanchiment de capitaux et de financement du terrorisme) est dispensée par CENTRALPAY à tout nouvel agent ou DME, dans un délai de trois (3) mois à compter du début de son activité en tant que tel :

            • Cette formation s’adresse aux dirigeants et aux membres du personnel du partenaire qui participent à la mise en œuvre des prestations externalisées.
            • Le partenaire devra désigner un maximum de 10 personnes pour participer à la formation.
            • La formation aura lieu à distance.
            • À l’issue de la formation, CENTRALPAY remettra aux participants à la formation un support de formation
            • CENTRALPAY s’engage à informer le partenaire de toutes modifications qui interviendraient en matière de LCB-FT, afin que le partenaire puisse procéder à l’actualisation des connaissances de ses salariés.
            • Le partenaire s’engage à assurer la formation de tout nouvel employé.
            • CENTRALPAY pourra exiger que le personnel du partenaire suive des formations supplémentaires tout au long de la relation d’affaires en cas d’insuffisance constatée.

            6.2/ Reporting

            Par leur statut régulé, les partenaires DME et Agent sont soumis au contrôle de leur établissement et ont un devoir de reporting régulier envers ce dernier.

            Pour permettre à CENTRALPAY de contrôler les activités externalisées, le partenaire s’engage à communiquer à CENTRALPAY les reportings suivants :

            • Un reporting trimestriel sur la gestion des réclamations :
              • date de réception
              • date de traitement
              • nature de la réclamation
              • solution apportée
              • date de résolution
            • Un reporting trimestriel sur la gestion des remboursements (réalisés hors de la plateforme CentralPay) :
              • % de remboursement,
              • délai moyen de remboursement
              • avec une extraction des remboursements effectués
            • Un reporting trimestriel sur la gestion des incidents :
              • En sus des déclarations d’incidents constatés au fil de l’eau

            Lors de votre entrée en relation, CentralPay vous transmettra une liste et une trame de reporting que vous devrez alimenter et renvoyer périodiquement à CentralPay à partir de votre date de mise en production. Cette trame a été conçue pour simplifier au maximum les tâches de reporting qui vous incombent.

            6.3/ Manquement contractuel

            En cas de non-réalisation ou retard significatif vis-à-vis des devoirs de formation ou de reporting du partenaire, CentralPay se réserve le droit d’interrompre ou de résilier le contrat de partenaire.

            Déclaration partenaires MOBSP

            Introduction

            Avant de lire cette page, veuillez consulter la rubrique dédiée à l’entrée en relation pour les partenaires.

            Les partenaires CentralPay basés en France opèrent avec le statut d’intermédiaires en opérations de banque et en service de paiement (IOBSP), plus précisément en tant que Mandataires en Opérations de Banques et Services de Paiement (MOBSP).

            Pour devenir partenaire MOBSP de CentralPay, vous devez vous déclarer à l’ORIAS. CentralPay devra ensuite vous déclarer en tant que son mandataire. Votre partie peut être réalisée en quelques heures, celle de CentralPay prend quelques jours. L’ORIAS peut quant à elle prendre jusqu’à deux mois pour examiner votre demande.

            Bien que ce processus vous incombe, CentralPay peut vous assister en cas de besoin. Contactez notre service client en cas de besoin.

            1/ Préparez vos données

            1.1 Obtenez votre attestation de mandat

            Après avoir signé votre contrat de partenariat avec CentralPay :

            1. Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN.
            2. CentralPay vous répondra avec votre attestation de mandat. Vous aurez besoin de ce document pour l’étape 3.3.

            1.2 Préparez vos documents justificatifs

            Lors de l’étape 3.3 du processus d’inscription, vous devrez fournir les pièces justificatives suivantes :

            • KBIS datant de moins de trois mois
            • Justificatif d’aptitude professionnelle : diplôme dans une école de commerce ou de gestion agréée ou certification RNCP (NCF 122, 128, 313 ou 314, niveaux 7 à 5) ou reconnaissance par le CIEP pour les diplômes étrangers.

            Si vous ne disposez pas d’un justificatif d’aptitude professionnelle accepté par l’Orias, envoyez un email à notre service client. CentralPay peut vous aider à suivre la formation nécessaire.

            Voir l’image ci-jointe, faisant référence à la catégorie Niveau III – IOBSP (niveau 3).

            2/ Créez votre compte ORIAS

            2.1 Accéder au formulaire

            1. Allez sur le site de l’ORIAS.
            2. Faites défiler vers le bas jusqu’à voir la section Comment ça marche ?
            3. Cliquez sur S’inscrire.

            Vous serez redirigé vers le formulaire d’inscription.

            2.2 Saisir les informations

            1. Entrez votre numéro SIREN
            2. Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique.
            3. Saisissez les informations de votre représentant légal.
            4. Saisissez les coordonnées de votre représentant légal.
            5. Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un.
            6. Entrez l’adresse de votre entreprise.
            7. Vérifiez toutes les informations que vous avez saisies, puis cliquez sur Valider.

            2.3 Connectez-vous à votre compte ORIAS

            Vérifiez votre boîte de réception pour un email de l’ORIAS (no-reply-orias@orias.fr). L’email contient votre identifiant et un mot de passe provisoire.

            1. Retournez sur le site de l’ORIAS
            2. Cliquez sur Connexion / Login
            3. Saisissez votre identifiant et votre mot de passe provisoire depuis votre email
            4. Suivez les instructions sur votre écran pour modifier votre mot de passe, puis enregistrez-le

            Après avoir enregistré votre nouveau mot de passe, vous serez redirigé vers votre espace compte ORIAS.

            3/ Réalisez une nouvelle demande d’inscription

            3.1 Enregistrez votre entreprise

            1. Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît
            2. Choisissez Activité IOB
            3. Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP)
            4. Cliquez sur Soumettre

            3.2 Fournissez des informations complémentaires

            1. Sélectionnez la case précisant que vous complétez votre inscription à titre de Mandataire non exclusif en opérations de banque et en services de paiement
              • Si un autre type d’inscription est spécifié, utilisez le bouton Précédent de votre navigateur pour revenir à la page précédente et réessayez.
            2. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds
            3. Pour la deuxième question, choisissez la réponse : Accessoire, indiquant à l’ORIAS que les services financiers ne sont pas l’activité principale de votre entreprise.
            4. Pour la troisième question, choisissez la réponse : Oui, indiquant à l’ORIAS que votre entreprise propose du crédit (ou d’autres services bancaires et de paiement) uniquement à titre de service secondaire.
            5. Cliquez sur Aller à l’étape « Pièces justificatives »

            3.3 Fournissez vos documents justificatifs

            1. Soumettez votre KBIS
            2. Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1
            3. Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2.
            4. Cliquez sur Aller à l’étape suivante

            3.4 Payez votre inscription

            La dernière étape consiste à payer votre inscription.

            1. Notez que vous payez pour l’enregistrement de Mandataire non exclusif en opérations de banque et en services de paiement. Sans payer les frais, votre inscription ne peut être finalisée.
            2. Choisissez de payer avec votre Carte bancaire, ou cliquez sur Choisir un autre mode de paiement pour payer par Virement (virement) ou Chèque (chèque).
            3. Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu.
            4. Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription.
            5. Vous recevrez votre numéro d’inscription ORIAS par e-mail, confirmant que votre inscription est terminée. Envoyez ce numéro au service client de CentralPay par email.

            4/ CentralPay vous enregistre en tant que MOBSP

            Après avoir envoyé à CentralPay votre numéro d’enregistrement Orias par email, CentralPay vous enregistre en tant que Mandataire non exclusif en opérations de banque et en services de paiement (MOBSP).

            5/ L’ORIAS examine votre candidature

            L’ORIAS examine vos documents et votre candidature pour s’assurer que votre dossier est entièrement conforme. L’ORIAS vous informera de sa décision finale par email. Si elle est approuvée, l’e-mail contient également la date à laquelle votre statut de MOBSP prendra effet.

            N’hésitez pas à contacter l’ORIAS par téléphone (09.69.32.59.73) ou par email (contact@orias.fr) si vous ne recevez pas à temps les informations concernant votre candidature.

            6/ Mettez à jour vos mentions légales

            Après avoir reçu l’agrément de l’ORIAS et être devenu MOBSP, assurez-vous de mettre à jour vos mentions légales. Ajoutez quelque chose de similaire à l’exemple suivant au pied de page de votre site Web, dans votre page de mentions légales et partout où vous distribuez ou vendez des services de paiement.

            [Raison sociale], société immatriculée au RCS de [ville d’enregistrement] sous le numéro [numéro RCS], et inscrite au Registre unique des Intermédiaires en Assurance, Banque et Finance sous le numéro d’immatriculation [numéro d’enregistrement ORIAS] en qualité de Mandataire non exclusif en opérations de banque et en services de paiement.

            Déclaration partenaires Agent

            1/ Introduction

            L’ACPR (Autorité de contrôle Prudentiel et de Résolution) est un organe de la Banque de France. En tant que régulateur, elle seule détermine la validation ou non des Agents d’un Établissement comme CentralPay. L’ACPR traite uniquement avec ses Établissements agréés, le futur Agent ne peut donc pas échanger en direct avec elle.

            La déclaration d’un Agent Prestataire de Services de Paiement se déroule en trois étapes :

            • Le montage et la soumission du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur Agent,
            • Le traitement des demandes de l’ACPR concernant le dossier : réalisé par CentralPay avec l’aide de son futur Agent,
            • La décision d’acceptation : émise par l’ACPR à CentralPay.

            2/ Responsabilités de l’Agent

            CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment :

            • L’activité de votre sous-marchand ;
            • La réalité économique de l’opération ;
            • La lutte contre la fraude.

            Les Établissements régulés qui font appel à des Agents restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place.

            Un statut d’agent passe par :

            • La contractualisation d’un contrat Cadre d’Agent de paiement qui définit les relations entre les parties ;
            • Des CGU vendeurs.

            Dans le cas où un agent internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC.

            3/ Devenir Partenaire Agent CentralPay

            Devenir Agent de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs mois.

            Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs.

            3.1/ Résumé des étapes

            1. Compréhension du modèle
              • Explication des services apportés par le partenaire
              • Définition de son modèle d’affaires
              • Validation par les services Juridique et Conformité de CentralPay
            2. Offre commerciale
              • Présentation
            3. Validation
              • Validation du Partenaire par les services Juridique et Conformité de CentralPay
              • Validation de la proposition commerciale et des conditions tarifaires par le Partenaire
            4. Test & Intégration
              • Mise en place de la sandbox
              • Réunion de lancement de projet avec l’équipe technique
              • Phase d’intégration technique
            5. Instruction du dossier ACPR
              • Collecte des éléments nécessaires à la constitution du dossier
              • Préparation du dossier d’agrément d’Agent
              • Présentation du dossier de déclaration de l’agent auprès de l’ACPR
            6. Mise en production
              • Validation en environnement de test (environnement de recette)
              • Mise en production

            3.2/ Pièces à fournir à CentralPay

            1. Pré-constitution du dossier :
              • CGU service de paiement
              • Définition des activités régulées utilisées par le Partenaire, description des services attachés aux prestations régulées, modèle d’affaires
              • Organigramme de la société ou du groupe le cas échéant avec son effectif réparti par service
              • Structure de l’actionnariat
              • Flux prévisionnels qui seront confiés à CentralPay au cours des 3 prochaines années
              • Nombre d’enrôlements prévisionnels au cours des 3 prochaines années 
              • Reprise éventuelle de KYC existant dans le cadre d’une migration
              • Préparation du contrat d’Agent.
            1. Déclaration de l’agent auprès du régulateur :
              • Signature du contrat d’Agent ;
              • Le Service Juridique CentralPay se charge de constituer le dossier de déclaration et collecte les pièces suivantes :
                • Kbis de moins de 3 mois de la société et des sociétés gérantes le cas échéant ;
                • Statuts à jour de la société et des sociétés gérantes le cas échéant datés et signés par un représentant légal ;
                • Pièce d’identité en couleur des dirigeants ;
                • CV des dirigeants daté et signé ;
                • Casier judiciaire des dirigeants ;
                • Déclaration de non-condamnation des dirigeants ;
                • Répartition de la détention de parts de la société ;
                • Kbis des personnes morales actionnaires le cas échéant et Organigramme Groupe si applicable ;
                • PV d’AG si des changements juridiques ont eu lieu récemment (fusion, actif inférieur à la moitié du capital social, changement de direction, etc.) ;
                • Peuvent être demandés également lors de l’instruction :
                  • Derniers bilans et compte de résultats ;
                  • États financiers de l’année en cours et/ou de l’année venant de s’écouler ;
                  • Toute pièce jugée utile à la demande du régulateur.

            3.3/ Délais d’instruction

            Une fois la totalité des pièces collectées, le service Juridique instruit le dossier dans un délai d’environ 2 semaines.

            L’ACPR dispose ensuite d’un délai de deux mois pour répondre, les premières questions arrivent généralement sous 30 jours.

            L’ACPR adresse en général des questions complémentaires et/ou des demandes de documents complémentaires en fonction de la situation et/ou de l’activité de votre société.

            3.4/ Instruction finalisée et agent déclaré

            Une fois le dossier validé par l’ACPR, l’Agent est réputé pouvoir démarrer son activité avec CentralPay.

            Votre société peut donc désormais commencer à encaisser via CentralPay et faire ouvrir des comptes de paiement à ses clients.

            À l’issue de l’instruction par le régulateur et l’Agent validé, il est référencé dans les registres de l’ACPR et reçoit un numéro d’enregistrement qu’il doit utiliser dans ses communications et ses CGU.

            3.5/ Particularités d’un agent spécialisé dans le domaine du télécom

            Un agent travaillant dans le domaine du télécom, c’est-à-dire réalisant des encaissements via des appels sur des numéros surtaxés, se doit de produire un récapitulatif des minutes de téléphone réalisées sous chaque opérateur téléphonique.

            Lors de la réception du virement de l’opérateur téléphonique chez CentralPay, ce récapitulatif doit être fourni à CentralPay. De plus, le calcul de la répartition des opérations devant être envoyées à chaque marchand via CentralPay doit également être envoyé au Service Conformité.

            Le Service Conformité de CentralPay consigne ces informations et s’assure que les marchands ont bien été crédités de leurs encaissements.

            Déclaration partenaires DME

            1/ Introduction

            Les Établissements émetteurs de monnaie électronique comme CentralPay peuvent mandater des Distributeurs de Monnaie Électronique (DME) afin de collecter des fonds et d’assurer les échanges permettant l’achat et le remboursement de ME dans un réseau de participants défini.

            La déclaration d’un Distributeur de Monnaie Électronique se déroule en deux étapes :

            • Le montage du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur DME,
            • L’instruction du dossier à l’ACPR : réalisé par CentralPay. Elle ne nécessite pas de validation particulière de l’ACPR.

            2/ Responsabilité du partenaire DME

            CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment :

            • La réalité économique de l’opération ;
            • La lutte contre la fraude.

            Les Établissements régulés qui font appel à des distributeurs restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place.

            Un statut de Distributeur de Monnaie Electronique passe par :

            • La contractualisation d’un contrat Cadre de Distribution de Monnaie Électronique qui définit les relations entre les parties ;
            • Des CGU d’utilisation de Monnaie Électronique.

            Dans le cas où un DME internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC ou réalise des interfaces de gestion qui ne permettrait pas à CentralPay d’assurer l’exécution du service sans le concours du PSEE.

            3/ Devenir partenaire DME

            Devenir Distributeur de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs semaines.

            Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs.

            3.1/ Résumé des étapes

            1. Compréhension du modèle
              • Explication des services apportés par le partenaire
              • Définition de son modèle d’affaires
              • Validation par le service Risque & Conformité de CentralPay
            2. Offre Commerciale
              • Présentation
            3. Validation
              • Validation du Partenaire par le service Risque & Conformité de CentralPay
              • Validation de la proposition commerciale et des conditions tarifaires par le Partenaire
            4. Test & Intégration
              • Mise en place de la sandbox
              • Réunion de lancement de projet avec l’équipe technique
              • Phase d’intégration technique
            5. Instruction du dossier ACPR
              • Collecte des éléments nécessaires à la constitution du dossier
              • Préparation du dossier
              • Présentation du dossier
            6. Mise en production
              • Validation de la recette
              • Mise en production

            3.2/ Pièces à fournir à CentralPay

            Prochainement

            Tarifs

            Offres commerciales

            CentralPay propose 2 modèles d’offres commerciales :

            • Les offres Starter et Medium, intégrant un forfait mensuel fixe et des frais par transaction simplifiés (ou « blind rate »)
            • Les offres Major, intégrant également un forfait mensuel fixe, mais avec des frais par transaction plus détaillés (ou « interchange++ »)

            Dans ces deux modèles, les offres CentralPay intègrent les frais d’interchange et de réseaux cartes qui sont facturés par les banques. Vous n’avez donc aucun surcoût à prévoir.

            Consultez le détail des offres CentralPay

            Frais d'interchange et réseaux cartes

            Introduction

            L’interchange correspond à la valeur chargée par l’établissement émetteur d’une carte de paiement (la banque de votre client) à l’établissement acquéreur (la banque du marchand).

            Les frais de réseaux carte (ou « Card Scheme Fees ») correspondent aux frais pris par les réseaux carte (Visa, Mastercard, CB) pour faire fonctionner le service.

            Des termes ont été définis pour désigner l’assemblage de ces frais :

            • Interchange+
              Les frais d’Interchange + les frais des réseaux cartes (card scheme fees).
            • Interchange++
              Les frais d’Interchange + les frais des réseaux cartes (card scheme fees) + les frais de service de l’établissement (CentralPay)

            Toutes les offres commerciales de CentralPay intègrent les frais d’Interchange+ ainsi que nos propres frais de service, vous n’avez donc aucun frais bancaire supplémentaire à prévoir pour réaliser vos transactions. Sauf mention contraire, des frais minimum de perception de 0.15 € sont prélevés sur l’IC++.

            1/ Frais d’interchange et réseaux carte (E-commerce)

            Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)
            Carte de débit ou prépayé
            CB, VISA, MASTERCARD
            0,2 %1,15 %
            Carte de crédit ou débit différé
            CB, VISA, MASTERCARD
            0,3 %1,5 %
            Carte professionnelle
            CB
            0,9 %/
            Carte professionnelle
            VISA
            1,45 %2 %
            Carte professionnelle
            MASTERCARD
            1,45 %2 %
            Toutes cartes
            AMERICAN EXPRESS
            AucunAucun
            Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)
            Réseau CB (Cartes bancaires)0,015 %/
            Réseau VISA0,070 %0,70 %
            Réseau MASTERCARD0,171 %0,951 %
            Réseau AMERICAN EXPRESS1,600 %2,400 %

            2/ Frais d’interchange et réseaux carte (paiement de proximité)

            Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)
            Carte de débit ou prépayé
            CB, VISA, MASTERCARD
            0,2 %1,15 %
            Carte de crédit ou débit différé
            CB, VISA, MASTERCARD
            0,3 %1,5 %
            Carte professionnelle
            CB
            0,9 %/
            Carte professionnelle
            VISA
            1,45 %2 %
            Carte professionnelle
            MASTERCARD
            1,45 %2 %
            Toutes cartes
            AMERICAN EXPRESS
            AucunAucun
            Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)
            Réseau CB (Cartes bancaires)0,015 %/
            Réseau VISA0,014 %0,322 %
            Réseau MASTERCARD0,061 %0,240 %
            Réseau AMERICAN EXPRESS1,600 %2,400 %

            Forfaits d'accompagnement

            Les forfaits d’accompagnement permettent une mise en service rapide, guidée par nos équipes support intégration (SI) et service client (SC). Les heures d’accompagnement vous permettent de déléguer certains paramétrages de votre compte et de solliciter des échanges visio : avec le SI pour les sujets techniques, avec le SC pour ceux d’ordre administratif / fonctionnels.

            1/ Accompagnement à l’intégration Smart Collection

            Accompagnement à l’intégration, au choixFrais (HT)
            En autonomie
            2 heures d’accompagnement équipe Service Client
            Inclus
            (offres Starter, Medium et Major Company)
            Accompagnement standard
            Analyse technique du projet par équipe Service Intégration
            2 heures d’accompagnement équipe Service Intégration
            2 heures d’accompagnement équipe Service Client
            490 €
            Accompagnement avancé
            Analyse technique et suivi par Responsable Service Intégration dédié
            3 heures d’accompagnement par Responsable Service Intégration dédié
            3 heures d’accompagnement par Responsable Service Client dédié
            1 990 €

            2/ Accompagnement à l’intégration Smart Collection et Easy Wallet

            Accompagnement à l’intégration, au choixFrais (HT)
            En autonomie
            3 heures d’accompagnement équipe Service Client
            Inclus
            (offres Medium et Major Partner)
            Accompagnement standard
            Analyse technique du projet par équipe Service Intégration
            5 heures d’accompagnement équipe Service Intégration
            5 heures d’accompagnement équipe Service Client
            990 €
            Accompagnement avancé
            Analyse technique et suivi par Responsable Service Intégration dédié
            10 heures d’accompagnement par Responsable Service Intégration dédié
            10 heures d’accompagnement par Responsable Service Client dédié
            2 990 €

            3/ Forfaits d’accompagnement horaire par le service client

            Accompagnement horaire au choix, utilisable pour déléguer des paramétrages de comptes, des interventions avec tests, des analyses spécifiques…Frais (HT)
            Forfait d’accompagnement 2 h
            2 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
            250 €
            Forfait d’accompagnement 5 h
            5 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
            490 €
            Forfait d’accompagnement 10 h
            10 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
            890 €

            Logos et visuels

            Logos CentralPay

            Logo CentralPay SVG
            Logo CentralPay blanc SVG
            Logo CentralPay PNG
            Logo CentralPay blanc PNG

            Logos PaySecure

            Logos

            Logo PaySecure classique PNG
            Logo PaySecure blanc PNG
            Logo PaySecure classique JPG

            Visuels de réassurance (FR/EN)

            Réassurance – fond blanc
            Réassurance – fond transparent
            Réassurance – blanc
            Réassurance – fond blanc
            Réassurance – fond transparent
            Réassurance – blanc

            Visuels de réassurance (FR/EN)

            Intégrez un de ces visuels en dessous de votre formulaire de paiement CustomForm, ou simplement dans le footer de votre site afin de rassurer vos clients concernant la sécurité de leurs données de paiement.

            Réassurance 1 – classique
            Réassurance 1 – fond blanc
            Réassurance 1 – blanc
            Réassurance 2 – classique
            Réassurance 2 – fond blanc
            Réassurance 2 – blanc
            Réassurance 3 – classique
            Réassurance 3 – fond blanc
            Réassurance 3 – blanc
            Réassurance 4 – Avec Amex
            Réassurance 4 – Amex fond blanc
            Réassurance 4 – Amex blanc
            Réassurance 5 – Avec Amex
            Réassurance 5 – Amex fond blanc
            Réassurance 5 – Amex blanc
            Réassurance 6 – Avec Amex
            Réassurance 6 – Amex fond blanc
            Réassurance 6 – Amex blanc

            Réassurance 1 – classique
            Réassurance 1 – fond blanc
            Réassurance 1 – blanc
            Réassurance 2 – classique
            Réassurance 2 – fond blanc
            Réassurance 2 – blanc
            Réassurance 3 – classique
            Réassurance 3 – fond blanc
            Réassurance 3 – blanc
            Réassurance 4 – Avec Amex
            Réassurance 4 – Amex fond blanc
            Réassurance 4 – Amex blanc
            Réassurance 5 – Avec Amex
            Réassurance 5 – Amex fond blanc
            Réassurance 5 – Amex blanc
            Réassurance 6 – Avec Amex
            Réassurance 6 – Amex fond blanc
            Réassurance 6 – Amex blanc

            Plugins CMS

            WooCommerce

            Ce guide vous accompagne dans l’installation, la configuration et l’utilisation du plugin de paiement CentralPay pour WooCommerce (WordPress).

            Important : la plateforme CentralPay prend en charge différents moyens de paiement (carte, virement SEPA, prélèvement SEPA, initiation de paiement) et plusieurs modes de paiement (paiement en une fois, abonnement, en plusieurs fois, etc.).
            👉 Ce plugin WooCommerce permet uniquement l’encaissement de transactions cartes unitaires.

            Si vous souhaitez demander une évolution du plugin, rendez-vous sur https://support.centralpay.com > Support & Paramétrage > Suggérer une nouvelle fonctionnalité

            1. 📦 Téléchargement du plugin

            Téléchargez l’archive ZIP du plugin CentralPay en cliquant ici.

            Vous ne devez pas la décompresser manuellement.

            2. 🔧 Installation sur WordPress

            1. Connectez-vous à votre interface d’administration WordPress.
            2. Allez dans Extensions > Ajouter.
            3. Cliquez sur Téléverser une extension.
            4. Sélectionnez le fichier centralpay220.zip et cliquez sur Installer maintenant.
            5. Une fois l’installation terminée, cliquez sur Activer l’extension.

            3. ⚙️ Configuration du module

            1. Allez dans WooCommerce > Réglages > Paiements.
            2. Cliquez sur CentralPay pour accéder à la configuration.
            3. Renseignez les champs suivants puis cliquez sur Enregistrer les modifications :
            ChampDescriptionAccès à la donnée
            Identifiant marchandIl s’agit de votre Merchant Public Key. Ne pas confondre avec le Merchant UUID.Portail utilisateur CentralPay > Administration > Technique > Copier « Merchant Public Key »
            Login APIIdentifiant de votre utilisateur API CentralpayPortail utilisateur CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »
            Mot de passe APIMot de passe de votre utilisateur API CentralPayPortail utilisateur CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Modifier > Générer un mot de passe > Copier le mot de passe > cliquer sur « Mettre à jour »
            ID du point de venteIdentifiant unique de votre point de vente (UUID)Portail utilisateur CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concerné
            Mode test / productionActivez le mode test si vous souhaitez utiliser l’environnement sandbox (les logins et identifiants doivent être ceux de votre compte de test CentralPay)./
            URL de redirectionRedirige vos clients vers une page personnalisée après paiement sur notre formulaire.Renseignez l’URL de votre page de confirmation de paiement.

              4. 🧪 Mode test

              • Activez le mode test dans la configuration (attention, vous devez disposer d’un compte de test CentralPay et renseigner les identifiants de ce compte de test).
              • Utilisez les cartes de test fournies par CentralPay pour simuler des paiements.
              • Vérifiez le bon fonctionnement :
                • du formulaire de paiement,
                • des redirections,
                • des statuts de commande.

              5. 🧾 Suivi des paiements

              • Retrouvez tous vos paiements dans WooCommerce > Commandes.
              • Le plugin CentralPay met à jour automatiquement les statuts des commandes.
              • En cas de besoin, un journal des événements est disponible dans le fichier error.log du plugin.

              6. 🌐 Langues disponibles

              Le plugin est disponible en :

              • 🇫🇷 Français
              • 🇬🇧 Anglais

              Vous pouvez modifier ou ajouter vos propres traductions via les fichiers .po présents dans le dossier /languages, ou en utilisant un plugin comme Loco Translate.

              7. 🧹 Désinstallation

              Pour désinstaller le plugin :

              • Désactivez-le via le menu des extensions.
              • Cliquez sur Supprimer.
              • Le script de désinstallation supprimera les paramètres du plugin.

              8. ❓ Support

              Pour toute question ou assistance, contactez notre support technique depuis https://support.centralpay.com
              Merci d’indiquer votre identifiant marchand, l’URL de votre site et le plus de détails possible sur votre besoin.

              Informations générales

              1/ Les deux modes d’intégration de Smart Collection

              La solution Smart Collection permet d’encaisser des paiements depuis divers moyens de paiement.

              Vous pouvez au choix :

              • créer et intégrer vos propres parcours de paiement (intégration CUSTOM), en consommant les services API de chaque moyen de paiement :
                • Transaction par carte
                • Transaction par virement
                • Transaction par prélèvement SEPA
              • utiliser nos parcours de demande de paiement sécurisés (intégration SMART), grâce à notre service dédié :
                • Demandes de paiement (PaymentRequest)

              NB : si vous choisissez l’intégration SMART, certaines fonctionnalités spécifiques comme les R-transactions, la gestion des libellés bancaires, la gestion des IBAN Virtuels… sont présentées dans la documentation dans les rubriques CUSTOM dédiées à chaque moyen de paiement.

              2/ À propos de l’intégration SMART

              La demande de paiement permet de générer un lien de paiement menant à une page de paiement hébergée par CentralPay. Votre client peut ainsi vous régler selon les conditions de règlement que vous avez déterminé (moyens et modes de paiement autorisés, délais de règlement …). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé…).

              La demande de paiement doit être alimenté des conditions de règlement de votre panier ou de votre facture :

              • Montant à régler
              • Moyens de paiement acceptés (carte, virement, prélèvement, initiation de paiement)
              • Modes de paiement acceptés (unitaire, par abonnement, paiement fractionné…)
              • Référence de commande
              • Description de commande
              • Coordonnés clients
              • Délais de règlement autorisé
              • Délais d’expiration du lien
              • …

              Le lien de paiement peut être adressé à vos clients depuis :

              • vos tunnels de vente ou interfaces web,
              • vos outils de communications (email, sms, courriers via QR code…)
              • le service de notifications email / sms de CentralPay

              La page de paiement permet ensuite au client de réaliser sa ou ses transactions :

              • Visualisation des informations de la demande de paiement
              • Sélection du moyen ou mode de paiement
              • Renseignement des données clients
              • Renseignement des coordonnées de paiement

              Transférer des paiements

              Articles

              • Informations générales
              • Transfert indépendant
              • Transfert via transaction
              • Transfert via demande de paiement
              • Reversement bancaire pour tiers
              • Retours, statuts et webhooks

              Informations générales

              1/ Introduction

              La solution EasyWallet permet aux plateformes d’encaisser des paiements et de les transférer à des tiers tout en respectant la réglementation européenne.

              Pour ce faire, le module comprend deux principaux services :

              • L’inscription : permettant la création de comptes de paiement et de monnaie électronique pour les marchands ou participants d’une plateforme.
              • Le transfert : permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique.

              Selon le modèle de partenariat CentralPay, les possibilités d’inscription et de transferts sont différentes.

              2/ Les types de transferts

              Selon le modèle de partenariat établi avec CentralPay, le transfert des paiements est réalisé différemment :

              • Partenaires MOBSP : vous devez utiliser le service de transfert via transaction
              • Agents PSP : vous pouvez utiliser le service de transfert libre ou transfert via transaction
              • Distributeurs de ME : vous devez utiliser le service de transfert via transaction pour la phase d’encaissement en devise. Ensuite, vous pouvez utiliser le service de transfert libre uniquement pour mouvementer la monnaie électronique entre les comptes de vos participants.

              Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay.

              Transfert indépendant

              Transfert indépendant

              L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits « Plateforme ».

              Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte « Plateforme » qui initie les transactions depuis l’API vers un compte « Basic » connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique.

              Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement.

              Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net.

              Les fonds issus de transfers issus d’une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2.

              Exemple 1 :

              Amount = 100
              Fee = 30

              Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100.

              Exemple 2 :

              Amount = 70
              Fee = 0

              Le détenteur du compte de destination recevra 70 sans indication de frais.

              Type de transfer

              1 Mode Asynchrone Manuel (valable uniquement pour les Agents)

              La « Plateforme » réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH.

              Exemple :

              POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout).

              Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles.

              2 Mode synchrone Auto

              Le compte « Plateforme » réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur.

              Exemple :

              POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la  devise de règlement (payout)

              Exemple :

              transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 }
              transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 }

              Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais.

              Transfert indépendant en ME

              Transfert via transaction

              Transfert via transaction

              Vous pouvez paramétrer un transfert depuis tous types de transaction :

              • Transaction CARD (cartes de paiement) : voir comment créer une transaction CARD
              • Transaction SCT (virements SEPA entrants) : voir comment créer une transaction SCT
              • Transaction SDD (prélèvements SEPA) : voir comment créer une transaction SDD

              Paramétrer un transfert depuis une transaction

              Le transfert depuis une transaction permet de renseigner les destinataires des transferts, les montants correspondants, et votre commission.

              [Renseigner les items API à utiliser pour réaliser un transfert depuis une transaction]

              Transfert en ME via transaction

              Transfert via demande de paiement

              Reversement bancaire pour tiers

              Reversement par marketplace

              Vous pouvez créer des payouts pour vos marchands, pour cela, plusieurs solutions, soit :

              • Soit passer par le endpoint : /payout/byThirdParty (vous pouvez retrouver tous les paramètres de celui-ci dans « Référence API »
              • Soit passer par le Portail utilisateur

              Via le Portail utilisateur, voici les étapes à réaliser :

              1/ Rendez-vous sur les comptes liés

              2/ Sélectionnez le marchand sur lequel faire le payout

              3/ Se rendre dans les comptes bancaires

              4/ Faire le payout

              Reversement pour compte de tiers

              Retours, statuts et webhooks

              Onboarding

              Articles

              • Create Enrollement
              • Complete enrollment
              • Update enrollment
              • Search enrollement
              • Enrollment Details
              • E-money
              • Misc

              Create Enrollement

              Complete enrollment

              Update enrollment

              Search enrollement

              Enrollment Details

              E-money

              Misc

              Étapes d'entrée en relation

              Voici les étapes d’entrée en relation vous permettant d’accéder à la plateforme CentralPay. Notez que pour les partenaires, des étapes complémentaires peuvent être demandées.

              1. Qualification de votre projet
                Les équipes commerciales qualifient votre projet lors d’un échange email ou d’un appel visio : parcours de paiement et moyens de paiement souhaités, méthodes d’intégration possibles, typologie de clients adressé, volumétrie de votre projet…
              2. Acceptation de l’offre commerciale
                Les équipes commerciales vous adressent nos offres commerciales correspondant à vos besoins et votre activité. En retour, elles attendent de votre part le choix de l’offre et un premier accord de principe.
              3. Analyse risque de votre projet
                Votre structure et votre projet sont analysées par nos équipes conformité afin de déterminer si nous pouvons entrer en relation d’affaires, et selon quelles conditions (mesures de gestion du risque financier, de gestion de la fraude…)
              4. Initiation du projet
                Vous recevez les accès à votre environnement de test et aux documentations correspondantes afin de commencer votre intégration CentralPay. Si vous avez souscrit à l’une de nos offres d’accompagnement, une réunion d’initiation du projet est organisée avec vos référents CentralPay (service commercial, service client et service intégration). Cette réunion permet notamment de guider vos équipes techniques dans leur appréciation des API CentralPay, et de prévoir les paramétrages à réaliser sur votre compte (notifications, reversements, profils utilisateurs…).
              5. Création du compte CentralPay
                En parallèle de l’intégration technique, le service client CentralPay adressera un lien d’inscription permettant la création de votre compte au responsable légal de votre structure. Il devra soumettre les informations et les documents justificatifs de votre structure avant de signer électroniquement le contrat CentralPay. Suite à l’inscription, des documents supplémentaires peuvent être demandés par le service conformité de CentralPay.
                • Consulter le contrat cadre de services de paiement
                • En cas de besoin, le responsable légal de votre structure peut désigner un mandataire pour réaliser l’inscription CentralPay et être titulaire du compte CentralPay à sa place. Un modèle de délégation de pouvoir est disponible sur demande.
              6. Mise en production
                Après avoir validé votre compte, votre intégration et le règlement de vos factures en attente, une date de mise en production vous sera demandée. À cette date, votre compte sera débloqué et vous pourrez encaisser vos premières transactions.

              SDD Transaction Reversal

              See more about SDD Transaction Reversal

              Modèle "Marchand"

              1/ Description du modèle

              Le modèle « Marchand » est adressé aux personnes morales réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment :

              • Le compte CentralPay
              • Les services liés au compte
              • Le service d’encaissement Smart
              • Le service de transaction par carte
              • Le service de transaction par virement
              • Le service de transaction par prélèvement SEPA

              2/ Frais et commissions

              CentralPay vous facture un forfait plateforme fixe ainsi que les frais de service liés aux opérations réalisées sur votre compte. CentralPay prélève ces frais de service sur votre compte de paiement principal ou votre compte de commission dédié. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de virement SEPA vous sera adressée. Les frais mensuels fixes sont eux prélevés mensuellement par prélèvement SEPA, demandés annuellement par virement SEPA ou prélevés sur votre compte selon les conditions de votre contrat.

              Demandes de paiement

              1/ Introduction

              La demande de paiement (ou PaymentRequest) est le service vous permettant de générer des liens de paiement. Vous pouvez créer des demandes de paiement par API ou via le Portail utilisateur. La demande de paiement peut également être couplé au service de notification de CentralPay, vous permettant d’adresser facilement un lien de paiement par email ou sms à vos clients et de programmer des relances automatisées.

              2/ Création par API

              2.1/ Créer une « PaymentRequest »

              Vous trouverez ci-dessous les moyens de paiement disponibles et les valeurs API correspondantes dans le service PaymentRequest :

              Moyen ou mode de paiement souhaitéValeurs API à renseigner
              Paiements unitaires
              Transaction par cartepaymentMethod[]=TRANSACTION
              Pré-autorisation sur carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION
              transaction[source]=DP
              Vérification carte (transaction à 0 €)paymentMethod[]=TRANSACTION
              transaction[source]=RI
              Transaction par virement bancairepaymentMethod[]=SCT_TRANSACTION
              Transaction par prélèvement SEPApaymentMethod[]=SDD
              sdd[remittanceInformation]
              Transaction par initiation de paiementProchainement
              Paiements récurrents
              Abonnement par cartepaymentMethod[]=SUBSCRIPTION
              subscriptionModel[subscriptionModelId]
              Abonnement par prélèvement SEPApaymentMethod[]=SUBSCRIPTION
              subscription[source]=SDD
              subscriptionModel[subscriptionModelId]
              Paiement fractionné par cartepaymentMethod[]=INSTALLMENT
              intallment[intervalUnit]
              installment[intervalCount]
              installment [iterationCount]
              Paiement fractionné par prélèvement SEPApaymentMethod[]=INSTALLMENT
              installment[source]=SDD
              intallment[intervalUnit]
              installment[intervalCount]
              installment [iterationCount]

              Si vous souhaitez autoriser plusieurs moyens ou modes de paiement dans votre PaymentRequest, vous devez renseigner plusieurs fois l’objet paymentMethod[].

              Exemple :
              paymentMethod[]=TRANSACTION
              paymentMethod[]=SCT_TRANSACTION

              Attention, certaines combinaisons de moyens ou modes de paiement peuvent rentrer en conflits et votre PaymentRequest pourra retourner une erreur. Par exemple, vous ne pouvez pas autoriser une TRANSACTION et une SUBSCRIPTION, cependant vous pouvez autoriser une TRANSACTION et un INSTALLMENT.

              Voici les informations principales concernant d’autres valeurs à renseigner lors de la création d’une PaymentRequest :

              DésignationDéfinition
              amountMontant de la demande de paiement en centimes
              merchantPaymentRequestIdRéférence personnalisée (votre numéro de commande ou facture par exemple) que vous pourrez utiliser pour rapprocher le paiement. Cette valeur sera visible par votre client dans la page de paiement.
              descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.
              additionalData[*]Donnée clé-valeur libre, vous permettant de transiter une ou plusieurs données (références de factures, numéro client etc…). N’est pas visible par votre client dans la page de paiement.
              createCustomerCréation TRUE / FALSE d’un compte Customer (permet notamment l’enregistrement du moyen de paiement client : carte, mandat SEPA, et création d’un IBAN virtuel dédié au Customer)
              breakdown[customerId]Sélection d’un Customer déjà existant

              NOTE : pour les transactions par virement SEPA, vous pouvez définir si vous souhaitez afficher l’IBAN Virtuel dédié au Customer ou générer un IBAN Virtuel à usage unique (SCT) depuis les paramètres de vos Points de Vente.

              2.2/ Envoyer une PaymentRequest par email / sms

              Lors de sa création, vous pouvez demander à CentralPay d’adresser la demande de paiement à votre client. Il existe deux méthodes d’envoi :

              • Via le mailer par défaut des PaymentRequest : CentralPay adresse la demande de paiement depuis un modèle d’email/sms standardisé et depuis l’email expéditeur renseigné dans votre point de vente (ou à défaut l’email expéditeur de CentralPay « no-reply@centralpay.eu »).
                • Pour cela vous devez [à compléter]
              • Via le service de notification email/sms de CentralPay : CentralPay adresse la demande de paiement selon le scénario et les modèles de communication que vous avez paramétrés. Ce service permet notamment l’automatisation de relances clients, basés sur les paramètres de la demande de paiement (délais de paiement, avancement du paiement…).
                • Pour cela vous devez [à compléter]

              2.3/ Fonctions spécifiques

              Demande de paiement à montant libre (multi-moyens de paiements)

              Il est possible d’autoriser la modification du montant à régler (avec pour maximum le montant initial), afin que vos payeurs puissent régler la somme due depuis plusieurs moyens de paiements ou à des moments différents.

              Par exemple sur une demande de paiement de 500€ :

              • Régler 250€ en virement puis 250€ en carte
              • Ou 300€ avec une première carte puis 200€ avec une autre.
              • Ou régler 350€ avec une carte, puis revenir plus tard pour régler les 150€ restants avec cette même carte.

              Pour ce faire vous devez [à compléter]

              Envoyer une demande de paiement à plusieurs destinataires

              Il est possible d’adresser une demande de paiement à plusieurs destinataires avec un montant différent à régler pour chacun d’entre eux. Ainsi :

              • Chaque participant reçoit une notification e-mail ou SMS détaillant l’objet du service à régler
              • Les montants sont fixés par l’initiateur ou laissé libre à chaque participant qui règle le montant souhaité
              • Les dates paramétrées à la demande (création, expiration…) permettent de générer des notifications vers chaque participant

              Pour ce faire vous devez [à compléter]

              3/ Création depuis le Portail utilisateur

              3.1/ Création et types de demandes de paiement

              • Accès Demandes de paiement – Portail utilisateur de recette
              • Accès Demandes de paiement – Portail utilisateur de production

              Vous pouvez créer une demande de paiement depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Créer. Les demandes de paiement créées depuis le Portail utilisateur sont obligatoirement adressées à vos clients par CentralPay. En fonction de vos besoins, vous devrez choisir l’un des types de demandes suivant :

              • Demande instantanée : une demande simple, envoyée depuis les expéditeurs et les templates emails / sms standards de CentralPay.
              • Demande programmée : une demande avancée, utilisant les modèles de communication, scénarios et règles d’envoi/de relance que vous aurez préalablement paramétrés depuis le service de notifications email/sms de CentralPay. Une demande programmée adressée sans avoir sélectionné de scénario de notification sera automatiquement requalifiée en demande instantanée.

              Une fois créée, vous pouvez accéder à la page de paiement en cliquant sur le détail de la demande de paiement > Formulaire de paiement. Ainsi, vous pourrez retransmettre à votre client l’URL de la page en cas d’erreur d’envoi.

              3.2/ Les profils de demandes de paiement

              Afin de faciliter la création de demandes de paiement, vous avez la possibilité de créer des profils prédéfinis intégrant les principaux paramétrages de la demande :

              • Point de vente
              • Devise
              • Langue
              • Moyens de paiement autorisés
              • Limite de paiement (délais de paiement contractuel)
              • Expiration du lien (délais avant expiration du lien)
              • Scénarios de notification
              • Reroutage de l’email de confirmation de paiement
              • Règles d’affichage (paramètres de la page de paiement)
              • Création de Customer
              • Pièces jointes

              Vous pouvez ensuite utiliser ce profil lors de la création de vos demandes de paiement programmées via le Portail utilisateur, ou via import de fichiers plats.

              3.3/ Création de demandes de paiements par import de fichiers plats

              Depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Importer, vous pouvez déposer un fichier d’importation de demandes de paiement. Cette utilisation peut être recommandée pour les entreprises souhaitant adresser en fin de mois et relancer automatiquement une liste de créanciers.

              Vous pouvez télécharger le modèle de fichier ci-après :

              • Modèle au format CSV
              • Modèle au format JSON

              Quelques informations importantes :

              DésginationDéfinition
              profil_uuid*UUID du profil de demande de paiement
              merchant_payment_request_idRéférence personnalisée (votre numéro de commande ou facture par exemple) que vous pourrez utiliser pour rapprocher le paiement. Cette valeur sera visible par le payeur dans la page de paiement.
              descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.
              total_amount*Montant de la demande de paiement. À renseigner en doubles décimales avec un séparateur « . » (ex : 500.00 pour 500€).
              last_nameNom de famille
              first_namePrénom
              email*Email du destinataire
              phoneTéléphone du destinataire au format international (ex : 33612345678).
              create_customerCréation d’un profil client « Customer » : renseigner « O » pour OUI ou « N » pour NON
              link_expiration_dateDate d’expiration de la demande de paiement (date à laquelle le client ne pourra plus vous régler)
              deadlineDate limite de paiement (date à laquelle votre client doit vous avoir réglé, et à partir de laquelle il est en retard de paiement).
              receipt_emailEmail sur lequel vous souhaitez rerouter l’email de confirmation de paiement
              language*Langue de la communication et de la page de paiement (FRE pour français, ENG pour anglais…)
              Les champs avec un * sont obligatoires.

              Cas d'usages

              Articles

              • Marketplace C2C

              Marketplace C2C

              Prochainement

              Wallet >

              SCT Transaction

              See more about SCT Transaction

              Modèle "Intégrateur"

              1/ Description du modèle

              Le modèle « Intégrateur » est adressé aux éditeurs de solutions, souhaitant proposer une intégration technique clé-en-main de CentralPay à ses utilisateurs. Ils peuvent intégrer tout ou partie de la solution Smart Collection, incluant notamment :

              • Le compte CentralPay
              • Les services liés au compte
              • Le service d’encaissement Smart
              • Le service de transaction par carte
              • Le service de transaction par virement
              • Le service de transaction par prélèvement SEPA

              Mais également tout ou partie de la solution Easy Wallet, incluant notamment :

              • Les services de création de comptes
              • Les services de transfert des paiements

              2/ Spécificités lors de l’entrée en relation

              L’intégrateur n’a pas à suivre les étapes d’entrée en relation classique.

              Contrairement aux marchands ou partenaires, un intégrateur ne crée pas de compte CentralPay. Il permet uniquement à ses utilisateurs également marchands de CentralPay d’accéder plus facilement à notre plateforme technique via sa solution. CentralPay contractualise et facture ses marchands en direct, sans intervention de l’intégrateur.

              Le marchand peut ensuite créer des accès API dédiés à l’intégrateur et lui communiquer afin qu’il renseigne son compte CentralPay via son intégration.

              CentralPay est lié avec l’intégrateur par un contrat intégrateur spécifiant les conditions d’utilisation de nos API.

              Page de paiement (SmartForm)

              1/ Introduction

              La page de paiement (aussi appelé SmartForm) est une page hébergée et sécurisée par CentralPay destinée à la collecte des données clients et de leurs coordonnées de paiement. Générée via le service de demande de paiement, elle permet à vos clients de visualiser les détails de cette demande (montant, référence de commande…) et de sélectionner un moyen de paiement autorisé avant de passer à l’étape de règlement.

              2/ Paramétrage de la page

              • Accès paramétrage formulaire – Portail utilisateur de RCT
              • Accès paramétrage formulaire – Portail utilisateur de PROD

              Vous pouvez créer un ou plusieurs modèles de page afin de personnaliser votre parcours de paiement. Ci-dessous la liste des éléments paramétrables sur la page :

              DésignationDéfinition
              NomNom du modèle de page
              Template par défautCoche permettant de définir si ce modèle doit s’appliquer par défaut (les demandes de paiement créées sans modèle utiliseront ce dernier)
              Forcer la création du customerCoche permettant de forcer systématiquement la création d’un Customer à la création de la demande de paiement. Le paramètre de création du Customer renseigné sur les demandes de paiements sera ignoré. Note : CentralPay ne créera pas de nouveau Customer si son email ou son numéro de téléphone sont déjà utilisés par un autre Customer, et affectera la demande à ce dernier.
              URL de redirectionURL de redirection après paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.
              Délais de redirectionDélais de redirection vers l’URL de redirection après paiement. Champ vide : pas de redirection, 0 : redirection immédiate, autre valeur : nombre de secondes avant la redirection
              URL d’annulationURL de redirection en cas d’annulation avant paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.
              Couleur du texteCouleur du texte de la page de paiement
              Couleur des boutonsCouleur des boutons de la page de paiement
              Champs supplémentairesChamps supplémentaires qu’il est possible d’ajouter aux parcours de paiement par carte (CB) ou par virement. Utilisé pour collecter des données clients complémentaires si nécessaire (adresse, nom, prénom…).

              3/ Personnalisation du logo affiché sur le SmartForm

              Le logo affiché sur le SmartForm est celui que vous aurez renseigné dans les paramètres du point de vente utilisé pour votre demande de paiement. Par défaut, le logo de CentralPay est affiché.

              Transfer >

              SCT Transaction Reversal

              See more about SCT Transaction Reversal

              Modèle "Partenaire"

              1/ Description du modèle

              Le modèle « Partenaire » est adressé aux personnes morales souhaitant piloter des opérations d’encaissement pour compte de tiers (vente de biens ou de services) contractuellement liés. Il permet d’accéder à la solution Smart Collection, incluant notamment :

              • Le compte CentralPay
              • Les services liés au compte
              • Le service d’encaissement Smart
              • Le service de transaction par carte
              • Le service de transaction par virement
              • Le service de transaction par prélèvement SEPA

              Mais également la solution Easy Wallet, incluant notamment :

              • Les services de création de comptes
              • Les services de transfert des paiements

              2/ Les trois types de partenaires

              1. Le Partenaire Techniques
                destiné aux plateformes de ventes de biens ou de services standards (marketplace B2B ou B2C, éditeurs de solutions…) et ne souhaitant pas être impliqué dans la fourniture de services de paiement.
              2. Le Partenaire DME
                destiné aux plateformes de ventes de biens ou de services entre particuliers (marketplace C2C) ou des éditeurs de solutions souhaitant développer des services de porte-monnaie électronique pour leurs particuliers utilisateurs.
                Ce modèle nécessite la déclaration d’un statut de Distributeur de Monnaie Électronique par CentralPay à l’ACPR.
              3. Le Partenaire Agent
                destiné aux plateformes de ventes de biens ou de services souhaitant commercialiser des services de paiement ou des plateformes financières ayant besoin de piloter des transferts de valeurs avancés entre les comptes CentralPay de leurs utilisateurs.
                Ce modèle nécessite la déclaration d’un statut d’Agent Prestataire de Services de Paiement par CentralPay à l’ACPR, et son acceptation par cette dernière.

              2/ Choix du Statut : « Partenaire Technique » ou « Partenaire Agent de Service de Paiement »

              L’encaissement pour compte de tiers est une activité réglementée qui nécessite le statut d’Agent de Service de Paiement dès lors que l’entité participe activement à la fourniture de services de paiement.
              En savoir plus sur les agréments de CentralPay

              Ce statut implique :

              • Des responsabilités importantes, notamment en matière de conformité réglementaire.
              • Des risques spécifiques, tels que le blanchiment d’argent, le financement du terrorisme ou encore des risques financiers.
              • Une supervision étroite par CentralPay et les autorités compétentes.


              Le statut « Partenaire technique », alternative au statut d’Agent de Service de Paiement

              Pour les entreprises souhaitant gérer des opérations pour le compte de tiers sans effectuer elles-mêmes les encaissements, CentralPay propose le statut de « Partenaire Technique ». Ce statut de implique du Partenaire la mise à disposition d’une organisation informatique permettant une gestion technique des paiements et confère l’avantage de :

              • Piloter les demandes d’encaissement et de reversement pour tiers, sans être directement associés à la fourniture des services de paiement.
              • Eviter les contraintes réglementaires liées au statut d’Agent, notamment celles relatives à la gestion des fonds de tiers.

              Rôle du « Partenaire Technique »

              Dans ce cadre, le Partenaire Technique agit pour le compte :

              • D’un Marchand, ou
              • D’un Participant disposant d’un compte de paiement et d’un contrat d’acceptation auprès de CentralPay.

              Rôle et Fonctionnalité du Partenaire Technique :

              • Dispose d’une infrastructure informatique permettant la gestion technique des paiement.
              • Détient des identifiants API spécifiques pour consulter ou transmettre des informations.
              • Accède à un compte centralisateur pour visualiser et suivre les transactions.
              • Possède un compte de commission pour percevoir les frais liés à ses services.
              • Peut également disposer d’un Contrat d’Acceptation pour ses propres encaissements.

              De ce fait, CentralPay reste responsable des opérations de paiement réalisées par son Partenaire Technique. Bien que de nombreuses opérations techniques puissent vous être déléguées, les opérations de paiement seront toujours effectuées par CentralPay.

              Ainsi, pour limiter au maximum votre responsabilité, CentralPay doit avoir une relation directe avec l’ensemble des parties.

              Vos utilisateurs accèdent à leurs comptes CentralPay depuis votre environnement incluant des services API de CentralPay, et peuvent si besoin se connecter à notre Portail utilisateur. Vous disposez de vos propres conditions générales pour cette relation avec vos utilisateurs. Les frais que vous leur facturez pour accéder à vos services doivent être définis dans vos conditions générales.

              Bien qu’en relation directe avec les sous-marchands Participants, CentralPay ne se substitue pas à votre rôle de partenaire. Nous entrons principalement en contact avec les Participants lors de la création de leur compte de paiement et lors des mises à jour règlementaires de leurs documents justificatifs.

              Lorsque vos utilisateurs ouvrent des comptes CentralPay, ils acceptent et signent les conditions générales d’utilisation de CentralPay depuis notre portail d’inscription. Dans le même temps, ils acceptent que vous puissiez effectuer certaines opérations via votre intégration.

              3/ Frais et commissions

              Commissions partenaire : Vous facturez vos services à vos utilisateurs selon vos propres conditions générales. Vous pouvez préciser le montant de vos commissions dans chaque opération réalisée sur la plateforme. CentralPay se chargera de les prélever sur le compte de paiement de votre sous-marchand et de les transférer à votre compte de commission dédié. Notez que CentralPay peut contrôler vos opérations pour s’assurer que la règlementation soit respectée. Par exemple, CentralPay peut vérifier que vos commissions prélevées par le biais de la plateforme correspondent bien à vos conditions générales.

              Frais CentralPay : CentralPay vous facture un forfait plateforme mensuel ainsi que des frais de service lié aux opérations réalisées pour vos sous-marchands. CentralPay prélève ces frais de service sur votre compte de commission. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de chargement par virement SEPA vous sera adressée. Le forfait plateforme sera lui prélevé mensuellement par prélèvement SEPA, demandé annuellement par virement SEPA ou prélevé sur votre compte de commission selon les conditions de votre contrat.

              5/ Spécificités lors de l’entrée en relation

              En plus des étapes d’entrée en relation classique, les partenaires doivent suivre des étapes complémentaires :

              • Signature du contrat partenaire
                Les équipes commerciales de CentralPay vous adresseront un document à signer électroniquement avant l’étape d’initiation de votre projet.
              • Déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement auprès de l’ORIAS (partenaire MOBSP seulement)
              • Déclaration en tant que Distributeur de Monnaie Électronique à l’ACPR (partenaires DME seulement)
              • Demande du statut d’Agent Prestataire de Services de Paiement à l’ACPR (partenaires Agent seulement)

              6/ Spécificités liées au suivi de l’activité

              Il est important de noter que des réglementations s’appliquent à toute entité souhaitant devenir Agent ou DME d’un établissement financier, et que ces réglementations doivent être scrupuleusement respectées.

              6.1/ Formation LCB-FT

              À ce titre, une formation de deux (2) heures en matière de LCB-FT (lutte contre le blanchiment de capitaux et de financement du terrorisme) est dispensée par CENTRALPAY à tout nouvel agent ou DME, dans un délai de trois (3) mois à compter du début de son activité en tant que tel :

              • Cette formation s’adresse aux dirigeants et aux membres du personnel du partenaire qui participent à la mise en œuvre des prestations externalisées.
              • Le partenaire devra désigner un maximum de 10 personnes pour participer à la formation.
              • La formation aura lieu à distance.
              • À l’issue de la formation, CENTRALPAY remettra aux participants à la formation un support de formation
              • CENTRALPAY s’engage à informer le partenaire de toutes modifications qui interviendraient en matière de LCB-FT, afin que le partenaire puisse procéder à l’actualisation des connaissances de ses salariés.
              • Le partenaire s’engage à assurer la formation de tout nouvel employé.
              • CENTRALPAY pourra exiger que le personnel du partenaire suive des formations supplémentaires tout au long de la relation d’affaires en cas d’insuffisance constatée.

              6.2/ Reporting

              Par leur statut régulé, les partenaires DME et Agent sont soumis au contrôle de leur établissement et ont un devoir de reporting régulier envers ce dernier.

              Pour permettre à CENTRALPAY de contrôler les activités externalisées, le partenaire s’engage à communiquer à CENTRALPAY les reportings suivants :

              • Un reporting trimestriel sur la gestion des réclamations :
                • date de réception
                • date de traitement
                • nature de la réclamation
                • solution apportée
                • date de résolution
              • Un reporting trimestriel sur la gestion des remboursements (réalisés hors de la plateforme CentralPay) :
                • % de remboursement,
                • délai moyen de remboursement
                • avec une extraction des remboursements effectués
              • Un reporting trimestriel sur la gestion des incidents :
                • En sus des déclarations d’incidents constatés au fil de l’eau

              Lors de votre entrée en relation, CentralPay vous transmettra une liste et une trame de reporting que vous devrez alimenter et renvoyer périodiquement à CentralPay à partir de votre date de mise en production. Cette trame a été conçue pour simplifier au maximum les tâches de reporting qui vous incombent.

              6.3/ Manquement contractuel

              En cas de non-réalisation ou retard significatif vis-à-vis des devoirs de formation ou de reporting du partenaire, CentralPay se réserve le droit d’interrompre ou de résilier le contrat de partenaire.

              Retours, statuts et hooks

              1/ Statuts liés aux demandes de paiement

              Statuts Payment Request

              2/ Webhooks liés aux demandes de paiement

              Les demandes de paiement permettant indirectement la création de transactions cartes, SCT et SDD mais aussi d’autres objets comme les Customer, Subscription ou Installment, selon les cas d’usages, il peut être utile de suivre les webhooks associés.

              Webhooks « PaymentRequest »

              Webhooks PaymentRequest

              Webhooks « Transaction »

              Webhooks Transaction

              Webhooks « SCT Transaction »

              Webhooks SCT Transaction

              Webhooks « SDD Transaction »

              Webhooks SDD Transaction

              Webhooks « Customer »

              Webhooks Customer

              Webhooks « Subscription »

              Webhooks Subscription

              Webhooks « Installment »

              Webhooks Installment

              TransferReversal >

              Bank Reconciliation

              See more about Bank Reconciliation

              Informations générales

              1/ Introduction

              Une transaction carte comprend une succession d’actions :

              1. Authentification 3DS 2.0 :
                Elle permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client :
                • Si les données ne concordent pas ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »).
                • Sinon, elle autorise directement le paiement (« Frictionless »).
              2. Autorisation bancaire :
                Demande effectuée par CentralPay à la banque du payeur permettant de vérifier la validité et la provision de sa carte. Les fonds « autorisés » sont bloqués jusqu’à la réalisation de la capture des fonds. Si aucune capture n’est réalisée sous un délai de 7 jours, les fonds « autorisés » sont libérés et le marchand devra renouveler son autorisation.
                Pour les activités éligibles (location, hôtellerie…), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours.
              3. Capture :
                La capture permet d’initier le débit de la carte sur la base d’une autorisation ou d’une pré-autorisation. Un marchand peut réaliser une capture complète ou partielle du montant autorisé.

              2/ Types et réseaux de cartes acceptés :

              Les cartes de paiement sont émises par les banques ou les établissements de paiement agréés, elles peuvent être badgées par un ou plusieurs réseaux de carte (aussi nommés « Card Scheme »).

              Les réseaux acceptés par CentralPay sont :

              • Carte Bancaire
              • VISA
              • MasterCard
              • American Express

              En France, la majorité des cartes émises sont co-badgées CB et VISA ou CB et Mastercard. Dans ce cas, le client doit avoir la possibilité de choisir le réseau qu’il souhaite utiliser.

              Les cartes peuvent être de débit ou de débit différé / crédit (en France la majorité des cartes sont de débit), et peuvent être des cartes de particulier (dit « Consumer ») ou des cartes de professionnels (dit « Corporate »).

              À noter que ces paramètres impactent le coût de la transaction pour le marchand (interchange bancaire et frais de réseaux carte).

              MerchantInfo >

              Bank Reconciliation external

              See more about Bank Reconciliation

              Déclaration partenaires MOBSP

              Introduction

              Avant de lire cette page, veuillez consulter la rubrique dédiée à l’entrée en relation pour les partenaires.

              Les partenaires CentralPay basés en France opèrent avec le statut d’intermédiaires en opérations de banque et en service de paiement (IOBSP), plus précisément en tant que Mandataires en Opérations de Banques et Services de Paiement (MOBSP).

              Pour devenir partenaire MOBSP de CentralPay, vous devez vous déclarer à l’ORIAS. CentralPay devra ensuite vous déclarer en tant que son mandataire. Votre partie peut être réalisée en quelques heures, celle de CentralPay prend quelques jours. L’ORIAS peut quant à elle prendre jusqu’à deux mois pour examiner votre demande.

              Bien que ce processus vous incombe, CentralPay peut vous assister en cas de besoin. Contactez notre service client en cas de besoin.

              1/ Préparez vos données

              1.1 Obtenez votre attestation de mandat

              Après avoir signé votre contrat de partenariat avec CentralPay :

              1. Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN.
              2. CentralPay vous répondra avec votre attestation de mandat. Vous aurez besoin de ce document pour l’étape 3.3.

              1.2 Préparez vos documents justificatifs

              Lors de l’étape 3.3 du processus d’inscription, vous devrez fournir les pièces justificatives suivantes :

              • KBIS datant de moins de trois mois
              • Justificatif d’aptitude professionnelle : diplôme dans une école de commerce ou de gestion agréée ou certification RNCP (NCF 122, 128, 313 ou 314, niveaux 7 à 5) ou reconnaissance par le CIEP pour les diplômes étrangers.

              Si vous ne disposez pas d’un justificatif d’aptitude professionnelle accepté par l’Orias, envoyez un email à notre service client. CentralPay peut vous aider à suivre la formation nécessaire.

              Voir l’image ci-jointe, faisant référence à la catégorie Niveau III – IOBSP (niveau 3).

              2/ Créez votre compte ORIAS

              2.1 Accéder au formulaire

              1. Allez sur le site de l’ORIAS.
              2. Faites défiler vers le bas jusqu’à voir la section Comment ça marche ?
              3. Cliquez sur S’inscrire.

              Vous serez redirigé vers le formulaire d’inscription.

              2.2 Saisir les informations

              1. Entrez votre numéro SIREN
              2. Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique.
              3. Saisissez les informations de votre représentant légal.
              4. Saisissez les coordonnées de votre représentant légal.
              5. Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un.
              6. Entrez l’adresse de votre entreprise.
              7. Vérifiez toutes les informations que vous avez saisies, puis cliquez sur Valider.

              2.3 Connectez-vous à votre compte ORIAS

              Vérifiez votre boîte de réception pour un email de l’ORIAS (no-reply-orias@orias.fr). L’email contient votre identifiant et un mot de passe provisoire.

              1. Retournez sur le site de l’ORIAS
              2. Cliquez sur Connexion / Login
              3. Saisissez votre identifiant et votre mot de passe provisoire depuis votre email
              4. Suivez les instructions sur votre écran pour modifier votre mot de passe, puis enregistrez-le

              Après avoir enregistré votre nouveau mot de passe, vous serez redirigé vers votre espace compte ORIAS.

              3/ Réalisez une nouvelle demande d’inscription

              3.1 Enregistrez votre entreprise

              1. Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît
              2. Choisissez Activité IOB
              3. Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP)
              4. Cliquez sur Soumettre

              3.2 Fournissez des informations complémentaires

              1. Sélectionnez la case précisant que vous complétez votre inscription à titre de Mandataire non exclusif en opérations de banque et en services de paiement
                • Si un autre type d’inscription est spécifié, utilisez le bouton Précédent de votre navigateur pour revenir à la page précédente et réessayez.
              2. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds
              3. Pour la deuxième question, choisissez la réponse : Accessoire, indiquant à l’ORIAS que les services financiers ne sont pas l’activité principale de votre entreprise.
              4. Pour la troisième question, choisissez la réponse : Oui, indiquant à l’ORIAS que votre entreprise propose du crédit (ou d’autres services bancaires et de paiement) uniquement à titre de service secondaire.
              5. Cliquez sur Aller à l’étape « Pièces justificatives »

              3.3 Fournissez vos documents justificatifs

              1. Soumettez votre KBIS
              2. Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1
              3. Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2.
              4. Cliquez sur Aller à l’étape suivante

              3.4 Payez votre inscription

              La dernière étape consiste à payer votre inscription.

              1. Notez que vous payez pour l’enregistrement de Mandataire non exclusif en opérations de banque et en services de paiement. Sans payer les frais, votre inscription ne peut être finalisée.
              2. Choisissez de payer avec votre Carte bancaire, ou cliquez sur Choisir un autre mode de paiement pour payer par Virement (virement) ou Chèque (chèque).
              3. Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu.
              4. Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription.
              5. Vous recevrez votre numéro d’inscription ORIAS par e-mail, confirmant que votre inscription est terminée. Envoyez ce numéro au service client de CentralPay par email.

              4/ CentralPay vous enregistre en tant que MOBSP

              Après avoir envoyé à CentralPay votre numéro d’enregistrement Orias par email, CentralPay vous enregistre en tant que Mandataire non exclusif en opérations de banque et en services de paiement (MOBSP).

              5/ L’ORIAS examine votre candidature

              L’ORIAS examine vos documents et votre candidature pour s’assurer que votre dossier est entièrement conforme. L’ORIAS vous informera de sa décision finale par email. Si elle est approuvée, l’e-mail contient également la date à laquelle votre statut de MOBSP prendra effet.

              N’hésitez pas à contacter l’ORIAS par téléphone (09.69.32.59.73) ou par email (contact@orias.fr) si vous ne recevez pas à temps les informations concernant votre candidature.

              6/ Mettez à jour vos mentions légales

              Après avoir reçu l’agrément de l’ORIAS et être devenu MOBSP, assurez-vous de mettre à jour vos mentions légales. Ajoutez quelque chose de similaire à l’exemple suivant au pied de page de votre site Web, dans votre page de mentions légales et partout où vous distribuez ou vendez des services de paiement.

              [Raison sociale], société immatriculée au RCS de [ville d’enregistrement] sous le numéro [numéro RCS], et inscrite au Registre unique des Intermédiaires en Assurance, Banque et Finance sous le numéro d’immatriculation [numéro d’enregistrement ORIAS] en qualité de Mandataire non exclusif en opérations de banque et en services de paiement.

              Déclaration partenaires Agent

              1/ Introduction

              L’ACPR (Autorité de contrôle Prudentiel et de Résolution) est un organe de la Banque de France. En tant que régulateur, elle seule détermine la validation ou non des Agents d’un Établissement comme CentralPay. L’ACPR traite uniquement avec ses Établissements agréés, le futur Agent ne peut donc pas échanger en direct avec elle.

              La déclaration d’un Agent Prestataire de Services de Paiement se déroule en trois étapes :

              • Le montage et la soumission du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur Agent,
              • Le traitement des demandes de l’ACPR concernant le dossier : réalisé par CentralPay avec l’aide de son futur Agent,
              • La décision d’acceptation : émise par l’ACPR à CentralPay.

              2/ Responsabilités de l’Agent

              CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment :

              • L’activité de votre sous-marchand ;
              • La réalité économique de l’opération ;
              • La lutte contre la fraude.

              Les Établissements régulés qui font appel à des Agents restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place.

              Un statut d’agent passe par :

              • La contractualisation d’un contrat Cadre d’Agent de paiement qui définit les relations entre les parties ;
              • Des CGU vendeurs.

              Dans le cas où un agent internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC.

              3/ Devenir Partenaire Agent CentralPay

              Devenir Agent de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs mois.

              Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs.

              3.1/ Résumé des étapes

              1. Compréhension du modèle
                • Explication des services apportés par le partenaire
                • Définition de son modèle d’affaires
                • Validation par les services Juridique et Conformité de CentralPay
              2. Offre commerciale
                • Présentation
              3. Validation
                • Validation du Partenaire par les services Juridique et Conformité de CentralPay
                • Validation de la proposition commerciale et des conditions tarifaires par le Partenaire
              4. Test & Intégration
                • Mise en place de la sandbox
                • Réunion de lancement de projet avec l’équipe technique
                • Phase d’intégration technique
              5. Instruction du dossier ACPR
                • Collecte des éléments nécessaires à la constitution du dossier
                • Préparation du dossier d’agrément d’Agent
                • Présentation du dossier de déclaration de l’agent auprès de l’ACPR
              6. Mise en production
                • Validation en environnement de test (environnement de recette)
                • Mise en production

              3.2/ Pièces à fournir à CentralPay

              1. Pré-constitution du dossier :
                • CGU service de paiement
                • Définition des activités régulées utilisées par le Partenaire, description des services attachés aux prestations régulées, modèle d’affaires
                • Organigramme de la société ou du groupe le cas échéant avec son effectif réparti par service
                • Structure de l’actionnariat
                • Flux prévisionnels qui seront confiés à CentralPay au cours des 3 prochaines années
                • Nombre d’enrôlements prévisionnels au cours des 3 prochaines années 
                • Reprise éventuelle de KYC existant dans le cadre d’une migration
                • Préparation du contrat d’Agent.
              1. Déclaration de l’agent auprès du régulateur :
                • Signature du contrat d’Agent ;
                • Le Service Juridique CentralPay se charge de constituer le dossier de déclaration et collecte les pièces suivantes :
                  • Kbis de moins de 3 mois de la société et des sociétés gérantes le cas échéant ;
                  • Statuts à jour de la société et des sociétés gérantes le cas échéant datés et signés par un représentant légal ;
                  • Pièce d’identité en couleur des dirigeants ;
                  • CV des dirigeants daté et signé ;
                  • Casier judiciaire des dirigeants ;
                  • Déclaration de non-condamnation des dirigeants ;
                  • Répartition de la détention de parts de la société ;
                  • Kbis des personnes morales actionnaires le cas échéant et Organigramme Groupe si applicable ;
                  • PV d’AG si des changements juridiques ont eu lieu récemment (fusion, actif inférieur à la moitié du capital social, changement de direction, etc.) ;
                  • Peuvent être demandés également lors de l’instruction :
                    • Derniers bilans et compte de résultats ;
                    • États financiers de l’année en cours et/ou de l’année venant de s’écouler ;
                    • Toute pièce jugée utile à la demande du régulateur.

              3.3/ Délais d’instruction

              Une fois la totalité des pièces collectées, le service Juridique instruit le dossier dans un délai d’environ 2 semaines.

              L’ACPR dispose ensuite d’un délai de deux mois pour répondre, les premières questions arrivent généralement sous 30 jours.

              L’ACPR adresse en général des questions complémentaires et/ou des demandes de documents complémentaires en fonction de la situation et/ou de l’activité de votre société.

              3.4/ Instruction finalisée et agent déclaré

              Une fois le dossier validé par l’ACPR, l’Agent est réputé pouvoir démarrer son activité avec CentralPay.

              Votre société peut donc désormais commencer à encaisser via CentralPay et faire ouvrir des comptes de paiement à ses clients.

              À l’issue de l’instruction par le régulateur et l’Agent validé, il est référencé dans les registres de l’ACPR et reçoit un numéro d’enregistrement qu’il doit utiliser dans ses communications et ses CGU.

              3.5/ Particularités d’un agent spécialisé dans le domaine du télécom

              Un agent travaillant dans le domaine du télécom, c’est-à-dire réalisant des encaissements via des appels sur des numéros surtaxés, se doit de produire un récapitulatif des minutes de téléphone réalisées sous chaque opérateur téléphonique.

              Lors de la réception du virement de l’opérateur téléphonique chez CentralPay, ce récapitulatif doit être fourni à CentralPay. De plus, le calcul de la répartition des opérations devant être envoyées à chaque marchand via CentralPay doit également être envoyé au Service Conformité.

              Le Service Conformité de CentralPay consigne ces informations et s’assure que les marchands ont bien été crédités de leurs encaissements.

              Formulaire de paiement CUSTOM

              1/ Introduction

              Le service API Transaction permet d’opérer une autorisation puis une capture de la carte de paiement de votre client. Les différents modes de paiement par carte sont pilotés via ce même service.

              Pour initier la première transaction d’un client encore inconnu, vous devez d’abord collecter les données de sa carte de paiement en générant un « cardTokenId » via le service de tokenisation de CentralPay « token.js ».

              Un objet « card » sera ensuite retourné en tant que « cardId », pourra être enregistré dans un « customer » et ensuite être utilisé lors des prochaines transactions de ce client (pour des paiements en 1 clic ou des paiements récurrents).

              Attention, avec le Custom Form, vous devrez également intégrer le processus d’authentification 3DS 2.0 avant d’initier vos transactions.

              Schéma de transaction avec « cardTokenId » via le service « token.js » :

              Note : Si vous disposez déjà des données de la carte dans votre système et que vous disposez d’un agrément PCI-DSS level 1, vous pouvez directement utiliser le sous-objet « card » en adressant toutes les données de la carte de paiement (BIN, date d’expiration, CVC).

              2/ Prérequis

              • Déclarez les domaines autorisés
                Déclarez les domaines sur lesquels vos formulaires de paiement CUSTOM vont être hébergés.
                Allez sur votre Portail utilisateur > Administration > Mon compte > Onglet Technique > cliquez sur « Modifier » > Déclarez vos domaines dans « Hosts Custom Forms autorisés »
                • Accès Portail utilisateur de RCT – Compte > Technique
                • Accès Portail utilisateur de PROD – Compte > Technique
              • Sécurisez vos pages de paiement
                Utilisez TLS (1.2 min) (Transport Layer Security) afin qu’elles utilisent les protocoles HTTPS requis par la norme
              • Passez en revue et validez la conformité PCI de votre service chaque année
                Grâce à la combinaison de « CUSTOM + TOKEN.JS », vous gérez vous-même vos formulaires de paiement pour une expérience de paiement optimisée. Cette méthode implique que vous initialisez les paiements sur vos serveurs et vous devez vous conformer au niveau PCI-DSS SAQ A-EP. Vous pouvez télécharger le formulaire SAQ A-EP ici.

              3/ Création d’un formulaire de paiement par carte (WEB)

              Ce tutoriel explique comment utiliser le langage HTML et Token.js pour obtenir un cardTokenID afin de créer une transaction depuis votre propre formulaire de paiement CUSTOM.

              Le Token.js est le JavaScript que nous mettons à votre disposition pour vous aider à implémenter le premier composant dont vous avez besoin pour créer un cardTokenID.

              Une fois que vous obtenez un cardTokenId, vous serez en mesure d’initialiser une transaction pour débiter la carte de votre client.

              Consultez nos exemples en ligne de formulaires CUSTOM FORM :

              • Exemple de formulaire Custom Form sans 3DS 2.0
              • Exemple de formulaire Custom Form avec 3DS 2.0

              3.1 Créer un formulaire de paiement HTML

              Contrairement à la page de paiement SMART FORM qui est généré et hébergé par CentralPay, le CUSTOM FORM doit être créé et intégré par vos soins. Vous devez donc générer le code HTML qui convient à votre parcours de paiement, avec notamment les champs suivants :

              • Numéro de carte (16 digits pour CB, Visa, Mastercard – 15 digits pour Amex)
              • Date d’expiration (MM/AAAA)
              • CVC (3 digits pour CB, Visa, Mastercard – 4 digits pour Amex)

              3.2 Envoyer les informations de carte avec le Token.js

              Envoyez les données cartes du navigateur du client à la plateforme PCI-DSS de CentralPay qui vous adressera un cardTokenId en retour. Pour ce faire, vous devez ajouter dans le <body> le tag ci-dessous :

              • Tag du Token.js de recette :
              <script src="https://test-js.centralpay.net/js/token.js"></script>
              • Tag du Token.js de production :
              <script src="https://js.centralpay.net/js/token.js"></script>

              Ajoutez également votre merchantPublicKey dans un tag séparé :

              <script type="text/javascript">
                window.Centralpay ? Centralpay.card.setMerchantPublicKey('8ce4b92abd7c3110e2033ffbfa7cca0f097a66f1f1d267ff6c94429884ed82ac') : alert('Error loading html form');
              </script>

              /!\ La merchantPublicKey identifie vos requêtes vers la Plateforme. Remplacez celle présente dans l’exemple ci-dessus par la vôtre. Consultez notre rubrique sur l’Authentification de nos API pour connaitre comment la récupérer.

              3.3 Réceptionner le cardTokenID dans votre système

              Récupérez le cardTokenID qui vous a été retourné dans le JavaScript afin de pouvoir soumettre votre requête à la plateforme.

              Toutes les données de la carte sont maintenant stockées dans cardTokenID pendant une durée de 5 min. C’est donc cette valeur que vous devrez transmettre à notre API et en aucun cas les données brutes de la carte bancaire.

              3.4 Créer une transaction à l’aide de la cardTokenID

              Maintenant que vous êtes en possession du cardTokenID, vous êtes prêts pour initialiser une transaction. À la différence des étapes précédentes qui se déroulent depuis le navigateur, celle-ci sera exécutée depuis vos serveurs.

              Consultez les pages dédiés au mode de paiement par carte que vous souhaitez intégrer :

              • Transaction par carte unitaire (standard, capture différée, vérification carte, MoTo, en 1 clic)
              • Transaction par carte récurrente (abonnement, fractionné)

              Ou consultez directement le swagger du service API Transaction pour avoir plus de détails techniques.

              3.5 Sauvegarder les informations d’une carte dans un profil client

              Le cardTokenId n’est utilisable qu’une seule fois. Si vous prévoyez d’utiliser les données de la carte ultérieurement (paiement en 1 clic, paiement récurrent…), vous devez donc créer un Customer et y enregistrer une Card.

              Ainsi, la prochaine fois, au lieu d’utiliser un nouveau cardTokenId, vous utiliserez le customerID correspondant.

              4/ Créer un formulaire de paiement par carte (APP)

              Les marchands veulent généralement pouvoir débiter des cartes de paiement sans avoir à stocker des données sensibles sur leurs serveurs. Notre javascript Token.js rend cela simple depuis un navigateur web, mais vous pouvez utiliser la même technique dans d’autres environnements avec notre cardToken.

              Ces tokens sont créés grâce à votre merchantPublicKey, qui peut être intégrée en toute sécurité dans des applications téléchargeables telles que les applications iPhone et Android. Vous pouvez ensuite utiliser ces Tokens pour initier vos transactions.

              Vous devez ajouter un header « Origin » avec une URL précédemment déclaré dans vos domaines autorisés (voir 2/ Prérequis).
              Pour vos tests, vous pouvez utiliser l’Origin : https://example.centralpay.net

              Blacklist >

              Subscription Model

              See more about Subscription Model

              Authentification 3DS 2.0

              Le protocole 3D Secure 2.0 permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client :

              • Si les données ne sont pas concordantes ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »).
              • Sinon, elle autorise directement le paiement (« Frictionless »).

              Il existe deux types de 3DS, selon si vous souhaitez initier une transaction classique (pour laquelle le porteur est présent) ou si vous exécutez une échéance de paiement récurrent (pour laquelle le porteur n’est pas présent) :

              • Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction)
                Représente la majorité des intégrations de 3DS 2. Il requiert l’authentification du client afin de vérifier qu’il est bien le porteur légitime de la carte au moment de la transaction. Il déclenche si nécessaire un challenge qui vérifie l’identité du porteur de carte (SCA).
                Découvrez comment intégrer le 3DS 2.0 BRW
              • Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents)
                3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand lorsque le porteur n’est pas présent ou non participant.
                3RI offre la possibilité de générer les authentifications 3DS nécessaires sans que le client ne soit impliqué. Cela permet d’utiliser une authentification générée précédemment avec un client. Elle est utilisée dans les contextes suivants de paiements récurrents : Paiement fractionné, Abonnement, Refund, etc.
                Découvrez comment intégrer le 3DS 2.0 3RI

              WhiteList >

              Subscription

              See more about Subscription

              Déclaration partenaires DME

              1/ Introduction

              Les Établissements émetteurs de monnaie électronique comme CentralPay peuvent mandater des Distributeurs de Monnaie Électronique (DME) afin de collecter des fonds et d’assurer les échanges permettant l’achat et le remboursement de ME dans un réseau de participants défini.

              La déclaration d’un Distributeur de Monnaie Électronique se déroule en deux étapes :

              • Le montage du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur DME,
              • L’instruction du dossier à l’ACPR : réalisé par CentralPay. Elle ne nécessite pas de validation particulière de l’ACPR.

              2/ Responsabilité du partenaire DME

              CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment :

              • La réalité économique de l’opération ;
              • La lutte contre la fraude.

              Les Établissements régulés qui font appel à des distributeurs restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place.

              Un statut de Distributeur de Monnaie Electronique passe par :

              • La contractualisation d’un contrat Cadre de Distribution de Monnaie Électronique qui définit les relations entre les parties ;
              • Des CGU d’utilisation de Monnaie Électronique.

              Dans le cas où un DME internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC ou réalise des interfaces de gestion qui ne permettrait pas à CentralPay d’assurer l’exécution du service sans le concours du PSEE.

              3/ Devenir partenaire DME

              Devenir Distributeur de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs semaines.

              Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs.

              3.1/ Résumé des étapes

              1. Compréhension du modèle
                • Explication des services apportés par le partenaire
                • Définition de son modèle d’affaires
                • Validation par le service Risque & Conformité de CentralPay
              2. Offre Commerciale
                • Présentation
              3. Validation
                • Validation du Partenaire par le service Risque & Conformité de CentralPay
                • Validation de la proposition commerciale et des conditions tarifaires par le Partenaire
              4. Test & Intégration
                • Mise en place de la sandbox
                • Réunion de lancement de projet avec l’équipe technique
                • Phase d’intégration technique
              5. Instruction du dossier ACPR
                • Collecte des éléments nécessaires à la constitution du dossier
                • Préparation du dossier
                • Présentation du dossier
              6. Mise en production
                • Validation de la recette
                • Mise en production

              3.2/ Pièces à fournir à CentralPay

              Prochainement

              Transaction carte

              Selon les besoins de votre activité, CentralPay propose divers modes de transactions unitaires via son service API Transaction.

              Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form et intégrer l’authentification 3DS 2.0.

              Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales.

              1/ Autorisation et capture instantanée

              Pour réaliser un paiement simple par carte (autorisation puis capture instantanée) :

              • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « EC »

              2/ Autorisation et capture différée

              Ce mode de transaction peut être utile si vous souhaitez bloquer les fonds de votre client avant de le débiter définitivement, le temps de la validation de votre commande par exemple. Ainsi, vous pouvez annuler l’opération sans être soumis aux frais de transaction ou de remboursement.

              Pour réaliser un paiement par carte avec capture différée (autorisation puis capture différée), vous devez :

              • Réaliser une autorisation en renseignant le paramètre « capture » de la Transaction avec la valeur « false ». Les fonds seront ainsi bloqués sur la carte du client.
              • Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount »)

              Vous avez 7 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés.

              3/ Pré-autorisation et capture différée

              Le service de pré-autorisation et capture différée (ou caution / PLBS) permet d’effectuer une pré-autorisation d’un certain montant, que vous pourrez ensuite capturer partiellement ou pleinement sous 30 jours. Durant cette période, les fonds vous sont garantis, ils sont donc bloqués sur la carte et ne peuvent être utilisés par votre client.

              Ce service n’est accessible qu’à certaines activités autorisées (locations de véhicules ou de matériels, hôtellerie…)

              Pour réaliser une pré-autorisation et capture différée, vous devez :

              • Réaliser une pré-autorisation en renseignant le paramètre « source » de la Transaction avec la valeur « DP ». Les fonds seront ainsi bloqués sur la carte du client.
              • Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount »)

              Vous avez 30 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés.

              4/ Vérification carte (empreinte sécurisée)

              Le service d’empreinte & vérification carte permet d’effectuer une autorisation à 0€ avec authentification du porteur (3DS 2.0). Ainsi, vous disposerez des informations concernant la carte de votre client (carte de débit, de crédit, prépayée…), et vous vous assurerez qu’elle n’est pas frauduleuse (carte non volée, porteur identifié…). Ce service est généralement utilisé pour enregistrer une carte avec 3DS en vue d’un abonnement avec une date de démarrage différée.

              Pour réaliser une prise d’empreinte & vérification carte (autorisation à 0€ sans capture), vous devez :

              • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « RI »
              • Nous vous recommandons également de créer un « customer » lors de la transaction, afin d’associer le « cardId » ainsi généré et de vous permettre un éventuel débit ultérieur de cette carte.

              5/ Débit carte seul (MO/TO)

              Le service de paiement MOTO (Mail Order / Telephone Order) permet d’effectuer une autorisation puis une capture d’une carte, sans la présence de son porteur. Il est généralement utilisé par les hôtels pour le débit de services ou de consommations additionnelles en fin de séjour.

              Attention, ce service n’est accessible qu’à certaines activités autorisées (hôtellerie…), et apporte des résultats de conversion de moins en moins performants depuis la directive DSP2, car elle ne permet pas l’authentification du porteur de carte.

              Pour réaliser un paiement MOTO, vous devez :

              • Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « MO » (Mail Order) ou « TO » (Telephone Order).

              6/ Paiement par carte en 1 clic

              Le paiement par carte en 1 clic consiste à enregistrer les données cartes de votre client, afin qu’il puisse régler sa commande sans avoir à les ressaisir. La ou les cartes du client sont stockées de manière sécurisée dans le Customer CentralPay. Il est dans ce cadre nécessaire de permettre à votre client de sélectionner la carte qu’il souhaite utiliser ou d’ajouter une nouvelle carte.

              Pour réaliser un paiement par carte en 1 clic, vous devez :

              • Sélectionner l’option « One-click » dans la configuration du point de vente.
              • Vous assurer que vos customer ont une carte liée à leur profil.

              Payout >

              See more about Payout

              Invoice & invoiceItem

              See more about Invoice & invoiceItem

              Transaction carte récurrente

              Selon les besoins de votre activité, CentralPay propose plusieurs modes de transactions récurrentes :

              • Abonnement depuis un modèle d’abonnement
                CentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont.
              • Abonnement depuis des transactions successives
                Vous pilotez le prélèvement de chaque échéance vous-même par API.
              • Paiement fractionné
                CentralPay fractionne une somme due en plusieurs transactions et gère leur prélèvement, selon les conditions de règlement que vous avez renseigné.

              Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form, créer un profil Customer pour ce client, et intégrer les principes d’authentification 3DS 2.0.

              Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales.

              Lors d’un paiement récurrent, votre client reçoit automatiquement un email contenant le détail de ses échéances. Ce mail contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire et de résilier un abonnement si besoin est.

              1/ Abonnement depuis un modèle d’abonnement

              1.1/ Création

              Vous devez d’abord :

              • créer un formulaire de paiement Custom Form,
              • créer un Customer contenant au moins une Card
              • et réaliser une authentification 3DS 2.0 BRW.

              Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur.

              1.2/ Cas d’intégration spécifiques

              • Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une Transaction suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.
              • Si vous souhaitez simplement faire démarrer un abonnement à une date précise, vous pouvez d’abord réaliser une empreinte carte vérifiée suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.

              2/ Abonnement depuis des transactions successives

              2.1/ Création

              Vous devez d’abord :

              • créer un formulaire de paiement Custom Form,
              • créer un Customer contenant au moins une Card
              • réaliser une authentification 3DS 2.0 BRW
              • réaliser une première Transaction

              Ensuite, vous pourrez initier vous-même les prochaines Transactions en utilisant l’authentification 3DS 3RI.

              2.2/ Informations importantes

              • pour garantir un taux de conversion optimum, le montant de la première transaction doit être supérieur ou égal aux montants des transactions suivantes réalisées avec l’authentification 3DS 3RI.
              • la plateforme CentralPay ne considérera pas les transactions générées comme des « abonnements », ainsi les interfaces « Portail utilisateur » et « Portail client » afficheront ces opérations au même titre qu’une succession de transactions unitaires.
              • avec ce modèle, le système d’automatisation des nouvelles tentatives ne s’appliquera pas en cas d’échec de prélèvement d’une de vos transactions.

              3/ Paiement fractionné

              3.1/ Création

              Vous devez d’abord :

              • créer un formulaire de paiement Custom Form,
              • créer un Customer contenant au moins une Card
              • et réaliser une authentification 3DS 2.0 BRW.

              Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

              Create Enrollement

              Transaction carte via wallet

              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.

              Forfaits d'accompagnement

              Les forfaits d’accompagnement permettent une mise en service rapide, guidée par nos équipes support intégration (SI) et service client (SC). Les heures d’accompagnement vous permettent de déléguer certains paramétrages de votre compte et de solliciter des échanges visio : avec le SI pour les sujets techniques, avec le SC pour ceux d’ordre administratif / fonctionnels.

              1/ Accompagnement à l’intégration Smart Collection

              Accompagnement à l’intégration, au choixFrais (HT)
              En autonomie
              2 heures d’accompagnement équipe Service Client
              Inclus
              (offres Starter, Medium et Major Company)
              Accompagnement standard
              Analyse technique du projet par équipe Service Intégration
              2 heures d’accompagnement équipe Service Intégration
              2 heures d’accompagnement équipe Service Client
              490 €
              Accompagnement avancé
              Analyse technique et suivi par Responsable Service Intégration dédié
              3 heures d’accompagnement par Responsable Service Intégration dédié
              3 heures d’accompagnement par Responsable Service Client dédié
              1 990 €

              2/ Accompagnement à l’intégration Smart Collection et Easy Wallet

              Accompagnement à l’intégration, au choixFrais (HT)
              En autonomie
              3 heures d’accompagnement équipe Service Client
              Inclus
              (offres Medium et Major Partner)
              Accompagnement standard
              Analyse technique du projet par équipe Service Intégration
              5 heures d’accompagnement équipe Service Intégration
              5 heures d’accompagnement équipe Service Client
              990 €
              Accompagnement avancé
              Analyse technique et suivi par Responsable Service Intégration dédié
              10 heures d’accompagnement par Responsable Service Intégration dédié
              10 heures d’accompagnement par Responsable Service Client dédié
              2 990 €

              3/ Forfaits d’accompagnement horaire par le service client

              Accompagnement horaire au choix, utilisable pour déléguer des paramétrages de comptes, des interventions avec tests, des analyses spécifiques…Frais (HT)
              Forfait d’accompagnement 2 h
              2 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
              250 €
              Forfait d’accompagnement 5 h
              5 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
              490 €
              Forfait d’accompagnement 10 h
              10 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.
              890 €

              Webhook notifications

              Articles

              • The BANKACCOUNT object
              • The CARD object
              • The CREDIT object
              • The CUSTOMER object
              • The DEPOSIT object
              • The DISPUTE object
              • The INSTALLMENT object
              • The ONBOARDING object
              • The PAYMENT REQUEST object
              • The PAYOUT object
              • The REFUND object
              • The SCT Transaction object
              • The SDD TRANSACTION object
              • The MANDATE object
              • The SUBSCRIPTION object
              • The TRANSACTION object
              • The TRANSFER REVERSAL object
              • The TRANSFER object
              • The WIRETRANSFER object (Deprecated)

              The BANKACCOUNT object

              BANKACCOUNT_ACCEPTED
              When a Bank account is accepted
              {
                "eventId": "e9229c2d-43f3-47aa-a2d4-09b2cd8afeef",
                "type": "BANKACCOUNT_ACCEPTED",
                "creationDate": "2024-01-05T12:44:06.262837+01:00",
                "object": {
                  "attachments": [],
                  "bankAccountId": "e6337e4f-6067-42ca-b7f0-9b7bce77c21e",
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-05T12:44:06.044772+01:00",
                  "currency": "EUR",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "iban": "FR7612548029980000000150086",
                  "name": "GAUTHIER REF API",
                  "ownerAddress": "142 RUE DE LA REFAPI",
                  "ownerCity": "TOURS",
                  "ownerCountry": "FRA",
                  "ownerName": "GAUTHIER REFAPI",
                  "ownerPostalCode": "37000",
                  "type": "CUSTOMER_ACCOUNT"
                },
                "requestId": "0062091d-0377-4a47-bc95-b5717636825f"
              }

              BANKACCOUNT_PENDING
              When a Bank account is pending
              {
                "eventId": "601c64e9-b65e-4369-8f70-5d32ce853073",
                "type": "BANKACCOUNT_PENDING",
                "creationDate": "2024-01-15T14:26:17.381461+01:00",
                "object": {
                  "attachments": [],
                  "bankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-15T14:26:17.189030+01:00",
                  "currency": "EUR",
                  "iban": "DE91100000000123456789",
                  "merchantId": "e962cfc2-1d4f-4f4f-8688-71c38920ca6b",
                  "name": "GAUTHIER REF API",
                  "ownerAddress": "142 RUE DE LA REFAPI",
                  "ownerCity": "TOURS",
                  "ownerCountry": "FRA",
                  "ownerName": "GAUTHIER REFAPI",
                  "ownerPostalCode": "37000",
                  "type": "MERCHANT_ACCOUNT"
                },
                "requestId": "0965a4a6-e353-47ad-b844-40f7feca3ef0"
              }

              BANKACCOUNT_UPDATED
              When a Bank account is updated
              {
                  "name": "GAUTHIER REF API",
                  "description": null,
                  "ownerName": "GAUTHIER REFAPI",
                  "ownerAddress": "142 RUE DE LA REFAPI",
                  "ownerDescription": null,
                  "ownerPostalCode": "37000",
                  "ownerCity": "TOURS",
                  "ownerCountry": "FRA",
                  "iban": "FR7612548029980000000150086",
                  "bic": "AXABFRPP",
                  "currency": "EUR",
                  "type": "CUSTOMER_ACCOUNT",
                  "bankAccountId": "e6337e4f-6067-42ca-b7f0-9b7bce77c21e",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "merchantId": null,
                  "creationDate": "2024-01-05T12:44:06.044772+01:00",
                  "attachments": []
              }

              The CARD object

              CARD_UPDATED
              When a card is updated
              {
                "eventId": "5f037905-d0f2-4171-bc6f-fbab3b3e56e2",
                "type": "CARD_UPDATED",
                "creationDate": "2024-01-05T12:55:39.727533+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                  "cardType": "DEBIT",
                  "cardholderEmail": "test@gmail.com",
                  "cardholderName": "MARIE ANNE",
                  "check": true,
                  "commercialBrand": "MASTERCARD",
                  "country": "FRA",
                  "creationDate": "2024-01-05T12:52:41.054394+01:00",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "europeanEconomicArea": true,
                  "expirationMonth": 9,
                  "expirationYear": 2035,
                  "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                  "first6": "532509",
                  "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                  "last4": "0008",
                  "productType": "CORPORATE",
                  "region": "EUROPE"
                },
                "requestId": "296311d9-1f68-4f1f-a9bf-7879afb92c7b",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                  "cardType": "DEBIT",
                  "cardholderEmail": "gduhamel@centralpay.eu",
                  "check": true,
                  "commercialBrand": "MASTERCARD",
                  "country": "FRA",
                  "creationDate": "2024-01-05T12:52:41.054394+01:00",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "europeanEconomicArea": true,
                  "expirationMonth": 9,
                  "expirationYear": 2035,
                  "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                  "first6": "532509",
                  "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                  "last4": "0008",
                  "productType": "CORPORATE",
                  "region": "EUROPE"
                }
              

              CARDTOKEN_CREATED
              When a card token is created
              {
                "eventId": "3973ea45-d327-48d7-b74a-08cbffc821e9",
                "type": "CARDTOKEN_CREATED",
                "creationDate": "2024-01-05T14:23:41.971425+01:00",
                "object": {
                  "card": {
                    "additionalData": {},
                    "cardId": "81e54dd0-512e-47c0-91f3-54e81b74a3ea",
                    "cardTokenId": "a3d37fd6-2ad7-4e9d-a4a0-b0b1aff44b50",
                    "cardType": "DEBIT",
                    "cardholderEmail": "Conner44@yahoo.com",
                    "cardholderName": "GAUTHIER REFAPI",
                    "check": true,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:23:41.881571+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2025,
                    "fingerprint": "edb9f9757c4be415db6616f94a04706a6b92dcd1",
                    "first6": "403203",
                    "last4": "2700",
                    "productType": "CONSUMER",
                    "region": "EUROPE"
                  },
                  "cardTokenId": "a3d37fd6-2ad7-4e9d-a4a0-b0b1aff44b50",
                  "creationDate": "2024-01-05T14:23:41.881571+01:00",
                  "endUserIp": "54.86.50.139",
                  "status": "UNUSED"
                },
                "requestId": "f55ea9cb-595a-4e5d-b9ba-52198b5b3a16"
              }

              The CREDIT object

              CREDIT_CREATED
              When a credit is created
              {
                "eventId": "b0ea7273-7421-4f3d-b9b6-27c1f521386b",
                "type": "CREDIT_CREATED",
                "creationDate": "2024-01-05T14:51:48.090154+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1"
                  },
                  "amount": 100,
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardTokenId": "39e38277-d68d-4970-b7ef-2f3e65e3ba1c",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "UNCLEARED",
                  "transactionTransfers": []
                },
                "requestId": "d4cf4f9b-83bc-4877-8d2a-c84a7183c666"
              }

              CREDIT_CANCELED
              When a credit is cancelled
              {
                "eventId": "df668650-b893-462e-aa1a-f232bed383da",
                "type": "CREDIT_CANCELED",
                "creationDate": "2024-01-05T14:53:29.028715+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "test": "test"
                  },
                  "amount": 100,
                  "cancelMovementId": "1555e13a-0344-403a-a01c-6d435c598659",
                  "cancellationDate": "2024-01-05T14:53:29.015180+01:00",
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "CANCELED",
                  "transactionTransfers": []
                },
                "requestId": "dca78a74-22f1-4fd8-a6bb-fc4be4735838"
              }

              CREDIT_UPDATED
              When a credit is updated
              {
                "eventId": "b51f11be-c535-49a4-8a70-6241afd75654",
                "type": "CREDIT_UPDATED",
                "creationDate": "2024-01-05T14:52:49.329773+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "test": "test"
                  },
                  "amount": 100,
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "UNCLEARED",
                  "transactionTransfers": []
                },
                "requestId": "300fdb28-2e74-4512-a7e9-f3fa843c8a7c",
                "objectBeforeUpdate": {
                  "additionalData": {
                    "key1": "value1"
                  },
                  "amount": 100,
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "UNCLEARED",
                  "transactionTransfers": []
                }
              }

              The CUSTOMER object

              CUSTOMER_CREATED
              When a customer is created
                  {
                "eventId": "8af1b16e-f78a-42ae-9304-69624a4023fc",
                "type": "CUSTOMER_CREATED",
                "creationDate": "2024-01-05T12:29:58.808367+01:00",
                "object": {
                  "additionalData": {},
                  "bankAccounts": [],
                  "cardMerchants": [],
                  "cards": [],
                  "creationDate": "2024-01-05T12:29:58.736339+01:00",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "email": "gduhamel@centralpay.eu",
                  "fee": 0,
                  "firstName": "JOCELYN",
                  "installmentPayments": [],
                  "language": "fre",
                  "lastName": "WISOKY",
                  "merchantCustomerId": "1704454198-GDU",
                  "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
                  "otpExpired": false,
                  "subscriptions": [],
                  "totalCharge": 0,
                  "wallets": []
                  }

              CUSTOMER_UPDATED
              When a customer is updated
              {
              "eventId": "94683d87-5919-4d4a-a547-21dbc7e7af1d",
              "type": "CUSTOMER_UPDATED",
              "creationDate": "2024-01-05T12:36:29.492916+01:00",
              "object": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [],
              "creationDate": "2024-01-05T12:29:58.736339+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "JOCELYN",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "WISOKY",
              "merchantCustomerId": "1704454198-GDU",
              "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
              },
              "requestId": "ca336699-db00-46c6-a797-228c320e351b",
              "objectBeforeUpdate": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [],
              "creationDate": "2024-01-05T12:29:58.736339+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "JOCELYN",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "WISOKY",
              "merchantCustomerId": "1704454198-GDU",
              "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
              }
              }


              CUSTOMER_OTP
              When a Customer OTP is received to confirm a transaction
              {
                "eventId": "7404acb7-6000-4059-9da2-97581df00dc8",
                "type": "CUSTOMER_OTP",
                "creationDate": "2024-01-26T12:02:55.839650+01:00",
                "object": {
                  "additionalData": {},
                  "bankAccounts": [],
                  "cardMerchants": [],
                  "cards": [
                    {
                      "additionalData": {},
                      "cardId": "a361cbf0-c334-4422-b4e8-4d96f6b72799",
                      "cardType": "DEBIT",
                      "cardholderEmail": "gduhamel@centralpay.eu",
                      "check": false,
                      "commercialBrand": "VISA",
                      "country": "FRA",
                      "creationDate": "2024-01-26T11:59:38.763535+01:00",
                      "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                      "europeanEconomicArea": true,
                      "expirationMonth": 9,
                      "expirationYear": 2035,
                      "fingerprint": "8e9302793aa37b661f9ec57013d105ad72f1bc86",
                      "first6": "400000",
                      "last4": "0002",
                      "productType": "UNKNOWN",
                      "region": "EUROPE"
                    }
                  ],
                  "creationDate": "2024-01-26T11:59:38.569182+01:00",
                  "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                  "email": "gduhamel@centralpay.eu",
                  "fee": 0,
                  "firstName": "BEULAH",
                  "installmentPayments": [],
                  "language": "fre",
                  "lastName": "PROSACCO",
                  "merchantCustomerId": "1706266777-GDU",
                  "movementId": "9afa479b-0859-4712-a614-2b1f38b81f9c",
                  "otpExpirationDate": "2024-01-26T12:17:55.731546+01:00",
                  "otpExpired": false,
                  "subscriptions": [],
                  "totalCharge": 0,
                  "wallets": []
                },
                "requestId": "5329117d-5f7f-471b-a8d7-832627252670",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "bankAccounts": [],
                  "cardMerchants": [],
                  "cards": [
                    {
                      "additionalData": {},
                      "cardId": "a361cbf0-c334-4422-b4e8-4d96f6b72799",
                      "cardType": "DEBIT",
                      "cardholderEmail": "gduhamel@centralpay.eu",
                      "check": false,
                      "commercialBrand": "VISA",
                      "country": "FRA",
                      "creationDate": "2024-01-26T11:59:38.763535+01:00",
                      "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                      "europeanEconomicArea": true,
                      "expirationMonth": 9,
                      "expirationYear": 2035,
                      "fingerprint": "8e9302793aa37b661f9ec57013d105ad72f1bc86",
                      "first6": "400000",
                      "last4": "0002",
                      "productType": "UNKNOWN",
                      "region": "EUROPE"
                    }
                  ],
                  "creationDate": "2024-01-26T11:59:38.569182+01:00",
                  "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                  "email": "gduhamel@centralpay.eu",
                  "fee": 0,
                  "firstName": "BEULAH",
                  "installmentPayments": [],
                  "language": "fre",
                  "lastName": "PROSACCO",
                  "merchantCustomerId": "1706266777-GDU",
                  "movementId": "9afa479b-0859-4712-a614-2b1f38b81f9c",
                  "otpExpired": false,
                  "subscriptions": [],
                  "totalCharge": 0,
                  "wallets": []
                }
              }

              The DEPOSIT object

              DEPOSIT_CREATED
              When a deposit is created
                  {
                      "depositId": "f63ea558-6e50-4dba-a7e7-eb8676144ea0",
                      "creationDate": "2020-11-16T10:55:11.163214+01:00",
                      "description": null,
                      "amount": 1500000,
                      "currency": "EUR",
                      "sepaReference": null,
                      "movementId": "9612fe9b-e226-4e9f-a0dc-8539a24ba748",
                      "merchantId": "0055bff7-566c-4688-818c-85caf3601785",
                      "destinationBankAccountId": "d9952704-5054-47fc-a068-c6865a9d00fd"
                  }

              DEPOSIT_UPDATED
              When a deposit is updated

              The DISPUTE object

              DISPUTE_UPDATED
              When a dispute is updated
              {
                "eventId": "91986115-56ed-442a-ace7-2207c7f7cfa1",
                "type": "DISPUTE_UPDATED",
                "creationDate": "2024-01-05T15:22:33.233092+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10,
                  "creationDate": "2024-01-05T15:16:27.776882+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "disputeDate": "2021-03-18",
                  "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                  "fee": 0,
                  "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                  "reason": "FRAUDULENT",
                  "status": "CHARGEBACK_WON",
                  "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116",
                  "wonMovementId": "569d7143-7357-4171-91ac-c03721a8ee30"
                },
                "requestId": "750fdf73-0782-482b-97f6-2dbfb809b563",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 10,
                  "creationDate": "2024-01-05T15:16:27.776882+01:00",
                  "currency": "EUR",
                  "disputeDate": "2021-03-18",
                  "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                  "fee": 0,
                  "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                  "reason": "FRAUDULENT",
                  "status": "CHARGEBACK_NOTICED",
                  "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116"
                }
              }

              DISPUTE_CREATED
              When a dispute is created

              The INSTALLMENT object

              INSTALLMENTPAYMENT_CREATED
              When an installment is created
              {
                "eventId": "ab0c4d87-336d-4f1d-94ac-8a19e91c90df",
                "type": "INSTALLMENTPAYMENT_CREATED",
                "creationDate": "2024-01-05T16:47:16.962837+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val1"
                  },
                  "amount": 1000,
                  "card": {
                    "commercialBrand": "MASTERCARD",
                    "first6": "532509",
                    "last4": "0008",
                    "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
                  },
                  "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:47:14.425730+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "depositAmount": 0,
                  "endUserIp": "245.100.1.15",
                  "feeAmount": 0,
                  "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                  "installments": [
                    {
                      "amount": 500,
                      "attemptCount": 1,
                      "creationDate": "2024-01-05T16:47:14.425041+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "d70bceea-1b4b-454f-ae04-3cfa5e877e01",
                      "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-05T16:47:15.250593+01:00",
                          "uuid": "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                        }
                      ],
                      "transactions": [
                        "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 500,
                      "attemptCount": 0,
                      "creationDate": "2024-01-05T16:47:14.425434+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "8a2fea18-7ce7-4320-a398-3aec7c7cd7e9",
                      "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                      "nextTransactionAttempt": "2024-02-05T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "merchantInstallmentPaymentId": "MIP_001",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-05",
                  "status": "ACTIVE"
                },
                "requestId": "66ec59e5-3f88-4cbd-a01f-b6be126084bf"
              }

              INSTALLMENTPAYMENT_FAILED
              When an installment failed
              {
                "eventId": "4e1bbe68-906d-4e33-923d-dfee760a2261",
                "type": "INSTALLMENTPAYMENT_FAILED",
                "creationDate": "2024-01-05T16:34:31.349325+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val1"
                  },
                  "amount": 1000,
                  "card": {
                    "commercialBrand": "MASTERCARD",
                    "first6": "532509",
                    "last4": "0008",
                    "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
                  },
                  "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:34:29.520817+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "depositAmount": 0,
                  "endUserIp": "245.100.1.15",
                  "feeAmount": 0,
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "installments": [
                    {
                      "amount": 500,
                      "attemptCount": 1,
                      "creationDate": "2024-01-05T16:34:29.520151+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-05T16:34:30.385545+01:00",
                          "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                        }
                      ],
                      "transactions": [
                        "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 500,
                      "attemptCount": 0,
                      "creationDate": "2024-01-05T16:34:29.520525+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "9d1fdd64-a45c-4f30-afb2-36734fdfbf39",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "merchantInstallmentPaymentId": "MIP_001",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-05",
                  "status": "CANCELED"
                },
                "requestId": "60a91f69-2549-4652-96ee-25fb58f48f56"
              }

              INSTALLMENTPAYMENT_UPDATED
              When an installment is updated
                  {
                      "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                      "creationDate": "2021-09-09T09:49:00.941254+02:00",
                      "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                      "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                      "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                      "cardId": "06a45250-8e22-41aa-a97a-284c225419a5",
                      "paymentRequestBreakdownId": "6e5ba89d-d275-4174-8cfd-9418dc6bd303",
                      "paymentRequestId": "c796df20-258e-4645-90d8-aad70349c547",
                      "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                      "depositStartingDate": null,
                      "startingDate": "2021-09-09",
                      "requestedCollectionDate": null,
                      "merchantInstallmentPaymentId": null,
                      "endUserIp": "92.154.127.221",
                      "endUserLanguage": null,
                      "amount": 300,
                      "depositAmount": 0,
                      "feeAmount": 0,
                      "currency": "EUR",
                      "description": null,
                      "intervalUnit": "WEEK",
                      "intervalCount": 1,
                      "iterationCount": 3,
                      "status": "ACTIVE",
                      "endToEndIdentification": null,
                      "remittanceInformation": "BCDEB2DEEB6E",
                      "installments": [
                          {
                              "installmentId": "ee6f170c-710a-4a9d-a79f-c163de336530",
                              "creationDate": "2021-09-09T09:49:00.940625+02:00",
                              "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                              "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                              "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                              "amount": 100,
                              "currency": "EUR",
                              "attemptCount": 1,
                              "paid": true,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": null,
                              "transactions": [],
                              "sddTransactions": [
                                  "116adfc1-7996-4bd7-9678-d4a2b1a77762"
                              ]
                          },
                          {
                              "installmentId": "26d5e572-4740-4c30-bbb8-5d2251e13e1d",
                              "creationDate": "2021-09-09T09:49:00.941206+02:00",
                              "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                              "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                              "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                              "amount": 100,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-09-16T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "afe58afd-712d-415f-adf5-70e980c73b57",
                              "creationDate": "2021-09-09T09:49:00.941224+02:00",
                              "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                              "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                              "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                              "amount": 100,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-09-23T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          }
                      ],
                      "additionalData": []
                  }

              INSTALLMENTPAYMENT_CANCELED
              When an installment is cancelled
              {
                "eventId": "47253f14-814e-4cf8-9582-be869145a80f",
                "type": "INSTALLMENTPAYMENT_CANCELED",
                "creationDate": "2024-01-05T16:34:31.276257+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val1"
                  },
                  "amount": 1000,
                  "card": {
                    "commercialBrand": "MASTERCARD",
                    "first6": "532509",
                    "last4": "0008",
                    "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
                  },
                  "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:34:29.520817+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "depositAmount": 0,
                  "endUserIp": "245.100.1.15",
                  "feeAmount": 0,
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "installments": [
                    {
                      "amount": 500,
                      "attemptCount": 1,
                      "creationDate": "2024-01-05T16:34:29.520151+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-05T16:34:30.385545+01:00",
                          "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                        }
                      ],
                      "transactions": [
                        "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 500,
                      "attemptCount": 0,
                      "creationDate": "2024-01-05T16:34:29.520525+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "9d1fdd64-a45c-4f30-afb2-36734fdfbf39",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "merchantInstallmentPaymentId": "MIP_001",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-05",
                  "status": "CANCELED"
                },
                "requestId": "1bac71b6-6d40-4618-b772-95c926cbeab2"
              }

              INSTALLMENTPAYMENT_ACTIVATED
              When an installment is activated

              INSTALLMENTPAYMENT_FAILURE
              When an installment failed to be paid

              INSTALLMENTPAYMENT_PAID
              When an installment is paid
              {
                "eventId": "17198557-e18a-4e75-a88f-d23ea841a641",
                "type": "INSTALLMENTPAYMENT_PAID",
                "creationDate": "2024-01-30T12:19:22.324713+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "card": {
                    "commercialBrand": "VISA",
                    "first6": "403203",
                    "last4": "2700",
                    "uuid": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82"
                  },
                  "cardId": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:40:35.818249+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "depositAmount": 0,
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "feeAmount": 0,
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "installments": [
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:40:35.818185+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "c3c2eb3c-9935-4eb1-a9bd-42f62f1c035c",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-15T12:40:36.418127+01:00",
                          "uuid": "7f642ab2-5c15-4420-b85a-a97cb819844d"
                        }
                      ],
                      "transactions": [
                        "7f642ab2-5c15-4420-b85a-a97cb819844d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:40:35.818207+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "6eaf48a5-d0df-40d2-bd62-a297444d37d2",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-30T12:19:20.941639+01:00",
                          "uuid": "ea71af48-6048-46e0-8703-7cb3e0a24b65"
                        }
                      ],
                      "transactions": [
                        "ea71af48-6048-46e0-8703-7cb3e0a24b65"
                      ],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestBreakdownId": "b665743f-6671-4749-9727-f801c0d9915a",
                  "paymentRequestId": "3192c6e1-89e6-4d5a-9d96-3208b37f5c3f",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2023-12-15",
                  "status": "PAID"
                },
                "requestId": "7ef61f64-e4e9-4021-8d29-c4b449b762f8"
              }

              INSTALLMENTPAYMENT_UNPAID
              When an installment is unpaid
                  {
                      "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                      "creationDate": "2021-09-03T10:38:16.811541+02:00",
                      "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                      "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                      "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                      "cardId": "d3143e10-9660-48bb-b6a6-b2e1100ecf6f",
                      "paymentRequestBreakdownId": null,
                      "paymentRequestId": null,
                      "mandateId": null,
                      "depositStartingDate": "2021-09-03",
                      "startingDate": "2021-09-17",
                      "requestedCollectionDate": null,
                      "merchantInstallmentPaymentId": "testInstall",
                      "endUserIp": "91.229.230.41",
                      "endUserLanguage": "fre",
                      "amount": 550000,
                      "depositAmount": 50000,
                      "feeAmount": 0,
                      "currency": "EUR",
                      "description": null,
                      "intervalUnit": "WEEK",
                      "intervalCount": 2,
                      "iterationCount": 10,
                      "status": "UNPAID",
                      "endToEndIdentification": null,
                      "remittanceInformation": null,
                      "installments": [
                          {
                              "installmentId": "1a123952-cc30-47c2-8f2e-1b6182fd25a6",
                              "creationDate": "2021-09-03T10:38:16.809510+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 1,
                              "paid": false,
                              "type": "DEPOSIT",
                              "nextTransactionAttempt": "2021-09-03T08:00+02:00",
                              "transactions": [
                                  "91c604d8-a63c-483c-87aa-f03181a634b5"
                              ],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "28754849-1b22-491b-bc15-7f38d0c9a988",
                              "creationDate": "2021-09-03T10:38:16.810529+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-09-17T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "666f0320-7766-464e-949b-e7ce9997a173",
                              "creationDate": "2021-09-03T10:38:16.810564+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-10-01T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "1b88ddcc-5c9e-4b43-a3cc-6792d9162ea4",
                              "creationDate": "2021-09-03T10:38:16.810582+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-10-15T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "1f25ec3c-d846-4f9c-80e9-c5b86adef8eb",
                              "creationDate": "2021-09-03T10:38:16.810595+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-10-29T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "9d206cee-565d-4181-9987-d65f82a0ffaa",
                              "creationDate": "2021-09-03T10:38:16.810609+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-11-12T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "4fecfcf0-7b4a-4241-a716-a56bc840bd20",
                              "creationDate": "2021-09-03T10:38:16.810621+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-11-26T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "703d1c4f-f1a6-4e30-9a8c-83cd9916f42e",
                              "creationDate": "2021-09-03T10:38:16.810634+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-12-10T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "4c98d99f-f321-43bf-a37e-801a85d03200",
                              "creationDate": "2021-09-03T10:38:16.810646+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-12-24T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "893c6120-7f51-4616-9f18-7880c76747fb",
                              "creationDate": "2021-09-03T10:38:16.810658+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2022-01-07T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "8bf4e146-8737-4260-84f5-1a95653d1e24",
                              "creationDate": "2021-09-03T10:38:16.810671+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2022-01-21T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          }
                      ],
                      "additionalData": []
                  }

              INSTALLMENT_TRANSACTION_SUCCEEDED
              When a transaction of an installment is make
              {
                "eventId": "a4bb53ba-c913-4077-bf75-5b3d91c0f026",
                "type": "INSTALLMENT_TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-05T16:47:16.914769+01:00",
                "object": {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:47:14.425041+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "d70bceea-1b4b-454f-ae04-3cfa5e877e01",
                  "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                  "paid": true,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:47:15.250593+01:00",
                      "uuid": "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                    }
                  ],
                  "transactions": [
                    "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                  ],
                  "type": "INSTALLMENT"
                },
                "requestId": "05809a07-9e49-44be-91c2-4ca357f2a7cc"
              }

              INSTALLMENT_TRANSACTION_FAILED
              When a transaction of an installment is failed
              {
                "eventId": "2518ae0a-7e88-4458-86cb-3ef2a71f07bf",
                "type": "INSTALLMENT_TRANSACTION_FAILED",
                "creationDate": "2024-01-05T16:34:31.034977+01:00",
                "object": {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:34:29.520151+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "nextTransactionAttempt": "2024-01-08T04:00+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:34:30.385545+01:00",
                      "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                    }
                  ],
                  "transactions": [
                    "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                  ],
                  "type": "INSTALLMENT"
                },
                "requestId": "89cb89a8-618a-46f6-8971-c8f84a57f61e"
              }

              The ONBOARDING object

              ONBOARDING_ENROLLMENT_CREATED
              When the onboarding request has been accept. You will receive an enrollementId associated to you custom reference.
              {
                "eventId": "8eb9f549-325d-4451-8e98-d90f1bf5635a",
                "type": "ONBOARDING_ENROLLMENT_CREATED",
                "creationDate": "2024-01-10T09:14:51.488392+01:00",
                "object": {
                  "workflow": {
                    "uuid": "b1161973-7ec2-4dd0-a23e-abb788b68844",
                    "status": "ON_GOING",
                    "activities": [
                      {
                        "step_elements": [],
                        "uuid": "e08b0baf-c947-4b82-bd69-f98a2a67c511",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-10T09:14:51"
                      }
                    ],
                    "additional_documents": []
                  },
                  "identity_badge": null,
                  "representatives_list": null,
                  "inactive_representatives_list": [],
                  "infogreffe_identity": null,
                  "language": "fr",
                  "risk_score": {
                    "activity": 2,
                    "activity_age": null,
                    "turnover": 1,
                    "bank_account": 0,
                    "total": null
                  },
                  "additional_document_need_upload": false,
                  "uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "risk_points": null,
                  "created_at": "2024-01-10T09:14:51",
                  "last_updated_at": null,
                  "turnover_is_fixed": false,
                  "workflow_mode": "SEQUENTIAL",
                  "risk_level": "LOW",
                  "type": "INDIVIDUAL",
                  "is_canceled": false,
                  "enrollment_account": null,
                  "profile": {
                    "birthname": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "uuid": "805a41ad-bd70-4841-a0d4-91f9082860dd",
                    "workflow": {
                      "uuid": "24d6e160-5f16-4e60-81a2-f5b6942ce629",
                      "status": "ON_GOING",
                      "activities": [
                        {
                          "step_elements": [
                            {
                              "status": "COMPLETED",
                              "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                              "value": "Carmelo",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                              "value": "Littel",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                              "value": "verna11@yahoo.com",
                              "element-type": "email"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            }
                          ],
                          "uuid": "adf915df-d11f-4862-b76d-1c1e4e06994d",
                          "name": "identityInfos",
                          "state": "TODO",
                          "category": "identity",
                          "created_at": "2024-01-10T09:14:51"
                        }
                      ],
                      "additional_documents": []
                    },
                    "firstname": {
                      "status": "COMPLETED",
                      "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                      "value": "Carmelo",
                      "element-type": "firstname"
                    },
                    "lastname": {
                      "status": "COMPLETED",
                      "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                      "value": "Littel",
                      "element-type": "lastname"
                    },
                    "usename": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "email": {
                      "status": "COMPLETED",
                      "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                      "value": "verna11@yahoo.com",
                      "element-type": "email"
                    },
                    "language": {
                      "status": "ON_GOING",
                      "uuid": "78daf0f6-4659-461f-a817-72c4b233cd70",
                      "locale": {
                        "identifier": "fr"
                      },
                      "element-type": "language"
                    },
                    "phone": {
                      "status": "COMPLETED",
                      "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                      "value": "+3300000000",
                      "element-type": "phone"
                    },
                    "birthday": {
                      "status": "COMPLETED",
                      "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                      "value": "1993-01-01T00:00:00",
                      "element-type": "birthday"
                    },
                    "login": null,
                    "bo_user_uuid": null
                  },
                  "activity_sector": {
                    "name": "Artisans (plumber, electricians, ...)"
                  },
                  "data": {
                    "type": "PARTICULAR",
                    "company_name": null,
                    "history": [],
                    "turnover": {
                      "name": "Less than 20k EUR"
                    },
                    "activity_age": null
                  },
                  "custom_reference": null,
                  "is_converted": false,
                  "conformity_status": "ON_GOING",
                  "conformity_status_level_two": null,
                  "comments_level_two": null,
                  "validator_level_one": null,
                  "validator_level_two": null,
                  "merchant_uuid": null,
                  "validation_date": null,
                  "validation_date_level_two": null,
                  "sub_type": null,
                  "api_infogreffe_attempt": 0,
                  "next_step": 0,
                  "full_kyc": false
                },
                "requestId": "b59cf6d0-4180-4a0e-b26d-8d2e34759c46"
              }

              ONBOARDING_ENROLLMENT_STATUS_UPDATED
              An ongoing onboarding has been updated.
              {
                "eventId": "e4e42e20-1819-49d3-af96-9a7ecb978a5d",
                "type": "ONBOARDING_ENROLLMENT_STATUS_UPDATED",
                "creationDate": "2024-01-10T09:16:02.927117+01:00",
                "object": {
                  "workflow": {
                    "uuid": "b1161973-7ec2-4dd0-a23e-abb788b68844",
                    "status": "ON_GOING",
                    "activities": [
                      {
                        "step_elements": [],
                        "uuid": "e08b0baf-c947-4b82-bd69-f98a2a67c511",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-10T09:14:51"
                      }
                    ],
                    "additional_documents": []
                  },
                  "identity_badge": null,
                  "representatives_list": null,
                  "inactive_representatives_list": [],
                  "infogreffe_identity": null,
                  "language": "fr",
                  "risk_score": {
                    "activity": 2,
                    "activity_age": null,
                    "turnover": 1,
                    "bank_account": 0,
                    "total": null
                  },
                  "additional_document_need_upload": false,
                  "uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "risk_points": null,
                  "created_at": "2024-01-10T09:14:51",
                  "last_updated_at": "2024-01-10T09:16:02",
                  "turnover_is_fixed": false,
                  "workflow_mode": "SEQUENTIAL",
                  "risk_level": "LOW",
                  "type": "INDIVIDUAL",
                  "is_canceled": false,
                  "enrollment_account": null,
                  "profile": {
                    "birthname": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "uuid": "805a41ad-bd70-4841-a0d4-91f9082860dd",
                    "workflow": {
                      "uuid": "24d6e160-5f16-4e60-81a2-f5b6942ce629",
                      "status": "ACCEPTED",
                      "activities": [
                        {
                          "step_elements": [
                            {
                              "status": "COMPLETED",
                              "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                              "value": "Carmelo",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                              "value": "Littel",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                              "value": "verna11@yahoo.com",
                              "element-type": "email"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                              "value": "Carmelo",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                              "value": "Littel",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                              "value": "verna11@yahoo.com",
                              "element-type": "email"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "08942994-180a-469e-9139-fa2fa09375ec",
                              "documents": [
                                {
                                  "file_check": null
                                }
                              ],
                              "type": "PASSPORT",
                              "proof_of_identity_document": null,
                              "expiry_date": null,
                              "document_number": null,
                              "mrz_line1": null,
                              "mrz_line2": null,
                              "issuing_country": null,
                              "element-type": "identity-document"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "01994746-c538-4387-a07d-af53b40e797d",
                              "name_line1": "rue du bois",
                              "name_line2": null,
                              "name_line3": null,
                              "name_line4": null,
                              "locality": "Tours",
                              "postal_code": "37000",
                              "country": "FRA",
                              "element-type": "address"
                            }
                          ],
                          "uuid": "adf915df-d11f-4862-b76d-1c1e4e06994d",
                          "name": "identityInfos",
                          "state": "OK",
                          "category": "identity",
                          "created_at": "2024-01-10T09:14:51"
                        },
                        {
                          "step_elements": [],
                          "uuid": null,
                          "name": "finished",
                          "state": "OK",
                          "category": null,
                          "created_at": null
                        }
                      ],
                      "additional_documents": []
                    },
                    "firstname": {
                      "status": "COMPLETED",
                      "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                      "value": "Carmelo",
                      "element-type": "firstname"
                    },
                    "lastname": {
                      "status": "COMPLETED",
                      "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                      "value": "Littel",
                      "element-type": "lastname"
                    },
                    "usename": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "email": {
                      "status": "COMPLETED",
                      "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                      "value": "verna11@yahoo.com",
                      "element-type": "email"
                    },
                    "language": {
                      "status": "ON_GOING",
                      "uuid": "78daf0f6-4659-461f-a817-72c4b233cd70",
                      "locale": {
                        "identifier": "fr"
                      },
                      "element-type": "language"
                    },
                    "phone": {
                      "status": "COMPLETED",
                      "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                      "value": "+3300000000",
                      "element-type": "phone"
                    },
                    "birthday": {
                      "status": "COMPLETED",
                      "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                      "value": "1993-01-01T00:00:00",
                      "element-type": "birthday"
                    },
                    "login": null,
                    "bo_user_uuid": null
                  },
                  "activity_sector": {
                    "name": "Hotels & holiday rentals"
                  },
                  "data": {
                    "type": "PARTICULAR",
                    "company_name": null,
                    "history": [],
                    "turnover": {
                      "name": "Less than 20k EUR"
                    },
                    "activity_age": null
                  },
                  "custom_reference": null,
                  "is_converted": false,
                  "conformity_status": "ON_GOING",
                  "conformity_status_level_two": null,
                  "comments_level_two": null,
                  "validator_level_one": null,
                  "validator_level_two": null,
                  "merchant_uuid": null,
                  "validation_date": null,
                  "validation_date_level_two": null,
                  "sub_type": null,
                  "api_infogreffe_attempt": 0,
                  "next_step": 0,
                  "full_kyc": false
                },
                "requestId": "e2324dd3-59e4-44e2-a0d7-fe7df9c4a690"
              }

              ONBOARDING_ENROLLMENT_INVALID_DOCUMENTS
              Some documents are regarded as invalid by the Centralpay conformity
              {
                  "uuid": "bc0fac82-xxxx-xxxx-8107-80b12cae168b",
                  "activities": [
                      {
                          "uuid": "ffd29ae2-xxxx-xxxx-b6cc-a368c664f224",
                          "name": "identityInfos",
                          "step_elements": [
                              {
                                  "uuid": "ac1c8f9c-xxxx-xxxx-a10b-1e26937942fc",
                                  "field": "IdentityDocument",
                                  "comment": "Le document est expiré",
                                  "reasons": [
                                      {
                                          "reason": "OTHER",
                                          "comment": null
                                      }
                                  ]
                              }
                          ]
                      }
                  ]
              }

              ONBOARDING_ENROLLMENT_VALID_DOCUMENTS
              Some documents are regarded as valid by the Centralpay conformity
              {
                  "uuid": "c5ed5ac3-xxxx-xxxx-909a-e7e8fde6ab0e",
                  "risk_level": "MEDIUM",
                  "merchant_block_configuration_status": "NONE"
              }

              ONBOARDING_PAYMENT_ACCOUNT_CREATED
              The account has been created.
              {
                "eventId": "69d19eb6-5b4d-4658-8149-526d779328a4",
                "type": "ONBOARDING_PAYMENT_ACCOUNT_CREATED",
                "creationDate": "2024-01-10T09:17:04.318216+01:00",
                "object": {
                  "merchantEnrollmentId": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "merchantEnrollmentCustomReference": null,
                  "merchantEnrollmentType": "BASIC",
                  "merchantId": "cac4f315-4dbf-45da-bb3c-4c9b64fe81c1",
                  "merchantName": "Carmelo Littel",
                  "merchantWalletId": "9a8fc3a1-bece-4ef2-a92a-d6341f8799e0",
                  "creationDate": "2024-01-10T09:17:03+0100",
                  "merchantBlockConfigurationStatus": "NONE"
                },
                "requestId": "abd91f96-78c3-4277-8eea-b2a4e323efd3"
              }

              ONBOARDING_PAYMENT_ACCOUNT_UPDATED
              The account has been update. You receive those elements

              ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTED
              Additionnal documents or information have been request on one ongoing onboarding.
                  {
                      "uuid": "1ad91002-fcad-4056-a41f-82ab63687af2",
                      "additional_documents": 
                    {
                          "uuid": "eb0b568a-a619-4d80-b35a-846144ef1925",
                          "created_at": "2021-03-23T17:30:35+01:00",
                          "type": "AUDITED_FINANCIAL_REPORT",
                          "additional_documents_history": 
                        [
                              {
                                  "uuid": "1a330b31-9150-45cd-9fc3-bb3bed751b7b",
                                  "created_at": "2021-03-23T17:30:35+01:00",
                                  "status": "NOT_UPLOADED",
                                  "comment": "en couleur de moins de 3 mois",
                                  "additional_document_history_status": 
                                  [
                                      {
                                          "changed_at": "2021-03-23T17:30:35+01:00",
                                          "value": "NOT_UPLOADED"
                                      }
                                  ]
                              }
                          ]
                      }
                  }

              ONBOARDING_ADDITIONAL_DOCUMENT_UPDATED
              Additionnal documents or information have been provided by the account holder in one ongoing onboarding.

              ONBOARDING_ENROLLMENT_WORKFLOW_RESET
              The workflow has returned to it’s initial state
              {
                "eventId": "4fa7e538-9e45-4ba2-8c22-25bdb931ff19",
                "type": "ONBOARDING_ENROLLMENT_WORKFLOW_RESET",
                "creationDate": "2024-01-25T12:24:32.450115+01:00",
                "object": {
                  "workflow": {
                    "uuid": "cc91fb6c-55c0-48b3-82de-549d1061edf9",
                    "status": "ON_GOING",
                    "activities": [
                      {
                        "step_elements": [],
                        "uuid": "49ff33c2-d4e8-4eec-ad1c-43ebe822706b",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-25T12:24:32"
                      },
                      {
                        "step_elements": [],
                        "uuid": "49ff33c2-d4e8-4eec-ad1c-43ebe822706b",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-25T12:24:32"
                      }
                    ],
                    "additional_documents": []
                  },
                  "identity_badge": null,
                  "representatives_list": null,
                  "inactive_representatives_list": [],
                  "infogreffe_identity": null,
                  "language": "fr",
                  "risk_score": {
                    "activity": 2,
                    "activity_age": null,
                    "turnover": 1,
                    "bank_account": 0,
                    "total": null
                  },
                  "additional_document_need_upload": false,
                  "uuid": "b7fa53f5-1cc7-4524-8a41-364b6e85f6b4",
                  "risk_points": null,
                  "created_at": "2024-01-25T12:21:11",
                  "last_updated_at": null,
                  "turnover_is_fixed": false,
                  "workflow_mode": "SEQUENTIAL",
                  "risk_level": "LOW",
                  "type": "INDIVIDUAL",
                  "is_canceled": false,
                  "enrollment_account": null,
                  "profile": {
                    "birthname": {
                      "status": "ON_GOING",
                      "uuid": "a404d8cf-d4f5-412a-b0a2-fc8843fbe7ed",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "uuid": "c8e69bcf-cd2a-4dd5-85a6-252ba8ef2fa2",
                    "workflow": {
                      "uuid": "512c94e7-f470-446f-b030-65729b681d41",
                      "status": "ON_GOING",
                      "activities": [
                        {
                          "step_elements": [
                            {
                              "status": "COMPLETED",
                              "uuid": "e3832733-a07c-4f29-999a-945854cae097",
                              "value": "Alejandra",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "6f2bf419-ada4-4967-b6ff-4c02dee109f4",
                              "value": "Walter",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "a691c5d5-a62a-4cd9-97b1-b68c1e612d0f",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "e077ba27-5cfe-4a5b-ada9-cbf043d50cb5",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "faec075e-d17c-4c7d-ad2d-8e9ee573f840",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "d052f4da-c670-4075-8d29-d55fdae732a5",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "96693dd5-4463-402a-aea7-e034b414825a",
                              "value": "tessie_ebert@gmail.com",
                              "element-type": "email"
                            }
                          ],
                          "uuid": "b77d7bf7-ab6f-4cb0-ad18-22ac66a50a3b",
                          "name": "identityInfos",
                          "state": "TODO",
                          "category": "identity",
                          "created_at": "2024-01-25T12:21:11"
                        }
                      ],
                      "additional_documents": []
                    },
                    "firstname": {
                      "status": "COMPLETED",
                      "uuid": "e3832733-a07c-4f29-999a-945854cae097",
                      "value": "Alejandra",
                      "element-type": "firstname"
                    },
                    "lastname": {
                      "status": "COMPLETED",
                      "uuid": "6f2bf419-ada4-4967-b6ff-4c02dee109f4",
                      "value": "Walter",
                      "element-type": "lastname"
                    },
                    "usename": {
                      "status": "ON_GOING",
                      "uuid": "a404d8cf-d4f5-412a-b0a2-fc8843fbe7ed",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "email": {
                      "status": "COMPLETED",
                      "uuid": "96693dd5-4463-402a-aea7-e034b414825a",
                      "value": "tessie_ebert@gmail.com",
                      "element-type": "email"
                    },
                    "language": {
                      "status": "ON_GOING",
                      "uuid": "232259eb-02cf-48af-9693-d678fecd9dc1",
                      "locale": {
                        "identifier": "fr"
                      },
                      "element-type": "language"
                    },
                    "phone": {
                      "status": "COMPLETED",
                      "uuid": "a691c5d5-a62a-4cd9-97b1-b68c1e612d0f",
                      "value": "+3300000000",
                      "element-type": "phone"
                    },
                    "birthday": {
                      "status": "COMPLETED",
                      "uuid": "faec075e-d17c-4c7d-ad2d-8e9ee573f840",
                      "value": "1993-01-01T00:00:00",
                      "element-type": "birthday"
                    },
                    "login": null,
                    "bo_user_uuid": null
                  },
                  "activity_sector": {
                    "name": "Artisans (plumber, electricians, ...)"
                  },
                  "data": {
                    "type": "PARTICULAR",
                    "company_name": null,
                    "history": [],
                    "turnover": {
                      "name": "Less than 20k EUR"
                    },
                    "activity_age": null
                  },
                  "custom_reference": null,
                  "is_converted": false,
                  "conformity_status": "ON_GOING",
                  "conformity_status_level_two": null,
                  "comments_level_two": null,
                  "validator_level_one": null,
                  "validator_level_two": null,
                  "merchant_uuid": null,
                  "validation_date": null,
                  "validation_date_level_two": null,
                  "sub_type": null,
                  "api_infogreffe_attempt": 0,
                  "next_step": 0,
                  "full_kyc": false,
                  "auto_updated_data": false
                },
                "requestId": "3ca496d0-bd87-4457-8460-fc1e502d4962"
              }

              ONBOARDING_PEP_SANCTION_SEARCH_RESULT
              The PEP Sanction search has return result, you receive those elements
              {
                "eventId": "a427366c-eb0b-4d68-9d81-22f406162024",
                "type": "ONBOARDING_PEP_SANCTION_SEARCH_RESULT",
                "creationDate": "2024-01-10T09:16:09.771127+01:00",
                "object": {
                  "enrollment_uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "enrollment_url": "https://test-backoffice.centralpay.net/admin/onboarding/c2e03650-2427-4c25-aa31-016c63f7261b/show",
                  "profile": {
                    "pep_validation": {
                      "created_at": "2024-01-10 09:16:04",
                      "status": "ACCEPTED",
                      "reference": "1704874567-MMSug5fh",
                      "client_ref": "225cab33-3c8d-4bc7-b6d8-7f7d7448b49d",
                      "review_url": "https://api.complyadvantage.com1704874567-MMSug5fh"
                    },
                    "sanction_validation": {
                      "created_at": "2024-01-10 09:16:04",
                      "status": "ACCEPTED",
                      "reference": "1704874567-MMSug5fh",
                      "client_ref": "225cab33-3c8d-4bc7-b6d8-7f7d7448b49d",
                      "review_url": "https://api.complyadvantage.com1704874567-MMSug5fh"
                    }
                  }
                },
                "requestId": "d995a82d-ff33-4c20-af58-2546f3ef4c09"
              }

              ENROLLMENT_CREATED
              When an enrollement is created

              The PAYMENT REQUEST object

              PAYMENTREQUEST_CREATED
              Happen when a payment request is created
              {
                "eventId": "75b8f668-c5ce-40c8-ba51-2423004b04d2",
                "type": "PAYMENTREQUEST_CREATED",
                "creationDate": "2024-01-08T11:47:27.515437+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 29000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/446ae220-96f7-40ec-bd9b-9c8b83e0919b",
                      "entered": false,
                      "firstName": "Corben",
                      "initiator": true,
                      "lastName": "DALLAS",
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "548c4ce7-d14f-486d-b9ac-b3caa3a9f5b6",
                      "payments": [],
                      "status": "UNPAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-08T11:47:27.494330+01:00",
                  "currency": "EUR",
                  "installments": [],
                  "language": "fre",
                  "linkExpirationDate": "2025-01-07T11:47:27.393093+01:00",
                  "merchantPaymentRequestId": "Facture 12334",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "TRANSACTION",
                    "SCT_TRANSACTION"
                  ],
                  "paymentRequestId": "1c3d2a38-5f0e-41d4-a177-cf87fb5da617",
                  "paymentRequestStatus": "ACTIVE",
                  "paymentStatus": "UNPAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 29000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "94977411-0b77-4792-b4cb-efd133911f66",
                    "source": "EC"
                  },
                  "transfers": [],
                  "wireTransfer": {
                    "paymentRequestWireTransferId": "329c9d8f-53de-4797-b6fc-d75ce3bf2466"
                  }
                },
                "requestId": "7dc393fc-f32a-4c4e-945e-f4f231610a47"
              }

              PAYMENTREQUEST_CANCELED
              Happen when a payment request is cancelled
              {
                "eventId": "092b72f8-67a3-489c-af21-684eef115c65",
                "type": "PAYMENTREQUEST_CANCELED",
                "creationDate": "2024-01-08T11:50:28.640892+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 29000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/446ae220-96f7-40ec-bd9b-9c8b83e0919b",
                      "entered": true,
                      "firstName": "Corben",
                      "initiator": true,
                      "lastName": "DALLAS",
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "548c4ce7-d14f-486d-b9ac-b3caa3a9f5b6",
                      "payments": [],
                      "status": "UNPAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-08T11:47:27.494330+01:00",
                  "currency": "EUR",
                  "endingDate": "2024-01-08T11:50:28.619151+01:00",
                  "installments": [],
                  "language": "fre",
                  "linkExpirationDate": "2025-01-07T11:47:27.393093+01:00",
                  "merchantPaymentRequestId": "Facture 12334",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "SCT_TRANSACTION",
                    "TRANSACTION"
                  ],
                  "paymentRequestId": "1c3d2a38-5f0e-41d4-a177-cf87fb5da617",
                  "paymentRequestStatus": "CANCELED",
                  "paymentStatus": "UNPAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 29000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "94977411-0b77-4792-b4cb-efd133911f66",
                    "source": "EC"
                  },
                  "transfers": [],
                  "wireTransfer": {
                    "paymentRequestWireTransferId": "329c9d8f-53de-4797-b6fc-d75ce3bf2466"
                  }
                },
                "requestId": "ff7f8976-a2fe-4a90-8bf1-55eb6a1abf5f"
              }

              PAYMENTREQUEST_CLOSED
              Happen when a payment request is closed
              {
                "eventId": "f06c4263-7708-476e-89c8-c6c52213d034",
                "type": "PAYMENTREQUEST_CLOSED",
                "creationDate": "2024-01-08T11:51:37.271485+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 29000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/7c9b8626-c7b1-46dc-9efa-7f7c994839e6",
                      "entered": true,
                      "firstName": "Corben",
                      "initiator": true,
                      "lastName": "DALLAS",
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "82ad8194-10e6-4639-8011-8cacd285f465",
                      "payments": [],
                      "status": "UNPAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-08T11:51:25.123940+01:00",
                  "currency": "EUR",
                  "endingDate": "2024-01-08T11:51:37.249097+01:00",
                  "installments": [],
                  "language": "fre",
                  "linkExpirationDate": "2025-01-07T11:51:25.039807+01:00",
                  "merchantPaymentRequestId": "Facture 12334",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "SCT_TRANSACTION",
                    "TRANSACTION"
                  ],
                  "paymentRequestId": "af2d283a-eec1-4d55-9fa9-82ae6a3a1212",
                  "paymentRequestStatus": "CLOSED",
                  "paymentStatus": "UNPAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 29000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "49d7fa4f-88d8-43bf-8ed1-2ac68a093953",
                    "source": "EC"
                  },
                  "transfers": [],
                  "wireTransfer": {
                    "paymentRequestWireTransferId": "a26099e7-af23-4b71-baa0-24608bb10f0e"
                  }
                },
                "requestId": "19ae9e22-5c4b-4c2b-a94c-a2fd41c3dcd2"
              }

              PAYMENTREQUEST_PAID
              Happen when a payment request is paid
              {
                "eventId": "04feded6-e56b-4980-903f-3f15d89405aa",
                "type": "PAYMENTREQUEST_PAID",
                "creationDate": "2024-01-15T12:36:33.155085+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 100000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/6afa376b-976a-4b79-8320-5baf16681b79",
                      "entered": true,
                      "initiator": true,
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "75b6d330-948e-4aef-8967-d88d2acc7190",
                      "payments": [
                        {
                          "creationDate": "2024-01-15T12:36:11.311665+01:00",
                          "paymentMethod": "TRANSACTION",
                          "uuid": "73d16504-a1d7-488a-8e0a-b350972f754d"
                        },
                        {
                          "creationDate": "2024-01-15T12:36:31.689550+01:00",
                          "paymentMethod": "TRANSACTION",
                          "uuid": "f80eee11-a633-46c2-bf08-f31d33d3107a"
                        }
                      ],
                      "status": "PAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-15T12:34:44.362675+01:00",
                  "currency": "EUR",
                  "endingDate": "2024-01-15T12:36:33.036207+01:00",
                  "installment": {
                    "depositAmount": 0,
                    "feeAmount": 0,
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 2,
                    "paymentRequestInstallmentId": "979caed1-430b-4984-8697-7f85eecaf482",
                    "source": "CARD",
                    "startingDate": "2024-01-15"
                  },
                  "installments": [
                    {
                      "depositAmount": 0,
                      "feeAmount": 0,
                      "intervalCount": 1,
                      "intervalUnit": "MONTH",
                      "iterationCount": 2,
                      "paymentRequestInstallmentId": "979caed1-430b-4984-8697-7f85eecaf482",
                      "source": "CARD",
                      "startingDate": "2024-01-15"
                    }
                  ],
                  "language": "eng",
                  "linkExpirationDate": "2025-01-14T12:34:44.285879+01:00",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "INSTALLMENT",
                    "TRANSACTION"
                  ],
                  "paymentRequestId": "2bfc4ab4-f878-46b8-8a12-3263d2d28842",
                  "paymentRequestStatus": "CLOSED",
                  "paymentStatus": "PAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 100000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "75b7c505-c546-475a-88ee-c169073d05b1",
                    "source": "EC"
                  },
                  "transfers": []
                },
                "requestId": "6847ced8-92ab-45df-9f1d-1069112b98e1"
              }

              PAYMENTREQUEST_INSTALLMENT_FAILED
              Happen when the installment of the payment request failed
              {
                "eventId": "36650db2-3f36-479f-9518-16699a289467",
                "type": "PAYMENTREQUEST_INSTALLMENT_FAILED",
                "creationDate": "2024-01-15T12:43:18.344841+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "card": {
                    "commercialBrand": "VISA",
                    "first6": "400000",
                    "last4": "0069",
                    "uuid": "3f3114d8-03eb-464d-9b0c-15200caa6d2d"
                  },
                  "cardId": "3f3114d8-03eb-464d-9b0c-15200caa6d2d",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:43:16.467780+01:00",
                  "currency": "EUR",
                  "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                  "depositAmount": 0,
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "feeAmount": 0,
                  "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                  "installments": [
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:43:16.467716+01:00",
                      "currency": "EUR",
                      "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                      "installmentId": "54c40fa5-e25e-451b-9c5f-7a6d715c449c",
                      "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                      "nextTransactionAttempt": "2024-01-18T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-15T12:43:17.074117+01:00",
                          "uuid": "70ccb90d-3b1a-43d2-b1ee-146e65cf4906"
                        }
                      ],
                      "transactions": [
                        "70ccb90d-3b1a-43d2-b1ee-146e65cf4906"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 50000,
                      "attemptCount": 0,
                      "creationDate": "2024-01-15T12:43:16.467738+01:00",
                      "currency": "EUR",
                      "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                      "installmentId": "1db9808f-cbd9-4498-8d35-497ff341c473",
                      "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                      "nextTransactionAttempt": "2024-02-15T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestBreakdownId": "fbd3f414-f1dc-416a-a4cd-d7bf76d21b77",
                  "paymentRequestId": "b4a010bb-8e3f-4261-af97-4993bede753f",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-15",
                  "status": "FAILURE"
                },
                "requestId": "e217a158-fc58-4b43-8c5d-6f23f7cc7977"
              }

              PAYMENTREQUEST_INSTALLMENT_SUCCEEDED
              Happen when the installment of the payment request succeeded
              {
                "eventId": "8f744f4e-4101-4df4-805f-22be1620b4e7",
                "type": "PAYMENTREQUEST_INSTALLMENT_SUCCEEDED",
                "creationDate": "2024-01-15T12:40:38.091171+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "card": {
                    "commercialBrand": "VISA",
                    "first6": "403203",
                    "last4": "2700",
                    "uuid": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82"
                  },
                  "cardId": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:40:35.818249+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "depositAmount": 0,
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "feeAmount": 0,
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "installments": [
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:40:35.818185+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "c3c2eb3c-9935-4eb1-a9bd-42f62f1c035c",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-15T12:40:36.418127+01:00",
                          "uuid": "7f642ab2-5c15-4420-b85a-a97cb819844d"
                        }
                      ],
                      "transactions": [
                        "7f642ab2-5c15-4420-b85a-a97cb819844d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 50000,
                      "attemptCount": 0,
                      "creationDate": "2024-01-15T12:40:35.818207+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "6eaf48a5-d0df-40d2-bd62-a297444d37d2",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "nextTransactionAttempt": "2024-02-15T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestBreakdownId": "b665743f-6671-4749-9727-f801c0d9915a",
                  "paymentRequestId": "3192c6e1-89e6-4d5a-9d96-3208b37f5c3f",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-15",
                  "status": "ACTIVE"
                },
                "requestId": "b843a04a-cb43-4883-a584-7adc52142c55"
              }

              PAYMENTREQUEST_SUBSCRIPTION_FAILED
              Happen when the subscription of the payment request failed
                  {
                      "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                      "creationDate": "2021-09-08T09:39:06.212604+02:00",
                      "walletId": null,
                      "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                      "cardId": "63afa65e-5674-49bf-9ac3-a98b82d16e92",
                      "mandateId": null,
                      "startingDate": "2021-09-08",
                      "endingDate": null,
                      "expectedEndingDate": "2022-09-07",
                      "currentPeriodStart": "2021-09-08",
                      "currentPeriodEnd": "2021-10-07",
                      "requestedCollectionDate": null,
                      "cancellationDate": null,
                      "paymentRequestBreakdownId": null,
                      "paymentRequestId": null,
                      "merchantSubscriptionId": null,
                      "subscriptionModel": {
                          "subscriptionModelId": "01c3f578-a589-4ef7-9bb6-d855ff0fa121",
                          "creationDate": "2021-09-08T09:39:06.137368+02:00",
                          "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                          "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                          "merchantSubscriptionModelId": null,
                          "amount": 10000,
                          "currency": "EUR",
                          "name": "Test Abo",
                          "description": null,
                          "intervalUnit": "MONTH",
                          "intervalCount": 1,
                          "iterationCount": 12,
                          "additionalData": []
                      },
                      "quantity": 1,
                      "status": "ACTIVE",
                      "cancelAtPeriodEnd": null,
                      "lastInvoice": {
                          "invoiceId": "da0622d1-723b-4567-ad40-917a92a84e05",
                          "creationDate": "2021-09-08T09:39:06.562016+02:00",
                          "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                          "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                          "walletId": null,
                          "mandateId": null,
                          "merchantInvoiceId": null,
                          "amount": 10000,
                          "currency": "EUR",
                          "closed": true,
                          "invoiceItems": [
                              {
                                  "invoiceItemId": "e8b03ea3-85ca-4e85-ab3d-6b1c83122508",
                                  "creationDate": "2021-09-08T09:39:06.469080+02:00",
                                  "invoiceId": "da0622d1-723b-4567-ad40-917a92a84e05",
                                  "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                                  "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                                  "walletId": null,
                                  "mandateId": null,
                                  "merchantInvoiceItemId": null,
                                  "quantity": 1,
                                  "amount": 10000,
                                  "totalAmount": 10000,
                                  "currency": "EUR",
                                  "description": null,
                                  "type": "SUBSCRIPTION",
                                  "additionalData": []
                              }
                          ],
                          "description": null,
                          "attemptCount": 1,
                          "paid": true,
                          "type": "SUBSCRIPTION",
                          "nextTransactionAttempt": null,
                          "transactions": [
                              "d0bcd686-1b6b-45aa-bf8a-c4cedab81127"
                          ],
                          "transfers": [],
                          "sddTransactions": [],
                          "eventReceivedDate": null,
                          "additionalData": []
                      },
                      "endUserIp": "245.100.1.15",
                      "endUserLanguage": null,
                      "endToEndIdentification": null,
                      "remittanceInformation": null,
                      "redirect": null,
                      "additionalData": []
                  }

              PAYMENTREQUEST_SUBSCRIPTION_SUCCEEDED
              Happen when the subscription of the payment request succeeded
                  {
                      "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                      "creationDate": "2021-09-09T10:32:15.675280+02:00",
                      "walletId": null,
                      "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                      "cardId": null,
                      "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                      "startingDate": "2021-09-09",
                      "endingDate": null,
                      "expectedEndingDate": null,
                      "currentPeriodStart": "2021-09-09",
                      "currentPeriodEnd": "2021-10-08",
                      "requestedCollectionDate": "2021-09-15",
                      "cancellationDate": null,
                      "paymentRequestBreakdownId": "825c03a4-fa3e-4df0-812d-f3d094f88ca3",
                      "paymentRequestId": "ef4bf0e4-c77c-42a3-910e-b85e84b3c92b",
                      "merchantSubscriptionId": null,
                      "subscriptionModel": {
                          "subscriptionModelId": "b1561842-46c1-422c-84a6-69ea8e1c8051",
                          "creationDate": "2017-05-10T09:20:14.268+02:00",
                          "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                          "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                          "merchantSubscriptionModelId": "a00e2d1b-87a1-4fb2-8e15-5d6132006d5b",
                          "amount": 2000,
                          "currency": "EUR",
                          "name": "premium",
                          "description": "abbonnement premium",
                          "intervalUnit": "MONTH",
                          "intervalCount": 1,
                          "iterationCount": null,
                          "additionalData": []
                      },
                      "quantity": 1,
                      "status": "ACTIVE",
                      "cancelAtPeriodEnd": null,
                      "lastInvoice": {
                          "invoiceId": "e257896b-86a1-41cf-865b-ac0531e2ea4a",
                          "creationDate": "2021-09-09T10:32:16.072897+02:00",
                          "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                          "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                          "walletId": null,
                          "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                          "merchantInvoiceId": null,
                          "amount": 2000,
                          "currency": "EUR",
                          "closed": true,
                          "invoiceItems": [
                              {
                                  "invoiceItemId": "0dabd4f2-6e36-4731-989a-d00bdf93e748",
                                  "creationDate": "2021-09-09T10:32:15.860404+02:00",
                                  "invoiceId": "e257896b-86a1-41cf-865b-ac0531e2ea4a",
                                  "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                                  "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                                  "walletId": null,
                                  "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                                  "merchantInvoiceItemId": null,
                                  "quantity": 1,
                                  "amount": 2000,
                                  "totalAmount": 2000,
                                  "currency": "EUR",
                                  "description": null,
                                  "type": "SUBSCRIPTION",
                                  "additionalData": []
                              }
                          ],
                          "description": null,
                          "attemptCount": 1,
                          "paid": true,
                          "type": "SUBSCRIPTION",
                          "nextTransactionAttempt": null,
                          "transactions": [],
                          "transfers": [],
                          "sddTransactions": [
                              "0fd0d6cb-076a-4df5-9e89-7a62b74791e8"
                          ],
                          "eventReceivedDate": null,
                          "additionalData": []
                      },
                      "endUserIp": "92.154.127.221",
                      "endUserLanguage": null,
                      "endToEndIdentification": null,
                      "remittanceInformation": "PREMIUM",
                      "redirect": null,
                      "additionalData": []
                  }

              PAYMENTREQUEST_TRANSACTION_FAILED
              Happen when the transaction of the payment request failed
              {
                "eventId": "66f20401-7ca6-47bd-95f1-830628171cf8",
                "type": "PAYMENTREQUEST_TRANSACTION_FAILED",
                "creationDate": "2024-01-05T14:46:59.418489+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 0,
                  "amountRefunded": 0,
                  "archivingReference": "9GUGCIZEU0VN",
                  "authorizationMovementId": "7ed9258a-ee75-4705-90f3-678973d2402e",
                  "authorizationStatus": "FAILURE",
                  "bankCode": "51",
                  "bankMessage": "Simulation : Insufficient Funds",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureStatus": "UNCAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "30e49b6e-ed07-4b43-8862-2abd2f181678",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": true,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:46:39.151564+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "7032968c1a882c155b3d8014297daabaa7133680",
                    "first6": "400000",
                    "infoId": "90eaf823-e2e7-4757-845a-b966bbab03c6",
                    "last4": "0077",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:46:58.190985+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "order": {
                    "cardholderEmail": "GDU-Yvette5@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Buck_Gislason@hotmail.com",
                  "refunded": false,
                  "refunds": [],
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "d530cdbe-b9fc-481b-b99d-8ce0db75deb4",
                  "transactionStatus": "FAILURE",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "c120a3c0-764a-4c7e-a705-4721784212c7"
              }

              PAYMENTREQUEST_TRANSACTION_SUCCEEDED
              Happen when the transaction of the payment request succeeded
              {
                "eventId": "11a2d5b6-b8da-4e83-8182-5bd417b0b6b6",
                "type": "PAYMENTREQUEST_TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-15T12:36:33.122848+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "amountCaptured": 100000,
                  "amountRefunded": 0,
                  "archivingReference": "3GZD1KYRDSHP",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "656d9ee5-8ccb-45d9-a8fe-c830adf69dfd",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
                  "captureDate": "2024-01-15T12:36:33.020554+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "5e6269c2-b8a7-4ced-ad12-4c6cfdeda11b",
                    "cardTokenId": "0211ff3d-1e71-4772-8bdb-8c7e23905f86",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-15T12:36:29.312152+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 5,
                    "expirationYear": 2025,
                    "fingerprint": "9ede6a38739c3ce76c59bee1083409937d497e7a",
                    "first6": "403203",
                    "last4": "2700",
                    "productType": "CONSUMER",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:36:31.689550+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "455d5abf-4076-4b14-8804-87fc9a9ece8d",
                  "order": {
                    "cardholderEmail": "gduhamel@centralpay.eu"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "paymentRequestBreakdownId": "75b6d330-948e-4aef-8967-d88d2acc7190",
                  "paymentRequestId": "2bfc4ab4-f878-46b8-8a12-3263d2d28842",
                  "payoutAmount": 100000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "gduhamel@centralpay.eu",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": true,
                  "totalAmount": 100000,
                  "transactionId": "f80eee11-a633-46c2-bf08-f31d33d3107a",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "6847ced8-92ab-45df-9f1d-1069112b98e1"
              }

              PAYMENTREQUEST_SDDTRANSACTION_SUCCEEDED
              Happen when the SDD transaction of the payment request succeeded

              PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDED
              Happen when the SCT transaction of the payment request succeeded

              The PAYOUT object

              PAYOUT_CREATED
              When a payout will be asked.
              {
                "eventId": "da2e06e2-c6d5-416e-91b8-3fd398e216aa",
                "type": "PAYOUT_CREATED",
                "creationDate": "2024-01-15T15:05:36.401305+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "creationDate": "2024-01-15T15:05:36.280515+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-17",
                  "fee": 0,
                  "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
                  "net": 1,
                  "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
                  "payoutReference": "PAYOUT-20240115150536-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PENDING",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "9d99d793-ef34-4e4f-aefd-627da4b77fbc"
              }

              PAYOUT_UPDATED
              When an ongoing payout has been updated.
              {
                "eventId": "e1e8725c-eb98-400f-b3df-8f799a3ba165",
                "type": "PAYOUT_UPDATED",
                "creationDate": "2024-01-15T15:06:51.827583+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "creationDate": "2024-01-15T15:05:36.280515+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-17",
                  "fee": 0,
                  "merchantPayoutId": "Up_Test_Doc",
                  "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
                  "net": 1,
                  "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
                  "payoutReference": "PAYOUT-20240115150536-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PENDING",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "a39650ab-ddcf-4da7-965e-a0e5d44949ab",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "creationDate": "2024-01-15T15:05:36.280515+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-17",
                  "fee": 0,
                  "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
                  "net": 1,
                  "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
                  "payoutReference": "PAYOUT-20240115150536-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PENDING",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                }
              }

              PAYOUT_CANCELED
              When an ongoing payout has been canceled.
              {
                "eventId": "9630cef4-e1f4-4f5d-811d-e361c4c30c78",
                "type": "PAYOUT_CANCELED",
                "creationDate": "2024-01-08T15:15:55.576036+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "cancelMovementId": "258e7c45-1d4f-48fc-a026-bebb8c10014e",
                  "cancellationDate": "2024-01-08T15:15:55.562863+01:00",
                  "creationDate": "2024-01-08T15:15:22.435232+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "expectedArrivalDate": "2024-01-10",
                  "fee": 0,
                  "merchantPayoutId": "Up_Test_Doc",
                  "movementId": "3d8c5417-2cc9-4c7d-9504-5446cac24e87",
                  "net": 1,
                  "payoutId": "d68c9005-8954-4d17-96f5-8435a81ace20",
                  "payoutReference": "PAYOUT-20240108151522-a00f7a69",
                  "payoutType": "SCT",
                  "status": "CANCEL",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "7b69dbff-59eb-489f-ac0a-9df343f2bd2a"
              }

              PAYOUT_PAID
              When an ongoing payout has been properly executed.
              {
                "eventId": "9a1df5b8-6b24-4274-ad52-1295999f4a6c",
                "type": "PAYOUT_PAID",
                "creationDate": "2024-01-30T11:29:15.965095+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100,
                  "arrivalDate": "2024-01-30",
                  "automatic": true,
                  "creationDate": "2024-01-26T16:56:15.147347+01:00",
                  "currency": "EUR",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-28",
                  "fee": 0,
                  "movementId": "b4fafbb7-e73a-4a98-bc6b-f4c7dfee7104",
                  "net": 100,
                  "payoutId": "f88cab14-b73e-44fc-adcf-9cb1f4f4c43b",
                  "payoutReference": "PAYOUT-20240126165615-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PAID",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "ceffc00e-a708-45fd-bc16-fe0999455e06"
              }

              PAYOUT_REVERSAL_CREATED
              When a payout reversal has been created

              The REFUND object

              REFUND_CREATED
              When a refund is created
                  {
                      "refundId": "3c349da5-c144-424b-bbdd-6f756b43c4ee",
                      "creationDate": "2021-09-08T09:40:42.140717+02:00",
                      "transactionId": "9c6ffb50-11cf-418c-9c9f-57a3fba20c20",
                      "clearingDate": null,
                      "cancellationDate": null,
                      "merchantRefundId": null,
                      "currency": "EUR",
                      "amount": 1,
                      "payoutCurrency": "EUR",
                      "payoutAmount": 1,
                      "commission": 0,
                      "fee": 0,
                      "description": "ma description",
                      "status": "UNCLEARED",
                      "movementId": "8981c46d-1e9e-4501-b78c-2d3e6e313fda",
                      "cancelMovementId": null,
                      "additionalData": []
                  }

              REFUND_CANCELED
              When a refund is cancelled
                  {
                      "refundId": "3c349da5-c144-424b-bbdd-6f756b43c4ee",
                      "creationDate": "2021-09-08T09:40:42.140717+02:00",
                      "transactionId": "9c6ffb50-11cf-418c-9c9f-57a3fba20c20",
                      "clearingDate": null,
                      "cancellationDate": "2021-09-08T09:40:42.646025+02:00",
                      "merchantRefundId": null,
                      "currency": "EUR",
                      "amount": 1,
                      "payoutCurrency": "EUR",
                      "payoutAmount": 1,
                      "commission": 0,
                      "fee": 0,
                      "description": "ma description",
                      "status": "CANCELED",
                      "movementId": "8981c46d-1e9e-4501-b78c-2d3e6e313fda",
                      "cancelMovementId": "b315d96f-8dc0-437d-af5f-729a8c0bb502",
                      "additionalData": []
                  }

              REFUND_UPDATED
              When a refund is updated

              The SCT Transaction object

              SCT_TRANSACTION_CREATED
              When a sct transaction is created
              {
                "eventId": "283cb3c2-ddfd-4db2-aef7-df47e642d6b2",
                "type": "SCT_TRANSACTION_CREATED",
                "creationDate": "2024-01-08T16:03:10.536372+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB",
                  "status": "PENDING",
                  "transactionTransfers": []
                },
                "requestId": "f3ccb2bd-df53-4b50-b64a-5d503dda7440"
              }

              SCT_TRANSACTION_UPDATED
              When a sct transaction is updated
              {
                "eventId": "8057c6df-86d2-45e0-8cc9-9d2d7163ab99",
                "type": "SCT_TRANSACTION_UPDATED",
                "creationDate": "2024-01-08T16:03:44.760244+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": false,
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB         ",
                  "status": "PENDING",
                  "transactionTransfers": []
                },
                "requestId": "a40ff9c2-3285-4b1b-aee2-de5b21402ad1",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": false,
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB         ",
                  "status": "PENDING",
                  "transactionTransfers": []
                }
              }

              SCT_TRANSACTION_RECEIVED
              When a sct transaction is received
              {
                "eventId": "b6fef094-77d5-4230-8526-baa0fb4b10d6",
                "type": "SCT_TRANSACTION_RECEIVED",
                "creationDate": "2024-01-10T12:39:40.146639+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "CEAYFR22",
                    "iban": "FR7699999000019761523040665"
                  },
                  "bic": "CEAYFR22",
                  "commission": 0,
                  "creationDate": "2024-01-10T12:32:39.516605+01:00",
                  "currency": "EUR",
                  "debtorInfo": {
                    "address": {
                      "addressLines": [
                        "Direccion del ordenante",
                        "08010  BARCELONA"
                      ],
                      "country": "ES"
                    },
                    "name": "GUILLAUME MAXIMILIEN JACQUES PONSARD"
                  },
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "fee": 0,
                  "iban": "FR7699999000019761523040665",
                  "merchantSctTransactionId": "8srWEcIiIW",
                  "movementId": "25d7a3f4-a421-4dc7-8554-486bf801bade",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutAmount": 12345,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": true,
                  "processedDate": "2024-01-10T12:39:40.099911+01:00",
                  "receiptDate": "2024-01-10T12:39:40.099911+01:00",
                  "sctTransactionId": "4cbd9866-b723-4a3a-9bf8-b30382b91909",
                  "sepaReference": "ZCPTDW         ",
                  "status": "RECEIVED",
                  "transactionTransfers": []
                },
                "requestId": "4be1b982-107d-4133-bdb2-377afd4d7ae4"
              }

              SCT_TRANSACTION_CANCELED
              When a sct transaction is cancelled
              {
              {
                "eventId": "66cedcb4-091a-4023-beb8-d64f86438c73",
                "type": "SCT_TRANSACTION_CANCELED",
                "creationDate": "2024-01-08T16:03:57.125156+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "cancellationDate": "2024-01-08T16:03:57.119857+01:00",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": false,
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB         ",
                  "status": "CANCELED",
                  "transactionTransfers": []
                },
                "requestId": "8aa84040-e72b-4e78-9149-0e5478d74b10"
              }
              }

              SCT_TRANSACTION_REVERSAL_CREATED
              When a sct transaction reversal is created
              {
                "eventId": "80544b1c-a167-4dd5-b493-166642e543fd",
                "type": "SCT_TRANSACTION_REVERSAL_CREATED",
                "creationDate": "2024-01-11T11:48:24.125374+01:00",
                "object": {
                  "amount": 12345,
                  "creationDate": "2024-01-11T11:48:24.116525+01:00",
                  "currency": "EUR",
                  "description": "Remboursement du client",
                  "sctTransactionId": "2cf657da-9431-4da2-9720-4b877a9b44ef",
                  "sctTransactionReversalId": "d5a11ee9-a598-4457-9ed8-e9a7961baaf7",
                  "status": "PENDING"
                },
                "requestId": "9ea9af82-921f-4b41-9de8-e461bc284849"
              }}

              SCT_TRANSACTION_REVERSAL_RECEIVED
              When a sct transaction reversal is received
              {
                "eventId": "180bfcfd-a46c-40e3-8d9c-e1eeb380d84f",
                "type": "SCT_TRANSACTION_REVERSAL_RECEIVED",
                "creationDate": "2024-01-30T12:38:45.221820+01:00",
                "object": {
                  "amount": 12345,
                  "creationDate": "2024-01-11T11:48:24.116525+01:00",
                  "currency": "EUR",
                  "description": "Remboursement du client",
                  "expectedAvailabilityDate": "2024-01-30",
                  "movementId": "ec5a1db6-af35-47ad-9387-9b37e7cc6053",
                  "sctTransactionId": "2cf657da-9431-4da2-9720-4b877a9b44ef",
                  "sctTransactionReversalId": "d5a11ee9-a598-4457-9ed8-e9a7961baaf7",
                  "status": "RECEIVED"
                },
                "requestId": "20319064-8dfb-453f-ab0b-d621055606d7"
              }

              SCT_TRANSACTION_REFUNDED_CANCELED
              When a sct transaction refund is cancelled

              SCT_TRANSACTION_REFUNDED_RECEIVED,
              When a sct transaction refund is received

              SCT_TRANSACTION_REFUNDED
              When a sct transaction reversal is created

              The SDD TRANSACTION object

              SDDTRANSACTION_CREATED
              When a SDD Transaction is created
              {
                "eventId": "bc6cb3b3-2960-4833-88a4-ddce9335fcbe",
                "type": "SDDTRANSACTION_CREATED",
                "creationDate": "2024-01-11T13:02:56.629960+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T13:02:56.373932+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "M6C+XE3H5",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                  "sequenceType": "RCUR",
                  "status": "PENDING",
                  "transactionTransfers": [],
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "27dd69d1-3789-4abc-9e9c-d6644c436f9b"
              }

              SDDTRANSACTION_CLEARED
              When a SDD Transaction is received
              {
                "eventId": "e54db468-ee08-4f61-83b2-c91b7c6a0c05",
                "type": "SDDTRANSACTION_CLEARED",
                "creationDate": "2024-01-11T14:30:59.249935+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "commission": 0,
                  "creationDate": "2024-01-11T14:28:41.754664+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "84J4ZDNEW",
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "movementId": "0a6ffbe5-f067-4c03-9f62-672cb46e312c",
                  "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                  "otpExpired": false,
                  "payoutAmount": 12,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                  "sequenceType": "RCUR",
                  "status": "CLEARED",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T14:30:56.448356+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "5a2c73f8-1a46-451c-9444-608cb8a1f92d"
              }

              SDDTRANSACTION_VALIDATED
              When a SDD Transaction is validated
              {
                "eventId": "2a21fd0e-19f2-469e-a80d-0300398f7d40",
                "type": "SDDTRANSACTION_VALIDATED",
                "creationDate": "2024-01-11T13:03:17.335248+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T13:02:56.373932+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "M6C+XE3H5",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                  "sequenceType": "RCUR",
                  "status": "ACTIVE",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T13:03:17.329335+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "3af961bc-140f-4630-bdda-cff9854484b0"
              }

              SDDTRANSACTION_CANCELED
              When a SDD Transaction is cancelled
              {
                "eventId": "894cf6da-e9d6-41b4-8504-d541c13dd7e5",
                "type": "SDDTRANSACTION_CANCELED",
                "creationDate": "2024-01-11T12:46:20.865252+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": true,
                  "cancellationDate": "2024-01-11T12:46:20.844829+01:00",
                  "creationDate": "2024-01-11T12:46:04.839313+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "2(OSAI,:P",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-23",
                  "sddTransactionId": "a5530b31-ef60-4511-adeb-18843f61ef81",
                  "sequenceType": "RCUR",
                  "status": "CANCELED",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T12:46:04.839337+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "3f82090d-f76b-4c3a-9d12-4befb22313e5"
              }

              SDDTRANSACTION_RENEWOTP
              When a request for an OTP renewal has been sent for an SSD transaction
              {
                "eventId": "fd352df9-2abc-43b8-a761-07e28375d4ff",
                "type": "SDDTRANSACTION_RENEWOTP",
                "creationDate": "2024-01-11T14:28:46.213454+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T14:28:41.754664+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "84J4ZDNEW",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                  "sequenceType": "RCUR",
                  "status": "PENDING",
                  "transactionTransfers": [],
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "85a68830-fa0f-41c9-8c80-d5c578f998f9"
              }

              SDDTRANSACTION_REVERSED_CREATED
              When a SDD Transaction reversal is created

              The MANDATE object

              MANDATE_CREATED
              When a mandate is created
              {
                "eventId": "ba739034-7e86-4280-9e19-b8d3be3f683c",
                "type": "MANDATE_CREATED",
                "creationDate": "2024-01-11T12:41:18.209916+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T12:41:17.403384+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+33600000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
                  "otpExpired": false,
                  "paymentType": "PUCT",
                  "rum": "GT20KDMVN",
                  "sddTransactions": [],
                  "status": "PENDING",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "800c83a7-d37b-4c33-9907-8874d5c7fa87"
              }

              MANDATE_SIGNED
              When a mandate is signed
              {
                "eventId": "d60f35d6-c20a-4317-9ea9-dc90fd4bcd1b",
                "type": "MANDATE_SIGNED",
                "creationDate": "2024-01-11T12:43:07.337387+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T12:41:17.403384+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+33600000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
                  "otpExpired": false,
                  "paymentType": "PUCT",
                  "pdfFileId": "7b8d75bd-8f09-400d-af9c-c8787a0858fc",
                  "rum": "GT20KDMVN",
                  "sddTransactions": [],
                  "signatureCity": "TOURS",
                  "signatureDate": "2024-01-11T12:43:06.838810+01:00",
                  "signatureIpAddress": "245.100.1.15",
                  "status": "ACTIVE",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "4c40f8ba-94fd-433c-b7eb-71bbad68f51a"
              }

              MANDATE_OBSOLETED
              When a mandate is obsolete
              {
                "eventId": "8961d9a3-1b38-4275-9ef7-1c3f9dc993e9",
                "type": "MANDATE_OBSOLETED",
                "creationDate": "2024-01-11T14:34:29.346268+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T12:41:17.403384+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+3300000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "obsolescenceDate": "2024-01-11T14:34:29.315888+01:00",
                  "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
                  "otpExpired": true,
                  "paymentType": "PUCT",
                  "pdfFileId": "7b8d75bd-8f09-400d-af9c-c8787a0858fc",
                  "rum": "GT20KDMVN",
                  "sddTransactions": [
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": true,
                      "cancellationDate": "2024-01-11T12:46:20.844829+01:00",
                      "creationDate": "2024-01-11T12:46:04.839313+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "2(OSAI,:P",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpired": false,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-23",
                      "sddTransactionId": "a5530b31-ef60-4511-adeb-18843f61ef81",
                      "sequenceType": "RCUR",
                      "status": "CANCELED",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T12:46:04.839337+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": true,
                      "creationDate": "2024-01-11T12:46:27.952977+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "MUPXTJXVK",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpired": false,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-23",
                      "sddTransactionId": "3b781c44-ca15-4cbf-a529-f73e9c9fb0cf",
                      "sequenceType": "RCUR",
                      "status": "ACTIVE",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T12:46:27.953004+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": true,
                      "creationDate": "2024-01-11T12:53:09.201843+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "7C28543RZ",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpired": false,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-12",
                      "sddTransactionId": "af2e9240-d58f-478d-8e64-d8041ac882e0",
                      "sequenceType": "RCUR",
                      "status": "ACTIVE",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T12:53:09.201871+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": false,
                      "creationDate": "2024-01-11T13:02:56.373932+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "M6C+XE3H5",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                      "otpExpired": true,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-12",
                      "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                      "sequenceType": "RCUR",
                      "status": "ACTIVE",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T13:03:17.329335+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": false,
                      "commission": 0,
                      "creationDate": "2024-01-11T14:28:41.754664+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "84J4ZDNEW",
                      "endUserIp": "245.100.1.15",
                      "fee": 0,
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "movementId": "0a6ffbe5-f067-4c03-9f62-672cb46e312c",
                      "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                      "otpExpired": false,
                      "payoutAmount": 12,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-12",
                      "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                      "sequenceType": "RCUR",
                      "status": "CLEARED",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T14:30:56.448356+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    }
                  ],
                  "signatureCity": "TOURS",
                  "signatureDate": "2024-01-11T12:43:06.838810+01:00",
                  "signatureIpAddress": "245.100.1.15",
                  "status": "OBSOLETE",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "8d56fb75-1ce2-458b-b057-e8722ec22427"
              }

              MANDATE_RENEWOTP
              When a request for an OTP renewal has been sent for an mandate
              {
                "eventId": "8f103a2e-8e05-4af7-9b57-a76dc3fe1b48",
                "type": "MANDATE_RENEWOTP",
                "creationDate": "2024-01-11T14:34:56.606277+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T14:34:36.412083+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+3300000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "ffc24f5a-f43a-4e9f-b4f9-1d7d1b87a46c",
                  "otpExpirationDate": "2024-01-11T14:49:56.133201+01:00",
                  "otpExpired": false,
                  "paymentType": "PUCT",
                  "rum": "YRHCV3K37",
                  "sddTransactions": [],
                  "status": "PENDING",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "a427c5b9-dbf4-4cb2-b9a5-bdf76418901b"
              }

              The SUBSCRIPTION object

              SUBSCRIPTIONMODEL_CREATED
              When a Subscription model is created
              {
                "eventId": "396d5bf8-f494-4ba6-91ef-29bd6be595b1",
                "type": "SUBSCRIPTIONMODEL_CREATED",
                "creationDate": "2024-01-08T11:56:53.360135+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T11:56:53.353430+01:00",
                  "currency": "EUR",
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 12,
                  "name": "Test Abo",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
                },
                "requestId": "9dd48255-2b54-40bb-bd38-dfeac5d0535b"
              }

              SUBSCRIPTIONMODEL_UPDATED
              When a Subscription model is updated
              {
                "eventId": "d00f3f00-b2d6-4de4-8c41-a106b88054b9",
                "type": "SUBSCRIPTIONMODEL_UPDATED",
                "creationDate": "2024-01-08T11:58:22.826908+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T11:56:53.353430+01:00",
                  "currency": "EUR",
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 12,
                  "name": "CPMInnn",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
                },
                "requestId": "4bc97650-9a0e-4032-ba46-8088c1e31b0b",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T11:56:53.353430+01:00",
                  "currency": "EUR",
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 12,
                  "name": "Test Abo",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
                }
              }

              SUBSCRIPTION_CREATED
              When a Subscription is created
              {
                "eventId": "f87999fa-ab71-4a57-bc1f-b360670ef593",
                "type": "SUBSCRIPTION_CREATED",
                "creationDate": "2024-01-08T12:24:12.821583+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "Gauthier refapi",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "ACTIVE",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                },
                "requestId": "c66d38ac-5f7d-4a52-840c-ebadade3bf4f"
              }

              SUBSCRIPTION_FAILED
              When a Subscription failed
              {
                "eventId": "3c8ca51e-aa44-41ca-ad24-872a86ed35ee",
                "type": "SUBSCRIPTION_FAILED",
                "creationDate": "2024-01-15T11:59:56.223023+01:00",
                "object": {
                  "additionalData": {},
                  "cancelAtPeriodEnd": false,
                  "cancellationDate": "2024-01-15T11:59:55.877297+01:00",
                  "cardId": "0a6b2fdc-85e4-4ffa-bffa-0ae276e11aa3",
                  "creationDate": "2024-01-15T11:59:52.983206+01:00",
                  "currentPeriodEnd": "2024-01-15",
                  "currentPeriodStart": "2024-01-15",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "endUserIp": "245.100.1.15",
                  "endingDate": "2024-01-15",
                  "expectedEndingDate": "2025-01-14",
                  "lastInvoice": {
                    "additionalData": {},
                    "amount": 10000,
                    "attemptCount": 1,
                    "closed": true,
                    "creationDate": "2024-01-15T11:59:53.614864+01:00",
                    "currency": "EUR",
                    "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                    "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                    "invoiceItems": [
                      {
                        "additionalData": {},
                        "amount": 10000,
                        "creationDate": "2024-01-15T11:59:53.357382+01:00",
                        "currency": "EUR",
                        "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                        "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                        "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                        "quantity": 1,
                        "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                        "totalAmount": 10000,
                        "type": "SUBSCRIPTION"
                      }
                    ],
                    "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                    "paid": false,
                    "sddTransactions": [],
                    "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                    "transactions": [
                      "19b41977-e973-4dd9-846e-5777459196a5"
                    ],
                    "transfers": [],
                    "type": "SUBSCRIPTION"
                  },
                  "merchantSubscriptionId": "Test refapi gogo",
                  "quantity": 1,
                  "startingDate": "2024-01-15",
                  "status": "CANCELED",
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:02:53.061463+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test Abo",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
                  }
                },
                "requestId": "ac2cae53-8d39-4e5a-8098-bcf0ab55a7cc"
              }

              SUBSCRIPTION_UPDATED
              When a Subscription is updated
              {
                "eventId": "3da295c6-403e-4080-9398-9cebf7efbc37",
                "type": "SUBSCRIPTION_UPDATED",
                "creationDate": "2024-01-08T12:25:27.579680+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "TEST001",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "ACTIVE",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                },
                "requestId": "10797b88-f4ff-48f5-bc79-c417333b92d5",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "Gauthier refapi",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "ACTIVE",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                }
              }

              SUBSCRIPTION_CANCELED
              When a Subscription is cancelled
              {
                "eventId": "298e5eae-4447-4981-932e-633adbb97e5f",
                "type": "SUBSCRIPTION_CANCELED",
                "creationDate": "2024-01-08T12:26:46.705238+01:00",
                "object": {
                  "additionalData": {},
                  "cancelAtPeriodEnd": false,
                  "cancellationDate": "2024-01-08T12:26:46.701626+01:00",
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "currentPeriodEnd": "2024-01-08",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "endingDate": "2024-01-08",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "TEST001",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "CANCELED",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                },
                "requestId": "bd8f1a27-bae3-4cfd-8471-7f6e878c6dc7"
              }

              SUBSCRIPTION_ACTIVE
              When a Subscription is active

              SUBSCRIPTION_FAILURE
              When a Subscription failed to be paid
              {
                "eventId": "22c7c038-2aa4-4550-9fd0-27e5395c250d",
                "type": "SUBSCRIPTION_FAILURE",
                "creationDate": "2024-01-15T11:59:55.661209+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "0a6b2fdc-85e4-4ffa-bffa-0ae276e11aa3",
                  "creationDate": "2024-01-15T11:59:52.983206+01:00",
                  "currentPeriodEnd": "2024-02-14",
                  "currentPeriodStart": "2024-01-15",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-14",
                  "lastInvoice": {
                    "additionalData": {},
                    "amount": 10000,
                    "attemptCount": 1,
                    "closed": false,
                    "creationDate": "2024-01-15T11:59:53.614864+01:00",
                    "currency": "EUR",
                    "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                    "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                    "invoiceItems": [
                      {
                        "additionalData": {},
                        "amount": 10000,
                        "creationDate": "2024-01-15T11:59:53.357382+01:00",
                        "currency": "EUR",
                        "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                        "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                        "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                        "quantity": 1,
                        "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                        "totalAmount": 10000,
                        "type": "SUBSCRIPTION"
                      }
                    ],
                    "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                    "paid": false,
                    "sddTransactions": [],
                    "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                    "transactions": [
                      "19b41977-e973-4dd9-846e-5777459196a5"
                    ],
                    "transfers": [],
                    "type": "SUBSCRIPTION"
                  },
                  "merchantSubscriptionId": "Test refapi gogo",
                  "quantity": 1,
                  "startingDate": "2024-01-15",
                  "status": "FAILURE",
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:02:53.061463+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test Abo",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
                  }
                },
                "requestId": "1c35bbaf-0f37-44e1-a7e5-c3f10be0a9a4"
              }

              SUBSCRIPTION_UNPAID
              When a Subscription is unpaid

              SUBSCRIPTION_REACTIVATED
              When a Subscription is reactivated
              {
                "eventId": "536eb70e-cb79-44a6-be28-4384445583c2",
                "type": "SUBSCRIPTION_REACTIVATED",
                "creationDate": "2024-01-11T15:12:05.092897+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "7d5f52b0-ef15-4a04-9c06-c4a9ac76f4bf",
                  "creationDate": "2024-01-11T15:11:29.487853+01:00",
                  "currentPeriodEnd": "2024-02-10",
                  "currentPeriodStart": "2024-01-11",
                  "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                  "endUserIp": "245.100.1.15",
                  "lastInvoice": {
                    "additionalData": {},
                    "amount": 10000,
                    "attemptCount": 1,
                    "closed": true,
                    "creationDate": "2024-01-11T15:11:30.057522+01:00",
                    "currency": "EUR",
                    "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                    "invoiceId": "94185799-1ac6-4206-8df2-006043d0e2a9",
                    "invoiceItems": [
                      {
                        "additionalData": {},
                        "amount": 10000,
                        "creationDate": "2024-01-11T15:11:29.798622+01:00",
                        "currency": "EUR",
                        "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                        "invoiceId": "94185799-1ac6-4206-8df2-006043d0e2a9",
                        "invoiceItemId": "cd4325ca-4f61-4886-98c6-a524682ee0e2",
                        "quantity": 1,
                        "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                        "totalAmount": 10000,
                        "type": "SUBSCRIPTION"
                      }
                    ],
                    "paid": true,
                    "sddTransactions": [],
                    "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                    "transactions": [
                      "3f462466-4a71-480c-b062-e2023ee99b17"
                    ],
                    "transfers": [],
                    "type": "SUBSCRIPTION"
                  },
                  "merchantSubscriptionId": "Test refapi gogo",
                  "quantity": 1,
                  "startingDate": "2024-01-11",
                  "status": "ACTIVE",
                  "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:02:53.061463+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test Abo",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
                  }
                },
                "requestId": "69ac4f1d-059b-4065-adc2-90f0eb6a98ab"
              }

              INVOICEITEM_CREATED
              When an invoice item is created
              {
                "eventId": "6167d379-fb95-4425-8e9b-af74f4235bfc",
                "type": "INVOICEITEM_CREATED",
                "creationDate": "2024-01-08T12:30:46.157764+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                },
                "requestId": "d7cd40bd-88de-4956-9c42-baf5a0549f1b"
              }

              INVOICEITEM_UPDATED
              When an invoice item is updated
              {
                "eventId": "353dd2fd-934e-4a20-9f12-b47bf213a35c",
                "type": "INVOICEITEM_UPDATED",
                "creationDate": "2024-01-15T10:59:30.750004+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:44:49.815091+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
                  "quantity": 2,
                  "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
                  "totalAmount": 20000,
                  "type": "MANUAL"
                },
                "requestId": "9678a75a-aa0c-4023-8d2a-56b56dfeae87",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:44:49.815091+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
                  "quantity": 3,
                  "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              }

              INVOICEITEM_DELETED
              When an invoice item is deleted
              {
                "eventId": "ae992cbd-d82f-495a-b7b7-4627dc9806e8",
                "type": "INVOICEITEM_DELETED",
                "creationDate": "2024-01-15T11:00:04.748878+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:44:49.815091+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
                  "quantity": 2,
                  "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
                  "totalAmount": 20000,
                  "type": "MANUAL"
                },
                "requestId": "fe0e462f-81d9-4640-abbd-ce6c914432b6"
              }

              INVOICE_CREATED
              When an invoice is created
              {
                "eventId": "59df2504-3ab7-46c3-8469-0957d579b014",
                "type": "INVOICE_CREATED",
                "creationDate": "2024-01-08T12:31:18.271671+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "1b51631e-d6d7-4632-bc8f-c67bd6f52729"
              }

              INVOICE_UPDATED
              When an invoice is updated
              {
              {
                "eventId": "3c63e5da-1bce-4c5c-9dfc-1a206fda69a7",
                "type": "INVOICE_UPDATED",
                "creationDate": "2024-01-08T12:31:25.469957+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "176cf4e9-4669-473c-a9cb-f102fd6aa2ab",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                }
              }
              }

              INVOICE_CLOSED
              When an invoice is closed
              {
                "eventId": "32cc898a-112f-43fd-921e-be8613d85b73",
                "type": "INVOICE_CLOSED",
                "creationDate": "2024-01-08T12:31:33.554755+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": true,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "36e1f1c0-b08b-41e1-a35b-bc0942b084f7"
              }

              INVOICE_REOPEN
              When an invoice is reopen
              {
                "eventId": "c3e22524-8677-447f-9c70-caee15bdb31a",
                "type": "INVOICE_REOPEN",
                "creationDate": "2024-01-08T12:31:38.069325+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "7ef43ab1-2249-43b2-834e-dcad31d609a5"
              }

              INVOICE_TRANSACTION_SUCCEEDED
              When an invoice transaction succeeded
              {
                "eventId": "58b1922a-a959-43c3-aeea-784f6970586c",
                "type": "INVOICE_TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-08T12:31:48.444350+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": true,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "paid": true,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [
                    "67cfc05b-d06c-4f2b-8aec-2033e0c61478"
                  ],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "01fb7049-bd27-4ec0-846d-605c352bd2f9"
              }

              INVOICE_TRANSACTION_FAILED
              When an invoice transaction failed
              {
                "eventId": "23ef2df3-0e6d-4397-b877-aba2acea2ed1",
                "type": "INVOICE_TRANSACTION_FAILED",
                "creationDate": "2024-01-15T11:59:55.647989+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "attemptCount": 1,
                  "closed": false,
                  "creationDate": "2024-01-15T11:59:53.614864+01:00",
                  "currency": "EUR",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-15T11:59:53.357382+01:00",
                      "currency": "EUR",
                      "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                      "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                      "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                      "quantity": 1,
                      "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                      "totalAmount": 10000,
                      "type": "SUBSCRIPTION"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "transactions": [
                    "19b41977-e973-4dd9-846e-5777459196a5"
                  ],
                  "transfers": [],
                  "type": "SUBSCRIPTION"
                },
                "requestId": "1c35bbaf-0f37-44e1-a7e5-c3f10be0a9a4"
              }

              The TRANSACTION object

              TRANSACTION_SUCCEEDED
              When a transaction has been approved by the issuing bank
              {
                "eventId": "4774dddc-7163-40f9-a6e0-72cd52abad19",
                "type": "TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-05T14:43:21.487036+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 3600000,
                  "amountRefunded": 0,
                  "archivingReference": "5MS7NOWFGWSR",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "0ee6bd7e-3e74-454d-a62b-120db043714d",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-05T14:43:21.355125+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:43:19.909652+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "899287b0-a0a5-413c-8be8-bc3d794ba96a",
                  "order": {
                    "cardholderEmail": "GDU-Solon40@gmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 3600000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Clemens7@yahoo.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "aa42bd28-5a34-47e4-87b0-3d25375be798",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "3d82de99-2346-4eef-a30b-68e7efe5acd1"
              }

              TRANSACTION_CANCELED
              When a transaction is cancelled
              {
                "eventId": "2ed7535a-8d07-4502-aea8-d755c5584962",
                "type": "TRANSACTION_CANCELED",
                "creationDate": "2024-01-11T14:51:53.615072+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "amount": 10,
                  "amountCaptured": 10,
                  "amountRefunded": 0,
                  "archivingReference": "TSMEGRM4XQSN",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "82dbefb7-2a49-4cf9-a10a-953e0fefd89b",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "cancelMovementId": "36238731-363a-4f30-913e-7a9b9defdd33",
                  "captureCancellationDate": "2024-01-11T14:51:53.583865+01:00",
                  "captureDate": "2024-01-11T14:50:33.400938+01:00",
                  "captureStatus": "CANCELED",
                  "card": {
                    "additionalData": {},
                    "cardId": "0f72740b-3a97-436b-aa78-9ac30308d404",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-11T14:50:31.216307+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-11T14:50:32.194359+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "36d934c8-de2f-43df-be49-a4f058c6c0ba",
                  "order": {
                    "addressLine1": "ADRESSE",
                    "cardCountry": "FRA",
                    "city": "PARIS",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 10,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 10,
                  "transactionId": "2fbdd1ad-99e1-4fb6-a5f9-06239d7ef1a1",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [
                    {
                      "amount": 1,
                      "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                      "escrowDate": "2024-01-15",
                      "fee": 0,
                      "merchantTransferId": "MRI_CODE"
                    }
                  ],
                  "withCvv": true
                },
                "requestId": "2631c3f5-65cb-441f-9cb7-14dcf2c8d128"
              }

              TRANSACTION_CAPTURED
              When a transaction is sent to the clearing and will be debited
              {
                "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5",
                "type": "TRANSACTION_CAPTURED",
                "creationDate": "2024-01-05T14:43:21.513924+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 3600000,
                  "amountRefunded": 0,
                  "archivingReference": "5MS7NOWFGWSR",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "0ee6bd7e-3e74-454d-a62b-120db043714d",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-05T14:43:21.355125+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:43:19.909652+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "899287b0-a0a5-413c-8be8-bc3d794ba96a",
                  "order": {
                    "cardholderEmail": "GDU-Solon40@gmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 3600000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Clemens7@yahoo.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "aa42bd28-5a34-47e4-87b0-3d25375be798",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "3d82de99-2346-4eef-a30b-68e7efe5acd1"
              }

              TRANSACTION_EXPIRED
              When a transaction is expired
              {
                "eventId": "9a93ea00-42cc-4555-ad29-24daa2ec5fbe",
                "type": "TRANSACTION_EXPIRED",
                "creationDate": "2024-02-01T00:30:07.148454+01:00",
                "object": {
                  "transactionId": "87b40109-0de5-454d-acf4-dfa51f23d15b",
                  "creationDate": "2024-01-30T14:20:47.062768+01:00",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "merchantTransactionId": null,
                  "archivingReference": "YB6J5BGOC4TF",
                  "transactionStatus": "SUCCESS",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "authorizationCode": "000000",
                  "riskScore": null,
                  "source": "EC",
                  "description": null,
                  "currency": "EUR",
                  "payoutCurrency": "EUR",
                  "payoutAmount": null,
                  "commission": null,
                  "fee": 0,
                  "amount": 36000,
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "partialAuthorizedAmount": null,
                  "totalAmount": 36000,
                  "card": {
                    "cardId": "4970cff8-a3eb-4b7a-9f8e-6a4156c08cec",
                    "creationDate": "2024-01-30T14:20:45.679621+01:00",
                    "customerId": null,
                    "cardTokenId": null,
                    "infoId": null,
                    "merchantCardId": null,
                    "commercialBrand": "VISA",
                    "first6": "403203",
                    "last4": "3001",
                    "expirationMonth": 12,
                    "expirationYear": 2025,
                    "country": "FRA",
                    "cardholderName": null,
                    "cardholderEmail": null,
                    "description": null,
                    "fingerprint": "a90fedc230c187acb2e4d6b8a3e3237044931beb",
                    "cardType": "UNKNOWN",
                    "region": "EUROPE",
                    "productType": "UNKNOWN",
                    "europeanEconomicArea": true,
                    "check": false,
                    "additionalData": {}
                  },
                  "cardMerchantToken": null,
                  "captureStatus": "EXPIRED",
                  "amountCaptured": 0,
                  "refunded": true,
                  "amountRefunded": 0,
                  "refunds": [],
                  "endUserIp": "8.8.8.8",
                  "endUserLanguage": "fre",
                  "browserUserAgent": null,
                  "browserAcceptLanguage": null,
                  "country": null,
                  "receiptEmail": null,
                  "transactiontransfers": [],
                  "transferGroup": null,
                  "residualAmount": null,
                  "order": {
                    "firstName": null,
                    "lastName": null,
                    "addressLine1": null,
                    "addressLine2": null,
                    "addressLine3": null,
                    "addressLine4": null,
                    "postalCode": null,
                    "city": null,
                    "country": null,
                    "email": null,
                    "phone": null,
                    "cardCountry": "FRA",
                    "cardholderName": null,
                    "cardholderEmail": null
                  },
                  "dispute": null,
                  "cardPresent": {
                    "cardSequenceNumber": null,
                    "cardEntryMode": null,
                    "pinEntryCapability": null,
                    "transactionSequenceCounter": null,
                    "uniqueTerminalId": null,
                    "cardholderSignatureImage": null,
                    "gpsLatitude": null,
                    "gpsLongitude": null,
                    "cardholderPhoto": null,
                    "cardAcceptorTerminalId": null,
                    "offlinePinIndicator": null,
                    "ucatTerminalIndicator": null,
                    "iccData": null,
                    "iccDataResponse": null
                  },
                  "clearingNumber": null,
                  "merchantCategoryCode": "1711",
                  "withCvv": true,
                  "arn": "123456",
                  "authorizationCancellationDate": null,
                  "customerId": null,
                  "captureDate": null,
                  "clearingDate": null,
                  "captureCancellationDate": null,
                  "enrollmentId": null,
                  "movementId": null,
                  "authorizationMovementId": "258d16f5-3f5f-401d-8f5b-c9ff9d00f28d",
                  "cancelMovementId": null,
                  "paymentRequestBreakdownId": null,
                  "paymentRequestId": null,
                  "invoiceId": null,
                  "installmentId": null,
                  "customAcceptanceData": {},
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "3ds": false
                },
                "requestId": "fcf800bb-1748-4d23-9ce7-121c5f14a51b"
              }

              TRANSACTION_UPDATED
              When a transaction is updated
              {
                "eventId": "eaf9366e-cd66-4ab9-ad23-09ed2ec5972d",
                "type": "TRANSACTION_UPDATED",
                "creationDate": "2024-01-11T14:54:35.830032+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "amount": 10,
                  "amountCaptured": 10,
                  "amountRefunded": 0,
                  "archivingReference": "FLS2TYH3HJ5G",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "02e0e9ec-77f6-4a75-9732-57a0d0844354",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "captureDate": "2024-01-11T14:53:18.688598+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "180c71b5-9384-4ea5-9452-b190d4afc542",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-11T14:53:17.634328+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 1,
                    "expirationYear": 2024,
                    "fingerprint": "9e6b6fc8e48c4ee716efb06762e726c0108e5e8d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-11T14:53:17.576925+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "3dbd2c18-1110-496b-9cd2-1e7b7568fc00",
                  "order": {
                    "cardCountry": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 10,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "test@gmail.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 10,
                  "transactionId": "8d08a5b1-413e-46d8-8e8e-6da8c0d5025b",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [
                    {
                      "amount": 1,
                      "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                      "escrowDate": "2024-01-13",
                      "fee": 0
                    }
                  ],
                  "withCvv": true
                },
                "requestId": "6b85d1b7-853a-420e-a500-62aac18840c1",
                "objectBeforeUpdate": {
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "amount": 10,
                  "amountCaptured": 10,
                  "amountRefunded": 0,
                  "archivingReference": "FLS2TYH3HJ5G",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "02e0e9ec-77f6-4a75-9732-57a0d0844354",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "captureDate": "2024-01-11T14:53:18.688598+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "180c71b5-9384-4ea5-9452-b190d4afc542",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-11T14:53:17.634328+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 1,
                    "expirationYear": 2024,
                    "fingerprint": "9e6b6fc8e48c4ee716efb06762e726c0108e5e8d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-11T14:53:17.576925+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "3dbd2c18-1110-496b-9cd2-1e7b7568fc00",
                  "order": {
                    "cardCountry": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 10,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 10,
                  "transactionId": "8d08a5b1-413e-46d8-8e8e-6da8c0d5025b",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [
                    {
                      "amount": 1,
                      "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                      "escrowDate": "2024-01-13",
                      "fee": 0
                    }
                  ],
                  "withCvv": true
                }
              }

              TRANSACTION_DISPUTED
              When a transaction is turned to a chargeback
              
              {
                "eventId": "36e7853b-eecf-43d2-99ec-80aa5b26b46f",
                "type": "TRANSACTION_DISPUTED",
                "creationDate": "2024-01-05T15:16:28.316447+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 36000,
                  "amountCaptured": 36000,
                  "amountRefunded": 0,
                  "archivingReference": "AULQKEG8VFZV",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "a7caf3b3-4d60-412e-9536-8b31e7fa2b99",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-04T15:04:14.560777+01:00",
                  "captureStatus": "CLEARED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "clearingDate": "2024-01-05",
                  "clearingNumber": "008194",
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T15:04:13.275733+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "dispute": {
                    "additionalData": {},
                    "amount": 10,
                    "creationDate": "2024-01-05T15:16:27.776882+01:00",
                    "currency": "EUR",
                    "disputeDate": "2021-03-18",
                    "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                    "fee": 0,
                    "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                    "reason": "FRAUDULENT",
                    "status": "CHARGEBACK_NOTICED",
                    "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116"
                  },
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "15560735-1636-4a01-9a15-89eab54ef9e1",
                  "order": {
                    "cardholderEmail": "GDU-Dasia77@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 36000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Benton_Hamill8@gmail.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 36000,
                  "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": false
                },
                "requestId": "29ae33a7-bcd3-405f-ab21-485729b980aa"
              }

              TRANSACTION_FAILED
              When a transaction has been declined by the issuing bank
              {
                "eventId": "0eeacc49-8957-4910-925f-d633505f23b0",
                "type": "TRANSACTION_FAILED",
                "creationDate": "2024-01-05T14:46:59.392077+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 0,
                  "amountRefunded": 0,
                  "archivingReference": "9GUGCIZEU0VN",
                  "authorizationMovementId": "7ed9258a-ee75-4705-90f3-678973d2402e",
                  "authorizationStatus": "FAILURE",
                  "bankCode": "51",
                  "bankMessage": "Simulation : Insufficient Funds",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureStatus": "UNCAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "30e49b6e-ed07-4b43-8862-2abd2f181678",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": true,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:46:39.151564+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "7032968c1a882c155b3d8014297daabaa7133680",
                    "first6": "400000",
                    "infoId": "90eaf823-e2e7-4757-845a-b966bbab03c6",
                    "last4": "0077",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:46:58.190985+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "order": {
                    "cardholderEmail": "GDU-Yvette5@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Buck_Gislason@hotmail.com",
                  "refunded": false,
                  "refunds": [],
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "d530cdbe-b9fc-481b-b99d-8ce0db75deb4",
                  "transactionStatus": "FAILURE",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "c120a3c0-764a-4c7e-a705-4721784212c7"
              }

              TRANSACTION_FRAUDULENT
              When a transaction is refused because it has meet a blacklist element (Email, IP, Card, …)
              
              {
                "eventId": "d489a6be-9b6d-43fa-86e3-c5d26437aac3",
                "type": "TRANSACTION_FRAUDULENT",
                "creationDate": "2024-01-05T16:34:30.947564+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 500,
                  "amountCaptured": 0,
                  "amountRefunded": 0,
                  "authorizationStatus": "FRAUD",
                  "bankMessage": "PAN in BLACKLIST [532509xxx0008]",
                  "captureStatus": "UNCAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T16:33:13.699153+01:00",
                    "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "dabeaee8-1f45-438e-b9c7-37bbce92315e",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:34:30.385545+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "endUserIp": "245.100.1.15",
                  "merchantTransactionId": "MIP_001",
                  "order": {
                    "cardCountry": "FRA",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "email": "gduhamel@centralpay.eu",
                    "firstName": "CECELIA",
                    "lastName": "EBERT"
                  },
                  "partialAuthorization": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "gduhamel@centralpay.eu",
                  "refunded": false,
                  "refunds": [],
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 500,
                  "transactionId": "f061fa00-8494-4eca-b9d1-f54d36125d7d",
                  "transactionStatus": "FRAUD",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "47c8329d-b686-4dc0-ad21-941e4ec2945d"
              }

              TRANSACTION_NOT_ACCEPTED
              When a transaction is refused because entering an acceptance rule

              TRANSACTION_REFUNDED
              When a transaction has been refunded to the card holder
              {
                "eventId": "21f8a3b1-1fab-4071-9f75-ef36d10a6572",
                "type": "TRANSACTION_REFUNDED",
                "creationDate": "2024-01-10T09:35:28.762354+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 36000,
                  "amountCaptured": 36000,
                  "amountRefunded": 36000,
                  "archivingReference": "YNADK4W3G2EK",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "679d6b91-bba5-43fa-a444-b3aa7fb2ad2f",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-04T15:04:11.419479+01:00",
                  "captureStatus": "CLEARED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "clearingDate": "2024-01-05",
                  "clearingNumber": "008194",
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T15:04:10.135397+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "656895c7-e7a2-4b7d-8920-0bb78ea45f3a",
                  "order": {
                    "cardholderEmail": "GDU-Martina_Ondricka@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 36000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Justyn98@gmail.com",
                  "refunded": true,
                  "refunds": [
                    {
                      "additionalData": {},
                      "amount": 36000,
                      "commission": 0,
                      "creationDate": "2024-01-10T09:35:28.448559+01:00",
                      "currency": "EUR",
                      "description": "GDU-testapi",
                      "fee": 0,
                      "movementId": "c42ea27a-6d74-4c4b-b170-e17762916c79",
                      "payoutAmount": 36000,
                      "payoutCurrency": "EUR",
                      "refundId": "9bf06654-c023-4481-8e6a-138bb5f13777",
                      "status": "UNCLEARED",
                      "transactionId": "2a06bfae-51f5-4dd7-945b-47631c16cb9c"
                    }
                  ],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 36000,
                  "transactionId": "2a06bfae-51f5-4dd7-945b-47631c16cb9c",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": false
                },
                "requestId": "794c20b2-4a0c-4d9d-a580-af5544c11120"
              }

              TRANSACTION_RISKY
              When a transaction is refused because of its risk score exceed the limit

              TRANSACTION_THREEDS_AUTH_FAILED
              When a transaction is declined because the card holder failed to authenticate himself during the 3DS process

              The TRANSFER REVERSAL object

              TRANSFERREVERSAL_SUCCEEDED
              When a transfer reversal succeeded
                 {
                "eventId": "9bd04039-7b33-4553-af86-64a6e925eef9",
                "type": "TRANSFERREVERSAL_SUCCEEDED",
                "creationDate": "2024-01-16T11:11:40.720817+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-16T11:11:40.611318+01:00",
                  "currency": "EUR",
                  "description": "Test",
                  "fee": 0,
                  "merchantTransferReversalId": "test",
                  "movementId": "e34b6833-7b32-4fde-993a-b904f8f3aeae",
                  "net": 140,
                  "refundFee": true,
                  "status": "TRANSFERRED",
                  "transferId": "e3a45ca4-49a9-4681-bc06-be9ab6dd7d79",
                  "transferReversalId": "bb47ad7b-4112-4ad5-abf3-489d5878d6fd"
                },
                "requestId": "7e593b04-58c3-4e0d-b3c6-ec2a6887164e"
              }
                  }

              TRANSFERREVERSAL_UPDATED
              When a transfer reversal is updated
                 {
                "eventId": "8317512a-d7d2-4d6d-a61a-644afb7537fb",
                "type": "TRANSFERREVERSAL_UPDATED",
                "creationDate": "2024-01-16T11:18:00.682451+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-16T11:11:40.611318+01:00",
                  "currency": "EUR",
                  "description": "Addeddata",
                  "fee": 0,
                  "merchantTransferReversalId": "test",
                  "movementId": "e34b6833-7b32-4fde-993a-b904f8f3aeae",
                  "net": 140,
                  "refundFee": true,
                  "status": "TRANSFERRED",
                  "transferId": "e3a45ca4-49a9-4681-bc06-be9ab6dd7d79",
                  "transferReversalId": "bb47ad7b-4112-4ad5-abf3-489d5878d6fd"
                },
                "requestId": "3509acf1-39c9-45e5-b1b6-d58ee6639b8d"
                  }

              The TRANSFER object

              TRANSFER_SUCCEEDED
              When a transfer succeeded
                  {
              {
                "eventId": "a1147178-8197-46d7-ba6d-433f71a1b7f5",
                "type": "TRANSFER_SUCCEEDED",
                "creationDate": "2024-01-08T14:33:25.439719+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-08T14:33:25.050153+01:00",
                  "currency": "EUR",
                  "description": "Vente de XxX",
                  "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "IDENTIFIANT_MRI",
                  "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "TRANSFERRED",
                  "toCurrency": "GTH",
                  "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
                  "transferReversals": []
                },
                "requestId": "6d21911b-40bb-4259-aef9-39c616d60aa4"
              }
                  }

              TRANSFER_UPDATED
              When a transfer is updated
                  {
              {
                "eventId": "356e4dff-4146-47d5-9db9-3226585cafc1",
                "type": "TRANSFER_UPDATED",
                "creationDate": "2024-01-08T14:38:40.555843+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val2"
                  },
                  "amount": 140,
                  "creationDate": "2024-01-08T14:33:25.050153+01:00",
                  "currency": "EUR",
                  "description": "transfer1",
                  "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "TEST_002",
                  "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "TRANSFERRED",
                  "toCurrency": "GTH",
                  "transferGroup": "TransferGroup_0002",
                  "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
                  "transferReversals": []
                },
                "requestId": "e7b6b976-a0ae-45dc-a018-f6c651a7f559",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-08T14:33:25.050153+01:00",
                  "currency": "EUR",
                  "description": "Vente de XxX",
                  "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "IDENTIFIANT_MRI",
                  "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "TRANSFERRED",
                  "toCurrency": "GTH",
                  "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
                  "transferReversals": []
                }
              }
                  }

              TRANSFER_CANCELED
              When a transfer is cancelled
                  {
                "eventId": "d1a35d33-87b7-4672-8e49-495cd117f45b",
                "type": "TRANSFER_CANCELED",
                "creationDate": "2024-01-16T11:34:40.698751+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "cancelMovementId": "e66acfa2-60c4-4eec-8bfe-f1571318a667",
                  "cancellationDate": "2024-01-16T11:34:40.691168+01:00",
                  "creationDate": "2024-01-16T11:34:05.280812+01:00",
                  "currency": "EUR",
                  "description": "Vente de XxX",
                  "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "escrowDate": "2035-12-23",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "IDENTIFIANT_GDU",
                  "movementId": "98c79326-53e5-4b71-8ef6-4b1344c428a4",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "CANCEL",
                  "toCurrency": "EUR",
                  "transferId": "fd4aa0f5-69d5-4b79-b6df-c99dab33d9ee",
                  "transferReversals": []
                },
                "requestId": "35b87d6e-41dd-4a5e-b1a2-5347b6fa1eba"
              }

              The WIRETRANSFER object (Deprecated)

              WIRETRANSFER_CREATED
              When a wire transfer is created

              WIRETRANSFER_UPDATED
              When a wire transfer is updated

              WIRETRANSFER_RECEIVED
              When a wire transfer is received

              WIRETRANSFER_CANCELED
              When a wire transfer is cancelled

              Complete enrollment

              Logos CentralPay

              Logo CentralPay SVG
              Logo CentralPay blanc SVG
              Logo CentralPay PNG
              Logo CentralPay blanc PNG

              R-transaction carte

              1/ Remboursement

              Vous pouvez rembourser une Transaction si celle-ci est « Cleared » via le service Refund ou depuis le détail de la Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant.

              Votre client recevra les fonds sur sa carte sous 3 à 5 jours ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération.

              Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.

              2/ Crédit

              Vous pouvez créditer la carte d’un client sans transaction initiale depuis le service Credit. Pour cela, il existe plusieurs solutions :

              • Tokeniser une carte via le service cardToken pour ensuite la renseigner dans le service Credit
              • Créer ou rechercher un Customer disposant d’une carte valide, puis renseigner son « customerId » ainsi que son « cardId » dans le service Credit
              NB : ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus.

              3/ Contestation

              Pour tout paiement par carte, votre client a la possibilité de contester une transaction auprès de sa banque (opération nommée contestation, chargeback ou impayé) :

              • pendant 120 jours à compter de la transaction sur les réseaux « Visa » ou « Mastercard »
              • pendant 13 mois à compter de la date d’opération sur le réseau Français « Carte Bancaire ».
              En France, une contestation n'est en principe autorisée que dans le cadre d'une utilisation frauduleuse de la carte (carte volée, prélèvements abusifs…). Cependant, dans d'autres pays européens, la contestation peut également être utilisée dans le cadre d'un litige commercial (service ou produit non rendu / non conforme).

              En cas de contestation, CentralPay en est informé et crée automatiquement sur votre compte une opération de Dispute liée à la transaction contestée. Le montant de cette transaction vous sera débité afin de rembourser votre client. Des frais non remboursables s’appliquent également pour chaque contestation reçue.

              À ce stade, le statut de la Dispute sera CHARGEBACK_NOTICED et vous pourrez consulter sur le Portail utilisateur ou via notre API le motif de contestation de votre client. Vous disposez ainsi d’un délai de 20 jours calendaires pour répondre en fournissant la preuve de livraison du service ou du produit. À défaut de réponse dans les délais impartis, il ne sera plus possible de répondre à la contestation.

              Notez que dans le cadre des transactions non authentifiées (sans 3DS), vous devez également justifier du consentement du titulaire de la carte. Vous devez à minima prouver que le nom et prénom de votre client est bien le même que celui qui est indiqué sur la carte de paiement. 

              Une fois votre réponse émise, celle-ci est étudiée par la banque de votre client avant d’adresser son verdict :

              • Vous avez obtenu gain de cause, la contestation a été rejetée. Le montant de la transaction vous est remboursé et le statut de la Dispute passe en CHARGEBACK_WON.
              • Vos preuves sont jugées insuffisantes, la contestation est maintenue. Le statut de la Dispute passe en CHARGEBACK_LOST.
              NB : Il est possible, en amont d'une contestation, qu'un client réalise une demande d'information sur une transaction afin d'en connaitre les détails. CentralPay créera une opération Dispute avec statut RETRIEVAL_NOTICED. Vous devez répondre dans les 7 jours en fournissant la nature du service délivré, la preuve de consentement du client et/ou la preuve de livraison. Si votre réponse est acceptée, le statut de la Dispute passera à RETRIEVAL_CLOSE. À défaut de réponse, votre client pourra déclencher une contestation auprès de sa banque.

              Object status

              Articles

              • PAYMENT REQUEST status
              • TRANSACTION status
              • REFUND status
              • CREDIT status
              • DISPUTES status
              • SUBSCRIPTION status
              • INSTALLMENT status
              • SDD TRANSACTION status
              • MANDATE status
              • BANK ACCOUNT status
              • PAYOUT status
              • SCT TRANSACTION status

              PAYMENT REQUEST status

              • Payment request status:
                • ACTIVE
                • CLOSED
                • CANCELED
              • Payment status :
                • UNPAID
                • ACCEPTED
                • PARTIALLY_PAID
                • PAID

              The following table explains every possible status combination and what they point out :

              Payment request statusPayment status Explanation
              ACTIVEUNPAIDPayment request created, waiting for the customer’s payment.
              ACTIVEPARTIALLY_PAIDThe customer has paid part of the total sum of the payment request that will stay ACTIVE while waiting for the remaining payment(s).
              ACTIVEACCEPTEDTemporary status that is exclusive for the SDD transactions, pre-authorization and deferred payments. The customer has done the required action and the operation is waiting for the processing.
              CLOSEDPAIDThe payment request has been fully paid.
              CLOSEDPARTIALLY_PAIDThe payment request has been partially paid and the merchant has manually closed it. This can be performed from the API or the user portal if the merchant is satisfied with this partial payment of the customer and allows to stop any automatic reminders.
              CANCELEDUNPAIDThe payment request was cancelled before the customer’s payment. This cancellation may be initiated by the merchant via API or via the User Portal (in the event of an error in the creation or cancellation of an order, for example), or carried out automatically if the link expires. This cancellation reason is visible from the User Portal.

              TRANSACTION status

              Status « Transaction »

              StatusDescription
              SUCCESSThe transaction is a « success » when an authorization request has been issued by the Bank and the bank return code is « 0 ».
              FRAUDThe status indicates that the transaction encountered a « blacklisted » item. This can come from an IP, phone number, email or card number.
              CAPTUREDA Success transaction must be « captured » within 7 calendar days in order to be charged to your Customer’s card.
              Note: by default, a transaction is automatically « captured ».
              FAILUREThe transaction is in « failure » when the authorization has not been issued by the Bank issuing the card.
              In addition, you receive a rejection code issued by the bank of the card issuer (bank code < 100).
              CANCELEDThis status reflects the cancellation of a « capture » request before it is cleared. It is possible to cancel a transaction between the « success » and « cleared » transaction status.
              THREEDS_AUTH_FAILURE3DS authentication failed. The cardholder submitted an incorrect code or did not submit it in time.
              CLEAREDA « Cleared » transaction indicates that a debit has been made on your customer’s card. At this point, you can no longer cancel the transaction, but you can refund it using the « refund » API object.
              NOT_ACCEPTEDThe transaction was declined as it encountered an element of denial of an acceptance rule.

              REFUND status

              Statuts « Refund »

              StatutDescription
              CLEAREDProcessed refund.
              UNCLEAREDRefund pending processing.
              FAILURERefund in error.
              CANCELEDRefund cancelled, either by you or by your customer via the customer portal.

              CREDIT status

              Status « Credit »

              StatusDescription
              CLEAREDCredit processed.
              UNCLEAREDCredit pending processing
              FAILURECredit in error.
              CANCELEDCredit cancelled, either by you or by your Customer via the customer portal.

              DISPUTES status

              Status « Disputes »

              StatutDescription
              RETRIEVAL_NOTICEDA request for information is sent to you in order to obtain information on the nature of the operation carried out. At this point, it is not a proven dispute. Depending on your response to this request, your client can turn it into a dispute.
              RETRIEVAL_CLOSENotification that the request for information is closed. The information provided has prevented the dispute.
              CHARGEBACK_NOTICEDA transaction dispute is sent by your customer. The amount of this transaction will be charged to refund your customer. Non-refundable fees also apply for each dispute received.
              Note : a Chargeback (dispute) is not necessarily preceded by a Retrieval (request for information).
              CHARGEBACK_WONYou were successful, the dispute was rejected. The amount of the transaction is refunded to you.
              CHARGEBACK_LOSTYour evidences are deemed insufficient, the challenge is upheld.
              TRANSACTION_REFUNDEDThe amount of the disputed transaction was refunded to you following a CHARGEBACK_WON.

              SUBSCRIPTION status

              Status « Subscription »

              StatusDescription
              ACCEPTEDThe subscription is active and running (initial status when a subscription is successfully created).
              PENDINGStatus defined by the configuration you have chosen in case of repeated payment failures.
              REFUSEDStatus defined by the configuration you have chosen in case of repeated payment failures.
              CANCELLEDThe subscription has been cancelled either by you or by your Customer via the customer portal.

              INSTALLMENT status

              Status « Subscription »

              StatusDescription
              ACTIVEThe installment is active and follows its course (initial status when an installment is created successfully).
              PAIDThe installment has been fully paid.
              FAILUREA payment attempt failed, there will be at least one more trial (The number of trials is configurable on the user portal).
              UNPAIDAll payment attempts failed, final status.
              CANCELEDThe installment has been cancelled by the merchant.

              SDD TRANSACTION status

              Statuts « SDD Transaction »

              StatutDescription
              ACTIVEPending SDD transaction (similar to pending status – largely obsolete status since CentralPay CBK update).
              PENDINGPending SDD transaction.
              NOTICEDObsolete — This status is no longer used.
              CLEAREDProcessed SDD transaction.
              CANCELEDCancelled SDD transaction.
              REVERSEDSDD transaction refunded following a rejection of the customer’s bank, a customer dispute, or following a refund from you.

              MANDATE status

              Status « Mandate »

              StatusDescription
              ACTIVEActive mandate, ready to use.
              PENDINGMandate pending validation.
              OBSOLETEInactive mandate, not usable.

              BANK ACCOUNT status

              StatusDescription
              ACCEPTEDThe bank account has been accepted by the conformity service.
              PENDINGThe bank account is waiting the conformity service verification.
              REFUSEDThe bank account has been refused by the conformity service.
              CANCELLEDThe bank account is no longer usable (closed account, fraud, …).

              PAYOUT status

              StatusDescription
              PAIDThe payout has been paid.
              PENDINGPayout pending processing.
              CANCELLEDThe payout has been cancelled (only in pending).
              REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet.

              SCT TRANSACTION status

              Status « SCT Transaction »

              StatusDescription
              PENDINGPending receipt of the SCT Transaction.
              RECEIVEDSCT Transaction received.
              CANCELEDSCT Transaction cancelled before receipt.
              REFUNDEDSCT Transaction refunded.

              Update enrollment

              Logos PaySecure

              Logos

              Logo PaySecure classique PNG
              Logo PaySecure blanc PNG
              Logo PaySecure classique JPG

              Visuels de réassurance (FR/EN)

              Réassurance – fond blanc
              Réassurance – fond transparent
              Réassurance – blanc
              Réassurance – fond blanc
              Réassurance – fond transparent
              Réassurance – blanc

              Email de confirmation

              1/ Introduction

              Quand une transaction par carte a été réalisée avec succès, CentralPay peut adresser un email de confirmation de paiement à votre client. Pour cela, vous devez l’activer en renseignant les paramétrages de l’email de confirmation dans votre Point de Vente.

              Cet email est adressé par défaut à l’email du Customer associé à la transaction, mais vous pouvez renseigner la valeur receiptEmail de la transaction si vous souhaitez l’adresser à un autre.

              2/ Paramétrage

              L’email de confirmation possède une mise en forme standardisée affichant les différentes informations de paiement, vous pouvez cependant configurer plusieurs paramètres depuis le Portail utilisateur.

              1. Adresse email de l’expéditeur : paramètrage depuis le point de vente
              2. Nom de l’expéditeur : paramètrage depuis le point de vente
              3. Votre logo : paramètrage depuis le point de vente
              4. Nom du point de vente : paramètrage depuis le point de vente
              5. Texte de pied de page : paramétrage depuis l’entrrée « Configuration > Email confirmation paiement > Créer »
              6. Langue d’affichage : renseigner la valeur « endUserLanguage » dans la requête de Transaction (anglais par défaut)

              Resources by type

              Articles

              • Codes
              • Test values

              Codes

              HTTP Codes

              Find below the list of HTTP return codes:

              200OK
              Note: The request was executed correctly
              400BAD REQUEST
              Note: Wrong parameter or rule
              401UNAUTHORIZED
              Note: Login / password are missing for HTTP authentication
              402PAYMENT_REQUIRED
              Note:  Authorization denied*
              403FORBIDDEN
              Note: Wrong authentication
              404NOT FOUND
              Note: Incorrect URL
              500INTERNAL SERVER ERROR
              Note: Server error

              (*) Only possible for the creation of a transaction

              Bank return codes

              List of codes returned by the issuer bank to CentralPay after an autorization request

              00Transaction approved or successfully processed
              02Contact card issuer
              03Invalid acceptor
              04Keep card
              05Do not honor
              06Transaction invalid for terminal
              07Honor with ID
              08Time-Out
              09No original
              10Unable to reverse
              11Partial approval
              12Invalid transaction
              13Invalid amount
              14Invalid cardholder number
              15Unknown card issuer
              17Invalid capture date (terminal business date)
              19Repeat transaction later
              20No From Account
              21No To Account
              22Account not verified
              23Account not saved
              24No Credit Account
              25Unable to locate record in file
              26Record duplicated
              27 ‘Edit’ error in file update field
              28File access denied
              29File update not possible
              30Format error
              31Identifier of acquiring organization unknown
              32Transaction partially completed
              33Card validity date exceeded
              34Implausible card data
              38Number of PIN attempts exceeded
              39Transaction not allowed
              41Lost card
              42Special Pickup
              43Stolen card
              44Stolen card
              51Insufficient funds or overdraft
              54 Card expired
              55Incorrect PIN
              56 Card not on file
              57Transaction not authorized to this cardholder
              58Transaction prohibited at terminal
              59Suspected fraud
              60 the card acceptor must contact the buyer
              61Withdrawal amount over limit
              62Card use restricted
              63MAC Key Error
              65 Frequency limit exceeded
              66Acquirer limit reached
              67Card withheld
              68Response not received or received too late
              75Number of PIN attempts exceeded
              76Invalid Account
              77Issuer not participating in service
              78Function not available
              79Key validation error
              80Approved for purchase amount only
              81Unable to verify PIN
              82Invalid CVV
              83Not refused
              84Invalid transaction lifecycle
              85No key to use
              86KME synchronization error
              87PIN error
              88MAC synchronization error
              89Security violation
              90Temporary system shutdown
              91Card transmitter inaccessible
              92Card issuer unknown
              93Transacation cannot be finalized
              94Duplicate request
              95Contact acquirer
              96System malfunction
              97No Funds Transfer
              98Duplicate Reversal
              99Duplicate Transaction
              N3Cash Service Not Available
              N4Cash Back Request Exceeds Issuer Limit
              N7Declined for CVV2 failure
              R0Stop Payment Order
              R1Revocation of Authorisation Order
              R3Revocation of all Authorisations Order
              A0Withdrawal in contact mode
              A1VADS fallback
              000Approved
              001Approve with ID
              002Partial approval (prepaid cards only)
              100Reject
              101Card expired / invalid expiry date
              106PIN attempts exceeded
              107Please call issuer
              109Invalid merchant
              110Invalid amount
              111Invalid account / Invalid MICR (traveler’s check)
              115Requested function not supported
              117Invalid PIN
              119Cardholder not registered / not authorized
              122Invalid card security code (alias CID, 4DBC, 4CSC)
              125Invalid effective date
              181Format error
              183Invalid currency code
              187Refuse – New card issued
              189Refuse – Merchant cancelled or closed / SE
              200Refuse – Pick up card
              900Accepted – ATC synchronization
              909System malfunction (cryptographic error)
              912Issuer not available

              Currency codes

              List of currency codes:

              AED
              UAE Dirham
              Currency code: 784
              AFN
              Afghani
              Currency code: 971
              ALL
              Lek
              Currency code: 008
              AMD
              Armenian Dram
              Currency code: 051
              ANG
              Netherlands Antillean Guilder
              Currency code: 532
              AOA
              Kwanza
              Currency code: 973
              ARS
              Argentine Peso
              Currency code: 032
              AUD
              Australian Dollar
              Currency code: 036
              AWG
              Aruban Florin
              Currency code: 533
              AZN
              Azerbaijanian Manat
              Currency code: 944
              BAM
              Convertible Mark
              Currency code: 977
              BBD
              Barbados Dollar
              Currency code: 052
              BDT
              Taka
              Currency code: 050
              BGN
              Bulgarian Lev
              Currency code: 975
              BHD
              Bahraini Dinar
              Currency code: 048
              BIF
              Burundi Franc
              Currency code: 108
              BMD
              Bermudian Dollar
              Currency code: 060
              BND
              Brunei Dollar
              Currency code: 096
              BOB
              Boliviano
              Currency code: 068
              BOV
              Mvdol
              Currency code: 984
              BRL
              Brazilian Real
              Currency code: 986
              BSD
              Bahamian Dollar
              Currency code: 044
              BTN
              Ngultrum
              Currency code: 064
              BWP
              Pula
              Currency code: 072
              BYR
              Belarussian Ruble
              Currency code: 974
              BZD
              Belize Dollar
              Currency code: 084
              CAD
              Canadian Dollar
              Currency code: 124
              CDF
              Congolese Franc
              Currency code: 976
              CHE
              WIR Euro
              Currency code: 947
              CHF
              Swiss Franc
              Currency code: 756
              CHW
              WIR Franc
              Currency code: 948
              CLF
              Unidad de Fomento
              Currency code: 990
              CLP
              Chilean Peso
              Currency code: 152
              CNY
              Yuan Renminbi
              Currency code: 156
              COP
              Colombian Peso
              Currency code: 170
              COU
              Unidad de Valor Real
              Currency code: 970
              CRC
              Costa Rican Colon
              Currency code: 188
              CUC
              Peso Convertible
              Currency code: 931
              CUP
              Cuban Peso
              Currency code: 192
              CVE
              Cabo Verde Escudo
              Currency code: 132
              CZK
              Czech Koruna
              Currency code: 203
              DJF
              Djibouti Franc
              Currency code: 262
              DKK
              Danish Krone
              Currency code: 208
              DOP
              Dominican Peso
              Currency code: 214
              DZD
              Algerian Dinar
              Currency code: 012
              EGP
              Egyptian Pound
              Currency code: 818
              ERN
              Nakfa
              Currency code: 232
              ETB
              Ethiopian Birr
              Currency code: 230
              EUR
              Euro
              Currency code: 978
              FJD
              Fiji Dollar
              Currency code: 242
              FKP
              Falkland Islands Pound
              Currency code: 238
              GBP
              Pound Sterling
              Currency code: 826
              GEL
              Lari
              Currency code: 981
              GHS
              Ghana Cedi
              Currency code: 936
              GIP
              Gibraltar Pound
              Currency code: 292
              GMD
              Dalasi
              Currency code: 270
              GNF
              Guinea Franc
              Currency code: 324
              GTQ
              Quetzal
              Currency code: 320
              GYD
              Guyana Dollar
              Currency code: 328
              HKD
              Hong Kong Dollar
              Currency code: 344
              HNL
              Lempira
              Currency code: 340
              HRK
              Kuna
              Currency code: 191
              HTG
              Gourde
              Currency code: 332
              HUF
              Forint
              Currency code: 348
              IDR
              Rupiah
              Currency code: 360
              ILS
              New Israeli Sheqel
              Currency code: 376
              INR
              Indian Rupee
              Currency code: 356
              IQD
              Iraqi Dinar
              Currency code: 368
              IRR
              Iranian Rial
              Currency code: 364
              ISK
              Iceland Krona
              Currency code: 352
              JMD
              Jamaican Dollar
              Currency code: 388
              JOD
              Jordanian Dinar
              Currency code: 400
              JPY
              Yen
              Currency code: 392
              KES
              Kenyan Shilling
              Currency code: 404
              KGS
              Som
              Currency code: 417
              KHR
              Riel
              Currency code: 116
              KMF
              Comoro Franc
              Currency code: 174
              KPW
              North Korean Won
              Currency code: 408
              KRW
              Won
              Currency code: 410
              KWD
              Kuwaiti Dinar
              Currency code: 414
              KYD
              Cayman Islands Dollar
              Currency code: 136
              KZT
              Tenge
              Currency code: 398
              LAK
              Kip
              Currency code: 418
              LBP
              Lebanese Pound
              Currency code: 422
              LKR
              Sri Lanka Rupee
              Currency code: 144
              LRD
              Liberian Dollar
              Currency code: 430
              LSL
              Loti
              Currency code: 426
              LYD
              Libyan Dinar
              Currency code: 434
              MAD
              Moroccan Dirham
              Currency code: 504
              MDL
              Moldovan Leu
              Currency code: 498
              MGA
              Malagasy Ariary
              Currency code: 969
              MKD
              Denar
              Currency code: 807
              MMK
              Kyat
              Currency code: 104
              MNT
              Tugrik
              Currency code: 496
              MOP
              Pataca
              Currency code: 446
              MRO
              Ouguiya
              Currency code: 478
              MUR
              Mauritius Rupee
              Currency code: 480
              MVR
              Rufiyaa
              Currency code: 462
              MWK
              Kwacha
              Currency code: 454
              MXN
              Mexican Peso
              Currency code: 484
              MXV
              Mexican Unidad de Inversion (UDI)
              Currency code: 979
              MYR
              Malaysian Ringgit
              Currency code: 458
              MZN
              Mozambique Metical
              Currency code: 943
              NAD
              Namibia Dollar
              Currency code: 516
              NGN
              Naira
              Currency code: 566
              NIO
              Cordoba Oro
              Currency code: 558
              NOK
              Norwegian Krone
              Currency code: 578
              NPR
              Nepalese Rupee
              Currency code: 524
              NZD
              New Zealand Dollar
              Currency code: 554
              OMR
              Rial Omani
              Currency code: 512
              PAB
              Balboa
              Currency code: 590
              PEN
              Nuevo Sol
              Currency code: 604
              PGK
              Kina
              Currency code: 598
              PHP
              Philippine Peso
              Currency code: 608
              PKR
              Pakistan Rupee
              Currency code: 586
              PLN
              Zloty
              Currency code: 985
              PYG
              Guarani
              Currency code: 600
              QAR
              Qatari Rial
              Currency code: 634
              RON
              Romanian Leu
              Currency code: 946
              RSD
              Serbian Dinar
              Currency code: 941
              RUB
              Russian Ruble
              Currency code: 643
              RWF
              Rwanda Franc
              Currency code: 646
              SAR
              Saudi Riyal
              Currency code: 682
              SBD
              Solomon Islands Dollar
              Currency code: 090
              SCR
              Seychelles Rupee
              Currency code: 690
              SDG
              Sudanese Pound
              Currency code: 938
              SEK
              Swedish Krona
              Currency code: 752
              SGD
              Singapore Dollar
              Currency code: 702
              SHP
              Saint Helena Pound
              Currency code: 654
              SLL
              Leone
              Currency code: 694
              SOS
              Somali Shilling
              Currency code: 706
              SRD
              Surinam Dollar
              Currency code: 968
              SSP
              South Sudanese Pound
              Currency code: 728
              STD
              Dobra
              Currency code: 678
              SVC
              El Salvador Colon
              Currency code: 222
              SYP
              Syrian Pound
              Currency code: 760
              SZL
              Lilangeni
              Currency code: 748
              THB
              Baht
              Currency code: 764
              TJS
              Somoni
              Currency code: 972
              TMT
              Turkmenistan New Manat
              Currency code: 934
              TND
              Tunisian Dinar
              Currency code: 788
              TOP
              Pa’anga
              Currency code: 776
              TRY
              Turkish Lira
              Currency code: 949
              TTD
              Trinidad and Tobago Dollar
              Currency code: 780
              TWD
              New Taiwan Dollar
              Currency code: 901
              TZS
              Tanzanian Shilling
              Currency code: 834
              UAH
              Hryvnia
              Currency code: 980
              UGX
              Uganda Shilling
              Currency code: 800
              USD
              US Dollar
              Currency code: 840
              USN
              US Dollar (Next day)
              Currency code: 997
              UYI
              Uruguay Peso en Unidades Indexadas (URUIURUI)
              Currency code: 940
              UYU
              Peso Uruguayo
              Currency code: 858
              UZS
              Uzbekistan Sum
              Currency code: 860
              VEF
              Bolivar
              Currency code: 937
              VND
              Dong
              Currency code: 704
              VUV
              Vatu
              Currency code: 548
              WST
              Tala
              Currency code: 882
              XAG
              Silver
              Currency code: 961
              XAU
              Gold
              Currency code: 959
              XBA
              Bond Markets Unit European Composite Unit (EURCO)
              Currency code: 955
              XBB
              Bond Markets Unit European Monetary Unit (E.M.U.-6)
              Currency code: 956
              XBC
              Bond Markets Unit European Unit of Account 9 (E.U.A.-9)
              Currency code: 957
              XBD
              Bond Markets Unit European Unit of Account 17 (E.U.A.-17)
              Currency code: 958
              XCD
              East Caribbean Dollar
              Currency code: 951
              XDR
              SDR (Special Drawing Right)
              Currency code: 960
              XOF
              CFA Franc BCEAO
              Currency code: 952
              XPD
              Palladium
              Currency code: 964
              XPF
              CFP Franc
              Currency code: 953
              XPT
              Platinum
              Currency code: 962
              XSU
              Sucre
              Currency code: 994
              XTS
              Codes specifically reserved for testing purposes
              Currency code: 963
              XUA
              ADB Unit of Account
              Currency code: 965
              XXX
              The codes assigned for transactions where no currency is involved
              Currency code: 999
              YER
              Yemeni Rial
              Currency code: 886
              ZAR
              Rand
              Currency code: 710
              ZMW
              Zambian Kwacha
              Currency code: 967
              ZWL
              Zimbabwe Dollar
              Currency code: 932

              Description of the certification « ISO 4217:2008 » is available at this url:

              • http://www.iso.org/iso/home/standards/currency_codes.htm

              SDD return codes

              Return CodeDescription
              AB05Timeout Creditor Agent
              AB06Timeout Instructed Agent
              AB07Offline Agent
              AB08Offline Creditor Agent
              AB09Error Creditor Agent
              AB10Error Instructed Agent
              AC01Incorrect Account Number
              AC03Invalid Creditor Account Number
              AC04Account Closed
              AC06Account blocked, reason not specified
              AC13Wrong Debtor account
              AG01Forbidden on this type of account
              AG02Operation/Transaction code incorrect, invalid file format
              AG09Payment Not Received
              AG10Agent Suspended
              AG11Creditor Agent Suspended
              AGNTIncorrect Agent
              AM02Not Allowed Amount
              AM04Insufficient Funds
              AM05Duplicate payment
              AM09Wrong Amount
              AM23Amount Exceeds Settlement Limit
              ARDTAlready a returned transaction
              BE04Account address invalid
              BE05Creditor Identifier incorrect
              CUSTCustomer decision
              CURRIncorrect Currency
              CUTACancellation Upon Unable to Apply
              CNORCreditor Bank is not Registered
              DNORDebtor Bank is not Registered
              DUPLDuplicate Payment
              ED05Settlement Failed
              ERINERI Option Not Supported
              FF01Invalid File Format
              FOCRPositive answer to the recall or RfRO
              FRADFraudulent originated credit transfer
              LEGLLegal Decision
              MD01No valid mandate
              MD02Mandate data missing or invalid
              MD06Refund Request By End Customer
              MD07Beneficiary Deceased
              MS02By order of the beneficiary
              MS03Reason not specified
              NOASNo Answer From Customer
              NOORNo Original Transaction Received
              RC01Invalid BIC
              RC07Invalid Creditor BIC Identifier
              RR01Missing Debtor Account Or Identification
              RR02Missing Debtors Name Or Address
              RR03Missing Creditors Name Or Address
              RR04Regulatory Reason
              SL01Specific service offered by debtor Bank
              TECHTechnical problems resulting in erroneous SCT’s
              TM01Invalid Cut Off Time
              UPAYUndue Payment

              Country codes

              List of country codes:

              004
              Afghanistan
              Alpha2 code: AF
              Alpha3 code: AFG
              008
              Albania
              Alpha2 code: AL
              Alpha3 code: ALB
              010
              Antarctica
              Alpha2 code: AQ
              Alpha3 code: ATA
              012
              Algeria
              Alpha2 code: DZ
              Alpha3 code: DZA
              016
              American Samoa
              Alpha2 code: AS
              Alpha3 code: ASM
              020
              Andorra
              Alpha2 code: AD
              Alpha3 code: AND
              024
              Angola
              Alpha2 code: AO
              Alpha3 code: AGO
              028
              Antigua and Barbuda
              Alpha2 code: AG
              Alpha3 code: ATG
              031
              Azerbaijan
              Alpha2 code: AZ
              Alpha3 code: AZE
              032
              Argentina
              Alpha2 code: AR
              Alpha3 code: ARG
              036
              Australia
              Alpha2 code: AU
              Alpha3 code: AUS
              040
              Austria
              Alpha2 code: AT
              Alpha3 code: AUT
              044
              Bahamas (the)
              Alpha2 code: BS
              Alpha3 code: BHS
              048
              Bahrain
              Alpha2 code: BH
              Alpha3 code: BHR
              050
              Bangladesh
              Alpha2 code: BD
              Alpha3 code: BGD
              051
              Armenia
              Alpha2 code: AM
              Alpha3 code: ARM
              052
              Barbados
              Alpha2 code: BB
              Alpha3 code: BRB
              056
              Belgium
              Alpha2 code: BE
              Alpha3 code: BEL
              060
              Bermuda
              Alpha2 code: BM
              Alpha3 code: BMU
              064
              Bhutan
              Alpha2 code: BT
              Alpha3 code: BTN
              068
              Bolivia, Plurinational State of
              Alpha2 code: BO
              Alpha3 code: BOL
              070
              Bosnia and Herzegovina
              Alpha2 code: BA
              Alpha3 code: BIH
              072
              Botswana
              Alpha2 code: BW
              Alpha3 code: BWA
              074
              Bouvet Island
              Alpha2 code: BV
              Alpha3 code: BVT
              076
              Brazil
              Alpha2 code: BR
              Alpha3 code: BRA
              084
              Belize
              Alpha2 code: BZ
              Alpha3 code: BLZ
              086
              British Indian Ocean Territory (the)
              Alpha2 code: IO
              Alpha3 code: IOT
              090
              Solomon Islands (the)
              Alpha2 code: SB
              Alpha3 code: SLB
              092
              Virgin Islands (British)
              Alpha2 code: VG
              Alpha3 code: VGB
              096
              Brunei Darussalam
              Alpha2 code: BN
              Alpha3 code: BRN
              100
              Bulgaria
              Alpha2 code: BG
              Alpha3 code: BGR
              104
              Myanmar
              Alpha2 code: MM
              Alpha3 code: MMR
              108
              Burundi
              Alpha2 code: BI
              Alpha3 code: BDI
              112
              Belarus
              Alpha2 code: BY
              Alpha3 code: BLR
              116
              Cambodia
              Alpha2 code: KH
              Alpha3 code: KHM
              120
              Cameroon
              Alpha2 code: CM
              Alpha3 code: CMR
              124
              Canada
              Alpha2 code: CA
              Alpha3 code: CAN
              132
              Cape Verde
              Alpha2 code: CV
              Alpha3 code: CPV
              136
              Cayman Islands (the)
              Alpha2 code: KY
              Alpha3 code: CYM
              140
              Central African Republic (the)
              Alpha2 code: CF
              Alpha3 code: CAF
              144
              Sri Lanka
              Alpha2 code: LK
              Alpha3 code: LKA
              148
              Chad
              Alpha2 code: TD
              Alpha3 code: TCD
              152
              Chile
              Alpha2 code: CL
              Alpha3 code: CHL
              156
              China
              Alpha2 code: CN
              Alpha3 code: CHN
              158
              Taiwan (Province of China)
              Alpha2 code: TW
              Alpha3 code: TWN
              162
              Christmas Island
              Alpha2 code: CX
              Alpha3 code: CXR
              166
              Cocos (Keeling) Islands (the)
              Alpha2 code: CC
              Alpha3 code: CCK
              170
              Colombia
              Alpha2 code: CO
              Alpha3 code: COL
              174
              Comoros
              Alpha2 code: KM
              Alpha3 code: COM
              175
              Mayotte
              Alpha2 code: YT
              Alpha3 code: MYT
              178
              Congo
              Alpha2 code: CG
              Alpha3 code: COG
              180
              Congo (the Democratic Republic of the)
              Alpha2 code: CD
              Alpha3 code: COD
              184
              Cook Islands (the)
              Alpha2 code: CK
              Alpha3 code: COK
              188
              Costa Rica
              Alpha2 code: CR
              Alpha3 code: CRI
              191
              Croatia
              Alpha2 code: HR
              Alpha3 code: HRV
              192
              Cuba
              Alpha2 code: CU
              Alpha3 code: CUB
              196
              Cyprus
              Alpha2 code: CY
              Alpha3 code: CYP
              203
              Czech Republic (the)
              Alpha2 code: CZ
              Alpha3 code: CZE
              204
              Benin
              Alpha2 code: BJ
              Alpha3 code: BEN
              208
              Denmark
              Alpha2 code: DK
              Alpha3 code: DNK
              212
              Dominica
              Alpha2 code: DM
              Alpha3 code: DMA
              214
              Dominican Republic (the)
              Alpha2 code: DO
              Alpha3 code: DOM
              218
              Ecuador
              Alpha2 code: EC
              Alpha3 code: ECU
              222
              El Salvador
              Alpha2 code: SV
              Alpha3 code: SLV
              226
              Equatorial Guinea
              Alpha2 code: GQ
              Alpha3 code: GNQ
              231
              Ethiopia
              Alpha2 code: ET
              Alpha3 code: ETH
              232
              Eritrea
              Alpha2 code: ER
              Alpha3 code: ERI
              233
              Estonia
              Alpha2 code: EE
              Alpha3 code: EST
              234
              Faroe Islands (the)
              Alpha2 code: FO
              Alpha3 code: FRO
              238
              Falkland Islands (the) [Malvinas]
              Alpha2 code: FK
              Alpha3 code: FLK
              239
              South Georgia and the South Sandwich Islands
              Alpha2 code: GS
              Alpha3 code: SGS
              242
              Fiji
              Alpha2 code: FJ
              Alpha3 code: FJI
              246
              Finland
              Alpha2 code: FI
              Alpha3 code: FIN
              248
              Ã…land Islands
              Alpha2 code: AX
              Alpha3 code: ALA
              250
              France
              Alpha2 code: FR
              Alpha3 code: FRA
              254
              French Guiana
              Alpha2 code: GF
              Alpha3 code: GUF
              258
              French Polynesia
              Alpha2 code: PF
              Alpha3 code: PYF
              260
              French Southern Territories (the)
              Alpha2 code: TF
              Alpha3 code: ATF
              262
              Djibouti
              Alpha2 code: DJ
              Alpha3 code: DJI
              266
              Gabon
              Alpha2 code: GA
              Alpha3 code: GAB
              268
              Georgia
              Alpha2 code: GE
              Alpha3 code: GEO
              270
              Gambia (The)
              Alpha2 code: GM
              Alpha3 code: GMB
              275
              Palestine, State of
              Alpha2 code: PS
              Alpha3 code: PSE
              276
              Germany
              Alpha2 code: DE
              Alpha3 code: DEU
              288
              Ghana
              Alpha2 code: GH
              Alpha3 code: GHA
              292
              Gibraltar
              Alpha2 code: GI
              Alpha3 code: GIB
              296
              Kiribati
              Alpha2 code: KI
              Alpha3 code: KIR
              300
              Greece
              Alpha2 code: GR
              Alpha3 code: GRC
              304
              Greenland
              Alpha2 code: GL
              Alpha3 code: GRL
              308
              Grenada
              Alpha2 code: GD
              Alpha3 code: GRD
              312
              Guadeloupe
              Alpha2 code: GP
              Alpha3 code: GLP
              316
              Guam
              Alpha2 code: GU
              Alpha3 code: GUM
              320
              Guatemala
              Alpha2 code: GT
              Alpha3 code: GTM
              324
              Guinea
              Alpha2 code: GN
              Alpha3 code: GIN
              328
              Guyana
              Alpha2 code: GY
              Alpha3 code: GUY
              332
              Haiti
              Alpha2 code: HT
              Alpha3 code: HTI
              334
              Heard Island and McDonald Islands
              Alpha2 code: HM
              Alpha3 code: HMD
              336
              Holy See (the) [Vatican City State]
              Alpha2 code: VA
              Alpha3 code: VAT
              340
              Honduras
              Alpha2 code: HN
              Alpha3 code: HND
              344
              Hong Kong
              Alpha2 code: HK
              Alpha3 code: HKG
              348
              Hungary
              Alpha2 code: HU
              Alpha3 code: HUN
              352
              Iceland
              Alpha2 code: IS
              Alpha3 code: ISL
              356
              India
              Alpha2 code: IN
              Alpha3 code: IND
              360
              Indonesia
              Alpha2 code: ID
              Alpha3 code: IDN
              364
              Iran (the Islamic Republic of)
              Alpha2 code: IR
              Alpha3 code: IRN
              368
              Iraq
              Alpha2 code: IQ
              Alpha3 code: IRQ
              372
              Ireland
              Alpha2 code: IE
              Alpha3 code: IRL
              376
              Israel
              Alpha2 code: IL
              Alpha3 code: ISR
              380
              Italy
              Alpha2 code: IT
              Alpha3 code: ITA
              384
              Ivory coast
              Alpha2 code: CI
              Alpha3 code: CIV
              388
              Jamaica
              Alpha2 code: JM
              Alpha3 code: JAM
              392
              Japan
              Alpha2 code: JP
              Alpha3 code: JPN
              398
              Kazakhstan
              Alpha2 code: KZ
              Alpha3 code: KAZ
              400
              Jordan
              Alpha2 code: JO
              Alpha3 code: JOR
              404
              Kenya
              Alpha2 code: KE
              Alpha3 code: KEN
              408
              Korea (the Democratic People’s Republic of)
              Alpha2 code: KP
              Alpha3 code: PRK
              410
              Korea (the Republic of)
              Alpha2 code: KR
              Alpha3 code: KOR
              414
              Kuwait
              Alpha2 code: KW
              Alpha3 code: KWT
              417
              Kyrgyzstan
              Alpha2 code: KG
              Alpha3 code: KGZ
              418
              Lao People’s Democratic Republic (the)
              Alpha2 code: LA
              Alpha3 code: LAO
              422
              Lebanon
              Alpha2 code: LB
              Alpha3 code: LBN
              426
              Lesotho
              Alpha2 code: LS
              Alpha3 code: LSO
              428
              Latvia
              Alpha2 code: LV
              Alpha3 code: LVA
              430
              Liberia
              Alpha2 code: LR
              Alpha3 code: LBR
              434
              Libya
              Alpha2 code: LY
              Alpha3 code: LBY
              438
              Liechtenstein
              Alpha2 code: LI
              Alpha3 code: LIE
              440
              Lithuania
              Alpha2 code: LT
              Alpha3 code: LTU
              442
              Luxembourg
              Alpha2 code: LU
              Alpha3 code: LUX
              446
              Macao
              Alpha2 code: MO
              Alpha3 code: MAC
              450
              Madagascar
              Alpha2 code: MG
              Alpha3 code: MDG
              454
              Malawi
              Alpha2 code: MW
              Alpha3 code: MWI
              458
              Malaysia
              Alpha2 code: MY
              Alpha3 code: MYS
              462
              Maldives
              Alpha2 code: MV
              Alpha3 code: MDV
              466
              Mali
              Alpha2 code: ML
              Alpha3 code: MLI
              470
              Malta
              Alpha2 code: MT
              Alpha3 code: MLT
              474
              Martinique
              Alpha2 code: MQ
              Alpha3 code: MTQ
              478
              Mauritania
              Alpha2 code: MR
              Alpha3 code: MRT
              480
              Mauritius
              Alpha2 code: MU
              Alpha3 code: MUS
              484
              Mexico
              Alpha2 code: MX
              Alpha3 code: MEX
              492
              Monaco
              Alpha2 code: MC
              Alpha3 code: MCO
              496
              Mongolia
              Alpha2 code: MN
              Alpha3 code: MNG
              498
              Moldova (the Republic of)
              Alpha2 code: MD
              Alpha3 code: MDA
              499
              Montenegro
              Alpha2 code: ME
              Alpha3 code: MNE
              500
              Montserrat
              Alpha2 code: MS
              Alpha3 code: MSR
              504
              Morocco
              Alpha2 code: MA
              Alpha3 code: MAR
              508
              Mozambique
              Alpha2 code: MZ
              Alpha3 code: MOZ
              512
              Oman
              Alpha2 code: OM
              Alpha3 code: OMN
              516
              Namibia
              Alpha2 code: NA
              Alpha3 code: NAM
              520
              Nauru
              Alpha2 code: NR
              Alpha3 code: NRU
              524
              Nepal
              Alpha2 code: NP
              Alpha3 code: NPL
              528
              Netherlands (the)
              Alpha2 code: NL
              Alpha3 code: NLD
              531
              Curacao
              Alpha2 code: CW
              Alpha3 code: CUW
              533
              Aruba
              Alpha2 code: AW
              Alpha3 code: ABW
              534
              Sint Maarten (Dutch part)
              Alpha2 code: SX
              Alpha3 code: SXM
              535
              Bonaire, Sint Eustatius and Saba
              Alpha2 code: BQ
              Alpha3 code: BES
              540
              New Caledonia
              Alpha2 code: NC
              Alpha3 code: NCL
              548
              Vanuatu
              Alpha2 code: VU
              Alpha3 code: VUT
              554
              New Zealand
              Alpha2 code: NZ
              Alpha3 code: NZL
              558
              Nicaragua
              Alpha2 code: NI
              Alpha3 code: NIC
              562
              Niger (the)
              Alpha2 code: NE
              Alpha3 code: NER
              566
              Nigeria
              Alpha2 code: NG
              Alpha3 code: NGA
              570
              Niue
              Alpha2 code: NU
              Alpha3 code: NIU
              574
              Norfolk Island
              Alpha2 code: NF
              Alpha3 code: NFK
              578
              Norway
              Alpha2 code: NO
              Alpha3 code: NOR
              580
              Northern Mariana Islands (the)
              Alpha2 code: MP
              Alpha3 code: MNP
              581
              United States Minor Outlying Islands (the)
              Alpha2 code: UM
              Alpha3 code: UMI
              583
              Micronesia (the Federated States of)
              Alpha2 code: FM
              Alpha3 code: FSM
              584
              Marshall Islands (the)
              Alpha2 code: MH
              Alpha3 code: MHL
              585
              Palau
              Alpha2 code: PW
              Alpha3 code: PLW
              586
              Pakistan
              Alpha2 code: PK
              Alpha3 code: PAK
              591
              Panama
              Alpha2 code: PA
              Alpha3 code: PAN
              598
              Papua New Guinea
              Alpha2 code: PG
              Alpha3 code: PNG
              600
              Paraguay
              Alpha2 code: PY
              Alpha3 code: PRY
              604
              Peru
              Alpha2 code: PE
              Alpha3 code: PER
              608
              Philippines (the)
              Alpha2 code: PH
              Alpha3 code: PHL
              612
              Pitcairn
              Alpha2 code: PN
              Alpha3 code: PCN
              616
              Poland
              Alpha2 code: PL
              Alpha3 code: POL
              620
              Portugal
              Alpha2 code: PT
              Alpha3 code: PRT
              624
              Guinea-Bissau
              Alpha2 code: GW
              Alpha3 code: GNB
              626
              Timor-Leste
              Alpha2 code: TL
              Alpha3 code: TLS
              630
              Puerto Rico
              Alpha2 code: PR
              Alpha3 code: PRI
              634
              Qatar
              Alpha2 code: QA
              Alpha3 code: QAT
              638
              Réunion
              Alpha2 code: RE
              Alpha3 code: REU
              642
              Romania
              Alpha2 code: RO
              Alpha3 code: ROU
              643
              Russian Federation (the)
              Alpha2 code: RU
              Alpha3 code: RUS
              646
              Rwanda
              Alpha2 code: RW
              Alpha3 code: RWA
              652
              Saint Barthélemy
              Alpha2 code: BL
              Alpha3 code: BLM
              654
              Saint Helena, Ascension and Tristan da Cunha
              Alpha2 code: SH
              Alpha3 code: SHN
              659
              Saint Kitts and Nevis
              Alpha2 code: KN
              Alpha3 code: KNA
              660
              Anguilla
              Alpha2 code: AI
              Alpha3 code: AIA
              662
              Saint Lucia
              Alpha2 code: LC
              Alpha3 code: LCA
              663
              Saint Martin (French part)
              Alpha2 code: MF
              Alpha3 code: MAF
              666
              Saint Pierre and Miquelon
              Alpha2 code: PM
              Alpha3 code: SPM
              670
              Saint Vincent and the Grenadines
              Alpha2 code: VC
              Alpha3 code: VCT
              674
              San Marino
              Alpha2 code: SM
              Alpha3 code: SMR
              678
              Sao Tome and Principe
              Alpha2 code: ST
              Alpha3 code: STP
              682
              Saudi Arabia
              Alpha2 code: SA
              Alpha3 code: SAU
              686
              Senegal
              Alpha2 code: SN
              Alpha3 code: SEN
              688
              Serbia
              Alpha2 code: RS
              Alpha3 code: SRB
              690
              Seychelles
              Alpha2 code: SC
              Alpha3 code: SYC
              694
              Sierra Leone
              Alpha2 code: SL
              Alpha3 code: SLE
              702
              Singapore
              Alpha2 code: SG
              Alpha3 code: SGP
              703
              Slovakia
              Alpha2 code: SK
              Alpha3 code: SVK
              704
              Viet Nam
              Alpha2 code: VN
              Alpha3 code: VNM
              705
              Slovenia
              Alpha2 code: SI
              Alpha3 code: SVN
              706
              Somalia
              Alpha2 code: SO
              Alpha3 code: SOM
              710
              South Africa
              Alpha2 code: ZA
              Alpha3 code: ZAF
              716
              Zimbabwe
              Alpha2 code: ZW
              Alpha3 code: ZWE
              724
              Spain
              Alpha2 code: ES
              Alpha3 code: ESP
              728
              South Sudan
              Alpha2 code: SS
              Alpha3 code: SSD
              729
              Sudan (the)
              Alpha2 code: SD
              Alpha3 code: SDN
              732
              Western Sahara
              Alpha2 code: EH
              Alpha3 code: ESH
              740
              Suriname
              Alpha2 code: SR
              Alpha3 code: SUR
              744
              Svalbard and Jan Mayen
              Alpha2 code: SJ
              Alpha3 code: SJM
              748
              Swaziland
              Alpha2 code: SZ
              Alpha3 code: SWZ
              752
              Sweden
              Alpha2 code: SE
              Alpha3 code: SWE
              756
              Switzerland
              Alpha2 code: CH
              Alpha3 code: CHE
              760
              Syrian Arab Republic (the)
              Alpha2 code: SY
              Alpha3 code: SYR
              762
              Tajikistan
              Alpha2 code: TJ
              Alpha3 code: TJK
              764
              Thailand
              Alpha2 code: TH
              Alpha3 code: THA
              768
              Togo
              Alpha2 code: TG
              Alpha3 code: TGO
              772
              Tokelau
              Alpha2 code: TK
              Alpha3 code: TKL
              776
              Tonga
              Alpha2 code: TO
              Alpha3 code: TON
              780
              Trinidad and Tobago
              Alpha2 code: TT
              Alpha3 code: TTO
              784
              United Arab Emirates (the)
              Alpha2 code: AE
              Alpha3 code: ARE
              788
              Tunisia
              Alpha2 code: TN
              Alpha3 code: TUN
              792
              Turkey
              Alpha2 code: TR
              Alpha3 code: TUR
              795
              Turkmenistan
              Alpha2 code: TM
              Alpha3 code: TKM
              796
              Turks and Caicos Islands (the)
              Alpha2 code: TC
              Alpha3 code: TCA
              798
              Tuvalu
              Alpha2 code: TV
              Alpha3 code: TUV
              800
              Uganda
              Alpha2 code: UG
              Alpha3 code: UGA
              804
              Ukraine
              Alpha2 code: UA
              Alpha3 code: UKR
              807
              Macedonia (the former Yugoslav Republic of)
              Alpha2 code: MK
              Alpha3 code: MKD
              818
              Egypt
              Alpha2 code: EG
              Alpha3 code: EGY
              826
              United Kingdom (the)
              Alpha2 code: GB
              Alpha3 code: GBR
              831
              Guernsey
              Alpha2 code: GG
              Alpha3 code: GGY
              832
              Jersey
              Alpha2 code: JE
              Alpha3 code: JEY
              833
              Isle of Man
              Alpha2 code: IM
              Alpha3 code: IMN
              834
              Tanzania, United Republic of
              Alpha2 code: TZ
              Alpha3 code: TZA
              840
              United States (the)
              Alpha2 code: US
              Alpha3 code: USA
              850
              Virgin Islands (U.S.)
              Alpha2 code: VI
              Alpha3 code: VIR
              854
              Burkina Faso
              Alpha2 code: BF
              Alpha3 code: BFA
              858
              Uruguay
              Alpha2 code: UY
              Alpha3 code: URY
              860
              Uzbekistan
              Alpha2 code: UZ
              Alpha3 code: UZB
              862
              Venezuela, Bolivarian Republic of
              Alpha2 code: VE
              Alpha3 code: VEN
              876
              Wallis and Futuna
              Alpha2 code: WF
              Alpha3 code: WLF
              882
              Samoa
              Alpha2 code: WS
              Alpha3 code: WSM
              887
              Yemen
              Alpha2 code: YE
              Alpha3 code: YEM
              894
              Zambia  
              Alpha2 code: ZM
              Alpha3 code: ZMB

              Transfer purpose codes

              ACCT : AccountManagement
              ADCS : AdvisoryDonationCopyrightServices
              ADMG : AdministrativeManagement
              ADVA : AdvancePayment
              AEMP : ActiveEmploymentPolicy
              AGRT : AgriculturalTransfer
              AIRB : Air
              ALLW : Allowance
              ALMY : AlimonyPayment
              AMEX : Amex
              ANNI : Annuity
              ANTS : AnesthesiaServices
              AREN : AccountsReceivablesEntry
              AUCO : AuthenticatedCollections
              B112 : TrailerFeePayment
              BBSC : BabyBonusScheme
              BCDM : BearerChequeDomestic
              BCFG : BearerChequeForeign
              BECH : ChildBenefit
              BENE : UnemploymentDisabilityBenefit
              BEXP : BusinessExpenses
              BFWD : BondForward
              BKDF : BankLoanDelayedDrawFunding
              BKFE : BankLoanFees
              BKFM : BankLoanFundingMemo
              BKIP : BankLoanAccruedInterestPayment
              BKPP : BankLoanPrincipalPaydown
              BLDM : BuildingMaintenance
              BNET : BondForwardNetting
              BOCE : BackOfficeConversionEntry
              BOND : Bonds
              BONU : BonusPayment.
              BR12 : TrailerFeeRebate
              BUSB : Bus
              CABD : CorporateActions-Bonds
              CAEQ : CorporateActions-Equities
              CAFI : CustodianManagementFeeInhouse
              CASH : CashManagementTransfer
              CBCR : CreditCard
              CBFF : CapitalBuilding
              CBFR : CapitalBuildingRetirement
              CBLK : CardBulkClearing
              CBTV : CableTVBill
              CCHD : CashCompensationHelplessnessDisability
              CCIR : CrossCurrencyIRS
              CCPC : CCPClearedInitialMargin
              CCPM : CCPClearedVariationMargin
              CCRD : CreditCardPayment
              CCSM : CCPClearedInitialMarginSegregatedCash
              CDBL : CreditCardBill
              CDCB : CardPaymentWithCashBack
              CDCD : CashDisbursementCashSettlement
              CDCS : CashDisbursementWithSurcharging
              CDDP : CardDeferredPayment
              CDEP : CreditDefaultEventPayment
              CDOC : OriginalCredit
              CDQC : QuasiCash
              CFDI : CapitalFallingDueInhouse
              CFEE : CancellationFee
              CGDD : CardGeneratedDirectDebit
              CHAR : CharityPayment
              CLPR : CarLoanPrincipalRepayment
              CMDT : CommodityTransfer
              COLL : CollectionPayment
              COMC : CommercialPayment
              COMM : Commission
              COMP : CompensationPayment
              COMT : ConsumerThirdPartyConsolidatedPayment
              CORT : TradeSettlementPayment
              COST : Costs
              CPEN : CashPenalties
              CPKC : CarparkCharges
              CPYR : Copyright
              CRDS : CreditDefaultSwap
              CRPR : CrossProduct
              CRSP : CreditSupport
              CRTL : CreditLine
              CSDB : CashDisbursementCashManagement
              CSLP : CompanySocialLoanPaymentToBank
              CVCF : ConvalescentCareFacility
              DBCR : DebitCard
              DBTC : DebitCollectionPayment
              DCRD : DebitCardPayment
              DEBT : ChargesBorneByDebtor
              DEPD : DependentSupportPayment
              DEPT : Deposit
              DERI : Derivatives
              DICL : Diners
              DIVD : Dividend
              DMEQ : DurableMedicaleEquipment
              DNTS : DentalServices
              DSMT : PrintedOrderDisbursement
              DVPM : DeliverAgainstPayment
              ECPG : GuaranteedEPayment
              ECPR : EPaymentReturn
              ECPU : NonGuaranteedEPayment
              EDUC : Education
              EFTC : LowValueCredit
              EFTD : LowValueDebit
              ELEC : ElectricityBill
              ENRG : Energies
              EPAY : Epayment
              EQPT : EquityOption
              EQTS : Equities
              EQUS : EquitySwap
              ESTX : EstateTax
              ETUP : EPurseTopUp
              EXPT : ExoticOption
              EXTD : ExchangeTradedDerivatives
              FACT : FactorUpdateRelatedPayment
              FAND : FinancialAidInCaseOfNaturalDisaster
              FCOL : FeeCollection
              FCPM : LatePaymentOfFeesAndCharges
              FEES : PaymentOfFees
              FERB : Ferry
              FIXI : FixedIncome
              FLCR : FleetCard
              FNET : FuturesNettingPayment
              FORW : ForwardForeignExchange
              FREX : ForeignExchange
              FUTR : Futures
              FWBC : ForwardBrokerOwnedCashCollateral
              FWCC : ForwardClientOwnedCashCollateral
              FWLV : ForeignWorkerLevy
              FWSB : ForwardBrokerOwnedCashCollateralSegregated
              FWSC : ForwardClientOwnedSegregatedCashCollateral
              FXNT : ForeignExchangeRelatedNetting
              GAFA : GovernmentFamilyAllowance
              GAHO : GovernmentHousingAllowance
              GAMB : GamblingOrWageringPayment
              GASB : GasBill
              GDDS : PurchaseSaleOfGoods
              GDSV : PurchaseSaleOfGoodsAndServices
              GFRP : GuaranteeFundRightsPayment
              GIFT : Gift
              GOVI : GovernmentInsurance
              GOVT : GovernmentPayment
              GSCB : PurchaseSaleOfGoodsAndServicesWithCashBack
              GSTX : GoodsServicesTax
              GVEA : AustrianGovernmentEmployeesCategoryA
              GVEB : AustrianGovernmentEmployeesCategoryB
              GVEC : AustrianGovernmentEmployeesCategoryC
              GVED : AustrianGovernmentEmployeesCategoryD
              GWLT : GovermentWarLegislationTransfer
              HEDG : Hedging
              HLRP : PropertyLoanRepayment
              HLST : PropertyLoanSettlement
              HLTC : HomeHealthCare
              HLTI : HealthInsurance
              HREC : HousingRelatedContribution
              HSPC : HospitalCare
              HSTX : HousingTax
              ICCP : IrrevocableCreditCardPayment
              ICRF : IntermediateCareFacility
              IDCP : IrrevocableDebitCardPayment
              IHRP : InstalmentHirePurchaseAgreement
              INPC : InsurancePremiumCar
              INPR : InsurancePremiumRefund
              INSC : PaymentOfInsuranceClaim
              INSM : Installment
              INSU : InsurancePremium
              INTC : IntraCompanyPayment
              INTE : Interest
              INTP : IntraPartyPayment
              INTX : IncomeTax
              INVS : InvestmentAndSecurities
              IPAY : InstantPayments
              IPCA : InstantPaymentsCancellation
              IPDO : InstantPaymentsForDonations
              IPEA : InstantPaymentsInECommerceWithoutAddressData
              IPEC : InstantPaymentsInECommerceWithAddressData
              IPEW : InstantPaymentsInECommerce
              IPPS : InstantPaymentsAtPOS
              IPRT : InstantPaymentsReturn
              IPU2 : InstantPaymentsUnattendedVendingMachineWith2FA
              IPUW : InstantPaymentsUnattendedVendingMachineWithout2FA
              IVPT : InvoicePayment
              LBIN : LendingBuyInNetting
              LBRI : LaborInsurance
              LCOL : LendingCashCollateralFreeMovement
              LFEE : LendingFees
              LICF : LicenseFee
              LIFI : LifeInsurance
              LIMA : LiquidityManagement
              LMEQ : LendingEquityMarkedToMarketCashCollateral
              LMFI : LendingFixedIncomeMarkedToMarketCashCollateral
              LMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateral
              LOAN : Loan
              LOAR : LoanRepayment
              LOTT : LotteryPayment
              LREB : LendingRebatePayments
              LREV : LendingRevenuePayments
              LSFL : LendingClaimPayment
              LTCF : LongTermCareFacility
              MAFC : MedicalAidFundContribution
              MARF : MedicalAidRefund
              MARG : DailyMarginOnListedDerivatives
              MBSB : MBSBrokerOwnedCashCollateral
              MBSC : MBSClientOwnedCashCollateral
              MCDM : MultiCurrenyChequeDomestic
              MCFG : MultiCurrenyChequeForeign
              MDCS : MedicalServices
              MGCC : FuturesInitialMargin
              MGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateral
              MOMA : MoneyMarket
              MP2B : MobileP2BPayment
              MP2P : MobileP2PPayment
              MSVC : MultipleServiceTypes
              MTUP : MobileTopUp
              NETT : Netting
              NITX : NetIncomeTax
              NOWS : NotOtherwiseSpecified
              NWCH : NetworkCharge
              NWCM : NetworkCommunication
              OCCC : ClientOwnedOCCPledgedCollateral
              OCDM : OrderChequeDomestic
              OCFG : OrderChequeForeign
              OFEE : OpeningFee
              OPBC : OTCOptionBrokerOwnedCashCollateral
              OPCC : OTCOptionClientOwnedCashCollateral
              OPSB : OTCOptionBrokerOwnedSegregatedCashCollateral
              OPSC : OTCOptionClientOwnedCashSegregatedCashCollateral
              OPTN : FXOption
              OTCD : OTCDerivatives
              OTHR : Other
              OTLC : OtherTelecomRelatedBill
              PADD : PreauthorizedDebit
              PAYR : Payroll
              PCOM : PropertyCompletionPayment
              PDEP : PropertyDeposit
              PEFC : PensionFundContribution
              PENO : PaymentBasedOnEnforcementOrder
              PENS : PensionPayment
              PHON : TelephoneBill
              PLDS : PropertyLoanDisbursement
              PLRF : PropertyLoanRefinancing
              POPE : PointOfPurchaseEntry
              PPTI : PropertyInsurance
              PRCP : PricePayment
              PRME : PreciousMetal
              PTSP : PaymentTerms
              PTXP : PropertyTax
              RAPI : RapidPaymentInstruction
              RCKE : RepresentedCheckEntry
              RCPT : ReceiptPayment
              RDTX : RoadTax
              REBT : Rebate
              REFU : Refund
              RELG : RentalLeaseGeneral
              RENT : Rent
              REOD : AccountOverdraftRepayment
              REPO : RepurchaseAgreement
              RETL : RetailPayment
              RHBS : RehabilitationSupport
              RIMB : ReimbursementOfAPreviousErroneousTransaction
              RINP : RecurringInstallmentPayment
              RLWY : Railway
              ROYA : Royalties
              RPBC : BilateralRepoBrokerOwnedCollateral
              RPCC : RepoClientOwnedCollateral
              RPNT : BilateralRepoInternetNetting
              RPSB : BilateralRepoBrokerOwnedSegregatedCashCollateral
              RPSC : BilateralRepoClientOwnedSegregatedCashCollateral
              RRBN : RoundRobin
              RRCT : ReimbursementReceivedCreditTransfer
              RRTP : RelatedRequestToPay
              RVPM : ReceiveAgainstPayment
              RVPO : ReverseRepurchaseAgreement
              SALA : SalaryPayment
              SASW : ATM
              SAVG : Savings
              SBSC : SecuritiesBuySellSellBuyBack
              SCIE : SingleCurrencyIRSExotic
              SCIR : SingleCurrencyIRS
              SCRP : SecuritiesCrossProducts
              SCVE : PurchaseSaleOfServices
              SECU : Securities
              SEPI : SecuritiesPurchaseInhouse
              SERV : ServiceCharges
              SHBC : BrokerOwnedCollateralShortSale
              SHCC : ClientOwnedCollateralShortSale
              SHSL : ShortSell
              SLEB : SecuritiesLendingAndBorrowing
              SLOA : SecuredLoan
              SLPI : PaymentSlipInstruction
              SPLT : SplitPayments
              SPSP : SalaryPensionSumPayment
              SSBE : SocialSecurityBenefit
              STDY : Study
              SUBS : Subscription
              SUPP : SupplierPayment
              SWBC : SwapBrokerOwnedCashCollateral
              SWCC : SwapClientOwnedCashCollateral
              SWFP : SwapContractFinalPayment
              SWPP : SwapContractPartialPayment
              SWPT : Swaption
              SWRS : SwapContractResetPayment
              SWSB : SwapsBrokerOwnedSegregatedCashCollateral
              SWSC : SwapsClientOwnedSegregatedCashCollateral
              SWUF : SwapContractUpfrontPayment
              TAXR : TaxRefund
              TAXS : TaxPayment
              TBAN : TBAPairOffNetting
              TBAS : ToBeAnnounced
              TBBC : TBABrokerOwnedCashCollateral
              TBCC : TBAClientOwnedCashCollateral
              TBIL : TelecommunicationsBill
              TCSC : TownCouncilServiceCharges
              TELI : TelephoneInitiatedTransaction
              TLRF : NonUSMutualFundTrailerFeePayment
              TLRR : NonUSMutualFundTrailerFeeRebatePayment
              TMPG : TMPGClaimPayment
              TPRI : TriPartyRepoInterest
              TPRP : TriPartyRepoNetting
              TRAD : Commercial
              TRCP : TreasuryCrossProduct
              TREA : TreasuryPayment
              TRFD : TrustFund
              TRNC : TruncatedPaymentSlip
              TRPT : RoadPricing
              TRVC : TravellerCheque
              UBIL : Utilities
              UNIT : UnitTrustPurchase
              VATX : ValueAddedTaxPayment
              VIEW : VisionCare
              WEBI : InternetInitiatedTransaction
              WHLD : WithHolding
              WTER : WaterBill

              SDD purpose codes

              The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction.

              SALA(1) (2)Salary Payment
              TREA(1) (2)Treasury Payment
              ADVA(2)Advance Payment
              AGRT(2)Agricultural Transfer
              ALMY(2)Alimony Payment
              BECH(2)Child Benefit
              BENE(2)Unemployment Disability Benefit
              BONU(2)Bonus Payment
              CASH(1) (2)Cash Management Transfer
              CBFF(2)Capital Building
              CHAR(2)Charity Payment
              COLL(2)Collection Payment
              CMDT(2)Commodity Transfer
              COMC(2)Commercial Payment
              COMM(2)Commission
              COST(2)Costs
              CPYR(2)Copyright
              DIVI(1) (2)Dividend
              FREX(2)Foreign Exchange
              GDDS(2)Purchase Sale Of Goods
              GOVT(1) (2)Gouvernment Payment
              IHRP(2)Instalment Hire Purchase Agreement
              INTC(1) (2)Intra Company Payment
              INSU(2)Insurance Premium
              INTE(1) (2)Interest
              LIFC(2)Licence Fee
              LOAN(1) (2)Loan
              LOAR(2)Loan Repayment
              NETT(2)Netting
              PAYR(2)Payment Roll
              PENS(1) (2)Pension
              REFU (2)Refund
              RENT(2)Rent
              ROYA(2)Royalties
              SCVE(2)Purchase Sale Of Services
              SECU(1) (2)Securities
              SSBE(1) (2)Social Security Benefit
              SUBS(2)Subscription
              TAXS(1) (2)Tax Payment
              COMT(2)Consumer Third Party Consolidated Payment
              DBTC(2)Debit Collection Payment
              SUPP(1) (2)Supplier Payment
              HEDG(1) (2)Hedging
              MSVC(2)Multiple Service Types
              NOWS(2)Not Otherwise Specified
              CARD(2)Card Payment
              CDBL(2)Credit Card Bill
              FERB(2)Ferry
              AIRB(2)Air
              BUSB(2)Bus
              RLWY(2)Railway
              CVCF(2)Convalescent Care Facility
              DNTS(2)Dental Services
              ANTS(2)Anesthesia Services
              HLTC(2)Home Health Care
              HSPC(2)Hospital Care
              ICRF(2)Intermediate Care Facility
              LTCF(2)Long Term Care Facility
              MDCS(2)Medical Services
              VIEW(2)Vision Care
              DMEQ(2)Durable Medicale Equipment
              CBTV(2)Cable TV Bill
              ELEC(2)Electricity Bill
              GASB(2)Gas Bill
              PHON(2)Telephone Bill
              OTLC(2)Other Telecom Related Bill
              WTER(2)Water Bill
              STDY(2)Study
              PRCP(2)Price Payment
              INSM(2)Installment
              RINP(2)Recurring Installment Payment
              OFEE(2)Opening Fee
              CFEE(2)Cancellation Fee
              GOVI(2)Government Insurance
              INPC(2)Insurance Premium Car
              LBRI(2)Labor Insurance
              LIFI(2)Life Insurance
              PPTI(2)Property Insurance
              HLTI(2)Health Insurance
              CLPR(2)Car Loan Principal Repayment
              ESTX(2)Estate Tax
              HLRP(2)Housing Loan Repayment
              CSLP(2)Company Social Loan Payment To Bank
              HSTX(2)Housing Tax
              INTX(2)Income Tax
              NITX(2)Net Income Tax
              NWCH(2)Network Charge
              NWCM(2)Network Communication
              BEXP(2)Business Expenses
              TRFD(2)Trust Fund
              RCPT(2)Receipt
              PTSP(2)Payment Terms
              OTHR(2)Other
              WHLD(1)(2)With Holding
              CORT(1)Trade Settlement Payment
              VATX(1)Value Added Tax Payment
              TRAD(1)Trade

              Error codes

              ErrorDetails ATTRIBUTES
              errorCodeCode indicating the type of problem identified.
              errorComponentCode indicating the 3-D Secure component that identified the error.
              errorDescriptionText describing the problem identified.
              errorDetailAdditional detail regarding the problem identified.
              ErrorCode possible values
              101MESSAGE_RECEIVED_INVALID
              102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED
              103SENT_MESSAGES_LIMIT_EXCEEDED
              201REQUIRED_ELEMENT_MISSING
              202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED
              203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS
              204DUPLICATE_DATA_ELEMENT
              301TRANSACTION_ID_NOT_RECOGNIZED
              302DATA_DECRYPTION_FAILURE
              303ACCESS_DENIED_INVALID_ENDPOINT
              304ISO_CODE_NOT_VALID
              305TRANSACTION_DATA_NOT_VALID
              306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM
              307SERIAL_NUMBER_NOT_VALID
              402TRANSACTION_TIMED_OUT
              403TRANSIENT_SYSTEM_FAILURE
              404PERMANENT_SYSTEM_FAILURE
              405SYSTEM_CONNECTION_FAILURE
              911DATA_FIELDS_RELEVANCE_CHECK_FAILURE
              912DUPLICATED_TRANSACTION_ID
              ErrorComponent possible values
              « C »THREE_DS_SDK
              « S »THREE_DS_SERVER
              « D »DIRECTORY_SERVER
              « A »ACCESS_CONTROL_SERVER

              Test values

              Test IBAN values

              Find below the list of HTTP return codes:

              DE91100000000123456789AXABFRPP
              AZ96AZEJ00000000001234567890AXABFRPP
              CY21002001950000357001234567AXABFRPP
              ES7921000813610123456789AXABFRPP
              FR7630006000011234567890189AXABFRPP
              FO9264600123456789AXABFRPP

              Test cards Values

              You will find below a list of cards that you can use to test and check your integration.

              Visa Card numbers

              4000 0000 0000 0051Card lost (41) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4000 0000 0000 0069Fraud suspicion (59) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4000 0000 0000 0077Insufficient funds (51) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4000 0000 0000 0085To be refused (5) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4556 5579 5572 6624Transaction successful (3DS) & Authentication = Y
              4916 9940 6425 2017Transaction successful (3DS) & Authentication = C
              4556 1041 6038 2032Transaction successful (NON 3DS) & Authentication = N
              4024 0071 7987 2394Transaction (NON 3DS) & Authentication = N
              4234 6319 8242 8908Transaction (3DS) & Authentication = I
              4234 6319 8242 8916Transaction successful (3DS) & Authentication = D : application flow
              4234 6319 8242 8924Transaction successful (3DS) & Authentication = D : browser flow
              4032 0389 8296 2700EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBIT ;
              4032 0343 8883 4767EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDIT ;
              4020 0280 0191 2012EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWN ;
              4032 0337 9569 2248EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBIT ;
              4032 0368 1354 0364EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDIT ;
              4032 0387 5662 0096EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWN ;
              4032 0358 5604 7592EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBIT ;
              4032 0302 9068 3219EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDIT ;
              4032 0377 5134 3001EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWN ;
              4032 0307 5488 6225EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBIT ;
              4032 0310 2547 6341EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDIT ;
              4032 0341 4311 3978EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWN ;
              4032 0309 5816 7398EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBIT ;
              4032 0375 4480 7536EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDIT ;
              4032 0366 9148 7225EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWN ;
              4032 0325 8917 3860EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBIT ;
              4032 0388 0897 9557EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDIT ;
              4032 0374 2147 1240EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWN ;

              Mastercard Card numbers

              5333 2591 5564 3223Transaction successful (3DS) & Authentication = Y
              5306 8899 4283 3340Transaction successful (3DS) & Authentication = C
              5328 7203 8458 2224Transaction successful (NON 3DS) & Authentication = N
              5187 4346 4359 3002Transaction successful (NON 3DS) & Authentication = N
              5517 4500 0000 0168EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDIT
              5223 8599 0000 0174EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBIT
              5325 0900 0000 0115EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT
              5325 0900 0000 0008EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT
              5486 7467 7300 0005EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUS
              5588 1000 0000 0007EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBIT
              5122 9400 0000 0009EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBIT

              Amex Card numbers

              3415 0209 8634 895Transaction successful (3DS) & Authentication = Y
              3486 3826 7931 507Transaction successful (3DS) & Authentication = C
              3456 9539 9207 589Transaction successful (NON 3DS) & Authentication = N
              3415 0209 8634 895EEA=false ; region=EUROPE ; productType=CONSUMER
              3486 3826 7931 507EEA=false ; region=EUROPE ; productType=CORPORATE
              3718 4294 2351 004EEA=false ; region=EUROPE ; productType=UNKNOWN
              3712 5311 3391 201EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMER
              3423 1631 7472 410EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATE
              3710 9829 7279 338EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWN

              CB Card numbers

              4020 0235 6597 5380Transaction successful (NON 3DS), scheme : CB
              4020 0254 4041 8403Transaction successful (NON 3DS), scheme : CB_VISA
              5232 1035 2372 2651Transaction successful (NON 3DS), scheme : CB_MASTERCARD

              Search enrollement

              Visuels de réassurance (FR/EN)

              Intégrez un de ces visuels en dessous de votre formulaire de paiement CustomForm, ou simplement dans le footer de votre site afin de rassurer vos clients concernant la sécurité de leurs données de paiement.

              Réassurance 1 – classique
              Réassurance 1 – fond blanc
              Réassurance 1 – blanc
              Réassurance 2 – classique
              Réassurance 2 – fond blanc
              Réassurance 2 – blanc
              Réassurance 3 – classique
              Réassurance 3 – fond blanc
              Réassurance 3 – blanc
              Réassurance 4 – Avec Amex
              Réassurance 4 – Amex fond blanc
              Réassurance 4 – Amex blanc
              Réassurance 5 – Avec Amex
              Réassurance 5 – Amex fond blanc
              Réassurance 5 – Amex blanc
              Réassurance 6 – Avec Amex
              Réassurance 6 – Amex fond blanc
              Réassurance 6 – Amex blanc

              Réassurance 1 – classique
              Réassurance 1 – fond blanc
              Réassurance 1 – blanc
              Réassurance 2 – classique
              Réassurance 2 – fond blanc
              Réassurance 2 – blanc
              Réassurance 3 – classique
              Réassurance 3 – fond blanc
              Réassurance 3 – blanc
              Réassurance 4 – Avec Amex
              Réassurance 4 – Amex fond blanc
              Réassurance 4 – Amex blanc
              Réassurance 5 – Avec Amex
              Réassurance 5 – Amex fond blanc
              Réassurance 5 – Amex blanc
              Réassurance 6 – Avec Amex
              Réassurance 6 – Amex fond blanc
              Réassurance 6 – Amex blanc

              Libellé relevé bancaire

              Le libellé de relevé bancaire correspond à la description qui sera affichée sur le relevé de compte bancaire de vos clients pour chacune de vos transactions par carte.

              Lorsqu’un compte CentralPay « marchand » ou « partenaire » est créé, un libellé de relevé bancaire est défini automatiquement en utilisant le nom de votre premier Point de Vente :

              • CPAY*NomDuPointDeVente

              Vous pouvez demander à CentralPay de modifier votre libellé, cependant il doit permettre à vos clients de vous identifier clairement ou d’accéder à votre site de réclamation.

              Enrollment Details

              Gestion des devises

              Introduction

              Dans le cadre d’une activité internationale, vos clients peuvent disposer d’une carte adossée à un compte bancaire en devises non Euros.

              Quelle que soit votre intégration, ces clients pourront vous régler en Euros grâce au système de conversion automatique des réseaux carte (Visa, Mastercard, American Express). Vos clients porteront l’ensemble des coûts de conversion des devises, et vous recevrez des Euros sur votre compte CentralPay.

              Dans certains cas, CentralPay peut vous permettre d’encaisser des transactions par carte bancaire dans différentes devises : Euros (EUR), Dollars (USD), Francs Suisses (CHF) et Livres (GBP). Contactez CentralPay si la gestion de transaction en devises est un enjeu pour votre activité.

              Notez que dans ce cas, les coûts d’acquisition en devises (hors EUROS) sont soumis à des frais complémentaires et seront déduits du montant de vos transactions.

              Les reversements (payout) par virement SEPA ne peuvent être réalisés que sur les valeurs disponibles en EUROS. Les valeurs hors EUROS sont reversées par virement SWIFT ayant des frais supérieurs. Il est cependant possible de programmer les reversements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de reversement.

              Gestion des cartes virtuelles (VCC)

              1/ Introduction

              Fonctionnement des OTA
              Les grands OTA que sont Booking.com, Expedia.com, hotels.com ou Agoda.com peuvent collecter les règlements lors de la réservation. Dans ce cas, ils fournissent aux hôteliers, non pas les données de la carte du client, mais une alias, qui est une carte virtuelle ou VCC.

              Une carte virtuelle ou VCC est généralement émise pour un usage encadré afin de limiter les risques de compromission.
              Une carte virtuelle représente en quelque sorte l’alias d’une carte existante qui ne pourra être utilisé qu’à partir d’une certaine date et depuis un MCC défini. En l’occurrence, dans le secteur du tourisme, il est nécessaire d’avoir un contrat avec le MCC 7011 (HOTELS) pour pouvoir la débiter.
              Ainsi, dans le cas où le numéro de carte tombait entre les mains d’une personne mal intentionnée, elle ne pourrait pas déclencher de débit sur la carte source.
              Étant donné la nature spéciale des cartes issues par ces OTA, il est en général impossible de réaliser des demandes d’autorisation, de pré-autorisation ou de vérification au moment de la commande.

              Si la carte n’est débitable que le jour de la réservation par un MCC 7011 par exemple, l’émetteur, en général MASTERCARD B2B PRODUCT, renverra un code d’erreur pour transaction invalide (12).

              Cartes virtuelles Booking.com
              Booking.com utilise des cartes virtuelles sur certaines destinations.  En fonction du paramétrage réalisé sur le site de l’hôtel, une réservation pourra être réalisée avec ou sans prise d’empreinte carte. Si l’hôtelier a choisi de demander un moyen de paiement, alors BOOKING.com génèrera une carte virtuelle et l’adressera à l’hôtelier ou à son prestataire technique. Avec la crise du covid19, booking n'autorise plus les débits de ses VCC qu'un jour après le checkin du client.
              En savoir plus sur le fonctionnement des cartes virtuelles de booking.com
              Cartes virtuelles Expedia
              Chez EXPEDIA, il est possible de laisser le visiteur choisir entre la possibilité de payer à l’hôtel (Hotel Collect) ou de payer directement lorsqu’il réalise la réservation (Expedia Collect). Cette option est appelée Expedia Traveler Preference (ETP). Si un client utilise la méthode Expedia Collect, une carte virtuelle sera alors générée.
              En savoir plus sur le fonctionnement des cartes virtuelles d'expedia.com

              2/ Gestion des cartes virtuelles avec CentralPay

              La meilleure méthode pour stocker une VCC et de pouvoir l’utiliser une fois disponible est de créer un « Customer » et de lui associer la carte concernée.

              Deux options sont ouvertes :

              • Soit la carte est débitable au moment de la création et une demande de vérification est réalisable à la création du Customer 
              • Soit la carte n’est pas utilisable à la création du customer et la carte doit être créé sans vérification. Cela ne signifie pas qu’elle ne pourra pas être utilisée à terme. Cela veut simplement dire qu’elle ne doit être débitée qu’à une certaine date. En général, les OTA auront préalablement vérifié les données de la carte pour s’assurer qu’elle était débitable.

              Ainsi, créer un Customer dans l’API CentralPay permet de tokeniser la carte virtuelle, sécuriser son stockage et de faciliter son utilisation lorsque les conditions d’acceptation initiales auront été réunies.

              Retours, statuts et hooks

              1/ Codes de retour banque liés aux transactions carte

              Lorsqu’une transaction carte (objet « transaction ») est initiée, une demande d’autorisation est soumise à la banque émettrice de la carte. Cette dernière répond avec un code, permettant d’interpréter l’acceptation, le refus et la cause du refus de l’autorisation.

              La banque du titulaire de la carte (appelée également banque émettrice) exprime son refus en fonction de choix qui lui sont propres et totalement indépendants de CentralPay. CentralPay n’est en possession d’aucune information complémentaire si une carte est refusée et n’a aucun moyen d’en obtenir.

              Les principaux codes de retour banque :

              CodeDescription
              A1 – Repli VADSDSP2 et Soft decline
              La banque refuse la transaction, car elle ne possède pas d’authentification forte (3DS 2.0).
              Il est nécessaire de repasser cette transaction en 3DS afin de ne plus avoir ce code.
              57, 3 et 5Refus générique de la banque
              La banque refuse sans donner de statut particulier.
              Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.
              Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives.
              4, 7, 14, 15, 31, 33, 34, 41, 43, 54, 55, 56, 59, 63, 76Suspicion de fraude ou vol de la carte
              La banque émettrice estime que son client n’est plus en possession de la carte et qu’il s’agit d’une usurpation.
              51, 61Provisions insuffisantes / plafond atteint
              La carte a dépassé le montant du plafond autorisé ou ne dispose pas des fonds suffisants.
              La carte peut de nouveau être acceptée ultérieurement, les plafonds étant calculés sur 7 jours glissant, une transaction peut tout à fait être retentée le lendemain.
              12Transaction invalide
              La banque refuse sans donner de statut particulier. Cela peut être :
              – Simplement une transaction invalide
              – Un code 75 de la part de la banque émettrice (le code PIN de la carte a été trop de fois incorrect).
              – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS)
              – Ou une autre décision que nous ne connaissons pas.
              Consulter la liste complète des codes de retour banque

              2/ Statuts liés aux transactions carte

              Statuts « Transaction »

              Statuts TRANSACTION

              Statuts « Refund »

              Statuts REFUND

              Statuts « Credit »

              Statuts CREDIT

              Statuts « Disputes »

              Statuts DISPUTES

              Statuts « Subscription »

              Statuts SUBSCRIPTION

              Statuts « Installment »

              Statuts INSTALLMENT

              3/ Webhooks liés aux transactions carte

              Webhooks « Transaction »

              Webhooks Transaction

              Webhooks « Card »

              Webhooks Card

              Webhooks « Refund »

              Webhooks Refund

              Webhooks « Credit »

              Webhooks Credit

              Webhooks « Customer »

              Webhooks Customer

              Webhooks « Dispute »

              Webhooks Dispute

              Webhooks « Subscription »

              Webhooks Subscription

              Webhooks « Installment »

              Webhooks Installment

              E-money

              Informations générales

              1/ Introduction

              Le virement bancaire est le moyen de paiement le plus répandu pour les règlements d’entreprises. Il consiste en un transfert direct des fonds d’un compte (bancaire ou de paiement) à un autre, sans utiliser de support additionnel comme une carte par exemple.

              La personne physique ou morale qui demande l’émission du virement est dénommée le donneur d’ordre (ou l’émetteur), celle qui reçoit l’argent le bénéficiaire. Contrairement à un paiement par carte ou par prélèvement SEPA, seul l’émetteur lui-même peut initier un virement. Il se rend ainsi sur l’espace personnel de sa banque, déclare les coordonnées bancaires du bénéficiaire (IBAN + BIC + Nom de titulaire), puis renseigne un montant et une référence de virement.

              Quelques informations importantes :

              • Le délai de réception d’un virement classique chez CentralPay est de 4 à 24 heures ouvrées (contre 24 à 48 heures ouvrées chez la majorité des banques traditionnelles). Il sera également possible de recevoir des virements instantanés (réception <5 secondes) à partir d’octobre 2024.
              • Le virement ne présente pas de risque financier majeur pour le marchand bénéficiaire, car l’émetteur s’authentifie fortement auprès de sa banque et ne peut donc pas contester cette opération.
              • Les banques émettrices accordent un plafond de règlement par virement nettement plus élevé que celui appliqué aux opérations de prélèvement SEPA ou de règlement par carte.
              • Selon les fonctionnalités proposées par sa banque, l’émetteur peut programmer un virement récurrent ou à date différée.

              2/ Types de réseaux acceptés

              Il existe deux types de virements bancaires :

              • les virements SEPA (ou SEPA Credit Transfer) : utilisés pour les opérations en EUROS réalisées entre deux pays membres de la zone SEPA (= 27 pays de l’Union européenne + Royaume-Uni, Monaco, Andorre, Vatican, Suisse, Liechtenstein, Norvège, Islande et Saint-Marin)
              • les virements internationaux : utilisés pour les opérations internationales en EUROS ou en devises, via le réseau SWIFT.

              Les frais applicables aux réseaux SEPA sont très largement favorables (à peine quelques dizaines de centimes contre plusieurs dizaines d’euros pour SWIFT). SWIFT permet cependant plusieurs options liées au règlement de ses frais : à la charge de l’émetteur, du bénéficiaire ou partagés.

              CentralPay est atteignable par toutes les banques de l’Espace Économique Européen utilisant les réseaux SEPA (via STEP2 pour les SCT/SDD, ainsi que TIPS et RT1 pour les « Instant SCT »). Seuls les virements de réseaux internationaux ou en devises hors EUROS ne sont pas recevables pour le moment (via réseau SWIFT par exemple).

              IBAN Virtuels

              1/ Introduction

              Le paiement par virement bancaire impose une responsabilité au client émetteur : celle de renseigner les coordonnées bancaires (IBAN + BIC + Nom du titulaire), le montant du règlement mais aussi la référence de virement.

              Une absence ou un mauvais formatage de la référence (causé par le client ou par le système de sa banque) contraint le bénéficiaire d’analyser manuellement le virement reçu pour le rapprocher à la bonne facture et au bon poste client.

              CentralPay vous permet de présenter un IBAN virtuel différent à chacun de vos clients (Customer) ou dans chacune de vos factures (PaymentRequest). Ainsi lors de la réception d’un virement, CentralPay identifie automatiquement l’émetteur et peut rapprocher la facture pour vous, selon l’IBAN virtuel utilisé par votre client, même en cas d’erreur de référence.

              Un IBAN Virtuel est en tous points identique à un IBAN classique, ce qui rend le processus entièrement transparent pour vos clients.

              Ce service vous permettra notamment :

              • d’être informé instantanément quand un client vous a réglé par virement,
              • d’automatiser vos alertes internes et vos relances clients (via le service de notifications),
              • d’automatiser le rapprochement de vos paiements dans vos solutions comptables ou de facturations (ERP…),
              • pour les plateformes et marketplaces : d’identifier facilement le marchand bénéficiaire et de lui transférer les fonds

              Vous pourrez créer des IBAN Virtuels CentralPay depuis différents services de la plateforme :

              • Depuis le service Customer
              • Depuis le service SCT Transaction
              • Depuis le service PaymentRequest
              Chaque compte de paiement ou de monnaie électronique dispose nativement d'un IBAN Virtuel dédié

              2/ Consulter l’IBAN Virtuel de ses comptes

              Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail utilisateur Administration Comptes IBAN/BIC :

              • Accès Comptes – Portail Utilisateur de RCT
              • Accès Comptes – Portail Utilisateur de PROD

              Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount

              3/ Créer un IBAN Virtuel dédié à un Customer

              Vous pouvez créer un IBAN Virtuel dédié à un client lors de la création d’un nouveau Customer, ou via l’update d’un Customer existant.

              Pour cela, vous devez renseigner le champ « walletIdForIban » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds.

              Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID :

              • Accès Comptes – Portail Utilisateur de RCT
              • Accès Comptes – Portail Utilisateur de PROD

              En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre Customer.

              Le BIC des IBAN émis par CentralPay sont : CEAYFR22

              4/ Création d’un IBAN Virtuel dédié à une SCT Transaction

              Comme pour un Customer, vous pouvez créer un IBAN Virtuel dédié à une transaction par virement lors de la création d’une SCT Transaction.

              Pour rappel, une SCT Transaction est créée automatiquement par CentralPay lorsque vous recevez un virement sur votre IBAN Virtuel principal ou celui d'un Customer. Il est cependant possible de créer une SCT Transaction en amont afin de lui affecter un IBAN Virtuel dédié et une référence personnalisée par exemple.

              Pour cela, vous devez renseigner le champ « ibanWalletId » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds.

              Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID :

              • Accès Comptes – Portail Utilisateur de RCT
              • Accès Comptes – Portail Utilisateur de PROD

              En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre SCT Transaction.

              Un IBAN Virtuel dédié à une SCT Transaction n'est plus fonctionnel une fois que sa SCT Transaction a été entièrement réglée. Il est cependant possible de recevoir plusieurs virements d'un montant inférieur sur un même IBAN pour compléter le montant de la SCT Transaction.
              À noter que si un virement reçu dépasse le montant de la SCT Transaction, il sera tout de même accepté. Vous devrez réaliser un remboursement partiel pour reverser le trop perçu à votre client.

              5/ Utilisation des IBAN Virtuels depuis les demandes de paiement

              Il est possible d’utiliser des IBAN Virtuels Customer ou SCT Transaction depuis le service de demande de paiement, si vous acceptez le moyen de paiement « SCT Transaction ».

              Vous pouvez sélectionner le type d’IBAN Virtuel que vous souhaitez afficher dans vos demandes de paiement depuis le champ « Viban prioritaire » des paramétrages de votre point de vente. Si vous sélectionnez :

              • SCT
                • La demande de paiement créera systématiquement un IBAN Virtuel dédié à la SCT Transaction
              • Client
                • La demande de paiement utilisera l’IBAN Virtuel du Customer s’il en dispose déjà d’un, sinon elle en créera un automatiquement
              Dans le cas d'une demande de paiement avec vIBAN à la SCT Transaction uniquement : si vous annulez la demande de paiement, le vIBAN associé ne sera plus atteignable. Ainsi, chaque virement reçu sur ce vIBAN sera automatiquement renvoyé à son émetteur.

              Misc

              The BANKACCOUNT object

              BANKACCOUNT_ACCEPTED
              When a Bank account is accepted
              {
                "eventId": "e9229c2d-43f3-47aa-a2d4-09b2cd8afeef",
                "type": "BANKACCOUNT_ACCEPTED",
                "creationDate": "2024-01-05T12:44:06.262837+01:00",
                "object": {
                  "attachments": [],
                  "bankAccountId": "e6337e4f-6067-42ca-b7f0-9b7bce77c21e",
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-05T12:44:06.044772+01:00",
                  "currency": "EUR",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "iban": "FR7612548029980000000150086",
                  "name": "GAUTHIER REF API",
                  "ownerAddress": "142 RUE DE LA REFAPI",
                  "ownerCity": "TOURS",
                  "ownerCountry": "FRA",
                  "ownerName": "GAUTHIER REFAPI",
                  "ownerPostalCode": "37000",
                  "type": "CUSTOMER_ACCOUNT"
                },
                "requestId": "0062091d-0377-4a47-bc95-b5717636825f"
              }

              BANKACCOUNT_PENDING
              When a Bank account is pending
              {
                "eventId": "601c64e9-b65e-4369-8f70-5d32ce853073",
                "type": "BANKACCOUNT_PENDING",
                "creationDate": "2024-01-15T14:26:17.381461+01:00",
                "object": {
                  "attachments": [],
                  "bankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-15T14:26:17.189030+01:00",
                  "currency": "EUR",
                  "iban": "DE91100000000123456789",
                  "merchantId": "e962cfc2-1d4f-4f4f-8688-71c38920ca6b",
                  "name": "GAUTHIER REF API",
                  "ownerAddress": "142 RUE DE LA REFAPI",
                  "ownerCity": "TOURS",
                  "ownerCountry": "FRA",
                  "ownerName": "GAUTHIER REFAPI",
                  "ownerPostalCode": "37000",
                  "type": "MERCHANT_ACCOUNT"
                },
                "requestId": "0965a4a6-e353-47ad-b844-40f7feca3ef0"
              }

              BANKACCOUNT_UPDATED
              When a Bank account is updated
              {
                  "name": "GAUTHIER REF API",
                  "description": null,
                  "ownerName": "GAUTHIER REFAPI",
                  "ownerAddress": "142 RUE DE LA REFAPI",
                  "ownerDescription": null,
                  "ownerPostalCode": "37000",
                  "ownerCity": "TOURS",
                  "ownerCountry": "FRA",
                  "iban": "FR7612548029980000000150086",
                  "bic": "AXABFRPP",
                  "currency": "EUR",
                  "type": "CUSTOMER_ACCOUNT",
                  "bankAccountId": "e6337e4f-6067-42ca-b7f0-9b7bce77c21e",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "merchantId": null,
                  "creationDate": "2024-01-05T12:44:06.044772+01:00",
                  "attachments": []
              }

              Transaction par virement

              1/ Introduction

              Une SCT Transaction représente un virement bancaire reçu sur un de vos IBAN Virtuel CentralPay.

              Elle peut être créée de trois manières différentes :

              • Automatiquement
                si vous adressez un IBAN Virtuel dédié à l’un de vos clients ou l’un de vos comptes de paiement, CentralPay créera la SCT Transaction automatiquement lors de la réception du virement. Vous pourrez ensuite rapprocher cette SCT Transaction à votre commande/facture en récupérant la valeur du champ « description » (correspondant à la référence renseignée par votre client dans son espace bancaire).
              • Depuis le service SCT Transaction
                si vous souhaitez automatiser le rapprochement du virement à la transaction, vous pouvez :
                • créer une SCT Transaction avec un IBAN Virtuel dédié : ce qui permettra un rapprochement sûr à 100% à votre transaction. Attention, dans ce cas vos clients devront déclarer un nouveau bénéficiaire dans leur espace bancaire à chaque virement qu’ils vous adresseront.
                • créer une SCT Transaction en utilisant un IBAN Virtuel Customer et récupérer la référence courte générée par CentralPay pour cette transaction : ce qui permettra de rapprocher systématiquement le virement au profil client correspondant, et potentiellement jusqu’à la transaction si votre client a bien renseigné la référence dans son virement.
              • Depuis le service de demande de paiement
                si vous souhaitez déléguer à CentralPay l’affichage des informations de règlement à vos clients (montant, IBAN, BIC, référence…), vous pouvez créer une Demande de paiement autorisant les paiements par SCT Transaction. Cette option permet également de gérer facilement les virements multiples ou les règlements clients depuis plusieurs moyens de paiement.

              2/ Créer une SCT transaction

              Créer une SCT Transaction :

              • Renseignez un montant en centimes (amount), et une devise (currency).
              • Si vous souhaitez créer un IBAN Virtuel dédié à la SCT Transaction, renseignez le champ « ibanWalletId » avec l’UUID de votre compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur > Administration > Comptes > UUID.
              • Si vous souhaitez utiliser un IBAN Virtuel existant (dédié à un Customer ou à un compte de paiement), renseignez le champ « iban » avec l’IBAN souhaité.
                • Vous pourrez ensuite récupérer la valeur « sepaReference » générée par CentralPay et la transmettre à votre client pour laisser CentralPay rapprocher le virement à votre transaction
                • ou renseigner la valeur « merchantSctTransactionId » avec votre propre référence personnalisée pour rapprocher vous-même le virement via nos exports d’opérations.

              The CARD object

              CARD_UPDATED
              When a card is updated
              {
                "eventId": "5f037905-d0f2-4171-bc6f-fbab3b3e56e2",
                "type": "CARD_UPDATED",
                "creationDate": "2024-01-05T12:55:39.727533+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                  "cardType": "DEBIT",
                  "cardholderEmail": "test@gmail.com",
                  "cardholderName": "MARIE ANNE",
                  "check": true,
                  "commercialBrand": "MASTERCARD",
                  "country": "FRA",
                  "creationDate": "2024-01-05T12:52:41.054394+01:00",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "europeanEconomicArea": true,
                  "expirationMonth": 9,
                  "expirationYear": 2035,
                  "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                  "first6": "532509",
                  "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                  "last4": "0008",
                  "productType": "CORPORATE",
                  "region": "EUROPE"
                },
                "requestId": "296311d9-1f68-4f1f-a9bf-7879afb92c7b",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                  "cardType": "DEBIT",
                  "cardholderEmail": "gduhamel@centralpay.eu",
                  "check": true,
                  "commercialBrand": "MASTERCARD",
                  "country": "FRA",
                  "creationDate": "2024-01-05T12:52:41.054394+01:00",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "europeanEconomicArea": true,
                  "expirationMonth": 9,
                  "expirationYear": 2035,
                  "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                  "first6": "532509",
                  "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                  "last4": "0008",
                  "productType": "CORPORATE",
                  "region": "EUROPE"
                }
              

              CARDTOKEN_CREATED
              When a card token is created
              {
                "eventId": "3973ea45-d327-48d7-b74a-08cbffc821e9",
                "type": "CARDTOKEN_CREATED",
                "creationDate": "2024-01-05T14:23:41.971425+01:00",
                "object": {
                  "card": {
                    "additionalData": {},
                    "cardId": "81e54dd0-512e-47c0-91f3-54e81b74a3ea",
                    "cardTokenId": "a3d37fd6-2ad7-4e9d-a4a0-b0b1aff44b50",
                    "cardType": "DEBIT",
                    "cardholderEmail": "Conner44@yahoo.com",
                    "cardholderName": "GAUTHIER REFAPI",
                    "check": true,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:23:41.881571+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2025,
                    "fingerprint": "edb9f9757c4be415db6616f94a04706a6b92dcd1",
                    "first6": "403203",
                    "last4": "2700",
                    "productType": "CONSUMER",
                    "region": "EUROPE"
                  },
                  "cardTokenId": "a3d37fd6-2ad7-4e9d-a4a0-b0b1aff44b50",
                  "creationDate": "2024-01-05T14:23:41.881571+01:00",
                  "endUserIp": "54.86.50.139",
                  "status": "UNUSED"
                },
                "requestId": "f55ea9cb-595a-4e5d-b9ba-52198b5b3a16"
              }

              Rapprochement à une demande de paiement

              CentralPay met à disposition un service nommé bankReconciliation permettant de lier une ou plusieurs SCT Transaction à une demande de paiement (PaymentRequest) si vous n’utilisez pas les IBAN Virtuel dédié aux SCT Transaction.

              1/ En cas d’erreur de référence par votre client

              Lorsque vous utilisez les demandes de paiement avec IBAN Virtuels dédiés à un Customer et que votre client ne renseigne pas correctement la « sepaReference » lors de l’émission de son virement ; CentralPay n’est pas en mesure de rapprocher automatiquement le virement à la demande de paiement.

              Vous pouvez donc utiliser le service bankReconciliation pour affecter la SCT Transaction reçue à la demande de paiement créée initialement :

              • Amount = montant du virement en centimes
              • wireTransferID = ID de la SCT TRANSACTION (accessible dans le hook de la SCT TRANSACTION)
              • paymentRequestBreakdownId = ID du breakdown de la PaymentRequest (accessible dans le hook de la PaymentRequest)

              2/ Si vous utilisez votre propre référence de commande

              Si vous souhaitez organiser vos créances clients dans CentralPay grâce au service de Demandes de paiement sans utiliser la page de paiement SmartForm, voici la démarche à suivre :

              • pour chaque client : créer un Customer avec vIBAN, récupérer le vIBAN et l’afficher dans votre tunnel de vente avec votre référence de commande
              • créer en parallèle une paymentRequest contenant cette même référence de commande (dans le champ « merchantPaymentRequestId ») et le montant de commande
              • Dès réception d’un virement client, vous identifiez la commande liée grâce au champ « description » de la SCT Transaction
              • Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId »
                • si une PaymentRequest présente la même référence, vous l’associez avec le service « bankReconciliation »
                • si aucune PaymentRequest ne présente la même référence mais que le virement a été reçu sur un vIBAN Customer n’ayant qu’une seule PaymentRequest en attente ou d’un montant identique, vous pouvez faire en sorte de les rapprocher avec une bankReconciliation
                • si aucune PaymentRequest ne présente la même référence et que le Customer présente plusieurs PaymentRequest en attente de règlement ou d’un montant différent, levez une alerte dans votre système pour faire rapprocher le virement manuellement par votre service financier (qui l’associera manuellement à la bonne PaymentRequest via une bankReconciliation)
              • Les virements non liés à une PaymentRequest seront ainsi facilement identifiables
              • De même que les PaymentRequest non payées ou partiellement payées.

              The CREDIT object

              CREDIT_CREATED
              When a credit is created
              {
                "eventId": "b0ea7273-7421-4f3d-b9b6-27c1f521386b",
                "type": "CREDIT_CREATED",
                "creationDate": "2024-01-05T14:51:48.090154+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1"
                  },
                  "amount": 100,
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardTokenId": "39e38277-d68d-4970-b7ef-2f3e65e3ba1c",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "UNCLEARED",
                  "transactionTransfers": []
                },
                "requestId": "d4cf4f9b-83bc-4877-8d2a-c84a7183c666"
              }

              CREDIT_CANCELED
              When a credit is cancelled
              {
                "eventId": "df668650-b893-462e-aa1a-f232bed383da",
                "type": "CREDIT_CANCELED",
                "creationDate": "2024-01-05T14:53:29.028715+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "test": "test"
                  },
                  "amount": 100,
                  "cancelMovementId": "1555e13a-0344-403a-a01c-6d435c598659",
                  "cancellationDate": "2024-01-05T14:53:29.015180+01:00",
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "CANCELED",
                  "transactionTransfers": []
                },
                "requestId": "dca78a74-22f1-4fd8-a6bb-fc4be4735838"
              }

              CREDIT_UPDATED
              When a credit is updated
              {
                "eventId": "b51f11be-c535-49a4-8a70-6241afd75654",
                "type": "CREDIT_UPDATED",
                "creationDate": "2024-01-05T14:52:49.329773+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "test": "test"
                  },
                  "amount": 100,
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "UNCLEARED",
                  "transactionTransfers": []
                },
                "requestId": "300fdb28-2e74-4512-a7e9-f3fa843c8a7c",
                "objectBeforeUpdate": {
                  "additionalData": {
                    "key1": "value1"
                  },
                  "amount": 100,
                  "card": {
                    "additionalData": {},
                    "cardId": "5ba4a451-e3ba-4555-b6f1-955b1531cbed",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:51:46.753895+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T14:51:47.744817+01:00",
                  "creditId": "a0184f13-cb58-4db2-9c02-f7ecdaf61909",
                  "currency": "EUR",
                  "fee": 0,
                  "merchantCreditId": "MCID-01",
                  "movementId": "304a16a4-f3f1-4e14-ab3b-2e9b4cee2f20",
                  "order": {
                    "addressLine1": "142 RUE DE LA REFAPI",
                    "cardCountry": "FRA",
                    "city": "BRIANNEBURY",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "payoutAmount": 100,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "status": "UNCLEARED",
                  "transactionTransfers": []
                }
              }

              R-transaction SCT

              1/ Remboursement

              Vous pouvez rembourser une SCT Transaction si celle-ci est « RECEIVED » via le service Refund ou depuis le détail de la SCT Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant.

              Votre client recevra les fonds sur son compte bancaire sous 24 à 48 heures ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération.

              Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.

              The CUSTOMER object

              CUSTOMER_CREATED
              When a customer is created
                  {
                "eventId": "8af1b16e-f78a-42ae-9304-69624a4023fc",
                "type": "CUSTOMER_CREATED",
                "creationDate": "2024-01-05T12:29:58.808367+01:00",
                "object": {
                  "additionalData": {},
                  "bankAccounts": [],
                  "cardMerchants": [],
                  "cards": [],
                  "creationDate": "2024-01-05T12:29:58.736339+01:00",
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "email": "gduhamel@centralpay.eu",
                  "fee": 0,
                  "firstName": "JOCELYN",
                  "installmentPayments": [],
                  "language": "fre",
                  "lastName": "WISOKY",
                  "merchantCustomerId": "1704454198-GDU",
                  "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
                  "otpExpired": false,
                  "subscriptions": [],
                  "totalCharge": 0,
                  "wallets": []
                  }

              CUSTOMER_UPDATED
              When a customer is updated
              {
              "eventId": "94683d87-5919-4d4a-a547-21dbc7e7af1d",
              "type": "CUSTOMER_UPDATED",
              "creationDate": "2024-01-05T12:36:29.492916+01:00",
              "object": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [],
              "creationDate": "2024-01-05T12:29:58.736339+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "JOCELYN",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "WISOKY",
              "merchantCustomerId": "1704454198-GDU",
              "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
              },
              "requestId": "ca336699-db00-46c6-a797-228c320e351b",
              "objectBeforeUpdate": {
              "additionalData": {},
              "bankAccounts": [],
              "cardMerchants": [],
              "cards": [],
              "creationDate": "2024-01-05T12:29:58.736339+01:00",
              "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
              "email": "gduhamel@centralpay.eu",
              "fee": 0,
              "firstName": "JOCELYN",
              "installmentPayments": [],
              "language": "fre",
              "lastName": "WISOKY",
              "merchantCustomerId": "1704454198-GDU",
              "movementId": "c5408b8a-43d0-4191-9cb2-f3ec6d610649",
              "otpExpired": false,
              "subscriptions": [],
              "totalCharge": 0,
              "wallets": []
              }
              }


              CUSTOMER_OTP
              When a Customer OTP is received to confirm a transaction
              {
                "eventId": "7404acb7-6000-4059-9da2-97581df00dc8",
                "type": "CUSTOMER_OTP",
                "creationDate": "2024-01-26T12:02:55.839650+01:00",
                "object": {
                  "additionalData": {},
                  "bankAccounts": [],
                  "cardMerchants": [],
                  "cards": [
                    {
                      "additionalData": {},
                      "cardId": "a361cbf0-c334-4422-b4e8-4d96f6b72799",
                      "cardType": "DEBIT",
                      "cardholderEmail": "gduhamel@centralpay.eu",
                      "check": false,
                      "commercialBrand": "VISA",
                      "country": "FRA",
                      "creationDate": "2024-01-26T11:59:38.763535+01:00",
                      "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                      "europeanEconomicArea": true,
                      "expirationMonth": 9,
                      "expirationYear": 2035,
                      "fingerprint": "8e9302793aa37b661f9ec57013d105ad72f1bc86",
                      "first6": "400000",
                      "last4": "0002",
                      "productType": "UNKNOWN",
                      "region": "EUROPE"
                    }
                  ],
                  "creationDate": "2024-01-26T11:59:38.569182+01:00",
                  "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                  "email": "gduhamel@centralpay.eu",
                  "fee": 0,
                  "firstName": "BEULAH",
                  "installmentPayments": [],
                  "language": "fre",
                  "lastName": "PROSACCO",
                  "merchantCustomerId": "1706266777-GDU",
                  "movementId": "9afa479b-0859-4712-a614-2b1f38b81f9c",
                  "otpExpirationDate": "2024-01-26T12:17:55.731546+01:00",
                  "otpExpired": false,
                  "subscriptions": [],
                  "totalCharge": 0,
                  "wallets": []
                },
                "requestId": "5329117d-5f7f-471b-a8d7-832627252670",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "bankAccounts": [],
                  "cardMerchants": [],
                  "cards": [
                    {
                      "additionalData": {},
                      "cardId": "a361cbf0-c334-4422-b4e8-4d96f6b72799",
                      "cardType": "DEBIT",
                      "cardholderEmail": "gduhamel@centralpay.eu",
                      "check": false,
                      "commercialBrand": "VISA",
                      "country": "FRA",
                      "creationDate": "2024-01-26T11:59:38.763535+01:00",
                      "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                      "europeanEconomicArea": true,
                      "expirationMonth": 9,
                      "expirationYear": 2035,
                      "fingerprint": "8e9302793aa37b661f9ec57013d105ad72f1bc86",
                      "first6": "400000",
                      "last4": "0002",
                      "productType": "UNKNOWN",
                      "region": "EUROPE"
                    }
                  ],
                  "creationDate": "2024-01-26T11:59:38.569182+01:00",
                  "customerId": "bac11130-43c2-4351-9c52-f1f7603282ee",
                  "email": "gduhamel@centralpay.eu",
                  "fee": 0,
                  "firstName": "BEULAH",
                  "installmentPayments": [],
                  "language": "fre",
                  "lastName": "PROSACCO",
                  "merchantCustomerId": "1706266777-GDU",
                  "movementId": "9afa479b-0859-4712-a614-2b1f38b81f9c",
                  "otpExpired": false,
                  "subscriptions": [],
                  "totalCharge": 0,
                  "wallets": []
                }
              }

              Virements internationaux

              Introduction

              Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises.

              Il sera prochainement possible d’accepter des virements internationaux via le service SCT Transaction. Veuillez contacter CentralPay si ce service est un enjeu pour le développement de votre activité.

              The DEPOSIT object

              DEPOSIT_CREATED
              When a deposit is created
                  {
                      "depositId": "f63ea558-6e50-4dba-a7e7-eb8676144ea0",
                      "creationDate": "2020-11-16T10:55:11.163214+01:00",
                      "description": null,
                      "amount": 1500000,
                      "currency": "EUR",
                      "sepaReference": null,
                      "movementId": "9612fe9b-e226-4e9f-a0dc-8539a24ba748",
                      "merchantId": "0055bff7-566c-4688-818c-85caf3601785",
                      "destinationBankAccountId": "d9952704-5054-47fc-a068-c6865a9d00fd"
                  }

              DEPOSIT_UPDATED
              When a deposit is updated

              Retours, statuts et webhooks

              1/ Retours liés aux SCT Transactions

              Il n’existe pas de code retours pour les SCT Transactions.

              2/ Statuts liés aux SCT Transactions

              Statuts « SCT Transaction »

              Statuts SCT TRANSACTION

              Statuts « Refund »

              Statuts REFUND

              3/ Webhooks liés aux SCT Transactions

              Webhooks « SCT Transaction »

              Webhooks SCT Transaction

              Webhooks « Refund »

              Webhooks Refund

              Webhooks « Customer »

              Webhooks Customer

              The DISPUTE object

              DISPUTE_UPDATED
              When a dispute is updated
              {
                "eventId": "91986115-56ed-442a-ace7-2207c7f7cfa1",
                "type": "DISPUTE_UPDATED",
                "creationDate": "2024-01-05T15:22:33.233092+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10,
                  "creationDate": "2024-01-05T15:16:27.776882+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "disputeDate": "2021-03-18",
                  "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                  "fee": 0,
                  "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                  "reason": "FRAUDULENT",
                  "status": "CHARGEBACK_WON",
                  "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116",
                  "wonMovementId": "569d7143-7357-4171-91ac-c03721a8ee30"
                },
                "requestId": "750fdf73-0782-482b-97f6-2dbfb809b563",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 10,
                  "creationDate": "2024-01-05T15:16:27.776882+01:00",
                  "currency": "EUR",
                  "disputeDate": "2021-03-18",
                  "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                  "fee": 0,
                  "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                  "reason": "FRAUDULENT",
                  "status": "CHARGEBACK_NOTICED",
                  "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116"
                }
              }

              DISPUTE_CREATED
              When a dispute is created

              Informations générales

              Introduction

              Le prélèvement SEPA (SEPA Direct Debit ou « SDD » en anglais) permet à un créancier (marchand) de prélever un montant dû directement sur le compte de son débiteur (client). Il est principalement destiné aux règlements récurrents (abonnements ou paiements en plusieurs fois) mais peut-être dans certains cas utilisé pour des règlements ponctuels (par exemple pour le règlement de factures entre professionnels).

              Étant émis à l’initiative du créancier, il requiert la collecte préalable d’une autorisation de son débiteur. Le marchand édite ainsi un « Mandat SEPA » précisant les conditions de prélèvement et les coordonnées bancaires des deux parties que son débiteur devra signer.

              1/ Les deux types de prélèvement SEPA

              Il existe deux types de prélèvements SEPA :

              • Le prélèvement SEPA « CORE » : le plus répandu, il permet aux créanciers de débiter des comptes de particuliers comme de personnes morales. Le mandat SEPA est édité et signé entre les deux parties sans contraintes particulières. Le débiteur est cependant protégé et peut contester un prélèvement CORE sans motifs auprès de sa banque sous 8 semaines.
              • Le prélèvement SEPA « B2B » : réservé aux prélèvements entre entreprises. Le mandat SEPA est édité, signé puis doit être transmis par le débiteur à sa banque. Le parcours de contractualisation requiert ainsi une action forte du débiteur et la validation de sa banque. Cependant, les prélèvements initiés depuis ce type de mandats ne sont pas contestables.
                CentralPay ne propose pas ce service de prélèvement SEPA type « B2B ».

              2/ Risques de rejet et de contestation

              Le prélèvement SEPA étant un moyen de paiement dont les transactions sont initiées sans authentification forte du client, les risques de rejets et de contestations sont à prendre en considération.

              Consultez la rubrique « R-Transaction SDD » pour en savoir plus sur les rejets et contestations SDD.

              3/ Informations importantes

              • Le prélèvement SEPA est utilisable sur la vaste majorité des comptes bancaires « courants » des pays de la zone SEPA et certains de l’Espace Économique Européen hors SEPA. Cela dépend de la connectivité aux réseaux SEPA des banques des débiteurs. Les comptes spéciaux type « comptes épargnes » ne sont pas atteignables.
              • Les opérations SEPA sont traitées en devise EUROS (€) uniquement.
              • Les opérations SEPA sont traitées lors des jours ouvrés uniquement (hors weekend et jours fériés). Ainsi, le délai de réception des fonds varie entre 2 à 5 jours à compter de la date d’initiation de l’opération.
              • Le débiteur doit être informé par le créancier des prélèvements à venir, au moins 14 jours avant la date, soit par l’envoi d’un échéancier, d’une notification ou d’une facture.
              • La durée de validité d’un mandat SEPA est de 36 mois après la dernière transaction opérée sur ce mandat.
              • Dans le cadre d’un prélèvement SEPA sur le compte bancaire d’une entreprise (personne morale), le créancier doit veiller à ce que le mandat SEPA soit adressé et signé par le dirigeant ou un responsable habilité (gérant, service comptabilité…).
              • Le prélèvement SEPA est particulièrement adapté aux transactions récurrentes d’un montant situé entre 20 et 200 EUR pour les débiteurs particuliers, et entre 20 et 2 000 EUR pour les débiteurs personnes morales.

              The INSTALLMENT object

              INSTALLMENTPAYMENT_CREATED
              When an installment is created
              {
                "eventId": "ab0c4d87-336d-4f1d-94ac-8a19e91c90df",
                "type": "INSTALLMENTPAYMENT_CREATED",
                "creationDate": "2024-01-05T16:47:16.962837+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val1"
                  },
                  "amount": 1000,
                  "card": {
                    "commercialBrand": "MASTERCARD",
                    "first6": "532509",
                    "last4": "0008",
                    "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
                  },
                  "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:47:14.425730+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "depositAmount": 0,
                  "endUserIp": "245.100.1.15",
                  "feeAmount": 0,
                  "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                  "installments": [
                    {
                      "amount": 500,
                      "attemptCount": 1,
                      "creationDate": "2024-01-05T16:47:14.425041+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "d70bceea-1b4b-454f-ae04-3cfa5e877e01",
                      "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-05T16:47:15.250593+01:00",
                          "uuid": "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                        }
                      ],
                      "transactions": [
                        "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 500,
                      "attemptCount": 0,
                      "creationDate": "2024-01-05T16:47:14.425434+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "8a2fea18-7ce7-4320-a398-3aec7c7cd7e9",
                      "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                      "nextTransactionAttempt": "2024-02-05T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "merchantInstallmentPaymentId": "MIP_001",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-05",
                  "status": "ACTIVE"
                },
                "requestId": "66ec59e5-3f88-4cbd-a01f-b6be126084bf"
              }

              INSTALLMENTPAYMENT_FAILED
              When an installment failed
              {
                "eventId": "4e1bbe68-906d-4e33-923d-dfee760a2261",
                "type": "INSTALLMENTPAYMENT_FAILED",
                "creationDate": "2024-01-05T16:34:31.349325+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val1"
                  },
                  "amount": 1000,
                  "card": {
                    "commercialBrand": "MASTERCARD",
                    "first6": "532509",
                    "last4": "0008",
                    "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
                  },
                  "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:34:29.520817+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "depositAmount": 0,
                  "endUserIp": "245.100.1.15",
                  "feeAmount": 0,
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "installments": [
                    {
                      "amount": 500,
                      "attemptCount": 1,
                      "creationDate": "2024-01-05T16:34:29.520151+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-05T16:34:30.385545+01:00",
                          "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                        }
                      ],
                      "transactions": [
                        "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 500,
                      "attemptCount": 0,
                      "creationDate": "2024-01-05T16:34:29.520525+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "9d1fdd64-a45c-4f30-afb2-36734fdfbf39",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "merchantInstallmentPaymentId": "MIP_001",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-05",
                  "status": "CANCELED"
                },
                "requestId": "60a91f69-2549-4652-96ee-25fb58f48f56"
              }

              INSTALLMENTPAYMENT_UPDATED
              When an installment is updated
                  {
                      "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                      "creationDate": "2021-09-09T09:49:00.941254+02:00",
                      "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                      "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                      "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                      "cardId": "06a45250-8e22-41aa-a97a-284c225419a5",
                      "paymentRequestBreakdownId": "6e5ba89d-d275-4174-8cfd-9418dc6bd303",
                      "paymentRequestId": "c796df20-258e-4645-90d8-aad70349c547",
                      "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                      "depositStartingDate": null,
                      "startingDate": "2021-09-09",
                      "requestedCollectionDate": null,
                      "merchantInstallmentPaymentId": null,
                      "endUserIp": "92.154.127.221",
                      "endUserLanguage": null,
                      "amount": 300,
                      "depositAmount": 0,
                      "feeAmount": 0,
                      "currency": "EUR",
                      "description": null,
                      "intervalUnit": "WEEK",
                      "intervalCount": 1,
                      "iterationCount": 3,
                      "status": "ACTIVE",
                      "endToEndIdentification": null,
                      "remittanceInformation": "BCDEB2DEEB6E",
                      "installments": [
                          {
                              "installmentId": "ee6f170c-710a-4a9d-a79f-c163de336530",
                              "creationDate": "2021-09-09T09:49:00.940625+02:00",
                              "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                              "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                              "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                              "amount": 100,
                              "currency": "EUR",
                              "attemptCount": 1,
                              "paid": true,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": null,
                              "transactions": [],
                              "sddTransactions": [
                                  "116adfc1-7996-4bd7-9678-d4a2b1a77762"
                              ]
                          },
                          {
                              "installmentId": "26d5e572-4740-4c30-bbb8-5d2251e13e1d",
                              "creationDate": "2021-09-09T09:49:00.941206+02:00",
                              "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                              "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                              "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                              "amount": 100,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-09-16T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "afe58afd-712d-415f-adf5-70e980c73b57",
                              "creationDate": "2021-09-09T09:49:00.941224+02:00",
                              "installmentPaymentId": "2351a31a-3c84-4681-8a83-cd5f260d78ab",
                              "customerId": "3036e768-071e-4119-abd8-57d50581c371",
                              "mandateId": "f65ea8ce-5171-4c1e-8b8f-69654e0acf4e",
                              "amount": 100,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-09-23T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          }
                      ],
                      "additionalData": []
                  }

              INSTALLMENTPAYMENT_CANCELED
              When an installment is cancelled
              {
                "eventId": "47253f14-814e-4cf8-9582-be869145a80f",
                "type": "INSTALLMENTPAYMENT_CANCELED",
                "creationDate": "2024-01-05T16:34:31.276257+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val1"
                  },
                  "amount": 1000,
                  "card": {
                    "commercialBrand": "MASTERCARD",
                    "first6": "532509",
                    "last4": "0008",
                    "uuid": "4680d102-96b0-4fba-b00c-3375ee610fc7"
                  },
                  "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:34:29.520817+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "depositAmount": 0,
                  "endUserIp": "245.100.1.15",
                  "feeAmount": 0,
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "installments": [
                    {
                      "amount": 500,
                      "attemptCount": 1,
                      "creationDate": "2024-01-05T16:34:29.520151+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-05T16:34:30.385545+01:00",
                          "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                        }
                      ],
                      "transactions": [
                        "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 500,
                      "attemptCount": 0,
                      "creationDate": "2024-01-05T16:34:29.520525+01:00",
                      "currency": "EUR",
                      "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                      "installmentId": "9d1fdd64-a45c-4f30-afb2-36734fdfbf39",
                      "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "merchantInstallmentPaymentId": "MIP_001",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-05",
                  "status": "CANCELED"
                },
                "requestId": "1bac71b6-6d40-4618-b772-95c926cbeab2"
              }

              INSTALLMENTPAYMENT_ACTIVATED
              When an installment is activated

              INSTALLMENTPAYMENT_FAILURE
              When an installment failed to be paid

              INSTALLMENTPAYMENT_PAID
              When an installment is paid
              {
                "eventId": "17198557-e18a-4e75-a88f-d23ea841a641",
                "type": "INSTALLMENTPAYMENT_PAID",
                "creationDate": "2024-01-30T12:19:22.324713+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "card": {
                    "commercialBrand": "VISA",
                    "first6": "403203",
                    "last4": "2700",
                    "uuid": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82"
                  },
                  "cardId": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:40:35.818249+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "depositAmount": 0,
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "feeAmount": 0,
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "installments": [
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:40:35.818185+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "c3c2eb3c-9935-4eb1-a9bd-42f62f1c035c",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-15T12:40:36.418127+01:00",
                          "uuid": "7f642ab2-5c15-4420-b85a-a97cb819844d"
                        }
                      ],
                      "transactions": [
                        "7f642ab2-5c15-4420-b85a-a97cb819844d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:40:35.818207+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "6eaf48a5-d0df-40d2-bd62-a297444d37d2",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-30T12:19:20.941639+01:00",
                          "uuid": "ea71af48-6048-46e0-8703-7cb3e0a24b65"
                        }
                      ],
                      "transactions": [
                        "ea71af48-6048-46e0-8703-7cb3e0a24b65"
                      ],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestBreakdownId": "b665743f-6671-4749-9727-f801c0d9915a",
                  "paymentRequestId": "3192c6e1-89e6-4d5a-9d96-3208b37f5c3f",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2023-12-15",
                  "status": "PAID"
                },
                "requestId": "7ef61f64-e4e9-4021-8d29-c4b449b762f8"
              }

              INSTALLMENTPAYMENT_UNPAID
              When an installment is unpaid
                  {
                      "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                      "creationDate": "2021-09-03T10:38:16.811541+02:00",
                      "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                      "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                      "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                      "cardId": "d3143e10-9660-48bb-b6a6-b2e1100ecf6f",
                      "paymentRequestBreakdownId": null,
                      "paymentRequestId": null,
                      "mandateId": null,
                      "depositStartingDate": "2021-09-03",
                      "startingDate": "2021-09-17",
                      "requestedCollectionDate": null,
                      "merchantInstallmentPaymentId": "testInstall",
                      "endUserIp": "91.229.230.41",
                      "endUserLanguage": "fre",
                      "amount": 550000,
                      "depositAmount": 50000,
                      "feeAmount": 0,
                      "currency": "EUR",
                      "description": null,
                      "intervalUnit": "WEEK",
                      "intervalCount": 2,
                      "iterationCount": 10,
                      "status": "UNPAID",
                      "endToEndIdentification": null,
                      "remittanceInformation": null,
                      "installments": [
                          {
                              "installmentId": "1a123952-cc30-47c2-8f2e-1b6182fd25a6",
                              "creationDate": "2021-09-03T10:38:16.809510+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 1,
                              "paid": false,
                              "type": "DEPOSIT",
                              "nextTransactionAttempt": "2021-09-03T08:00+02:00",
                              "transactions": [
                                  "91c604d8-a63c-483c-87aa-f03181a634b5"
                              ],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "28754849-1b22-491b-bc15-7f38d0c9a988",
                              "creationDate": "2021-09-03T10:38:16.810529+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-09-17T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "666f0320-7766-464e-949b-e7ce9997a173",
                              "creationDate": "2021-09-03T10:38:16.810564+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-10-01T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "1b88ddcc-5c9e-4b43-a3cc-6792d9162ea4",
                              "creationDate": "2021-09-03T10:38:16.810582+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-10-15T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "1f25ec3c-d846-4f9c-80e9-c5b86adef8eb",
                              "creationDate": "2021-09-03T10:38:16.810595+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-10-29T08:00+02:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "9d206cee-565d-4181-9987-d65f82a0ffaa",
                              "creationDate": "2021-09-03T10:38:16.810609+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-11-12T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "4fecfcf0-7b4a-4241-a716-a56bc840bd20",
                              "creationDate": "2021-09-03T10:38:16.810621+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-11-26T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "703d1c4f-f1a6-4e30-9a8c-83cd9916f42e",
                              "creationDate": "2021-09-03T10:38:16.810634+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-12-10T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "4c98d99f-f321-43bf-a37e-801a85d03200",
                              "creationDate": "2021-09-03T10:38:16.810646+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2021-12-24T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "893c6120-7f51-4616-9f18-7880c76747fb",
                              "creationDate": "2021-09-03T10:38:16.810658+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2022-01-07T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          },
                          {
                              "installmentId": "8bf4e146-8737-4260-84f5-1a95653d1e24",
                              "creationDate": "2021-09-03T10:38:16.810671+02:00",
                              "installmentPaymentId": "67e18dd5-f990-425f-9234-908ec3e17b4a",
                              "customerId": "5d6f77d7-2a77-4ec0-9789-aff4a65751a5",
                              "mandateId": null,
                              "amount": 50000,
                              "currency": "EUR",
                              "attemptCount": 0,
                              "paid": false,
                              "type": "INSTALLMENT",
                              "nextTransactionAttempt": "2022-01-21T07:00+01:00",
                              "transactions": [],
                              "sddTransactions": []
                          }
                      ],
                      "additionalData": []
                  }

              INSTALLMENT_TRANSACTION_SUCCEEDED
              When a transaction of an installment is make
              {
                "eventId": "a4bb53ba-c913-4077-bf75-5b3d91c0f026",
                "type": "INSTALLMENT_TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-05T16:47:16.914769+01:00",
                "object": {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:47:14.425041+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "d70bceea-1b4b-454f-ae04-3cfa5e877e01",
                  "installmentPaymentId": "1da9892e-d71c-40a9-8637-c259d3076582",
                  "paid": true,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:47:15.250593+01:00",
                      "uuid": "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                    }
                  ],
                  "transactions": [
                    "8b1b6eb7-c492-4a3f-913e-46c84836b50d"
                  ],
                  "type": "INSTALLMENT"
                },
                "requestId": "05809a07-9e49-44be-91c2-4ca357f2a7cc"
              }

              INSTALLMENT_TRANSACTION_FAILED
              When a transaction of an installment is failed
              {
                "eventId": "2518ae0a-7e88-4458-86cb-3ef2a71f07bf",
                "type": "INSTALLMENT_TRANSACTION_FAILED",
                "creationDate": "2024-01-05T16:34:31.034977+01:00",
                "object": {
                  "amount": 500,
                  "attemptCount": 1,
                  "creationDate": "2024-01-05T16:34:29.520151+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "installmentId": "6fe13fbd-10d6-406d-93af-31f5d682db99",
                  "installmentPaymentId": "0453a075-211f-4d0a-8947-e05cd6bd33fc",
                  "nextTransactionAttempt": "2024-01-08T04:00+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "transactionDatas": [
                    {
                      "creationDate": "2024-01-05T16:34:30.385545+01:00",
                      "uuid": "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                    }
                  ],
                  "transactions": [
                    "f061fa00-8494-4eca-b9d1-f54d36125d7d"
                  ],
                  "type": "INSTALLMENT"
                },
                "requestId": "89cb89a8-618a-46f6-8971-c8f84a57f61e"
              }

              Identifiant de Créancier SEPA

              L’Identifiant Créancier SEPA (ICS) est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).

              Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque.

              Communiquez votre ICS à CentralPay lors de votre entrée en relation afin que nos équipes puissent le déclarer dans votre compte.

              The ONBOARDING object

              ONBOARDING_ENROLLMENT_CREATED
              When the onboarding request has been accept. You will receive an enrollementId associated to you custom reference.
              {
                "eventId": "8eb9f549-325d-4451-8e98-d90f1bf5635a",
                "type": "ONBOARDING_ENROLLMENT_CREATED",
                "creationDate": "2024-01-10T09:14:51.488392+01:00",
                "object": {
                  "workflow": {
                    "uuid": "b1161973-7ec2-4dd0-a23e-abb788b68844",
                    "status": "ON_GOING",
                    "activities": [
                      {
                        "step_elements": [],
                        "uuid": "e08b0baf-c947-4b82-bd69-f98a2a67c511",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-10T09:14:51"
                      }
                    ],
                    "additional_documents": []
                  },
                  "identity_badge": null,
                  "representatives_list": null,
                  "inactive_representatives_list": [],
                  "infogreffe_identity": null,
                  "language": "fr",
                  "risk_score": {
                    "activity": 2,
                    "activity_age": null,
                    "turnover": 1,
                    "bank_account": 0,
                    "total": null
                  },
                  "additional_document_need_upload": false,
                  "uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "risk_points": null,
                  "created_at": "2024-01-10T09:14:51",
                  "last_updated_at": null,
                  "turnover_is_fixed": false,
                  "workflow_mode": "SEQUENTIAL",
                  "risk_level": "LOW",
                  "type": "INDIVIDUAL",
                  "is_canceled": false,
                  "enrollment_account": null,
                  "profile": {
                    "birthname": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "uuid": "805a41ad-bd70-4841-a0d4-91f9082860dd",
                    "workflow": {
                      "uuid": "24d6e160-5f16-4e60-81a2-f5b6942ce629",
                      "status": "ON_GOING",
                      "activities": [
                        {
                          "step_elements": [
                            {
                              "status": "COMPLETED",
                              "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                              "value": "Carmelo",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                              "value": "Littel",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                              "value": "verna11@yahoo.com",
                              "element-type": "email"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            }
                          ],
                          "uuid": "adf915df-d11f-4862-b76d-1c1e4e06994d",
                          "name": "identityInfos",
                          "state": "TODO",
                          "category": "identity",
                          "created_at": "2024-01-10T09:14:51"
                        }
                      ],
                      "additional_documents": []
                    },
                    "firstname": {
                      "status": "COMPLETED",
                      "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                      "value": "Carmelo",
                      "element-type": "firstname"
                    },
                    "lastname": {
                      "status": "COMPLETED",
                      "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                      "value": "Littel",
                      "element-type": "lastname"
                    },
                    "usename": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "email": {
                      "status": "COMPLETED",
                      "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                      "value": "verna11@yahoo.com",
                      "element-type": "email"
                    },
                    "language": {
                      "status": "ON_GOING",
                      "uuid": "78daf0f6-4659-461f-a817-72c4b233cd70",
                      "locale": {
                        "identifier": "fr"
                      },
                      "element-type": "language"
                    },
                    "phone": {
                      "status": "COMPLETED",
                      "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                      "value": "+3300000000",
                      "element-type": "phone"
                    },
                    "birthday": {
                      "status": "COMPLETED",
                      "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                      "value": "1993-01-01T00:00:00",
                      "element-type": "birthday"
                    },
                    "login": null,
                    "bo_user_uuid": null
                  },
                  "activity_sector": {
                    "name": "Artisans (plumber, electricians, ...)"
                  },
                  "data": {
                    "type": "PARTICULAR",
                    "company_name": null,
                    "history": [],
                    "turnover": {
                      "name": "Less than 20k EUR"
                    },
                    "activity_age": null
                  },
                  "custom_reference": null,
                  "is_converted": false,
                  "conformity_status": "ON_GOING",
                  "conformity_status_level_two": null,
                  "comments_level_two": null,
                  "validator_level_one": null,
                  "validator_level_two": null,
                  "merchant_uuid": null,
                  "validation_date": null,
                  "validation_date_level_two": null,
                  "sub_type": null,
                  "api_infogreffe_attempt": 0,
                  "next_step": 0,
                  "full_kyc": false
                },
                "requestId": "b59cf6d0-4180-4a0e-b26d-8d2e34759c46"
              }

              ONBOARDING_ENROLLMENT_STATUS_UPDATED
              An ongoing onboarding has been updated.
              {
                "eventId": "e4e42e20-1819-49d3-af96-9a7ecb978a5d",
                "type": "ONBOARDING_ENROLLMENT_STATUS_UPDATED",
                "creationDate": "2024-01-10T09:16:02.927117+01:00",
                "object": {
                  "workflow": {
                    "uuid": "b1161973-7ec2-4dd0-a23e-abb788b68844",
                    "status": "ON_GOING",
                    "activities": [
                      {
                        "step_elements": [],
                        "uuid": "e08b0baf-c947-4b82-bd69-f98a2a67c511",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-10T09:14:51"
                      }
                    ],
                    "additional_documents": []
                  },
                  "identity_badge": null,
                  "representatives_list": null,
                  "inactive_representatives_list": [],
                  "infogreffe_identity": null,
                  "language": "fr",
                  "risk_score": {
                    "activity": 2,
                    "activity_age": null,
                    "turnover": 1,
                    "bank_account": 0,
                    "total": null
                  },
                  "additional_document_need_upload": false,
                  "uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "risk_points": null,
                  "created_at": "2024-01-10T09:14:51",
                  "last_updated_at": "2024-01-10T09:16:02",
                  "turnover_is_fixed": false,
                  "workflow_mode": "SEQUENTIAL",
                  "risk_level": "LOW",
                  "type": "INDIVIDUAL",
                  "is_canceled": false,
                  "enrollment_account": null,
                  "profile": {
                    "birthname": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "uuid": "805a41ad-bd70-4841-a0d4-91f9082860dd",
                    "workflow": {
                      "uuid": "24d6e160-5f16-4e60-81a2-f5b6942ce629",
                      "status": "ACCEPTED",
                      "activities": [
                        {
                          "step_elements": [
                            {
                              "status": "COMPLETED",
                              "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                              "value": "Carmelo",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                              "value": "Littel",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                              "value": "verna11@yahoo.com",
                              "element-type": "email"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                              "value": "Carmelo",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                              "value": "Littel",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                              "value": "verna11@yahoo.com",
                              "element-type": "email"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "37ec9115-e88f-4bd7-a36e-77c4204f5058",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "898c972f-be5f-4209-b9a6-4b06ed8e17f9",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "08942994-180a-469e-9139-fa2fa09375ec",
                              "documents": [
                                {
                                  "file_check": null
                                }
                              ],
                              "type": "PASSPORT",
                              "proof_of_identity_document": null,
                              "expiry_date": null,
                              "document_number": null,
                              "mrz_line1": null,
                              "mrz_line2": null,
                              "issuing_country": null,
                              "element-type": "identity-document"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "01994746-c538-4387-a07d-af53b40e797d",
                              "name_line1": "rue du bois",
                              "name_line2": null,
                              "name_line3": null,
                              "name_line4": null,
                              "locality": "Tours",
                              "postal_code": "37000",
                              "country": "FRA",
                              "element-type": "address"
                            }
                          ],
                          "uuid": "adf915df-d11f-4862-b76d-1c1e4e06994d",
                          "name": "identityInfos",
                          "state": "OK",
                          "category": "identity",
                          "created_at": "2024-01-10T09:14:51"
                        },
                        {
                          "step_elements": [],
                          "uuid": null,
                          "name": "finished",
                          "state": "OK",
                          "category": null,
                          "created_at": null
                        }
                      ],
                      "additional_documents": []
                    },
                    "firstname": {
                      "status": "COMPLETED",
                      "uuid": "76fa0a86-7b3e-44e5-aa8a-f6ccd06d3df9",
                      "value": "Carmelo",
                      "element-type": "firstname"
                    },
                    "lastname": {
                      "status": "COMPLETED",
                      "uuid": "f01070cd-01c8-4e22-929a-7988c2c0dac0",
                      "value": "Littel",
                      "element-type": "lastname"
                    },
                    "usename": {
                      "status": "ON_GOING",
                      "uuid": "a60a7930-38ce-4585-bc15-bad4e4d8c9fa",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "email": {
                      "status": "COMPLETED",
                      "uuid": "41449fa2-079e-4f1e-81b2-a4fed78c1d5b",
                      "value": "verna11@yahoo.com",
                      "element-type": "email"
                    },
                    "language": {
                      "status": "ON_GOING",
                      "uuid": "78daf0f6-4659-461f-a817-72c4b233cd70",
                      "locale": {
                        "identifier": "fr"
                      },
                      "element-type": "language"
                    },
                    "phone": {
                      "status": "COMPLETED",
                      "uuid": "8899cbdc-f074-4730-9f9e-44a144517a39",
                      "value": "+3300000000",
                      "element-type": "phone"
                    },
                    "birthday": {
                      "status": "COMPLETED",
                      "uuid": "9ce4c8fb-3c39-4e42-bc81-45a78760d8ff",
                      "value": "1993-01-01T00:00:00",
                      "element-type": "birthday"
                    },
                    "login": null,
                    "bo_user_uuid": null
                  },
                  "activity_sector": {
                    "name": "Hotels & holiday rentals"
                  },
                  "data": {
                    "type": "PARTICULAR",
                    "company_name": null,
                    "history": [],
                    "turnover": {
                      "name": "Less than 20k EUR"
                    },
                    "activity_age": null
                  },
                  "custom_reference": null,
                  "is_converted": false,
                  "conformity_status": "ON_GOING",
                  "conformity_status_level_two": null,
                  "comments_level_two": null,
                  "validator_level_one": null,
                  "validator_level_two": null,
                  "merchant_uuid": null,
                  "validation_date": null,
                  "validation_date_level_two": null,
                  "sub_type": null,
                  "api_infogreffe_attempt": 0,
                  "next_step": 0,
                  "full_kyc": false
                },
                "requestId": "e2324dd3-59e4-44e2-a0d7-fe7df9c4a690"
              }

              ONBOARDING_ENROLLMENT_INVALID_DOCUMENTS
              Some documents are regarded as invalid by the Centralpay conformity
              {
                  "uuid": "bc0fac82-xxxx-xxxx-8107-80b12cae168b",
                  "activities": [
                      {
                          "uuid": "ffd29ae2-xxxx-xxxx-b6cc-a368c664f224",
                          "name": "identityInfos",
                          "step_elements": [
                              {
                                  "uuid": "ac1c8f9c-xxxx-xxxx-a10b-1e26937942fc",
                                  "field": "IdentityDocument",
                                  "comment": "Le document est expiré",
                                  "reasons": [
                                      {
                                          "reason": "OTHER",
                                          "comment": null
                                      }
                                  ]
                              }
                          ]
                      }
                  ]
              }

              ONBOARDING_ENROLLMENT_VALID_DOCUMENTS
              Some documents are regarded as valid by the Centralpay conformity
              {
                  "uuid": "c5ed5ac3-xxxx-xxxx-909a-e7e8fde6ab0e",
                  "risk_level": "MEDIUM",
                  "merchant_block_configuration_status": "NONE"
              }

              ONBOARDING_PAYMENT_ACCOUNT_CREATED
              The account has been created.
              {
                "eventId": "69d19eb6-5b4d-4658-8149-526d779328a4",
                "type": "ONBOARDING_PAYMENT_ACCOUNT_CREATED",
                "creationDate": "2024-01-10T09:17:04.318216+01:00",
                "object": {
                  "merchantEnrollmentId": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "merchantEnrollmentCustomReference": null,
                  "merchantEnrollmentType": "BASIC",
                  "merchantId": "cac4f315-4dbf-45da-bb3c-4c9b64fe81c1",
                  "merchantName": "Carmelo Littel",
                  "merchantWalletId": "9a8fc3a1-bece-4ef2-a92a-d6341f8799e0",
                  "creationDate": "2024-01-10T09:17:03+0100",
                  "merchantBlockConfigurationStatus": "NONE"
                },
                "requestId": "abd91f96-78c3-4277-8eea-b2a4e323efd3"
              }

              ONBOARDING_PAYMENT_ACCOUNT_UPDATED
              The account has been update. You receive those elements

              ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTED
              Additionnal documents or information have been request on one ongoing onboarding.
                  {
                      "uuid": "1ad91002-fcad-4056-a41f-82ab63687af2",
                      "additional_documents": 
                    {
                          "uuid": "eb0b568a-a619-4d80-b35a-846144ef1925",
                          "created_at": "2021-03-23T17:30:35+01:00",
                          "type": "AUDITED_FINANCIAL_REPORT",
                          "additional_documents_history": 
                        [
                              {
                                  "uuid": "1a330b31-9150-45cd-9fc3-bb3bed751b7b",
                                  "created_at": "2021-03-23T17:30:35+01:00",
                                  "status": "NOT_UPLOADED",
                                  "comment": "en couleur de moins de 3 mois",
                                  "additional_document_history_status": 
                                  [
                                      {
                                          "changed_at": "2021-03-23T17:30:35+01:00",
                                          "value": "NOT_UPLOADED"
                                      }
                                  ]
                              }
                          ]
                      }
                  }

              ONBOARDING_ADDITIONAL_DOCUMENT_UPDATED
              Additionnal documents or information have been provided by the account holder in one ongoing onboarding.

              ONBOARDING_ENROLLMENT_WORKFLOW_RESET
              The workflow has returned to it’s initial state
              {
                "eventId": "4fa7e538-9e45-4ba2-8c22-25bdb931ff19",
                "type": "ONBOARDING_ENROLLMENT_WORKFLOW_RESET",
                "creationDate": "2024-01-25T12:24:32.450115+01:00",
                "object": {
                  "workflow": {
                    "uuid": "cc91fb6c-55c0-48b3-82de-549d1061edf9",
                    "status": "ON_GOING",
                    "activities": [
                      {
                        "step_elements": [],
                        "uuid": "49ff33c2-d4e8-4eec-ad1c-43ebe822706b",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-25T12:24:32"
                      },
                      {
                        "step_elements": [],
                        "uuid": "49ff33c2-d4e8-4eec-ad1c-43ebe822706b",
                        "name": "ContractValiA",
                        "state": "TODO",
                        "category": "validation",
                        "created_at": "2024-01-25T12:24:32"
                      }
                    ],
                    "additional_documents": []
                  },
                  "identity_badge": null,
                  "representatives_list": null,
                  "inactive_representatives_list": [],
                  "infogreffe_identity": null,
                  "language": "fr",
                  "risk_score": {
                    "activity": 2,
                    "activity_age": null,
                    "turnover": 1,
                    "bank_account": 0,
                    "total": null
                  },
                  "additional_document_need_upload": false,
                  "uuid": "b7fa53f5-1cc7-4524-8a41-364b6e85f6b4",
                  "risk_points": null,
                  "created_at": "2024-01-25T12:21:11",
                  "last_updated_at": null,
                  "turnover_is_fixed": false,
                  "workflow_mode": "SEQUENTIAL",
                  "risk_level": "LOW",
                  "type": "INDIVIDUAL",
                  "is_canceled": false,
                  "enrollment_account": null,
                  "profile": {
                    "birthname": {
                      "status": "ON_GOING",
                      "uuid": "a404d8cf-d4f5-412a-b0a2-fc8843fbe7ed",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "uuid": "c8e69bcf-cd2a-4dd5-85a6-252ba8ef2fa2",
                    "workflow": {
                      "uuid": "512c94e7-f470-446f-b030-65729b681d41",
                      "status": "ON_GOING",
                      "activities": [
                        {
                          "step_elements": [
                            {
                              "status": "COMPLETED",
                              "uuid": "e3832733-a07c-4f29-999a-945854cae097",
                              "value": "Alejandra",
                              "element-type": "firstname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "6f2bf419-ada4-4967-b6ff-4c02dee109f4",
                              "value": "Walter",
                              "element-type": "lastname"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "a691c5d5-a62a-4cd9-97b1-b68c1e612d0f",
                              "value": "+3300000000",
                              "element-type": "phone"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "e077ba27-5cfe-4a5b-ada9-cbf043d50cb5",
                              "value": "Tours",
                              "element-type": "place-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "faec075e-d17c-4c7d-ad2d-8e9ee573f840",
                              "value": "1993-01-01T00:00:00",
                              "element-type": "birthday"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "d052f4da-c670-4075-8d29-d55fdae732a5",
                              "country": "FRA",
                              "element-type": "country-of-birth"
                            },
                            {
                              "status": "COMPLETED",
                              "uuid": "96693dd5-4463-402a-aea7-e034b414825a",
                              "value": "tessie_ebert@gmail.com",
                              "element-type": "email"
                            }
                          ],
                          "uuid": "b77d7bf7-ab6f-4cb0-ad18-22ac66a50a3b",
                          "name": "identityInfos",
                          "state": "TODO",
                          "category": "identity",
                          "created_at": "2024-01-25T12:21:11"
                        }
                      ],
                      "additional_documents": []
                    },
                    "firstname": {
                      "status": "COMPLETED",
                      "uuid": "e3832733-a07c-4f29-999a-945854cae097",
                      "value": "Alejandra",
                      "element-type": "firstname"
                    },
                    "lastname": {
                      "status": "COMPLETED",
                      "uuid": "6f2bf419-ada4-4967-b6ff-4c02dee109f4",
                      "value": "Walter",
                      "element-type": "lastname"
                    },
                    "usename": {
                      "status": "ON_GOING",
                      "uuid": "a404d8cf-d4f5-412a-b0a2-fc8843fbe7ed",
                      "value": null,
                      "element-type": "birthname"
                    },
                    "email": {
                      "status": "COMPLETED",
                      "uuid": "96693dd5-4463-402a-aea7-e034b414825a",
                      "value": "tessie_ebert@gmail.com",
                      "element-type": "email"
                    },
                    "language": {
                      "status": "ON_GOING",
                      "uuid": "232259eb-02cf-48af-9693-d678fecd9dc1",
                      "locale": {
                        "identifier": "fr"
                      },
                      "element-type": "language"
                    },
                    "phone": {
                      "status": "COMPLETED",
                      "uuid": "a691c5d5-a62a-4cd9-97b1-b68c1e612d0f",
                      "value": "+3300000000",
                      "element-type": "phone"
                    },
                    "birthday": {
                      "status": "COMPLETED",
                      "uuid": "faec075e-d17c-4c7d-ad2d-8e9ee573f840",
                      "value": "1993-01-01T00:00:00",
                      "element-type": "birthday"
                    },
                    "login": null,
                    "bo_user_uuid": null
                  },
                  "activity_sector": {
                    "name": "Artisans (plumber, electricians, ...)"
                  },
                  "data": {
                    "type": "PARTICULAR",
                    "company_name": null,
                    "history": [],
                    "turnover": {
                      "name": "Less than 20k EUR"
                    },
                    "activity_age": null
                  },
                  "custom_reference": null,
                  "is_converted": false,
                  "conformity_status": "ON_GOING",
                  "conformity_status_level_two": null,
                  "comments_level_two": null,
                  "validator_level_one": null,
                  "validator_level_two": null,
                  "merchant_uuid": null,
                  "validation_date": null,
                  "validation_date_level_two": null,
                  "sub_type": null,
                  "api_infogreffe_attempt": 0,
                  "next_step": 0,
                  "full_kyc": false,
                  "auto_updated_data": false
                },
                "requestId": "3ca496d0-bd87-4457-8460-fc1e502d4962"
              }

              ONBOARDING_PEP_SANCTION_SEARCH_RESULT
              The PEP Sanction search has return result, you receive those elements
              {
                "eventId": "a427366c-eb0b-4d68-9d81-22f406162024",
                "type": "ONBOARDING_PEP_SANCTION_SEARCH_RESULT",
                "creationDate": "2024-01-10T09:16:09.771127+01:00",
                "object": {
                  "enrollment_uuid": "c2e03650-2427-4c25-aa31-016c63f7261b",
                  "enrollment_url": "https://test-backoffice.centralpay.net/admin/onboarding/c2e03650-2427-4c25-aa31-016c63f7261b/show",
                  "profile": {
                    "pep_validation": {
                      "created_at": "2024-01-10 09:16:04",
                      "status": "ACCEPTED",
                      "reference": "1704874567-MMSug5fh",
                      "client_ref": "225cab33-3c8d-4bc7-b6d8-7f7d7448b49d",
                      "review_url": "https://api.complyadvantage.com1704874567-MMSug5fh"
                    },
                    "sanction_validation": {
                      "created_at": "2024-01-10 09:16:04",
                      "status": "ACCEPTED",
                      "reference": "1704874567-MMSug5fh",
                      "client_ref": "225cab33-3c8d-4bc7-b6d8-7f7d7448b49d",
                      "review_url": "https://api.complyadvantage.com1704874567-MMSug5fh"
                    }
                  }
                },
                "requestId": "d995a82d-ff33-4c20-af58-2546f3ef4c09"
              }

              ENROLLMENT_CREATED
              When an enrollement is created

              Déclaration du compte bancaire

              Pour réaliser une transaction par prélèvement SEPA, il faut d’abord créer le profil de votre client (le débiteur) et déclarer ses coordonnées bancaires sur la plateforme CentralPay.

              1/ Créer un profil client « Customer »

              • Collecter les informations de votre client (email, nom, prénom …)
              • Créer un profil client Customer
              • Récupérer la propriété « customerId » dans le retour de création du Customer

              2/ Créer un compte bancaire « bankAccount »

              • Collecter les coordonnées bancaires de votre client (IBAN, BIC, nom du titulaire du compte …)
              • Créer un compte bancaire bankAccount en renseignant le « customerId » de votre client
              • Récupérer le « bankAccountId » et le « identityId » dans le retour de création du bankAccount

              The PAYMENT REQUEST object

              PAYMENTREQUEST_CREATED
              Happen when a payment request is created
              {
                "eventId": "75b8f668-c5ce-40c8-ba51-2423004b04d2",
                "type": "PAYMENTREQUEST_CREATED",
                "creationDate": "2024-01-08T11:47:27.515437+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 29000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/446ae220-96f7-40ec-bd9b-9c8b83e0919b",
                      "entered": false,
                      "firstName": "Corben",
                      "initiator": true,
                      "lastName": "DALLAS",
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "548c4ce7-d14f-486d-b9ac-b3caa3a9f5b6",
                      "payments": [],
                      "status": "UNPAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-08T11:47:27.494330+01:00",
                  "currency": "EUR",
                  "installments": [],
                  "language": "fre",
                  "linkExpirationDate": "2025-01-07T11:47:27.393093+01:00",
                  "merchantPaymentRequestId": "Facture 12334",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "TRANSACTION",
                    "SCT_TRANSACTION"
                  ],
                  "paymentRequestId": "1c3d2a38-5f0e-41d4-a177-cf87fb5da617",
                  "paymentRequestStatus": "ACTIVE",
                  "paymentStatus": "UNPAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 29000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "94977411-0b77-4792-b4cb-efd133911f66",
                    "source": "EC"
                  },
                  "transfers": [],
                  "wireTransfer": {
                    "paymentRequestWireTransferId": "329c9d8f-53de-4797-b6fc-d75ce3bf2466"
                  }
                },
                "requestId": "7dc393fc-f32a-4c4e-945e-f4f231610a47"
              }

              PAYMENTREQUEST_CANCELED
              Happen when a payment request is cancelled
              {
                "eventId": "092b72f8-67a3-489c-af21-684eef115c65",
                "type": "PAYMENTREQUEST_CANCELED",
                "creationDate": "2024-01-08T11:50:28.640892+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 29000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/446ae220-96f7-40ec-bd9b-9c8b83e0919b",
                      "entered": true,
                      "firstName": "Corben",
                      "initiator": true,
                      "lastName": "DALLAS",
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "548c4ce7-d14f-486d-b9ac-b3caa3a9f5b6",
                      "payments": [],
                      "status": "UNPAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-08T11:47:27.494330+01:00",
                  "currency": "EUR",
                  "endingDate": "2024-01-08T11:50:28.619151+01:00",
                  "installments": [],
                  "language": "fre",
                  "linkExpirationDate": "2025-01-07T11:47:27.393093+01:00",
                  "merchantPaymentRequestId": "Facture 12334",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "SCT_TRANSACTION",
                    "TRANSACTION"
                  ],
                  "paymentRequestId": "1c3d2a38-5f0e-41d4-a177-cf87fb5da617",
                  "paymentRequestStatus": "CANCELED",
                  "paymentStatus": "UNPAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 29000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "94977411-0b77-4792-b4cb-efd133911f66",
                    "source": "EC"
                  },
                  "transfers": [],
                  "wireTransfer": {
                    "paymentRequestWireTransferId": "329c9d8f-53de-4797-b6fc-d75ce3bf2466"
                  }
                },
                "requestId": "ff7f8976-a2fe-4a90-8bf1-55eb6a1abf5f"
              }

              PAYMENTREQUEST_CLOSED
              Happen when a payment request is closed
              {
                "eventId": "f06c4263-7708-476e-89c8-c6c52213d034",
                "type": "PAYMENTREQUEST_CLOSED",
                "creationDate": "2024-01-08T11:51:37.271485+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 29000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/7c9b8626-c7b1-46dc-9efa-7f7c994839e6",
                      "entered": true,
                      "firstName": "Corben",
                      "initiator": true,
                      "lastName": "DALLAS",
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "82ad8194-10e6-4639-8011-8cacd285f465",
                      "payments": [],
                      "status": "UNPAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-08T11:51:25.123940+01:00",
                  "currency": "EUR",
                  "endingDate": "2024-01-08T11:51:37.249097+01:00",
                  "installments": [],
                  "language": "fre",
                  "linkExpirationDate": "2025-01-07T11:51:25.039807+01:00",
                  "merchantPaymentRequestId": "Facture 12334",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "SCT_TRANSACTION",
                    "TRANSACTION"
                  ],
                  "paymentRequestId": "af2d283a-eec1-4d55-9fa9-82ae6a3a1212",
                  "paymentRequestStatus": "CLOSED",
                  "paymentStatus": "UNPAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 29000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "49d7fa4f-88d8-43bf-8ed1-2ac68a093953",
                    "source": "EC"
                  },
                  "transfers": [],
                  "wireTransfer": {
                    "paymentRequestWireTransferId": "a26099e7-af23-4b71-baa0-24608bb10f0e"
                  }
                },
                "requestId": "19ae9e22-5c4b-4c2b-a94c-a2fd41c3dcd2"
              }

              PAYMENTREQUEST_PAID
              Happen when a payment request is paid
              {
                "eventId": "04feded6-e56b-4980-903f-3f15d89405aa",
                "type": "PAYMENTREQUEST_PAID",
                "creationDate": "2024-01-15T12:36:33.155085+01:00",
                "object": {
                  "additionalData": {},
                  "attachments": [],
                  "breakdowns": [
                    {
                      "amount": 100000,
                      "email": "gduhamel@centralpay.eu",
                      "endpoint": "https://test-form.centralpay.net/6afa376b-976a-4b79-8320-5baf16681b79",
                      "entered": true,
                      "initiator": true,
                      "paid": false,
                      "paymentAttempted": false,
                      "paymentRequestBreakdownId": "75b6d330-948e-4aef-8967-d88d2acc7190",
                      "payments": [
                        {
                          "creationDate": "2024-01-15T12:36:11.311665+01:00",
                          "paymentMethod": "TRANSACTION",
                          "uuid": "73d16504-a1d7-488a-8e0a-b350972f754d"
                        },
                        {
                          "creationDate": "2024-01-15T12:36:31.689550+01:00",
                          "paymentMethod": "TRANSACTION",
                          "uuid": "f80eee11-a633-46c2-bf08-f31d33d3107a"
                        }
                      ],
                      "status": "PAID",
                      "view": 0
                    }
                  ],
                  "createCustomer": false,
                  "creationDate": "2024-01-15T12:34:44.362675+01:00",
                  "currency": "EUR",
                  "endingDate": "2024-01-15T12:36:33.036207+01:00",
                  "installment": {
                    "depositAmount": 0,
                    "feeAmount": 0,
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 2,
                    "paymentRequestInstallmentId": "979caed1-430b-4984-8697-7f85eecaf482",
                    "source": "CARD",
                    "startingDate": "2024-01-15"
                  },
                  "installments": [
                    {
                      "depositAmount": 0,
                      "feeAmount": 0,
                      "intervalCount": 1,
                      "intervalUnit": "MONTH",
                      "iterationCount": 2,
                      "paymentRequestInstallmentId": "979caed1-430b-4984-8697-7f85eecaf482",
                      "source": "CARD",
                      "startingDate": "2024-01-15"
                    }
                  ],
                  "language": "eng",
                  "linkExpirationDate": "2025-01-14T12:34:44.285879+01:00",
                  "notificationEmails": [],
                  "paymentMethods": [
                    "INSTALLMENT",
                    "TRANSACTION"
                  ],
                  "paymentRequestId": "2bfc4ab4-f878-46b8-8a12-3263d2d28842",
                  "paymentRequestStatus": "CLOSED",
                  "paymentStatus": "PAID",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "scenarios": [],
                  "subscriptions": [],
                  "totalAmount": 100000,
                  "transaction": {
                    "capture": true,
                    "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                    "customAcceptanceData": {},
                    "paymentRequestTransactionId": "75b7c505-c546-475a-88ee-c169073d05b1",
                    "source": "EC"
                  },
                  "transfers": []
                },
                "requestId": "6847ced8-92ab-45df-9f1d-1069112b98e1"
              }

              PAYMENTREQUEST_INSTALLMENT_FAILED
              Happen when the installment of the payment request failed
              {
                "eventId": "36650db2-3f36-479f-9518-16699a289467",
                "type": "PAYMENTREQUEST_INSTALLMENT_FAILED",
                "creationDate": "2024-01-15T12:43:18.344841+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "card": {
                    "commercialBrand": "VISA",
                    "first6": "400000",
                    "last4": "0069",
                    "uuid": "3f3114d8-03eb-464d-9b0c-15200caa6d2d"
                  },
                  "cardId": "3f3114d8-03eb-464d-9b0c-15200caa6d2d",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:43:16.467780+01:00",
                  "currency": "EUR",
                  "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                  "depositAmount": 0,
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "feeAmount": 0,
                  "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                  "installments": [
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:43:16.467716+01:00",
                      "currency": "EUR",
                      "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                      "installmentId": "54c40fa5-e25e-451b-9c5f-7a6d715c449c",
                      "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                      "nextTransactionAttempt": "2024-01-18T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-15T12:43:17.074117+01:00",
                          "uuid": "70ccb90d-3b1a-43d2-b1ee-146e65cf4906"
                        }
                      ],
                      "transactions": [
                        "70ccb90d-3b1a-43d2-b1ee-146e65cf4906"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 50000,
                      "attemptCount": 0,
                      "creationDate": "2024-01-15T12:43:16.467738+01:00",
                      "currency": "EUR",
                      "customerId": "ddf4aa07-5fd3-4ce1-bbaa-cdaafdb821d5",
                      "installmentId": "1db9808f-cbd9-4498-8d35-497ff341c473",
                      "installmentPaymentId": "e9ea4684-1277-4928-b6f0-6df6bccdb275",
                      "nextTransactionAttempt": "2024-02-15T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestBreakdownId": "fbd3f414-f1dc-416a-a4cd-d7bf76d21b77",
                  "paymentRequestId": "b4a010bb-8e3f-4261-af97-4993bede753f",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-15",
                  "status": "FAILURE"
                },
                "requestId": "e217a158-fc58-4b43-8c5d-6f23f7cc7977"
              }

              PAYMENTREQUEST_INSTALLMENT_SUCCEEDED
              Happen when the installment of the payment request succeeded
              {
                "eventId": "8f744f4e-4101-4df4-805f-22be1620b4e7",
                "type": "PAYMENTREQUEST_INSTALLMENT_SUCCEEDED",
                "creationDate": "2024-01-15T12:40:38.091171+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "card": {
                    "commercialBrand": "VISA",
                    "first6": "403203",
                    "last4": "2700",
                    "uuid": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82"
                  },
                  "cardId": "7af37b48-4c0a-4e5d-81ec-0ecd6758ee82",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:40:35.818249+01:00",
                  "currency": "EUR",
                  "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                  "depositAmount": 0,
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "feeAmount": 0,
                  "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                  "installments": [
                    {
                      "amount": 50000,
                      "attemptCount": 1,
                      "creationDate": "2024-01-15T12:40:35.818185+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "c3c2eb3c-9935-4eb1-a9bd-42f62f1c035c",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "paid": true,
                      "sddTransactions": [],
                      "transactionDatas": [
                        {
                          "creationDate": "2024-01-15T12:40:36.418127+01:00",
                          "uuid": "7f642ab2-5c15-4420-b85a-a97cb819844d"
                        }
                      ],
                      "transactions": [
                        "7f642ab2-5c15-4420-b85a-a97cb819844d"
                      ],
                      "type": "INSTALLMENT"
                    },
                    {
                      "amount": 50000,
                      "attemptCount": 0,
                      "creationDate": "2024-01-15T12:40:35.818207+01:00",
                      "currency": "EUR",
                      "customerId": "1d281559-80b2-45c0-9930-6fb94651d6b7",
                      "installmentId": "6eaf48a5-d0df-40d2-bd62-a297444d37d2",
                      "installmentPaymentId": "78e28b54-708c-45a7-a6ef-d3c1672ffe49",
                      "nextTransactionAttempt": "2024-02-15T04:00+01:00",
                      "paid": false,
                      "sddTransactions": [],
                      "transactions": [],
                      "type": "INSTALLMENT"
                    }
                  ],
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 2,
                  "paymentRequestBreakdownId": "b665743f-6671-4749-9727-f801c0d9915a",
                  "paymentRequestId": "3192c6e1-89e6-4d5a-9d96-3208b37f5c3f",
                  "pointOfSale": {
                    "name": "Corben Dallas",
                    "uuid": "7d99a970-cc26-4de8-aa5d-d9ebf4088247"
                  },
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "startingDate": "2024-01-15",
                  "status": "ACTIVE"
                },
                "requestId": "b843a04a-cb43-4883-a584-7adc52142c55"
              }

              PAYMENTREQUEST_SUBSCRIPTION_FAILED
              Happen when the subscription of the payment request failed
                  {
                      "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                      "creationDate": "2021-09-08T09:39:06.212604+02:00",
                      "walletId": null,
                      "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                      "cardId": "63afa65e-5674-49bf-9ac3-a98b82d16e92",
                      "mandateId": null,
                      "startingDate": "2021-09-08",
                      "endingDate": null,
                      "expectedEndingDate": "2022-09-07",
                      "currentPeriodStart": "2021-09-08",
                      "currentPeriodEnd": "2021-10-07",
                      "requestedCollectionDate": null,
                      "cancellationDate": null,
                      "paymentRequestBreakdownId": null,
                      "paymentRequestId": null,
                      "merchantSubscriptionId": null,
                      "subscriptionModel": {
                          "subscriptionModelId": "01c3f578-a589-4ef7-9bb6-d855ff0fa121",
                          "creationDate": "2021-09-08T09:39:06.137368+02:00",
                          "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                          "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                          "merchantSubscriptionModelId": null,
                          "amount": 10000,
                          "currency": "EUR",
                          "name": "Test Abo",
                          "description": null,
                          "intervalUnit": "MONTH",
                          "intervalCount": 1,
                          "iterationCount": 12,
                          "additionalData": []
                      },
                      "quantity": 1,
                      "status": "ACTIVE",
                      "cancelAtPeriodEnd": null,
                      "lastInvoice": {
                          "invoiceId": "da0622d1-723b-4567-ad40-917a92a84e05",
                          "creationDate": "2021-09-08T09:39:06.562016+02:00",
                          "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                          "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                          "walletId": null,
                          "mandateId": null,
                          "merchantInvoiceId": null,
                          "amount": 10000,
                          "currency": "EUR",
                          "closed": true,
                          "invoiceItems": [
                              {
                                  "invoiceItemId": "e8b03ea3-85ca-4e85-ab3d-6b1c83122508",
                                  "creationDate": "2021-09-08T09:39:06.469080+02:00",
                                  "invoiceId": "da0622d1-723b-4567-ad40-917a92a84e05",
                                  "subscriptionId": "26815c6a-19fe-49bd-b619-f14719f3e4ba",
                                  "customerId": "4e06b1e7-c24c-4927-a2da-f9c2dd3d4660",
                                  "walletId": null,
                                  "mandateId": null,
                                  "merchantInvoiceItemId": null,
                                  "quantity": 1,
                                  "amount": 10000,
                                  "totalAmount": 10000,
                                  "currency": "EUR",
                                  "description": null,
                                  "type": "SUBSCRIPTION",
                                  "additionalData": []
                              }
                          ],
                          "description": null,
                          "attemptCount": 1,
                          "paid": true,
                          "type": "SUBSCRIPTION",
                          "nextTransactionAttempt": null,
                          "transactions": [
                              "d0bcd686-1b6b-45aa-bf8a-c4cedab81127"
                          ],
                          "transfers": [],
                          "sddTransactions": [],
                          "eventReceivedDate": null,
                          "additionalData": []
                      },
                      "endUserIp": "245.100.1.15",
                      "endUserLanguage": null,
                      "endToEndIdentification": null,
                      "remittanceInformation": null,
                      "redirect": null,
                      "additionalData": []
                  }

              PAYMENTREQUEST_SUBSCRIPTION_SUCCEEDED
              Happen when the subscription of the payment request succeeded
                  {
                      "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                      "creationDate": "2021-09-09T10:32:15.675280+02:00",
                      "walletId": null,
                      "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                      "cardId": null,
                      "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                      "startingDate": "2021-09-09",
                      "endingDate": null,
                      "expectedEndingDate": null,
                      "currentPeriodStart": "2021-09-09",
                      "currentPeriodEnd": "2021-10-08",
                      "requestedCollectionDate": "2021-09-15",
                      "cancellationDate": null,
                      "paymentRequestBreakdownId": "825c03a4-fa3e-4df0-812d-f3d094f88ca3",
                      "paymentRequestId": "ef4bf0e4-c77c-42a3-910e-b85e84b3c92b",
                      "merchantSubscriptionId": null,
                      "subscriptionModel": {
                          "subscriptionModelId": "b1561842-46c1-422c-84a6-69ea8e1c8051",
                          "creationDate": "2017-05-10T09:20:14.268+02:00",
                          "pointOfSaleId": "cfc0b3c7-e666-4c52-b77a-96f234b873fe",
                          "contractId": "71602dd0-2790-4743-877b-e72530d7576d",
                          "merchantSubscriptionModelId": "a00e2d1b-87a1-4fb2-8e15-5d6132006d5b",
                          "amount": 2000,
                          "currency": "EUR",
                          "name": "premium",
                          "description": "abbonnement premium",
                          "intervalUnit": "MONTH",
                          "intervalCount": 1,
                          "iterationCount": null,
                          "additionalData": []
                      },
                      "quantity": 1,
                      "status": "ACTIVE",
                      "cancelAtPeriodEnd": null,
                      "lastInvoice": {
                          "invoiceId": "e257896b-86a1-41cf-865b-ac0531e2ea4a",
                          "creationDate": "2021-09-09T10:32:16.072897+02:00",
                          "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                          "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                          "walletId": null,
                          "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                          "merchantInvoiceId": null,
                          "amount": 2000,
                          "currency": "EUR",
                          "closed": true,
                          "invoiceItems": [
                              {
                                  "invoiceItemId": "0dabd4f2-6e36-4731-989a-d00bdf93e748",
                                  "creationDate": "2021-09-09T10:32:15.860404+02:00",
                                  "invoiceId": "e257896b-86a1-41cf-865b-ac0531e2ea4a",
                                  "subscriptionId": "da6a4622-4e5d-4da5-8d29-6c49d4052b69",
                                  "customerId": "2f2e6ce9-e0bb-4377-8eb9-6a8506c0baa4",
                                  "walletId": null,
                                  "mandateId": "b08bb9e0-72e4-426a-9998-585f083338fc",
                                  "merchantInvoiceItemId": null,
                                  "quantity": 1,
                                  "amount": 2000,
                                  "totalAmount": 2000,
                                  "currency": "EUR",
                                  "description": null,
                                  "type": "SUBSCRIPTION",
                                  "additionalData": []
                              }
                          ],
                          "description": null,
                          "attemptCount": 1,
                          "paid": true,
                          "type": "SUBSCRIPTION",
                          "nextTransactionAttempt": null,
                          "transactions": [],
                          "transfers": [],
                          "sddTransactions": [
                              "0fd0d6cb-076a-4df5-9e89-7a62b74791e8"
                          ],
                          "eventReceivedDate": null,
                          "additionalData": []
                      },
                      "endUserIp": "92.154.127.221",
                      "endUserLanguage": null,
                      "endToEndIdentification": null,
                      "remittanceInformation": "PREMIUM",
                      "redirect": null,
                      "additionalData": []
                  }

              PAYMENTREQUEST_TRANSACTION_FAILED
              Happen when the transaction of the payment request failed
              {
                "eventId": "66f20401-7ca6-47bd-95f1-830628171cf8",
                "type": "PAYMENTREQUEST_TRANSACTION_FAILED",
                "creationDate": "2024-01-05T14:46:59.418489+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 0,
                  "amountRefunded": 0,
                  "archivingReference": "9GUGCIZEU0VN",
                  "authorizationMovementId": "7ed9258a-ee75-4705-90f3-678973d2402e",
                  "authorizationStatus": "FAILURE",
                  "bankCode": "51",
                  "bankMessage": "Simulation : Insufficient Funds",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureStatus": "UNCAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "30e49b6e-ed07-4b43-8862-2abd2f181678",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": true,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:46:39.151564+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "7032968c1a882c155b3d8014297daabaa7133680",
                    "first6": "400000",
                    "infoId": "90eaf823-e2e7-4757-845a-b966bbab03c6",
                    "last4": "0077",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:46:58.190985+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "order": {
                    "cardholderEmail": "GDU-Yvette5@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Buck_Gislason@hotmail.com",
                  "refunded": false,
                  "refunds": [],
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "d530cdbe-b9fc-481b-b99d-8ce0db75deb4",
                  "transactionStatus": "FAILURE",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "c120a3c0-764a-4c7e-a705-4721784212c7"
              }

              PAYMENTREQUEST_TRANSACTION_SUCCEEDED
              Happen when the transaction of the payment request succeeded
              {
                "eventId": "11a2d5b6-b8da-4e83-8182-5bd417b0b6b6",
                "type": "PAYMENTREQUEST_TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-15T12:36:33.122848+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100000,
                  "amountCaptured": 100000,
                  "amountRefunded": 0,
                  "archivingReference": "3GZD1KYRDSHP",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "656d9ee5-8ccb-45d9-a8fe-c830adf69dfd",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
                  "captureDate": "2024-01-15T12:36:33.020554+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "5e6269c2-b8a7-4ced-ad12-4c6cfdeda11b",
                    "cardTokenId": "0211ff3d-1e71-4772-8bdb-8c7e23905f86",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-15T12:36:29.312152+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 5,
                    "expirationYear": 2025,
                    "fingerprint": "9ede6a38739c3ce76c59bee1083409937d497e7a",
                    "first6": "403203",
                    "last4": "2700",
                    "productType": "CONSUMER",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-15T12:36:31.689550+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "91.229.230.41",
                  "endUserLanguage": "eng",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "455d5abf-4076-4b14-8804-87fc9a9ece8d",
                  "order": {
                    "cardholderEmail": "gduhamel@centralpay.eu"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "paymentRequestBreakdownId": "75b6d330-948e-4aef-8967-d88d2acc7190",
                  "paymentRequestId": "2bfc4ab4-f878-46b8-8a12-3263d2d28842",
                  "payoutAmount": 100000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "gduhamel@centralpay.eu",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": true,
                  "totalAmount": 100000,
                  "transactionId": "f80eee11-a633-46c2-bf08-f31d33d3107a",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "6847ced8-92ab-45df-9f1d-1069112b98e1"
              }

              PAYMENTREQUEST_SDDTRANSACTION_SUCCEEDED
              Happen when the SDD transaction of the payment request succeeded

              PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDED
              Happen when the SCT transaction of the payment request succeeded

              Création du mandat SEPA

              Après avoir déclaré le compte bancaire « bankAccount » du client et rattaché son profil client « Customer », vous pouvez créer un mandat SEPA « mandate » et collecter la signature électronique de votre client via un code (OTP) envoyé par SMS.

              Prérequis : vous devez récupérer le « creditorBankAccountId » de votre compte CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail utilisateur en utilisant un profil avec des droits Admin : Administration Mon compte Comptes bancaires
              Identifiez la ligne présentant votre ICS dans la colonne « IBAN » puis copiez l’UUID associé.

              1/ Création et signature d’un nouveau mandat SEPA

              Créez un mandat SEPA :

              • Créez un « Mandate »
                • Renseignez votre « creditorBankAccountId »
                • Renseignez le « CustomerId » de votre client
                • Renseignez votre Référence Unique de Mandat (RUM)
                • Indiquez le type de mandat que vous souhaitez créer dans la propriété « paymentType »
                • Renseignez le numéro de téléphone de votre client dans la propriété « debtorPhone »
                • Renseignez l’email de votre client dans la propriété « debtorEmail »
                • Indiquez le compte bancaire de votre client en renseignant son « bankAccountId » dans la propriété « debtorBankAccountId »
              • Une fois le mandat SEPA créé :
                • Un « mandateId » sera généré
                • Le statut du mandat sera en « PENDING »
                • Un code à 6 chiffres (OTP) sera envoyé à votre client par SMS (durée de vie 15 min). Vous pouvez renouveler l’envoi de l’OTP.

              Signez un mandat SEPA :

              • Signez le « Mandate »
                • Collectez le code à 6 chiffres auprès de votre client, et renseignez-le dans la propriété « otp »
                • Renseignez le « mandateId » généré lors de la création du mandat
                • Renseignez l’IP de votre client dans la propriété « endUserIp »
                • Le statut du mandat passera ainsi en « ACTIVE » et le mandat SEPA au format PDF sera envoyé au client par email

              Schéma de déclaration du compte bancaire et création mandat

              2/ Déclaration d’un mandat existant (migration)

              Dans le cadre d’une migration de mandats déjà créé auprès d’un autre prestataire de paiement, il est possible de désactiver la fonction de signature par OTP sms et d’envoi du mandat SEPA par email. Si c’est votre cas, contactez nos équipes afin d’obtenir plus de détails concernant cette procédure.

              Prérequis :

              • Les mandats doivent avoir été créés avec votre Identifiant de Créancier SEPA (ICS)
              • Les mandats doivent avoir été créés avec votre entité juridique actuelle
              • Les mandats doivent avoir été dûment signés et acceptés par vos débiteurs
              • Les mandats doivent être encore actifs (<36 mois depuis la dernière transaction)

              The PAYOUT object

              PAYOUT_CREATED
              When a payout will be asked.
              {
                "eventId": "da2e06e2-c6d5-416e-91b8-3fd398e216aa",
                "type": "PAYOUT_CREATED",
                "creationDate": "2024-01-15T15:05:36.401305+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "creationDate": "2024-01-15T15:05:36.280515+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-17",
                  "fee": 0,
                  "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
                  "net": 1,
                  "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
                  "payoutReference": "PAYOUT-20240115150536-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PENDING",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "9d99d793-ef34-4e4f-aefd-627da4b77fbc"
              }

              PAYOUT_UPDATED
              When an ongoing payout has been updated.
              {
                "eventId": "e1e8725c-eb98-400f-b3df-8f799a3ba165",
                "type": "PAYOUT_UPDATED",
                "creationDate": "2024-01-15T15:06:51.827583+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "creationDate": "2024-01-15T15:05:36.280515+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-17",
                  "fee": 0,
                  "merchantPayoutId": "Up_Test_Doc",
                  "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
                  "net": 1,
                  "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
                  "payoutReference": "PAYOUT-20240115150536-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PENDING",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "a39650ab-ddcf-4da7-965e-a0e5d44949ab",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "creationDate": "2024-01-15T15:05:36.280515+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-17",
                  "fee": 0,
                  "movementId": "e1715d31-d403-4ec5-85e4-7e41d0a3c69b",
                  "net": 1,
                  "payoutId": "d7cd6f62-1e56-4779-a48d-18977cdc643d",
                  "payoutReference": "PAYOUT-20240115150536-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PENDING",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                }
              }

              PAYOUT_CANCELED
              When an ongoing payout has been canceled.
              {
                "eventId": "9630cef4-e1f4-4f5d-811d-e361c4c30c78",
                "type": "PAYOUT_CANCELED",
                "creationDate": "2024-01-08T15:15:55.576036+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 1,
                  "automatic": false,
                  "cancelMovementId": "258e7c45-1d4f-48fc-a026-bebb8c10014e",
                  "cancellationDate": "2024-01-08T15:15:55.562863+01:00",
                  "creationDate": "2024-01-08T15:15:22.435232+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "expectedArrivalDate": "2024-01-10",
                  "fee": 0,
                  "merchantPayoutId": "Up_Test_Doc",
                  "movementId": "3d8c5417-2cc9-4c7d-9504-5446cac24e87",
                  "net": 1,
                  "payoutId": "d68c9005-8954-4d17-96f5-8435a81ace20",
                  "payoutReference": "PAYOUT-20240108151522-a00f7a69",
                  "payoutType": "SCT",
                  "status": "CANCEL",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "7b69dbff-59eb-489f-ac0a-9df343f2bd2a"
              }

              PAYOUT_PAID
              When an ongoing payout has been properly executed.
              {
                "eventId": "9a1df5b8-6b24-4274-ad52-1295999f4a6c",
                "type": "PAYOUT_PAID",
                "creationDate": "2024-01-30T11:29:15.965095+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 100,
                  "arrivalDate": "2024-01-30",
                  "automatic": true,
                  "creationDate": "2024-01-26T16:56:15.147347+01:00",
                  "currency": "EUR",
                  "destinationBankAccountId": "2377f038-d798-42b2-ac46-113105166bd4",
                  "expectedArrivalDate": "2024-01-28",
                  "fee": 0,
                  "movementId": "b4fafbb7-e73a-4a98-bc6b-f4c7dfee7104",
                  "net": 100,
                  "payoutId": "f88cab14-b73e-44fc-adcf-9cb1f4f4c43b",
                  "payoutReference": "PAYOUT-20240126165615-a00f7a69",
                  "payoutType": "SCT",
                  "status": "PAID",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "ceffc00e-a708-45fd-bc16-fe0999455e06"
              }

              PAYOUT_REVERSAL_CREATED
              When a payout reversal has been created

              Transaction par prélèvement

              Une fois les étapes de création et de signature de mandat réalisées, vous pouvez créer une transaction en prélèvement SEPA (Transaction SDD). Chaque transaction SDD sera liée au mandat correspondant.

              Pour créer des transactions SDD, vous avez plusieurs possibilités :

              1. Créer des transactions SDD individuelles : pour réaliser une ou plusieurs transactions SDD par API en complète autonomie
              2. Créer des transactions SDD via les modèles d’abonnement « Subscription » : pour réaliser X transactions selon une fréquence définie par un modèle d’abonnement (exemple : 50 € par mois pendant 12 mois).
              3. Créer des transactions SDD via le service de paiement fractionné « Installment » : pour fractionner une créance client en plusieurs transactions (exemple : 1000 € à régler en 3 fois avec un acompte de 500 €).

              1/ Transactions SDD individuelles

              Créez une « SDDTransaction »

              • Renseignez l’identifiant du mandat SEPA « mandateId »
              • Renseignez le montant de la transaction en centimes « amount »
              • Renseignez la devise EUR dans la propriété « currency »
              • Renseignez votre identifiant unique de transaction dans la propriété « endToEndIdentification »
              • Renseignez la description de la transaction dans la propriété « remittanceInformation » (cette donnée apparaitra sur le relevé de compte de vos clients)
              • Renseignez l’IP de votre client dans « endUserIp »
              • Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId »
              • Renseignez la date souhaitée de la transaction dans « requestedCollectionDate »

              Vous pouvez ensuite répéter l’opération à chaque échéance de prélèvement de votre client.

              [Optionnel] Demander au client une validation par SMS

              • Pour plus de sécurité, vous pouvez configurer un OTP pour la validation de chaque SDDTransaction : un OTP sera alors généré à la création et envoyé à votre client par SMS. Un sddTransactionId sera également généré à la création.
              • Par défaut, la validation des SDDTransaction est automatique.
              • Cette étape est nécessaire que si vous avez configuré une validation OTP pour la SDDTransaction
              • Récupérer auprès de votre client son code secret
              • Nous le transmettre, ainsi que le sddTransactionId.
              • Par cette action, la SDDTransaction sera considéré comme validé et sera donc effectuée.

              2/ Transactions SDD depuis les modèles d’abonnement « subscription »

              2.1/ Création

              Vous devez d’abord créer un Customer contenant au moins un Mandate.

              Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur.

              2.2/ Cas d’intégration spécifiques

              • Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une SDD Transaction seule, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription.
              • Si vous souhaitez simplement faire démarrer un abonnement à une date précise (ex : date d’entrée en vigueur de votre contrat), vous pouvez renseigner une date de démarrage (startingDate) dans l’objet Subscription.

              3/ Transactions SDD en paiement fractionné « Installment »

              3.1/ Création

              Vous devez d’abord créer un Customer contenant au moins un Mandate.

              Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

              The REFUND object

              REFUND_CREATED
              When a refund is created
                  {
                      "refundId": "3c349da5-c144-424b-bbdd-6f756b43c4ee",
                      "creationDate": "2021-09-08T09:40:42.140717+02:00",
                      "transactionId": "9c6ffb50-11cf-418c-9c9f-57a3fba20c20",
                      "clearingDate": null,
                      "cancellationDate": null,
                      "merchantRefundId": null,
                      "currency": "EUR",
                      "amount": 1,
                      "payoutCurrency": "EUR",
                      "payoutAmount": 1,
                      "commission": 0,
                      "fee": 0,
                      "description": "ma description",
                      "status": "UNCLEARED",
                      "movementId": "8981c46d-1e9e-4501-b78c-2d3e6e313fda",
                      "cancelMovementId": null,
                      "additionalData": []
                  }

              REFUND_CANCELED
              When a refund is cancelled
                  {
                      "refundId": "3c349da5-c144-424b-bbdd-6f756b43c4ee",
                      "creationDate": "2021-09-08T09:40:42.140717+02:00",
                      "transactionId": "9c6ffb50-11cf-418c-9c9f-57a3fba20c20",
                      "clearingDate": null,
                      "cancellationDate": "2021-09-08T09:40:42.646025+02:00",
                      "merchantRefundId": null,
                      "currency": "EUR",
                      "amount": 1,
                      "payoutCurrency": "EUR",
                      "payoutAmount": 1,
                      "commission": 0,
                      "fee": 0,
                      "description": "ma description",
                      "status": "CANCELED",
                      "movementId": "8981c46d-1e9e-4501-b78c-2d3e6e313fda",
                      "cancelMovementId": "b315d96f-8dc0-437d-af5f-729a8c0bb502",
                      "additionalData": []
                  }

              REFUND_UPDATED
              When a refund is updated

              R-transaction SDD

              1/ Remboursement de prélèvement SEPA

              Il n’est pour l’instant pas possible de réaliser un remboursement sur un prélèvement SEPA (date : 06/06/2024).

              Veuillez contacter CentralPay pour plus d’informations.

              2/ Rejet et contestations de prélèvement SEPA

              Les rejets et contestations de prélèvements SEPA sont émis par les banques de vos clients. Ils sont représentés dans votre compte CentralPay par les opérations « SDD Transaction Reversal ».

              Un rejet de prélèvement SEPA est émis par la banque avant la mise à disposition des fonds au créancier (sous 2 à 5 jours). Voici les principaux motifs de rejet des prélèvements SEPA Core :

              • Provisions insuffisantes : le compte bancaire du débiteur ne dispose pas de fonds suffisants pour réaliser l’opération.
              • Compte clôturé : le compte bancaire du débiteur a été fermé.
              • Coordonnées bancaires incorrectes : l’IBAN ou BIC utilisé est incorrect, ou le compte n’est pas en devise EUROS.

              Une contestation de prélèvement SEPA peut être émise par le débiteur jusqu’à 13 mois après l’opération. C’est le principal facteur de risque financier de ce moyen de paiement. Voici les principaux motifs de contestation des prélèvements SEPA Core :

              • Contestation de l’opération (sous 8 semaines max) : le mandat SEPA est valide, mais le client conteste l’opération auprès de sa banque pour quelconque motif. L’opération est entièrement remboursée et des frais de contestation sont applicables au créancier. Le délai est de 70 jours pour les banques hors de l’Union européenne ou de l’Espace Économique Européen.
              • Contestation pour absence de mandat (sous 13 mois max) : le mandat SEPA n’est pas valide (absence de mandat, mauvais signataire…), le client conteste les opérations réalisées. Les opérations sont entièrement remboursées et des frais de contestation sont applicables au créancier.

              Pour en savoir plus, consultez la liste complète des codes de rejets et contestation de prélèvement SEPA :

              Codes de retour SDD

              The SCT Transaction object

              SCT_TRANSACTION_CREATED
              When a sct transaction is created
              {
                "eventId": "283cb3c2-ddfd-4db2-aef7-df47e642d6b2",
                "type": "SCT_TRANSACTION_CREATED",
                "creationDate": "2024-01-08T16:03:10.536372+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB",
                  "status": "PENDING",
                  "transactionTransfers": []
                },
                "requestId": "f3ccb2bd-df53-4b50-b64a-5d503dda7440"
              }

              SCT_TRANSACTION_UPDATED
              When a sct transaction is updated
              {
                "eventId": "8057c6df-86d2-45e0-8cc9-9d2d7163ab99",
                "type": "SCT_TRANSACTION_UPDATED",
                "creationDate": "2024-01-08T16:03:44.760244+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": false,
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB         ",
                  "status": "PENDING",
                  "transactionTransfers": []
                },
                "requestId": "a40ff9c2-3285-4b1b-aee2-de5b21402ad1",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": false,
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB         ",
                  "status": "PENDING",
                  "transactionTransfers": []
                }
              }

              SCT_TRANSACTION_RECEIVED
              When a sct transaction is received
              {
                "eventId": "b6fef094-77d5-4230-8526-baa0fb4b10d6",
                "type": "SCT_TRANSACTION_RECEIVED",
                "creationDate": "2024-01-10T12:39:40.146639+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "CEAYFR22",
                    "iban": "FR7699999000019761523040665"
                  },
                  "bic": "CEAYFR22",
                  "commission": 0,
                  "creationDate": "2024-01-10T12:32:39.516605+01:00",
                  "currency": "EUR",
                  "debtorInfo": {
                    "address": {
                      "addressLines": [
                        "Direccion del ordenante",
                        "08010  BARCELONA"
                      ],
                      "country": "ES"
                    },
                    "name": "GUILLAUME MAXIMILIEN JACQUES PONSARD"
                  },
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "fee": 0,
                  "iban": "FR7699999000019761523040665",
                  "merchantSctTransactionId": "8srWEcIiIW",
                  "movementId": "25d7a3f4-a421-4dc7-8554-486bf801bade",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutAmount": 12345,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": true,
                  "processedDate": "2024-01-10T12:39:40.099911+01:00",
                  "receiptDate": "2024-01-10T12:39:40.099911+01:00",
                  "sctTransactionId": "4cbd9866-b723-4a3a-9bf8-b30382b91909",
                  "sepaReference": "ZCPTDW         ",
                  "status": "RECEIVED",
                  "transactionTransfers": []
                },
                "requestId": "4be1b982-107d-4133-bdb2-377afd4d7ae4"
              }

              SCT_TRANSACTION_CANCELED
              When a sct transaction is cancelled
              {
              {
                "eventId": "66cedcb4-091a-4023-beb8-d64f86438c73",
                "type": "SCT_TRANSACTION_CANCELED",
                "creationDate": "2024-01-08T16:03:57.125156+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12345,
                  "bankAccount": {
                    "bic": "AXABFRPP",
                    "iban": "FR7612548029980000000150086"
                  },
                  "bic": "AXABFRPP",
                  "cancellationDate": "2024-01-08T16:03:57.119857+01:00",
                  "creationDate": "2024-01-08T16:03:10.516099+01:00",
                  "currency": "EUR",
                  "description": "ma description",
                  "destinationBankAccountId": "ae909782-18d2-42dc-b9b7-9e3c38dac167",
                  "iban": "FR7612548029980000000150086",
                  "order": {
                    "firstName": "CORBEN",
                    "lastName": "DALLAS"
                  },
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "processed": false,
                  "refunds": [],
                  "sctTransactionId": "5b6ffc2f-126d-434f-bf3d-fd0364017192",
                  "sepaReference": "TOKWTB         ",
                  "status": "CANCELED",
                  "transactionTransfers": []
                },
                "requestId": "8aa84040-e72b-4e78-9149-0e5478d74b10"
              }
              }

              SCT_TRANSACTION_REVERSAL_CREATED
              When a sct transaction reversal is created
              {
                "eventId": "80544b1c-a167-4dd5-b493-166642e543fd",
                "type": "SCT_TRANSACTION_REVERSAL_CREATED",
                "creationDate": "2024-01-11T11:48:24.125374+01:00",
                "object": {
                  "amount": 12345,
                  "creationDate": "2024-01-11T11:48:24.116525+01:00",
                  "currency": "EUR",
                  "description": "Remboursement du client",
                  "sctTransactionId": "2cf657da-9431-4da2-9720-4b877a9b44ef",
                  "sctTransactionReversalId": "d5a11ee9-a598-4457-9ed8-e9a7961baaf7",
                  "status": "PENDING"
                },
                "requestId": "9ea9af82-921f-4b41-9de8-e461bc284849"
              }}

              SCT_TRANSACTION_REVERSAL_RECEIVED
              When a sct transaction reversal is received
              {
                "eventId": "180bfcfd-a46c-40e3-8d9c-e1eeb380d84f",
                "type": "SCT_TRANSACTION_REVERSAL_RECEIVED",
                "creationDate": "2024-01-30T12:38:45.221820+01:00",
                "object": {
                  "amount": 12345,
                  "creationDate": "2024-01-11T11:48:24.116525+01:00",
                  "currency": "EUR",
                  "description": "Remboursement du client",
                  "expectedAvailabilityDate": "2024-01-30",
                  "movementId": "ec5a1db6-af35-47ad-9387-9b37e7cc6053",
                  "sctTransactionId": "2cf657da-9431-4da2-9720-4b877a9b44ef",
                  "sctTransactionReversalId": "d5a11ee9-a598-4457-9ed8-e9a7961baaf7",
                  "status": "RECEIVED"
                },
                "requestId": "20319064-8dfb-453f-ab0b-d621055606d7"
              }

              SCT_TRANSACTION_REFUNDED_CANCELED
              When a sct transaction refund is cancelled

              SCT_TRANSACTION_REFUNDED_RECEIVED,
              When a sct transaction refund is received

              SCT_TRANSACTION_REFUNDED
              When a sct transaction reversal is created

              Retours, statuts et webhooks

              1/ Retours liés aux prélèvements SEPA

              Lorsqu’une transaction SDD (prélèvement SEPA) est rejetée, la banque de votre client adresse un code de rejet permettant d’en identifier la cause. Il faut principalement différencier les rejets (à l’initiative de la banque, ils sont reçus rapidement) des contestations (à l’initiative du client, elles peuvent être reçues plusieurs semaines ou mois après la transaction) :

              Contestations
              MD06 Opération contestée par le débiteur (peut être reçu jusqu’à 8 semaines après la transaction)
              MD01 Contestation pour absence de mandat (peut être reçu jusqu’à 13 mois après la transaction)
              SL01 ICS marchand blacklisté par le client via sa banque
              MS02Raison non communiquée (peut inclure des contestations ou des rejets)
              Rejets
              AM04 Provisions insuffisantes
              Tout autre codeRejets techniques divers (compte clôturé, bloqué, IBAN non atteignable…)
              Consulter la liste complète des codes de rejet SDD

              2/ Statuts liés aux prélèvements SEPA

              Statuts « SDD Transaction »

              Statuts SDD Transaction

              Statuts « Mandate »

              Statuts MANDATE

              Statuts « bankAccount »

              [à compléter]

              Statuts « Subscription »

              Statuts SUBSCRIPTION

              Statuts « Installment »

              Statuts INSTALLMENT

              3/ Webhooks liés aux prélèvements SEPA

              Webhooks « SDD Transaction »

              Webhooks SDD Transaction

              Webhooks « Mandate »

              Webhooks Mandate

              Webhooks « Bank Account »

              Webhooks BankAccount

              Webhooks « Customer »

              Webhooks Customer

              Webhooks « Subscription »

              Webhooks Subscription

              Webhooks « Installment »

              Webhooks Installment

              The SDD TRANSACTION object

              SDDTRANSACTION_CREATED
              When a SDD Transaction is created
              {
                "eventId": "bc6cb3b3-2960-4833-88a4-ddce9335fcbe",
                "type": "SDDTRANSACTION_CREATED",
                "creationDate": "2024-01-11T13:02:56.629960+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T13:02:56.373932+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "M6C+XE3H5",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                  "sequenceType": "RCUR",
                  "status": "PENDING",
                  "transactionTransfers": [],
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "27dd69d1-3789-4abc-9e9c-d6644c436f9b"
              }

              SDDTRANSACTION_CLEARED
              When a SDD Transaction is received
              {
                "eventId": "e54db468-ee08-4f61-83b2-c91b7c6a0c05",
                "type": "SDDTRANSACTION_CLEARED",
                "creationDate": "2024-01-11T14:30:59.249935+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "commission": 0,
                  "creationDate": "2024-01-11T14:28:41.754664+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "84J4ZDNEW",
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "movementId": "0a6ffbe5-f067-4c03-9f62-672cb46e312c",
                  "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                  "otpExpired": false,
                  "payoutAmount": 12,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                  "sequenceType": "RCUR",
                  "status": "CLEARED",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T14:30:56.448356+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "5a2c73f8-1a46-451c-9444-608cb8a1f92d"
              }

              SDDTRANSACTION_VALIDATED
              When a SDD Transaction is validated
              {
                "eventId": "2a21fd0e-19f2-469e-a80d-0300398f7d40",
                "type": "SDDTRANSACTION_VALIDATED",
                "creationDate": "2024-01-11T13:03:17.335248+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T13:02:56.373932+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "M6C+XE3H5",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                  "sequenceType": "RCUR",
                  "status": "ACTIVE",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T13:03:17.329335+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "3af961bc-140f-4630-bdda-cff9854484b0"
              }

              SDDTRANSACTION_CANCELED
              When a SDD Transaction is cancelled
              {
                "eventId": "894cf6da-e9d6-41b4-8504-d541c13dd7e5",
                "type": "SDDTRANSACTION_CANCELED",
                "creationDate": "2024-01-11T12:46:20.865252+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": true,
                  "cancellationDate": "2024-01-11T12:46:20.844829+01:00",
                  "creationDate": "2024-01-11T12:46:04.839313+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "2(OSAI,:P",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-23",
                  "sddTransactionId": "a5530b31-ef60-4511-adeb-18843f61ef81",
                  "sequenceType": "RCUR",
                  "status": "CANCELED",
                  "transactionTransfers": [],
                  "validationDate": "2024-01-11T12:46:04.839337+01:00",
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "3f82090d-f76b-4c3a-9d12-4befb22313e5"
              }

              SDDTRANSACTION_RENEWOTP
              When a request for an OTP renewal has been sent for an SSD transaction
              {
                "eventId": "fd352df9-2abc-43b8-a761-07e28375d4ff",
                "type": "SDDTRANSACTION_RENEWOTP",
                "creationDate": "2024-01-11T14:28:46.213454+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 12,
                  "automaticValidation": false,
                  "creationDate": "2024-01-11T14:28:41.754664+01:00",
                  "currency": "EUR",
                  "endToEndIdentification": "84J4ZDNEW",
                  "endUserIp": "245.100.1.15",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                  "otpExpired": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "remittanceInformation": "TEST",
                  "requestedCollectionDate": "2024-01-12",
                  "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                  "sequenceType": "RCUR",
                  "status": "PENDING",
                  "transactionTransfers": [],
                  "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                },
                "requestId": "85a68830-fa0f-41c9-8c80-d5c578f998f9"
              }

              SDDTRANSACTION_REVERSED_CREATED
              When a SDD Transaction reversal is created

              Informations générales

              Introduction

              L’initiation de paiement (ou Pay by Bank) permet d’adresser des demandes de virement à ses clients, directement dans leur application bancaire. CentralPay transmet le montant, l’IBAN bénéficiaire et la référence, afin qu’ils n’aient plus qu’à valider l’émission du virement.

              Que votre client ait émis un virement classique ou instantané, vous recevez immédiatement un avis de virement pour vous informer de son émission.

              Ce moyen de paiement constitue une bonne alternative, car il permet de contourner certaines problématiques propres aux cartes (plafond) ou aux virements (erreurs de références, délais de traitement).

              1/ Création d’une Initiation de paiement

              L’Initiation de paiement sera prochainement disponible depuis le service de demandes de paiement uniquement.

              Retours, statuts et webhooks

              1/ Retours liés aux Initiations de paiement

              [à compléter avec les codes de retour banque liés aux remboursements de SCT Transaction s’il en existe]

              2/ Statuts liés aux Initiations de paiement

              Statuts « Payment Request »

              Statuts Payment Request

              Statuts « SCT Transaction »

              Statuts SCT Transaction

              Statuts « Refund »

              Statuts Refund

              3/ Webhooks liés aux Initiations de paiement

              Webhooks « Payment Request »

              Webhooks Payment Request

              Webhooks « SCT Transaction »

              Webhooks SCT Transaction

              Webhooks « Refund »

              Webhooks Refund

              Webhooks « Customer »

              Webhooks Customer

              The MANDATE object

              MANDATE_CREATED
              When a mandate is created
              {
                "eventId": "ba739034-7e86-4280-9e19-b8d3be3f683c",
                "type": "MANDATE_CREATED",
                "creationDate": "2024-01-11T12:41:18.209916+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T12:41:17.403384+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+33600000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
                  "otpExpired": false,
                  "paymentType": "PUCT",
                  "rum": "GT20KDMVN",
                  "sddTransactions": [],
                  "status": "PENDING",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "800c83a7-d37b-4c33-9907-8874d5c7fa87"
              }

              MANDATE_SIGNED
              When a mandate is signed
              {
                "eventId": "d60f35d6-c20a-4317-9ea9-dc90fd4bcd1b",
                "type": "MANDATE_SIGNED",
                "creationDate": "2024-01-11T12:43:07.337387+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T12:41:17.403384+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+33600000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
                  "otpExpired": false,
                  "paymentType": "PUCT",
                  "pdfFileId": "7b8d75bd-8f09-400d-af9c-c8787a0858fc",
                  "rum": "GT20KDMVN",
                  "sddTransactions": [],
                  "signatureCity": "TOURS",
                  "signatureDate": "2024-01-11T12:43:06.838810+01:00",
                  "signatureIpAddress": "245.100.1.15",
                  "status": "ACTIVE",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "4c40f8ba-94fd-433c-b7eb-71bbad68f51a"
              }

              MANDATE_OBSOLETED
              When a mandate is obsolete
              {
                "eventId": "8961d9a3-1b38-4275-9ef7-1c3f9dc993e9",
                "type": "MANDATE_OBSOLETED",
                "creationDate": "2024-01-11T14:34:29.346268+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T12:41:17.403384+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+3300000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                  "obsolescenceDate": "2024-01-11T14:34:29.315888+01:00",
                  "otpExpirationDate": "2024-01-11T12:56:17.403395+01:00",
                  "otpExpired": true,
                  "paymentType": "PUCT",
                  "pdfFileId": "7b8d75bd-8f09-400d-af9c-c8787a0858fc",
                  "rum": "GT20KDMVN",
                  "sddTransactions": [
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": true,
                      "cancellationDate": "2024-01-11T12:46:20.844829+01:00",
                      "creationDate": "2024-01-11T12:46:04.839313+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "2(OSAI,:P",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpired": false,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-23",
                      "sddTransactionId": "a5530b31-ef60-4511-adeb-18843f61ef81",
                      "sequenceType": "RCUR",
                      "status": "CANCELED",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T12:46:04.839337+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": true,
                      "creationDate": "2024-01-11T12:46:27.952977+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "MUPXTJXVK",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpired": false,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-23",
                      "sddTransactionId": "3b781c44-ca15-4cbf-a529-f73e9c9fb0cf",
                      "sequenceType": "RCUR",
                      "status": "ACTIVE",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T12:46:27.953004+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": true,
                      "creationDate": "2024-01-11T12:53:09.201843+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "7C28543RZ",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpired": false,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-12",
                      "sddTransactionId": "af2e9240-d58f-478d-8e64-d8041ac882e0",
                      "sequenceType": "RCUR",
                      "status": "ACTIVE",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T12:53:09.201871+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": false,
                      "creationDate": "2024-01-11T13:02:56.373932+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "M6C+XE3H5",
                      "endUserIp": "245.100.1.15",
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "otpExpirationDate": "2024-01-11T13:17:56.374014+01:00",
                      "otpExpired": true,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-12",
                      "sddTransactionId": "96747d6a-e6e3-4d8e-97cf-22f3e407a57e",
                      "sequenceType": "RCUR",
                      "status": "ACTIVE",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T13:03:17.329335+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    },
                    {
                      "additionalData": {},
                      "amount": 12,
                      "automaticValidation": false,
                      "commission": 0,
                      "creationDate": "2024-01-11T14:28:41.754664+01:00",
                      "currency": "EUR",
                      "endToEndIdentification": "84J4ZDNEW",
                      "endUserIp": "245.100.1.15",
                      "fee": 0,
                      "mandateId": "f4d63345-b84c-47d3-ad65-bd8cb255dc8a",
                      "movementId": "0a6ffbe5-f067-4c03-9f62-672cb46e312c",
                      "otpExpirationDate": "2024-01-11T14:43:46.129105+01:00",
                      "otpExpired": false,
                      "payoutAmount": 12,
                      "payoutCurrency": "EUR",
                      "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                      "remittanceInformation": "TEST",
                      "requestedCollectionDate": "2024-01-12",
                      "sddTransactionId": "f6f5ddbc-1e4c-499c-bee2-0aaa6190a698",
                      "sequenceType": "RCUR",
                      "status": "CLEARED",
                      "transactionTransfers": [],
                      "validationDate": "2024-01-11T14:30:56.448356+01:00",
                      "walletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050"
                    }
                  ],
                  "signatureCity": "TOURS",
                  "signatureDate": "2024-01-11T12:43:06.838810+01:00",
                  "signatureIpAddress": "245.100.1.15",
                  "status": "OBSOLETE",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "8d56fb75-1ce2-458b-b057-e8722ec22427"
              }

              MANDATE_RENEWOTP
              When a request for an OTP renewal has been sent for an mandate
              {
                "eventId": "8f103a2e-8e05-4af7-9b57-a76dc3fe1b48",
                "type": "MANDATE_RENEWOTP",
                "creationDate": "2024-01-11T14:34:56.606277+01:00",
                "object": {
                  "additionalData": {},
                  "creationDate": "2024-01-11T14:34:36.412083+01:00",
                  "creditorBankAccountId": "d33c400b-9338-4916-a4ca-e8affcfd9ebc",
                  "customerId": "78497f3c-baf4-42ae-92e2-cc0cfdd69c2c",
                  "debtorBankAccountId": "053c0160-9b62-4424-aaf7-6f74e6d5f7f6",
                  "debtorEmail": "gduhamel@centralpay.eu",
                  "debtorPhone": "+3300000000",
                  "description": "ma description",
                  "language": "fre",
                  "mandateId": "ffc24f5a-f43a-4e9f-b4f9-1d7d1b87a46c",
                  "otpExpirationDate": "2024-01-11T14:49:56.133201+01:00",
                  "otpExpired": false,
                  "paymentType": "PUCT",
                  "rum": "YRHCV3K37",
                  "sddTransactions": [],
                  "status": "PENDING",
                  "ultimateCreditorIdentityId": "2df8d9cd-afcc-47dd-8593-560028b66f50"
                },
                "requestId": "a427c5b9-dbf4-4cb2-b9a5-bdf76418901b"
              }

              The SUBSCRIPTION object

              SUBSCRIPTIONMODEL_CREATED
              When a Subscription model is created
              {
                "eventId": "396d5bf8-f494-4ba6-91ef-29bd6be595b1",
                "type": "SUBSCRIPTIONMODEL_CREATED",
                "creationDate": "2024-01-08T11:56:53.360135+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T11:56:53.353430+01:00",
                  "currency": "EUR",
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 12,
                  "name": "Test Abo",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
                },
                "requestId": "9dd48255-2b54-40bb-bd38-dfeac5d0535b"
              }

              SUBSCRIPTIONMODEL_UPDATED
              When a Subscription model is updated
              {
                "eventId": "d00f3f00-b2d6-4de4-8c41-a106b88054b9",
                "type": "SUBSCRIPTIONMODEL_UPDATED",
                "creationDate": "2024-01-08T11:58:22.826908+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T11:56:53.353430+01:00",
                  "currency": "EUR",
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 12,
                  "name": "CPMInnn",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
                },
                "requestId": "4bc97650-9a0e-4032-ba46-8088c1e31b0b",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T11:56:53.353430+01:00",
                  "currency": "EUR",
                  "intervalCount": 1,
                  "intervalUnit": "MONTH",
                  "iterationCount": 12,
                  "name": "Test Abo",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "subscriptionModelId": "50eeed1d-b908-4fc3-8863-466a733b272c"
                }
              }

              SUBSCRIPTION_CREATED
              When a Subscription is created
              {
                "eventId": "f87999fa-ab71-4a57-bc1f-b360670ef593",
                "type": "SUBSCRIPTION_CREATED",
                "creationDate": "2024-01-08T12:24:12.821583+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "Gauthier refapi",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "ACTIVE",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                },
                "requestId": "c66d38ac-5f7d-4a52-840c-ebadade3bf4f"
              }

              SUBSCRIPTION_FAILED
              When a Subscription failed
              {
                "eventId": "3c8ca51e-aa44-41ca-ad24-872a86ed35ee",
                "type": "SUBSCRIPTION_FAILED",
                "creationDate": "2024-01-15T11:59:56.223023+01:00",
                "object": {
                  "additionalData": {},
                  "cancelAtPeriodEnd": false,
                  "cancellationDate": "2024-01-15T11:59:55.877297+01:00",
                  "cardId": "0a6b2fdc-85e4-4ffa-bffa-0ae276e11aa3",
                  "creationDate": "2024-01-15T11:59:52.983206+01:00",
                  "currentPeriodEnd": "2024-01-15",
                  "currentPeriodStart": "2024-01-15",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "endUserIp": "245.100.1.15",
                  "endingDate": "2024-01-15",
                  "expectedEndingDate": "2025-01-14",
                  "lastInvoice": {
                    "additionalData": {},
                    "amount": 10000,
                    "attemptCount": 1,
                    "closed": true,
                    "creationDate": "2024-01-15T11:59:53.614864+01:00",
                    "currency": "EUR",
                    "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                    "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                    "invoiceItems": [
                      {
                        "additionalData": {},
                        "amount": 10000,
                        "creationDate": "2024-01-15T11:59:53.357382+01:00",
                        "currency": "EUR",
                        "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                        "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                        "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                        "quantity": 1,
                        "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                        "totalAmount": 10000,
                        "type": "SUBSCRIPTION"
                      }
                    ],
                    "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                    "paid": false,
                    "sddTransactions": [],
                    "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                    "transactions": [
                      "19b41977-e973-4dd9-846e-5777459196a5"
                    ],
                    "transfers": [],
                    "type": "SUBSCRIPTION"
                  },
                  "merchantSubscriptionId": "Test refapi gogo",
                  "quantity": 1,
                  "startingDate": "2024-01-15",
                  "status": "CANCELED",
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:02:53.061463+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test Abo",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
                  }
                },
                "requestId": "ac2cae53-8d39-4e5a-8098-bcf0ab55a7cc"
              }

              SUBSCRIPTION_UPDATED
              When a Subscription is updated
              {
                "eventId": "3da295c6-403e-4080-9398-9cebf7efbc37",
                "type": "SUBSCRIPTION_UPDATED",
                "creationDate": "2024-01-08T12:25:27.579680+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "TEST001",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "ACTIVE",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                },
                "requestId": "10797b88-f4ff-48f5-bc79-c417333b92d5",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "Gauthier refapi",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "ACTIVE",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                }
              }

              SUBSCRIPTION_CANCELED
              When a Subscription is cancelled
              {
                "eventId": "298e5eae-4447-4981-932e-633adbb97e5f",
                "type": "SUBSCRIPTION_CANCELED",
                "creationDate": "2024-01-08T12:26:46.705238+01:00",
                "object": {
                  "additionalData": {},
                  "cancelAtPeriodEnd": false,
                  "cancellationDate": "2024-01-08T12:26:46.701626+01:00",
                  "cardId": "8750301a-f2ae-4447-8a3a-62e37675e1ca",
                  "creationDate": "2024-01-08T12:24:12.700858+01:00",
                  "currentPeriodEnd": "2024-01-08",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "endUserIp": "245.100.1.15",
                  "endingDate": "2024-01-08",
                  "expectedEndingDate": "2025-01-09",
                  "merchantSubscriptionId": "TEST001",
                  "quantity": 1,
                  "startingDate": "2024-01-10",
                  "status": "CANCELED",
                  "subscriptionId": "c64ba2e5-a0b1-43e2-867a-27555c355331",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 100,
                    "creationDate": "2024-01-08T12:20:23.305903+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test refapi",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "e16a35bf-ca34-48b7-9726-139c15e89fa9"
                  }
                },
                "requestId": "bd8f1a27-bae3-4cfd-8471-7f6e878c6dc7"
              }

              SUBSCRIPTION_ACTIVE
              When a Subscription is active

              SUBSCRIPTION_FAILURE
              When a Subscription failed to be paid
              {
                "eventId": "22c7c038-2aa4-4550-9fd0-27e5395c250d",
                "type": "SUBSCRIPTION_FAILURE",
                "creationDate": "2024-01-15T11:59:55.661209+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "0a6b2fdc-85e4-4ffa-bffa-0ae276e11aa3",
                  "creationDate": "2024-01-15T11:59:52.983206+01:00",
                  "currentPeriodEnd": "2024-02-14",
                  "currentPeriodStart": "2024-01-15",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "endUserIp": "245.100.1.15",
                  "expectedEndingDate": "2025-01-14",
                  "lastInvoice": {
                    "additionalData": {},
                    "amount": 10000,
                    "attemptCount": 1,
                    "closed": false,
                    "creationDate": "2024-01-15T11:59:53.614864+01:00",
                    "currency": "EUR",
                    "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                    "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                    "invoiceItems": [
                      {
                        "additionalData": {},
                        "amount": 10000,
                        "creationDate": "2024-01-15T11:59:53.357382+01:00",
                        "currency": "EUR",
                        "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                        "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                        "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                        "quantity": 1,
                        "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                        "totalAmount": 10000,
                        "type": "SUBSCRIPTION"
                      }
                    ],
                    "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                    "paid": false,
                    "sddTransactions": [],
                    "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                    "transactions": [
                      "19b41977-e973-4dd9-846e-5777459196a5"
                    ],
                    "transfers": [],
                    "type": "SUBSCRIPTION"
                  },
                  "merchantSubscriptionId": "Test refapi gogo",
                  "quantity": 1,
                  "startingDate": "2024-01-15",
                  "status": "FAILURE",
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:02:53.061463+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test Abo",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
                  }
                },
                "requestId": "1c35bbaf-0f37-44e1-a7e5-c3f10be0a9a4"
              }

              SUBSCRIPTION_UNPAID
              When a Subscription is unpaid

              SUBSCRIPTION_REACTIVATED
              When a Subscription is reactivated
              {
                "eventId": "536eb70e-cb79-44a6-be28-4384445583c2",
                "type": "SUBSCRIPTION_REACTIVATED",
                "creationDate": "2024-01-11T15:12:05.092897+01:00",
                "object": {
                  "additionalData": {},
                  "cardId": "7d5f52b0-ef15-4a04-9c06-c4a9ac76f4bf",
                  "creationDate": "2024-01-11T15:11:29.487853+01:00",
                  "currentPeriodEnd": "2024-02-10",
                  "currentPeriodStart": "2024-01-11",
                  "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                  "endUserIp": "245.100.1.15",
                  "lastInvoice": {
                    "additionalData": {},
                    "amount": 10000,
                    "attemptCount": 1,
                    "closed": true,
                    "creationDate": "2024-01-11T15:11:30.057522+01:00",
                    "currency": "EUR",
                    "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                    "invoiceId": "94185799-1ac6-4206-8df2-006043d0e2a9",
                    "invoiceItems": [
                      {
                        "additionalData": {},
                        "amount": 10000,
                        "creationDate": "2024-01-11T15:11:29.798622+01:00",
                        "currency": "EUR",
                        "customerId": "dc9623bd-3f3a-4d79-8ae2-0e6b3ebe367d",
                        "invoiceId": "94185799-1ac6-4206-8df2-006043d0e2a9",
                        "invoiceItemId": "cd4325ca-4f61-4886-98c6-a524682ee0e2",
                        "quantity": 1,
                        "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                        "totalAmount": 10000,
                        "type": "SUBSCRIPTION"
                      }
                    ],
                    "paid": true,
                    "sddTransactions": [],
                    "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                    "transactions": [
                      "3f462466-4a71-480c-b062-e2023ee99b17"
                    ],
                    "transfers": [],
                    "type": "SUBSCRIPTION"
                  },
                  "merchantSubscriptionId": "Test refapi gogo",
                  "quantity": 1,
                  "startingDate": "2024-01-11",
                  "status": "ACTIVE",
                  "subscriptionId": "cb2a2422-2a4d-4818-9647-02107e69f98b",
                  "subscriptionModel": {
                    "additionalData": {},
                    "amount": 10000,
                    "creationDate": "2024-01-11T15:02:53.061463+01:00",
                    "currency": "EUR",
                    "intervalCount": 1,
                    "intervalUnit": "MONTH",
                    "iterationCount": 12,
                    "name": "Test Abo",
                    "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                    "subscriptionModelId": "7cd1b504-bed3-4435-84be-2e19f2c8e2f6"
                  }
                },
                "requestId": "69ac4f1d-059b-4065-adc2-90f0eb6a98ab"
              }

              INVOICEITEM_CREATED
              When an invoice item is created
              {
                "eventId": "6167d379-fb95-4425-8e9b-af74f4235bfc",
                "type": "INVOICEITEM_CREATED",
                "creationDate": "2024-01-08T12:30:46.157764+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:30:46.131739+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                  "quantity": 3,
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                },
                "requestId": "d7cd40bd-88de-4956-9c42-baf5a0549f1b"
              }

              INVOICEITEM_UPDATED
              When an invoice item is updated
              {
                "eventId": "353dd2fd-934e-4a20-9f12-b47bf213a35c",
                "type": "INVOICEITEM_UPDATED",
                "creationDate": "2024-01-15T10:59:30.750004+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:44:49.815091+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
                  "quantity": 2,
                  "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
                  "totalAmount": 20000,
                  "type": "MANUAL"
                },
                "requestId": "9678a75a-aa0c-4023-8d2a-56b56dfeae87",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:44:49.815091+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
                  "quantity": 3,
                  "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
                  "totalAmount": 30000,
                  "type": "MANUAL"
                }
              }

              INVOICEITEM_DELETED
              When an invoice item is deleted
              {
                "eventId": "ae992cbd-d82f-495a-b7b7-4627dc9806e8",
                "type": "INVOICEITEM_DELETED",
                "creationDate": "2024-01-15T11:00:04.748878+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "creationDate": "2024-01-08T12:44:49.815091+01:00",
                  "currency": "EUR",
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "invoiceItemId": "292c516b-e320-4391-995a-b4a1205e0e47",
                  "quantity": 2,
                  "subscriptionId": "5b217597-213f-4bf3-b94b-6749e499cf98",
                  "totalAmount": 20000,
                  "type": "MANUAL"
                },
                "requestId": "fe0e462f-81d9-4640-abbd-ce6c914432b6"
              }

              INVOICE_CREATED
              When an invoice is created
              {
                "eventId": "59df2504-3ab7-46c3-8469-0957d579b014",
                "type": "INVOICE_CREATED",
                "creationDate": "2024-01-08T12:31:18.271671+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "1b51631e-d6d7-4632-bc8f-c67bd6f52729"
              }

              INVOICE_UPDATED
              When an invoice is updated
              {
              {
                "eventId": "3c63e5da-1bce-4c5c-9dfc-1a206fda69a7",
                "type": "INVOICE_UPDATED",
                "creationDate": "2024-01-08T12:31:25.469957+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "176cf4e9-4669-473c-a9cb-f102fd6aa2ab",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                }
              }
              }

              INVOICE_CLOSED
              When an invoice is closed
              {
                "eventId": "32cc898a-112f-43fd-921e-be8613d85b73",
                "type": "INVOICE_CLOSED",
                "creationDate": "2024-01-08T12:31:33.554755+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": true,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "36e1f1c0-b08b-41e1-a35b-bc0942b084f7"
              }

              INVOICE_REOPEN
              When an invoice is reopen
              {
                "eventId": "c3e22524-8677-447f-9c70-caee15bdb31a",
                "type": "INVOICE_REOPEN",
                "creationDate": "2024-01-08T12:31:38.069325+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": false,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-09T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "7ef43ab1-2249-43b2-834e-dcad31d609a5"
              }

              INVOICE_TRANSACTION_SUCCEEDED
              When an invoice transaction succeeded
              {
                "eventId": "58b1922a-a959-43c3-aeea-784f6970586c",
                "type": "INVOICE_TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-08T12:31:48.444350+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 30000,
                  "attemptCount": 0,
                  "closed": true,
                  "creationDate": "2024-01-08T12:31:18.264645+01:00",
                  "currency": "EUR",
                  "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                  "description": "ma description",
                  "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-08T12:30:46.131739+01:00",
                      "currency": "EUR",
                      "customerId": "06e3819c-9e15-42db-9194-74d5924b53e3",
                      "invoiceId": "6c031228-131c-453a-8dbf-4623a033c01e",
                      "invoiceItemId": "c911bfdd-3686-4e5b-8abf-d3c44fa369a3",
                      "quantity": 3,
                      "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                      "totalAmount": 30000,
                      "type": "MANUAL"
                    }
                  ],
                  "paid": true,
                  "sddTransactions": [],
                  "subscriptionId": "a35ba09e-58ea-4d5c-8207-1a5d11f32fd3",
                  "transactions": [
                    "67cfc05b-d06c-4f2b-8aec-2033e0c61478"
                  ],
                  "transfers": [],
                  "type": "MANUAL"
                },
                "requestId": "01fb7049-bd27-4ec0-846d-605c352bd2f9"
              }

              INVOICE_TRANSACTION_FAILED
              When an invoice transaction failed
              {
                "eventId": "23ef2df3-0e6d-4397-b877-aba2acea2ed1",
                "type": "INVOICE_TRANSACTION_FAILED",
                "creationDate": "2024-01-15T11:59:55.647989+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 10000,
                  "attemptCount": 1,
                  "closed": false,
                  "creationDate": "2024-01-15T11:59:53.614864+01:00",
                  "currency": "EUR",
                  "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                  "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                  "invoiceItems": [
                    {
                      "additionalData": {},
                      "amount": 10000,
                      "creationDate": "2024-01-15T11:59:53.357382+01:00",
                      "currency": "EUR",
                      "customerId": "947a99f7-308c-46a0-b6be-aed82d39a53c",
                      "invoiceId": "e0909ca3-a337-43ce-9769-d65e927b3a47",
                      "invoiceItemId": "0c153918-5128-4ecb-8570-7c9f71a500ec",
                      "quantity": 1,
                      "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                      "totalAmount": 10000,
                      "type": "SUBSCRIPTION"
                    }
                  ],
                  "nextTransactionAttempt": "2024-01-18T06:00:04+01:00",
                  "paid": false,
                  "sddTransactions": [],
                  "subscriptionId": "55cb6ba8-3d9b-4bc9-96c9-b478b576d306",
                  "transactions": [
                    "19b41977-e973-4dd9-846e-5777459196a5"
                  ],
                  "transfers": [],
                  "type": "SUBSCRIPTION"
                },
                "requestId": "1c35bbaf-0f37-44e1-a7e5-c3f10be0a9a4"
              }

              Abonnement

              Introduction

              Le service d’abonnement vous permet se réaliser automatiquement des transactions récurrentes sur vos profils clients en se basant sur un modèle d’abonnement défini en amont depuis l’API CentralPay ou le Portail utilisateur. Il est ensuite possible d’ajouter des échéances ou de modifier leur montant à la volée depuis les services Invoice & Invoice Item.

              Ce service permet de générer soit des transactions carte, soit des transactions SDD (prélèvement SEPA).

              Définitions utiles pour cette section :

              – SubscriptionModel : 
              modèle d’abonnement (définissant le montant et la fréquence d’abonnement)

              – Subscription : 
              abonnement appliqué à un client

              – Invoice : 
              facture, option à utiliser si vous devez modifier la valeur à l’intérieur d’un plan d’abonnement

              – InvoiceItem : 
              ligne ou article inclus dans la facture. Une facture a potentiellement plusieurs lignes ou éléments
              Le service "Subscription" n'est pas le seul moyen de réaliser des transactions récurrentes. 
              Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement.

              1/ Créer un modèle d’abonnement (subscriptionModel)

              • Accès modèles d’abonnements – Portail utilisateur de RCT
              • Accès modèles d’abonnements – Portail utilisateur de PROD

              Le subcriptionModel vous permet de pouvoir créer différents types d’abonnements en fonction de vos services proposés. Par exemple, si vous avez à votre disposition deux types d’offre d’abonnement, le premier en utilisant les caractéristiques de base de votre service et l’autre en utilisant les fonctionnalités avancées, vous allez devoir créer deux modèles :

              • Un pour l’offre d’abonnement « basique »
              • Un pour l’offre d’abonnement « avancé »

              Chaque « SubscriptionModel » possède un ID unique. Vous fournirez cet identifiant dans vos requêtes API lorsque vous souhaiterez appliquer un abonnement à un client sur la base de ce modèle.

              Vous pouvez utiliser les attributs suivants :

              • amount : montant à renseigner en centimes
              • intervalUnit : DAY / WEEK / MONTH / YEAR (jour / semaine / mois / année)
              • intervalCount : nombre de « intervalUnit » entre deux échéances (ex : si intervalUnit = DAY et intervalCount = 10, alors il y aura une transaction tous les 10 jours).
              • iterationCount : nombre d’échéances (attention la première transaction n’est pas comptabilisée dans ce paramètre, elle s’ajoute donc à ce nombre).

              Exemple :

              • amount = 3000
              • intervalUnit = DAY
              • intervalCount = 3
              • iterationCount = 3

              Ainsi votre modèle d’abonnement sera configuré pour facturer à votre client 30,00 EUR tous les 3 jours pendant 4 échéances (pour un total d’un abonnement de 12 Jours).

              2/ Créer un abonnement (subscription)

              Pour créer un abonnement, vous devez d’abord créer un Customer contenant au moins :

              • une Card (si vous souhaitez opérer des transactions carte)
              • ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA).

              Vous pouvez ensuite créer une Subscription :

              • Selon le moyen de paiement souhaité :
                • pour des transactions carte : renseignez l’identifiant du profil client « customerId »
                • pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate »
                • pour des transactions entre comptes CentralPay : renseignez l’identifiant du compte émetteur « walletId »
              • Renseignez l’identifiant du modèle d’abonnement « subscriptionModelId »
              • Renseignez l’IP de votre client dans « endUserIp »
              • Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId »

              Notez qu’à la création d’un abonnement, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire ou son mandat SEPA et de résilier un abonnement si besoin est.

              Un client pouvant à tout moment résilier son abonnement depuis le portail client mis à sa disposition. Veillez à vous inscrire aux webhooks d'annulation d'abonnement. Si votre abonnement comprend une période d'engagement, il est préférable d'utiliser la méthode d'abonnement par transactions successives, ou demander à CentralPay de ne pas diffuser le lien vers le portail client.

              3/ Automatisation des nouvelles tentatives en cas d’échec

              En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur.

              • Accès paramétrages abonnements – Portail utilisateur de RCT
              • Accès paramétrages abonnements – Portail utilisateur de PROD

              Comportement des champs :

              • Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay
                • Sélection d’une valeur de 4 à 23
              • 1er échec de paiement de facture : comportement en cas d’un premier échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale
                • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
              • 2nd échec de paiement de facture : comportement en cas d’un deuxième échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
                • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
              • 3eme échec de paiement de facture : comportement en cas d’un troisième échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
                • Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes.
              • Action finale : comportement si les actions précédentes ont échoué
                • CANCELED = Annulation de l’abonnement (modification du statut de l’abonnement en CANCELED)
                • FAILURE = Échec de l’abonnement (modification du statut de l’abonnement en FAILURE)
                • UNPAID = Abonnement impayé (modification du statut de l’abonnement en FAILURE + envoi de hook SUBSCRIPTION_UNPAID)

              4/ Fonctions d’annulation des abonnements

              Il existe deux fonctions d’annulation d’abonnement depuis l’API, le Portail Utilisateur ou le Portail Client :

              • Annuler : l’abonnement est annulé immédiatement
              • Annuler en fin de période : l’abonnement sera annulé à la fin de l’échéance en cours (afin de laisser l’abonné bénéficier de votre service durant sa dernière période payée). Par API, vous devrez renseigner le champ « atPeriodEnd ».
                • Note : Durant ce laps de temps, vous pouvez réactiver l’abonnement avec le service « reactivate » des Subscription.
              Les abonnements dont l'ensemble des échéances ont été réalisées passent automatiquement en statut CANCELED.

              5/ Modifier le montant d’une échéance d’abonnement

              CentralPay crée un invoice pour chaque échéance d’un abonnement (Subscription), selon le modèle d’abonnement associé (subscriptionModel).

              Vous pouvez procéder à des actions manuelles à n’importe quel moment pour modifier les échéances (invoice) d’un abonnement (subscription). Vous trouverez ci-dessous une liste d’actions possibles :

              • Modifier le montant d’une échéance : Le service invoiceItem vous permet de modifier le montant d’une échéance (invoice) en renseignant un montant positif ou négatif qui s’additionnera au montant initial de l’échéance. L’invoiceItem sera pris en compte lors de la prochaine échéance de l’abonnement, qu’elle soit créée manuellement ou automatiquement. Vous avez également la possibilité de spécifier une échéance donnée dans votre requête en renseignant un invoiceId.
              • Créer une échéance supplémentaire : les échéances (invoice) dites « périodiques » sont créées automatiquement selon votre subscriptionModel. Vous avez la possibilité de créer d’autres échéances ponctuelles sur votre abonnement en créant une invoice.
              • Supprimer un invoiceItem non traité : s’il n’est pas encore lié à une facture
              • Fermer une échéance à venir : si vous souhaitez que CentralPay ne réalise pas le prélèvement d’une échéance (et/ou ses nouvelles tentatives automatiques), vous pouvez fermer cette dernière depuis le service « close » de l’invoice. Au besoin vous pourrez rouvrir cette échéance via le service « reopen » de l’invoice, si elle n’a pas été payée ou qu’il reste des nouvelles tentatives programmées.
              • Forcer le paiement d’une échéance : les transactions sont effectuées automatiquement par le service d’abonnement, vous pouvez cependant initier la transaction en avance ou réaliser une nouvelle tentative manuellement avec le service « pay » de l’invoice. Ces paiements « manuels » ne sont pas comptabilisés par le système de nouvelles tentatives automatisées. Cette action peut être effectuée sur une facture fermée.

              6/ Schéma complet de création d’un abonnement

              The TRANSACTION object

              TRANSACTION_SUCCEEDED
              When a transaction has been approved by the issuing bank
              {
                "eventId": "4774dddc-7163-40f9-a6e0-72cd52abad19",
                "type": "TRANSACTION_SUCCEEDED",
                "creationDate": "2024-01-05T14:43:21.487036+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 3600000,
                  "amountRefunded": 0,
                  "archivingReference": "5MS7NOWFGWSR",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "0ee6bd7e-3e74-454d-a62b-120db043714d",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-05T14:43:21.355125+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:43:19.909652+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "899287b0-a0a5-413c-8be8-bc3d794ba96a",
                  "order": {
                    "cardholderEmail": "GDU-Solon40@gmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 3600000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Clemens7@yahoo.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "aa42bd28-5a34-47e4-87b0-3d25375be798",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "3d82de99-2346-4eef-a30b-68e7efe5acd1"
              }

              TRANSACTION_CANCELED
              When a transaction is cancelled
              {
                "eventId": "2ed7535a-8d07-4502-aea8-d755c5584962",
                "type": "TRANSACTION_CANCELED",
                "creationDate": "2024-01-11T14:51:53.615072+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "amount": 10,
                  "amountCaptured": 10,
                  "amountRefunded": 0,
                  "archivingReference": "TSMEGRM4XQSN",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "82dbefb7-2a49-4cf9-a10a-953e0fefd89b",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "cancelMovementId": "36238731-363a-4f30-913e-7a9b9defdd33",
                  "captureCancellationDate": "2024-01-11T14:51:53.583865+01:00",
                  "captureDate": "2024-01-11T14:50:33.400938+01:00",
                  "captureStatus": "CANCELED",
                  "card": {
                    "additionalData": {},
                    "cardId": "0f72740b-3a97-436b-aa78-9ac30308d404",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-11T14:50:31.216307+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 12,
                    "expirationYear": 2026,
                    "fingerprint": "31e7053d8ee3f13b4f391c989d83aaaa7771450d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-11T14:50:32.194359+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "36d934c8-de2f-43df-be49-a4f058c6c0ba",
                  "order": {
                    "addressLine1": "ADRESSE",
                    "cardCountry": "FRA",
                    "city": "PARIS",
                    "country": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 10,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 10,
                  "transactionId": "2fbdd1ad-99e1-4fb6-a5f9-06239d7ef1a1",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [
                    {
                      "amount": 1,
                      "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                      "escrowDate": "2024-01-15",
                      "fee": 0,
                      "merchantTransferId": "MRI_CODE"
                    }
                  ],
                  "withCvv": true
                },
                "requestId": "2631c3f5-65cb-441f-9cb7-14dcf2c8d128"
              }

              TRANSACTION_CAPTURED
              When a transaction is sent to the clearing and will be debited
              {
                "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5",
                "type": "TRANSACTION_CAPTURED",
                "creationDate": "2024-01-05T14:43:21.513924+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 3600000,
                  "amountRefunded": 0,
                  "archivingReference": "5MS7NOWFGWSR",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "0ee6bd7e-3e74-454d-a62b-120db043714d",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-05T14:43:21.355125+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:43:19.909652+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "899287b0-a0a5-413c-8be8-bc3d794ba96a",
                  "order": {
                    "cardholderEmail": "GDU-Solon40@gmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 3600000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Clemens7@yahoo.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "aa42bd28-5a34-47e4-87b0-3d25375be798",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "3d82de99-2346-4eef-a30b-68e7efe5acd1"
              }

              TRANSACTION_EXPIRED
              When a transaction is expired
              {
                "eventId": "9a93ea00-42cc-4555-ad29-24daa2ec5fbe",
                "type": "TRANSACTION_EXPIRED",
                "creationDate": "2024-02-01T00:30:07.148454+01:00",
                "object": {
                  "transactionId": "87b40109-0de5-454d-acf4-dfa51f23d15b",
                  "creationDate": "2024-01-30T14:20:47.062768+01:00",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "merchantTransactionId": null,
                  "archivingReference": "YB6J5BGOC4TF",
                  "transactionStatus": "SUCCESS",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "authorizationCode": "000000",
                  "riskScore": null,
                  "source": "EC",
                  "description": null,
                  "currency": "EUR",
                  "payoutCurrency": "EUR",
                  "payoutAmount": null,
                  "commission": null,
                  "fee": 0,
                  "amount": 36000,
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "partialAuthorizedAmount": null,
                  "totalAmount": 36000,
                  "card": {
                    "cardId": "4970cff8-a3eb-4b7a-9f8e-6a4156c08cec",
                    "creationDate": "2024-01-30T14:20:45.679621+01:00",
                    "customerId": null,
                    "cardTokenId": null,
                    "infoId": null,
                    "merchantCardId": null,
                    "commercialBrand": "VISA",
                    "first6": "403203",
                    "last4": "3001",
                    "expirationMonth": 12,
                    "expirationYear": 2025,
                    "country": "FRA",
                    "cardholderName": null,
                    "cardholderEmail": null,
                    "description": null,
                    "fingerprint": "a90fedc230c187acb2e4d6b8a3e3237044931beb",
                    "cardType": "UNKNOWN",
                    "region": "EUROPE",
                    "productType": "UNKNOWN",
                    "europeanEconomicArea": true,
                    "check": false,
                    "additionalData": {}
                  },
                  "cardMerchantToken": null,
                  "captureStatus": "EXPIRED",
                  "amountCaptured": 0,
                  "refunded": true,
                  "amountRefunded": 0,
                  "refunds": [],
                  "endUserIp": "8.8.8.8",
                  "endUserLanguage": "fre",
                  "browserUserAgent": null,
                  "browserAcceptLanguage": null,
                  "country": null,
                  "receiptEmail": null,
                  "transactiontransfers": [],
                  "transferGroup": null,
                  "residualAmount": null,
                  "order": {
                    "firstName": null,
                    "lastName": null,
                    "addressLine1": null,
                    "addressLine2": null,
                    "addressLine3": null,
                    "addressLine4": null,
                    "postalCode": null,
                    "city": null,
                    "country": null,
                    "email": null,
                    "phone": null,
                    "cardCountry": "FRA",
                    "cardholderName": null,
                    "cardholderEmail": null
                  },
                  "dispute": null,
                  "cardPresent": {
                    "cardSequenceNumber": null,
                    "cardEntryMode": null,
                    "pinEntryCapability": null,
                    "transactionSequenceCounter": null,
                    "uniqueTerminalId": null,
                    "cardholderSignatureImage": null,
                    "gpsLatitude": null,
                    "gpsLongitude": null,
                    "cardholderPhoto": null,
                    "cardAcceptorTerminalId": null,
                    "offlinePinIndicator": null,
                    "ucatTerminalIndicator": null,
                    "iccData": null,
                    "iccDataResponse": null
                  },
                  "clearingNumber": null,
                  "merchantCategoryCode": "1711",
                  "withCvv": true,
                  "arn": "123456",
                  "authorizationCancellationDate": null,
                  "customerId": null,
                  "captureDate": null,
                  "clearingDate": null,
                  "captureCancellationDate": null,
                  "enrollmentId": null,
                  "movementId": null,
                  "authorizationMovementId": "258d16f5-3f5f-401d-8f5b-c9ff9d00f28d",
                  "cancelMovementId": null,
                  "paymentRequestBreakdownId": null,
                  "paymentRequestId": null,
                  "invoiceId": null,
                  "installmentId": null,
                  "customAcceptanceData": {},
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "3ds": false
                },
                "requestId": "fcf800bb-1748-4d23-9ce7-121c5f14a51b"
              }

              TRANSACTION_UPDATED
              When a transaction is updated
              {
                "eventId": "eaf9366e-cd66-4ab9-ad23-09ed2ec5972d",
                "type": "TRANSACTION_UPDATED",
                "creationDate": "2024-01-11T14:54:35.830032+01:00",
                "object": {
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "amount": 10,
                  "amountCaptured": 10,
                  "amountRefunded": 0,
                  "archivingReference": "FLS2TYH3HJ5G",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "02e0e9ec-77f6-4a75-9732-57a0d0844354",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "captureDate": "2024-01-11T14:53:18.688598+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "180c71b5-9384-4ea5-9452-b190d4afc542",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-11T14:53:17.634328+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 1,
                    "expirationYear": 2024,
                    "fingerprint": "9e6b6fc8e48c4ee716efb06762e726c0108e5e8d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-11T14:53:17.576925+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "3dbd2c18-1110-496b-9cd2-1e7b7568fc00",
                  "order": {
                    "cardCountry": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 10,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "test@gmail.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 10,
                  "transactionId": "8d08a5b1-413e-46d8-8e8e-6da8c0d5025b",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [
                    {
                      "amount": 1,
                      "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                      "escrowDate": "2024-01-13",
                      "fee": 0
                    }
                  ],
                  "withCvv": true
                },
                "requestId": "6b85d1b7-853a-420e-a500-62aac18840c1",
                "objectBeforeUpdate": {
                  "additionalData": {
                    "key1": "value1",
                    "key2": "value2"
                  },
                  "amount": 10,
                  "amountCaptured": 10,
                  "amountRefunded": 0,
                  "archivingReference": "FLS2TYH3HJ5G",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "02e0e9ec-77f6-4a75-9732-57a0d0844354",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "captureDate": "2024-01-11T14:53:18.688598+01:00",
                  "captureStatus": "CAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "180c71b5-9384-4ea5-9452-b190d4afc542",
                    "cardType": "DEBIT",
                    "check": false,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-11T14:53:17.634328+01:00",
                    "europeanEconomicArea": true,
                    "expirationMonth": 1,
                    "expirationYear": 2024,
                    "fingerprint": "9e6b6fc8e48c4ee716efb06762e726c0108e5e8d",
                    "first6": "400000",
                    "last4": "0002",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-11T14:53:17.576925+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "endUserIp": "245.100.1.15",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "3dbd2c18-1110-496b-9cd2-1e7b7568fc00",
                  "order": {
                    "cardCountry": "FRA",
                    "firstName": "MANDATORY",
                    "lastName": "MANDATORY"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 10,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 10,
                  "transactionId": "8d08a5b1-413e-46d8-8e8e-6da8c0d5025b",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [
                    {
                      "amount": 1,
                      "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                      "escrowDate": "2024-01-13",
                      "fee": 0
                    }
                  ],
                  "withCvv": true
                }
              }

              TRANSACTION_DISPUTED
              When a transaction is turned to a chargeback
              
              {
                "eventId": "36e7853b-eecf-43d2-99ec-80aa5b26b46f",
                "type": "TRANSACTION_DISPUTED",
                "creationDate": "2024-01-05T15:16:28.316447+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 36000,
                  "amountCaptured": 36000,
                  "amountRefunded": 0,
                  "archivingReference": "AULQKEG8VFZV",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "a7caf3b3-4d60-412e-9536-8b31e7fa2b99",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-04T15:04:14.560777+01:00",
                  "captureStatus": "CLEARED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "clearingDate": "2024-01-05",
                  "clearingNumber": "008194",
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T15:04:13.275733+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "dispute": {
                    "additionalData": {},
                    "amount": 10,
                    "creationDate": "2024-01-05T15:16:27.776882+01:00",
                    "currency": "EUR",
                    "disputeDate": "2021-03-18",
                    "disputeId": "896304e9-b937-443a-ba59-3ccc99931b00",
                    "fee": 0,
                    "movementId": "09e2b390-a5a6-4926-a5ad-41c96bd38cea",
                    "reason": "FRAUDULENT",
                    "status": "CHARGEBACK_NOTICED",
                    "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116"
                  },
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "15560735-1636-4a01-9a15-89eab54ef9e1",
                  "order": {
                    "cardholderEmail": "GDU-Dasia77@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 36000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Benton_Hamill8@gmail.com",
                  "refunded": false,
                  "refunds": [],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 36000,
                  "transactionId": "8940d775-cb9c-46e4-ab5a-c5c3ea7c3116",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": false
                },
                "requestId": "29ae33a7-bcd3-405f-ab21-485729b980aa"
              }

              TRANSACTION_FAILED
              When a transaction has been declined by the issuing bank
              {
                "eventId": "0eeacc49-8957-4910-925f-d633505f23b0",
                "type": "TRANSACTION_FAILED",
                "creationDate": "2024-01-05T14:46:59.392077+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 3600000,
                  "amountCaptured": 0,
                  "amountRefunded": 0,
                  "archivingReference": "9GUGCIZEU0VN",
                  "authorizationMovementId": "7ed9258a-ee75-4705-90f3-678973d2402e",
                  "authorizationStatus": "FAILURE",
                  "bankCode": "51",
                  "bankMessage": "Simulation : Insufficient Funds",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureStatus": "UNCAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "30e49b6e-ed07-4b43-8862-2abd2f181678",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": true,
                    "commercialBrand": "VISA",
                    "country": "FRA",
                    "creationDate": "2024-01-05T14:46:39.151564+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "7032968c1a882c155b3d8014297daabaa7133680",
                    "first6": "400000",
                    "infoId": "90eaf823-e2e7-4757-845a-b966bbab03c6",
                    "last4": "0077",
                    "productType": "UNKNOWN",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T14:46:58.190985+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "order": {
                    "cardholderEmail": "GDU-Yvette5@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Buck_Gislason@hotmail.com",
                  "refunded": false,
                  "refunds": [],
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 3600000,
                  "transactionId": "d530cdbe-b9fc-481b-b99d-8ce0db75deb4",
                  "transactionStatus": "FAILURE",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "c120a3c0-764a-4c7e-a705-4721784212c7"
              }

              TRANSACTION_FRAUDULENT
              When a transaction is refused because it has meet a blacklist element (Email, IP, Card, …)
              
              {
                "eventId": "d489a6be-9b6d-43fa-86e3-c5d26437aac3",
                "type": "TRANSACTION_FRAUDULENT",
                "creationDate": "2024-01-05T16:34:30.947564+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 500,
                  "amountCaptured": 0,
                  "amountRefunded": 0,
                  "authorizationStatus": "FRAUD",
                  "bankMessage": "PAN in BLACKLIST [532509xxx0008]",
                  "captureStatus": "UNCAPTURED",
                  "card": {
                    "additionalData": {},
                    "cardId": "4680d102-96b0-4fba-b00c-3375ee610fc7",
                    "cardType": "DEBIT",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T16:33:13.699153+01:00",
                    "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "dabeaee8-1f45-438e-b9c7-37bbce92315e",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "creationDate": "2024-01-05T16:34:30.385545+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "33c36fb3-fec8-4930-9cb6-32e2b76d61c9",
                  "endUserIp": "245.100.1.15",
                  "merchantTransactionId": "MIP_001",
                  "order": {
                    "cardCountry": "FRA",
                    "cardholderEmail": "gduhamel@centralpay.eu",
                    "email": "gduhamel@centralpay.eu",
                    "firstName": "CECELIA",
                    "lastName": "EBERT"
                  },
                  "partialAuthorization": false,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "gduhamel@centralpay.eu",
                  "refunded": false,
                  "refunds": [],
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 500,
                  "transactionId": "f061fa00-8494-4eca-b9d1-f54d36125d7d",
                  "transactionStatus": "FRAUD",
                  "transactiontransfers": [],
                  "withCvv": true
                },
                "requestId": "47c8329d-b686-4dc0-ad21-941e4ec2945d"
              }

              TRANSACTION_NOT_ACCEPTED
              When a transaction is refused because entering an acceptance rule

              TRANSACTION_REFUNDED
              When a transaction has been refunded to the card holder
              {
                "eventId": "21f8a3b1-1fab-4071-9f75-ef36d10a6572",
                "type": "TRANSACTION_REFUNDED",
                "creationDate": "2024-01-10T09:35:28.762354+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 36000,
                  "amountCaptured": 36000,
                  "amountRefunded": 36000,
                  "archivingReference": "YNADK4W3G2EK",
                  "arn": "123456",
                  "authorizationCode": "000000",
                  "authorizationMovementId": "679d6b91-bba5-43fa-a444-b3aa7fb2ad2f",
                  "authorizationStatus": "SUCCESS",
                  "bankCode": "0",
                  "bankMessage": "Simulation : Transaction Approved",
                  "browserAcceptLanguage": "en_US",
                  "browserUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
                  "captureDate": "2024-01-04T15:04:11.419479+01:00",
                  "captureStatus": "CLEARED",
                  "card": {
                    "additionalData": {},
                    "cardId": "9a5602f8-ef06-4c00-ab62-c77f8a374eb2",
                    "cardType": "DEBIT",
                    "cardholderEmail": "test@gmail.com",
                    "cardholderName": "MARIE ANNE",
                    "check": true,
                    "commercialBrand": "MASTERCARD",
                    "country": "FRA",
                    "creationDate": "2024-01-05T12:52:41.054394+01:00",
                    "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                    "europeanEconomicArea": true,
                    "expirationMonth": 9,
                    "expirationYear": 2035,
                    "fingerprint": "d409203bdcc673d1c527258a16c87cdad8767e1f",
                    "first6": "532509",
                    "infoId": "fc8b5c60-6044-41a6-8074-ed9499c245a5",
                    "last4": "0008",
                    "productType": "CORPORATE",
                    "region": "EUROPE"
                  },
                  "cardPresent": {},
                  "clearingDate": "2024-01-05",
                  "clearingNumber": "008194",
                  "commission": 0,
                  "contractId": "a674d481-4805-4a66-915a-67956efca36f",
                  "country": "FRA",
                  "creationDate": "2024-01-05T15:04:10.135397+01:00",
                  "currency": "EUR",
                  "customAcceptanceData": {},
                  "customerId": "1646e7fa-8274-48c0-9883-022c2e33fb22",
                  "endUserIp": "245.100.1.15",
                  "endUserLanguage": "fre",
                  "fee": 0,
                  "merchantCategoryCode": "1711",
                  "movementId": "656895c7-e7a2-4b7d-8920-0bb78ea45f3a",
                  "order": {
                    "cardholderEmail": "GDU-Martina_Ondricka@hotmail.com",
                    "country": "FRA"
                  },
                  "partialAuthorization": false,
                  "partialAuthorized": false,
                  "payoutAmount": 36000,
                  "payoutCurrency": "EUR",
                  "pointOfSaleId": "7d99a970-cc26-4de8-aa5d-d9ebf4088247",
                  "receiptEmail": "GDU-Justyn98@gmail.com",
                  "refunded": true,
                  "refunds": [
                    {
                      "additionalData": {},
                      "amount": 36000,
                      "commission": 0,
                      "creationDate": "2024-01-10T09:35:28.448559+01:00",
                      "currency": "EUR",
                      "description": "GDU-testapi",
                      "fee": 0,
                      "movementId": "c42ea27a-6d74-4c4b-b170-e17762916c79",
                      "payoutAmount": 36000,
                      "payoutCurrency": "EUR",
                      "refundId": "9bf06654-c023-4481-8e6a-138bb5f13777",
                      "status": "UNCLEARED",
                      "transactionId": "2a06bfae-51f5-4dd7-945b-47631c16cb9c"
                    }
                  ],
                  "residualAmount": 0,
                  "source": "EC",
                  "threeDSecure": false,
                  "totalAmount": 36000,
                  "transactionId": "2a06bfae-51f5-4dd7-945b-47631c16cb9c",
                  "transactionStatus": "SUCCESS",
                  "transactiontransfers": [],
                  "withCvv": false
                },
                "requestId": "794c20b2-4a0c-4d9d-a580-af5544c11120"
              }

              TRANSACTION_RISKY
              When a transaction is refused because of its risk score exceed the limit

              TRANSACTION_THREEDS_AUTH_FAILED
              When a transaction is declined because the card holder failed to authenticate himself during the 3DS process

              Fractionné

              Introduction

              Le paiement fractionné permet de découper le règlement d’une facture en plusieurs échéances. CentralPay prélève ensuite la carte du client selon un échéancier défini lors de la première transaction. Il peut être utilisé pour proposer un étalement de règlement à votre client ou pour automatiser un règlement type « acompte/solde ».

              Contrairement aux abonnements, un client ne peut pas résilier un paiement fractionné depuis le portail client.

              CentralPay vous aide à recouvrer les échéances dues par vos clients avec un système de nouvelles tentatives automatisées en cas d’échec de prélèvement. Cependant, CentralPay ne garantie pas les sommes dues à l’aide d’un crédit ou d’un système de financement de créances.

              Le service "Installment" n'est pas le seul moyen de réaliser des transactions récurrentes. 
              Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement.

              1/ Créer un paiement fractionné

              Vous devez d’abord créer un Customer contenant au moins :

              • une Card (si vous souhaitez opérer des transactions carte)
              • ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA).

              Ensuite, le service Installment vous permettra de créer facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.

              Vous pouvez ensuite créer un Installment:

              • Selon le moyen de paiement souhaité :
                • pour des transactions carte : renseignez l’identifiant du profil client « customerId »
                • pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate »
              • Renseignez le montant en centimes « amount »
              • Renseignez la devise en format ISO « currency »
              • Renseignez l’IP de votre client dans « endUserIp »
              • Renseignez les paramètres de fractionnement « iterationCount », « intervalCount » et « intervalUnit »

              Avec ce service, il est également possible :

              • d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements
              • de définir un montant d’acompte qui sera déduit du montant total (depositAmount). Cet acompte peut également être défini à une date spécifique (depositStartingDate).
              • de définir une date de démarrage du paiement fractionné (startingDate) : si l’on souhaite par exemple que l’acompte soit réglé tout de suite, et que les premières échéances soient prélevées à partir d’une certaine date.

              Notez qu’à la création d’un paiement fractionné, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent et de changer sa carte bancaire ou son mandat SEPA si besoin est.

              2/ Exemple de paiement fractionné

              Vous souhaitez facturer à votre client 1 000 € divisés en 3 mois à partir du 05/07/2024, avec un acompte de 200 € le 28/06/2024 et ajouter un frais supplémentaire de 10 € :

              • amount =100000
              • depositAmount = 20000
              • feeAmount = 1000
              • currency = EUR
              • intervalUnit = MONTH
              • intervalCount = 1
              • iterationCount = 3
              • depositStartingDate = 2024-06-28
              • startingDate = 2024-07-05

              Le plan de fractionnement sera le suivant :

              • 28/06/2024 = 200,00 € (acompte)
              • 05/07/2024 = 276,68 € (premier fractionnement + ajustement arrondis + frais supplémentaires)
              • 05/08/2024 = 276,66 € (deuxième fractionnement)
              • 05/09/2024 = 276,66 € (troisième fractionnement)
              Les arrondis sont appliqués au premier paiement (hors acompte).

              3/ Automatisation des nouvelles tentatives en cas d’échec

              En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur :

              • Accès paramétrages paiements fractionnés – Portail utilisateur de RCT
              • Accès paramétrages paiements fractionnés – Portail utilisateur de PROD

              Comportement des champs :

              • Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay
                • Sélection d’une valeur de 4 à 23
              • 1er échec de paiement : comportement en cas d’un premier échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale
                • Stop = le système ne réalisera pas de nouvelle tentative de prélèvement.
              • 2nd échec de paiement : comportement en cas d’un deuxième échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
                • Stop = le système ne réalisera pas de deuxième nouvelle tentative de prélèvement.
              • 3eme échec de paiement : comportement en cas d’un troisième échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
                • Stop = le système ne réalisera pas de troisième nouvelle tentative de prélèvement.
              • 4eme échec de paiement : comportement en cas d’un quatrième échec de prélèvement
                • Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative
                • Stop = le système ne réalisera pas de quatrième nouvelle tentative de prélèvement.

              3DS 2.2 BRW (paiement unitaire)

              Téléchargement des sources 3DS 2.0

              Vous pouvez télécharger les sources ici : 3ds2.zip

              Introduction

              Tout ce processus doit se dérouler sur la même page web (ceci est une contrainte du process bancaire).

              Les grandes étapes du 3D Secure 2.0 :

              Consultez un exemple de formulaire de paiement CUSTOM intégrant le 3DS 2.0

              1) Versioning

              • Cette étape consiste à adresser le PAN de la carte à l’API Centralpay.

              Exemple de code Curl :

                  curl -v POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \
                  -h 'Content-Type: application/x-www-form-urlencoded' \
                  -u 'doctest:4I9HJRTd' \
                  -d 'acctNumber=4000001000000067'
              • En réponse :
                • Si la carte n’est pas 3DS 2.0, le versioning vous retournera une erreur 404. Cela signifie que la carte utilisée n’est pas enrôlée 3DS 2.0 et que la transaction ne peut pas se faire en 3DS 2.0.
                • Si la carte est 3DS 2.0, vous recevrez un UUID identifiant l’opération jusqu’au résultat final + les données nécessaire pour réaliser le « 3DS Method » (URL + base64)

              Deux réponses au Versionning sont possibles si la carte est 3DS 2.0 :

              • Version 1 (la plus fréquente) :
              {
                  "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f",
                  "threeDSMethodURL":"https://test-3dss-demo.centralpay.net/acs/3ds-method",
                  "threeDSMethodDataForm":{
                      "threeDSMethodData":"eyJ0aHJlZURTTWV0aG9kTm90aWZ
                      pY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJ
                      hbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9
                      uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2M
                      tZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0="
                  },
                  "errorDetails":null
              }

              Cette réponse est renvoyée quand la banque a besoin de l’acs url dans la requête de l’authentification.

              Le process 3DS Method est alors nécessaire, vous pouvez passer au point 2 : 3DS METHOD.

              • Version 2 :
              {
                  "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f",
                  "threeDSMethodURL": null,
                  "threeDSMethodDataForm": null,
                  "errorDetails": null
              }

              Cette réponse est renvoyée quand la banque n’a pas besoin de l’acs url dans la requête de l’authentification.
              Le versioning renvoie une réponse où seul « threeDSServerTransID » possède une valeur non null.

              Le process 3DS Method n’est alors pas nécessaire, vous pouvez passer au point 3 : 3DS AUTHENTICATION BRW.

              2) 3DS METHOD

              Lorsque le versioning renvoi les champs threeDSMethodURL et threeDSMethodDataForm en « Non Null », le process 3DS Method est alors nécessaire.
              Cette fonction a pour but de poster la donnée base64 reçue du versioning vers l’ACS.
              Le formulaire iframe doit être réalisée par le navigateur client vers la banque simultanément avec l’authentification.
              Il faut réaliser une iFrame cachée qui servira à poster la donnée base64 (threeDSMethodData) à l’URL reçue dans le versioning (threeDSMethodURL).

              3) 3DS AUTHENTICATION BRW

              L’appel devra être adressé vers l’url suivante de l’API CentralPay : « 3ds2/authentication »
              Cette requête permet l’envoi des données contextuelles liées au porteur

              Exemple d’appel (curl code) :

                  curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \
                  --header 'Content-Type: application/x-www-form-urlencoded' \
                  --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
                  --data-urlencode 'threeDSServerTransID=7d031b8e-7fb7-4215-b866-eaacb395002f' \
                  --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \
                  --data-urlencode 'deviceChannel=02' \
                  --data-urlencode 'messageCategory=01' \
                  --data-urlencode 'purchaseAmount=1000' \
                  --data-urlencode 'purchaseCurrency=EUR' \
                  --data-urlencode 'threeDSRequestorAuthenticationInd=01' \
                  --data-urlencode 'browserJavaEnabled=true' \
                  --data-urlencode 'browserLanguage=fr-FR' \
                  --data-urlencode 'browserColorDepth=24' \
                  --data-urlencode 'browserScreenHeight=1052' \
                  --data-urlencode 'browserScreenWidth=1853' \
                  --data-urlencode 'browserTZ=120' \
                  --data-urlencode 'browserIP=127.0.0.1' \
                  --data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' \
                  --data-urlencode 'browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
                  --data-urlencode 'notificationURL=http://dev4.dev.centralpay.net:1101/requestor/challenge-notification' \
                  --data-urlencode 'threeDSRequestorURL=https://www.centralpay.eu'

              L’api va retourner un statut de transaction (« transStatus »), voici les valeurs et leurs significations :

              Pas d’autorisation (ne pas faire la transaction) :

              • N = Non authentifié /Compte non vérifié. Transaction refusée.
              • U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq.
              • R = Authentification/vérification du compte rejetée. l’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation
              • I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS.

              Autorisation sans challenge :  

              • Y = Vérification de l’authentification réussie.
              • A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie.  

              Autorisation après challenge : 

              • C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes.
              • D = Challenge requis. Authentification découplée confirmée.

              Exemples de réponses possibles :

              C = Challenge requis :

              {
              "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f",
              "transStatus": "C",
              "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge",
              "acsChallengeMandated": "Y",
              "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=",
              "contractId": "71602dd0-2790-4743-877b-e72530d7576d"
              }

              Le Challenge est nécessaire.

              Y = authentification réussie :

              {
                  "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe",
                  "transStatus": "Y",
                  "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa",
                  "eci": "02",
                  "contractId": "71602dd0-2790-4743-877b-e72530d7576d"
              }

              Le Challenge n’est pas nécessaire.
              Les champs requis au 3DS 2.0 sont dans la réponse (threeDSServerTransID, transStatus, authenticationValue (cavv), eci).

              Note : Le xid n’est pas fourni, car il s’agit d’une référence libre pour les marchands.

              N = Transaction refusée :

              {
                  "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0",
                  "transStatus": "N",
                  "eci": "00",
                  "contractId": "258128f3-5db9-4235-918a-f1d786f67c29"
              }

              Transaction refusée.

              4) Challenge

              • Lorsque la réponse de l’authentification est « C« , l’utilisateur doit effectuer un challenge, une Iframe doit alors soumettre un formulaire à l’url (acsURL) retournée par l’API lors de l’appel à « 3ds2/authentication ».
              • Le seul paramètre envoyé est : creq qui comprend la valeur base64EncodedChallengeRequest qui provient de l’appel à « 3ds2/authentication ».
              • A la fin du challenge, l’url configurée (paramètre notificationURL ) dans l’appel « 3ds2/authentication » est appelée.

              Voici ce que vous aurez dans notre environnement de test pour l’affichage du Challenge OTP (dans des conditions de PROD, la fenêtre affichée sera celle de l’ACS) :

              Voici les OTP en environnement test :

              • 1234 retourne Y pour Challenge réussi
              • 4444 retourne A pour Challenge réussi
              • 1111 retourne N pour Challenge échoué
              • 2222 retourne R pour Challenge échoué
              • 3333 retourne U pour Challenge échoué

              5) Réponse

              • À l’issue du challenge, les informations concernant celui-ci sont disponibles dans la variable « finalCresValue »
              • Pour récupérer les informations de cette valeur base 64 il faut la décoder, voici un exemple en php :
              $retour = json_decode(base64_decode($_POST['cres']), true)
              • Si celui-ci est égal à Y ou A alors le client a effectué le challenge correctement et le paiement est autorisé, vous devrez alors appeler GET /results afin de connaitre les données nécessaire aux 3DS 2.0 pour votre transaction.
              • Si le statut de transaction est égal à une autre valeur, alors le client n’a pas effectué le challenge correctement et le paiement est refusé.

              6) Résultat

              • Pour connaitre les données 3DS 2.0 à renseigner à la création d’une transaction 3DS 2.0, vous devrez adresser le threeDSServerTransID de l’authentification 3DS 2.0 préalablement effectuée.
              • Rappel : Si vous avez obtenu un transStatus à « Y » en réponse de l’authentification, les données 3DS 2.0 sont déjà contenu dans celui-ci.

              Appel :

              curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \
              --header 'Authorization: Basic e3tERUZBVUxUX1VTRVJ9fTp7e0RFRkFVTFRfUEFTU1dPUkR9fQ=='

              Réponse :

              {
                  "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f",
                  "transStatus": "Y",
                  "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=",
                  "eci": "01"
              }

              7) Transaction

              Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 :

              • 3ds[threeDSServerTransID] = threeDSServerTransID
              • 3ds[status] = transStatus
              • 3ds[cavv] = authenticationValue
              • 3ds[eci] = eci (Obligatoire si disponible)
              • 3ds[xid] = Paramètre Custom destiné aux marchands.

              Exemple d’une transaction 3DS 2.0 :

              curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \
              --header 'Origin: https://example.centralpay.net' \
              --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
              --header 'Content-Type: application/x-www-form-urlencoded' \
              --data-urlencode 'currency=EUR' \
              --data-urlencode 'amount=1500' \
              --data-urlencode 'endUserIp=9.64.32.8' \
              --data-urlencode 'endUserLanguage=ita' \
              --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \
              --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \
              --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \
              --data-urlencode 'browserAcceptLanguage=it_IT' \
              --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \
              --data-urlencode 'email=support@centralpay.eu' \
              --data-urlencode 'receiptEmail=support@centralpay.eu' \
              --data-urlencode 'capture=true' \
              --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \
              --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \
              --data-urlencode 'order[firstName]=John' \
              --data-urlencode 'order[lastName]=Doe' \
              --data-urlencode 'source=EC' \
              --data-urlencode '3ds[xid]=35876533346561303461' \
              --data-urlencode '3ds[cavv]=JAmi21makAifmwqo2120cjq1AAA=' \
              --data-urlencode '3ds[eci]=01' \
              --data-urlencode '3ds[status]=Y' \
              --data-urlencode '3ds[threeDSServerTransID]=7d031b8e-7fb7-4215-b866-eaacb395002f'

              The TRANSFER REVERSAL object

              TRANSFERREVERSAL_SUCCEEDED
              When a transfer reversal succeeded
                 {
                "eventId": "9bd04039-7b33-4553-af86-64a6e925eef9",
                "type": "TRANSFERREVERSAL_SUCCEEDED",
                "creationDate": "2024-01-16T11:11:40.720817+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-16T11:11:40.611318+01:00",
                  "currency": "EUR",
                  "description": "Test",
                  "fee": 0,
                  "merchantTransferReversalId": "test",
                  "movementId": "e34b6833-7b32-4fde-993a-b904f8f3aeae",
                  "net": 140,
                  "refundFee": true,
                  "status": "TRANSFERRED",
                  "transferId": "e3a45ca4-49a9-4681-bc06-be9ab6dd7d79",
                  "transferReversalId": "bb47ad7b-4112-4ad5-abf3-489d5878d6fd"
                },
                "requestId": "7e593b04-58c3-4e0d-b3c6-ec2a6887164e"
              }
                  }

              TRANSFERREVERSAL_UPDATED
              When a transfer reversal is updated
                 {
                "eventId": "8317512a-d7d2-4d6d-a61a-644afb7537fb",
                "type": "TRANSFERREVERSAL_UPDATED",
                "creationDate": "2024-01-16T11:18:00.682451+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-16T11:11:40.611318+01:00",
                  "currency": "EUR",
                  "description": "Addeddata",
                  "fee": 0,
                  "merchantTransferReversalId": "test",
                  "movementId": "e34b6833-7b32-4fde-993a-b904f8f3aeae",
                  "net": 140,
                  "refundFee": true,
                  "status": "TRANSFERRED",
                  "transferId": "e3a45ca4-49a9-4681-bc06-be9ab6dd7d79",
                  "transferReversalId": "bb47ad7b-4112-4ad5-abf3-489d5878d6fd"
                },
                "requestId": "3509acf1-39c9-45e5-b1b6-d58ee6639b8d"
                  }

              3DS 2.2 3RI (paiements récurrents)

              Prérequis

              Afin de réaliser une transaction en 3DS 2.0 3RI, il faut que l’utilisateur ait déjà réalisé une transaction 3DS 2.0 avec une authentification BRW.
              Une fois celle-ci effectuée, gardez le acsTransId qui est envoyé, il faudra le passer dans threeDSReqPriorRef.

              1/ 3DS AUTHENTICATION RI

              • L’appel devra être adressé vers l’URL suivante de l’API CentralPay : « 3ds2/authentication »
              • Le acsTransId que vous avez gardé de l’authentification BRW doit être mis dans threeDSReqPriorRef.
              • Si l’api vous retourne un statut de transaction (« transStatus ») à « Y » l’authentification 3RI est autorisé.
              • Voici les valeurs possibles de transStatus et leur signification :
                • Y = Vérification de l’authentification réussie.
                • N = Non authentifié /Compte non vérifié. Transaction refusée.
                • U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq.
                • A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie.
                • C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes.
                • D = Challenge requis. Authentification découplée confirmée.
                • R = Authentification/vérification du compte rejetée. L’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation.
                • I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS.

              Exemple d’appel 3RI (curl code) :

              curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \
              --header 'Content-Type: application/x-www-form-urlencoded' \
              --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
              --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \
              --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \
              --data-urlencode 'pointOfSaleId=08960d92-874b-4447-800b-aaa53fa976f5' \
              --data-urlencode 'deviceChannel=03' \
              --data-urlencode 'messageCategory=02' \
              --data-urlencode 'acctType=03' \
              --data-urlencode 'cardExpiryDate=9999' \
              --data-urlencode 'purchaseAmount=4880' \
              --data-urlencode 'purchaseCurrency=978' \ 
              --data-urlencode 'purchaseExponent=2' \
              --data-urlencode 'purchaseDate=20230101122345' \
              --data-urlencode 'recurringExpiry=20330101' \
              --data-urlencode 'recurringFrequency=0' \
              --data-urlencode 'chAccAgeInd=03' \
              --data-urlencode 'chAccChange=20220901' \
              --data-urlencode 'chAccDate=20220901' \
              --data-urlencode 'email=support@centralpay.eu' \
              --data-urlencode 'nbPurchaseAccount=2' \
              --data-urlencode 'paymentAccAge=20221001' \
              --data-urlencode 'paymentAccInd=03' \
              --data-urlencode 'threeDSReqPriorAuthMethod=02' \
              --data-urlencode 'threeDSReqPriorAuthTimestamp=202209010123' \
              --data-urlencode 'threeDSReqPriorRef=7d031b8e-7fb7-4215-b866-eaacb395002f' \
              --data-urlencode 'threeDSRequestorDecReqInd=N' \
              --data-urlencode 'threeDSRequestorAuthenticationInd=02' \
              --data-urlencode 'threeDSRequestorChallengeInd=02' \
              --data-urlencode 'threeRIInd=01'

              Explication de certains paramètres

              • deviceChannel 03 -> 3DS Requestor Initiated (3RI)
              • messageCategory 02 -> La valeur 02 force la transaction en 3RI.
              • purchaseAmount -> Montant de l’achat courant
              • purchaseCurrency -> Monnaie au format ISO
              • purchaseExponent  -> Unité mineure de la monnaie courante
              • purchaseDate  -> Date de l’achat
              • recurringExpiry  -> Date à laquelle il n’y aura plus d’autorisations qui pourront être effectuées
              • recurringFrequency  -> Nombre de jours minimums entre deux autorisations.
              • acctType -> Debit
              • chAccAgeInd -> Durée pendant laquelle le titulaire de la carte possède le compte auprès du demandeur 3DS. Les valeurs acceptées sont :
                • 01 -> Pas de compte
                • 02 -> Créé durant la transaction
                • 03 -> Moins de 30 jours
                • 04 -> Entre 30 et 60 jours
                • 05 -> Plus de 60 jours.
              • chAccChange -> Date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Format de la date = YYYYMMDD.
              • chAccDate -> Date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Format de la date = YYYYMMDD.
              • nbPurchaseAccount -> Nombre d’achats effectués avec ce compte de titulaire de carte au cours des six derniers mois.
              • paymentAccAge ->  Date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS.
              • paymentAccInd ->  Indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs acceptées sont :
                • 01 -> Pas de compte
                • 02 -> Créé durant la transaction
                • 03 -> Moins de 30 jours
                • 04 -> Entre 30 et 60 jours
                • 05 -> Plus de 60 jours.
              • threeDSReqPriorAuthMethod 02 -> Vérification du porteur de carte effectué par l’ACS.
              • threeDSReqPriorAuthTimestamp -> Date et heure en UTC de l’authentification précédente. Le format de date accepté est YYYYMMDDHHMM.
              • threeDSReqPriorRef -> Le champ doit contenir la valeur « acsTransId » de la transaction 3DS BRW précédente.
              • threeDSRequestorDecReqInd N -> Ne pas utiliser l’authentification découplée.
              • threeDSRequestorAuthenticationInd 02 -> Transaction récurrente
              • threeDSRequestorChallengeInd 02 -> Pas de Challenge requis
              • threeRIInd 01 -> Transaction récurrente

              Exemple de réponse :

              {
                      "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c",
                      "transStatus": "Y",
                      "eci": "02",
                      "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf"
              }

              2/ Transaction

              • Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 :
                • 3ds[threeDSServerTransID] = threeDSServerTransID (ajouter le nouveau génerer par l’authentification 3RI)
                • 3ds[status] = transStatus
                • 3ds[eci] = eci (Obligatoire si disponible)
                • 3ds[xid] = Paramètre Custom destiné aux marchands.
              • Lors d’une transaction en 3RI, il ne faut pas envoyer le 3ds[cavv].

              Exemple d’une transaction 3DS 2.0 :

              curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \
              --header 'Origin: https://example.centralpay.net' \
              --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \
              --header 'Content-Type: application/x-www-form-urlencoded' \
              --data-urlencode 'currency=EUR' \
              --data-urlencode 'amount=1500' \
              --data-urlencode 'endUserIp=9.64.32.8' \
              --data-urlencode 'endUserLanguage=ita' \
              --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \
              --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \
              --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \
              --data-urlencode 'browserAcceptLanguage=it_IT' \
              --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \
              --data-urlencode 'email=support@centralpay.eu' \
              --data-urlencode 'receiptEmail=support@centralpay.eu' \
              --data-urlencode 'capture=true' \
              --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ 
              --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \
              --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \
              --data-urlencode 'order[firstName]=John' \
              --data-urlencode 'order[lastName]=Doe' \
              --data-urlencode 'source=EC' \
              --data-urlencode '3ds[xid]=35876533346561303461' \
              --data-urlencode '3ds[eci]=02' \
              --data-urlencode '3ds[status]=Y' \
              --data-urlencode '3ds[threeDSServerTransID]=67dc456c-6c7a-987f-92cf-f68752525d0c'

              The TRANSFER object

              TRANSFER_SUCCEEDED
              When a transfer succeeded
                  {
              {
                "eventId": "a1147178-8197-46d7-ba6d-433f71a1b7f5",
                "type": "TRANSFER_SUCCEEDED",
                "creationDate": "2024-01-08T14:33:25.439719+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-08T14:33:25.050153+01:00",
                  "currency": "EUR",
                  "description": "Vente de XxX",
                  "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "IDENTIFIANT_MRI",
                  "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "TRANSFERRED",
                  "toCurrency": "GTH",
                  "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
                  "transferReversals": []
                },
                "requestId": "6d21911b-40bb-4259-aef9-39c616d60aa4"
              }
                  }

              TRANSFER_UPDATED
              When a transfer is updated
                  {
              {
                "eventId": "356e4dff-4146-47d5-9db9-3226585cafc1",
                "type": "TRANSFER_UPDATED",
                "creationDate": "2024-01-08T14:38:40.555843+01:00",
                "object": {
                  "additionalData": {
                    "Key1": "val2"
                  },
                  "amount": 140,
                  "creationDate": "2024-01-08T14:33:25.050153+01:00",
                  "currency": "EUR",
                  "description": "transfer1",
                  "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "TEST_002",
                  "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "TRANSFERRED",
                  "toCurrency": "GTH",
                  "transferGroup": "TransferGroup_0002",
                  "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
                  "transferReversals": []
                },
                "requestId": "e7b6b976-a0ae-45dc-a018-f6c651a7f559",
                "objectBeforeUpdate": {
                  "additionalData": {},
                  "amount": 140,
                  "creationDate": "2024-01-08T14:33:25.050153+01:00",
                  "currency": "EUR",
                  "description": "Vente de XxX",
                  "destinationWalletId": "ccf841d8-b066-4e96-adc7-fa6414cfe598",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "IDENTIFIANT_MRI",
                  "movementId": "20452a9f-6055-462c-8da5-f351cc0a1437",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "TRANSFERRED",
                  "toCurrency": "GTH",
                  "transferId": "c8d751cc-da30-4dbe-9e57-acf7731bb3f5",
                  "transferReversals": []
                }
              }
                  }

              TRANSFER_CANCELED
              When a transfer is cancelled
                  {
                "eventId": "d1a35d33-87b7-4672-8e49-495cd117f45b",
                "type": "TRANSFER_CANCELED",
                "creationDate": "2024-01-16T11:34:40.698751+01:00",
                "object": {
                  "additionalData": {},
                  "amount": 140,
                  "cancelMovementId": "e66acfa2-60c4-4eec-8bfe-f1571318a667",
                  "cancellationDate": "2024-01-16T11:34:40.691168+01:00",
                  "creationDate": "2024-01-16T11:34:05.280812+01:00",
                  "currency": "EUR",
                  "description": "Vente de XxX",
                  "destinationWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "emissionWalletId": "a00f7a69-b8c3-44b1-a8b2-aa508128b050",
                  "escrowDate": "2035-12-23",
                  "exchangedAmount": 140,
                  "exchangedFee": 0,
                  "exchangedNet": 140,
                  "fee": 0,
                  "merchantTransferId": "IDENTIFIANT_GDU",
                  "movementId": "98c79326-53e5-4b71-8ef6-4b1344c428a4",
                  "net": 140,
                  "rate": 1,
                  "reversed": false,
                  "status": "CANCEL",
                  "toCurrency": "EUR",
                  "transferId": "fd4aa0f5-69d5-4b79-b6df-c99dab33d9ee",
                  "transferReversals": []
                },
                "requestId": "35b87d6e-41dd-4a5e-b1a2-5347b6fa1eba"
              }

              FAQ 3DS 2.2

              Foire aux questions autour du 3-D Secure 2.0.

              Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ?

              Consultez la liste des cartes de tests de l’environnement de RCT

              Ma transaction a reçu le code retour banque 5, qu’est-ce que ça signifie ?

              • Cela signifie, que la banque refuse sans donner de statut particulier.
                Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.
                Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives.

              Ma transaction a reçu le code retour banque 12, qu’est-ce que ça signifie ?

              • Cela signifie que la banque refuse sans donner de statut particulier.
                La raison peut être :
                      – Simplement une transaction invalide
                      – Un code 75 de la part de la banque émetteur (le code PIN de la carte a été trop de fois incorrecte)
                      – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS)
                      – Ou une autre décision que nous ne connaissons pas.

              L’API transaction me retourne une erreur « Soft Decline » pourtant le paramètre « threeDSServerTransID » est bien celui retourné par le cres.
              Comment devons-nous interpréter ce retour et que devons-nous faire ?

              • Le soft decline est renvoyé par la banque lorsque que le 3DS n’est pas présent dans la transaction.
                Il faut vérifier s’il manque des champs présentés dans cette partie de la documentation : https://ref-api.centralpay.net/payment#106-3ds-sub-object

              Ma requête du Versioning me retourne une erreur « 404 » avec le message « Card account number not found in card ranges from Directory Server ».
              Qu’est-ce que ça signifie et que dois-je faire ?

              • Cela signifie que la carte utilisée n’est pas enrôlée 3DS2.0 et que la transaction ne peut pas se faire en 3DS2.0.
                Pour ce cas, nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce genre de carte.

              La réponse de la requête Result nous a renvoyé le transStatus à U.
              Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

              • La valeur U de transStatus en réponse de la requête result signifie que l’authentification ou la vérification n’a pas pu se faire suite à un problème technique ou autres problèmes.
                Du côté du smart form lors du challenge avec la requête result, seules les valeurs Y et A permettent de valider le challenge et continuer le paiement.
                Les autres valeurs font échouer le challenge et le paiement.
                Mais dans le cas d’un custom form le fonctionnement peut être différent, vous pouvez utiliser la valeur U pour faire une nouvelle tentative de challenge et si ça échoue encore alors le paiement passe en 3DS1 ou est refusé, ou alors pour directement retenter le paiement en 3DS1 ou le considérer comme un échec de paiement.
                Ces différents cas sont possibles à réaliser.

              Nous avons soumis le formulaire à l’URL retournée par l’authentication avec le base64EncodedChallengeRequest.
              Mais le client est aussitôt revenu sur notre site sans CRES mais avec un paramètre ERROR contenant la valeur « eyJ0aHJlZURTU…Mi4xLjAifQ== » ainsi que le paramètre « THREEDSSESSIONDATA » qui lui était vide.
              Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

              • Lorsque vous avez un retour de ce genre, il faut vérifier que votre processus du 3DS2 se déroule bien sûr une seule et même page avec la solution d’un iframe.
                Si le processus est conforme, alors contactez le support technique avec les informations nécessaires.
              Pour rappel, toutes les étapes du formulaire se réalisent sur une seule et même page sans redirection vers une page bancaire ou autre.
              Cela se fait grâce à la solution de l'Iframe.
              Toute la procédure du 3DS2.0 se passe sur la même page !

              Nous avons reçu une erreur 303 : « acquirerBIN, acquirerMerchantID not recognized » lors d’un appel à l’authentication.
              Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

              • Il s’agit soit du contrat qui n’est pas 3DS2, soit d’autres problèmes.
                Dans le cas d’un autre problème, il faut alors contacter le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations pouvant être nécessaire.

              Sur l’étape d’authentication, nous avons eu une erreur 203 : « Validation of 3DS Requestor Authentication data failed.
              Data element not in the required format or value is invalid » pour le champ merchant.merchantName.
              Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ?

              • L’erreur 203 signifie qu’il y a un caractère invalide dans le paramètre « merchant.merchantName ».

              Lors d’un test d’appel de la fonction 3DS2 « authentication », l’erreur suivante est retournée dans la clé « card data » : « There is no unique source of card ».
              Qu’est-ce que cela signifie ?

              • L’erreur « There is no unique source of card » est commune à toute la plateforme et est présent lorsque vous envoyez des informations de cartes deux fois : par exemple via un cardToken et un cardId ou un PAN et un cardToken etc…

              The WIRETRANSFER object (Deprecated)

              WIRETRANSFER_CREATED
              When a wire transfer is created

              WIRETRANSFER_UPDATED
              When a wire transfer is updated

              WIRETRANSFER_RECEIVED
              When a wire transfer is received

              WIRETRANSFER_CANCELED
              When a wire transfer is cancelled

              Informations générales

              Prochainement

              PAYMENT REQUEST status

              • Payment request status:
                • ACTIVE
                • CLOSED
                • CANCELED
              • Payment status :
                • UNPAID
                • ACCEPTED
                • PARTIALLY_PAID
                • PAID

              The following table explains every possible status combination and what they point out :

              Payment request statusPayment status Explanation
              ACTIVEUNPAIDPayment request created, waiting for the customer’s payment.
              ACTIVEPARTIALLY_PAIDThe customer has paid part of the total sum of the payment request that will stay ACTIVE while waiting for the remaining payment(s).
              ACTIVEACCEPTEDTemporary status that is exclusive for the SDD transactions, pre-authorization and deferred payments. The customer has done the required action and the operation is waiting for the processing.
              CLOSEDPAIDThe payment request has been fully paid.
              CLOSEDPARTIALLY_PAIDThe payment request has been partially paid and the merchant has manually closed it. This can be performed from the API or the user portal if the merchant is satisfied with this partial payment of the customer and allows to stop any automatic reminders.
              CANCELEDUNPAIDThe payment request was cancelled before the customer’s payment. This cancellation may be initiated by the merchant via API or via the User Portal (in the event of an error in the creation or cancellation of an order, for example), or carried out automatically if the link expires. This cancellation reason is visible from the User Portal.

              Liste des pays autorisés

              CentralPay et ses partenaires sont autorisés à entrer en relation d’affaires et à ouvrir des comptes de paiement ou de Monnaie Électronique pour des personnes physiques ou morales issues des pays suivants :

              • Espace Économique Européen :
                • Allemagne
                • Autriche
                • Belgique
                • Bulgarie
                • Chypre
                • Croatie
                • Danemark
                • Espagne
                • Estonie
                • Finlande
                • France et Outre mer :
                  • Guadeloupe – Guyane française – Martinique – Mayotte – Polynésie française – Réunion – Saint-Barthélemy – Saint-Martin (français) – Saint-Pierre-et-Miquelon – Wallis-et-Futuna
                • Grèce
                • Hongrie
                • Irlande
                • Islande
                • Italie
                • Lettonie
                • Lituanie
                • Liechtenstein
                • Luxembourg
                • Malte
                • Norvège
                • Pays-Bas
                • Pologne
                • Portugal
                • République tchèque
                • Roumanie
                • Slovaquie
                • Slovénie
                • Suède
              • Autre
                • Royaume-Uni
                • Suisse

              TRANSACTION status

              Status « Transaction »

              StatusDescription
              SUCCESSThe transaction is a « success » when an authorization request has been issued by the Bank and the bank return code is « 0 ».
              FRAUDThe status indicates that the transaction encountered a « blacklisted » item. This can come from an IP, phone number, email or card number.
              CAPTUREDA Success transaction must be « captured » within 7 calendar days in order to be charged to your Customer’s card.
              Note: by default, a transaction is automatically « captured ».
              FAILUREThe transaction is in « failure » when the authorization has not been issued by the Bank issuing the card.
              In addition, you receive a rejection code issued by the bank of the card issuer (bank code < 100).
              CANCELEDThis status reflects the cancellation of a « capture » request before it is cleared. It is possible to cancel a transaction between the « success » and « cleared » transaction status.
              THREEDS_AUTH_FAILURE3DS authentication failed. The cardholder submitted an incorrect code or did not submit it in time.
              CLEAREDA « Cleared » transaction indicates that a debit has been made on your customer’s card. At this point, you can no longer cancel the transaction, but you can refund it using the « refund » API object.
              NOT_ACCEPTEDThe transaction was declined as it encountered an element of denial of an acceptance rule.

              Création de compte de paiement

              Prochainement

              REFUND status

              Statuts « Refund »

              StatutDescription
              CLEAREDProcessed refund.
              UNCLEAREDRefund pending processing.
              FAILURERefund in error.
              CANCELEDRefund cancelled, either by you or by your customer via the customer portal.

              Création de compte de ME

              Introduction

              Prochainement

              Schéma de création d’un compte de ME limité

              Schéma de validation KYC d’un compte de ME

              CREDIT status

              Status « Credit »

              StatusDescription
              CLEAREDCredit processed.
              UNCLEAREDCredit pending processing
              FAILURECredit in error.
              CANCELEDCredit cancelled, either by you or by your Customer via the customer portal.

              Documents KYC et KYB

              Prochainement

              DISPUTES status

              Status « Disputes »

              StatutDescription
              RETRIEVAL_NOTICEDA request for information is sent to you in order to obtain information on the nature of the operation carried out. At this point, it is not a proven dispute. Depending on your response to this request, your client can turn it into a dispute.
              RETRIEVAL_CLOSENotification that the request for information is closed. The information provided has prevented the dispute.
              CHARGEBACK_NOTICEDA transaction dispute is sent by your customer. The amount of this transaction will be charged to refund your customer. Non-refundable fees also apply for each dispute received.
              Note : a Chargeback (dispute) is not necessarily preceded by a Retrieval (request for information).
              CHARGEBACK_WONYou were successful, the dispute was rejected. The amount of the transaction is refunded to you.
              CHARGEBACK_LOSTYour evidences are deemed insufficient, the challenge is upheld.
              TRANSACTION_REFUNDEDThe amount of the disputed transaction was refunded to you following a CHARGEBACK_WON.

              Conditions générales

              CGU CentralPay

              Prochainement

              Liste des activités interdites

              Prochainement

              SUBSCRIPTION status

              Status « Subscription »

              StatusDescription
              ACCEPTEDThe subscription is active and running (initial status when a subscription is successfully created).
              PENDINGStatus defined by the configuration you have chosen in case of repeated payment failures.
              REFUSEDStatus defined by the configuration you have chosen in case of repeated payment failures.
              CANCELLEDThe subscription has been cancelled either by you or by your Customer via the customer portal.

              Retours, statuts et webhooks

              Prochainement

              INSTALLMENT status

              Status « Subscription »

              StatusDescription
              ACTIVEThe installment is active and follows its course (initial status when an installment is created successfully).
              PAIDThe installment has been fully paid.
              FAILUREA payment attempt failed, there will be at least one more trial (The number of trials is configurable on the user portal).
              UNPAIDAll payment attempts failed, final status.
              CANCELEDThe installment has been cancelled by the merchant.

              SDD TRANSACTION status

              Statuts « SDD Transaction »

              StatutDescription
              ACTIVEPending SDD transaction (similar to pending status – largely obsolete status since CentralPay CBK update).
              PENDINGPending SDD transaction.
              NOTICEDObsolete — This status is no longer used.
              CLEAREDProcessed SDD transaction.
              CANCELEDCancelled SDD transaction.
              REVERSEDSDD transaction refunded following a rejection of the customer’s bank, a customer dispute, or following a refund from you.

              Informations générales

              1/ Introduction

              La solution EasyWallet permet aux plateformes d’encaisser des paiements et de les transférer à des tiers tout en respectant la réglementation européenne.

              Pour ce faire, le module comprend deux principaux services :

              • L’inscription : permettant la création de comptes de paiement et de monnaie électronique pour les marchands ou participants d’une plateforme.
              • Le transfert : permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique.

              Selon le modèle de partenariat CentralPay, les possibilités d’inscription et de transferts sont différentes.

              2/ Les types de transferts

              Selon le modèle de partenariat établi avec CentralPay, le transfert des paiements est réalisé différemment :

              • Partenaires MOBSP : vous devez utiliser le service de transfert via transaction
              • Agents PSP : vous pouvez utiliser le service de transfert libre ou transfert via transaction
              • Distributeurs de ME : vous devez utiliser le service de transfert via transaction pour la phase d’encaissement en devise. Ensuite, vous pouvez utiliser le service de transfert libre uniquement pour mouvementer la monnaie électronique entre les comptes de vos participants.

              Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay.

              MANDATE status

              Status « Mandate »

              StatusDescription
              ACTIVEActive mandate, ready to use.
              PENDINGMandate pending validation.
              OBSOLETEInactive mandate, not usable.

              Transfert indépendant

              Transfert indépendant

              L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits « Plateforme ».

              Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte « Plateforme » qui initie les transactions depuis l’API vers un compte « Basic » connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique.

              Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement.

              Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net.

              Les fonds issus de transfers issus d’une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2.

              Exemple 1 :

              Amount = 100
              Fee = 30

              Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100.

              Exemple 2 :

              Amount = 70
              Fee = 0

              Le détenteur du compte de destination recevra 70 sans indication de frais.

              Type de transfer

              1 Mode Asynchrone Manuel (valable uniquement pour les Agents)

              La « Plateforme » réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH.

              Exemple :

              POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout).

              Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles.

              2 Mode synchrone Auto

              Le compte « Plateforme » réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur.

              Exemple :

              POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la  devise de règlement (payout)

              Exemple :

              transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 }
              transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 }

              Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais.

              Transfert indépendant en ME

              BANK ACCOUNT status

              StatusDescription
              ACCEPTEDThe bank account has been accepted by the conformity service.
              PENDINGThe bank account is waiting the conformity service verification.
              REFUSEDThe bank account has been refused by the conformity service.
              CANCELLEDThe bank account is no longer usable (closed account, fraud, …).

              Transfert via transaction

              Transfert via transaction

              Vous pouvez paramétrer un transfert depuis tous types de transaction :

              • Transaction CARD (cartes de paiement) : voir comment créer une transaction CARD
              • Transaction SCT (virements SEPA entrants) : voir comment créer une transaction SCT
              • Transaction SDD (prélèvements SEPA) : voir comment créer une transaction SDD

              Paramétrer un transfert depuis une transaction

              Le transfert depuis une transaction permet de renseigner les destinataires des transferts, les montants correspondants, et votre commission.

              [Renseigner les items API à utiliser pour réaliser un transfert depuis une transaction]

              Transfert en ME via transaction

              PAYOUT status

              StatusDescription
              PAIDThe payout has been paid.
              PENDINGPayout pending processing.
              CANCELLEDThe payout has been cancelled (only in pending).
              REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet.

              Transfert via demande de paiement

              SCT TRANSACTION status

              Status « SCT Transaction »

              StatusDescription
              PENDINGPending receipt of the SCT Transaction.
              RECEIVEDSCT Transaction received.
              CANCELEDSCT Transaction cancelled before receipt.
              REFUNDEDSCT Transaction refunded.

              Reversement bancaire pour tiers

              Reversement par marketplace

              Vous pouvez créer des payouts pour vos marchands, pour cela, plusieurs solutions, soit :

              • Soit passer par le endpoint : /payout/byThirdParty (vous pouvez retrouver tous les paramètres de celui-ci dans « Référence API »
              • Soit passer par le Portail utilisateur

              Via le Portail utilisateur, voici les étapes à réaliser :

              1/ Rendez-vous sur les comptes liés

              2/ Sélectionnez le marchand sur lequel faire le payout

              3/ Se rendre dans les comptes bancaires

              4/ Faire le payout

              Reversement pour compte de tiers

              Codes

              Articles

              • HTTP Codes
              • Bank return codes
              • Currency codes
              • SDD return codes
              • Country codes
              • Transfer purpose codes
              • SDD purpose codes
              • Error codes

              HTTP Codes

              Find below the list of HTTP return codes:

              200OK
              Note: The request was executed correctly
              400BAD REQUEST
              Note: Wrong parameter or rule
              401UNAUTHORIZED
              Note: Login / password are missing for HTTP authentication
              402PAYMENT_REQUIRED
              Note:  Authorization denied*
              403FORBIDDEN
              Note: Wrong authentication
              404NOT FOUND
              Note: Incorrect URL
              500INTERNAL SERVER ERROR
              Note: Server error

              (*) Only possible for the creation of a transaction

              Bank return codes

              List of codes returned by the issuer bank to CentralPay after an autorization request

              00Transaction approved or successfully processed
              02Contact card issuer
              03Invalid acceptor
              04Keep card
              05Do not honor
              06Transaction invalid for terminal
              07Honor with ID
              08Time-Out
              09No original
              10Unable to reverse
              11Partial approval
              12Invalid transaction
              13Invalid amount
              14Invalid cardholder number
              15Unknown card issuer
              17Invalid capture date (terminal business date)
              19Repeat transaction later
              20No From Account
              21No To Account
              22Account not verified
              23Account not saved
              24No Credit Account
              25Unable to locate record in file
              26Record duplicated
              27 ‘Edit’ error in file update field
              28File access denied
              29File update not possible
              30Format error
              31Identifier of acquiring organization unknown
              32Transaction partially completed
              33Card validity date exceeded
              34Implausible card data
              38Number of PIN attempts exceeded
              39Transaction not allowed
              41Lost card
              42Special Pickup
              43Stolen card
              44Stolen card
              51Insufficient funds or overdraft
              54 Card expired
              55Incorrect PIN
              56 Card not on file
              57Transaction not authorized to this cardholder
              58Transaction prohibited at terminal
              59Suspected fraud
              60 the card acceptor must contact the buyer
              61Withdrawal amount over limit
              62Card use restricted
              63MAC Key Error
              65 Frequency limit exceeded
              66Acquirer limit reached
              67Card withheld
              68Response not received or received too late
              75Number of PIN attempts exceeded
              76Invalid Account
              77Issuer not participating in service
              78Function not available
              79Key validation error
              80Approved for purchase amount only
              81Unable to verify PIN
              82Invalid CVV
              83Not refused
              84Invalid transaction lifecycle
              85No key to use
              86KME synchronization error
              87PIN error
              88MAC synchronization error
              89Security violation
              90Temporary system shutdown
              91Card transmitter inaccessible
              92Card issuer unknown
              93Transacation cannot be finalized
              94Duplicate request
              95Contact acquirer
              96System malfunction
              97No Funds Transfer
              98Duplicate Reversal
              99Duplicate Transaction
              N3Cash Service Not Available
              N4Cash Back Request Exceeds Issuer Limit
              N7Declined for CVV2 failure
              R0Stop Payment Order
              R1Revocation of Authorisation Order
              R3Revocation of all Authorisations Order
              A0Withdrawal in contact mode
              A1VADS fallback
              000Approved
              001Approve with ID
              002Partial approval (prepaid cards only)
              100Reject
              101Card expired / invalid expiry date
              106PIN attempts exceeded
              107Please call issuer
              109Invalid merchant
              110Invalid amount
              111Invalid account / Invalid MICR (traveler’s check)
              115Requested function not supported
              117Invalid PIN
              119Cardholder not registered / not authorized
              122Invalid card security code (alias CID, 4DBC, 4CSC)
              125Invalid effective date
              181Format error
              183Invalid currency code
              187Refuse – New card issued
              189Refuse – Merchant cancelled or closed / SE
              200Refuse – Pick up card
              900Accepted – ATC synchronization
              909System malfunction (cryptographic error)
              912Issuer not available

              Currency codes

              List of currency codes:

              AED
              UAE Dirham
              Currency code: 784
              AFN
              Afghani
              Currency code: 971
              ALL
              Lek
              Currency code: 008
              AMD
              Armenian Dram
              Currency code: 051
              ANG
              Netherlands Antillean Guilder
              Currency code: 532
              AOA
              Kwanza
              Currency code: 973
              ARS
              Argentine Peso
              Currency code: 032
              AUD
              Australian Dollar
              Currency code: 036
              AWG
              Aruban Florin
              Currency code: 533
              AZN
              Azerbaijanian Manat
              Currency code: 944
              BAM
              Convertible Mark
              Currency code: 977
              BBD
              Barbados Dollar
              Currency code: 052
              BDT
              Taka
              Currency code: 050
              BGN
              Bulgarian Lev
              Currency code: 975
              BHD
              Bahraini Dinar
              Currency code: 048
              BIF
              Burundi Franc
              Currency code: 108
              BMD
              Bermudian Dollar
              Currency code: 060
              BND
              Brunei Dollar
              Currency code: 096
              BOB
              Boliviano
              Currency code: 068
              BOV
              Mvdol
              Currency code: 984
              BRL
              Brazilian Real
              Currency code: 986
              BSD
              Bahamian Dollar
              Currency code: 044
              BTN
              Ngultrum
              Currency code: 064
              BWP
              Pula
              Currency code: 072
              BYR
              Belarussian Ruble
              Currency code: 974
              BZD
              Belize Dollar
              Currency code: 084
              CAD
              Canadian Dollar
              Currency code: 124
              CDF
              Congolese Franc
              Currency code: 976
              CHE
              WIR Euro
              Currency code: 947
              CHF
              Swiss Franc
              Currency code: 756
              CHW
              WIR Franc
              Currency code: 948
              CLF
              Unidad de Fomento
              Currency code: 990
              CLP
              Chilean Peso
              Currency code: 152
              CNY
              Yuan Renminbi
              Currency code: 156
              COP
              Colombian Peso
              Currency code: 170
              COU
              Unidad de Valor Real
              Currency code: 970
              CRC
              Costa Rican Colon
              Currency code: 188
              CUC
              Peso Convertible
              Currency code: 931
              CUP
              Cuban Peso
              Currency code: 192
              CVE
              Cabo Verde Escudo
              Currency code: 132
              CZK
              Czech Koruna
              Currency code: 203
              DJF
              Djibouti Franc
              Currency code: 262
              DKK
              Danish Krone
              Currency code: 208
              DOP
              Dominican Peso
              Currency code: 214
              DZD
              Algerian Dinar
              Currency code: 012
              EGP
              Egyptian Pound
              Currency code: 818
              ERN
              Nakfa
              Currency code: 232
              ETB
              Ethiopian Birr
              Currency code: 230
              EUR
              Euro
              Currency code: 978
              FJD
              Fiji Dollar
              Currency code: 242
              FKP
              Falkland Islands Pound
              Currency code: 238
              GBP
              Pound Sterling
              Currency code: 826
              GEL
              Lari
              Currency code: 981
              GHS
              Ghana Cedi
              Currency code: 936
              GIP
              Gibraltar Pound
              Currency code: 292
              GMD
              Dalasi
              Currency code: 270
              GNF
              Guinea Franc
              Currency code: 324
              GTQ
              Quetzal
              Currency code: 320
              GYD
              Guyana Dollar
              Currency code: 328
              HKD
              Hong Kong Dollar
              Currency code: 344
              HNL
              Lempira
              Currency code: 340
              HRK
              Kuna
              Currency code: 191
              HTG
              Gourde
              Currency code: 332
              HUF
              Forint
              Currency code: 348
              IDR
              Rupiah
              Currency code: 360
              ILS
              New Israeli Sheqel
              Currency code: 376
              INR
              Indian Rupee
              Currency code: 356
              IQD
              Iraqi Dinar
              Currency code: 368
              IRR
              Iranian Rial
              Currency code: 364
              ISK
              Iceland Krona
              Currency code: 352
              JMD
              Jamaican Dollar
              Currency code: 388
              JOD
              Jordanian Dinar
              Currency code: 400
              JPY
              Yen
              Currency code: 392
              KES
              Kenyan Shilling
              Currency code: 404
              KGS
              Som
              Currency code: 417
              KHR
              Riel
              Currency code: 116
              KMF
              Comoro Franc
              Currency code: 174
              KPW
              North Korean Won
              Currency code: 408
              KRW
              Won
              Currency code: 410
              KWD
              Kuwaiti Dinar
              Currency code: 414
              KYD
              Cayman Islands Dollar
              Currency code: 136
              KZT
              Tenge
              Currency code: 398
              LAK
              Kip
              Currency code: 418
              LBP
              Lebanese Pound
              Currency code: 422
              LKR
              Sri Lanka Rupee
              Currency code: 144
              LRD
              Liberian Dollar
              Currency code: 430
              LSL
              Loti
              Currency code: 426
              LYD
              Libyan Dinar
              Currency code: 434
              MAD
              Moroccan Dirham
              Currency code: 504
              MDL
              Moldovan Leu
              Currency code: 498
              MGA
              Malagasy Ariary
              Currency code: 969
              MKD
              Denar
              Currency code: 807
              MMK
              Kyat
              Currency code: 104
              MNT
              Tugrik
              Currency code: 496
              MOP
              Pataca
              Currency code: 446
              MRO
              Ouguiya
              Currency code: 478
              MUR
              Mauritius Rupee
              Currency code: 480
              MVR
              Rufiyaa
              Currency code: 462
              MWK
              Kwacha
              Currency code: 454
              MXN
              Mexican Peso
              Currency code: 484
              MXV
              Mexican Unidad de Inversion (UDI)
              Currency code: 979
              MYR
              Malaysian Ringgit
              Currency code: 458
              MZN
              Mozambique Metical
              Currency code: 943
              NAD
              Namibia Dollar
              Currency code: 516
              NGN
              Naira
              Currency code: 566
              NIO
              Cordoba Oro
              Currency code: 558
              NOK
              Norwegian Krone
              Currency code: 578
              NPR
              Nepalese Rupee
              Currency code: 524
              NZD
              New Zealand Dollar
              Currency code: 554
              OMR
              Rial Omani
              Currency code: 512
              PAB
              Balboa
              Currency code: 590
              PEN
              Nuevo Sol
              Currency code: 604
              PGK
              Kina
              Currency code: 598
              PHP
              Philippine Peso
              Currency code: 608
              PKR
              Pakistan Rupee
              Currency code: 586
              PLN
              Zloty
              Currency code: 985
              PYG
              Guarani
              Currency code: 600
              QAR
              Qatari Rial
              Currency code: 634
              RON
              Romanian Leu
              Currency code: 946
              RSD
              Serbian Dinar
              Currency code: 941
              RUB
              Russian Ruble
              Currency code: 643
              RWF
              Rwanda Franc
              Currency code: 646
              SAR
              Saudi Riyal
              Currency code: 682
              SBD
              Solomon Islands Dollar
              Currency code: 090
              SCR
              Seychelles Rupee
              Currency code: 690
              SDG
              Sudanese Pound
              Currency code: 938
              SEK
              Swedish Krona
              Currency code: 752
              SGD
              Singapore Dollar
              Currency code: 702
              SHP
              Saint Helena Pound
              Currency code: 654
              SLL
              Leone
              Currency code: 694
              SOS
              Somali Shilling
              Currency code: 706
              SRD
              Surinam Dollar
              Currency code: 968
              SSP
              South Sudanese Pound
              Currency code: 728
              STD
              Dobra
              Currency code: 678
              SVC
              El Salvador Colon
              Currency code: 222
              SYP
              Syrian Pound
              Currency code: 760
              SZL
              Lilangeni
              Currency code: 748
              THB
              Baht
              Currency code: 764
              TJS
              Somoni
              Currency code: 972
              TMT
              Turkmenistan New Manat
              Currency code: 934
              TND
              Tunisian Dinar
              Currency code: 788
              TOP
              Pa’anga
              Currency code: 776
              TRY
              Turkish Lira
              Currency code: 949
              TTD
              Trinidad and Tobago Dollar
              Currency code: 780
              TWD
              New Taiwan Dollar
              Currency code: 901
              TZS
              Tanzanian Shilling
              Currency code: 834
              UAH
              Hryvnia
              Currency code: 980
              UGX
              Uganda Shilling
              Currency code: 800
              USD
              US Dollar
              Currency code: 840
              USN
              US Dollar (Next day)
              Currency code: 997
              UYI
              Uruguay Peso en Unidades Indexadas (URUIURUI)
              Currency code: 940
              UYU
              Peso Uruguayo
              Currency code: 858
              UZS
              Uzbekistan Sum
              Currency code: 860
              VEF
              Bolivar
              Currency code: 937
              VND
              Dong
              Currency code: 704
              VUV
              Vatu
              Currency code: 548
              WST
              Tala
              Currency code: 882
              XAG
              Silver
              Currency code: 961
              XAU
              Gold
              Currency code: 959
              XBA
              Bond Markets Unit European Composite Unit (EURCO)
              Currency code: 955
              XBB
              Bond Markets Unit European Monetary Unit (E.M.U.-6)
              Currency code: 956
              XBC
              Bond Markets Unit European Unit of Account 9 (E.U.A.-9)
              Currency code: 957
              XBD
              Bond Markets Unit European Unit of Account 17 (E.U.A.-17)
              Currency code: 958
              XCD
              East Caribbean Dollar
              Currency code: 951
              XDR
              SDR (Special Drawing Right)
              Currency code: 960
              XOF
              CFA Franc BCEAO
              Currency code: 952
              XPD
              Palladium
              Currency code: 964
              XPF
              CFP Franc
              Currency code: 953
              XPT
              Platinum
              Currency code: 962
              XSU
              Sucre
              Currency code: 994
              XTS
              Codes specifically reserved for testing purposes
              Currency code: 963
              XUA
              ADB Unit of Account
              Currency code: 965
              XXX
              The codes assigned for transactions where no currency is involved
              Currency code: 999
              YER
              Yemeni Rial
              Currency code: 886
              ZAR
              Rand
              Currency code: 710
              ZMW
              Zambian Kwacha
              Currency code: 967
              ZWL
              Zimbabwe Dollar
              Currency code: 932

              Description of the certification « ISO 4217:2008 » is available at this url:

              • http://www.iso.org/iso/home/standards/currency_codes.htm

              SDD return codes

              Return CodeDescription
              AB05Timeout Creditor Agent
              AB06Timeout Instructed Agent
              AB07Offline Agent
              AB08Offline Creditor Agent
              AB09Error Creditor Agent
              AB10Error Instructed Agent
              AC01Incorrect Account Number
              AC03Invalid Creditor Account Number
              AC04Account Closed
              AC06Account blocked, reason not specified
              AC13Wrong Debtor account
              AG01Forbidden on this type of account
              AG02Operation/Transaction code incorrect, invalid file format
              AG09Payment Not Received
              AG10Agent Suspended
              AG11Creditor Agent Suspended
              AGNTIncorrect Agent
              AM02Not Allowed Amount
              AM04Insufficient Funds
              AM05Duplicate payment
              AM09Wrong Amount
              AM23Amount Exceeds Settlement Limit
              ARDTAlready a returned transaction
              BE04Account address invalid
              BE05Creditor Identifier incorrect
              CUSTCustomer decision
              CURRIncorrect Currency
              CUTACancellation Upon Unable to Apply
              CNORCreditor Bank is not Registered
              DNORDebtor Bank is not Registered
              DUPLDuplicate Payment
              ED05Settlement Failed
              ERINERI Option Not Supported
              FF01Invalid File Format
              FOCRPositive answer to the recall or RfRO
              FRADFraudulent originated credit transfer
              LEGLLegal Decision
              MD01No valid mandate
              MD02Mandate data missing or invalid
              MD06Refund Request By End Customer
              MD07Beneficiary Deceased
              MS02By order of the beneficiary
              MS03Reason not specified
              NOASNo Answer From Customer
              NOORNo Original Transaction Received
              RC01Invalid BIC
              RC07Invalid Creditor BIC Identifier
              RR01Missing Debtor Account Or Identification
              RR02Missing Debtors Name Or Address
              RR03Missing Creditors Name Or Address
              RR04Regulatory Reason
              SL01Specific service offered by debtor Bank
              TECHTechnical problems resulting in erroneous SCT’s
              TM01Invalid Cut Off Time
              UPAYUndue Payment

              Country codes

              List of country codes:

              004
              Afghanistan
              Alpha2 code: AF
              Alpha3 code: AFG
              008
              Albania
              Alpha2 code: AL
              Alpha3 code: ALB
              010
              Antarctica
              Alpha2 code: AQ
              Alpha3 code: ATA
              012
              Algeria
              Alpha2 code: DZ
              Alpha3 code: DZA
              016
              American Samoa
              Alpha2 code: AS
              Alpha3 code: ASM
              020
              Andorra
              Alpha2 code: AD
              Alpha3 code: AND
              024
              Angola
              Alpha2 code: AO
              Alpha3 code: AGO
              028
              Antigua and Barbuda
              Alpha2 code: AG
              Alpha3 code: ATG
              031
              Azerbaijan
              Alpha2 code: AZ
              Alpha3 code: AZE
              032
              Argentina
              Alpha2 code: AR
              Alpha3 code: ARG
              036
              Australia
              Alpha2 code: AU
              Alpha3 code: AUS
              040
              Austria
              Alpha2 code: AT
              Alpha3 code: AUT
              044
              Bahamas (the)
              Alpha2 code: BS
              Alpha3 code: BHS
              048
              Bahrain
              Alpha2 code: BH
              Alpha3 code: BHR
              050
              Bangladesh
              Alpha2 code: BD
              Alpha3 code: BGD
              051
              Armenia
              Alpha2 code: AM
              Alpha3 code: ARM
              052
              Barbados
              Alpha2 code: BB
              Alpha3 code: BRB
              056
              Belgium
              Alpha2 code: BE
              Alpha3 code: BEL
              060
              Bermuda
              Alpha2 code: BM
              Alpha3 code: BMU
              064
              Bhutan
              Alpha2 code: BT
              Alpha3 code: BTN
              068
              Bolivia, Plurinational State of
              Alpha2 code: BO
              Alpha3 code: BOL
              070
              Bosnia and Herzegovina
              Alpha2 code: BA
              Alpha3 code: BIH
              072
              Botswana
              Alpha2 code: BW
              Alpha3 code: BWA
              074
              Bouvet Island
              Alpha2 code: BV
              Alpha3 code: BVT
              076
              Brazil
              Alpha2 code: BR
              Alpha3 code: BRA
              084
              Belize
              Alpha2 code: BZ
              Alpha3 code: BLZ
              086
              British Indian Ocean Territory (the)
              Alpha2 code: IO
              Alpha3 code: IOT
              090
              Solomon Islands (the)
              Alpha2 code: SB
              Alpha3 code: SLB
              092
              Virgin Islands (British)
              Alpha2 code: VG
              Alpha3 code: VGB
              096
              Brunei Darussalam
              Alpha2 code: BN
              Alpha3 code: BRN
              100
              Bulgaria
              Alpha2 code: BG
              Alpha3 code: BGR
              104
              Myanmar
              Alpha2 code: MM
              Alpha3 code: MMR
              108
              Burundi
              Alpha2 code: BI
              Alpha3 code: BDI
              112
              Belarus
              Alpha2 code: BY
              Alpha3 code: BLR
              116
              Cambodia
              Alpha2 code: KH
              Alpha3 code: KHM
              120
              Cameroon
              Alpha2 code: CM
              Alpha3 code: CMR
              124
              Canada
              Alpha2 code: CA
              Alpha3 code: CAN
              132
              Cape Verde
              Alpha2 code: CV
              Alpha3 code: CPV
              136
              Cayman Islands (the)
              Alpha2 code: KY
              Alpha3 code: CYM
              140
              Central African Republic (the)
              Alpha2 code: CF
              Alpha3 code: CAF
              144
              Sri Lanka
              Alpha2 code: LK
              Alpha3 code: LKA
              148
              Chad
              Alpha2 code: TD
              Alpha3 code: TCD
              152
              Chile
              Alpha2 code: CL
              Alpha3 code: CHL
              156
              China
              Alpha2 code: CN
              Alpha3 code: CHN
              158
              Taiwan (Province of China)
              Alpha2 code: TW
              Alpha3 code: TWN
              162
              Christmas Island
              Alpha2 code: CX
              Alpha3 code: CXR
              166
              Cocos (Keeling) Islands (the)
              Alpha2 code: CC
              Alpha3 code: CCK
              170
              Colombia
              Alpha2 code: CO
              Alpha3 code: COL
              174
              Comoros
              Alpha2 code: KM
              Alpha3 code: COM
              175
              Mayotte
              Alpha2 code: YT
              Alpha3 code: MYT
              178
              Congo
              Alpha2 code: CG
              Alpha3 code: COG
              180
              Congo (the Democratic Republic of the)
              Alpha2 code: CD
              Alpha3 code: COD
              184
              Cook Islands (the)
              Alpha2 code: CK
              Alpha3 code: COK
              188
              Costa Rica
              Alpha2 code: CR
              Alpha3 code: CRI
              191
              Croatia
              Alpha2 code: HR
              Alpha3 code: HRV
              192
              Cuba
              Alpha2 code: CU
              Alpha3 code: CUB
              196
              Cyprus
              Alpha2 code: CY
              Alpha3 code: CYP
              203
              Czech Republic (the)
              Alpha2 code: CZ
              Alpha3 code: CZE
              204
              Benin
              Alpha2 code: BJ
              Alpha3 code: BEN
              208
              Denmark
              Alpha2 code: DK
              Alpha3 code: DNK
              212
              Dominica
              Alpha2 code: DM
              Alpha3 code: DMA
              214
              Dominican Republic (the)
              Alpha2 code: DO
              Alpha3 code: DOM
              218
              Ecuador
              Alpha2 code: EC
              Alpha3 code: ECU
              222
              El Salvador
              Alpha2 code: SV
              Alpha3 code: SLV
              226
              Equatorial Guinea
              Alpha2 code: GQ
              Alpha3 code: GNQ
              231
              Ethiopia
              Alpha2 code: ET
              Alpha3 code: ETH
              232
              Eritrea
              Alpha2 code: ER
              Alpha3 code: ERI
              233
              Estonia
              Alpha2 code: EE
              Alpha3 code: EST
              234
              Faroe Islands (the)
              Alpha2 code: FO
              Alpha3 code: FRO
              238
              Falkland Islands (the) [Malvinas]
              Alpha2 code: FK
              Alpha3 code: FLK
              239
              South Georgia and the South Sandwich Islands
              Alpha2 code: GS
              Alpha3 code: SGS
              242
              Fiji
              Alpha2 code: FJ
              Alpha3 code: FJI
              246
              Finland
              Alpha2 code: FI
              Alpha3 code: FIN
              248
              Ã…land Islands
              Alpha2 code: AX
              Alpha3 code: ALA
              250
              France
              Alpha2 code: FR
              Alpha3 code: FRA
              254
              French Guiana
              Alpha2 code: GF
              Alpha3 code: GUF
              258
              French Polynesia
              Alpha2 code: PF
              Alpha3 code: PYF
              260
              French Southern Territories (the)
              Alpha2 code: TF
              Alpha3 code: ATF
              262
              Djibouti
              Alpha2 code: DJ
              Alpha3 code: DJI
              266
              Gabon
              Alpha2 code: GA
              Alpha3 code: GAB
              268
              Georgia
              Alpha2 code: GE
              Alpha3 code: GEO
              270
              Gambia (The)
              Alpha2 code: GM
              Alpha3 code: GMB
              275
              Palestine, State of
              Alpha2 code: PS
              Alpha3 code: PSE
              276
              Germany
              Alpha2 code: DE
              Alpha3 code: DEU
              288
              Ghana
              Alpha2 code: GH
              Alpha3 code: GHA
              292
              Gibraltar
              Alpha2 code: GI
              Alpha3 code: GIB
              296
              Kiribati
              Alpha2 code: KI
              Alpha3 code: KIR
              300
              Greece
              Alpha2 code: GR
              Alpha3 code: GRC
              304
              Greenland
              Alpha2 code: GL
              Alpha3 code: GRL
              308
              Grenada
              Alpha2 code: GD
              Alpha3 code: GRD
              312
              Guadeloupe
              Alpha2 code: GP
              Alpha3 code: GLP
              316
              Guam
              Alpha2 code: GU
              Alpha3 code: GUM
              320
              Guatemala
              Alpha2 code: GT
              Alpha3 code: GTM
              324
              Guinea
              Alpha2 code: GN
              Alpha3 code: GIN
              328
              Guyana
              Alpha2 code: GY
              Alpha3 code: GUY
              332
              Haiti
              Alpha2 code: HT
              Alpha3 code: HTI
              334
              Heard Island and McDonald Islands
              Alpha2 code: HM
              Alpha3 code: HMD
              336
              Holy See (the) [Vatican City State]
              Alpha2 code: VA
              Alpha3 code: VAT
              340
              Honduras
              Alpha2 code: HN
              Alpha3 code: HND
              344
              Hong Kong
              Alpha2 code: HK
              Alpha3 code: HKG
              348
              Hungary
              Alpha2 code: HU
              Alpha3 code: HUN
              352
              Iceland
              Alpha2 code: IS
              Alpha3 code: ISL
              356
              India
              Alpha2 code: IN
              Alpha3 code: IND
              360
              Indonesia
              Alpha2 code: ID
              Alpha3 code: IDN
              364
              Iran (the Islamic Republic of)
              Alpha2 code: IR
              Alpha3 code: IRN
              368
              Iraq
              Alpha2 code: IQ
              Alpha3 code: IRQ
              372
              Ireland
              Alpha2 code: IE
              Alpha3 code: IRL
              376
              Israel
              Alpha2 code: IL
              Alpha3 code: ISR
              380
              Italy
              Alpha2 code: IT
              Alpha3 code: ITA
              384
              Ivory coast
              Alpha2 code: CI
              Alpha3 code: CIV
              388
              Jamaica
              Alpha2 code: JM
              Alpha3 code: JAM
              392
              Japan
              Alpha2 code: JP
              Alpha3 code: JPN
              398
              Kazakhstan
              Alpha2 code: KZ
              Alpha3 code: KAZ
              400
              Jordan
              Alpha2 code: JO
              Alpha3 code: JOR
              404
              Kenya
              Alpha2 code: KE
              Alpha3 code: KEN
              408
              Korea (the Democratic People’s Republic of)
              Alpha2 code: KP
              Alpha3 code: PRK
              410
              Korea (the Republic of)
              Alpha2 code: KR
              Alpha3 code: KOR
              414
              Kuwait
              Alpha2 code: KW
              Alpha3 code: KWT
              417
              Kyrgyzstan
              Alpha2 code: KG
              Alpha3 code: KGZ
              418
              Lao People’s Democratic Republic (the)
              Alpha2 code: LA
              Alpha3 code: LAO
              422
              Lebanon
              Alpha2 code: LB
              Alpha3 code: LBN
              426
              Lesotho
              Alpha2 code: LS
              Alpha3 code: LSO
              428
              Latvia
              Alpha2 code: LV
              Alpha3 code: LVA
              430
              Liberia
              Alpha2 code: LR
              Alpha3 code: LBR
              434
              Libya
              Alpha2 code: LY
              Alpha3 code: LBY
              438
              Liechtenstein
              Alpha2 code: LI
              Alpha3 code: LIE
              440
              Lithuania
              Alpha2 code: LT
              Alpha3 code: LTU
              442
              Luxembourg
              Alpha2 code: LU
              Alpha3 code: LUX
              446
              Macao
              Alpha2 code: MO
              Alpha3 code: MAC
              450
              Madagascar
              Alpha2 code: MG
              Alpha3 code: MDG
              454
              Malawi
              Alpha2 code: MW
              Alpha3 code: MWI
              458
              Malaysia
              Alpha2 code: MY
              Alpha3 code: MYS
              462
              Maldives
              Alpha2 code: MV
              Alpha3 code: MDV
              466
              Mali
              Alpha2 code: ML
              Alpha3 code: MLI
              470
              Malta
              Alpha2 code: MT
              Alpha3 code: MLT
              474
              Martinique
              Alpha2 code: MQ
              Alpha3 code: MTQ
              478
              Mauritania
              Alpha2 code: MR
              Alpha3 code: MRT
              480
              Mauritius
              Alpha2 code: MU
              Alpha3 code: MUS
              484
              Mexico
              Alpha2 code: MX
              Alpha3 code: MEX
              492
              Monaco
              Alpha2 code: MC
              Alpha3 code: MCO
              496
              Mongolia
              Alpha2 code: MN
              Alpha3 code: MNG
              498
              Moldova (the Republic of)
              Alpha2 code: MD
              Alpha3 code: MDA
              499
              Montenegro
              Alpha2 code: ME
              Alpha3 code: MNE
              500
              Montserrat
              Alpha2 code: MS
              Alpha3 code: MSR
              504
              Morocco
              Alpha2 code: MA
              Alpha3 code: MAR
              508
              Mozambique
              Alpha2 code: MZ
              Alpha3 code: MOZ
              512
              Oman
              Alpha2 code: OM
              Alpha3 code: OMN
              516
              Namibia
              Alpha2 code: NA
              Alpha3 code: NAM
              520
              Nauru
              Alpha2 code: NR
              Alpha3 code: NRU
              524
              Nepal
              Alpha2 code: NP
              Alpha3 code: NPL
              528
              Netherlands (the)
              Alpha2 code: NL
              Alpha3 code: NLD
              531
              Curacao
              Alpha2 code: CW
              Alpha3 code: CUW
              533
              Aruba
              Alpha2 code: AW
              Alpha3 code: ABW
              534
              Sint Maarten (Dutch part)
              Alpha2 code: SX
              Alpha3 code: SXM
              535
              Bonaire, Sint Eustatius and Saba
              Alpha2 code: BQ
              Alpha3 code: BES
              540
              New Caledonia
              Alpha2 code: NC
              Alpha3 code: NCL
              548
              Vanuatu
              Alpha2 code: VU
              Alpha3 code: VUT
              554
              New Zealand
              Alpha2 code: NZ
              Alpha3 code: NZL
              558
              Nicaragua
              Alpha2 code: NI
              Alpha3 code: NIC
              562
              Niger (the)
              Alpha2 code: NE
              Alpha3 code: NER
              566
              Nigeria
              Alpha2 code: NG
              Alpha3 code: NGA
              570
              Niue
              Alpha2 code: NU
              Alpha3 code: NIU
              574
              Norfolk Island
              Alpha2 code: NF
              Alpha3 code: NFK
              578
              Norway
              Alpha2 code: NO
              Alpha3 code: NOR
              580
              Northern Mariana Islands (the)
              Alpha2 code: MP
              Alpha3 code: MNP
              581
              United States Minor Outlying Islands (the)
              Alpha2 code: UM
              Alpha3 code: UMI
              583
              Micronesia (the Federated States of)
              Alpha2 code: FM
              Alpha3 code: FSM
              584
              Marshall Islands (the)
              Alpha2 code: MH
              Alpha3 code: MHL
              585
              Palau
              Alpha2 code: PW
              Alpha3 code: PLW
              586
              Pakistan
              Alpha2 code: PK
              Alpha3 code: PAK
              591
              Panama
              Alpha2 code: PA
              Alpha3 code: PAN
              598
              Papua New Guinea
              Alpha2 code: PG
              Alpha3 code: PNG
              600
              Paraguay
              Alpha2 code: PY
              Alpha3 code: PRY
              604
              Peru
              Alpha2 code: PE
              Alpha3 code: PER
              608
              Philippines (the)
              Alpha2 code: PH
              Alpha3 code: PHL
              612
              Pitcairn
              Alpha2 code: PN
              Alpha3 code: PCN
              616
              Poland
              Alpha2 code: PL
              Alpha3 code: POL
              620
              Portugal
              Alpha2 code: PT
              Alpha3 code: PRT
              624
              Guinea-Bissau
              Alpha2 code: GW
              Alpha3 code: GNB
              626
              Timor-Leste
              Alpha2 code: TL
              Alpha3 code: TLS
              630
              Puerto Rico
              Alpha2 code: PR
              Alpha3 code: PRI
              634
              Qatar
              Alpha2 code: QA
              Alpha3 code: QAT
              638
              Réunion
              Alpha2 code: RE
              Alpha3 code: REU
              642
              Romania
              Alpha2 code: RO
              Alpha3 code: ROU
              643
              Russian Federation (the)
              Alpha2 code: RU
              Alpha3 code: RUS
              646
              Rwanda
              Alpha2 code: RW
              Alpha3 code: RWA
              652
              Saint Barthélemy
              Alpha2 code: BL
              Alpha3 code: BLM
              654
              Saint Helena, Ascension and Tristan da Cunha
              Alpha2 code: SH
              Alpha3 code: SHN
              659
              Saint Kitts and Nevis
              Alpha2 code: KN
              Alpha3 code: KNA
              660
              Anguilla
              Alpha2 code: AI
              Alpha3 code: AIA
              662
              Saint Lucia
              Alpha2 code: LC
              Alpha3 code: LCA
              663
              Saint Martin (French part)
              Alpha2 code: MF
              Alpha3 code: MAF
              666
              Saint Pierre and Miquelon
              Alpha2 code: PM
              Alpha3 code: SPM
              670
              Saint Vincent and the Grenadines
              Alpha2 code: VC
              Alpha3 code: VCT
              674
              San Marino
              Alpha2 code: SM
              Alpha3 code: SMR
              678
              Sao Tome and Principe
              Alpha2 code: ST
              Alpha3 code: STP
              682
              Saudi Arabia
              Alpha2 code: SA
              Alpha3 code: SAU
              686
              Senegal
              Alpha2 code: SN
              Alpha3 code: SEN
              688
              Serbia
              Alpha2 code: RS
              Alpha3 code: SRB
              690
              Seychelles
              Alpha2 code: SC
              Alpha3 code: SYC
              694
              Sierra Leone
              Alpha2 code: SL
              Alpha3 code: SLE
              702
              Singapore
              Alpha2 code: SG
              Alpha3 code: SGP
              703
              Slovakia
              Alpha2 code: SK
              Alpha3 code: SVK
              704
              Viet Nam
              Alpha2 code: VN
              Alpha3 code: VNM
              705
              Slovenia
              Alpha2 code: SI
              Alpha3 code: SVN
              706
              Somalia
              Alpha2 code: SO
              Alpha3 code: SOM
              710
              South Africa
              Alpha2 code: ZA
              Alpha3 code: ZAF
              716
              Zimbabwe
              Alpha2 code: ZW
              Alpha3 code: ZWE
              724
              Spain
              Alpha2 code: ES
              Alpha3 code: ESP
              728
              South Sudan
              Alpha2 code: SS
              Alpha3 code: SSD
              729
              Sudan (the)
              Alpha2 code: SD
              Alpha3 code: SDN
              732
              Western Sahara
              Alpha2 code: EH
              Alpha3 code: ESH
              740
              Suriname
              Alpha2 code: SR
              Alpha3 code: SUR
              744
              Svalbard and Jan Mayen
              Alpha2 code: SJ
              Alpha3 code: SJM
              748
              Swaziland
              Alpha2 code: SZ
              Alpha3 code: SWZ
              752
              Sweden
              Alpha2 code: SE
              Alpha3 code: SWE
              756
              Switzerland
              Alpha2 code: CH
              Alpha3 code: CHE
              760
              Syrian Arab Republic (the)
              Alpha2 code: SY
              Alpha3 code: SYR
              762
              Tajikistan
              Alpha2 code: TJ
              Alpha3 code: TJK
              764
              Thailand
              Alpha2 code: TH
              Alpha3 code: THA
              768
              Togo
              Alpha2 code: TG
              Alpha3 code: TGO
              772
              Tokelau
              Alpha2 code: TK
              Alpha3 code: TKL
              776
              Tonga
              Alpha2 code: TO
              Alpha3 code: TON
              780
              Trinidad and Tobago
              Alpha2 code: TT
              Alpha3 code: TTO
              784
              United Arab Emirates (the)
              Alpha2 code: AE
              Alpha3 code: ARE
              788
              Tunisia
              Alpha2 code: TN
              Alpha3 code: TUN
              792
              Turkey
              Alpha2 code: TR
              Alpha3 code: TUR
              795
              Turkmenistan
              Alpha2 code: TM
              Alpha3 code: TKM
              796
              Turks and Caicos Islands (the)
              Alpha2 code: TC
              Alpha3 code: TCA
              798
              Tuvalu
              Alpha2 code: TV
              Alpha3 code: TUV
              800
              Uganda
              Alpha2 code: UG
              Alpha3 code: UGA
              804
              Ukraine
              Alpha2 code: UA
              Alpha3 code: UKR
              807
              Macedonia (the former Yugoslav Republic of)
              Alpha2 code: MK
              Alpha3 code: MKD
              818
              Egypt
              Alpha2 code: EG
              Alpha3 code: EGY
              826
              United Kingdom (the)
              Alpha2 code: GB
              Alpha3 code: GBR
              831
              Guernsey
              Alpha2 code: GG
              Alpha3 code: GGY
              832
              Jersey
              Alpha2 code: JE
              Alpha3 code: JEY
              833
              Isle of Man
              Alpha2 code: IM
              Alpha3 code: IMN
              834
              Tanzania, United Republic of
              Alpha2 code: TZ
              Alpha3 code: TZA
              840
              United States (the)
              Alpha2 code: US
              Alpha3 code: USA
              850
              Virgin Islands (U.S.)
              Alpha2 code: VI
              Alpha3 code: VIR
              854
              Burkina Faso
              Alpha2 code: BF
              Alpha3 code: BFA
              858
              Uruguay
              Alpha2 code: UY
              Alpha3 code: URY
              860
              Uzbekistan
              Alpha2 code: UZ
              Alpha3 code: UZB
              862
              Venezuela, Bolivarian Republic of
              Alpha2 code: VE
              Alpha3 code: VEN
              876
              Wallis and Futuna
              Alpha2 code: WF
              Alpha3 code: WLF
              882
              Samoa
              Alpha2 code: WS
              Alpha3 code: WSM
              887
              Yemen
              Alpha2 code: YE
              Alpha3 code: YEM
              894
              Zambia  
              Alpha2 code: ZM
              Alpha3 code: ZMB

              Transfer purpose codes

              ACCT : AccountManagement
              ADCS : AdvisoryDonationCopyrightServices
              ADMG : AdministrativeManagement
              ADVA : AdvancePayment
              AEMP : ActiveEmploymentPolicy
              AGRT : AgriculturalTransfer
              AIRB : Air
              ALLW : Allowance
              ALMY : AlimonyPayment
              AMEX : Amex
              ANNI : Annuity
              ANTS : AnesthesiaServices
              AREN : AccountsReceivablesEntry
              AUCO : AuthenticatedCollections
              B112 : TrailerFeePayment
              BBSC : BabyBonusScheme
              BCDM : BearerChequeDomestic
              BCFG : BearerChequeForeign
              BECH : ChildBenefit
              BENE : UnemploymentDisabilityBenefit
              BEXP : BusinessExpenses
              BFWD : BondForward
              BKDF : BankLoanDelayedDrawFunding
              BKFE : BankLoanFees
              BKFM : BankLoanFundingMemo
              BKIP : BankLoanAccruedInterestPayment
              BKPP : BankLoanPrincipalPaydown
              BLDM : BuildingMaintenance
              BNET : BondForwardNetting
              BOCE : BackOfficeConversionEntry
              BOND : Bonds
              BONU : BonusPayment.
              BR12 : TrailerFeeRebate
              BUSB : Bus
              CABD : CorporateActions-Bonds
              CAEQ : CorporateActions-Equities
              CAFI : CustodianManagementFeeInhouse
              CASH : CashManagementTransfer
              CBCR : CreditCard
              CBFF : CapitalBuilding
              CBFR : CapitalBuildingRetirement
              CBLK : CardBulkClearing
              CBTV : CableTVBill
              CCHD : CashCompensationHelplessnessDisability
              CCIR : CrossCurrencyIRS
              CCPC : CCPClearedInitialMargin
              CCPM : CCPClearedVariationMargin
              CCRD : CreditCardPayment
              CCSM : CCPClearedInitialMarginSegregatedCash
              CDBL : CreditCardBill
              CDCB : CardPaymentWithCashBack
              CDCD : CashDisbursementCashSettlement
              CDCS : CashDisbursementWithSurcharging
              CDDP : CardDeferredPayment
              CDEP : CreditDefaultEventPayment
              CDOC : OriginalCredit
              CDQC : QuasiCash
              CFDI : CapitalFallingDueInhouse
              CFEE : CancellationFee
              CGDD : CardGeneratedDirectDebit
              CHAR : CharityPayment
              CLPR : CarLoanPrincipalRepayment
              CMDT : CommodityTransfer
              COLL : CollectionPayment
              COMC : CommercialPayment
              COMM : Commission
              COMP : CompensationPayment
              COMT : ConsumerThirdPartyConsolidatedPayment
              CORT : TradeSettlementPayment
              COST : Costs
              CPEN : CashPenalties
              CPKC : CarparkCharges
              CPYR : Copyright
              CRDS : CreditDefaultSwap
              CRPR : CrossProduct
              CRSP : CreditSupport
              CRTL : CreditLine
              CSDB : CashDisbursementCashManagement
              CSLP : CompanySocialLoanPaymentToBank
              CVCF : ConvalescentCareFacility
              DBCR : DebitCard
              DBTC : DebitCollectionPayment
              DCRD : DebitCardPayment
              DEBT : ChargesBorneByDebtor
              DEPD : DependentSupportPayment
              DEPT : Deposit
              DERI : Derivatives
              DICL : Diners
              DIVD : Dividend
              DMEQ : DurableMedicaleEquipment
              DNTS : DentalServices
              DSMT : PrintedOrderDisbursement
              DVPM : DeliverAgainstPayment
              ECPG : GuaranteedEPayment
              ECPR : EPaymentReturn
              ECPU : NonGuaranteedEPayment
              EDUC : Education
              EFTC : LowValueCredit
              EFTD : LowValueDebit
              ELEC : ElectricityBill
              ENRG : Energies
              EPAY : Epayment
              EQPT : EquityOption
              EQTS : Equities
              EQUS : EquitySwap
              ESTX : EstateTax
              ETUP : EPurseTopUp
              EXPT : ExoticOption
              EXTD : ExchangeTradedDerivatives
              FACT : FactorUpdateRelatedPayment
              FAND : FinancialAidInCaseOfNaturalDisaster
              FCOL : FeeCollection
              FCPM : LatePaymentOfFeesAndCharges
              FEES : PaymentOfFees
              FERB : Ferry
              FIXI : FixedIncome
              FLCR : FleetCard
              FNET : FuturesNettingPayment
              FORW : ForwardForeignExchange
              FREX : ForeignExchange
              FUTR : Futures
              FWBC : ForwardBrokerOwnedCashCollateral
              FWCC : ForwardClientOwnedCashCollateral
              FWLV : ForeignWorkerLevy
              FWSB : ForwardBrokerOwnedCashCollateralSegregated
              FWSC : ForwardClientOwnedSegregatedCashCollateral
              FXNT : ForeignExchangeRelatedNetting
              GAFA : GovernmentFamilyAllowance
              GAHO : GovernmentHousingAllowance
              GAMB : GamblingOrWageringPayment
              GASB : GasBill
              GDDS : PurchaseSaleOfGoods
              GDSV : PurchaseSaleOfGoodsAndServices
              GFRP : GuaranteeFundRightsPayment
              GIFT : Gift
              GOVI : GovernmentInsurance
              GOVT : GovernmentPayment
              GSCB : PurchaseSaleOfGoodsAndServicesWithCashBack
              GSTX : GoodsServicesTax
              GVEA : AustrianGovernmentEmployeesCategoryA
              GVEB : AustrianGovernmentEmployeesCategoryB
              GVEC : AustrianGovernmentEmployeesCategoryC
              GVED : AustrianGovernmentEmployeesCategoryD
              GWLT : GovermentWarLegislationTransfer
              HEDG : Hedging
              HLRP : PropertyLoanRepayment
              HLST : PropertyLoanSettlement
              HLTC : HomeHealthCare
              HLTI : HealthInsurance
              HREC : HousingRelatedContribution
              HSPC : HospitalCare
              HSTX : HousingTax
              ICCP : IrrevocableCreditCardPayment
              ICRF : IntermediateCareFacility
              IDCP : IrrevocableDebitCardPayment
              IHRP : InstalmentHirePurchaseAgreement
              INPC : InsurancePremiumCar
              INPR : InsurancePremiumRefund
              INSC : PaymentOfInsuranceClaim
              INSM : Installment
              INSU : InsurancePremium
              INTC : IntraCompanyPayment
              INTE : Interest
              INTP : IntraPartyPayment
              INTX : IncomeTax
              INVS : InvestmentAndSecurities
              IPAY : InstantPayments
              IPCA : InstantPaymentsCancellation
              IPDO : InstantPaymentsForDonations
              IPEA : InstantPaymentsInECommerceWithoutAddressData
              IPEC : InstantPaymentsInECommerceWithAddressData
              IPEW : InstantPaymentsInECommerce
              IPPS : InstantPaymentsAtPOS
              IPRT : InstantPaymentsReturn
              IPU2 : InstantPaymentsUnattendedVendingMachineWith2FA
              IPUW : InstantPaymentsUnattendedVendingMachineWithout2FA
              IVPT : InvoicePayment
              LBIN : LendingBuyInNetting
              LBRI : LaborInsurance
              LCOL : LendingCashCollateralFreeMovement
              LFEE : LendingFees
              LICF : LicenseFee
              LIFI : LifeInsurance
              LIMA : LiquidityManagement
              LMEQ : LendingEquityMarkedToMarketCashCollateral
              LMFI : LendingFixedIncomeMarkedToMarketCashCollateral
              LMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateral
              LOAN : Loan
              LOAR : LoanRepayment
              LOTT : LotteryPayment
              LREB : LendingRebatePayments
              LREV : LendingRevenuePayments
              LSFL : LendingClaimPayment
              LTCF : LongTermCareFacility
              MAFC : MedicalAidFundContribution
              MARF : MedicalAidRefund
              MARG : DailyMarginOnListedDerivatives
              MBSB : MBSBrokerOwnedCashCollateral
              MBSC : MBSClientOwnedCashCollateral
              MCDM : MultiCurrenyChequeDomestic
              MCFG : MultiCurrenyChequeForeign
              MDCS : MedicalServices
              MGCC : FuturesInitialMargin
              MGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateral
              MOMA : MoneyMarket
              MP2B : MobileP2BPayment
              MP2P : MobileP2PPayment
              MSVC : MultipleServiceTypes
              MTUP : MobileTopUp
              NETT : Netting
              NITX : NetIncomeTax
              NOWS : NotOtherwiseSpecified
              NWCH : NetworkCharge
              NWCM : NetworkCommunication
              OCCC : ClientOwnedOCCPledgedCollateral
              OCDM : OrderChequeDomestic
              OCFG : OrderChequeForeign
              OFEE : OpeningFee
              OPBC : OTCOptionBrokerOwnedCashCollateral
              OPCC : OTCOptionClientOwnedCashCollateral
              OPSB : OTCOptionBrokerOwnedSegregatedCashCollateral
              OPSC : OTCOptionClientOwnedCashSegregatedCashCollateral
              OPTN : FXOption
              OTCD : OTCDerivatives
              OTHR : Other
              OTLC : OtherTelecomRelatedBill
              PADD : PreauthorizedDebit
              PAYR : Payroll
              PCOM : PropertyCompletionPayment
              PDEP : PropertyDeposit
              PEFC : PensionFundContribution
              PENO : PaymentBasedOnEnforcementOrder
              PENS : PensionPayment
              PHON : TelephoneBill
              PLDS : PropertyLoanDisbursement
              PLRF : PropertyLoanRefinancing
              POPE : PointOfPurchaseEntry
              PPTI : PropertyInsurance
              PRCP : PricePayment
              PRME : PreciousMetal
              PTSP : PaymentTerms
              PTXP : PropertyTax
              RAPI : RapidPaymentInstruction
              RCKE : RepresentedCheckEntry
              RCPT : ReceiptPayment
              RDTX : RoadTax
              REBT : Rebate
              REFU : Refund
              RELG : RentalLeaseGeneral
              RENT : Rent
              REOD : AccountOverdraftRepayment
              REPO : RepurchaseAgreement
              RETL : RetailPayment
              RHBS : RehabilitationSupport
              RIMB : ReimbursementOfAPreviousErroneousTransaction
              RINP : RecurringInstallmentPayment
              RLWY : Railway
              ROYA : Royalties
              RPBC : BilateralRepoBrokerOwnedCollateral
              RPCC : RepoClientOwnedCollateral
              RPNT : BilateralRepoInternetNetting
              RPSB : BilateralRepoBrokerOwnedSegregatedCashCollateral
              RPSC : BilateralRepoClientOwnedSegregatedCashCollateral
              RRBN : RoundRobin
              RRCT : ReimbursementReceivedCreditTransfer
              RRTP : RelatedRequestToPay
              RVPM : ReceiveAgainstPayment
              RVPO : ReverseRepurchaseAgreement
              SALA : SalaryPayment
              SASW : ATM
              SAVG : Savings
              SBSC : SecuritiesBuySellSellBuyBack
              SCIE : SingleCurrencyIRSExotic
              SCIR : SingleCurrencyIRS
              SCRP : SecuritiesCrossProducts
              SCVE : PurchaseSaleOfServices
              SECU : Securities
              SEPI : SecuritiesPurchaseInhouse
              SERV : ServiceCharges
              SHBC : BrokerOwnedCollateralShortSale
              SHCC : ClientOwnedCollateralShortSale
              SHSL : ShortSell
              SLEB : SecuritiesLendingAndBorrowing
              SLOA : SecuredLoan
              SLPI : PaymentSlipInstruction
              SPLT : SplitPayments
              SPSP : SalaryPensionSumPayment
              SSBE : SocialSecurityBenefit
              STDY : Study
              SUBS : Subscription
              SUPP : SupplierPayment
              SWBC : SwapBrokerOwnedCashCollateral
              SWCC : SwapClientOwnedCashCollateral
              SWFP : SwapContractFinalPayment
              SWPP : SwapContractPartialPayment
              SWPT : Swaption
              SWRS : SwapContractResetPayment
              SWSB : SwapsBrokerOwnedSegregatedCashCollateral
              SWSC : SwapsClientOwnedSegregatedCashCollateral
              SWUF : SwapContractUpfrontPayment
              TAXR : TaxRefund
              TAXS : TaxPayment
              TBAN : TBAPairOffNetting
              TBAS : ToBeAnnounced
              TBBC : TBABrokerOwnedCashCollateral
              TBCC : TBAClientOwnedCashCollateral
              TBIL : TelecommunicationsBill
              TCSC : TownCouncilServiceCharges
              TELI : TelephoneInitiatedTransaction
              TLRF : NonUSMutualFundTrailerFeePayment
              TLRR : NonUSMutualFundTrailerFeeRebatePayment
              TMPG : TMPGClaimPayment
              TPRI : TriPartyRepoInterest
              TPRP : TriPartyRepoNetting
              TRAD : Commercial
              TRCP : TreasuryCrossProduct
              TREA : TreasuryPayment
              TRFD : TrustFund
              TRNC : TruncatedPaymentSlip
              TRPT : RoadPricing
              TRVC : TravellerCheque
              UBIL : Utilities
              UNIT : UnitTrustPurchase
              VATX : ValueAddedTaxPayment
              VIEW : VisionCare
              WEBI : InternetInitiatedTransaction
              WHLD : WithHolding
              WTER : WaterBill

              SDD purpose codes

              The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction.

              SALA(1) (2)Salary Payment
              TREA(1) (2)Treasury Payment
              ADVA(2)Advance Payment
              AGRT(2)Agricultural Transfer
              ALMY(2)Alimony Payment
              BECH(2)Child Benefit
              BENE(2)Unemployment Disability Benefit
              BONU(2)Bonus Payment
              CASH(1) (2)Cash Management Transfer
              CBFF(2)Capital Building
              CHAR(2)Charity Payment
              COLL(2)Collection Payment
              CMDT(2)Commodity Transfer
              COMC(2)Commercial Payment
              COMM(2)Commission
              COST(2)Costs
              CPYR(2)Copyright
              DIVI(1) (2)Dividend
              FREX(2)Foreign Exchange
              GDDS(2)Purchase Sale Of Goods
              GOVT(1) (2)Gouvernment Payment
              IHRP(2)Instalment Hire Purchase Agreement
              INTC(1) (2)Intra Company Payment
              INSU(2)Insurance Premium
              INTE(1) (2)Interest
              LIFC(2)Licence Fee
              LOAN(1) (2)Loan
              LOAR(2)Loan Repayment
              NETT(2)Netting
              PAYR(2)Payment Roll
              PENS(1) (2)Pension
              REFU (2)Refund
              RENT(2)Rent
              ROYA(2)Royalties
              SCVE(2)Purchase Sale Of Services
              SECU(1) (2)Securities
              SSBE(1) (2)Social Security Benefit
              SUBS(2)Subscription
              TAXS(1) (2)Tax Payment
              COMT(2)Consumer Third Party Consolidated Payment
              DBTC(2)Debit Collection Payment
              SUPP(1) (2)Supplier Payment
              HEDG(1) (2)Hedging
              MSVC(2)Multiple Service Types
              NOWS(2)Not Otherwise Specified
              CARD(2)Card Payment
              CDBL(2)Credit Card Bill
              FERB(2)Ferry
              AIRB(2)Air
              BUSB(2)Bus
              RLWY(2)Railway
              CVCF(2)Convalescent Care Facility
              DNTS(2)Dental Services
              ANTS(2)Anesthesia Services
              HLTC(2)Home Health Care
              HSPC(2)Hospital Care
              ICRF(2)Intermediate Care Facility
              LTCF(2)Long Term Care Facility
              MDCS(2)Medical Services
              VIEW(2)Vision Care
              DMEQ(2)Durable Medicale Equipment
              CBTV(2)Cable TV Bill
              ELEC(2)Electricity Bill
              GASB(2)Gas Bill
              PHON(2)Telephone Bill
              OTLC(2)Other Telecom Related Bill
              WTER(2)Water Bill
              STDY(2)Study
              PRCP(2)Price Payment
              INSM(2)Installment
              RINP(2)Recurring Installment Payment
              OFEE(2)Opening Fee
              CFEE(2)Cancellation Fee
              GOVI(2)Government Insurance
              INPC(2)Insurance Premium Car
              LBRI(2)Labor Insurance
              LIFI(2)Life Insurance
              PPTI(2)Property Insurance
              HLTI(2)Health Insurance
              CLPR(2)Car Loan Principal Repayment
              ESTX(2)Estate Tax
              HLRP(2)Housing Loan Repayment
              CSLP(2)Company Social Loan Payment To Bank
              HSTX(2)Housing Tax
              INTX(2)Income Tax
              NITX(2)Net Income Tax
              NWCH(2)Network Charge
              NWCM(2)Network Communication
              BEXP(2)Business Expenses
              TRFD(2)Trust Fund
              RCPT(2)Receipt
              PTSP(2)Payment Terms
              OTHR(2)Other
              WHLD(1)(2)With Holding
              CORT(1)Trade Settlement Payment
              VATX(1)Value Added Tax Payment
              TRAD(1)Trade

              Error codes

              ErrorDetails ATTRIBUTES
              errorCodeCode indicating the type of problem identified.
              errorComponentCode indicating the 3-D Secure component that identified the error.
              errorDescriptionText describing the problem identified.
              errorDetailAdditional detail regarding the problem identified.
              ErrorCode possible values
              101MESSAGE_RECEIVED_INVALID
              102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED
              103SENT_MESSAGES_LIMIT_EXCEEDED
              201REQUIRED_ELEMENT_MISSING
              202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED
              203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS
              204DUPLICATE_DATA_ELEMENT
              301TRANSACTION_ID_NOT_RECOGNIZED
              302DATA_DECRYPTION_FAILURE
              303ACCESS_DENIED_INVALID_ENDPOINT
              304ISO_CODE_NOT_VALID
              305TRANSACTION_DATA_NOT_VALID
              306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM
              307SERIAL_NUMBER_NOT_VALID
              402TRANSACTION_TIMED_OUT
              403TRANSIENT_SYSTEM_FAILURE
              404PERMANENT_SYSTEM_FAILURE
              405SYSTEM_CONNECTION_FAILURE
              911DATA_FIELDS_RELEVANCE_CHECK_FAILURE
              912DUPLICATED_TRANSACTION_ID
              ErrorComponent possible values
              « C »THREE_DS_SDK
              « S »THREE_DS_SERVER
              « D »DIRECTORY_SERVER
              « A »ACCESS_CONTROL_SERVER

              Retours, statuts et webhooks

              Test values

              Articles

              • Test IBAN values
              • Test cards Values

              Test IBAN values

              Find below the list of HTTP return codes:

              DE91100000000123456789AXABFRPP
              AZ96AZEJ00000000001234567890AXABFRPP
              CY21002001950000357001234567AXABFRPP
              ES7921000813610123456789AXABFRPP
              FR7630006000011234567890189AXABFRPP
              FO9264600123456789AXABFRPP

              Test cards Values

              You will find below a list of cards that you can use to test and check your integration.

              Visa Card numbers

              4000 0000 0000 0051Card lost (41) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4000 0000 0000 0069Fraud suspicion (59) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4000 0000 0000 0077Insufficient funds (51) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4000 0000 0000 0085To be refused (5) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »
              4556 5579 5572 6624Transaction successful (3DS) & Authentication = Y
              4916 9940 6425 2017Transaction successful (3DS) & Authentication = C
              4556 1041 6038 2032Transaction successful (NON 3DS) & Authentication = N
              4024 0071 7987 2394Transaction (NON 3DS) & Authentication = N
              4234 6319 8242 8908Transaction (3DS) & Authentication = I
              4234 6319 8242 8916Transaction successful (3DS) & Authentication = D : application flow
              4234 6319 8242 8924Transaction successful (3DS) & Authentication = D : browser flow
              4032 0389 8296 2700EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBIT ;
              4032 0343 8883 4767EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDIT ;
              4020 0280 0191 2012EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWN ;
              4032 0337 9569 2248EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBIT ;
              4032 0368 1354 0364EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDIT ;
              4032 0387 5662 0096EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWN ;
              4032 0358 5604 7592EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBIT ;
              4032 0302 9068 3219EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDIT ;
              4032 0377 5134 3001EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWN ;
              4032 0307 5488 6225EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBIT ;
              4032 0310 2547 6341EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDIT ;
              4032 0341 4311 3978EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWN ;
              4032 0309 5816 7398EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBIT ;
              4032 0375 4480 7536EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDIT ;
              4032 0366 9148 7225EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWN ;
              4032 0325 8917 3860EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBIT ;
              4032 0388 0897 9557EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDIT ;
              4032 0374 2147 1240EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWN ;

              Mastercard Card numbers

              5333 2591 5564 3223Transaction successful (3DS) & Authentication = Y
              5306 8899 4283 3340Transaction successful (3DS) & Authentication = C
              5328 7203 8458 2224Transaction successful (NON 3DS) & Authentication = N
              5187 4346 4359 3002Transaction successful (NON 3DS) & Authentication = N
              5517 4500 0000 0168EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDIT
              5223 8599 0000 0174EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBIT
              5325 0900 0000 0115EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT
              5325 0900 0000 0008EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT
              5486 7467 7300 0005EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUS
              5588 1000 0000 0007EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBIT
              5122 9400 0000 0009EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBIT

              Amex Card numbers

              3415 0209 8634 895Transaction successful (3DS) & Authentication = Y
              3486 3826 7931 507Transaction successful (3DS) & Authentication = C
              3456 9539 9207 589Transaction successful (NON 3DS) & Authentication = N
              3415 0209 8634 895EEA=false ; region=EUROPE ; productType=CONSUMER
              3486 3826 7931 507EEA=false ; region=EUROPE ; productType=CORPORATE
              3718 4294 2351 004EEA=false ; region=EUROPE ; productType=UNKNOWN
              3712 5311 3391 201EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMER
              3423 1631 7472 410EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATE
              3710 9829 7279 338EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWN

              CB Card numbers

              4020 0235 6597 5380Transaction successful (NON 3DS), scheme : CB
              4020 0254 4041 8403Transaction successful (NON 3DS), scheme : CB_VISA
              5232 1035 2372 2651Transaction successful (NON 3DS), scheme : CB_MASTERCARD

              Marketplace C2C

              Prochainement

              Doc Contents

              Doc Footnotes

              Doc Elements

              • Mentions légales
              • Politique de confidentialité

              © 2024 CentralPay