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 versements 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. Voir le certificat de CentralPay ➜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.
Certifications and Approvals CentralPay offers modular payment solutions that enable the consolidation of payment collection processes for its own account and the automation of payouts on behalf of third-party accounts. The types of services and transactions offered by CentralPay vary depending on the needs and business activities of its merchants and partners. CentralPay is an independent company that fully owns its technology and licenses. This ensures the greatest possible autonomy in its choice of partnerships and its future development. CentralPay is authorized to enter into business relationships with companies registered in the European Economic Area. ACPR () (Bank of France)Electronic money institution: CentralPay is an electronic money institution regulated by the Banque de France through its prudential supervision and resolution authority, the ACPR (CIB 17138).PSD2: CentralPay complies with the Second Payment Services Directive, which sets forth requirements regarding strong customer authentication and data protection, among other things.PCI DSS: CentralPay is certified annually at the highest possible level for banking data security and fraud prevention: PCI DSS Level 1. View CentralPay’s certificate ➜EBA CLEARING & EPC: As a member of the European Payment Council and through its connection to EBA CLEARING, CentralPay provides Integration of the European SEPA payment schemes to send and receive Bank transfers and SEPA Direct Debits using its own IBANs and virtual IBANs.SWIFT: Connected to the SWIFT network, the most widely accepted messaging system worldwide, CentralPay is able to exchange international financial transactions with most participating banks and financial institutions.Visa, Mastercard, debit cards, American Express: CentralPay is accredited by the major card networks to optimize the payment experience and conversion rates for all its users.
Guide de démarrage rapide > 1. Entrée en relation Pour commencer, découvrez nos offres et choisissez la méthode d’entrée en relation la plus adaptée à votre projet : Consultez nos offres tarifaires Présentez votre projet à notre équipe commerciale Choisissez le modèle d’entrée en relation adapté à votre activité Découvrez les étapes d’entrée en relation 2. Création de votre profil marchand de test CentralPay met à votre disposition un environnement de test (RCT) pour développer et valider votre intégration : Profil de test « Marchand standard« : Pour tester uniquement la solution d’encaissement Smart Collection, demandez un profil marchand de test via notre formulaire Profil de test « Marchand partenaire ou mandataire » : Pour tester l’encaissement (Smart Collection) et les transferts de paiements (Easy Wallet), contactez notre service client. Nous créerons et paramétrerons votre profil marchand de test en conséquence 3. Choix de votre méthode d’intégration Choisissez la méthode d’intégration qui correspond à vos besoins : Intégration Smart : Utilisez les demandes de paiement et la page de paiement CentralPay pour encaisser vos transactions. Les parcours clients sont préconfigurés, pour un déploiement rapide Intégration Custom : Intégrez directement les services API pour les transactions par carte, par virement SEPA (SCT) et/ou par prélèvement SEPA (SDD). Cette approche vous permet de maîtriser entièrement l’expérience client, mais requiert un développement plus avancé 4. Paramétrage de votre profil marchand Votre profil Marchand CentralPay peut être configuré de manière autonome ou avec l’accompagnement de notre équipe support. ℹ️ Les paramétrages réalisés sur votre profil marchand de test (RCT) ne sont pas automatiquement répliqués en production (PROD). Veillez à les reconfigurer une fois votre profil de production activé. Paramétrages principaux : Accès d’authentification API Déclaration des domaines autorisés (si intégration Custom) Comptes de paiement et comptes bancaires de sortie Utilisateurs du portail Points de vente Webhooks Identifiant de Créancier SEPA (ICS) Paramétrages secondaires : Emails de contact du profil marchand Règles d’acceptation Versements sortants Libellé de relevé bancaire Notifications automatiques Page de paiement Smart Form Modèles de demandes de paiement Tentatives auto. pour les échecs de prélèvement carte Tentatives auto. pour les échecs de prélèvement SEPA 5. Simuler des paiements Avant la mise en production, effectuez des simulations de paiement client dans votre profil de test (RCT) pour vérifier l’intégration : Carte : Utilisez nos cartes de test pour simuler différents statuts de transaction Virement SEPA (SCT) : Créez une ou plusieurs transactions SCT puis demandez à notre support de simuler leur traitement Prélèvement SEPA (SDD) : Utilisez un IBAN/BIC de test fourni dans notre documentation 6. Mise en production Une fois vos tests validés en environnement de recette (RCT), préparez le passage en production (PRD). ℹ️ Rappel : Aucun paramétrage n'est automatiquement copié de la RCT vers la PROD. Récupérer les credentials API pour l’environnement PROD Vérifier l’URL API de production Récupérer la merchantPublicKey pour générer des cardToken Informer CentralPay de toute mise en production ou évolution majeure Déclarer l’URL de votre site dans la configuration de votre point de vente Vérifier l’accès à la page support depuis le Portail Marchand Si nécessaire, vous pouvez effectuer une à deux transactions réelles à 1 € pour vérifier le bon fonctionnement du paiement en production.
Quick start guide > 1. Establishing a relationship To get started, explore our offerings and choose the best way to get in touch based on your project: Check out our pricing plans Present your project to our sales team Choose the customer onboarding model that best suits your business Learn about the steps to building a relationship 2. Creating your test merchant profile CentralPay provides you with a test environment (RCT) to develop and validate your integration: “Standard Merchant” test profile: To test only the Smart Collection payment solution, request a test merchant profile using our form “Partner Merchant or Agent” test profile: To test payment collection (Smart Collection) and payment transfers (Easy Wallet), please contact our customer service team. We will create and configure your test merchant profile accordingly. 3. Choosing your integration method Choose the integration method that best suits your needs: Smart Integration: Use payment requests and the CentralPay payment page to process your transactions. Customer flows are preconfigured for rapid deployment Custom Integration: Directly integrate API services for card transactions, SEPA credit transfers (SCT), and/or SEPA direct debits (SDD). This approach gives you full control over the customer experience, but requires more advanced development. 4. Setting up your merchant profile You can set up your CentralPay merchant profile on your own or with assistance from our support team. ℹ️ The settings configured in your test merchant profile (RCT) are not automatically replicated in production (PROD). Be sure to reconfigure them once your production profile is activated. Main settings: API authentication access Declaration of authorized domains (if using custom integration) Payment accounts and outgoing bank accounts Portal users Retail locations Webhooks SEPA creditor identifier (ICS) Secondary settings: Merchant profile contact emails Acceptance rules Outgoing payments Bank statement description Automatic notifications Smart form payment page Payment request templates Auto attempts. for failed card transactions Auto attempts. for failed SEPA direct debit transactions 5. Simulate payments Before going live, run customer payment simulations in your test profile (RCT) to verify the integration: Card: Use our test cards to simulate different transaction statuses SEPA Credit Transfer (SCT): Create one or more SCT transactions, then ask our support team to simulate their processing SEPA Direct Debit (SDD): Use a test IBAN/BIC provided in our documentation 6. Deployment Once your tests have been validated in the acceptance testing environment (RCT), prepare for the transition to production (PRD). ℹ️ Reminder: No settings are automatically copied from the RCT to the PROD environment. Retrieve the API credentials for the PROD environment Verify the production API URL Retrieve the merchantPublicKey to generate cardToken Notify CentralPay of any production deployment or major change Enter your website’s URL in your point-of-sale settings Check access to the support page from the Merchant Portal If necessary, you can make one or two live transactions for €1 to verify that the payment system is working properly in production.
Transaction See more about card transactions jQuery(document).ready( function($) { window.live_6ab3046da9c4d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046da9c4d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046da9c4d.load(); });
Transaction See more about card transactions jQuery(document).ready( function($) { window.live_6ab3046daa42e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046daa42e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046daa42e.load(); });
HTTP Codes Find below the list of HTTP return codes: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction
HTTP Codes Find below the list of HTTP return codes: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction
Profil Marchand Le Profil Marchand représente techniquement et opérationnellement un Marchand dans la plateforme CentralPay. Il est le support de :• Ses comptes : de paiement ou de monnaie électronique ;• Son administration : accès API, profils utilisateurs, services de paiement disponibles ;• Sa configuration technique : webhooks, notifications, points de vente, règles d’acceptation, comptes bancaires ;• Son dossier réglementaire : KYC/KYB, LCB-FT, scoring de risque, contractualisation, grille tarifaire… Le Profil Marchand correspond à l’objet API Merchant et est créé automatiquement après validation de son inscription (via l’objet API Merchant-Enrollment). 1. Types de profils selon le modèle contractuel Chaque type de Marchand est associé à un modèle contractuel précis. Standard Type : STANDARD Le Marchand standard est une entreprise ou un professionnel qui encaisse des paiements pour son propre compte. Il dispose d’un ou plusieurs comptes de paiement, et peut accéder aux services CentralPay via API ou via un partenaire. 👉 En savoir plus sur le modèle Marchand Partenaire Intégrateur Type : INTEGRATOR Le Partenaire Intégrateur accompagne plusieurs Marchands standards dans leur intégration technique avec CentralPay. Chaque Marchand standard dispose de son propre point de vente et d’un contrat individuel. L’Intégrateur utilise les accès API fournis par chaque Marchand, dans le cadre d’une relation contractuelle. Peut disposer d’un compte de paiement et d’un compte de commission pour ses propres besoins Un point de vente distinct est créé pour chaque Marchand accompagné Peut réaliser des appels API et actions techniques via les accès délégués par le Marchand (suivi d’Instructions Techniques, paramétrage, RUN), sans accès aux soldes ni pouvoir d’initier/modifier/exécuter une opération de paiement en son nom propre CentralPay facture chaque Marchand directement 👉 En savoir plus sur le modèle Partenaire Intégrateur Partenaire Intégrateur MOBSP Type : INTEGRATOR + MOBSP Le Partenaire Intégrateur MOBSP est un Intégrateur disposant d’un mandat réglementaire. Il peut initier une demande d’entrée en relation pour le compte d’un Marchand standard, et l’accompagner techniquement via l’API d’onboarding. Comme tout Intégrateur, il agit uniquement via les accès API fournis par le Marchand. Mêmes droits et fonctionnement qu’un Intégrateur Peut initier une demande d’enrôlement complète via API Peut accompagner le marchand durant l’enrôlement 👉 En savoir plus sur le modèle Partenaire Intégrateur MOBSP Partenaire Technique Type : TECHNIQUE Le Partenaire Technique développe une solution mutualisée (ex. marketplace, plateforme SaaS) et opère depuis un ou plusieurs points de vente ouverts à son nom, auxquels des Marchands standards peuvent être rattachés. Il utilise ses propres accès API pour transmettre des données commerciales et suivre les opérations rattachées à ces points de vente, sans jamais disposer d’un pouvoir d’exécution sur les opérations de paiement. Un ou plusieurs points de vente peuvent être utilisés pour regrouper les activités des marchands (ex. marketplace, plateforme SaaS) Accès API CentralPay propre au Partenaire Technique CentralPay facture le Partenaire Technique Ne peut pas initier l’enrôlement au nom et pour le compte des marchands (sauf cadre MOBSP applicable) 👉 En savoir plus sur le modèle Partenaire Technique Partenaire Technique MOBSP Type : TECHNIQUE + MOBSP Le Partenaire Technique MOBSP est mandaté pour initier une demande d’entrée en relation au nom de ses utilisateurs. Il peut transmettre les informations nécessaires via l’API d’onboarding, mais n’intervient pas dans l’exécution des opérations de paiement. Mêmes droits et fonctionnement qu’un Partenaire Technique Peut initier une demande d’enrôlement complète via API Peut accompagner le marchand durant l’enrôlement 👉 En savoir plus sur le modèle Partenaire Technique MOBSP Mandataire DME Type : DME Le Mandataire DME (Distributeur de Monnaie Électronique) transmet des instructions de chargement, de transfert ou de remboursement en monnaie électronique pour le compte de Participants. Il agit dans le cadre du modèle monnaie électronique (devises CUSTOM) et peut percevoir une commission sur les opérations, sans fournir de services de paiement régulés (ex. virement SEPA, prélèvement, carte). 👉 En savoir plus sur le modèle Mandataire DME Mandataire Agent Type : AGENT Le Mandataire Agent est un Agent de Prestataire de Services de Paiement (Agent PSP) enregistré auprès de l’ACPR. Il agit au nom et pour le compte de CentralPay dans un périmètre strictement défini contractuellement. Selon le modèle retenu (Agent simple / Agent collecteur / Agent délégataire), il peut notamment accompagner l’enrôlement, réaliser certaines diligences KYC/KYB de niveau 1, et/ou intervenir dans la collecte, la ventilation et la mise à disposition des fonds via les mécanismes prévus par CentralPay. CentralPay demeure responsable des services de paiement fournis et des contrôles réglementaires. 👉 En savoir plus sur le modèle Mandataire Agent Participant Type : BASIC Les Participants sont des personnes physiques ou morales clientes d’un Marchand Mandataire de CentralPay (Agent ou DME). Ils disposent d’un ou plusieurs comptes de paiement ou de monnaie électronique pour recevoir des fonds émis par le Mandataire, et peuvent accéder au portail Marchand pour consulter leurs opérations et gérer leurs versements sortants. Ils agissent pour vendre des produits ou services, pour une activité LMNP, ou pour des besoins non commerciaux (crowdfunding, wallet personnel, projets collectifs…). Les participants ouvrent des comptes chez CentralPay. L’entrée en relation peut être initiée et/ou accompagnée par le Marchand Mandataire, mais les services régulés restent fournis par CentralPay. Le cadre d’utilisation des comptes est défini par les documents CentralPay applicables (et, le cas échéant, par les CGU du Mandataire pour les conditions commerciales et les services qu’il fournit). 2. Paramétrage des emails de contact Vous pouvez personnaliser les adresses email de contact associées à votre profil marchand pour que les notifications, relances ou échanges contractuels soient bien adressés aux bons interlocuteurs. Email contact : référent principal du profil marchand Email administratif : en charge des sujets juridiques ou contractuels Email technique : en charge de l’intégration ou des incidents Email financier : en charge de la facturation ou des flux bancaires ℹ️ Par défaut, ces adresses sont initialisées avec l’email du titulaire du profil marchand. Elles peuvent être modifiées à tout moment depuis le Portail Marchand. Accès à la configuration des emails de contact : Recette Portail Marchand Production Portail Marchand
Merchant Profile The Merchant Profile represents a Merchant technically and operationally within the CentralPay platform. It serves as the foundation for:• Its accounts: payment or electronic money accounts;• Its administration: API access, user profiles, available payment services;• Its technical configuration: webhooks, notifications, points of sale, acceptance rules, bank accounts;• Its regulatory file: KYC/KYB, AML-CFT, risk scoring, contracting, pricing schedule… The Merchant Profile corresponds to the API object Merchant and is created automatically after validation of its registration (via the API object Merchant-Enrollment). 1. Profile Types by Contractual Model Each Merchant type is associated with a specific contractual model. Standard Type : STANDARD The standard Merchant is a business or professional that collects payments for its own account. It has one or more payment accounts and can access CentralPay services via API or through a partner. 👉 Learn more about the Merchant model Integration Partner Type : INTEGRATOR The Integration Partner supports multiple standard Merchants in their technical integration with CentralPay. Each standard Merchant has its own point of sale and an individual contract. The Integrator uses the API access provided by each Merchant within the framework of a contractual relationship. May have a payment account and a commission account for its own needs A separate point of sale is created for each supported Merchant May perform API calls and technical actions via access delegated by the Merchant (monitoring Technical Instructions, configuration, RUN), without access to balances or authority to initiate/modify/execute a payment operation in its own name CentralPay invoices each Merchant directly 👉 Learn more about the Integrator Partner model MOBSP Integration Partner Type : INTEGRATOR + MOBSP The MOBSP Integration Partner is an Integrator with a regulatory mandate. It can initiate a relationship request on behalf of a standard Merchant and provide technical support via the onboarding API. Like any Integrator, it acts solely through the API access provided by the Merchant. Same rights and operation as an Integrator May initiate a complete enrollment request via API May support the merchant during enrollment 👉 Learn more about the MOBSP Integrator Partner model Technical Partner Type : TECHNIQUE The Technical Partner develops a shared solution (e.g., marketplace, SaaS platform) and operates from one or more points of sale opened in its name, to which standard Merchants can be attached. It uses its own API access to transmit commercial data and monitor operations linked to these points of sale, without ever having execution authority over payment operations. One or more points of sale may be used to consolidate merchant activities (e.g., marketplace, SaaS platform) CentralPay API access specific to the Technical Partner CentralPay invoices the Technical Partner Cannot initiate enrollment on behalf of and for the account of merchants (unless MOBSP framework applies) 👉 Learn more about the Technical Partner model MOBSP Technical Partner Type : TECHNIQUE + MOBSP The MOBSP Technical Partner is authorized to initiate a relationship request on behalf of its users. It can transmit the necessary information via the onboarding API but does not intervene in the execution of payment operations. Same rights and operation as a Technical Partner May initiate a complete enrollment request via API May support the merchant during enrollment 👉 Learn more about the MOBSP Technical Partner model EMD Agent Type : DME The EMD Agent (Electronic Money Distributor) transmits loading, transfer, or refund instructions in electronic money on behalf of Participants. It operates within the electronic money model (CUSTOM currencies) and may receive a commission on operations, without providing regulated payment services (e.g., SEPA transfer, direct debit, card). 👉 Learn more about the EMD Agent model PSP Agent Type : AGENT The PSP Agent is a Payment Service Provider (PSP) Agent registered with ACPR. It acts on behalf of and for the account of CentralPay within a strictly defined contractual scope. Depending on the model adopted (Simple Agent / Collecting Agent / Delegated Agent), it may support enrollment, perform certain level 1 KYC/KYB due diligence, and/or intervene in the collection, allocation, and provision of funds via mechanisms provided by CentralPay. CentralPay remains responsible for the payment services provided and regulatory controls. 👉 Learn more about the PSP Agent model Participant Type : BASIC The Participants are natural or legal persons who are clients of a CentralPay Intermediary Merchant (Agent or EMD). They have one or more payment accounts or electronic money accounts to receive funds issued by the Intermediary and can access the Merchant Portal to view their operations and manage their outgoing transfers. They operate to sell products or services, for LMNP activity, or for non-commercial needs (crowdfunding, personal wallet, collective projects, etc.). Participants open accounts with CentralPay. The relationship may be initiated and/or supported by the Intermediary Merchant, but regulated services remain provided by CentralPay. The framework for account usage is defined by the applicable CentralPay documents (and, where applicable, by the Intermediary’s Terms of Use for commercial conditions and the services it provides). 2. Contact Email Configuration You can customize the contact email addresses associated with your merchant profile so that notifications, reminders, or contractual communications are properly addressed to the right contacts. Contact email: primary contact for the merchant profile Administrative email: responsible for legal or contractual matters Technical email: responsible for integration or incidents Financial email: responsible for billing or banking flows ℹ️ By default, these addresses are initialized with the email of the merchant profile holder. They can be modified at any time from the Merchant Portal. Access to contact email configuration: Recette Merchant Portal Production Merchant Portal
Notifications email/sms 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) Versement sortant (payout) Remboursement carte (refund) Abonnement (subscription) Crédit carte (credit) Transaction SDD (sddTransaction) Transaction SDD inversée (sddTransactionReversal) Mandat (mandate) 1. Types de scénarios de notification Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre profil Marchand 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. 2. Paramétrage des modèles de notification 2.1. Paramétrage des modèles (templates) 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). Accès paramétrage de templates emails : Recette Portail Marchand Production Portail Marchand Accès paramétrage de templates SMS : Recette Portail Marchand Production Portail Marchand Accès paramétrage de templates hooks : Recette Portail Marchand Production Portail Marchand 2.2. Paramétrage du header et footer pour templates emails 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. Accès paramétrage de l’en-tête d’email (header) : Recette Portail Marchand Production Portail Marchand Accès paramétrage du pied de page d’email (footer) : Recette Portail Marchand Production Portail Marchand 3. Paramétrage des scénarios de notification 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. Accès paramétrage de scenarios de notification : Recette Portail Marchand Production Portail Marchand 3.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’activation) 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. 3.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…).
Email/SMS notifications Notifications can be sent based on events related to certain API objects: Payment request (paymentRequest) Chargeback (dispute) Installment payment (installment) Card Transaction (transaction) Payout (payout) Card Refund (refund) Subscription (subscription) Card credit (credit) SDD Transaction (sddTransaction) Reversed SDD Transaction (sddTransactionReversal) Mandate (mandate) 1. Notification scenario types Automatically notify your customers and alert your colleagues when certain events occur on your CentralPay Merchant profile: receipt of a transfer, customer dispute, payment failure, etc. You control the content of each notification using custom templates and define a delivery method by email, by SMS, or by JSON. This automates the reconciliation of your collections, customer notifications, and even updates to your information system. 2. Configuring notification templates 2.1. Template configuration To start configuring your notifications, you must create your communication templates (email, SMS, or hook) by filling in the requested elements, such as the email subject, the sender name and email address, the message body, etc. You can insert dynamic elements (tags) into the message body by typing the « # » character, which will display the list of tags available for the selected notification scenario type. Please note: if you use email notifications, please ask us to provide our SPF and DKIM keys so that you can authorize CentralPay to send emails from your domain. For SMS, please calculate the number of characters: you will be billed for one SMS per 160 characters (including spaces). Access to email template settings: Recette Merchant Portal Production Merchant Portal Access to SMS template settings: Recette Merchant Portal Production Merchant Portal Access to hook template settings: Recette Merchant Portal Production Merchant Portal 2.2. Configuring the header and footer for email templates When creating an email template, a « header » and a « footer » must be created. For example, you can add your logo in the header and your contact details or legal notices in the footer. Access to email header settings: Recette Merchant Portal Production Merchant Portal Access to email footer settings: Recette Merchant Portal Production Merchant Portal 3. Configuring notification scenarios To specify to the platform the sending conditions and recipients for your notifications, you must create a scenario that includes one or more sending rules. After choosing the desired scenario type, you can create a sending rule. This rule is split into two parts: « WHEN » defines the event that triggers the notification, while « THEN » lets you choose the actions that will be performed when the event occurs. Access to notification scenario settings: Recette Merchant Portal Production Merchant Portal 3.1. In the « WHEN » section: Type « # » to view all attributes available for your scenario Use logical operators to build your rule: For strings (must be enclosed in quotation marks « »): = (equals) != (not equal to) in (in the following) not in (not in the following) For numbers (note: amounts must be entered in cents): = (equals) != (not equal to) < (less than) <= (less than or equal to) in (in the following) not in (not in the following) For booleans (true/false statements): = (equals) != (not equal to) You can use conditions to complete your rule: AND (to add another activation condition) OR (to add another activation possibility) It is possible to set priorities by placing parentheses around conditions. If you use AND and OR in the same rule, you must set priorities. If you use AND multiple times or OR multiple times, you must also prioritize each part. Rule examples: #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') Before you can save a rule, you must first test it using the « test » button. This verifies that your rule is grammatically correct. Please note: this does not guarantee that your rule matches what you intended to do. 3.2. In the « THEN » section: « THEN » lets you choose the recipient and the template used for the notification. You only have access to templates that match the required template type (SMS, Email, Hook) and that match the selected scenario type (card transaction, payment request, refund, etc.).
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) ➝ Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT) ℹ️ 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, etc.). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé, etc.). 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
General information 1. The two Smart Collection integration modes The Smart Collection solution allows you to collect payments from various payment methods. You can choose to: Create and integrate your own payment flows (CUSTOM integration), by consuming the API services of each payment method: Card transaction ➝ Transfer transaction ➝ SEPA direct debit transaction ➝ Use our secure payment request flows (SMART integration), via our dedicated service: Payment requests (PaymentRequest) ➝ The EscrowDate parameter can affect the funds availability date of a transaction (applies to AGENT partners only) ℹ️ If you choose SMART integration, specific features such as R-transactions, bank descriptor management, Virtual IBAN management, etc., are presented in the documentation under the CUSTOM sections dedicated to each payment method. 2. About SMART integration The payment request allows you to generate a payment link leading to a payment page hosted by CentralPay. Your customer can thus pay you according to the payment terms you have determined (authorized payment methods and modes, payment deadlines, etc.). Transactions created in this way are automatically linked to the payment request and allow its status to be updated (unpaid, partially paid, paid, etc.). The payment request must be populated with the payment terms of your cart or invoice: Amount to be paid Accepted payment methods (card, transfer, direct debit, payment initiation) Accepted payment modes (one-off, subscription, installment payment…) Order reference Order description Customer details Authorized payment deadline Link expiration time … The payment link can be sent to your customers from: Your sales funnels or web interfaces Your communication tools (email, SMS, mail via QR code…) The CentralPay email / SMS notification service The payment page then allows the customer to carry out their transaction(s): Viewing payment request information Selection of payment method or mode Entering customer data Entering payment details
Informations générales 1. Fonctionnement Une transaction carte comprend une succession d’actions : 1.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é, etc.) 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 ») 1.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, etc.), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours. 1.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).
General information 1. Operation A card transaction comprises a sequence of actions: 1.1. 3DS 2.0 Authentication This ensures that the person making the transaction is indeed the cardholder. The customer’s bank analyzes numerous payment-related factors provided by CentralPay (IP address, location, device used, etc.) and compares them to its customer’s usual data: If the data does not match or the transaction amount is significant, it requires manual identification via a code sent by SMS or through its banking application (« strong authentication » or « SCA ») Otherwise, it directly authorizes the payment (« Frictionless ») 1.2. Bank Authorization A request made by CentralPay to the payer’s bank to verify the validity and funds availability of their card. The « authorized » funds are blocked until the funds are captured. If no capture is performed within 7 days, the « authorized » funds are released, and the merchant will need to renew their authorization. For eligible activities (rental, hospitality, etc.), the « pre-authorization » service allows the merchant to extend the authorization period up to 30 days. 1.3. Capture Capture initiates the debit of the card based on an authorization or pre-authorization. A merchant can perform a full or partial capture of the authorized amount. 2. Accepted Card Types and Networks Payment cards are issued by banks or approved payment institutions; they can be branded by one or more card networks (also called « Card Scheme »). The networks accepted by CentralPay are: Debit Card VISA MasterCard American Express In France, the majority of cards issued are co-branded CB and VISA or CB and Mastercard. In this case, the customer must have the option to choose the network they wish to use. Cards can be debit or deferred debit / credit (in France, the majority of cards are debit), and can be for individuals (referred to as « Consumer ») or for professionals (referred to as « Corporate »). Note that these parameters impact the transaction cost for the merchant (interchange fees and card network fees).
Informations générales 1. Fonctionnement 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).
General information 1. Operation Bank transfers are the most common method of payment for business transactions. They involve the direct transfer of funds from one account (bank or payment account) to another, without using any additional medium, such as a card. The individual or legal entity requesting the transfer is called the payer (or sender), and the one receiving the money is the payee. Unlike a card payment or a SEPA direct debit, only the sender themselves can initiate a wire transfer. To do so, they log in to their bank’s online banking portal, enter the beneficiary’s bank details (IBAN + BIC + account holder’s name), and then specify an amount and a transfer reference. Some important information: The processing time for a standard transfer with CentralPay is 4 to 24 business hours (compared to 24 to 48 business hours at most traditional banks). Starting in October 2024, it will also be possible to receive instant transfers (processed in <5 seconds). The transfer does not pose a significant financial risk to the receiving merchant, since the sender undergoes strong authentication with their bank and therefore cannot dispute the transaction Issuing banks set a settlement limit for wire transfers that is significantly higher than the limit applied to SEPA direct debit transactions or card payments Depending on the features offered by their bank, the sender can set up a recurring transfer or a deferred transfer 2. Accepted Network Types There are two types of bank transfers: SEPA transfers (or SEPA Credit Transfers): Used for transactions in euros between two member countries of the SEPA area (= 27 European Union countries + the United Kingdom, Monaco, Andorra, the Vatican, Switzerland, Liechtenstein, Norway, Iceland, and San Marino) International wire transfers: Used for international transactions in euros or other currencies via the SWIFT network The fees for SEPA networks are very favorable (just a few tenths of a cent, compared to several tens of euros for SWIFT). SWIFT, however, offers several options for paying these fees: they can be borne by the sender, the recipient, or shared between the two. CentralPay is accessible to all banks in the European Economic Area that use the SEPA networks (via STEP2 for SCT/SDD, as well as TIPS and RT1 for “Instant SCT”). Only transfers made through international networks or in currencies other than the euro are not currently accepted (via the SWIFT network, for example).
Informations générales 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
General information The SEPA Direct Debit (or “SDD”) allows a creditor (merchant) to collect an amount owed directly from the debtor’s (customer’s) account. It is primarily intended for recurring payments (subscriptions or installment payments) but may, in certain cases, be used for one-time payments (for example, to settle invoices between businesses). Since it is issued at the creditor’s initiative, it requires prior authorization from the debtor. The merchant therefore prepares a “SEPA Direct Debit Mandate” specifying the terms of the direct debit and the bank details of both parties, which the debtor must sign. 1. The two types of SEPA direct debits There are two types of SEPA direct debits: The SEPA “CORE” direct debit: the most widely used type, it allows creditors to debit the accounts of both individuals and legal entities. The SEPA direct debit mandate is drawn up and signed by both parties without any specific restrictions. However, the debtor is protected and may dispute a CORE direct debit with their bank within 8 weeks without providing a reason. The SEPA “B2B” direct debit: reserved for direct debits between businesses. The SEPA direct debit mandate is printed, signed, and then must be submitted by the debtor to their bank. The onboarding process thus requires significant action on the part of the debtor and validation by their bank. However, direct debits initiated using this type of mandate cannot be disputed. CentralPay does not offer this “B2B” SEPA direct debit service 2. Risks of rejections and contests Since the SEPA Direct Debit is a payment method in which transactions are initiated without strong customer authentication, the risks of rejections and disputes must be taken into account. 👉 See the “R-Transaction SDD” section to learn more about SDD rejections and disputes 3. Important information The SEPA Direct Debit can be used with the vast majority of “checking” accounts in SEPA countries and some in the European Economic Area outside the SEPA zone. This depends on the connectivity of the payees’ banks to the SEPA networks. Special accounts, such as “savings accounts,” are not accessible. SEPA transactions are processed in euros (€) only SEPA transactions are processed on business days only (excluding weekends and holidays). As a result, the time it takes for funds to be received ranges from 2 to 5 days from the date the transaction is initiated. The creditor must notify the debtor of upcoming debits at least 14 days in advance, either by sending a payment schedule, a notice, or an invoice A SEPA direct debit mandate is valid for 36 months after the last transaction processed under that mandate In the case of a SEPA direct debit from a business’s (legal entity’s) bank account, the creditor must ensure that the SEPA direct debit mandate is addressed to and signed by the executive or an authorized representative (manager, accounting department, etc.). The SEPA Direct Debit is particularly well-suited for recurring transactions ranging from 20 to 200 EUR for individual payers and from 20 to 2,000 EUR for corporate payers
Informations générales Cette section explique le fonctionnement de la création de comptes CentralPay, qu’il s’agisse de comptes de paiement ou de comptes de monnaie électronique, ainsi que les méthodes disponibles pour initier un enrôlement utilisateur via nos outils (portail ou API), en fonction du modèle de partenariat. 1. Types de comptes CentralPay permet l’ouverture de deux types de comptes réglementés : Type de compteDescriptionExemples d’usageCompte de paiementCompte de paiement au sens de l’article L314-1 du Code monétaire et financier.Encaissement par carte, virement ou SEPA.Compte de monnaie électroniqueCompte prépayé en euros émis par CentralPay, selon les règles des Établissements de Monnaie Électronique.Wallets, marketplaces C2C, cashback, titres. L’attribution du type de compte dépend du modèle économique du marchand et de son éventuelle gestion par un mandataire (DME ou Agent). 2. Fonctionnement global de l’enrôlement L’ouverture d’un compte passe systématiquement par une procédure d’enrôlement incluant : La création d’une demande d’enrôlement : initiation d’un dossier contenant les premières informations (email, nom, prénom) La complétion de l’enrôlement : soumission par l’utilisateur des informations réglementaires et des justificatifs (KYC/KYB) La validation de l’enrôlement : analyse par CentralPay, pouvant aboutir à une ouverture de compte, une demande complémentaire ou un refus 3. Deux interfaces possibles InterfaceDescriptionPublic concernéPortail d’enrôlement CentralPayInterface hébergée par CentralPay, accessible via lien personnalisé.Tous types d’utilisateursAPI d’enrôlementInterface technique permettant à un mandataire d’initier ou compléter des enrôlements via API.Mandataires autorisés selon leur statut 4. Conformité et réglementation Afin de respecter le cadre réglementaire applicable aux Prestataires de Services de Paiement, la répartition des rôles est strictement encadrée : CentralPay initie seul la contractualisation avec l’utilisateur Le partenaire technique ne peut pas inciter, conseiller ni initier une ouverture de compte Le partenaire technique n’intervient pas dans la collecte de justificatifs Seuls les partenaires enregistrés comme MOBSP, ou les mandataires Agent ou DME peuvent intervenir dans les étapes d’enrôlement élargies Modèle partenairePeut initier une demande d’enrôlementPeut compléter un enrôlement (API)Peut transmettre des justificatifs KYCPartenaire TechniqueOui*❌ Non❌ NonMandataire DMEOui, via API ou portail✅ Oui✅ OuiMandataire AgentOui, via API ou portail✅ Oui✅ Oui (KYC Niveau 1 ou plus si mandat) ℹ️ Le partenaire technique peut créer une demande d'enrôlement contenant uniquement les données de contact (email, nom, prénom, raison sociale), sans envoyer lui-même de lien d'enrôlement. CentralPay reste seul décideur de la suite du processus.
General information This section explains how to create CentralPay accounts, whether payment accounts or e-money accounts, as well as the methods available for initiating user onboarding through our tools (portal or API), depending on the partnership model. 1. Types of accounts CentralPay allows users to open two types of regulated accounts: Account typeDescriptionSamples of usePayment accountPayment account as defined in article L314-1 of the Monetary and Financial Code.Payment by credit card, bank transfer, or SEPA.E-money accountA prepaid account in euros issued by CentralPay, in accordance with the regulations governing electronic money institutions.Wallets, marketplaces C2C, cashback, titles. The assignment of an account type depends on the merchant’s business model and whether the account is managed by an agent (DME or Agent). 2. General enrollment process Opening an account always involves a registration process that includes: Creating an enrollment request: starting a file containing basic information (email, last name, first name) Completion of the registration process: submission by the user of required information and supporting documents (KYC/KYB) Enrollment validation: review by CentralPay, which may result in account opening, a request for additional information, or a rejection 3. Two possible interfaces InterfaceDescriptionTarget audienceCentralPay enrollment portalInterface hosted by CentralPay, accessible via a personalized link.All types of usersEnrollment APIA technical interface that allows an intermediary to initiate or complete enrollments via API.Authorized intermediary by status 4. Compliance and regulation In order to comply with the regulatory framework applicable to Payment Service Providers (PSP), the division of roles is strictly regulated: CentralPay is the only party that initiates the contract process with the user The technical partner may not encourage, advise, or initiate the opening of an account The technical partner does not participate in the collection of supporting documents Only partners registered as MOBSPs, or Agent or EMD representatives, may participate in the expanded enrollment steps Partner modelCan initiate an enrollment requestCan complete an enrollment (API)Can submit KYC documentationTechnical PartnerYes*❌ No❌ NoEMD IntermediaryYes, via API or portal✅ Yes✅ YesPSP IntermediaryYes, via API or portal✅ Yes✅ Yes (Level 1 KYC or higher if mandate) ℹ️ The technical partner can create an enrollment request containing only contact information (email, last name, first name, company name), without sending an enrollment link themselves. CentralPay retains sole discretion over the rest of the process.
Informations générales La solution Easy Wallet 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 d’une plateforme Le transfert, permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique Selon le modèle de contractualisation CentralPay, les possibilités d’inscription et de transferts sont différentes. 1. 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 marchands participants Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay.
General information The Easy Wallet solution enables platforms to process payments and transfer them to third parties in compliance with European regulations. To achieve this, the module includes two main services: The registration, which enables the creation of payment and electronic money accounts for merchants on a platform The transfer, which enables transactions to be transferred to these payment and electronic money accounts According to the CentralPay contract model, the options for registration and transfers vary. 1. Types of transfers According to the partnership model established with CentralPay, payouts are processed differently: MOBSP Partners: You must use the transfer service via transaction PSP Agents: You can use the free transfer service or transfer via transaction EM Distributors: You must use the transfer service via transaction for the foreign currency collection phase. Then, you may use the free transfer service only to transfer electronic money between the accounts of your participating merchants. To find out what type of partnership you have, please contact your CentralPay representative.
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 RCT (test) Api login and password. You can also use our test login : Doctest:4I9HJRTdDon’t use your Production login for the tests, you’ll get a 401 error. 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.
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 RCT (test) Api login and password. You can also use our test login : Doctest:4I9HJRTdDon’t use your Production login for the tests, you’ll get a 401 error. 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.
Abonnement 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 Marchand. 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 : Recette Portail Marchand – Modèles d’abonnements Production Portail Marchand – Modèles d’abonnements 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 Marchand. Accès : Recette Portail Marchand – Paramétrages d’abonnements Production Portail Marchand – Paramétrages d’abonnements 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 Marchand 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
Subscription The subscription service allows you to automatically process recurring transactions on your customer profiles based on a subscription template defined in advance via the CentralPay API or the Merchant Portal. You can then add due dates or modify the amounts on the fly using the Invoice & Invoice Item services. This service allows you to generate either card transactions or SDD (SEPA Direct Debit) transactions. Useful definitions for this section:– SubscriptionModel : subscription template (specifying the subscription amount and frequency)– Subscription : subscription appplied to a customer– Invoice : invoice, use this option if you need to change the amount within a subscription plan– InvoiceItem : line item or item included in the invoice. An invoice may contain multiple line items or items ℹ️ The "Subscription" service is not the only way to process recurring transaction.Visit the Recurring card transactions page or the Direct debit transactions page for details by payment method. 1. Create a subscription template (subscriptionModel) Access: Recette Merchent Portal – Subscription templates Production Merchent Portal – Subscription templates The subcriptionModel allows you to create different types of subscriptions based on the services you offer. For example, if you have two types of subscription plans available—one that includes the basic features of your service and the other that includes advanced features, you will need to create two models: One for the “basic” subscription plan One for the “advanced” subscription plan Each “SubscriptionModel” has a unique ID. You will provide this ID in your API requests when you want to apply a subscription to a customer based on that model. You can use the following attributes: amount : amount to be entered in centimes intervalUnit : DAY / WEEK / MONTH / YEAR (day / week / month / year) intervalCount : the number of « intervalUnit » units between two due dates (e.g., if intervalUnit = DAY and intervalCount = 10, then there will be a transaction every 10 days) iterationCount: number of installments (note that the first transaction is not included in this parameter; it is therefore added to this number) Example: amount = 3000 intervalUnit = DAY intervalCount = 3 iterationCount = 3 This means your subscription template will be set up to bill your customer 30.00 EUR every 3 days for 4 billing cycles (for a total subscription period of 12 days). 2. Create a subscription (subscription) To create a subscription, you must first create a Customer that contains at least: A Card (if you wish to make card transactions) Or a Mandate (if you wish to make card transactions via SEPA direct debit) You can then create a Subscription: Depending on your preferred payment method: for card transactions : enter the customer profile ID « customerId » for transactions via SEPA direct debit : enter the mandate SEPA direct debit ID « mandateId » an enter the desired transaction date in “requestedCollectionDate” for transactions between CentralPay accounts : enter the sender’s account ID “walletId” Enter the subscription template ID « subscriptionModelId Enter your client’s IP address in “endUserIp” Enter your CentralPay point-of-sale ID in the “pointOfSaleId” field Please note that when a subscription is created, your customer automatically receives an email containing the details of their payment schedule. This email also includes a link to our Customer Portal, where they can view the status of their recurring payments, update their credit card or SEPA direct debit information, and cancel a subscription if necessary. ℹ️ Customers can cancel their subscription at any time through the customer portal provided to them. Be sure to subscribe to the subscription cancellation webhooks. If your subscription includes a minimum commitment period, it is best to use the recurring payment method or ask CentralPay not to share the link to the customer portal. Automating retries in case of failure If a payment fails to be debited, CentralPay will make additional debit attempts based on the settings defined in the Merchant Portal. Access: Recette Merchent Portal – Subscription settings Production Merchent Portal – Subscription settings Field behavior: Transaction time: the time at which the direct debit payments will be processed by CentralPay Selection of a value between 4 and 23 First failed invoice payment: What to do in the event of a first failed direct debit Try again in 1, 3, 5, or 7 days = a new attempt to process the transaction on day+X after the initial transaction Stop = the system will immediately perform the final action, without considering the subsequent actions. Second failed invoice payment: What to do in the event of a second failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will immediately perform the final action, without considering the subsequent actions. Third failed invoice payment: What to do in the event of a third failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will immediately perform the final action, without considering the subsequent actions. Final action: What to do if the previous actions failed. CANCELED = Subscription cancelation (changing the subscription status to CANCELED) FAILURE = Subscription failure (subscription status changed to FAILURE) UNPAID = Unpaid subscription (subscription status changed to FAILURE + SUBSCRIPTION_UNPAID hook sent) 4. Subscription cancellation functions There are two ways to cancel a subscription via the API, the Merchant Portal, or the Customer Portal: Cancel: the subscription is canceled immediately Cancel at the end of the billing period: The subscription will be canceled at the end of the current billing period (so that the subscriber can continue to use your service during their last paid period). When using the API, you must fill in the “atPeriodEnd” field. Note: During this time, you can reactivate your subscription using the “reactivate” feature in Subscriptions. ℹ️ Subscriptions for which all payments have been made automatically change to CANCELED status. 5. Change the amount of a subscription payment CentralPay creates an invoice for each billing cycle of a subscription, based on the associated subscription model (subscriptionModel). You can take manual actions at any time to modify the billing dates (invoices) for a subscription. Below is a list of possible actions: Modify the amount of an invoice installment: The invoiceItem service allows you to modify the amount of an invoice installment by entering a positive or negative amount that will be added to the original installment amount. The invoiceItem will be applied to the next subscription installment, whether it is created manually or automatically. You can also specify a particular installment in your request by providing an invoiceId. Create an additional payment due date: so-called “recurring” payment due dates (invoices) are created automatically based on your subscription model. You can create additional one-time payment due dates for your subscription by creating an invoice. Delete an unprocessed invoiceItem: if it is not yet linked to an invoice Close an upcoming payment due date: if you do not want CentralPay to process a payment (and/or its automatic retry attempts), you can close it using the “close” feature on the invoice. If necessary, you can reopen this payment due date using the “reopen” feature on the invoice if it has not been paid or if there are still scheduled retry attempts remaining. Forcing a payment due: transactions are processed automatically by the subscription service; however, you can initiate the transaction in advance or retry it manually using the “pay” feature on the invoice. These “manual” payments are not tracked by the automated retry system. This action can be performed on a closed invoice. 6. Complete guide to creating a subscription
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 Marchand, 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 Marchand 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 Les dates et heures précises des évènements concernés Le 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 Marchand : Recette Portail Marchand – Aide et support Production Portail Marchand de PROD – Aide et support
Contact CentralPay > CentralPay is committed to healthy growth, ensuring that our users receive daily support from stable teams of experts in their respective fields (compliance, electronic payments, security, etc.). Our customer service and support teams can be reached Monday through Friday via the « Help & Support » section of your Merchant Portal, by email, or by videoconference by appointment. 1. Before submitting a technical request Here are a few things you can check beforehand: Authentication: Are you properly authenticated? Environment: Are you in the correct environment for the Merchant Portal and the API (Sandbox or LIVE)? Authorization: Do you have the necessary permissions to perform this operation? HTTP error 403 indicates an authorization error. HTTP Error: See the meanings of CentralPay HTTP error codes. If you receive an HTTP 500 error code, please contact technical support immediately. 2. Information to Provide for All Technical Inquiries The specific dates and times of the relevant events The link (URL) to the relevant page One or more screenshots, ideally a video (Cloudapp lets you record a video of a page in the Google Chrome browser) A UUID (or ID) for the transaction in question and its type (Card Transaction, Refund, Payment Request, etc.) The environment in which you are working (Sandbox testing or LIVE production) A detailed description of the problem you are experiencing or your question This information will help us support you and analyze your situation more effectively. Your requests will be given priority if they are submitted through the « Help and Support » section of the Merchant Portal: Recette Merchant Portal – Help and Support Production LIVE E-commerce Merchant Portal – Help and Support
Transaction initiée par le porteur (CIT – BRW) Le flux BRW (Browser) s’applique aux transactions initiées par le client (CIT — Customer-Initiated Transaction) : le titulaire de la carte est présent et valide lui-même le paiement. Cette CIT authentifiée sert aussi de socle aux transactions MIT futures. 👉 Pour une transaction initiée par le marchand sans le porteur (facturation récurrente, montant variable, usage-based, frais ponctuels), consultez la documentation du flux 3RI. ❌ Attention au choix du flux : utiliser le BRW pour une transaction initiée par le marchand (MIT) entraîne une non-conformité, une friction inutile et une réduction importante du taux de conversion. 1. Les grandes étapes du flux BRW Le flux BRW enchaîne cinq étapes côté API, dont deux conditionnelles : versioning (la carte est-elle authentifiable ?) → 3DS Method (si nécessaire) → authentification → challenge (si la banque l’exige) → résultat, avant de réaliser la transaction. ℹ️ Tout le processus doit se dérouler sur une seule et même page web, sans redirection vers une page bancaire, grâce à une solution d'iframe. C'est une contrainte du process bancaire. Pour accélérer votre intégration du flux BRW, vous pouvez partir d’une application d’exemple complète (PHP / Twig) qui rejoue toute la séquence décrite sur cette page : formulaire de paiement CUSTOM, versioning, 3DS Method en iframe, authentication, gestion du challenge, results puis transaction, le tout sur une seule et même page, conformément à la contrainte bancaire. 👉 Télécharger le code d’exemple · Voir la démo en ligne Avant de lancer le code d'exemple, renseignez vos identifiants dans le fichier .env (API_USER, API_PASSWORD, POS_UUID) et faites pointer HOST_CENTRALPAY_API_CORE vers l'environnement de test https://test-api.centralpay.net/v2/rest/. 2. Versioning Le versioning est la première étape : il interroge le réseau de la carte pour savoir si elle peut être authentifiée en 3DS 2.2, et récupère les éléments techniques nécessaires à la suite. Concrètement, vous adressez à l’API CentralPay le PAN de la carte (Primary Account Number, le numéro à 16 chiffres). Exemple (curl) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'acctNumber=4000001000000067' Comprendre la réponse. Une carte est dite « enrôlée » lorsque la banque qui l’a émise participe au protocole 3DS 2.2 pour cette carte. C’est la banque émettrice qui en décide : ni vous ni CentralPay ne pouvez enrôler une carte. Le versioning sert justement à savoir si c’est le cas. Carte non enrôlée → le versioning retourne une erreur 404 : l’authentification 3DS 2.2 est impossible pour cette carte. Prévoyez un repli (basculement en 3DS1 si supporté, ou refus du paiement selon votre politique de risque). Carte enrôlée → vous recevez un identifiant d’opération, le threeDSServerTransID (généré par CentralPay et conservé jusqu’au résultat final), ainsi que, le cas échéant, les données nécessaires au « 3DS Method » (une URL + une donnée encodée en base64). Pour une carte enrôlée, deux réponses sont possibles : Version 1 (la plus fréquente) — un 3DS Method est attendu : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": "https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm": { "threeDSMethodData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJhbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2MtZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails": null } Les champs threeDSMethodURL et threeDSMethodData sont renseignés : passez à l’étape 3. 3DS Method. Version 2 — pas de 3DS Method : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Seul threeDSServerTransID est renseigné (les champs 3DS Method sont vides) : passez directement à l’étape 4. Authentification. 3. 3DS Method À quoi ça sert ? Le 3DS Method permet à la banque du porteur — via son ACS (Access Control Server, le serveur de la banque émettrice qui authentifie le porteur) — de collecter discrètement des informations techniques sur le navigateur du client, avant l’authentification. Ces informations enrichissent son analyse de risque et augmentent les chances d’une authentification frictionless (sans challenge pour le porteur). Quand l’exécuter ? Uniquement si le versioning a renvoyé une valeur pour threeDSMethodURL et threeDSMethodData (cas « Version 1 » ci-dessus). Sinon, passez directement à l’authentification. Comment ? Chargez l’threeDSMethodURL dans une iframe invisible (masquée à l’écran : cet échange est purement technique et ne doit rien afficher au porteur) et postez-y le champ threeDSMethodData. C’est le navigateur du porteur qui effectue cet appel vers la banque, en arrière-plan. 4. Authentification (BRW) L’appel est adressé à l’URL 3ds2/authentication de l’API CentralPay. Cette requête transmet les données contextuelles liées au porteur et à son navigateur, qui permettent à la banque de décider si une authentification active (challenge) est nécessaire. Exemple (curl) : 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' 💡 deviceChannel=02 indique le canal navigateur, propre au flux BRW. Les paramètres browser* (caractéristiques du navigateur du porteur) sont donc obligatoires ici.Pour augmenter le taux d'authentification Frictionless, enrichissez cette requête avec les données contextuelles du porteur → voir Optimiser le taux de Frictionless Champs à préciser selon l’objet de la CIT. Le champ threeDSRequestorAuthenticationInd est obligatoire : il indique la nature de l’authentification. Une CIT BRW peut servir soit à authentifier un paiement (messageCategory=01, PA), soit à authentifier une carte ou son porteur sans débit (messageCategory=02, NPA) — par exemple pour enregistrer une carte, la mettre à jour ou en vérifier le porteur. Les deux champs se renseignent de façon cohérente : threeDSRequestorAuthenticationIndObjet de la CITmessageCategoryChamps requis en plus01 — PaymentPaiement unitaire (ponctuel)01 (PA)—02 — RecurringPaiement récurrent (abonnement)01 (PA)recurringExpiry, recurringFrequency03 — InstalmentPaiement échelonné (en plusieurs fois)01 (PA)recurringExpiry, recurringFrequency, purchaseInstalData04 — Add cardEnregistrement / empreinte d’une carte pour usage futur, sans débit02 (NPA)—05 — Maintain cardMise à jour des informations d’une carte déjà enregistrée (ex. renouvellement)02 (NPA)—06 — Cardholder verificationVérification du porteur dans le cadre de l’ID&V d’un token EMV02 (NPA)— recurringExpiry → date après laquelle plus aucune autorisation ne sera effectuée (format YYYYMMDD). recurringFrequency → nombre minimum de jours entre deux autorisations (1 à 999). purchaseInstalData → nombre maximum d’autorisations (échéances) prévues pour le paiement échelonné (1 à 999). ℹ️ Les cas 04, 05 et 06 sont des authentifications hors paiement : aucun montant ni champ de récurrence n'est requis. Elles ne préparent pas forcément une MIT — ce sont souvent une fin en soi (enregistrer, vérifier ou maintenir une carte). La carte ainsi authentifiée pourra ensuite servir à des transactions CIT (porteur présent) comme MIT (3RI). La réponse contient un statut d’authentification (transStatus) qui détermine la suite à donner : ❌ Pas d’autorisation — ne pas effectuer la transaction Statut (transStatus)SignificationNNon authentifié / compte non vérifié. Transaction refusée.UAuthentification / vérification impossible (problème technique ou autre).RAuthentification / vérification rejetée. L’émetteur demande de ne pas tenter d’autorisation.IInformation seulement. Reconnaissance de la préférence du demandeur pour le challenge 3DS. ✅ Autorisation sans challenge Statut (transStatus)SignificationYAuthentification réussie.ATentative effectuée. Non authentifié / vérifié, mais une preuve de tentative est fournie. 🔐 Autorisation après challenge Statut (transStatus)SignificationCChallenge requis : le porteur doit s’authentifier activement (voir étape 5), via les messages CReq/CRes (Challenge Request / Response).DChallenge requis. Authentification découplée confirmée. Exemples de réponses : C — Challenge requis : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "C", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge", "acsChallengeMandated": "Y", "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Y — Authentification réussie (challenge non nécessaire) : { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Les champs requis pour la transaction sont présents : threeDSServerTransID, transStatus, authenticationValue (le cavv — Cardholder Authentication Verification Value, le cryptogramme qui prouve l’authentification) et eci (Electronic Commerce Indicator, qui indique le niveau d’authentification obtenu et conditionne le transfert de responsabilité en cas de fraude). Le xid n’est pas fourni : c’est une référence libre destinée aux marchands. N — Transaction refusée : { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } 5. Challenge Le challenge est l’étape où le porteur s’authentifie activement auprès de sa banque (code à usage unique reçu par SMS, validation dans l’application bancaire, biométrie…). Il n’a lieu que si l’authentification a renvoyé transStatus = C. Une iframe doit soumettre un formulaire à l’acsURL retournée à l’étape 4. Le seul paramètre envoyé est creq, dont la valeur est le base64EncodedChallengeRequest issu de l’authentification. À la fin du challenge, l’URL que vous avez fournie (notificationURL) est appelée par la banque. En environnement de test, le challenge s’affiche sous forme d’un OTP (One-Time Password, code à usage unique) ; en production, c’est la fenêtre de l’ACS de la banque qui s’affiche : OTP de test : 1234 → Y (simule un challenge réussi – Authentification réussie) 4444 → A (simule un challenge réussi – Non authentifié / vérifié, mais une preuve de tentative est fournie.) 1111 → N (simule un challenge échoué – Non authentifié / compte non vérifié) 2222 → R (simule un challenge échoué – Authentification / vérification rejetée) 3333 → U (simule un challenge échoué – Authentification / vérification impossible (problème technique ou autre) 6. Réponse du challenge À l’issue du challenge, le résultat est transmis dans le paramètre cres, encodé en base64. Décodez-le pour lire le statut. Exemple en PHP : $retour = json_decode(base64_decode($_POST['cres']), true); Si le statut est Y ou A, le challenge est validé et le paiement est autorisé : appelez GET /results (étape 7) pour récupérer les données 3DS nécessaires à la transaction. Toute autre valeur signifie que le challenge a échoué : le paiement est refusé. 7. Résultat Cette étape récupère les données 3DS définitives à reporter dans la transaction. Adressez le threeDSServerTransID de l’authentification. ℹ️ Si l'authentification a directement retourné transStatus = Y (sans challenge), les données 3DS y figurent déjà : cette étape n'est pas nécessaire. Appel : curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' Réponse : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 🔁 Préparer les MIT futures (3RI). Si cette CIT doit servir de référence à des paiements ultérieurs initiés par le marchand, conservez l'acsTransID de la séquence d'authentification : il sera requis comme threeDSReqPriorRef côté 3RI. 8. Transaction Données à renseigner pour valider une transaction authentifiée en 3DS 2.2 : 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci (obligatoire si disponible) 3ds[xid] = paramètre custom, référence libre destinée aux marchands Exemple (curl) : 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' Étape suivante : pour les transactions ultérieures initiées par le marchand (MIT), voir 3DS 2.2 – 3RI.
Transaction Initiated by the Holder (CIT – BRW) The BRW (Browser) flow applies to Customer-Initiated Transactions (CIT): the cardholder is present and authorizes the payment personally. This authenticated CIT also serves as the foundation for future MIT transactions. 👉 For a transaction initiated by the merchant without the cardholder (recurring billing, variable amounts, usage-based charges, one-time fees), see the 3RI flow documentation. ❌ Be careful when choosing the payment flow: Using BRW for a merchant-initiated transaction (MIT) results in non-compliance, unnecessary friction, and a significant drop in the conversion rate. 1. The main steps in the BRW workflow The BRW flow consists of five steps on the API side, two of which are conditional: versioning (is the card authenticatable?) → 3DS Method (if necessary) → authentication → challenge (if required by the bank) → result, before completing the transaction. ℹ️ The entire process must take place on a single web page, without being redirected to a bank page, using an iframe solution. This is a requirement of the banking process. To speed up your integration of the BRW flow, you can start with a complete sample application (PHP/Twig) that replicates the entire sequence described on this page: CUSTOM payment form, versioning, 3DS Method in an iframe, authentication, challenge handling, results, and then the transaction, all on a single page, in accordance with banking requirements. 👉 Download the sample code · View the online demo Before running the sample code, enter your credentials in the file .env (API_USER, API_PASSWORD, POS_UUID) and point it HOST_CENTRALPAY_API_CORE to the test environment https://test-api.centralpay.net/v2/rest/. 2. Versioning The versioning is the first step: it queries the card network to determine whether the card can be authenticated using 3DS 2.2, and retrieves the technical information needed for the rest of the process. Specifically, you send the card’s PAN (Primary Account Number, the 16-digit number) to the CentralPay API. Sample (curl) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'acctNumber=4000001000000067' Understanding the response. A card is said to be “enrolled” when the bank that issued it participates in the 3DS 2.2 protocol for that card. This is determined by the issuing bank: neither you nor CentralPay can enroll a card. Versioning is used precisely to determine whether this is the case. Card not enrolled → versioning return a 404 error: the 3DS 2.2 authentification is impossible for this card. Plan for a fallback (switch to 3DS1 if supported, or decline the payment according to your risk policy). Card enrolled → you receive a transaction ID, the threeDSServerTransID (generated by CentralPay and retained until the final result is available), as well as, if applicable, the data required for the “3DS Method” (a URL and data encoded in Base64). For a rolled-up card, there are two possible answers: Version 1 (the most common) — a 3DS Method is expected: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": "https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm": { "threeDSMethodData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJhbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2MtZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails": null } The threeDSMethodURL and threeDSMethodData field have been filled in: proceed to step 3. 3DS Method. Version 2 — no 3DS Method: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Only threeDSServerTransID is filled in (the 3DS Method fields are empty): proceed directly to Step 4. Authentication. 3. 3DS Method What is it used for? The 3DS Method allows the cardholder’s bank — via its ACS (Access Control Server, the issuing bank’s server that authenticates the cardholder) — to discreetly collect technical information about the customer’s browser, before authentication. This information enhances the bank’s risk analysis and increases the likelihood of frictionless authentication (without requiring the cardholder to complete a challenge). When should this be executed? Only if versioning returned a value for threeDSMethodURL and threeDSMethodData (the “Version 1” case above). Otherwise, proceed directly to authentication. How? Load the threeDSMethodURL into an invisible iframe (hidden from view: this exchange is purely technical and should not display anything to the user) and post the threeDSMethodData field there. The user’s browser makes this call to the bank in the background. 4. (BRW) Authentification The request is sent to the CentralPay API URL 3ds2/authentication. This request transmits contextual data related to the cardholder and their browser, which allows the bank to determine whether active authentication (challenge) is required. Sample (curl) : 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' 💡 deviceChannel=02 indicates the browser channel, specific to the BRW feed. The browser* (the cardholder's browser characteristics) are therefore required here.To increase the frictionless authentication rate, enrich this request with contextual data about the cardholder → see Optimizing the Frictionless Rate Fields to be specified based on the purpose of the CIT. Field threeDSRequestorAuthenticationInd is required: it specifies the type of authentication. A CIT BRW can be used to authenticate a payment (messageCategory=01, PA), or to authenticate a card or its holder without a charge (messageCategory=02, NPA) — for example, to register a card, update it, or verify the cardholder. Both fields must be filled out consistently: threeDSRequestorAuthenticationIndPurpose of the CITmessageCategoryAdditional required fields01 — PaymentPer-unit payment (one-time)01 (PA)—02 — RecurringRecurring payment (subscription)01 (PA)recurringExpiry, recurringFrequency03 — InstalmentInstallment payments (in several payments)01 (PA)recurringExpiry, recurringFrequency, purchaseInstalData04 — Add cardRegistering/encoding a card for future use, with no charge02 (NPA)—05 — Maintain cardUpdating the information for an already registered card (e.g., renewal)02 (NPA)—06 — Cardholder verificationCardholder verification as part of the ID&V process for an EMV token02 (NPA)— recurringExpiry → the date after which no further authorizations will be issued (format YYYYMMDD). recurringFrequency → minimum number of days between two authorizations (1 to 999). purchaseInstalData → maximum number of authorizations (due dates) specified for installment payments (1 to 999). ℹ️ Cases 04, 05, and 06 are non-payment authentications: no amount or recurrence field is required. They do not necessarily lead to an MIT transaction — they are often an end in themselves (to register, verify, or maintain a card). The card authenticated in this way can then be used for both CIT (cardholder present) and MIT (3RI) transactions. The response contains an authentication status (transStatus) that determines the next steps: ❌ No authorization — do not complete the transaction Status (transStatus)MeaningNNon authenticated/unverified account. Transaction declined. UAuthentication/verification failed (technical issue or other problem).RAuthentication/verification declined. The sender requests that you do not attempt to obtain authorization. IFor informational purposes only. Acknowledgment of the applicant’s preference for the 3DS Challenge. ✅ Authorization without challenge Status (transStatus)MeaningYAuthentication successful.AAttempt made. Not authenticated/verified, but a proof of the attempt is provided. 🔐 Authorization after challenge Status (transStatus)MeaningCChallenge required: the owner must actively authenticate (see step 5) using CReq/CRes (Challenge Request/Response) messages.DChallenge required. Decoupled authentication confirmed. Sample of responses: C — Challenge required: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "C", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge", "acsChallengeMandated": "Y", "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Y — Authentication successful (no challenge required): { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } The required fields for the transaction are present: threeDSServerTransID, transStatus, authenticationValue (the CAVV — Cardholder Authentication Verification Value, the security code that verifies authentication) and eci (Electronic Commerce Indicator, which indicates the level of authentication achieved and determines the transfer of liability in the event of fraud). The xid is not provided: it is an optional reference intended for merchants. N — Transaction declined: { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } 5. Challenge The challenge is the step in which the cardholder actively authenticates themselves with their bank (one-time code received via text message, validation in the banking app, biometrics, etc.). It occurs only if the authentication returned transStatus = C. An iframe must submit a form to the acsURL page returned in step 4. The only parameter sent is creq, whose value is the base64EncodedChallengeRequest obtained from authentication. At the end of the challenge, the URL you provided (notificationURL) is called by the bank. In a test environment, the challenge appears as an OTP (One-Time Password); in production, the bank’s ACS window appears: Test OTP: 1234 → Y (simulates a successful challenge – Authentication successful) 4444 → A (simulates a successful challenge – Not authenticated/verified, but a proof of the attempt is provided.) 1111 → N (simulates a failed challenge – No authenticated/unverified account) 2222 → R (simulates a failed challenge – Authentication/verification declined) 3333 → U (simulates a failed challenge – Authentication/verification failed (technical issue or other problem) 6. Challenge response Once the challenge is complete, the result is returned in the cres parameter, encoded in Base64. Decode it to read the status. Example in PHP: $retour = json_decode(base64_decode($_POST['cres']), true); If the status is Y or A, the challenge is validated and the payment is authorized: call GET /results (step 7) to retrieve the 3DS data required for the transaction. Any other value means the challenge failed: the payment was declined. 7. Result This step retrieves the final 3DS data to be included in the transaction. Send the threeDSServerTransID authentication request. ℹ️ If the authentication returned transStatus = Y directly (without a challenge), the 3DS data is already included: this step is not necessary. Call: curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' Response: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 🔁 Prepare for future MITs (3RI). If this CIT is to serve as a reference for subsequent payments initiated by the merchant, retain the acsTransID from the authentication sequence: it will be required as threeDSReqPriorRef on the 3RI side. 8. Transaction Information required to validate a transaction authenticated using 3DS 2.2: 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci (required if available) 3ds[xid] = custom parameter, free-form reference for merchants Sample (curl) : 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' Next step: For subsequent merchant-initiated transactions (MIT), see 3DS 2.2 – 3RI.
WooCommerce Ce guide vous accompagne dans l’installation, la configuration et l’utilisation du plugin CentralPay pour WooCommerce (WordPress). ℹ️ La plateforme CentralPay prend en charge différents moyens (carte, virement et prélèvement SEPA, initiation de paiement) et modes de paiement (paiement en une fois, abonnement, en plusieurs fois, etc.). Ce plugin permet uniquement l'encaissement de transactions cartes unitaires. 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 Pour WooCommerce ➝ Télécharger l’archive ZIP du plugin CentralPay ⚠️ Veillez à ne pas la décompresser manuellement. 2. Installation sur WordPress Connectez-vous à votre interface d’administration WordPress Allez dans Extensions > Ajouter Cliquez sur Téléverser une extension Sélectionnez le fichier centralpay221.zip et cliquez sur Installer maintenant Une fois l’installation terminée, cliquez sur Activer l’extension 3. Configuration du module Allez dans WooCommerce > Réglages > Paiements Cliquez sur CentralPay pour accéder à la configuration Renseignez les champs suivants puis cliquez sur Enregistrer les modifications : ChampDescriptionAccès à la donnéeIdentifiant marchandIl s’agit de votre Merchant Public Key. Ne pas confondre avec le Merchant UUID.Portail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »Login APIIdentifiant de votre utilisateur API CentralPayPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Mot de passe APIMot de passe de votre utilisateur API CentralPayPortail Marchand 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 Marchand 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 profil marchand CentralPay de test)./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. Statut de commande Le plugin WooCommerce de CentralPay intègre automatiquement une URL de retour (return_url) dans le lien du formulaire de paiement. Cette URL permet de rediriger le client vers la page de confirmation de commande (/checkout/order-received/) et d’actualiser le statut de la commande en fonction du résultat du paiement. Si le client final ferme la fenêtre de paiement avant d’être redirigé, la mise à jour de la commande peut ne pas se déclencher correctement côté WooCommerce. Pour garantir la mise à jour fiable du statut de commande, nous recommandons de mettre en place un Hook (callback serveur à serveur) dans votre Backoffice CentralPay. Étapes de configuration : Accédez à :Production : https://backoffice.centralpay.net/admin/hook/Test : https://test-backoffice.centralpay.net/admin/hook/ Créez un Hook avec les paramètres suivants : Événement : Point de Vente > TRANSACTION_SUCCEDEED Affecté au Point de Vente : sélectionnez votre Point de Vente WooCommerce URL : https://votre-site-woocommerce.com/?wc-api=cpay_validation (Remplacez par l’URL de votre site WooCommerce.) Sauvegardez le Hook Le paramètre /?wc-api=cpay_validation est nécessaire pour que le plugin WooCommerce de CentralPay reconnaisse la notification et déclenche la mise à jour du statut de la commande. Cette configuration doit être réalisée à la fois dans votre environnement de test et sur votre profil marchand de production. 5. Personnalisation du logo Vous pouvez également personnaliser l’interface de paiement en ajoutant le logo de votre site via le Backoffice : Accédez à : https://backoffice.centralpay.net/admin/point_of_sale/ Dans le détail de votre Point de Vente, cliquez sur Modifier Importez votre logo dans la section Logo Ce logo sera affiché directement dans le formulaire de paiement pour une expérience utilisateur plus cohérente. 6. Mode test Activez le mode test dans la configuration (attention, vous devez disposer d’un profil marchand CentralPay de test et renseigner les identifiants de ce profil 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 7. 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 8. 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. 9. 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 10. 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.
WooCommerce This guide will walk you through the installation, configuration, and use of the CentralPay plugin for WooCommerce (WordPress). ℹ️ The CentralPay platform supports various payment methods (credit/debit cards, Bank transfers, SEPA Direct Debits, and Payment Initiation Service (PIS)) and payment options (one-time payments, subscriptions, installment plans, etc.). This plugin only allowsfor the processing of one-time credit/debit card transactions. If you'd like to request a change to the plugin, please visit https://support.centralpay.com: Support & Settings > Suggest a new feature. 1. Download the plugin For WooCommerce ➝ Download the CentralPay plugin ZIP archive ⚠️ Be sure not to unzip it manually. 2. Installation on WordPress Log in to your WordPress admin dashboard Go to Extensions > Add Click » Upload an Extension« Select the file » centralpay220.zip » and click » Install Now« Once the installation is complete, click » Enable Extension« 3. Module Configuration Go to WooCommerce > Settings > Payments Click on CentralPay to access the settings Fill in the following fields, then click » Save Changes « : FieldDescriptionAccess to DataMerchant IDThis is your Merchant Public Key. Do not confuse it with the Merchant UUID. CentralPay Merchant Portal > Administration > Technical Support > Copy « Merchant Public Key »API LoginYour CentralPay API user IDCentralPay Merchant Portal > Administration > Technical Support > Click on your « API ID » > Copy the « login »API PasswordYour CentralPay API user passwordCentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »POS IDUnique identifier for your Point of Sale (POS) (UUID)CentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)Test / Production ModeEnable test mode if you want to use the sandbox environment (the login and password must be those for your CentralPay test Merchant Profile)./Redirect URLRedirects your customers to a custom page after they complete payment through our form.Enter the URL of your payment confirmation page. 4. Order Status The CentralPay WooCommerce plugin automatically includes a redirect URL (return_url) in the payment form link. This URL redirects the customer to the order confirmation page (/checkout/order-received/) and updates the order status based on the payment result. If the end customer closes the payment window before being redirected, the order update may not trigger correctly on the WooCommerce side. To ensure that order status is updated reliably, we recommend setting up a hook (server-to-server callback) in your CentralPay Backoffice. Setup steps: Go to:Production: https://backoffice.centralpay.net/admin/hook/Testing: https://test-backoffice.centralpay.net/admin/hook/ Create a hook with the following parameters: Event: Point of Sale (POS) > TRANSACTION_SUCCEDEED Assigned to a Point of Sale (POS): Select your WooCommerce POS store URL: https://votre-site-woocommerce.com/?wc-api=cpay_validation (Replace with the URL of your WooCommerce site.) Save the Hook The ` /?wc-api=cpay_validation ` parameter is required for the CentralPay WooCommerce plugin to recognize the notification and trigger the order status update. This configuration must be set up both in your Test environment and on your production Merchant Profile. 5. Logo Customization You can also customize the payment interface by adding your website’s logo through the Backoffice: Go to: https://backoffice.centralpay.net/admin/point_of_sale/ In your Point of Sale details, click Edit Upload your logo in the » Logo » section This logo will be displayed directly in the payment form to provide a more consistent user experience. 6. Test Mode Enable test mode in the settings (please note: you must have a CentralPay test Merchant Profile and enter the credentials for that test Merchant Profile) Use the test cards provided by CentralPay to simulate payments Check that it is working properly: From the payment form Redirects Order Statuses 7. Payment Tracking View all your payments in WooCommerce > Orders The CentralPay plugin automatically updates order statuses If needed, an event log is available in the plugin’s ` error.log ` file 8. Available Languages The plugin is available in: 🇫🇷 French 🇬🇧 English You can edit or add your own translations using the ` .po ` files located in the ` /languages` folder, or by using a plugin such as Loco Translate. 9. Uninstallation To uninstall the plugin: Disable it through the Extensions menu Click » Delete« The uninstall script will delete the plugin’s settings 10. Support If you have any questions or need assistance, please contact our technical support team at https://support.centralpay.com.Please include your Merchant ID, your website URL, and as many details as possible about your request.
Déclaration MOBSP (Orias) ℹ️ 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 : Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN 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 Allez sur le site de l’ORIAS Faites défiler vers le bas jusqu’à voir la section Comment ça marche ? Cliquez sur S’inscrire Vous serez redirigé vers le formulaire d’inscription. 2.2. Saisir les informations Entrez votre numéro SIREN Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique Saisissez les informations de votre représentant légal Saisissez les coordonnées de votre représentant légal Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un Entrez l’adresse de votre entreprise 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. Retournez sur le site de l’ORIAS Cliquez sur Connexion / Login Saisissez votre identifiant et votre mot de passe provisoire depuis votre email 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 Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît Choisissez Activité IOB Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP) Cliquez sur Soumettre 3.2. Fournissez des informations complémentaires 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. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds 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 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 Cliquez sur Aller à l’étape « Pièces justificatives » 3.3. Fournissez vos documents justificatifs Soumettez votre KBIS Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1 Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2. Cliquez sur Aller à l’étape suivante 3.4. Payez votre inscription La dernière étape consiste à payer votre inscription. 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 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) Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription 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.
MOBSP (Orias) Declaration ℹ️ Before reading this page, please see the section on onboarding for partners. CentralPay partners based in France operate as intermediaries in banking and payment services (IOBSP), specifically as Intermediaries for Banking and Payment Services (MOBSP). To become a CentralPay MOBSP partner, you must register with ORIAS. CentralPay will then need to register you as its Intermediary. Your part of the process can be completed in a few hours, while CentralPay’s part takes a few days. ORIAS, for its part, may take up to two months to review your application. Although this process is your responsibility, CentralPay can assist you if needed. Please contact our customer service department if you need help. 1. Prepare your data 1.1. Get your certificate of appointment After signing your partnership agreement with CentralPay: Send an email to our customer service department that includes your company name and SIREN number CentralPay will respond with your authorization certificate. You will need this document for step 3.3. 1.2. Gather your supporting documents During Step 3.3 of the registration process, you will need to provide the following supporting documents: Commercial register issued within the last three months Proof of professional qualifications: a degree from an accredited business or management school; an RNCP certification (NCF 122, 128, 313, or 314, levels 7 through 5); or recognition by the CIEP for foreign degrees If you do not have proof of professional competence accepted by Orias, please send an email to our customer service department. CentralPay can help you complete the necessary training. See the attached image, which refers to the Level III – IOBSP category (Level 3). 2. Create your ORIAS account 2.1. Access the form Go to the ORIAS website Scroll down until you see the » How Does It Work? » section . Click » Sign Up« You will be redirected to the registration form. 2.2. Enter the information Enter your SIREN number Enter your business information. Be sure to register as a legal entity. Enter your legal representative’s information Enter the contact information for your legal representative Enter your company’s contact information, including your website if you have one Enter your business address Check all the information you’ve entered, then click » Submit. » 2.3. Log in to your ORIAS account Check your inbox for an email from ORIAS (no-reply-orias@orias.fr). The email contains your username and a temporary password. Return to the ORIAS website Click » Sign In » / » Login » Enter your username and the temporary password provided in your email Follow the instructions on your screen to change your password, then save it After saving your new password, you will be redirected to your ORIAS account page 3. Submit a new registration request 3.1. Register Your Business Click » New Registration » to begin the registration process; a form will appear Select IOB Activity Next, select » Non-Exclusive Intermediary for Banking Transactions and Payment Services (MOBSP)« Click Submit 3.2. Please provide additional information 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 If a different registration type is specified, use your browser’s Back button to return to the previous page and try again. For the first question, select the answer: » I declare that I am not entrusted with any funds. » For the second question, select the answer: » Minor, » indicating to ORIAS that financial services are not your company’s primary business activity For the third question, select the answer: Yes, indicating to ORIAS that your company offers credit (or other banking and payment services) solely as a secondary service Click » Go to the ‘Supporting documents’ step » 3.3. Please provide your supporting documents Submit your Commercial register Submit your authorization form, which is the authorization certificate from Step 1.1 Submit your Professional Competency for « you » (Level I IOBSP), which serves as your proof of professional competence for Step 1.2. Click « Go to the next step« 3.4. Pay your registration fee The final step is to pay your registration fee. Please note that you are paying for registration as a non-exclusive Intermediary for banking transactions and payment services. Your registration cannot be finalized without paying the fee. Choose to pay with your credit card, or click » Select another payment method » to pay by Bank transfer or check. After you’ve paid, click » Download Invoice » to download your receipt Click » Complete Registration » to finalize your registration You will receive your ORIAS registration number by email, confirming that your registration is complete. Please email this number to CentralPay’s customer service department. 4. CentralPay registers you as a MOBSP After you email your Orias registration number to CentralPay, CentralPay will register you as a non-exclusive Intermediary for banking operations and payment services (MOBSP). 5. ORIAS reviews your application ORIAS will review your documents and application to ensure that your file is fully compliant. ORIAS will notify you of its final decision via email. If your application is approved, the email will also include the date on which your MOBSP status will take effect. Please feel free to contact ORIAS by phone (09.69.32.59.73) or email (contact@orias.fr) if you do not receive the information regarding your application in a timely manner. 6. Update your legal notices After receiving approval from ORIAS and becoming a MOBSP, be sure to update your legal notices. Add something similar to the following example to the footer of your website, to your legal notices page, and anywhere else you distribute or sell payment services. [Company Name], a company registered with the Trade and Companies Register (RCS) of [City of Registration] under number [RCS number], and listed in the Single Register of Insurance Intermediaries, Banking and Finance under registration number [ORIAS registration number] as a non-exclusive Intermediary for banking transactions and payment services.
FAQ - Verification Of Payee À compter du 9 octobre 2025, la Vérification du bénéficiaire (VoP – Verification of Payee) deviendra obligatoire pour tous les virements SEPA, qu’ils soient classiques ou instantanés. Ce dispositif, gratuit pour les utilisateurs, vise à renforcer la sécurité des paiements en réduisant à la fois : les fraudes au virement (notamment les fraudes au faux RIB), les erreurs de saisie d’IBAN ou de nom du bénéficiaire. Concrètement, avant l’exécution d’un virement, l’établissement du payeur doit interroger l’établissement du bénéficiaire pour vérifier la concordance entre l’IBAN et le nom du titulaire du compte. En cas de discordance, une alerte est affichée au payeur, qui conserve la liberté de poursuivre ou non l’opération. Enjeux du dispositif Protection des utilisateurs : limiter les virements mal orientés ou frauduleux. Sécurité du système de paiement SEPA : accompagner le déploiement du virement instantané en Europe. Confiance des entreprises et des particuliers : améliorer la transparence et la fiabilité des paiements. Harmonisation européenne : instaurer une norme commune pour tous les PSP (banques, établissements de paiement et de monnaie électronique). Base légale Règlement (UE) 2021/1230 sur les virements instantanés en euros et la modification du règlement (UE) n° 260/2012 (SEPA), qui introduit l’obligation de VoP. Règlement (UE) 2015/847 sur les informations accompagnant les transferts de fonds, qui impose la transmission exacte des informations sur le payeur et le bénéficiaire. Code monétaire et financier : Articles L.133-6 et L.133-7 relatifs à l’autorisation des opérations de paiement et à l’exactitude des informations, Articles L.561-5 et suivants relatifs aux obligations de vigilance en matière de LCB-FT. Doctrine de l’ACPR, qui dans plusieurs décisions a sanctionné l’insuffisance de dispositifs de vérification et de correspondance entre l’identité du client et son compte Foire aux questions (FAQ) 1. Qu’est-ce que la VoP ? La Vérification de l’Ordre de Paiement (VoP) est un service réglementaire instauré au niveau européen.Elle permet de comparer automatiquement le nom du bénéficiaire d’un virement avec l’IBAN renseigné par le payeur, avant l’exécution du virement.Objectif : renforcer la sécurité des paiements et réduire les fraudes (notamment fraude au faux RIB). 2. Qui est concerné ? Les payeurs : particuliers ou entreprises qui initient un virement. Les bénéficiaires : toute personne physique ou morale recevant des virements (vous, en tant que client CentralPay). Les prestataires de services de paiement (PSP) : banques, établissements de paiement ou de monnaie électronique, qui doivent intégrer la VoP dans leurs systèmes. 3. Comment fonctionne la VoP concrètement ? Lorsqu’un virement est initié : Le payeur saisit l’IBAN et le nom du bénéficiaire. Sa banque interroge le PSP du bénéficiaire (via un canal sécurisé) pour vérifier la concordance entre l’IBAN et le nom enregistré dans la base du bénéficiaire. La réponse est renvoyée au PSP du payeur et affichée au payeur. 4. Quels résultats peuvent apparaître ? Trois cas sont possibles : Correspondance exacte : l’IBAN et le nom concordent → le virement peut être initié sans alerte. Correspondance partielle : l’IBAN correspond mais le nom est différent (fautes de frappe, abréviation, orthographe différente). Le payeur reçoit un avertissement et peut : corriger le nom, ou confirmer qu’il s’agit bien du bénéficiaire attendu. Absence de correspondance : l’IBAN et le nom ne correspondent pas → le payeur reçoit une alerte forte. Il peut annuler ou décider de poursuivre en acceptant le risque. Est-ce que la VoP bloque un virement ? Non. La VoP ne bloque pas l’exécution d’un virement. Elle fournit une information supplémentaire au payeur qui reste libre de valider ou non l’opération.Toutefois, certaines banques peuvent paramétrer des règles internes de blocage en cas de discordance totale. Quels échanges ont lieu entre banques et PSP ? Le PSP du bénéficiaire (ex. CentralPay) conserve dans sa base le nom exact du titulaire du compte. Lors d’une requête VoP, il répond par un code standardisé indiquant : correspondance, correspondance partielle ou absence de correspondance. Ces échanges sont sécurisés, tracés et limités aux seules données nécessaires, conformément au Règlement (UE) 2015/847 sur l’accompagnement des virements. Aucune autre donnée personnelle (adresse, documents KYC, etc.) n’est transmise. Quels sont les avantages de la VoP ? Pour le payeur : réduction des risques de fraude au virement, détection des erreurs de saisie. Pour le bénéficiaire : limitation des retards de paiement liés aux erreurs, sécurisation de l’image vis-à-vis de ses clients. Pour le système financier : meilleure prévention des fraudes et conformité avec les standards européens. Que dois-je faire en tant que bénéficiaire CentralPay ? Communiquer à vos clients l’IBAN correct et le nom exact enregistré auprès de CentralPay (raison sociale complète, sans abréviation). Vérifier que vos factures, contrats et supports incluent toujours les mêmes coordonnées bancaires. En cas de changement de dénomination sociale ou d’utilisation d’un nom commercial, informer rapidement vos clients et CentralPay pour mettre à jour les données. Que se passe-t-il en cas de non-concordance fréquente ? Si vos clients rencontrent souvent des alertes VoP lors de virements, cela peut indiquer que vos coordonnées bancaires ne sont pas communiquées de façon homogène. CentralPay peut vous accompagner pour réviser et harmoniser vos informations de paiement afin d’éviter les frictions. Illustration du VoP par le CNMP
FAQ - Verification of Payee Effective October 9, 2025, Verification of Beneficiary (VoP) will become mandatory for all SEPA bank transfers, whether standard or instant. This system, which is free for users, aims to enhance payment security by reducing both: Bank transfer fraud (particularly fraud involving fake bank account information), errors in entering the IBAN or the Beneficiary’s name. Specifically, before executing a bank transfer, the payer’s financial institution must check with the Beneficiary’s financial institution to verify that the IBAN matches the account owner’s name. If there is a discrepancy, an alert is displayed to the Payer, who remains free to decide whether or not to proceed with the transaction. Challenges of the Program User protection: limiting misdirected or fraudulent bank transfers. SEPA Payment System Security: Supporting the Rollout of Instant Bank Transfers in Europe. Business and Consumer Confidence: Improving the Transparency and Reliability of Payments. European harmonization: establishing a common standard for all PSPs (banks, payment institutions, and Electronic money institutions). Legal Basis Regulation (EU) 2021/1230 on instant bank transfers in euros and amending Regulation (EU) No. 260/2012 (SEPA), which introduces the VoP requirement. Regulation (EU) 2015/847 on information accompanying fund transfers, which requires the accurate transmission of information about the Payer and the Beneficiary. Monetary and Financial Code: Articles L.133-6 and L.133-7 concerning the authorization of payment transactions and the accuracy of information, Articles L.561-5 et seq. concerning due diligence obligations in the area of AML/CFT. ACPR doctrine, which in several decisions has penalized the inadequacy of verification procedures and the failure to ensure that a customer’s identity matches their account Frequently Asked Questions (FAQ) 1. What is VoP? The Payment Order Verification (VoP) is a regulatory service established at the European level.It automatically compares the name of the Beneficiary of the bank transfer with the IBAN provided by the Payer before the bank transfer is executed.Objective: to enhance payment security and reduce fraud (particularly fraud involving fake bank account information). 2. Who is affected? Payers: individuals or businesses that initiate a bank transfer. Beneficiaries: Any individual or entity that receives bank transfers (you, as a CentralPay customer). Payment Service Providers (PSPs): banks, payment institutions, or Electronic money institutions, which must integrate VoP into their systems. 3. How does VoP actually work? When a bank transfer is initiated: The payer enters the IBAN and the beneficiary’s name. The sender’s bank queries the beneficiary’s payment service provider (via a secure channel) to verify that the IBAN matches the name on file for the beneficiary. The response is sent back to the payer’s PSP and displayed to the payer. 4. What results might occur? There are three possible scenarios: Exact match: The IBAN and name match → the bank transfer can be initiated without a warning. Partial match: The IBAN matches, but the name is different (typos, abbreviations, different spelling). The payer receives a warning and can: correct the name, or confirm that this is indeed the intended Beneficiary. Mismatch: The IBAN and name do not match → the payer receives a high-priority alert. The payer can cancel the transaction or decide to proceed by accepting the risk. Does the VoP block a bank transfer? No. VoP does not block the execution of a bank transfer. It provides additional information to the Payer, who remains free to approve or reject the transaction.However, some banks may set internal rules to block transactions in the event of a complete mismatch. What kind of data exchanges take place between banks and PSPs? The Beneficiary’s PSP (e.g., CentralPay) stores the exact name of the account owner in its database. When a VoP query is made, it responds with a standardized code indicating: match, partial match, or no match. These transactions are secure, traceable, and limited to only the necessary data, in accordance with Regulation (EU) 2015/847 on the reporting of bank transfers. No other personal data (address, KYC documents, etc.) is shared. What are the benefits of VoP? For the payer: reduced risk of bank transfer fraud; detection of data entry errors. For the beneficiary: reduced payment delays caused by errors; protection of the company’s reputation with its customers. For the financial system: improved fraud prevention and compliance with European standards. What should I do as a CentralPay Beneficiary? Provide your customers with the correct IBAN and the exact name on file with CentralPay (full company name, without abbreviations). Make sure your invoices, contracts, and other documents always include the same bank account information. If your company name changes or you start using a trade name, notify your customers and CentralPay promptly so that your information can be updated. What happens if there are frequent discrepancies? If your customers frequently encounter VoP alerts when making bank transfers, this may indicate that your bank account information is not being provided consistently. CentralPay can help you review and standardize your payment information to avoid friction. Illustration of VoP by the CNMP
Déclaration TVA par pays CentralPay n’identifie pas le pays TVA des acheteurs : cette responsabilité incombe au marchand. Pour justifier correctement vos déclarations, collectez le pays de l’acheteur, conservez vos preuves, et transmettez‑les à CentralPay afin qu’elles figurent dans vos exports et historiques de transaction. Public cible : marchands B2C vendant des biens ou services dans plusieurs pays de l’Union européenne. 1) Principe général La TVA applicable dépend du pays de résidence de l’acheteur (consommateur final), non du pays du marchand ni du moyen de paiement utilisé. Le marchand doit donc déterminer, conserver et déclarer le pays de son client afin d’appliquer la bonne TVA. CentralPay n’a ni la légitimité réglementaire ni la fiabilité technique pour déterminer ce pays à sa place. En clair : vous êtes responsable de collecter et de stocker les informations nécessaires à la détermination du pays TVA. 2) Pourquoi CentralPay ne peut pas déterminer le pays du client Les indices techniques accessibles à un PSP (carte, IP, etc.) ne permettent pas une identification fiable du pays de l’acheteur : Pays BIN (carte) : peu fiable pour la TVA. Les cartes de banques en ligne sont souvent émises dans un autre pays que celui du détenteur. Pays IP : faussé en cas d’utilisation de VPN, proxy, mobile ou cloud. Payeur ≠ Acheteur : la personne qui paie n’est pas forcément celle soumise à la TVA (ex. carte d’un proche ou d’un employeur). C’est pourquoi CentralPay ne réalise aucune analyse pour identifier le pays du client. Seul le marchand détient l’information fiscale valide. 3) Ce que vous devez faire en tant que marchand 3.1 Collecter le pays de l’acheteur Intégrez la sélection du pays de facturation dans votre tunnel de commande. Transmettez ces informations à CentralPay via l’API au moment de la transaction. 3.2 Transmettre le pays à CentralPay Type de donnéeChamp à renseignerDescriptionPays de l’acheteur (obligatoire)Customer > countryCode ISO 3166‑1 alpha‑2 du pays du client. ⚠️ Si vous n’alimentez pas Customer.country, CentralPay ne peut pas afficher ni exporter le pays de vos acheteurs. Vos exports ne permettront donc pas de justifier vos déclarations TVA. 4) Ce que CentralPay fournit dans les exports CentralPay met à disposition des exports comportant : ColonneSourceUsageCustomer > countryValeur transmise par le marchand via Customer > countryPreuve déclarative du marchand, à utiliser pour la TVA.Transaction > end_user_ipIP de l’acheteurIndice technique non probant.Transaction > card_countryPays de la carte utilisée par l’acheteurIndice technique non probant.sctTransaction > ibanIBAN de l’acheteur par virement bancaire (contenant le code pays)Indice technique non probant.bankAccount > ibanIBAN de l’acheteur par prélèvement SEPA (contenant le code pays)Indice technique non probant. Des exports personnalisés peuvent être mis en place si vous souhaitez inclure d’autres champs ou formats (SFTP, e‑mail…). 5) Bonnes pratiques de conformité TVA Toujours collecter le pays de facturation côté front (champ obligatoire ou déduit du profil client). Croiser au moins deux preuves non contradictoires pour chaque commande. Gérer les divergences : si les indices diffèrent (ex. IP ≠ carte), demandez un justificatif avant de facturer. Enregistrer les preuves pendant au moins 10 ans (durée légale pour les services numériques UE). Vous enregistrer à l’OSS/IOSS si vous vendez à des consommateurs dans plusieurs pays de l’UE. Relier facture, transaction et preuves pour chaque vente. 6) Exemples de cas SituationDonnées collectéesAction recommandéeAdresse = FR, BIN = FRDeux preuves concordantesFacturez avec TVA FRAdresse = FR, BIN = DE, IP = DEDivergenceDemandez un justificatif avant facturationAucun pays collectéDonnée manquanteNon‑conformité potentielle – corriger votre parcours 7) FAQ CentralPay peut‑il déterminer le pays à ma place ?Non. Nous exposons des indices (pays BIN, etc.), mais la décision et la preuve fiscale relèvent de vous. Puis‑je me baser uniquement sur le BIN ?Non, le BIN n’est pas une preuve fiable. Utilisez toujours le pays de facturation comme référence principale. Comment vérifier que mes exports sont complets ?Vérifiez la présence de buyer_country_declared dans vos fichiers. Si le champ est vide, votre front n’a pas transmis le pays.
VAT Returns by Country CentralPay does not identify buyers’ VAT countries: this is the Merchant’s responsibility. To ensure your tax filings are accurate, collect the buyer’s country of residence, keep your records, and submit them to CentralPay so they can be included in your export files and transaction histories. Target audience: B2C merchants selling goods or services in several European Union countries. 1) General Principle The applicable VAT depends on the buyer’s (end consumer ‘s) country of residence, not on the Merchant’s country or the payment method used. The merchant must therefore determine, record, and report the customer’s country in order to apply the correct VAT rate. CentralPay has neither the regulatory authority nor the technical capability to determine this country on the merchant’s behalf. In short: You are responsible for collecting and storing the information needed to determine the VAT country. 2) Why CentralPay Cannot Determine the Customer’s Country The technical indicators available to a PSP (card, IP address, etc.) do not allow for reliable identification of the buyer’s country: BIN Country (card): unreliable for VAT purposes. Online bank cards are often issued in a country other than the cardholder’s. IP Country: May be inaccurate when using a VPN, proxy, mobile device, or cloud service. Payer ≠ Buyer: The person who pays is not necessarily the person liable for VAT (e.g., a card belonging to a family member or an employer). That is why CentralPay does not perform any analysis to identify the customer’s country. Only the Merchant has the valid tax information. 3) What You Need to Do as a Merchant 3.1 Collect the buyer’s country Integrate the billing country selection into your checkout process. Send this information to CentralPay via the API at the time of the transaction. 3.2 Submit the country to CentralPay Data typeField to fill inDescriptionBuyer’s country (required)Customer > countryISO 3166-1 alpha-2 code for the customer’s country. ⚠️ If you do not enter the information at Customer.country, CentralPay will not be able to display or export the countries of your buyers. Your export files will therefore not be sufficient to support your VAT filings. 4) What CentralPay Provides in the Exports CentralPay provides export files that include : ColumnSourceUsageCustomer > countryAmount provided by the Merchant via Customer > countryDeclaratory statement from the Merchant, to be used for VAT purposes.Transaction > end_user_ipBuyer’s IP addressTechnical indicator is inconclusive.Transaction > card_countryCountry of the card used by the buyerTechnical indicator is inconclusive.sctTransaction > ibanBuyer’s IBAN for Bank transfer (including the country code)Technical indicator is inconclusive.bankAccount > ibanBuyer’s IBAN for SEPA Direct Debit (including the country code)Technical indicator is inconclusive. Custom exports can be set up if you want to include additional fields or formats (SFTP, email, etc.). 5) Best Practices for VAT Compliance Always collect the billing country on the front end (required field or derived from the Customer Profile). Cross-check at least two non-contradictory pieces of evidence for each order. Handling Discrepancies: If the information differs (e.g., IP ≠ map), request supporting documentation before billing. Retain records for at least 10 years (the legal retention period for digital services in the EU). Register with the OSS/IOSS if you sell to consumers in multiple EU countries. Link invoices, transactions, and receipts for each sale. 6) Case Examples LocationData CollectedRecommended ActionAddress = FR, BIN = FRTwo pieces of corroborating evidenceInvoice with French VATAddress = FR, BIN = DE, IP = DEDivergenceRequest a receipt before billingNo countries includedMissing dataPotential Non-Compliance – Correct Your Course 7) FAQ Can CentralPay determine the country for me?No. We provide guidance (BIN countries, etc.), but the decision and the tax documentation are your responsibility. Can I rely solely on the BIN?No, the BIN is not a reliable source of information. Always use the billing country as your primary reference. How can I verify that my exports are complete?Check to see if the » buyer_country_declared » field is present in your files. If the field is empty, your front-end system did not include the country.
L'établissement CentralPay Articles Certifications et agréments Sécurité et hébergement Engagements de disponibilité Évolution de la plateforme Glossaire 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 versements 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. Voir le certificat de CentralPay ➜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. 1. Un hébergement hautement résilient 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 2. 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 APITraitement des opérations de paiementCPAY PORTALSPortail d’inscription, client et marchand99,9 %sur une base annuelle99,5 %sur une base annuelleLe critère d’atteinte de cette garantie correspond à la disponibilité de l’API de paiement.Le critère 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é. Glossaire CentralPay 1. Les types d’acteurs DésignationDescriptionActeurToute entité identifiée sur la plateforme CentralPay. Peut être un Profil Marchand, un Point de Vente, un établissement tiers, ou CentralPay.Profil marchandLe Profil Marchand représente techniquement et opérationnellement un marchand dans la plateforme CentralPay. Il est le support de :• Ses comptes : de paiement ou de monnaie électronique ;• Son administration : accès API, profils utilisateurs, services disponibles ;• Sa configuration technique : webhooks, notifications, points de vente, règles d’acceptation, comptes bancaires ;• Son dossier réglementaire : KYC/KYB, LCB-FT, scoring de risque, contractualisation, grille tarifaire…Le Profil Marchand correspond à l’objet API Merchant et est créé automatiquement après validation de son inscription (via l’objet API Merchant-Enrollment).Marchand standardPersonne morale ou autoentreprise cliente de CentralPay, réalisant des opérations d’encaissement pour son propre compte lors de la vente de biens ou de services.Peut être rattaché fonctionnellement à un Partenaire (Technique ou Intégrateur).Dispose d’un Profil Marchand typé STANDARD.Marchand PartenairePersonne morale cliente de CentralPay, disposant d’un Profil Marchand et pouvant relever de l’un des modèles suivants :• Partenaire Technique : opère une solution mutualisée (ex. marketplace, plateforme SaaS) et dispose d’un ou plusieurs Points de Vente ouverts à son nom, auxquels des marchands standards peuvent être rattachés.Dispose d’un Profil Marchand typé TECHNIQUE.• Partenaire Intégrateur : intervient en soutien technique, via des accès délégués par les marchands standards, pour faciliter l’intégration et le RUN (sans mutualisation de point de vente au nom du partenaire).Dispose d’un Profil Marchand typé INTEGRATEUR (le cas échéant).Un Marchand Partenaire peut percevoir des commissions (selon modèle) et/ou être déclaré MOBSP pour accompagner l’entrée en relation des marchands.Marchand MandatairePersonne morale cliente de CentralPay, agissant pour le compte de tiers, dans le cadre de l’un des statuts réglementaires suivants :• Agent PSP : Agent de Prestataire de Services de Paiement de CentralPay, enregistré auprès de l’ACPR (Banque de France) et habilité à agir au nom et pour le compte de CentralPay dans un périmètre défini contractuellement (ex. opérations de débit/crédit et transferts pour compte de tiers).Dispose d’un Profil Marchand typé AGENT.• DME : Distributeur de Monnaie Électronique enregistré/déclaré par CentralPay auprès de l’ACPR (Banque de France) pour un projet impliquant l’émission, la distribution et l’échange de monnaie électronique (devises CUSTOM).Dispose d’un Profil Marchand typé DME.Sous-marchand / ParticipantPersonne morale ou physique cliente d’un Marchand Mandataire de CentralPay (Agent PSP ou DME).• Sous-marchand : agit pour vendre des produits ou services, pour une activité LMNP, • Participant : agit pour des besoins non commerciaux (crowdfunding, wallet personnel, projets collectifs…).Dispose d’un Profil Marchand typé BASIC, avec un périmètre fonctionnel restreint.ClientPersonne physique ou morale qui paie ou donne un ordre de paiement à un Marchand CentralPay (peut aussi être nommé porteur, payeur, débiteur).Peut disposer ou non d’un Profil client (Customer).Note : dans les documents réglementaires ou contractuels de CentralPay, le terme « Client » peut désigner le Marchand lui-même selon le contexte défini dans le document.Profil clientReprésente un client enregistré par un Marchand dans la plateforme CentralPay. Il est le support de :• ses informations personnelles : nom, prénom, email, téléphone, raison sociale…• ses moyens de paiement : cartes, mandats SEPA, IBAN, comptes bancaires…• ses activités : demandes de paiement, historique de paiements…Le Profil client correspond à l’objet API Customer.Profils Utilisateur BOPersonnes physiques disposant d’un accès au Portail Marchand CentralPay pour consulter ou administrer un ou plusieurs Profils Marchand.• Type Legal : représentant légal du Marchand.• Type Natural : autre utilisateur habilité (finance, support, développement…).Le Profil utilisateur BO correspond à l’entité API BO_user.Profils Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur (personne ou système) réalisant des appels API sur un Profil Marchand.Permet la traçabilité des actions et la gestion des autorisations.Le Profil utilisateur API correspond à l’entité API api_user.Point de Vente (ou POS)Représentation d’un site web, d’une boutique physique, ou d’une équipe de vente. Ils permettent de segmenter les opérations du Profil Marchand CentralPay à des fins :• Techniques : pour réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom d’expéditeur des emails de confirmation, logo affiché dans la page de paiement…)• Administratives : pour limiter les droits de consultation ou de modification de vos profils utilisateurs BO à certains points de vente• Comptables : pour filtrer les opérations par point de vente dans le Portail Marchand ou dans les exports de donnéesLe Point de vente correspond à l’objet API PointOfSale. 2. Les types de comptes DésignationDescriptionCompte de paiementCompte ouvert dans les livres de CentralPay au nom d’un Marchand. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, versement des fonds vers un compte bancaire…).Il est représenté par l’objet Wallet type PS dans l’API CentralPay.Compte de monnaie électroniqueCompte ouvert dans les livres de CentralPay au nom d’un Marchand. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distributeur (devises CUSTOM).Il est représenté par l’objet Wallet type EM dans l’API CentralPay.Compte de commissionCompte de paiement secondaire permettant d’isoler les flux de commissions et/ou certains prélèvements de frais (selon modèle).Dans le cadre des modèles Partenaire/Mandataire, ce compte peut recevoir les commissions imputées aux transactions des marchands liés/participants, conformément aux règles contractuelles applicables.Il est représenté par l’objet Wallet type CM dans l’API CentralPay.Compte de réserveCompte de paiement secondaire permettant d’isoler des fonds de réserve CentralPay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de versements sortants.Il est représenté par l’objet Wallet type RS dans l’API CentralPay.Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom d’un Agent. Il est dédié à la réception des fonds liés aux opérations initiées via le modèle Agent, avant leur ventilation / transfert vers les comptes de paiement des Marchands Participants. N’est pas autorisé à réaliser de versements sortants.Il est représenté par l’objet Wallet type CL dans l’API CentralPay.Compte de Traitement CentralPayLe Compte de Traitement désigne un mécanisme interne et transitoire utilisé par CentralPay pour recevoir, identifier et traiter temporairement des fonds liés à une opération de paiement, en vue de leur transmission au bénéficiaire final. Il n’est pas un compte de paiement ouvert pour un client, n’est mis à disposition d’aucun tiers et ne confère aucun droit de disposition.Selon les implémentations techniques, ce mécanisme peut être matérialisé par des objets internes (ex. Wallet type TR) utilisés exclusivement par CentralPay pour le traitement opérationnel. 3. Les dénominations d’objets ou d’opérations DésignationDescriptionFrais 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 (selon les conditions contractuelles applicables).Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP…)Devise CUSTOMDevise de monnaie électronique créée pour un Mandataire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO (ex. EUR).Instruction TechniqueDonnée / événement à finalité strictement technique et commerciale transmis à CentralPay (ex. références de commande, panier, commission, évènements logistiques). Une Instruction Technique n’est pas un ordre de paiement et ne déclenche aucun effet financier automatique : CentralPay reste seul décisionnaire du traitement et, le cas échéant, des mises à disposition de fonds.Date de déblocageDate de mise à disposition différée pouvant être appliquée par CentralPay pour rendre des fonds utilisables par un bénéficiaire (ex. après livraison/expédition), selon la politique de risque et les règles applicables. Elle peut être déterminée à partir d’informations commerciales transmises, sans constituer une instruction de paiement.Compte bancaireCompte bancaire externe lié à : • un Profil Marchand pour réaliser des versements sortants (payout) • ou à un Profil client pour réaliser des prélèvements SEPA ou des versements sortants.Il est représenté par l’objet BankAccount dans l’API CentralPay.Versement sortantVirement sortant d’un compte CentralPay vers un compte bancaire externe. Peut être réalisé par SEPA ou SWIFT.Il est représenté par l’objet Payout dans l’API CentralPay.Autorisation CarteOpé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.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.
CentralPay Articles Certifications and Approvals Security and Hosting Availability Commitments Platform Development CentralPay Glossary Certifications and Approvals CentralPay offers modular payment solutions that enable the consolidation of payment collection processes for its own account and the automation of payouts on behalf of third-party accounts. The types of services and transactions offered by CentralPay vary depending on the needs and business activities of its merchants and partners. CentralPay is an independent company that fully owns its technology and licenses. This ensures the greatest possible autonomy in its choice of partnerships and its future development. CentralPay is authorized to enter into business relationships with companies registered in the European Economic Area. ACPR () (Bank of France)Electronic money institution: CentralPay is an electronic money institution regulated by the Banque de France through its prudential supervision and resolution authority, the ACPR (CIB 17138).PSD2: CentralPay complies with the Second Payment Services Directive, which sets forth requirements regarding strong customer authentication and data protection, among other things.PCI DSS: CentralPay is certified annually at the highest possible level for banking data security and fraud prevention: PCI DSS Level 1. View CentralPay’s certificate ➜EBA CLEARING & EPC: As a member of the European Payment Council and through its connection to EBA CLEARING, CentralPay provides Integration of the European SEPA payment schemes to send and receive Bank transfers and SEPA Direct Debits using its own IBANs and virtual IBANs.SWIFT: Connected to the SWIFT network, the most widely accepted messaging system worldwide, CentralPay is able to exchange international financial transactions with most participating banks and financial institutions.Visa, Mastercard, debit cards, American Express: CentralPay is accredited by the major card networks to optimize the payment experience and conversion rates for all its users. Security and Hosting CentralPay operates its services from two data centers in France. The equipment and services at these two sites are fully redundant. 1. Highly Resilient Hosting Two TIER III-designed data centers located in Tours Active/active environment between the two sites Contractual service level agreements (SLAs) of 99.9% Recognized standards: ISO 27001, PCI DSS, Code of Conduct 2. An infrastructure that ensures the security of your data Network core with speeds of up to 10 Gb/s Fully redundant power supply system, with power density ranging from 600 mA to 32 A Access control system with two-factor authentication (ID card and personal code) Video surveillance and an alarm system connected 24 hours a day, 7 days a week to our remote monitoring center FirePro Aerosol Fire Suppression System Availability Commitments CentralPay guarantees the annual availability of its services (SLA & BCP) according to the following standards: CPAY APIProcessing of payment transactionsCPAY PORTALSOnboarding Portal, Customer Portal, and Merchant Portal99.9% on an annual basis99.5% on an annual basisThe criterion for determining whether this guarantee has been met is the availability of the payment API.The criterion for this guarantee is the availability of the portals in the production environment. Platform Development CentralPay’s APIs are based on a microservices architecture that provides maximum flexibility. Our modular approach allows us to continuously evolve our solutions to offer an ever-increasing range of services and features. These updates are implemented following thorough impact analyses to ensure they do not require any changes to our users’ integrations. In very rare cases, these updates may require minor or more significant modifications when regulatory changes occur, as was the case with the transition to version 2.0 of the 3DS, for example. In the event of changes to the platform or modifications to expectations regarding the use of its APIs, CentralPay commits to notifying you within a timeframe commensurate with the scope of the actions to be taken: Minor changes that do not require any action on the part of the merchant or partner:Simple Information Disclosure Minor changes requiring action by the Merchant or Partner:Minimum 2-month notice period + assistance with implementation Major changes requiring action by the Merchant or Partner:Minimum 6-month notice period + support during implementation Please note that changes requiring action on the part of our merchants or partners are either rare or nonexistent, and that every precaution is taken to avoid any impact on their business. CentralPay Glossary 1. Types of Actors LabelDescriptionActorAny entity identified on the CentralPay platform. This may be a Merchant Profile, a Point of Sale (POS), a third-party establishment, or CentralPay. Merchant ProfileThe Merchant Profile technically and operationally represents a merchant on the CentralPay platform. It serves as the basis for: • His accounts: Payment Accounts or Electronic Money Accounts;• Administration: API access, User Profiles, available services;• Its technical configuration: webhooks, notifications, Point of Sale (POS) systems, acceptance rules, Bank Accounts;• Its regulatory documentation: KYC/KYB, AML/CFT, risk scoring, contract management, fee schedule…The Merchant Profile corresponds to the API object ` Merchant ` and is created automatically after the registration is validated (via the API object ` Merchant-Enrollment`).Standard MerchantA legal entity or sole proprietorship that is a CentralPay customer and processes payments on its own account when selling goods or services.May be functionally linked to a Technical Partner or Integration Partner.Has a Merchant Profile of the type STANDARD.Partner MerchantA legal entity that is a CentralPay customer, has a Merchant Profile, and may fall under one of the following models:• Technical Partner: operates a shared solution (e.g., marketplace, SaaS platform) and has one or more Points of Sale (POS) open in its name, to which standard Merchants can be linked.Has a Merchant Profile of type TECHNIQUE.• Integration Partner: provides technical support, via access delegated by standard merchants, to facilitate integration and day-to-day operations (without sharing POSes under the partner’s name).Has a Merchant Profile of the type INTEGRATEUR (if applicable).A Partner Merchant may earn commissions (depending on the model) and/or be registered as a MOBSP to assist merchants during onboarding.Intermediary MerchantA legal entity that is a customer of CentralPay, acting on behalf of third-party accounts, under one of the following regulatory statuses:• PSP Agent: A Payment Service Provider (PSP) agent of CentralPay, registered with the ACPR (Bank of France) and authorized to act in the name and on behalf of CentralPay within a contractually defined scope (e.g., debit/credit transactions and transfers on behalf of third-party accounts).Has a Merchant Profile of the type AGENT.• EMD: Electronic Money Distributor registered/declared by CentralPay with the ACPR (Bank of France) for a project involving the issuance, distribution, and exchange of electronic money (CUSTOM currencies).Has a Merchant Profile of type DME.Sub-merchant / ParticipantA legal entity or individual who is a customer of a CentralPay Intermediary Merchant (PSP Agent or EMD).• Sub-merchant: acts to sell products or services, for an LMNP business, • Participant: acts for non-commercial purposes (crowdfunding, personal wallet, collective projects, etc.).Has a specific Merchant Profile BASIC, with a limited scope of functionality.CustomerA natural or legal person who pays or issues a payment order to a CentralPay Merchant (may also be referred to as the payee, payer, or debtor).May or may not have a Customer Profile (Customer).Note: In CentralPay’s regulatory or contractual documents, the term “Customer” may refer to the Merchant itself, depending on the context defined in the document.Customer ProfileRepresents a customer registered by a Merchant on the CentralPay platform. It contains:• the customer’s personal information: last name, first name, email, phone number, company name, etc.• the customer’s payment methods: cards, SEPA direct debits, IBAN, Bank Accounts, etc.• the customer’s activities: payment requests, payment history, etc..The Customer Profile corresponds to the API object Customer.BO User ProfilesIndividuals with access to the CentralPay Merchant Portal to view or manage one or more Merchant Profiles.• Type Legal: the Merchant’s legal representative.• Type Natural: other authorized user (finance, support, development, etc.).The BO User Profile corresponds to the API entity BO_user.API User ProfilesAn entity created via the CentralPay platform that identifies the user (person or system) making API calls on a Merchant Profile.Enables the tracking of actions and the management of authorizations.The API User Profile corresponds to the API entity api_user.Point of Sale (POS)Representation of a website, a brick-and-mortar store, or a sales team. They enable the segmentation of CentralPay Merchant Profile operations for the following purposes: • Features: to configure different settings for each Point of Sale (POS) (customer notifications, internal notifications, sender name for confirmation emails, logo displayed on the checkout page, etc.)• Administrative: to restrict the rights to view or edit your BO User Profiles to certain Points of Sale (POS)• Accountants: to filter transactions by Point of Sale (POS) in the Merchant Portal or in data exportsThe Point of Sale (POS) corresponds to the API object PointOfSale. 2. Types of Accounts LabelDescriptionPayment AccountAn account opened in CentralPay’s books in a Merchant’s name. This account is used exclusively for payment transactions (collecting payments in ISO currencies, performing Payouts to a Bank Account, etc.). It is represented by the ` Wallet ` object of type ` PS ` in the CentralPay API.Electronic Money AccountAn account opened in CentralPay’s books in the name of a Merchant. This account is used exclusively for the storage and exchange of Electronic money within the distributor’s network (CUSTOM currencies). It is represented by the ` Wallet ` object of type ` EM ` in the CentralPay API.Commission AccountA secondary Payment Account used to segregate commission flows and/or certain fee deductions (depending on the model).Under the Partner/Agent models, this account can receive commissions allocated to transactions by affiliated/participating merchants, in accordance with the applicable contractual rules.It is represented by the object ` Wallet ` of type ` CM ` in the CentralPay API.Reserve AccountA secondary Payment Account used to set aside CentralPay reserve funds (account balance, collateral, or Rolling reserve). It is not authorized to make Payouts. It is represented by the ` Wallet ` object of type ` RS ` in the CentralPay API.« Agent » Collection AccountA Payment Account opened in CentralPay’s books in the name of an Agent. It is used to receive funds related to transactions initiated through the Agent model, prior to their allocation or transfer to the Payment Accounts of Participant Merchants. It is not authorized to make payouts. It is represented by the ` Wallet ` object of type ` CL ` in the CentralPay API.CentralPay Technical Partner AccountThe Technical Partner Account refers to an internal, temporary mechanism used by CentralPay to receive, identify, and temporarily process funds related to a payment transaction, with a view to transferring them to the final Beneficiary. It is not a Payment Account opened for a customer, is not made available to any third party, and does not confer any right of disposal. Depending on the technical implementation, this mechanism may be implemented using internal objects (e.g., Wallet of type TR) used exclusively by CentralPay for operational processing. 3. The names of objects or operations LabelDescriptionCentralPay FeesAll fees owed to CentralPay, deducted from the corresponding transactions, debited from a dedicated Commission Account, or billed at the end of the month (depending on the applicable contractual terms).ISO CurrenciesStandard currencies in accordance with ISO 4217 (e.g., EUR, USD, CHF, GBP…)CUSTOM CurrencyElectronic money created for a CentralPay EMD. The value of the CUSTOM currency is always pegged to that of an ISO currency (e.g., EUR). Technical InstructionData or events for strictly technical and commercial purposes transmitted to CentralPay (e.g., order references, shopping cart, commission, logistics events). A Technical Instruction is not a payment order and does not trigger any automatic financial action: CentralPay retains sole discretion over the processing and, where applicable, the release of funds. Release dateA deferred availability date that CentralPay may apply to make funds available to a Beneficiary (e.g., after delivery/shipment), in accordance with applicable risk policies and rules. It may be determined based on submitted commercial information, without constituting a payment instruction. Bank AccountExternal Bank Account linked to: • a Merchant Profile for making outgoing Payouts (payout) • or a Customer Profile for making SEPA Direct Debits or outgoing Payouts.It is represented by the ` BankAccount ` object in the CentralPay API.Outgoing paymentOutgoing bank transfer from a CentralPay account to an external Bank Account. Can be made via SEPA or SWIFT.It is represented by the » Payout » object in the CentralPay API. Card AuthorizationAn operation to check the availability of funds on a credit card, followed by a hold in anticipation of a Card Transaction (max. 7 days).It is represented by the ` Transaction ` object in the CentralPay API.Card TransactionA debit transaction from a bank card, credited to a CentralPay account.It is represented by the ` Transaction ` object in the CentralPay API.SCT TransactionOperation to receive a SEPA or SWIFT bank transfer credited to a CentralPay account.It is represented by the » sctTransaction » object in the CentralPay API.SDD TransactionA transaction that debits a Bank Account and credits a CentralPay account.It is represented by the ` sddTransaction ` object in the CentralPay API.
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. 1. Un hébergement hautement résilient 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 2. 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
Security and Hosting CentralPay operates its services from two data centers in France. The equipment and services at these two sites are fully redundant. 1. Highly Resilient Hosting Two TIER III-designed data centers located in Tours Active/active environment between the two sites Contractual service level agreements (SLAs) of 99.9% Recognized standards: ISO 27001, PCI DSS, Code of Conduct 2. An infrastructure that ensures the security of your data Network core with speeds of up to 10 Gb/s Fully redundant power supply system, with power density ranging from 600 mA to 32 A Access control system with two-factor authentication (ID card and personal code) Video surveillance and an alarm system connected 24 hours a day, 7 days a week to our remote monitoring center FirePro Aerosol Fire Suppression System
Marchand, comptes et canaux de vente Articles Profil Marchandmerchant Profils clientscustomer Points de ventepointOfSale Comptes de paiementwallet Comptes de MEwallet Profil Marchand Le Profil Marchand représente techniquement et opérationnellement un Marchand dans la plateforme CentralPay. Il est le support de :• Ses comptes : de paiement ou de monnaie électronique ;• Son administration : accès API, profils utilisateurs, services de paiement disponibles ;• Sa configuration technique : webhooks, notifications, points de vente, règles d’acceptation, comptes bancaires ;• Son dossier réglementaire : KYC/KYB, LCB-FT, scoring de risque, contractualisation, grille tarifaire… Le Profil Marchand correspond à l’objet API Merchant et est créé automatiquement après validation de son inscription (via l’objet API Merchant-Enrollment). 1. Types de profils selon le modèle contractuel Chaque type de Marchand est associé à un modèle contractuel précis. Standard Type : STANDARD Le Marchand standard est une entreprise ou un professionnel qui encaisse des paiements pour son propre compte. Il dispose d’un ou plusieurs comptes de paiement, et peut accéder aux services CentralPay via API ou via un partenaire. 👉 En savoir plus sur le modèle Marchand Partenaire Intégrateur Type : INTEGRATOR Le Partenaire Intégrateur accompagne plusieurs Marchands standards dans leur intégration technique avec CentralPay. Chaque Marchand standard dispose de son propre point de vente et d’un contrat individuel. L’Intégrateur utilise les accès API fournis par chaque Marchand, dans le cadre d’une relation contractuelle. Peut disposer d’un compte de paiement et d’un compte de commission pour ses propres besoins Un point de vente distinct est créé pour chaque Marchand accompagné Peut réaliser des appels API et actions techniques via les accès délégués par le Marchand (suivi d’Instructions Techniques, paramétrage, RUN), sans accès aux soldes ni pouvoir d’initier/modifier/exécuter une opération de paiement en son nom propre CentralPay facture chaque Marchand directement 👉 En savoir plus sur le modèle Partenaire Intégrateur Partenaire Intégrateur MOBSP Type : INTEGRATOR + MOBSP Le Partenaire Intégrateur MOBSP est un Intégrateur disposant d’un mandat réglementaire. Il peut initier une demande d’entrée en relation pour le compte d’un Marchand standard, et l’accompagner techniquement via l’API d’onboarding. Comme tout Intégrateur, il agit uniquement via les accès API fournis par le Marchand. Mêmes droits et fonctionnement qu’un Intégrateur Peut initier une demande d’enrôlement complète via API Peut accompagner le marchand durant l’enrôlement 👉 En savoir plus sur le modèle Partenaire Intégrateur MOBSP Partenaire Technique Type : TECHNIQUE Le Partenaire Technique développe une solution mutualisée (ex. marketplace, plateforme SaaS) et opère depuis un ou plusieurs points de vente ouverts à son nom, auxquels des Marchands standards peuvent être rattachés. Il utilise ses propres accès API pour transmettre des données commerciales et suivre les opérations rattachées à ces points de vente, sans jamais disposer d’un pouvoir d’exécution sur les opérations de paiement. Un ou plusieurs points de vente peuvent être utilisés pour regrouper les activités des marchands (ex. marketplace, plateforme SaaS) Accès API CentralPay propre au Partenaire Technique CentralPay facture le Partenaire Technique Ne peut pas initier l’enrôlement au nom et pour le compte des marchands (sauf cadre MOBSP applicable) 👉 En savoir plus sur le modèle Partenaire Technique Partenaire Technique MOBSP Type : TECHNIQUE + MOBSP Le Partenaire Technique MOBSP est mandaté pour initier une demande d’entrée en relation au nom de ses utilisateurs. Il peut transmettre les informations nécessaires via l’API d’onboarding, mais n’intervient pas dans l’exécution des opérations de paiement. Mêmes droits et fonctionnement qu’un Partenaire Technique Peut initier une demande d’enrôlement complète via API Peut accompagner le marchand durant l’enrôlement 👉 En savoir plus sur le modèle Partenaire Technique MOBSP Mandataire DME Type : DME Le Mandataire DME (Distributeur de Monnaie Électronique) transmet des instructions de chargement, de transfert ou de remboursement en monnaie électronique pour le compte de Participants. Il agit dans le cadre du modèle monnaie électronique (devises CUSTOM) et peut percevoir une commission sur les opérations, sans fournir de services de paiement régulés (ex. virement SEPA, prélèvement, carte). 👉 En savoir plus sur le modèle Mandataire DME Mandataire Agent Type : AGENT Le Mandataire Agent est un Agent de Prestataire de Services de Paiement (Agent PSP) enregistré auprès de l’ACPR. Il agit au nom et pour le compte de CentralPay dans un périmètre strictement défini contractuellement. Selon le modèle retenu (Agent simple / Agent collecteur / Agent délégataire), il peut notamment accompagner l’enrôlement, réaliser certaines diligences KYC/KYB de niveau 1, et/ou intervenir dans la collecte, la ventilation et la mise à disposition des fonds via les mécanismes prévus par CentralPay. CentralPay demeure responsable des services de paiement fournis et des contrôles réglementaires. 👉 En savoir plus sur le modèle Mandataire Agent Participant Type : BASIC Les Participants sont des personnes physiques ou morales clientes d’un Marchand Mandataire de CentralPay (Agent ou DME). Ils disposent d’un ou plusieurs comptes de paiement ou de monnaie électronique pour recevoir des fonds émis par le Mandataire, et peuvent accéder au portail Marchand pour consulter leurs opérations et gérer leurs versements sortants. Ils agissent pour vendre des produits ou services, pour une activité LMNP, ou pour des besoins non commerciaux (crowdfunding, wallet personnel, projets collectifs…). Les participants ouvrent des comptes chez CentralPay. L’entrée en relation peut être initiée et/ou accompagnée par le Marchand Mandataire, mais les services régulés restent fournis par CentralPay. Le cadre d’utilisation des comptes est défini par les documents CentralPay applicables (et, le cas échéant, par les CGU du Mandataire pour les conditions commerciales et les services qu’il fournit). 2. Paramétrage des emails de contact Vous pouvez personnaliser les adresses email de contact associées à votre profil marchand pour que les notifications, relances ou échanges contractuels soient bien adressés aux bons interlocuteurs. Email contact : référent principal du profil marchand Email administratif : en charge des sujets juridiques ou contractuels Email technique : en charge de l’intégration ou des incidents Email financier : en charge de la facturation ou des flux bancaires ℹ️ Par défaut, ces adresses sont initialisées avec l’email du titulaire du profil marchand. Elles peuvent être modifiées à tout moment depuis le Portail Marchand. Accès à la configuration des emails de contact : Recette Portail Marchand Production Portail Marchand Profils clients Les profils clients (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 paiement (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… 1. 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 2. Interfaces Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail Marchand Compte Customers Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise : Recette Portail Marchand – Customers Production Portail Marchand – Customers 3. 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 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 vos comptes 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 Marchand ou dans vos exports de données Lors de la création de votre profil Marchand CentralPay, un premier point de vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre portail Marchand pour paramétrer ce dernier, ou en créer de nouveaux : Recette Portail Marchand – Points de vente Production Portail Marchand – Points de vente 1. 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 profil marchand (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 Cocher « 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 profil marchand, 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 Marchand 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 Marchand…) 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 Marchand…) 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 emails 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 Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, versement 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 versements 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 profil Marchand CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des versements 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 : Recette Portail Marchand – Comptes de paiement Production Portail Marchand – Comptes de paiement 1. Utilisation 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. 2. 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 mandataire AGENT de CentralPay, vous pouvez créer des comptes pour vos marchands en utilisant le service de demande d’enrôlement. Comptes de ME ℹ️ Uniquement réservé aux Mandataires DME et à leurs sous-marchands. Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un mandataire DME). Un mandataire DME peut demander la création de comptes de ME pour les sous-marchands 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 mandataire 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 : Recette Portail Marchand – Comptes de monnaie électronique Production Portail Marchand – Comptes de monnaie électronique 1. Utilisation 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 2. 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 mandataire 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é » 3. Création de comptes de ME Si vous êtes mandataire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos sous-marchands.
Merchant, accounts and sales channels Articles Merchant Profilemerchant Customer profilescustomer Retail locationspointOfSale Payment accountswallet EM Accountswallet Merchant Profile The Merchant Profile represents a Merchant technically and operationally within the CentralPay platform. It serves as the foundation for:• Its accounts: payment or electronic money accounts;• Its administration: API access, user profiles, available payment services;• Its technical configuration: webhooks, notifications, points of sale, acceptance rules, bank accounts;• Its regulatory file: KYC/KYB, AML-CFT, risk scoring, contracting, pricing schedule… The Merchant Profile corresponds to the API object Merchant and is created automatically after validation of its registration (via the API object Merchant-Enrollment). 1. Profile Types by Contractual Model Each Merchant type is associated with a specific contractual model. Standard Type : STANDARD The standard Merchant is a business or professional that collects payments for its own account. It has one or more payment accounts and can access CentralPay services via API or through a partner. 👉 Learn more about the Merchant model Integration Partner Type : INTEGRATOR The Integration Partner supports multiple standard Merchants in their technical integration with CentralPay. Each standard Merchant has its own point of sale and an individual contract. The Integrator uses the API access provided by each Merchant within the framework of a contractual relationship. May have a payment account and a commission account for its own needs A separate point of sale is created for each supported Merchant May perform API calls and technical actions via access delegated by the Merchant (monitoring Technical Instructions, configuration, RUN), without access to balances or authority to initiate/modify/execute a payment operation in its own name CentralPay invoices each Merchant directly 👉 Learn more about the Integrator Partner model MOBSP Integration Partner Type : INTEGRATOR + MOBSP The MOBSP Integration Partner is an Integrator with a regulatory mandate. It can initiate a relationship request on behalf of a standard Merchant and provide technical support via the onboarding API. Like any Integrator, it acts solely through the API access provided by the Merchant. Same rights and operation as an Integrator May initiate a complete enrollment request via API May support the merchant during enrollment 👉 Learn more about the MOBSP Integrator Partner model Technical Partner Type : TECHNIQUE The Technical Partner develops a shared solution (e.g., marketplace, SaaS platform) and operates from one or more points of sale opened in its name, to which standard Merchants can be attached. It uses its own API access to transmit commercial data and monitor operations linked to these points of sale, without ever having execution authority over payment operations. One or more points of sale may be used to consolidate merchant activities (e.g., marketplace, SaaS platform) CentralPay API access specific to the Technical Partner CentralPay invoices the Technical Partner Cannot initiate enrollment on behalf of and for the account of merchants (unless MOBSP framework applies) 👉 Learn more about the Technical Partner model MOBSP Technical Partner Type : TECHNIQUE + MOBSP The MOBSP Technical Partner is authorized to initiate a relationship request on behalf of its users. It can transmit the necessary information via the onboarding API but does not intervene in the execution of payment operations. Same rights and operation as a Technical Partner May initiate a complete enrollment request via API May support the merchant during enrollment 👉 Learn more about the MOBSP Technical Partner model EMD Agent Type : DME The EMD Agent (Electronic Money Distributor) transmits loading, transfer, or refund instructions in electronic money on behalf of Participants. It operates within the electronic money model (CUSTOM currencies) and may receive a commission on operations, without providing regulated payment services (e.g., SEPA transfer, direct debit, card). 👉 Learn more about the EMD Agent model PSP Agent Type : AGENT The PSP Agent is a Payment Service Provider (PSP) Agent registered with ACPR. It acts on behalf of and for the account of CentralPay within a strictly defined contractual scope. Depending on the model adopted (Simple Agent / Collecting Agent / Delegated Agent), it may support enrollment, perform certain level 1 KYC/KYB due diligence, and/or intervene in the collection, allocation, and provision of funds via mechanisms provided by CentralPay. CentralPay remains responsible for the payment services provided and regulatory controls. 👉 Learn more about the PSP Agent model Participant Type : BASIC The Participants are natural or legal persons who are clients of a CentralPay Intermediary Merchant (Agent or EMD). They have one or more payment accounts or electronic money accounts to receive funds issued by the Intermediary and can access the Merchant Portal to view their operations and manage their outgoing transfers. They operate to sell products or services, for LMNP activity, or for non-commercial needs (crowdfunding, personal wallet, collective projects, etc.). Participants open accounts with CentralPay. The relationship may be initiated and/or supported by the Intermediary Merchant, but regulated services remain provided by CentralPay. The framework for account usage is defined by the applicable CentralPay documents (and, where applicable, by the Intermediary’s Terms of Use for commercial conditions and the services it provides). 2. Contact Email Configuration You can customize the contact email addresses associated with your merchant profile so that notifications, reminders, or contractual communications are properly addressed to the right contacts. Contact email: primary contact for the merchant profile Administrative email: responsible for legal or contractual matters Technical email: responsible for integration or incidents Financial email: responsible for billing or banking flows ℹ️ By default, these addresses are initialized with the email of the merchant profile holder. They can be modified at any time from the Merchant Portal. Access to contact email configuration: Recette Merchant Portal Production Merchant Portal Customer profiles Customer profiles (Customer) unify and secure all your customer data for easier management. They interact with other CentralPay services and notably allow you to: Centralize their payment history (across all sales channels and payment methods) Digitize and securely store their payment methods (cards, SEPA mandates, virtual IBANs) Easily track their recurring payments (subscriptions, split payments) or pending settlements (payment requests) In certain cases, they can also be associated with an e-money account, allowing the customer to receive and use funds within the network of the e-money distributor partner. A Customer must be identified by either their email address or their phone number. It is also possible to declare other information concerning them, such as their last name, first name, language, personalized reference, default payment method, etc. 1. Usage Creating a Customer is mandatory for performing: Subscriptions or split payments by card 1-click card payments SEPA direct debit payments SEPA transfer payments with a dedicated Virtual IBAN Creating an anonymous e-money account 2. Interfaces You can view all Customers on your account from your Merchant Portal Account Customers Your Customers also have access to a customer portal allowing them to manage payments made to your company: Recette Merchant Portal – Customers Production Merchant Portal – Customers 3. Creating a Customer There are two methods for creating a Customer: Create a Customer via the dedicated API service, which then allows you to create a Card, manage a Virtual IBAN for this Customer, initiate a transaction, a payment request, etc. Create a Customer via a payment request CentralPay ensures Customer uniqueness: if you initiate a payment request with Customer creation while their email or phone number is already known in your account, CentralPay will not create a new Customer and will associate the transaction with the existing profile. Retail locations Points of sale (Point of Sales or POS) represent your various websites, stores, or sales teams. They allow you to segment the operations of your CentralPay accounts for the following purposes: Technical: You can configure different settings per point of sale (customer notifications, internal notifications, sender name for confirmation emails, logo displayed on the payment page, etc.) Administrative: You can restrict viewing or editing rights for your user profiles to specific points of sale Accounting: You can filter operations by point of sale in your Merchant Portal or in your data exports When your CentralPay Merchant profile is created, a first point of sale is automatically created. You can then access your Merchant Portal to configure it or create new ones: Recette Merchant Portal – Points of Sale Production Merchant Portal – Points of Sale 1. Settings Points of sale include a number of mandatory settings: General Settings Name: Point of sale name (visible to your customers) Site URL: If this is an e-commerce site, enter its URL. Otherwise, enter the URL of your corporate website. Point of sale country Configuration Technical type: Select « Remote sale » API users: Select the API users with access rights to this point of sale Contracts: Select the card VAD contract that has been configured for your merchant profile (generally, you will only have one contract available) Default contract: Select the card VAD contract that will be used by default (generally, you will only have one contract available) Priority Viban: If you want the Virtual IBANs displayed in payment requests to be those of the Customers, then select « Customer. » If you prefer to display Virtual IBANs dedicated to each payment request, then select « SCT. » If you need additional information, consult our section on Virtual IBANs Other settings are not mandatory but are important for your sales process: General Settings Logo: Upload your company logo or one dedicated to your point of sale. It will appear on the payment page generated by payment requests Merchant point of sale ID: Enter a custom reference allowing you to identify the point of sale more easily in your information systems Confirmation Emails Check « Enable payment confirmation email »: By checking this box, you activate the sending of an email to your customers when they make a card payment. This is a standardized, non-modifiable email containing a payment summary (legal name of your merchant profile, name of your point of sale, payment date, CentralPay transaction identifier, merchant transaction reference, merchant transaction description, payment authorization code, card brand, first 6 and last 4 digits of the card, transaction amount, transaction status). The language and footer of the email can be configured from the Merchant Portal Configuration Payment confirmation email Sender email: If you have checked the « Enable payment confirmation email » box, you can customize the sender address by using one of your email addresses (for example: no-reply@mydomain.com). Please ensure you ask us to provide you with our SPF and DKIM keys so that you can authorize CentralPay to send emails from your domain Sender name: If you have checked the « Enable payment confirmation email » box, you can customize the sender name (for example: MyCompany) Check « Receive a copy of the payment confirmation »: By checking this box, you activate the sending of a copy of the email sent to your customers when they make a card payment. This can allow you to be easily notified by email when a customer makes a payment Recipient email: If you have checked the « Receive a copy of the payment confirmation » box, you must enter the email address of the recipient of this copy Finally, other secondary settings are available: OTP OTP email sender email: Email displayed as the sender of One Time Password emails (login to the Merchant Portal Administration area, etc.) OTP email sender name: Name displayed as the sender of One Time Password emails (login to the Merchant Portal Administration area, etc.) OTP SMS sender phone number or name: Name or phone number displayed as the sender of One Time Password SMS messages (SEPA mandate validation, etc.) Communication settings: These settings are applied to emails or SMS messages transmitting the link to the payment form of a payment request (paymentRequest). They apply only when no scenario has been configured on the payment request. SMS sender: Correspondent name displayed on the SMS Email sender: Correspondent email displayed on the email Email sender name: Correspondent name displayed on the email Email reply address: Email used for replies to sent emails (coming soon) Email footer: Email footer (coming soon) Payment accounts Payment accounts are used to carry out payment transactions (collecting payments in ISO currencies, paying out funds to a bank account, etc.). They allow you to hold funds in an ISO currency (EUR, USD, CHF, GBP, etc.) and have their own IBAN/BIC. With few exceptions, a Payment Account is linked to a bank account with the same account holder, enabling CentralPay to make automatic payouts via SEPA transfer. If you have several bank accounts to which your funds must be paid out, you may ask your CentralPay contact to create the same number of Payment Accounts in your CentralPay Merchant profile. This way, each Payment Account will be linked to a different bank account and will send SEPA payouts accordingly. It is also possible to create several payment accounts for fund segmentation purposes (with an account dedicated to commission or fee transactions, for example). You can view the details of your payment accounts via the following access points: Recette Merchant Portal – Payment Accounts Production Merchant Portal – Payment Accounts 1. Usage Payment accounts are systematically used for our platform’s payment transactions, except for electronic money transactions. 2. Creating payment accounts If you are a CentralPay merchant, you may send an email request to the CentralPay teams to create several payment accounts in your name. This is to segment your transactions or to open an account in a different currency. If you are a CentralPay MOBSP Partner or AGENT representative, you can create accounts for your merchants using the onboarding request service. EM Accounts ℹ️ Reserved exclusively for EMD Intermediaries and their sub-merchants. EM (Electronic Money) accounts are used to store and exchange funds in a CUSTOM currency (a currency dedicated to an EMD Intermediary). An EMD Intermediary may request the creation of EM accounts for the sub-merchants in its network and then carry out EM fund transfers between these accounts. The holder of an EM account may only receive payments and use their electronic money through the EMD Intermediary. However, they may request a refund of their electronic money at any time and will receive their funds in an ISO currency: either to their bank account via SEPA transfer, or to their bank card, depending on their account settings. You can view the details of your EM accounts via the following access points: Recette Merchant Portal – Electronic Money Accounts Production Merchant Portal – Electronic Money Accounts 1. Usage EM accounts are mainly used to enable individuals to easily receive and exchange funds in the following contexts: C2C marketplaces for products or services Storage and use of gift values within a network of independent merchants 2. Specifics The CMF (Monetary and Financial Code) sets out specific conditions for electronic money. As such, there are two types of EM accounts at CentralPay: Anonymous EM account: This account may be opened without verifying the holder’s identity, provided it is issued to an individual and is limited to a balance or collections of €150 over 30 days. This type of account is particularly useful for occasional use by its holder, or simply to simplify onboarding with the EMD Intermediary. Verified EM account: An anonymous account may subsequently be verified by CentralPay’s compliance teams (KYC procedure) to increase the limits imposed on it; it then becomes « verified ». 3. Creating EM accounts If you are a CentralPay EMD Intermediary, you can request the creation of EM accounts for your sub-merchants.
Authentication 3DS 2.2 See more about 3DS 2.2 jQuery(document).ready( function($) { window.live_6ab3046e02024 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_3D-Secure 2.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02024", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02024.load(); });
Authentication 3DS 2.2 See more about 3DS 2.2 jQuery(document).ready( function($) { window.live_6ab3046e02762 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_3D-Secure 2.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02762", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02762.load(); });
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). jQuery(document).ready( function($) { window.live_6ab3046e02f78 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02f78", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02f78.load(); });
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). jQuery(document).ready( function($) { window.live_6ab3046e037a7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e037a7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e037a7.load(); });
Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident.
Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident.
Profils clients Les profils clients (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 paiement (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… 1. 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 2. Interfaces Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail Marchand Compte Customers Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise : Recette Portail Marchand – Customers Production Portail Marchand – Customers 3. 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.
Customer profiles Customer profiles (Customer) unify and secure all your customer data for easier management. They interact with other CentralPay services and notably allow you to: Centralize their payment history (across all sales channels and payment methods) Digitize and securely store their payment methods (cards, SEPA mandates, virtual IBANs) Easily track their recurring payments (subscriptions, split payments) or pending settlements (payment requests) In certain cases, they can also be associated with an e-money account, allowing the customer to receive and use funds within the network of the e-money distributor partner. A Customer must be identified by either their email address or their phone number. It is also possible to declare other information concerning them, such as their last name, first name, language, personalized reference, default payment method, etc. 1. Usage Creating a Customer is mandatory for performing: Subscriptions or split payments by card 1-click card payments SEPA direct debit payments SEPA transfer payments with a dedicated Virtual IBAN Creating an anonymous e-money account 2. Interfaces You can view all Customers on your account from your Merchant Portal Account Customers Your Customers also have access to a customer portal allowing them to manage payments made to your company: Recette Merchant Portal – Customers Production Merchant Portal – Customers 3. Creating a Customer There are two methods for creating a Customer: Create a Customer via the dedicated API service, which then allows you to create a Card, manage a Virtual IBAN for this Customer, initiate a transaction, a payment request, etc. Create a Customer via a payment request CentralPay ensures Customer uniqueness: if you initiate a payment request with Customer creation while their email or phone number is already known in your account, CentralPay will not create a new Customer and will associate the transaction with the existing profile.
Services anti-fraude 1. Organisation des services anti-fraude Les services anti-fraude sont segmentés en 4 outils : Liste blanche (whitelist)Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation des transactions. Elle 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 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) Règles d’acceptation des transactionsCet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement Scoring anti-fraudeLe 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 faibleTransaction acceptéePas d’action De 20 à 59 = risque moyenTransaction acceptéeAction : Envoi événement avec détail du score pour revue manuelle et apprentissage +60 = risque élevéTransaction refuséeAction : 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 ALLOWAutorise le paiement REFUSERefuse le paiement ALERTAdresse 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. Liste des attributs : AttributDescriptionType de valeursExemple#always Aucune #transactions[_état][_entité] [_temporalité]Quota du nombre de transactions [état] [entité] [temporalité]Entiers#transactions_amount[_état] [_entité][_temporalité]Quota du montant des transactions [état] [entité] [temporalité]Entiers#amountMontant de la transaction en centimesEntier#amount > 100#card_countryPays d’émission de la carteChaîne de caractères ISO 3166-1 alpha-3#card_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#card_establishmentEtablissement de la carte #card_productType de carte‘gold’, ‘platinium’ #card_product_typeType de carte (perso ou corp.)CONSUMER CORPORATE#card_product_type = ‘CONSUMER’#card_regionRégion d’émission de la carte‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#commercial_brandMarque de la carteVISA MASTERCARD AMEX OTHER#commercial_brand != ‘VISA’#currencyDevise de la transactionChaîne de caractères ISO 4217#currency = ‘EUR’#ip_countryPays de l’adresse IPChaîne de caractères ISO 3166-1 alpha-3#ip_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#ip_regionRégion de l’adresse IP‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#is_anonymous_ipEst une IP anonymeTRUE | FALSE#is_anonymous_ip = TRUE#is_three_d_secureEst une transaction 3D-SecureTRUE | FALSE#is_three_d_secure = TRUE#payout_amountMontant de versementEntier#payout_amount > 100#payout_currencyDevise de versementChaîne de caractères ISO 4217#payout_currency = ‘EUR’#risk_scoreScore d’antifraudeDouble#risk_score > 2,34#custom_acceptance_data[‘key’] = ‘value’champs customisékey : Regex [a-zA-Z0-9_-]value: Regex [a-zA-Z0-9_-]#custom_acceptance_data[‘product_category’] = ‘high’ Dans le cas du custom_acceptance_data[‘key’] = ‘value’, afin qu’il soit pris en compte il est nécessaire que l’exact même champs soit reporté dans la requête de l’objet visé. Les opérateurs logiques et parenthésage : Opérateurs logiques AND et OR La syntaxe utilisée pour définir les règles permet de créer plusieurs conditions au sein de la même règle. Les conditions resteront définies de la même manière, à la seule différence qu’un mot clé sera placé entre les conditions. Les mots clés 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 » correspond à l’inclusion et le « OR » à l’exclusion. Exemple : ALLOW if #amount < 1000 and #card_country = 'FRA' L’exemple précédent autorise les paiements dont le montant est inférieur à 10 ET dont la carte est française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée. Exemple : ALLOW if #amount < 1000 or #card_country = 'FRA' L’exemple précédent autorise les paiements dont le montant est inférieur à 10 OU dont la carte est française. Si l’une ou l’autre des conditions définies est remplie, l’action sera exécutée. Parenthèses L’utilisation des parenthèses dans la définition d’une règle multi-conditions permet de définir des blocs de conditions et les priorités entre ces blocs. Le principe est le même que celui des priorités pour les opérateurs mathématiques. Exemple : ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR') Dans l’exemple précédent, le moteur de règle va d’abord interpréter le bloc (#card_country = ‘FRA’ or #currency = ‘EUR’). C’est à dire que le paiement sera autorisé si (la carte est française ou que la devise est l’euro), ET que le montant est inférieur à 10. Ordre d’exécution des règles Les règles sont exécutées dans un ordre à définir. Cet ordre est important car dès qu’une transaction répond aux critères d’une règle, les règles suivantes ne seront pas traitées. Les règles sont exécutées dans l’ordre d’affichage de la liste de l’interface.Un indicateur de position est affiché dans chaque liste. Pour changer la position d’une règle, il suffit de la faire glisser à la position souhaitée. Exemples de règles : ALLOW if #amount < 1000 and #transactions_amount_daily < 10000 Cet exemple autorise les transactions dont le montant est inférieur à 10 si la somme des montants des transactions de la journée est inférieur à 100. REFUSE if #risk_score > 3 or (#ip_regions = 'ASIA_PACIFIC' and #card_region = 'ASIA_ PACIFIC') Cette règle bloque les paiements si le score de risque dépasse 3 ou que l’IP utilisée ainsi que la région d’émission de la carte correspondent à la zone ‘ASIA_PACIFIC’. THREE_D_SECURE if #card_country NOT IN ('FRA', 'USA', 'GBR') Cette règle demande une transaction 3D Secure si le pays de la carte n’est pas la France, les Etats-Unis, ou la Grande Bretagne. ALLOW (#amount < 10000 and #transactions_amount_daily < 100000) or (#currency IN ('EUR', 'USD') and #transactions_amount_monthly < 1000000) Cet exemple précédent AUTORISE les paiements SI le montant est INFÉRIEUR à 100 ET que la somme des montants des transactions du jour est INFÉRIEUR à 1000 OU que la devise est € ou $ ET que la somme des montants des transactions du mois est INFÉRIEURE à 10 000. Les opérateurs logiques « AND » et « OR » ne sont syntaxiquement correct qu’en minuscule. 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) ℹ️ 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.
Anti-fraud services 1. Organization of anti-fraud services Anti-fraud services are segmented into 4 tools: WhitelistThe purpose of the « whitelist » is to make the application of a transaction acceptance rule selective. It becomes inoperative for identified customers, VIPs, or trusted customers who are included in a « whitelist ». « Whitelists » apply to customer-specific data, such as their bank card number or IP address. This feature makes it possible to be less restrictive for certain user populations. BlacklistThe « blacklist » service makes it possible to refuse payments. As with « whitelists », « blacklists » apply to data specific to the cardholder (card, IP, phone, email). Transaction acceptance rulesThis tool makes it possible to build the specific rules that define the conditions for accepting a payment. Anti-fraud scoringThe scoring service detects potentially fraudulent transactions based on cross-analysis of multiple payment-related data points. The transaction processing phases are always executed in this order. If the input data meets all the conditions of the defined « whitelist », the « blacklist » service will not be executed and the transaction will be processed normally. If the input data meets one of the conditions of the defined « blacklist » and is not included in the « whitelist » service, the transaction will be refused and the « acceptance rule » service will not be executed. Each service is executed top-down with respect to the CentralPay actor hierarchy, which means that a platform can apply its anti-fraud service settings to its merchants, but the reverse is not possible. 2. Fraud scoring tool CentralPay relies on a fraud detection service based on machine learning algorithms. This predictive engine is built from a large sample of data provided by CentralPay in JSON format and sourced from transaction, refund, dispute data. This service relies on behavioral classification linked to the merchant’s business sector. The engine returns an action and a score. The action instructs the payment service to accept or refuse the transaction. The score classifies the risk level by providing a percentage probability of fraud. This score is then interpreted in the rules engine. The score enables the merchant and the algorithm to interact together to improve. Scores are classified as follows: From 0 to 19 = low riskTransaction acceptedNo action From 20 to 59 = medium riskTransaction acceptedAction: Send an event with score details for manual review and learning +60 = high riskTransaction refusedAction: Send an event with score details for manual review and learning This fraud exposure analysis service analyzes the fraud risk exposure context of each transaction. This service returns a score that makes it possible to automatically process the expected response in the rules engine. The score is based on cross-analysis of the following data: IP risk index Proxy detection TOR network detection IP address verification Confidence factors Email checks Address & phone checks High-risk shipping address IP address geolocation Identification of the devices used Email address Browser type Country mismatches Shipping address distance Billing address distance Email domain Time Order amount Country Phone number IP owner Email owner Card address verification 3. Whitelists and blacklists 3.1. Whitelist The purpose of the « whitelist » is to make the application of an acceptance rule selective. This rule becomes inoperative for identified customers, VIPs, or trusted customers who are included in a « whitelist ». The anti-fraud service then moves on to the next step. « Whitelists » apply to customer-specific data, such as their bank card number or IP address. This feature makes it possible to be less restrictive for a user population. 3.2. Blacklist The « blacklist » step makes it possible to refuse payments. As with « whitelists », « blacklists » apply to data specific to the cardholder: Country Geographic regions Card numbers Phone numbers Email IP addresses IBAN 4. Transaction acceptance rules The acceptance rules engine is a powerful, modular application component that makes it possible to adapt the processing behavior to be applied to each transaction, such as: Allow Refuse Alert This service therefore makes it possible to define actions to be performed on each transaction from a wide list of available attributes: fraud score, cardholder location, total sales amount over 7 or 30 days, VIP whitelist customer, specific parameter provided by the merchant… An acceptance rule is a logical condition. It makes it possible to authorize, restrict, and/or prohibit transactions.A rule consists of 4 elements: the action, the attributes, the operators, the values. The syntax of a rule is as follows: « Action » « if » « Attribute » « Comparison operator » « Comparison value » Example: REFUSE if card_country != 'FRA' The rule shown in this example makes it possible to automatically refuse payments when the card country is not France.The grammar syntax chosen by the platform for its acceptance engine is very similar to SQL syntax (used to interact with databases). 4.1. Available actions ALLOWAllows the payment REFUSERefuses the payment ALERTSends a « webhook » notification for the associated transaction 4.2. Available attributes By typing « # », the available attributes are displayed. In a rule, an attribute is always followed by a comparison operator. List of attributes: AttributeDescriptionValue typeExample#always None #transactions[_état][_entité] [_temporalité]Transaction count quota [state] [entity] [time period]Integers#transactions_amount[_état] [_entité][_temporalité]Transaction amount quota [state] [entity] [time period]Integers#amountTransaction amount in centimesInteger#amount > 100#card_countryCard issuing countryString ISO 3166-1 alpha-3#card_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#card_establishmentCard issuer #card_productCard type‘gold’, ‘platinium’ #card_product_typeCard type (personal or corporate)CONSUMER CORPORATE#card_product_type = ‘CONSUMER’#card_regionCard issuing region‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#commercial_brandCard brandVISA MASTERCARD AMEX OTHER#commercial_brand != ‘VISA’#currencyTransaction currencyString ISO 4217#currency = ‘EUR’#ip_countryIP address countryString ISO 3166-1 alpha-3#ip_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#ip_regionIP address region‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#is_anonymous_ipIs an anonymous IPTRUE | FALSE#is_anonymous_ip = TRUE#is_three_d_secureIs a 3D-Secure transactionTRUE | FALSE#is_three_d_secure = TRUE#payout_amountPayout amountInteger#payout_amount > 100#payout_currencyPayout currencyString ISO 4217#payout_currency = ‘EUR’#risk_scoreAnti-fraud scoreDouble#risk_score > 2,34#custom_acceptance_data[‘key’] = ‘value’custom fieldkey : Regex [a-zA-Z0-9_-]value: Regex [a-zA-Z0-9_-]#custom_acceptance_data[‘product_category’] = ‘high’ In the case of custom_acceptance_data[‘key’] = ‘value’, for it to be taken into account, the exact same field must be included in the request for the targeted object. Logical operators and parentheses: Logical operators AND and OR The syntax used to define rules makes it possible to create multiple conditions within the same rule. The conditions will remain defined in the same way, with the only difference being that a keyword will be placed between the conditions. The keywords are and and or. They define how the rules engine will interpret the sequence of these rules. « AND » corresponds to inclusion and « OR » to exclusion. Example: ALLOW if #amount < 1000 and #card_country = 'FRA' The previous example allows payments whose amount is less than 10 AND whose card is French. If one or the other of the defined conditions is not met, the action will not be executed. Example: ALLOW if #amount < 1000 or #card_country = 'FRA' The previous example allows payments whose amount is less than 10 OR whose card is French. If one or the other of the defined conditions is met, the action will be executed. Parentheses Using parentheses when defining a multi-condition rule makes it possible to define condition blocks and the priorities between these blocks. The principle is the same as for priorities in mathematical operators. Example: ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR') In the previous example, the rules engine will first interpret the block (#card_country = ‘FRA’ or #currency = ‘EUR’). That is, the payment will be allowed if (the card is French or the currency is the euro), AND the amount is less than 10. Rule execution order Rules are executed in an order to be defined. This order is important because as soon as a transaction meets the criteria of a rule, the following rules will not be processed. Rules are executed in the display order of the list in the interface.A position indicator is displayed in each list. To change a rule’s position, simply drag it to the desired position. Rule examples: ALLOW if #amount < 1000 and #transactions_amount_daily < 10000 This example allows transactions whose amount is less than 10 if the sum of the day’s transaction amounts is less than 100. REFUSE if #risk_score > 3 or (#ip_regions = 'ASIA_PACIFIC' and #card_region = 'ASIA_ PACIFIC') This rule blocks payments if the risk score exceeds 3 or if the IP used and the card issuing region correspond to the ‘ASIA_PACIFIC’ zone. THREE_D_SECURE if #card_country NOT IN ('FRA', 'USA', 'GBR') This rule requires a 3D Secure transaction if the card country is not France, the United States, or Great Britain. ALLOW (#amount < 10000 and #transactions_amount_daily < 100000) or (#currency IN ('EUR', 'USD') and #transactions_amount_monthly < 1000000) This previous example ALLOWS payments IF the amount is LESS THAN 100 AND the sum of the day’s transaction amounts is LESS THAN 1000 OR the currency is € or $ AND the sum of the month’s transaction amounts is LESS THAN 10,000. The logical operators « AND » and « OR » are only syntactically correct in lowercase. 4.3. Available comparison operators = (equals) != (not equal to) < (less than) <= (less than or equal to) in (in the following) not in (not in the following) The comparison operators = , != , > , < , >= and <= must be followed by a value. The IN and NOT IN operators are followed by a list of comparison values.A list of values is enclosed in parentheses, and the values inside the list are separated by commas. Example: REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF') The example shown above makes it possible to refuse all payments whose currency is not the Euro, the US Dollar, the Pound Sterling, or the Swiss Franc. This syntax avoids writing multiple rules or multiple conditions within the same rule. 4.4. Available values: Depending on the value type, the syntax used to define the value will not be the same: Integers (numeric value without decimals): Standard syntax (e.g., 100) Doubles (numeric value with decimals): The value is defined with a dot as the decimal separator (e.g., 12.32) String: The value is defined between single quotes (e.g., ‘FRA’) Booleans: The value is true or false (e.g., false) ℹ️ "Amount" values must be entered in centimes (e.g., for €10, enter 1000). 4.5. Logical operators: The available operators are AND and OR. They define how the rules engine will interpret the sequence of these rules. « AND » enables inclusion, while « OR » enables exclusion. Example: REFUSE if #amount < 1000 and #card_country != 'FRA' The example shown above makes it possible to refuse payments whose amount is less than €10 AND whose card is not French. If one or the other of the defined conditions is not met, the action will not be executed.
Demandes de paiement La demande de paiement (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 Marchand. 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. 1. Création par API 1.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 à renseignerPaiements unitairesTransaction par cartepaymentMethod[]=TRANSACTIONCaution carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION transaction[source]=DPVérification/Empreinte carte (transaction à 0 €)paymentMethod[]=TRANSACTION transaction[source]=RITransaction par virement bancairepaymentMethod[]=SCT_TRANSACTIONTransaction par prélèvement SEPApaymentMethod[]=SDDsdd[remittanceInformation]Transaction par Paiement par banque (virement standard)paymentMethod[]=SCT_TRANSACTION_PISTransaction par Paiement par banque (virement instantané par défaut, sinon standard)paymentMethod[]=SCT_TRANSACTION_PIS_IPPaiements récurrentsAbonnement par cartepaymentMethod[]=SUBSCRIPTION subscriptionModel[subscriptionModelId]Abonnement par prélèvement SEPApaymentMethod[]=SUBSCRIPTIONsubscription[source]=SDDsubscriptionModel[subscriptionModelId]Paiement fractionné par cartepaymentMethod[]=INSTALLMENTintallment[intervalUnit]installment[intervalCount]installment [iterationCount]Paiement fractionné par prélèvement SEPApaymentMethod[]=INSTALLMENTinstallment[source]=SDDintallment[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 ⚠️ Certaines combinaisons de moyens ou modes de paiement peuvent entrer en conflit 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éfinitionamountMontant de la demande de paiement en centimesmerchantPaymentRequestIdRé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 paiementdescriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiementadditionalData[*]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 paiementcreateCustomerCré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 ℹ️ 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. 1.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 [prochainement] 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 [prochainement] 1.3. Fonctions spécifiques Envoyer une 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. Exemple : Cas d'une demande de paiement de 500 € :• Réglement de 250 € en virement, puis 250 € en carte• Ou 300 € avec une première carte, puis 200 € avec une autre• Ou réglemenet de 350 € avec une carte, puis revenir plus tard pour régler les 150 € restants avec cette même carte Pour ce faire, vous devez [prochainement] 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 [prochainement] 2. Création depuis le Portail Marchand 2.1. Création et types de demandes de paiement Vous pouvez créer une demande de paiement depuis le Portail Marchand Demandes de paiement Liens de paiement Créer . Les demandes de paiement créées depuis le Portail Marchand 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. Accès : Recette Portail Marchand – Demandes de paiement Production Portail Marchand – Demandes de paiement 2.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 Marchand, ou via import de fichiers plats. 2.3. Création de demandes de paiements par import de fichiers plats Depuis le Portail Marchand 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. Télécharger le modèle : Au format CSV➝ Au format JSON ➝ Quelques informations importantes : DésginationDéfinitionprofil_uuid*UUID du profil de demande de paiementmerchant_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 famillefirst_namePrénomemail*Email du destinatairephoneTéléphone du destinataire au format international (ex : 33612345678). create_customerCréation d’un profil client « Customer » : renseigner « O » pour OUI ou « N » pour NONlink_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 paiementlanguage*Langue de la communication et de la page de paiement (FRE pour français, ENG pour anglais…)Les champs avec un * sont obligatoires.
Payment requests The payment request (PaymentRequest) is the service that allows you to generate payment links. You can create payment requests via API or via the Merchant Portal. The payment request can also be paired with the CentralPay notification service, allowing you to easily send a payment link to your customers by email or SMS and schedule automated reminders. 1. API creation 1.1. Create a PaymentRequest Below are the available payment methods and the corresponding API values in the PaymentRequest service: Desired payment method or modeAPI values to provideOne-off paymentsCard transactionpaymentMethod[]=TRANSACTIONCard deposit (reserved for rental businesses)paymentMethod[]=TRANSACTION transaction[source]=DPCard verification/imprint (0€ transaction)paymentMethod[]=TRANSACTION transaction[source]=RIBank transfer transactionpaymentMethod[]=SCT_TRANSACTIONSEPA Direct Debit transactionpaymentMethod[]=SDDsdd[remittanceInformation]Pay by bank transaction (standard transfer)paymentMethod[]=SCT_TRANSACTION_PISPay by bank transaction (instant transfer by default, otherwise standard)paymentMethod[]=SCT_TRANSACTION_PIS_IPRecurring paymentsCard subscriptionpaymentMethod[]=SUBSCRIPTION subscriptionModel[subscriptionModelId]SEPA Direct Debit subscriptionpaymentMethod[]=SUBSCRIPTIONsubscription[source]=SDDsubscriptionModel[subscriptionModelId]Card instalment paymentpaymentMethod[]=INSTALLMENTintallment[intervalUnit]installment[intervalCount]installment [iterationCount]SEPA Direct Debit instalment paymentpaymentMethod[]=INSTALLMENTinstallment[source]=SDDintallment[intervalUnit]installment[intervalCount]installment [iterationCount] If you want to allow multiple payment methods or modes in your PaymentRequest, you must provide the paymentMethod object multiple times. Example: paymentMethod[]=TRANSACTION paymentMethod[]=SCT_TRANSACTION ⚠️ Some combinations of payment methods or modes may conflict and your PaymentRequest may return an error. For example, you cannot allow a TRANSACTION and a SUBSCRIPTION; however, you can allow a TRANSACTION and an INSTALLMENT. Here is the key information about other values to provide when creating a PaymentRequest: LabelDefinitionamountAmount of the payment request in centimesmerchantPaymentRequestIdCustom reference (your order or invoice number, for example) that you can use to reconcile the payment. This value will be visible to your customer on the payment page descriptionCustom description (name of the product or service sold). This value will be visible to your customer on the payment page additionalData[*]Free key-value data, allowing you to pass through one or more data items (invoice references, customer number, etc.). Not visible to your customer on the payment page createCustomerTRUE / FALSE creation of a Customer account (in particular, enables saving the customer payment method: card, SEPA mandate, and creating a virtual IBAN dedicated to the Customer)breakdown[customerId]Select an existing Customer ℹ️ For SEPA transfer transactions, you can define whether you want to display the Virtual IBAN dedicated to the Customer or generate a single-use Virtual IBAN (SCT) from the settings of your Points of Sale. 1.2. Send a PaymentRequest by email / SMS When creating it, you can ask CentralPay to send the payment request to your customer. There are two sending methods: Via the default PaymentRequest mailer: CentralPay sends the payment request using a standardised email/SMS template and from the sender email configured in your point of sale (or, failing that, CentralPay’s sender email « no-reply@centralpay.eu »). To do this, you must [coming soon] Via the CentralPay email/SMS notification service: CentralPay sends the payment request according to the scenario and communication templates you have configured. This service notably enables automated customer reminders, based on the payment request parameters (payment deadlines, payment progress, etc.). To do this, you must [coming soon] 1.3. Specific features Send an open-amount payment request (multi-payment methods) It is possible to allow the amount to be paid to be modified (up to the initial amount), so that your payers can pay the amount due using multiple payment methods or at different times. Example: Example of a €500 payment request:• Payment of €250 by transfer, then €250 by card• Or €300 with a first card, then €200 with another• Or payment of €350 with a card, then come back later to pay the remaining €150 with the same card To do this, you must [coming soon] Send a payment request to multiple recipients It is possible to send a payment request to multiple recipients with a different amount to be paid by each of them. As follows: Each participant receives an email or SMS notification detailing the item to be paid Amounts are set by the initiator or left open for each participant, who pays the amount they wish The dates configured on the request (creation, expiration, etc.) allow notifications to be generated for each participant To do this, you must [coming soon] 2. Creation from the Merchant Portal 2.1. Creation and types of payment requests You can create a payment request from Merchant Portal Payment requests Payment links Create . Payment requests created from the Merchant Portal are necessarily sent to your customers by CentralPay. Depending on your needs, you must choose one of the following request types: Instant request: A simple request, sent from CentralPay’s standard email/SMS senders and templates Scheduled request: An advanced request, using the communication templates, scenarios, and sending/reminder rules that you have previously configured in the CentralPay email/SMS notification service. A scheduled request sent without selecting a notification scenario will automatically be reclassified as an instant request Once created, you can access the payment page by clicking payment request details Payment form . This way, you can send your customer the page URL in case of a sending error. Access: Recette Merchant Portal – Payment requests Production Merchant Portal – Payment requests 2.2. Payment request profiles To make it easier to create payment requests, you can create predefined profiles that include the main request settings: Point of Sale (POS) Currency Language Allowed payment methods Payment due date (contractual payment terms) Link expiration (time before the link expires) Notification scenarios Rerouting of the payment confirmation email Display rules (payment page settings) Customer creation Attachments You can then use this profile when creating your scheduled payment requests via the Merchant Portal, or via flat-file import. 2.3. Create payment requests by flat-file import From Merchant Portal Payment requests Payment links Import , you can upload a payment request import file. This use may be recommended for businesses that want to send, at the end of the month, and automatically follow up on a list of debtors. Download the template: CSV format➝ JSON format ➝ Some important information: LabelDefinitionprofil_uuid*UUID of the payment request profilemerchant_payment_request_idCustom reference (your order or invoice number, for example) that you can use to reconcile the payment. This value will be visible to the payer on the payment page. descriptionCustom description (name of the product or service sold). This value will be visible to your customer on the payment page. total_amount*Payment request amount. Provide as a double with a « . » separator (e.g., 500.00 for €500). last_nameLast namefirst_nameFirst nameemail*Recipient emailphoneRecipient phone number in international format (e.g., 33612345678). create_customerCreation of a « Customer » customer profile: enter « O » for YES or « N » for NOlink_expiration_datePayment request expiration date (date after which the customer can no longer pay you)deadlinePayment due date (date by which your customer must have paid you, and after which they are late).receipt_emailEmail address to which you want to reroute the payment confirmation emaillanguage*Communication and payment page language (FRE for French, ENG for English…)Fields marked with * are required.
Formulaire de paiement CUSTOM Le service API Transaction permet d’effectuer une autorisation suivie d’une capture des fonds sur la carte bancaire de votre client. Tous les modes de paiement par carte (paiement simple, récurrents, MoTo, etc.) sont gérés via ce service. Lorsqu’un client souhaite effectuer un premier paiement, ses données de carte doivent être collectées pour générer un cardTokenId, grâce au service de tokenisation « token.js » de CentralPay. Ce token temporaire permet ensuite de créer une ressource Card, identifiée par un cardId, pouvant être enregistrée dans un objet Customer. Ce rattachement est indispensable pour permettre des paiements ultérieurs sans redemander la carte (paiement en 1 clic, récurrents, etc.). ℹ️ Avec un formulaire de paiement personnalisé (CUSTOM FORM), l'intégration de l'authentification 3DS 2.2 est obligatoire avant d'exécuter une transaction. Schéma du flux de paiement avec cardTokenId : ℹ️ Si vous disposez d'une certification PCI-DSS de niveau 1 et que vous gérez les données de carte, vous pouvez directement créer un objet /card en envoyant les données (PAN, date d'expiration, CVC) à l'API, sans passer par token.js. 1. Prérequis 1.1. Déclarer vos domaines Avant d’utiliser le token.js, vous devez déclarer les domaines hébergeant vos formulaires Custom dans votre Portail Marchand. Allez dans Administration Mon profil marchand Technique Modifier , puis complétez le champ Hosts Custom Forms autorisés. Accès : Recette Portail Marchand – Administration Production Portail Marchand – Administration 1.2. Sécuriser votre formulaire Assurez-vous que vos pages de paiement utilisent le protocole HTTPS avec TLS 1.2 ou supérieur. 1.3. Conformité PCI-DSS L’utilisation de token.js implique que vous gérez vous-même l’affichage du formulaire et le déclenchement du token. Cette méthode impose de respecter les exigences PCI DSS SAQ A-EP. Téléchargez le formulaire A-EP ➝ 2. Intégration du formulaire de paiement 2.1. Créer un formulaire de paiement HTML Contrairement au Smart Form hébergé par CentralPay, le Custom Form est créé par vos soins, via votre propre code HTML. Vous devez implémenter les champs suivants : Numéro de carte : 16 chiffres pour CB/Visa/Mastercard, 15 pour American Express Date d’expiration : format MM/AAAA CVC : 3 chiffres (CB/Visa/Mastercard), 4 chiffres (Amex) Vous pouvez consulter nos exemples de formulaires Custom Form : Consultez l’exemple de formulaire Custom Form sans 3DS 2.2 ➝ Consultez l’exemple de formulaire Custom Form avec 3DS 2.2 ➝ 2.2. Intégration du script token.js Ajoutez dans votre page le script token.js pour générer un cardTokenId : <script src="https://js.centralpay.net/js/token.js"></script> Ajoutez ensuite votre clé publique marchand (MerchantPublicKey) dans un tag distinct : <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('VOTRE_CLE_PUBLIQUE') : alert('Error loading html form'); </script> Vous pouvez voir où retrouver votre MerchantPublicKey depuis la page Authentification de nos API. Intégration dans une application mobile Si vous utilisez une WebView dans votre application, vous pouvez intégrer soit un formulaire personnalisé avec token.js, soit un formulaire hébergé via le service PaymentRequest. Ces options vous permettent d’externaliser la collecte des données carte tout en offrant une expérience utilisateur fluide. Dans une application mobile native, le script token.js n’est pas compatible. Vous devez alors collecter les données de carte via les champs de l’application, puis appeler directement l’API cardToken en utilisant votre merchantPublicKey. L’appel à l’API cardToken doit inclure un en-tête HTTP Origin correspondant à une URL déclarée dans votre profil Marchand CentralPay (voir 2.1 Prérequis). Pour vos tests, vous pouvez utiliser l’Origin suivant : https://example.centralpay.net ℹ️ Pour les applications mobiles natives, les données de carte sont transmises directement depuis le device de l’utilisateur vers CentralPay, sans passer par les serveurs du marchand. Cependant, ce type d’intégration nécessite de veiller à respecter les exigences de sécurité et de conformité PCI-DSS applicables à la collecte et la transmission de données de carte dans un environnement natif. 2.3. Créer un Customer et rattacher une carte ℹ️ Le cardTokenId est un token à usage unique, dont le CVC est temporaire (10 minutes en production, 5 minutes en RCT). Passé ce délai, le token expire automatiquement (status=EXPIRED) et ne peut plus être utilisé, ce qui entraînera l’erreur suivante : "cardTokenId": "Card token already used". Que vous utilisiez la carte immédiatement (paiement simple) ou que vous souhaitiez la réutiliser plus tard (paiement en 1 clic, récurrent, etc.), il est recommandé de commencer par créer un objet Customer, puis d’enregistrer une Card à l’aide du cardTokenId. L’authentification 3DS 2.2 pouvant parfois allonger le délai de traitement, cette séquence permet d’éviter l’expiration du CVC associé au cardToken. Créez un objet customer via l’endpoint POST /customer ou récupérez le customerId s’il est déjà connu Créez une card en utilisant POST /card en spécifiant le cardTokenId émis par le token.js et le customerId Une fois la card rattachée à un customer, le CVC devient permanent et les transactions futures peuvent être initiées sans limite de temps. Si vous n'utilisez pas le token.js (certification PCI-DSS requise), vous pouvez directement créer une card sans passer par le cardToken en fournissant le PAN + expiration + CVC + customerId 3. Authentification 3DS 2.2 Avant d’initier une transaction par carte, vous devez vérifier l’identité du porteur via une authentification 3DS 2.2. Cette étape est obligatoire pour les transactions carte unitaire comme pour les transactions carte récurrente. ℹ️ Exception : Les transactions de type MoTo (Mail Order / Telephone Order) ne sont pas soumises à l’authentification 3DS. Vous pouvez créer la transaction directement après la création de la carte.
CUSTOM payment form The Transaction API service lets you perform an authorisation followed by a capture of funds on your customer’s bank card. All card payment methods (one-off payments, recurring payments, MoTo, etc.) are managed via this service. When a customer wants to make a first payment, their card data must be collected to generate a cardTokenId, using CentralPay’s tokenisation service « token.js ». This temporary token can then be used to create a Card resource, identified by a cardId, which can be stored in a Customer object. This linking is required to enable subsequent payments without asking for the card again (1-click payments, recurring payments, etc.). ℹ️ With a custom payment form (CUSTOM FORM), integrating 3DS 2.2 authentication is mandatory before executing a transaction. Payment flow diagram with cardTokenId: ℹ️ If you have PCI DSS Level 1 certification and you handle card data, you can create a /card object directly by sending the data (PAN, expiry date, CVC) to the API, without using token.js. 1. Prerequisites 1.1. Declare your domains Before using token.js, you must declare the domains hosting your Custom forms in your Merchant Portal. Go to Administration My merchant profile Technical Edit , then complete the Allowed Custom Forms Hosts field. Access: Recette Merchant Portal – Administration Production Merchant Portal – Administration 1.2. Secure your form Ensure that your payment pages use the HTTPS protocol with TLS 1.2 or higher. 1.3. PCI DSS compliance Using token.js means you manage the form display and the token trigger yourself. This method requires compliance with PCI DSS SAQ A-EP requirements. Download the A-EP form ➝ 2. Payment form integration 2.1. Create an HTML payment form Unlike the Smart Form hosted by CentralPay, the Custom Form is created by you, using your own HTML code. You must implement the following fields: Card number: 16 digits for CB/Visa/Mastercard, 15 for American Express Expiry date: MM/YYYY format CVC: 3 digits (CB/Visa/Mastercard), 4 digits (Amex) You can view our Custom Form examples: See the example of a Custom Form without 3DS 2.2 ➝ See the example of a Custom Form with 3DS 2.2 ➝ 2.2. token.js script integration Add the token.js script to your page to generate a cardTokenId: <script src="https://js.centralpay.net/js/token.js"></script> Then add your merchant public key (MerchantPublicKey) in a separate tag: <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('VOTRE_CLE_PUBLIQUE') : alert('Error loading html form'); </script> You can see where to find your MerchantPublicKey on the API authentication page. Integration in a mobile application If you use a WebView in your application, you can integrate either a custom form with token.js or a hosted form via the PaymentRequest service. These options let you externalise card data collection while providing a smooth user experience. In a native mobile application, the token.js script is not compatible. You must then collect card data via the application fields, then call the cardToken API directly using your merchantPublicKey. The call to the cardToken API must include an HTTP Origin header matching a URL declared in your CentralPay Merchant profile (see 2.1 Prerequisites). For your tests, you can use the following Origin: https://example.centralpay.net ℹ️ For native mobile applications, card data is transmitted directly from the user’s device to CentralPay, without going through the merchant’s servers. However, this type of integration requires ensuring compliance with the security and PCI DSS requirements applicable to collecting and transmitting card data in a native environment. 2.3. Create a Customer and link a card ℹ️ The cardTokenId is a single-use token, for which the CVC is temporary (10 minutes in production, 5 minutes in RCT). After this time, the token automatically expires (status=EXPIRED) and can no longer be used, which will result in the following error: "cardTokenId": "Card token already used". Whether you use the card immediately (one-off payment) or want to reuse it later (1-click payment, recurring, etc.), it is recommended to start by creating a Customer object, then save a Card using the cardTokenId. As 3DS 2.2 authentication can sometimes increase processing time, this sequence helps prevent the CVC associated with the cardToken from expiring. Create a customer object via the POST /customer endpoint, or retrieve the customerId if it is already known Create a card using POST /card by specifying the cardTokenId issued by token.js and the customerId Once the card is linked to a customer, the CVC becomes permanent and future transactions can be initiated with no time limit. If you do not use token.js (PCI DSS certification required), you can create a card directly without using the cardToken by providing the PAN + expiry + CVC + customerId 3. 3DS 2.2 authentication Before initiating a card transaction, you must verify the cardholder’s identity via 3DS 2.2 authentication. This step is mandatory for one-off card transactions as well as for recurring card transactions. ℹ️ Exception: MoTo (Mail Order / Telephone Order) transactions are not subject to 3DS authentication. You can create the transaction directly after creating the card.
IBAN Virtuels 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é 1. Consulter l’IBAN Virtuel de ses comptes Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail Marchand Administration Comptes IBAN/BIC : Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 2. 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 Marchand Administration Comptes UUID : Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 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 est CEAYFR22 3. 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 Marchand Administration Comptes UUID : Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 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. 4. 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.
Virtual IBANs Payment by bank transfer requires the customer making the payment to provide the bank details (IBAN + BIC + account holder’s name), the payment amount, and the transfer reference. If the reference number is missing or formatted incorrectly (whether due to the customer or the customer’s bank’s system), the payee must manually review the received transfer to match it to the correct invoice and customer account. CentralPay allows you to provide a different virtual IBAN to each of your customers (Customer) or on each of your invoices (PaymentRequest). Thus, when a transfer is received, CentralPay automatically identifies the sender and can reconcile the invoice for you based on the virtual IBAN used by your customer, even if there is an error in the reference number. A virtual IBAN is identical in every way to a standard IBAN, which makes the process completely transparent for your customers. With this service, you will be able to: To be notified instantly when a customer has paid you via bank transfer Automate your internal alerts and customer follow-ups (via the notification service) To automate the reconciliation of your payments in your accounting or billing solutions (ERP, etc.) For platforms and marketplaces: to easily identify the merchant receiving the payment and transfer the funds to them You can create CentralPay Virtual IBANs from various services on the platform: From the Customer service department From the SCT Transaction department From the PaymentRequest department ℹ️ Each payment or e-money account comes with its own dedicated virtual IBAN by default 1. Check the virtual IBAN for your accounts You can find the virtual IBAN for your accounts in the Merchant Portal Administration Accounts IBAN/BIC: It is also possible to query the CentralPay API using the /bankAccount endpoint Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts 2. Create a Virtual IBAN for a specific customer You can create a virtual IBAN for a specific customer when creating a new Customer or when updating an existing customer. To do this, you must enter the UUID of the payment account into the “walletIdForIban” field—the account into which you want to receive the funds. You can find it under Merchant Portal Administration Accounts UUID: Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts In return, you will receive the “iban” and “bic” values in field bankAccounts, which make up your Customer‘s virtual IBAN. ℹ️ The BIC for IBANs issued by CentralPay is CEAYFR22 3. Creation of a Virtual IBAN Dedicated to an SCT Transaction Just as with a customer, you can create a virtual IBAN specific to a bank transfer transaction when creating an SCT transaction. ℹ️ As a reminder, CentralPay automatically creates an SCT transaction when you receive a transfer to your primary virtual IBAN or a customer’s virtual IBAN. However, you can create an SCT transaction in advance to assign it a dedicated virtual IBAN and a custom reference, for example. To do this, you must enter the UUID of the payment account into the “ibanWalletId” field, the account into which you want to receive the funds. You can find it under Merchant Portal Administration Accounts UUID: Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts In return, you will receive the “iban” and “bic” values in field bankAccounts, which make up the Virtual IBAN for your SCT Transaction. ℹ️ A virtual IBAN assigned to an SCT transaction is no longer valid once the SCT transaction has been paid in full. However, it is possible to receive multiple smaller transfers to the same IBAN to make up the full amount of the SCT transaction. Please note that if a received transfer exceeds the amount of the SCT Transaction, it will still be accepted. You will need to issue a partial refund to return the overpayment to your customer. 4. Using Virtual IBANs in Payment Requests You can use Customer Virtual IBANs or SCT Transactions through the payment request service if you accept the “SCT Transaction” payment method. You can select the type of Virtual IBAN you want to display in your payment requests from the “Priority Viban” field in your point-of-sale settings. If you select: SCT: The payment request will automatically generate a virtual IBAN specific to the SCT transaction Client: The payment request will use the customer’s virtual IBAN if they already have one; otherwise, it will automatically generate one. ℹ️ For payment requests using a vIBAN submitted exclusively via SCT Transaction: If you cancel the payment request, the associated vIBAN will no longer be accessible. As a result, any transfer received at that vIBAN will be automatically returned to the sender.
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.
SEPA Creditor ID The SEPA Creditor Identifier (ICS) is a unique reference number that identifies each direct debit issuer. In France, it consists of 13 alphanumeric characters, the first two of which represent the ISO country code (FR for France). Having an ICS is a mandatory requirement for making direct debits. The creditor must apply to their bank for an ICS. The creditor then retains their ICS, even if they switch banks. Please provide your ICS to CentralPay when you first sign up so that our teams can enter it into your account.
Transfert indépendant 1. Créer un transfert (Create a Transfer) La fonction Create a Transfer permet aux marchands mandataires (Agents ou DME) de transférer des fonds entre deux comptes de leurs marchands participants. Ce transfert peut être initié : Par un Agent lorsque les comptes sont des comptes de paiement Par un DME lorsque les comptes sont des comptes de monnaie électronique 1.1. Cas d’usage Ce mécanisme permet par exemple : À un Agent d’orchestrer des débits et des crédits de fonds entre lui et ses marchands participants, ou vers des comptes destinataires définis À un DME d’opérer des transferts de monnaie électronique entre ses marchands participants (par exemple dans le cadre d’une place de marché C2C) CentralPay reste en charge de l’exécution effective des opérations, dans le cadre de la relation contractuelle avec les marchands participants. 1.2. Paramètres requis ChampTypeObligatoireDescriptiondestinationWalletIdUUID✅ OuiIdentifiant du compte Centralpay destinataire (appartenant à un marchand participant).amountInteger (en cents)✅ OuiMontant du transfert. Doit être strictement supérieur à 0.sourceIdUUID✅ Oui, si sourceType est renseignéIdentifiant de la source de fonds (ex. : transaction, virement, crédit, SDD).sourceTypeEnum✅ Oui, si sourceId est renseignéSource du transfert : TRANSACTION, SCT_TRANSACTION, CREDIT, SDD. 1.3. Paramètres optionnels ChampTypeDescriptionemissionWalletIdUUIDCompte émetteur si différent du compte principal du marchand mandataire.currencyCode ISODevise du transfert (si différente de celle du compte).feeIntegerMontant de la commission prélevée par le marchand mandataire, déduite du montant. Par défaut : 0.escrowDateDate ISODate à partir de laquelle le transfert devient effectif. Peut être utilisée pour définir une période de blocage temporaire.merchantTransferIdStringRéférence métier du marchand mandataire (max 100 caractères).transferGroupStringGroupe de rattachement pour regrouper plusieurs transferts.descriptionStringDescription libre (max 256 caractères).additionalDataKey/ValueDonnées complémentaires sous forme de paires clé/valeur (max 256 caractères par valeur).metaDataJSONMétadonnées complémentaires structurées.purposeCode / purposeMessageEnum / StringFinalité du transfert, selon une nomenclature standard. Voir la liste des codes. 1.4. Règles de validation Le destinationWalletId doit correspondre à un compte valide d’un marchand participant du mandataire Le sourceId ne peut être utilisé que si l’objet lié est dans un statut accepté (CAPTURE, CLEARED, etc.) Le montant autorisé dépend du solde disponible ou des fonds liés à la source (transaction, virement, etc.) 2. Fonctions complémentaires liées aux transferts Les marchands mandataires disposent de plusieurs fonctions de gestion post-création d’un transfert, leur permettant d’ajuster, consulter ou annuler une opération, sous conditions. 2.1. Modifier un transfert (Update a Transfer) Cette fonction permet de modifier certains paramètres d’un transfert existant, à condition qu’il ne soit pas encore exécuté (statut PENDING). Paramètres disponibles : ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert à modifier.merchantTransferIdString❌ NonRéférence marchand mandataire.escrowDateDate ISO❌ NonNouvelle date d’exécution différée.transferGroupString❌ NonRegroupement de transferts.descriptionString❌ NonDescription libre (max 256 caractères).additionalDataKey/Value❌ NonDonnées complémentaires.metaDataJSON❌ NonMétadonnées structurées. La modification de la date d’escrow est notamment utile dans les flux conditionnés (ex : marketplace, délais de rétractation…). 2.2. Annuler un transfert (Cancel a Transfer) Un transfert peut être annulé tant qu’il n’a pas encore été exécuté (statut PENDING). Cette annulation est irréversible : l’opération apparaîtra comme CANCEL dans les historiques du compte. Paramètres : ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert à annuler. ⚠️ Une fois que les fonds sont disponibles (statut TRANSFERRED), cette fonction n’est plus accessible. Il faudra alors utiliser un TransferReversal. 2.3. Consulter un transfert (Retrieve a Transfer) Permet d’obtenir l’ensemble des détails d’un transfert via son identifiant CentralPay. ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert. 2.4. Rechercher plusieurs transferts (List Transfers) Permet de rechercher une liste de transferts selon plusieurs critères. Tous les paramètres sont optionnels. ParamètreTypeDescriptionmerchantTransferIdString (100)Référence marchand mandataire.destinationWalletIdUUIDCompte destinataire.transferGroupStringGroupe de transferts.statusEnumPENDING, TRANSFERRED, CANCEL.after / beforeDate ISOFiltrer par date de création.limitIntegerNombre de résultats par page.pageIntegerIndex de la page de résultats. 3. Retourner un transfert exécuté (Transfer Reversal) Une fois un transfert exécuté (statut TRANSFERRED), il ne peut plus être annulé via la fonction Cancel. Il est alors nécessaire de passer par une opération dédiée appelée TransferReversal. Elle ne supprime pas le transfert d’origine : celui-ci reste visible, historisé et traçable. Cette fonction est accessible uniquement aux marchands mandataires (Agent pour les comptes de paiement, DME pour les comptes de monnaie électronique), et doit respecter les règles de disponibilité des fonds. 3.1. Conditions d’utilisation Le transfert initial doit : Être dans le statut TRANSFERRED Avoir des fonds disponibles dans le compte destinataire Ne pas avoir déjà été remboursé dans sa totalité via des opérations de reversal Le montant retourné doit être : Inférieur ou égal au solde disponible du compte destinataire Inférieur ou égal à la somme initialement transférée Diminué des éventuels reversals déjà effectués sur le transfert concerné 3.2. Créer un TransferReversal Permet de retourner un montant vers le compte émetteur d’origine. ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert d’origine.amountInteger✅ OuiMontant à rembourser (en centimes).merchantTransferReversalIdString❌ NonRéférence marchand mandataire pour le suivi.refundFeeBoolean❌ NonIndique si les frais du transfert initial sont remboursés (par défaut : true).feeInteger❌ NonMontant des frais associés au reversal.descriptionString❌ NonTexte libre explicatif (max. 256 caractères).escrowDateDate ISO❌ NonDate d’exécution différée si applicable.additionalDataKey/Value❌ NonPaires clé/valeur pour les besoins métier. ⚠️ Si le champ refundFee est défini à false, le montant des frais initiaux reste acquis et n’est pas restitué au compte source. Règles importantes : L’opération est visible dans les mouvements du compte (débit du compte destinataire, crédit du compte d’origine) Plusieurs reversals peuvent être effectués sur un même transfert, dans la limite du montant total initial Si les fonds ne sont pas disponibles, l’appel est rejeté avec une erreur explicite (insuffisance de solde ou montant trop élevé) 4. Fonctions complémentaires (TransferReversal) Ces fonctions permettent de gérer et consulter les opérations de retour de transfert exécuté (TransferReversal), une fois créées. 4.1. Modifier un TransferReversal (Update) Permet de modifier certaines informations sur un TransferReversal déjà créé. ChampTypeObligatoireDescriptiontransferReversalIdUUID✅ OuiIdentifiant du TransferReversal à modifiermerchantTransferReversalIdString❌ NonRéférence marchand mandataire pour le suividescriptionString❌ NonTexte explicatif libre (256 caractères max)escrowDateDate (ISO)❌ NonNouvelle date différée d’exécution, si applicableadditionalDataKey/Value❌ NonPaires clé/valeur pour usage métier spécifique Cette fonction est accessible uniquement au niveau PARTNER ou supérieur. 4.2. Consulter un TransferReversal (Retrieve) Permet de consulter les détails d’un TransferReversal à partir de son identifiant. ChampTypeObligatoireDescriptiontransferReversalIdUUID✅ OuiIdentifiant du TransferReversal à consulter L’objet retourné contient l’intégralité des informations métier, y compris : montant, date, statut, compte concerné, et historique de l’opération. 4.3. Rechercher des TransferReversals (List) Permet d’interroger l’historique des TransferReversal selon plusieurs critères. ParamètreTypeObligatoireDescriptionmerchantTransferReversalIdString❌ NonRéférence marchand mandataireafterDate ISO❌ NonRetourne les éléments créés après cette datebeforeDate ISO❌ NonRetourne les éléments créés avant cette datelimitInteger❌ NonNombre d’éléments à retourner (par défaut : 10)pageInteger❌ NonIndex de la page à retourner (par défaut : 1) Cette fonction permet un suivi complet des opérations de reversal liées à une activité donnée, y compris les cas de multiples retours partiels.
Independent transfer 1. Create a Transfer The Create a Transfer function allows merchant agents (Agents or DME) to transfer funds between two accounts held by their participating merchants. This transfer can be initiated: By an agent when the accounts are payment accounts By an EMD when the accounts are electronic money accounts 1.1. Use cases For example, this mechanism allows for: An Agent to orchestrate debits and credits of funds between itself and its participating merchants, or to specified recipient accounts An EMD to conduct electronic money transfers between its participating merchants (for example, as part of a C2C marketplace) CentralPay remains responsible for the actual execution of transactions within the framework of its contractual relationship with participating merchants. 1.2. Required settings FieldTypeRequiredDescriptiondestinationWalletIdUUID✅ YesRecipient’s Centralpay account ID (belonging to a participating merchant).amountInteger (in cents)✅ YesTransfer amount. Must be strictly greater than 0. sourceIdUUID✅ Yes, if sourceType is specifiedFunds source identifier (e.g., transaction, transfer, credit, SDD).sourceTypeEnum✅ Yes, if » sourceId » is specifiedTransfer source: TRANSACTION, SCT_TRANSACTION, CREDIT, SDD. 1.3. Optional settings FieldTypeDescriptionemissionWalletIdUUIDIssuer’s account, if different from the principal account of the intermediary merchant.currencyISO CodeCurrency of the transfer (if different from the account currency).feeIntegerAmount of the commission charged by the Intermediary Merchant, deducted from the total. Default: 0. escrowDateISO DateThe date on which the transfer takes effect. Can be used to define a temporary hold period. merchantTransferIdThongIntermediary Merchant business reference (max 100 characters).transferGroupThongA group to combine multiple transfers.descriptionThongFree-form description (max 256 characters).additionalDataKey/ValueAdditional data in the form of key/value pairs (maximum of 256 characters per value).metaDataJSONAdditional structured metadata.purposeCode / purposeMessageEnum / StringPurpose of the transfer, according to a standard classification system. See the list of codes. 1.4. Validation Rules The destinationWalletId must correspond to a valid account of a Participant Merchant of the Intermediary The » sourceId » can only be used if the linked object has an accepted status (CAPTURE, CLEARED, etc.). The authorized amount depends on the available balance or the funds associated with the source (transaction, bank transfer, etc.) 2. Additional functions related to transfers Intermediary merchants have access to several post-transfer management features that allow them to adjust, view, or cancel a transaction, subject to certain conditions. 2.1. Update a Transfer This function allows you to modify certain settings of an existing transfer, provided that it has not yet been executed (status: PENDING). Available settings: FieldTypeRequiredDescriptiontransferIdUUID✅ YesID of the transfer to be modified.merchantTransferIdThong❌ NoIntermediary Merchant reference.escrowDateISO Date❌ NoNew execution date postponed.transferGroupThong❌ NoBatch processing of transfers.descriptionThong❌ NoFree-form description (max 256 characters).additionalDataKey/Value❌ NoAdditional information.metaDataJSON❌ NoStructured metadata. Changing the escrow date is particularly useful in conditional payment flows (e.g., marketplace transactions, withdrawal periods, etc.). 2.2. Cancel a Transfer A transfer can be canceled as long as it has not yet been processed (status: PENDING). This cancellation is irreversible: the transaction will appear as CANCEL in the account history. Settings: FieldTypeRequiredDescriptiontransferIdUUID✅ YesID of the transfer to be canceled. ⚠️ Once the funds are available (status: TRANSFERRED), this feature is no longer available. You will then need to use a TransferReversal. 2.3. View a Transfer (Retrieve a Transfer) Allows you to retrieve all the details of a transfer using its CentralPay ID. FieldTypeRequiredDescriptiontransferIdUUID✅ YesTransfer ID. 2.4. Search for Multiple Transfers (List Transfers) Allows you to search for a list of transfers based on various criteria. All parameters are optional. ParametersTypeDescriptionmerchantTransferIdThong (100)Intermediary Merchant reference.destinationWalletIdUUIDRecipient’s account.transferGroupThongTransfer group.statusEnumPENDING, TRANSFERRED, CANCEL.after / beforeISO DateFilter by creation date.limitIntegerNumber of results per page.pageIntegerResults Page Index. 3. Reverse a Completed Transfer (Transfer Reversal) Once a transfer has been executed (status: TRANSFERRED), it can no longer be canceled using the Cancel function. In this case, you must use a dedicated operation called » TransferReversal. » This operation does not delete the original transfer; it remains visible, recorded in the history, and traceable. This feature is available only to Intermediary Merchants (Payment Account Agents and EMDs for Electronic Money Accounts) and must comply with the rules regarding the availability of funds. 3.1. Terms of Use The initial transfer must: Have the status » TRANSFERRED« Have funds available in the recipient’s account Not having already been fully refunded through reversal transactions The amount refunded must be: Less than or equal to the available balance in the recipient’s account Less than or equal to the amount originally transferred Less any reversals already made on the transfer in question 3.2. Create a TransferReversal Allows you to return an amount to the original issuing account. FieldTypeRequiredDescriptiontransferIdUUID✅ YesOriginal transfer ID.amountInteger✅ YesAmount to be refunded (in centimes).merchantTransferReversalIdThong❌ NoIntermediary Merchant reference number for tracking.refundFeeBoolean❌ NoIndicates whether the initial transfer fees are refunded (default: true).feeInteger❌ NoAmount of fees associated with the reversal.descriptionThong❌ NoFree-form explanatory text (max. 256 characters).escrowDateISO Date❌ NoDeferred execution date, if applicable.additionalDataKey/Value❌ NoKey-value pairs for business requirements. ⚠️ If the » refundFee » field is set to false, the initial fee amount is retained and is not returned to the source account. Important Rules: The transaction appears in the account activity (debit to the recipient’s account, credit to the originating account) Multiple reversals can be made on a single transfer, up to the initial total amount If funds are not available, the request is rejected with an explicit error message (insufficient balance or amount too high). 4. Additional Functions (TransferReversal) These functions allow you to manage and view completed transfer return transactions (TransferReversal) once they have been created. 4.1. Edit a TransferReversal (Update) Allows you to edit certain information about an already created TransferReversal. FieldTypeRequiredDescriptiontransferReversalIdUUID✅ YesTransferReversal ID to be modifiedmerchantTransferReversalIdThong❌ NoIntermediary Merchant reference for trackingdescriptionThong❌ NoFree-form description (256 characters max)escrowDateDate (ISO)❌ NoNew deferred execution date, if applicableadditionalDataKey/Value❌ NoKey-value pairs for specific business purposes This feature is available only to users with PARTNER status or higher. 4.2. View a TransferReversal (Retrieve) Allows you to view the details of a TransferReversal using its ID. FieldTypeRequiredDescriptiontransferReversalIdUUID✅ YesTransferReversal ID to view The returned object contains all business information, including: amount, date, status, relevant account, and transaction history. 4.3. Search for Transfer Reversals (List) Allows you to search the history of » TransferReversal » based on various criteria. ParametersTypeRequiredDescriptionmerchantTransferReversalIdThong❌ NoIntermediary Merchant ReferenceafterISO Date❌ NoReturns the elements created after this datebeforeISO Date❌ NoReturns the elements created before that datelimitInteger❌ NoNumber of items to return (default: 10)pageInteger❌ NoIndex of the page to return (default: 1) This feature provides comprehensive tracking of reversal transactions related to a specific activity, including cases involving multiple partial returns.
Fractionné 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 Marchand : Accès : Recette Portail Marchand – Paramétrages Paiements Fractionnés Production Portail Marchand – Paramétrages Paiements Fractionnés 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 Installment payments allows you to split the payment of an invoice into several installments. CentralPay then charges the customer’s card according to a payment schedule defined during the first transaction. It can be used to offer your customer a payment plan or to automate a “down payment/balance” type of payment. Unlike subscriptions, a customer cannot cancel an installment payment from the customer portal. CentralPay helps you collect payments owed by your customers through a system of automated retries in the event of a failed direct debit. However, CentralPay does not guarantee the collection of these amounts through credit or a receivables financing system. ℹ️ The "Installment" is not the only way to process recurring transactions.Visit the Recurring card transactions page or the Direct debit transactions page for details by payment method. 1. Create an installment payment First, you must create a Customer that contains at least: A Card (if you wish to make card transactions) Or a Mandate (if you wish to make card transactions via SEPA direct debit) Next, the Installment service will allow you to easily set up an installment payment based on the information provided in your request. Then you can create an Installment: Depending on your preferred payment method: for card transactions : enter the customer profile ID « customerId » for transactions via SEPA direct debit: enter the SEPA direct debit mandate ID « mandateId » and enter the desired transaction date in « requestedCollectionDate » Enter the amount in centimes « amounts » Enter the currency in ISO “currency” format Enter your client’s IP address in “endUserIp” Enter the installment settings « iterationCount », « IntervalCount » and « intervalUnit » With this service, you can also: d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements to specify a deposit amount that will be deducted from the total amount (depositAmount). This deposit can also be set for a specific date (depositStartingDate) to set a start date for the installment plan (startingDate): for example, if you want the down payment to be paid immediately and the first installments to be debited starting on a certain date Please note that when a installment payment is created, your customer automatically receives an email containing the details of their payment schedule. This email also includes a link to our Customer Portal, where they can view the status of their recurring payments and update their credit card or SEPA direct debit information if necessary. 2. Example of installment payment You want to bill your customer €1,000, divided into 3 monthly payments starting on July 5, 2024, with a down payment of €200 on June 28, 2024, and add an additional fee of €10: amount =100000 depositAmount = 20000 feeAmount = 1000 currency = EUR intervalUnit = MONTH intervalCount = 1 iterationCount = 3 depositStartingDate = 2024-06-28 startingDate = 2024-07-05 The split plan will be as follows: June 28, 2024 = €200.00 (deposit) July 05, 2024 = €276,68 (first installment + rounding adjustments + additional fees) August 05, 2024 = €276,66 (second installment) September 05, 2024 = €276,66 (third installment) ℹ️ The rounding are applied to the first payment (excluding deposit). 3. Automating retries in case of failure If a payment fails to be debited, CentralPay will make additional debit attempts based on the settings defined in the Merchant Portal: Access: Recette Merchent Portal – Installment Payment Settings Production Merchent Portal – Installment Payment Settings Field behavior: Transaction time: the time at which the direct debit payments will be processed by CentralPay Selection of a value between 4 and 23 First payment failure: What to do in the event of a first failed direct debit Try again in 1, 3, 5, or 7 days = a new attempt to process the transaction on day+X after the initial transaction Stop = the system will not another attempt to process the payment Second payment failure: What to do in the event of a second failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a second attempt to process the payment Third payment failure: What to do in the event of a third failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a third attempt to process the payment. Fourth payment failure: What to do in the event of a fourth failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a fourth attempt to process the payment
Transaction initiée par le marchand (MIT – 3RI) Le flux 3RI (3DS Requestor Initiated) s’applique aux transactions initiées par le marchand (MIT — Merchant-Initiated Transaction) : le marchand déclenche le débit sans intervention du porteur, dans le cadre d’un mandat préexistant, sur la base d’une transaction CIT authentifiée antérieurement. Il couvre l’ensemble des cas MIT : facturations récurrentes, montants variables, modèles usage-based, frais ponctuels, débits différés (no-show, pénalités), pas seulement les abonnements à montant fixe. 👉 Si le porteur est présent et valide lui-même le paiement, utilisez le flux BRW. Pour le cadre contractuel, les exemptions d’authentification (SCA) et la durée de validité d’une CIT, consultez la page Bonnes pratiques — Merchant Initiated Transaction (MIT). 1. Prérequis : une transaction CIT déjà authentifiée Le porteur étant absent, le 3RI ne ré-authentifie personne : il réutilise la preuve d’authentification produite lors d’une transaction CIT (porteur présent) réalisée précédemment via le flux BRW. Lors de cette CIT, le serveur de la banque émettrice qui a authentifié le porteur — l’ACS (Access Control Server) — a généré un identifiant unique pour cette authentification : l’acsTransID. C’est ce acsTransID que vous rattacherez à chacune de vos MIT, pour prouver à la banque que la carte a bien été authentifiée une première fois avec le consentement du porteur. ⚠️ Conservez l'acsTransID de la CIT. Sans CIT authentifiée préalable — et donc sans acsTransID — une transaction 3RI ne peut pas aboutir. Si vous n'en avez pas, réalisez d'abord une CIT en BRW pour authentifier et tokeniser la carte. 2. Authentification (3RI) L’appel est adressé à l’URL 3ds2/authentication de l’API CentralPay, comme pour le flux BRW, mais avec deux différences clés : Le canal est différent. deviceChannel=03 indique une transaction initiée par le marchand (3RI), sans navigateur du porteur. Les paramètres browser* du flux BRW sont donc inutiles ici. On référence la CIT. L’acsTransID conservé à l’étape 1 est placé dans le champ threeDSReqPriorRef, qui désigne « l’authentification précédente à laquelle se rattache cette transaction ». Identification de la carte. Le porteur étant absent, on ne saisit pas de carte en séance : on référence la carte déjà stockée sur le client (Customer) en transmettant customerId + cardId. 💡 N'envoyez qu'une seule source de carte. Combiner deux sources (par ex. cardId + un token, ou un PAN + un token) déclenche l'erreur « There is no unique source of card » (voir la FAQ). Exemple (curl) : 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=01' \ --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=1' \ --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=375d90ad-3873-498b-9133-380cbbc8d99d' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeRIInd=01' 2.1. Explication des principaux paramètres ParamètreDescriptiondeviceChannel03 → 3DS Requestor Initiated (transaction initiée par le marchand, sans navigateur du porteur)messageCategory01 → PA (Payment Authentication) = Authentification rattachée à un paiement (ex. transaction récurrente)02 → NPA (Non-Payment Authentication) = authentification hors paiement (ex. enregistrement ou vérification d’une carte sans débit).threeDSReqPriorRefdoit contenir l’acsTransID de la transaction CIT (BRW) précédente (voir étape 1)purchaseAmountmontant de l’achat courantpurchaseCurrencymonnaie au format ISOpurchaseExponentunité mineure de la monnaie courantepurchaseDatedate de l’achatrecurringExpirydate après laquelle plus aucune autorisation ne pourra être effectuéerecurringFrequencynombre de jours minimum entre deux autorisationsacctTypetype de compte (03 = debit)chAccAgeIndancienneté du compte du titulaire auprès du demandeur 3DS : 01 → pas de compte02 → créé durant la transaction03 → moins de 30 jours04 → entre 30 et 60 jours05 → plus de 60 jourschAccChangedate de dernière modification du compte du titulaire (format YYYYMMDD)chAccDatedate d’ouverture du compte du titulaire (format YYYYMMDD)nbPurchaseAccountnombre d’achats effectués avec ce compte au cours des six derniers moispaymentAccAgedate d’inscription du compte de paiement sur le compte du titulairepaymentAccIndancienneté de l’inscription du compte de paiement :01 → pas de compte02 → créé durant la transaction03 → moins de 30 jours04 → entre 30 et 60 jours05 → plus de 60 joursthreeDSReqPriorAuthMethodMéthode d’authentification de la CIT initiale : 01 → si frictionless02 → si le porteur a relevé un challenge03 → AVS04 → autrethreeDSReqPriorAuthTimestampdate et heure (UTC) de l’authentification précédente (format YYYYMMDDHHMM)threeDSRequestorDecReqIndN → ne pas utiliser l’authentification découpléethreeDSRequestorAuthenticationInd02 → transaction récurrentethreeRIIndType de transaction 3RI :01 → transaction récurrente02 → transaction échelonnée03 → ajout de carte04 → maintenance05 → vérification de compte06 → expédition fractionnée/différée07 → rechargement08 → vente par correspondance09 → vente par téléphone10 → vérification statut whitelist11 → autre paiement Exemple de réponse : { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } Ici, threeDSServerTransID est l’identifiant de l’opération généré par CentralPay (à reporter dans la transaction), et eci (Electronic Commerce Indicator) indique le niveau d’authentification obtenu, qui conditionne le transfert de responsabilité en cas de fraude. 2.2. Statuts retournés (transStatus) et conduite à tenir L’objectif est d’obtenir une authentification sans friction (frictionless), c’est-à-dire un transStatus = Y. Tentez systématiquement le 3RI, puis agissez selon le transStatus retourné. ℹ️ Le support du 3RI dépend du scheme de la carte et de la version 3DS de la banque émettrice : il n'est jamais garanti à l'avance. D'où la conduite « best effort » ci-dessous — vous tentez le 3RI, et vous ne vous appuyez sur son résultat que s'il est positif. ✅ Authentification réussie — exploitez le résultat (transfert de responsabilité) Statut (transStatus)SignificationYAuthentification réussie.ATentative effectuée. Non authentifié / vérifié, mais une preuve de tentative est fournie. → Réalisez la transaction en transmettant les données 3DS issues du 3RI (voir étape 3). Le transfert de responsabilité vers l’émetteur s’applique. ⚠️ 3RI non abouti — réalisez la transaction sans authentification (« best effort ») Statut (transStatus)SignificationNNon authentifié / compte non vérifié.UAuthentification / vérification impossible (problème technique ou autre).IInformation seulement.C / DChallenge demandé (impossible en MIT car porteur absent — voir note ci-dessous). → Vous pouvez réaliser la transaction classique sans les données 3RI : le Customer (customerId + cardId) assure le chaînage automatique à la CIT initiale. Attention : dans ce cas, le transfert de responsabilité ne s’applique pas (risque de contestation accru) et le risque de refus de l’autorisation est plus élevé. ⚠️ Challenge en MIT (C / D). Un challenge suppose la présence du porteur, par définition absent en MIT. Deux cas : si le porteur peut revenir (ex. abonnement avec espace client), rejouez une CIT en BRW pour réauthentifier la carte ; sinon, traitez-le comme un 3RI non abouti et réalisez la transaction sans authentification (best effort). Voir Bonnes pratiques — MIT. ❌ Refus explicite — ne pas tenter la transaction Statut (transStatus)SignificationRAuthentification rejetée : l’émetteur demande de ne pas tenter l’autorisation. → N’effectuez pas la transaction, même sans 3RI. 3. Transaction Une fois l’authentification 3RI réussie (Y ou A), renseignez les données 3DS suivantes dans l’appel transaction : 3ds[threeDSServerTransID] = threeDSServerTransID généré par l’authentification 3RI (pas celui d’une transaction précédente) 3ds[status] = transStatus 3ds[eci] = eci (obligatoire si disponible) 3ds[xid] = paramètre custom, référence libre destinée aux marchands ⚠️ N'envoyez pas 3ds[cavv] en 3RI. Le cavv (Cardholder Authentication Verification Value, le cryptogramme qui prouve l'authentification) est propre au flux BRW ; il est absent de la réponse 3RI et ne doit pas être transmis ici. Exemple (curl) : 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' ℹ️ Cas « best effort » (3RI non abouti). Si le 3RI n'a pas abouti (transStatus autre que Y/A, et hors R), réalisez la même transaction sans l'objet 3ds[...] : le Customer (customerId + cardId) suffit à chaîner l'opération à la CIT initiale. Le transfert de responsabilité ne s'applique alors pas. À lire aussi : Bonnes pratiques — Merchant Initiated Transaction (MIT) pour le cadre contractuel, le mandat et les exemptions d’authentification (SCA).
Merchant-initiated transaction (MIT – 3RI) The 3RI (3DS Requestor Initiated) flow applies to merchant-initiated transactions (MIT): the merchant initiates the debit without the cardholder’s involvement, under a pre-existing authorization, based on a previously authenticated CIT transaction. It covers all MIT scenarios: recurring billing, variable amounts, usage-based templates, one-time fees, and deferred debits (no-shows, penalties), not just fixed-rate subscriptions. 👉 If the cardholder is present and authorizes the payment themselves, use the BRW flow. For information on the contractual framework, Strong Customer Authentication (SCA) exemptions, and the validity period of a CIT, see the Best Practices — Merchant Initiated Transaction (MIT) page. 1. Prerequisite: a CIT transaction that has already been authenticated Since the cardholder is absent, the 3RI does not re-authenticate anyone: it reuses the authentication proof generated during a previous CIT transaction (with the cardholder present) carried out via the BRW flow. During this CIT, the issuing bank’s server that authenticated the cardholder — the ACS (Access Control Server) — generated a unique identifier for this authentication: theacsTransID. This is the acsTransID that you will associate with each of your MITs to prove to the bank that the card was indeed authenticated for the first time with the cardholder’s consent. ⚠️ Keep the acsTransID from the CIT. Without a previously authenticated CIT — and therefore without acsTransID — a 3RI transaction cannot be completed. If you don't have one, first perform a CIT in BRW to authenticate and tokenize the card. 2. (3RI) Authentication The request is sent to the CentralPay API URL 3ds2/authentication, just like for the BRW flow, but with two key differences: The channel is different. deviceChannel=03 Indicates a transaction initiated by the merchant (3RI), without the cardholder using a browser. The browser* parameters in the BRW flow are therefore unnecessary here. The CIT is referenced. The acsTransID value retained in step 1 is placed in the threeDSReqPriorRef field, which refers to “the previous authentication associated with this transaction.” Card identification. Since the cardholder is not present, no card is scanned during the session: the card already stored for the customer (Customer) is referenced by transmitting customerId + cardId. 💡 Send only one card source. Combining two sources (e.g., cardId + a token, or a PAN + a token) triggers the error “There is no unique source of card” (see the FAQ). Sample (curl) : 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=01' \ --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=1' \ --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=375d90ad-3873-498b-9133-380cbbc8d99d' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeRIInd=01' 2.1. Explanation of the main parameters ParametersDescriptiondeviceChannel03 → 3DS Requestor Initiated (transaction initiated by the merchant, without the cardholder using a browser)messageCategory01 → PA (Payment Authentication) = Authentication associated with a payment (e.g., recurring transaction)02 → NPA (Non-Payment Authentication) = authentication that does not involve a payment (e.g., registration or card verification without a charge).threeDSReqPriorRefmust contain the acsTransID from the previous CIT (BRW) transaction (see step 1)purchaseAmountamount of the current purchasepurchaseCurrencycurrency in ISO formatpurchaseExponentminor unit of the current currencypurchaseDatedate of purchaserecurringExpirythe date after which no further authorizations may be issuedrecurringFrequencyminimum number of days between two authorizationsacctTypeaccount type (03 = debit)chAccAgeIndlength of time the account holder has had an account with the 3DS requester:01 → no account02 → created during the transaction03 → less than 30 days04 → between 30 and 60 days05 → more than 60 dayschAccChangedate of the last change to the account holder’s account (format YYYYMMDD)chAccDateaccount holder’s account opening date (format YYYYMMDD)nbPurchaseAccountnumber of purchases made with this account over the past six monthspaymentAccAgedate the payment account was credited to the account holder’s accountpaymentAccIndlenght of time the payment account has been registered:01 → no account02 → created during the transaction03 → less than 30 days04 → between 30 ans 60 days05 → more than 60 daysthreeDSReqPriorAuthMethodInitial CIT Authentication Method: 01 → if frictionless02 → if the cardholder has completed a challenge03 → AVS04 → otherthreeDSReqPriorAuthTimestampdate and time (UTC) of the previous authentication (format YYYYMMDDHHMM)threeDSRequestorDecReqIndN → do not use decoupled authenticationthreeDSRequestorAuthenticationInd02 → recurring transactionthreeRIIndType of 3RI transaction:01 → recurring transaction02 → installment transaction03 → add a card04 → maintenance05 → account verification06 → split/delayed shipment07 → recharging08 → mail-order sales09 → telephone sales10 check whitelist status11 → other payment Sample of response: { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } Here, threeDSServerTransID is the transaction ID generated by CentralPay (to be included in the transaction), and eci (Electronic Commerce Indicator) indicates the level of authentication achieved, which determines the transfer of liability in the event of fraud. 2.2. Returned statuses (transStatus) and recommended course of action The goal is to achieve frictionless authentication, that is, a transStatus = Y. Always try the 3RI first, then proceed according to the transStatus returned. ℹ️ Support for 3RI depends on the card's scheme and the issuing bank's 3DS version: it is never guaranteed in advance. Hence the “best effort” approach described below — you attempt 3RI, and you only rely on the result if it is positive. ✅ Authentication successful — use the results (transfer of responsibility) Status (transStatus)MeaningYAuthentication successful.AAttempt made. Not authenticated/verified, but a proof of the attempt is provided. → Complete the transaction by submitting the 3DS data from the 3RI (see Step 3). Liability shifts to the issuer. ⚠️ 3RI failed — complete the transaction without authentication (“best effort”) Status (transStatus)MeaningNNot authenticated/unverified account.UAuthentication/verification failed (technical issue or other problem).IFor informational purposes only.C / DChallenge requested (not possible in MIT because the cardholder is absent — see note below). → You can perform the standard transaction without the 3RI data: the Customer (customerId + cardId) ensures automatic linking to the initial CIT. Please note: In this case, the transfer of responsibility does not apply (increased risk of dispute), and the risk of authorization denial is higher. ⚠️ MIT Challenge (C / D). A challenge requires the cardholder to be present, which, by definition, is not the case with MIT. There are two scenarios: if the cardholder can return (e.g., subscription with a customer portal), reprocess a CIT in BRW to re-authenticate the card; otherwise, treat it as an unsuccessful 3RI and complete the transaction without authentication (best effort). See Best Practices — MIT. ❌ Explicit refusal — do not attempt the transaction Status (transStatus)MeaningRAuthentication declined: the sender requests that you do not attempt to obtain authorization. → Do not complete the transaction, even without a 3RI. 3. Transaction Once 3RI authentication is successful (Y or A), enter the following 3DS data in the transaction call: 3ds[threeDSServerTransID] = threeDSServerTransID generated by 3RI authentication (not the one from a previous transaction) 3ds[status] = transStatus 3ds[eci] = eci (required if available) 3ds[xid] = custom parameter, free-form reference for merchants ⚠️ Do not send 3ds[cavv] in3RI. The cavv (Cardholder Authentication Verification Value, the cryptogram that verifies authentication) is specific to the BRW stream; it is not included in the 3RI response and should not be transmitted here. Sample (curl) : 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' ℹ️ « best effort » case (3RI not completed). If the 3RI is not completed (transStatus other than Y/A, and excluding R), perform the same transaction without the subject 3ds[...] : the Customer (customerId + cardId) is sufficient to link the operation to the initial CIT. In that case, the transfer of liability does not apply. See also: Best Practices — Merchant-Initiated Transactions (MIT) for the contractual framework, mandate, and Strong Customer Authentication (SCA) exemptions.
Déclaration Agent PSP (ACPR) Rôle de l’ACPR L’ACPR (Autorité de Contrôle Prudentiel et de Résolution), adossée à la Banque de France, tient le registre des prestataires régulés et de leurs agents. Dans le cadre d’un modèle Agent PSP, CentralPay (établissement agréé) constitue et dépose la notification/dossier d’enregistrement de l’Agent et demeure l’unique interlocuteur de l’ACPR. Le futur Agent ne peut pas déposer de dossier directement auprès de l’ACPR : les échanges sont pilotés par CentralPay, avec le concours de l’Agent (transmission de pièces, réponses aux questions, éléments d’organisation). Étapes de déclaration d’un Agent ÉtapeDescription1. Cadrage & pré-qualificationAnalyse du modèle, du périmètre fonctionnel et des responsabilités ; validation juridique & conformité côté CentralPay2. Constitution du dossierCollecte des pièces société/dirigeants, éléments d’organisation (process, contrôles, sécurité), CGU Agent/Participants, prévisions d’activité3. Dépôt / échanges ACPRDépôt réalisé par CentralPay ; réponses aux demandes complémentaires pilotées par CentralPay avec l’aide de l’Agent4. Enregistrement & activationÀ l’issue de l’enregistrement sur le registre public, CentralPay peut activer l’Agent en production (avant cela, l’activité reste bloquée) 1. Responsabilités de l’Agent En tant qu’Agent PSP, l’Agent agit au nom et pour le compte de CentralPay dans le périmètre défini contractuellement. CentralPay reste pleinement responsable de la fourniture des services de paiement et de la conformité réglementaire ; toutefois, l’Agent doit appliquer strictement les procédures et exigences opérationnelles fixées par CentralPay, notamment en matière de LCB-FT et de lutte contre la fraude. L’Agent est notamment responsable de : La compréhension de l’activité de ses marchands/Participants et de la cohérence économique des opérations initiées via son modèle La mise en œuvre des dispositifs opérationnels attendus (process internes, contrôles, traçabilité, gestion des incidents) et du respect des consignes CentralPay La lutte contre la fraude (détection, escalade, coopération) et le respect des obligations de vigilance dans le périmètre confié La coopération avec CentralPay en cas de demande d’information (contrôles, audit, questions ACPR), et la transmission rapide des pièces demandées L’Agent doit signer : Un Contrat d’Agent PSP avec CentralPay (mandat / externalisation / supervision / flux) Le CCSP (Contrat Cadre de Services de Paiement) applicable à l’Agent en sa qualité de client professionnel de CentralPay (accès plateforme, services souscrits) Des CGU Agent (ou documentation équivalente) encadrant sa relation avec ses Participants, incluant les mentions nécessaires sur les parcours, la ventilation, les dates de déblocage et les éventuelles demandes de versements Selon le périmètre retenu (et les annexes applicables), certaines fonctions peuvent être déléguées à l’Agent (ex. collecte et contrôles formels KYC/KYB). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture/maintien des comptes et des décisions réglementaires. 2. Devenir Partenaire Agent CentralPay Le processus d’enregistrement d’un Agent dépend de la complétude du dossier, du niveau de délégation opérationnelle et des échanges avec l’ACPR. En pratique, il s’étale généralement sur plusieurs semaines et peut être prolongé si des pièces complémentaires sont demandées. 2.1. Résumé des étapes ÉtapeDétails1. Compréhension du modèle– Cadrage du périmètre et des responsabilités– Description des flux & cas d’usage– Validation par les équipes Juridique & Conformité de CentralPay2. Offre commerciale– Présentation par CentralPay– Alignement sur le périmètre (technique, opérationnel, conformité)3. Contractualisation– Signature du Contrat d’Agent– Signature/acceptation du CCSP applicable à l’Agent4. Test & intégration– Accès sandbox– Intégration technique & recette– Vérification des parcours (onboarding/consentement/affichages)5. Instruction ACPR– Collecte des éléments réglementaires– Constitution et dépôt du dossier auprès de l’ACPR par CentralPay– Gestion des questions / compléments6. Mise en production– Activation en production après enregistrement– Tests en environnement de recette / production encadrée 2.2. Pièces à fournir à CentralPay Phase 1 – Pré-constitution du dossier CGU Agent / documentation contractuelle Participants (parcours, consentements, information “agent”, ventilation/commission, dates de déblocage, modalités de remboursement) Définition des activités régulées, services associés, modèle d’affaires Organigramme (y compris répartition des effectifs par service) et description des rôles clés Structure de l’actionnariat / gouvernance Flux prévisionnels sur 3 ans confiés à CentralPay (volumes, montants, typologies) Nombre d’enrôlements prévisionnels sur 3 ans Cas de reprise de KYC existant (migration) le cas échéant Phase 2 – Déclaration auprès du régulateur Signature du Contrat d’Agent (préalable au dépôt du dossier) CentralPay collecte et dépose les pièces suivantes (liste indicative) : Kbis < 3 mois de la société et, le cas échéant, des sociétés de tête/dirigeantes Statuts à jour signés Pièces d’identité couleur des dirigeants CV des dirigeants datés et signés Casier judiciaire des dirigeants (si demandé) Déclarations de non-condamnation des dirigeants Répartition de la détention des parts / actionnariat Kbis des personnes morales actionnaires (si applicable) + organigramme de groupe (si applicable) PV d’AG récents (fusion, perte > 50% du capital, changement direction, etc.) Registre des bénéficiaires effectifs (si demandé) Peuvent également être demandés par l’ACPR : Bilans et comptes de résultat récents États financiers en cours ou de l’année précédente Toute pièce jugée utile par le régulateur 2.3. Délais d’instruction Instruction par CentralPay : généralement ~2 semaines à compter de la réception d’un dossier complet Délai ACPR : variable ; peut aller jusqu’à ~2 mois, avec premières questions sous 30 jours en général 2.4. Fin d’instruction L’Agent peut démarrer l’activité uniquement après enregistrement effectif (publication sur le registre public) Avant enregistrement, CentralPay n’active pas l’Agent en production et peut maintenir les comptes de l’Agent bloqués (IN/OUT) L’Agent est référencé dans les registres publics avec un numéro/identifiant d’enregistrement pouvant devoir figurer dans certaines communications/mentions 2.5. Particularité – Agents Télécom SVA (numéros surtaxés) Obligation de fournir un récapitulatif des minutes par opérateur Transmission du détail de répartition des encaissements (ventilation) à CentralPay CentralPay met en place des contrôles complémentaires afin de s’assurer que les marchands/Participants sont correctement crédités 3. Traitement des flux agent Cette section définit les règles applicables au traitement et au contrôle des flux financiers dans un modèle Agent. Elle précise les responsabilités, la structure des comptes et les contrôles complémentaires mis en œuvre afin de répondre aux exigences légales et prudentielles. 3.1. Responsabilité de l’établissement Conformément au Code monétaire et financier (CMF), l’Agent agit au nom et pour le compte de CentralPay. CentralPay demeure pleinement responsable du respect des obligations réglementaires, notamment en matière de LCB-FT, de sécurité et de protection des fonds. CentralPay met en place un dispositif de contrôle interne couvrant l’ensemble du cycle des flux, y compris ceux traités dans le cadre de ses Agents (supervision, auditabilité, traçabilité). 3.2. Comptes opérationnels des agents Pour les besoins de ségrégation des flux, CentralPay met à disposition (dans ses livres) : Compte de Collecte : compte de transit destiné à recevoir les fonds liés aux opérations initiées via le modèle Agent, et à permettre leur affectation/ventilation vers les comptes des Participants Compte de Commission : destiné à recevoir la rémunération revenant à l’Agent (commissions) et à régler les frais dus à CentralPay Compte de paiement Agent (optionnel) : destiné aux opérations courantes de l’Agent pour son compte propre (approvisionnement, paiement de factures SaaS, etc.), distinct des flux tiers et des commissions 3.3. Traitement des opérations Lorsqu’un Agent initie une transaction pour le compte d’un ou plusieurs Participants : L’Agent transmet à CentralPay les informations nécessaires à la ventilation (part des Participants, commission Agent, références), soit directement dans la transaction, soit au plus tard en fin de journée via un traitement par lot lorsque cela est objectivement nécessaire. CentralPay exécute ensuite, sous sa responsabilité, les opérations d’affectation/ventilation et, le cas échéant, les mouvements nécessaires (dont la commission vers le compte de commission), conformément au cadre contractuel et aux contrôles réglementaires. Le Compte de Collecte doit rester un compte de transit : l’Agent ne doit pas conserver passivement des fonds de tiers au-delà des délais strictement nécessaires au traitement (pas de “trésorerie flottante”). Les modalités de versement sortant (Payout) sont encadrées par CentralPay ; le Compte de Collecte n’a pas vocation à servir de compte de versement sortant “libre”. 3.4. Dates de déblocage et montants prévisionnels Fonctionnement Selon le modèle contractuel, l’Agent peut transmettre ou paramétrer (en qualité d’intermédiaire mandaté par le Participant) une date de déblocage (endpoint API : EscrowDate) correspondant à un évènement contractuel objectivable (ex. livraison/expédition/fin de prestation). Cette date ne produit aucun effet financier automatique : CentralPay demeure seule décisionnaire de la mise à disposition des fonds (acceptation, refus, report, encadrement). Jusqu’à la date de déblocage : Les fonds restent protégés et indisponibles (ni accessibles à l’Agent, ni utilisables par le Participant) Le Participant peut visualiser l’opération sous forme d’opération à venir ou de montant prévisionnel, avec affichage de la date de disponibilité, sans constituer un crédit au solde disponible Conditions de conformité L’usage des dates de déblocage est autorisé uniquement si : Information claire : l’Agent doit expliquer à ses Participants comment fonctionne la date de déblocage (principes, délais, exceptions). Affichage transparent : l’interface Participant doit indiquer la date de l’opération, la date de disponibilité prévue et un statut “indisponible avant cette date”. Mentions dans les CGU Agent : les CGU signées par les Participants doivent préciser : Que la date de déblocage correspond à la date contractuelle à laquelle les fonds deviennent utilisables. Qu’il est impossible pour le Participant d’utiliser ces fonds avant cette date. Que CentralPay peut refuser, différer, suspendre ou encadrer la mise à disposition au regard de ses obligations réglementaires, de sa politique de risque et des règles des réseaux de paiement. Gestion des exceptions : en cas d’annulation, de remboursement, d’impayé ou de litige : Si la transaction source est annulée/remboursée, les fonds ne seront pas mis à disposition. En cas d’impayé (ex. chargeback carte) ou de risque, CentralPay peut retenir/ajuster les montants en attente ou compenser lors de règlements ultérieurs. La date de déblocage peut être reportée (litige/incident) ; le Participant doit être informé via son interface/notifications. Ce mécanisme ne constitue ni un séquestre au sens du droit civil, ni un service de conservation fiduciaire : il s’agit d’une mise à disposition différée sous contrôle exclusif de CentralPay. 3.5. Gestion des versements sortants Fonctionnement CentralPay peut mettre à disposition des Participants (et, selon les habilitations, à l’Agent agissant comme intermédiaire mandaté) différents modes de gestion des versements sortants : Versements sortants automatisés (paramétrage de règles/plannings, lorsque prévu contractuellement) Versements sortants ponctuels (demande via portail/API selon les droits accordés) Conditions de conformité Lorsque l’Agent est autorisé à transmettre des demandes de versement sortant pour le compte de ses Participants, il doit recueillir leur consentement et décrire clairement le mode de fonctionnement dans les CGU Agent. CentralPay demeure seule responsable de l’exécution et peut refuser, suspendre ou encadrer ces demandes conformément à ses obligations. À retenirLe dispositif présenté garantit :- La séparation stricte des flux tiers / commissions / compte propre- L’absence de droit de disposition de l’Agent sur les fonds de tiers- La traçabilité complète des opérations (auditabilité)- La supervision active par CentralPay- La conformité aux exigences du CMF et aux attentes de supervision Le respect de ce dispositif est obligatoire. Toute anomalie (fraude, incident, incohérence de ventilation, non-respect des procédures) doit être signalée immédiatement à votre Account Manager CentralPay.
PSP Agent Declaration (ACPR) Role of the ACPR The ACPR (Prudential Supervision and Resolution Authority), which operates under the auspices of the Banque de France, maintains a registry of regulated service providers and their agents. Under the PSP Agent model, CentralPay (an authorized institution) prepares and files the Agent’s notification/registration application and serves as the sole point of contact for the ACPR. Prospective agents cannot submit applications directly to the ACPR: all communications are managed by CentralPay, with the agent’s assistance (submitting documents, answering questions, and providing organizational details). Steps for Registering an Agent StepDescription1. Scope Definition & Pre-qualificationAnalysis of the model, functional scope, and responsibilities; legal validation and compliance on the CentralPay side2. Compiling the FileCollection of company and executive documents, organizational information (processes, controls, security), Terms of Use for Agents and Participants, and business forecasts3. Deposits / ACPR ExchangesDeposit processed by CentralPay; responses to additional requests managed by CentralPay with the assistance of the Agent4. Registration & ActivationOnce the entry has been made in the public registry, CentralPay can activate the Agent in production (until then, the activity remains suspended) 1. Responsibilities of the Agent Asa PSP Agent, the Agent acts in the name and on behalf of CentralPay within the scope defined in the contract. CentralPay remains fully responsible for the provision of payment services and regulatory compliance; however, the Agent must strictly adhere to the operational procedures and requirements established by CentralPay, particularly with regard to AML/CFT and fraud prevention. The Agent is responsible, in particular, for: An understanding of the activities of its merchants/participants and the economic soundness of the transactions initiated through its model Implementation of the expected operational procedures (internal processes, controls, traceability, incident management) and compliance with CentralPay guidelines Fraud prevention (detection, escalation, cooperation) and compliance with due diligence obligations within the assigned scope Cooperation with CentralPay in response to requests for information (inspections, audits, ACPR inquiries), and the prompt submission of requested documents The agent must sign: A PSP Agent Agreement with CentralPay (mandate / outsourcing / supervision / payment flows) The CCSP (Payment Services Framework Agreement) applicable to the Agent in its capacity as a business customer of CentralPay (platform access, subscribed services) Agent Terms of Service (or equivalent documentation) governing the Agent’s relationship with its Participants, including the necessary details regarding payment plans, allocation, Release dates, and any requests for Payouts Depending on the scope of authority (and the applicable appendices), certain functions may be delegated to the Agent (e.g., KYC/KYB data collection and formal checks). CentralPay retains sole decision-making authority regarding onboarding, the opening and maintenance of accounts, and regulatory decisions. 2. Become a CentralPay Partner The process for registering an Agent depends on the completeness of the application, the level of operational delegation, and communication with the ACPR. In practice, it generally takes several weeks and may be extended if additional documents are requested. 2.1. Summary of the Steps StepDetails1. Understanding the Model– Defining the scope and responsibilities– Description of workflows and use cases– Approval by CentralPay’s Legal and Compliance teams2. Commercial Offer– Presentation by CentralPay– Alignment with the scope (technical, operational, compliance)3. Formalization in a Contract– Signing of the Agent Agreement– Signing/acceptance of the CCSP applicable to the Agent4. Testing & Integration– Sandbox access– Technical integration & acceptance testing– Verification of user flows (onboarding/consent/disclosures)5. ACPR Directive– Collection of regulatory documents– Preparation and submission of the application to the ACPR by CentralPay– Handling of questions and requests for additional information6. Deployment– Deployment to production after registration– Testing in the Sandbox / supervised production 2.2. Documents to Submit to CentralPay Phase 1 – Preliminary Compilation of the Case File Agent Terms of Service / Contractual Documentation for Participants (program details, consents, “agent” information, breakdown/commission, Release dates, refund terms) Definition of Regulated Activities, Related Services, and Business Model Organizational Chart (including a breakdown of staff by department) and descriptions of key roles Shareholder Structure / Corporate Governance 3-Year Forecast Transactions Entrusted to CentralPay (volumes, amounts, types) Projected number of enrollments over 3 years Scenario involving the reuse of existing KYC data (migration), if applicable Phase 2 – Filing with the regulator Signing of the Agent Agreement (prior to submitting the application) CentralPay collects and deposits the following items (indicative list): A Commercial register extract less than 3 months old for the company and, if applicable, for its parent or controlling companies Signed, up-to-date Articles of association Color copies of executives’ identity documents Resumes of executives, dated and signed Criminal Records of Executives (if requested) Declarations of No Criminal Convictions by Executives Breakdown of Share Ownership / Shareholder Structure Commercial register for shareholder corporations (if applicable) + group organizational chart (if applicable) Recent General Meeting Minutes (merger, loss of more than 50% of the capital, change in management, etc.) Register of Beneficial Owners (if requested) The ACPR may also request the following: Recent Balance Sheets and Income Statements Current or prior year financial statements Any document deemed useful by the regulator 2.3. Processing Times Processing time by CentralPay: typically ~2 weeks from receipt of a complete application ACPR processing time: varies; can take up to ~2 months, with initial questions typically received within 30 days 2.4. End of Investigation The Agent may begin the activity only after it has been effectively registered (published in the public registry) Prior to registration, CentralPay does not activate the Agent in production and may keep the Agent’s accounts blocked (IN/OUT) The Agent is listed in public records with a registration number or identifier that may need to be included in certain communications or disclosures. 2.5. Special Feature – Telecom Agents for Value-Added Services (premium-rate numbers) Requirement to Provide a Summary of the Minutes by Operator Submission of detailed breakdown of receipts (breakdown) to CentralPay CentralPay implements additional controls to ensure that Merchants/Participants are properly credited 3. Processing Agent Workflows This section defines the rules governing the processing and control of financial flows in an Agent model. It specifies the responsibilities, the account structure, and the additional controls implemented to meet legal and prudential requirements. 3.1. Responsibility of the Institution In accordance with the Monetary and Financial Code (CMF), the Agent acts in the name and on behalf of CentralPay. CentralPay remains fully responsible for compliance with regulatory obligations, particularly with regard to anti-money laundering and counter-terrorism financing (AML/CTF), security, and the protection of funds. CentralPay has implemented an internal control system that covers the entire transaction cycle, including transactions processed through its agents (supervision, auditability, traceability). 3.2. Employee Operating Accounts To facilitate the segregation of funds, CentralPay provides (in its records): Collection Account: a transit account used to receive funds related to transactions initiated through the Agent model, and to facilitate their allocation or distribution to Participants’ accounts Commission Account: intended to receive the Agent’s compensation (commissions) and to pay fees owed to CentralPay Agent Payment Account (optional): intended for the Agent’s day-to-day transactions on its own account (funding, payment of SaaS invoices, etc.), separate from third-party transactions and commissions 3.3. Processing Transactions When an Agent initiates a transaction on behalf of one or more Participants: The Agent provides CentralPay with the information needed for allocation (Participants’ shares, Agent’s commission, reference numbers), either directly as part of the transaction or, at the latest, by the end of the day via batch processing when objectively necessary. CentralPay then carries out, under its own responsibility, the allocation and breakdown processes and, where applicable, the necessary transactions (including the transfer of commissions to the Commission Account), in accordance with the contractual framework and regulatory controls. The Collection Account must remain a transit account: the Agent must not passively hold third-party funds beyond the time strictly necessary for processing (no “floating cash”). Payout procedures (Payout) are managed by CentralPay; the Collection Account is not intended to serve as a “general-purpose” payout account. 3.4. Release dates and estimated amounts How It Works Depending on the contract model, the Agent may submit or configure (as an intermediary authorized by the Participant) a release date (API endpoint: EscrowDate) corresponding to a verifiable contractual event (e.g., delivery, shipment, or completion of services). This date does not trigger any automatic financial consequences: CentralPay retains sole discretion over the release of funds (approval, Refusal, postponement, or other measures). Until the release date: The funds remain protected and unavailable (neither accessible to the Agent nor usable by the Participant) The Participant can view the transaction asan upcoming transaction or a projected amount, with the availability date displayed, without it being credited to the Available balance Compliance Requirements The use of release dates is permitted only if: Clear information: The Agent must explain to its Participants how the Release date works (principles, timeframes, exceptions). Transparent display: The Participant interface must show the transaction date, the expected availability date, and a status of “unavailable before this date.” Provisions in the Agent Terms of Use: The Terms of Use signed by the Participants must specify: The release date corresponds to the contractual date on which the funds become available. That the Participant may not use these funds before that date. CentralPay may refuse, delay, suspend, or restrict the provision of services in accordance with its regulatory obligations, risk policy, and payment network rules. Exception Handling: In the event of a cancellation, refund, unpaid balance, or dispute: If the source transaction is reversed or subject to a refund, the funds will not be made available. In the event of an unpaid transaction (e.g., a credit card chargeback) or a risk, CentralPay may withhold or adjust pending amounts or offset them against future payments. The release date may be postponed (due to a Dispute or incident); the Participant must be notified via their interface or notifications. This mechanism is neither an escrow arrangement under civil law nor a fiduciary custody service: it is a deferred release of funds under the exclusive control of CentralPay. 3.5. Outgoing Payout Management How It Works CentralPay can provide Participants (and, depending on their authorizations, the Agent acting as an authorized intermediary) with various methods for managing Payouts: Automated Payouts (setting up rules/schedules, when provided for in the contract) One-time Payouts (request via portal/API depending on granted permissions) Compliance Requirements When the Agent is authorized to submit payout requests on behalf of its Participants, it must obtain their consent and clearly describe the process in the Agent Terms of Service. CentralPay remains solely responsible for the execution of such requests and may face refusals, suspend them, or regulate them in accordance with its obligations. Key pointsThe system described guarantees:- Strict separation of third-party funds, commissions, and Own accounts- The Agent has no right to dispose of third-party funds- Complete traceability of transactions (auditability)- Active oversight by CentralPay- Compliance with CMF requirements and supervisory expectations Compliance with this policy is mandatory. Any irregularities (fraud, incidents, inconsistencies in allocation, or failure to follow procedures) must be reported immediately to your CentralPay Account Manager.
Demande d'enrôlement 1. Méthodes de création d’une demande d’enrôlement 1.1. Depuis le portail Marchand CentralPay Un utilisateur connecté au portail CentralPay peut initier une demande d’enrôlement depuis le menu : Plateforme > Enrôlements > Créer Recette Portail Marchand – Onboarding Production Portail Marchand – Onboarding Il peut alors renseigner manuellement les champs décrits plus bas (dans le détail de l’appel API). Une fois la demande enregistrée, un lien de redirection vers le portail d’onboarding est généré automatiquement et peut être : Envoyé automatiquement par e-mail via le Mailer CentralPay (sélectionner OUI dans le champ « Envoyer des emails à l’adresse ci-dessus ») Ou copié manuellement pour un envoi par un autre canal (chat, SMS, etc.) 1.2. Depuis l’API : POST /merchant-enrollments L’enrôlement peut aussi être initié automatiquement via l’API, en appelant : POST /merchant-enrollments L’appel permet de générer un identifiant d’enrôlement (UUID) et d’initier un parcours d’onboarding complet, qui pourra être poursuivi : Soit via le portail Marchand Soit entièrement via les endpoints API (voir partie « Compléter un enrôlement par API ») Si aucun lien direct (enrollment_url) n’est retourné par l'API, par défaut, la plateforme CentralPay envoie un e-mail à l'adresse définie dans profile[email][value].Pour désactiver cet envoi : "sendClaimEmail": falseSi vous désactivez l'envoi, vous pouvez transmettre manuellement l'URL d’accès à l'interface onboarding en reconstituant :- En RCT : https://test-onboarding.centralpay.net/token/profile/[UUID]- En PROD : https://onboarding.centralpay.net/token/profile/[UUID]Note : [UUID] est l’identifiant retourné dans la réponse à POST /merchant-enrollments. 2. Créer une demande d’enrôlement depuis l’API (Merchant Enrollment) 🇫🇷 Enrôlement simplifié via SIREN (France uniquement)CentralPay permet de pré-remplir automatiquement certaines informations pour les sociétés françaises disposant d’un numéro SIREN :1. Appeler l'endpoint : POST /api/legal-entity/siren2. Fournir le champ : { "siren": "123456789" }3. Si les informations sont valides, un UUID est retourné. Il doit être utilisé comme identityBadge dans la création d’enrôlement pour déclencher le parcours simplifié. 2.1. Champs requis ChampTypeObligatoireDescriptionprofile[firstname][value]string (255)✅ OuiPrénom du titulaire. Validation : caractères alphabétiques et tirets (-). Depuis la version 1.15.0profile[lastname][value]string (255)✅ OuiNom du titulaire. Validation : caractères alphabétiques et tirets (-). Depuis la version 1.15.0profile[email][value]string (255)✅ OuiAdresse email de contact. Depuis la version 1.15.0profile[phone][value]string✅ OuiNuméro de téléphone international. Depuis la version 1.15.0languagestring✅ OuiLangue préférée du marchand. Note : utilisez GET /api/locale pour les valeurs disponibles.accountTypeenum✅ OuiType de profil marchand à créer. Note : utilisez GET /api/merchant-enrollment/account-type.activitySectorUUID (36)✅ OuiSecteur d’activité du marchand. Note : utilisez GET /api/nauth/enrollment-claim/activity-sector.activityAgeUUID (36)✅ Oui, si type = LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSAncienneté de l’activité. Note : utilisez GET /api/nauth/enrollment-claim/activity-age.feeScheduleUUID (36)✅ OuiGrille tarifaire à appliquer. Note : obtenez les identifiants via POST /api/merchant-enrollment/fee-schedule.identityBadgeUUID✅ Oui, si enrôlement via SIRENIdentifiant SIREN (activant le parcours simplifié).contractUUID✅ Oui, si accountType = STANDARDContrat à appliquer. Note : utilisez GET /api/merchant-enrollment/contract. 2.2. Champs avancés (optionnels) Personnalisation du parcours ChampValeur par défautDescriptionworkflowModeSEQUENTIALMode de déroulement du parcours (seul le mode SEQUENTIAL est désormais disponible).Note : valeurs valides : SEQUENTIALtype—Type juridique : INDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITY.Note : conditionne la structure du parcours.subType—Sous-type recommandé selon type.Note :Pour INDIVIDUAL_WITH_STATUS : SOLE_TRADER, MERCHANT, ARTISANPour LEGAL_ENTITY : ASSOCIATION, PUBLIC, COMMERCIAL, EIG, CIVILturnoverIsFixedfalseSi true, verrouille la déclaration de chiffre d’affaires.Note : facultatif Paramètres de communication ChampValeur par défautDescriptionsendClaimEmailtrueEnvoie l’e-mail d’enrôlement avec le lien portail.allowedEmailCommunicationtrueSi false, désactive tous les envois d’e-mails pendant le parcours d’onboarding.sendProfileCreationEmailfalseEnvoie un email à l’utilisateur une fois le profil complété.sendAccountCreationEmailtrueEnvoie un email une fois le profil Marchand CentralPay activé. Données personnelles Tous les champs ci-dessous sont facultatifs mais permettent de pré-renseigner la constitution du profil utilisateur du futur titulaire du compte. ChampTypeDescriptionprofile[nationality][country]string (3)Nationalité (format ISO 3166-1 alpha-3).profile[birthday][value]dateDate de naissance.Validation : ≥ 18 ans, ≤ 110 ansprofile[place_of_birth][value]stringLieu de naissance.profile[country_of_birth][country]string (3)Pays de naissance (ISO 3166-1 alpha-3).birthdayConfirmation[value]dateRequis uniquement si le marchand est affilié à un agent.Format : YYYY-MM-DD Adresse (optionnelle) Ces champs peuvent être fournis pour pré-remplir l’adresse du titulaire. ChampTypeDescriptionprofile[address][nameLine1]string(255)Ligne 1 de l’adresse.Contraintes : ^[a-zA-Z0-9\\p{L} ´'\\-]{1,255}$profile[address][locality]string(255)Ville.profile[address][postalCode]string(20)Code postal.profile[address][country]string(3)Pays (ISO 3166-1 alpha-3). Autres options ChampTypeDescriptioncontractUUID (36)Contrat à appliquer.Obligatoire si accountType = STANDARD.Note : GET /api/merchant-enrollment/contractcguUUID (36)CGU à appliquer.Note : POST /api/merchant-enrollment/cguDepuis version 1.18.0customReferencestring (100)Référence personnalisée (usage interne).payoutProfileUUID (36)Profil de versement à associer.Note : POST /api/merchant-enrollment/payout-profileadministrativeContactstring (255)Contact administratif référent.Depuis version 1.18.0technicalContactstring (255)Contact technique.Depuis version 1.18.0financialContactstring (255)Contact financier.Depuis version 1.18.0addSecurityReferenceboolAffiche une référence de sécurité lors de la validation du contrat.Uniquement valable pour : STANDARD, PARTNER, RESELLER.Défaut : falsehookUUIDIdentifiant de webhook à notifier.Note : voir onglet Full API reference pour obtenir les valeurs possibles.
Enrollment request 1. Methods for creating an enrollment request 1.1. From the CentralPay Merchant Portal A user logged into the CentralPay portal can initiate an enrollment request from the menu: Plateform > Enrollments > Create Recette Merchent Portal – Onboarding Production Merchent Portal – Onboarding They can then manually fill in the fields described below (in the API call details). Once the request is saved, a redirect link to the onboarding portal is automatically generated and can be: Sent automatically via email through the CentralPay Mailer (select “YES” in the “Send emails to the address above” field) Or copied manually to be sent via another channel (chat, text message, etc.) 1.2. From the API: POST /merchant-enrollments Enrollment can also be initiated automatically via the API by calling: POST /merchant-enrollments This call generates an enrollment ID (UUID) and initiates a complete onboarding process, which can be continued: Either via the Merchant Portal Either entirely via API endpoints (see the “Complete an Enrollment via API” section) If no direct link (enrollment_url) is returned by the API, by default, the CentralPay platform sends an email to the address specified in profile[email][value].To disable this email: "sendClaimEmail": falseIf you disable this email, you can manually provide the URL to access the onboarding interface by constructing it as follows:- In Sandbox: https://test-onboarding.centralpay.net/token/profile/[UUID]- En LIVE: https://onboarding.centralpay.net/token/profile/[UUID]Note: [UUID] is the identifier returned in the response to POST /merchant-enrollments. 2. Create an enrollment request via the API (Merchant Enrollment) 🇫🇷 Simplified enrollment via SIREN (France only)CentralPay automatically pre-fills certain information for French companies with a SIREN number:1. Call the endpoint: POST /api/legal-entity/siren2. Provide the following: { "siren": "123456789" }3. If the information is valid, a UUID is returned. It must be used as identityBadge in the registration creation process to trigger the simplified workflow. 2.1. Required fields FieldTypeRequiredDescriptionprofile[firstname][value]string (255)✅ YesAccount holder’s first name. Validation: alphabetic characters and hyphens (-). Since version 1.15.0 profile[lastname][value]string (255)✅ YesAccount holder’s last name. Validation: alphabetic characters and hyphens (-). Since version 1.15.0 profile[email][value]string (255)✅ YesContact email address. Since version 1.15.0profile[phone][value]string✅ YesInternational phone number. Since version 1.15.0languagestring✅ YesMerchant’s preferred language. Note: Use GET /api/locale for the available values.accountTypeenum✅ YesType of merchant profile to create. Note: Use GET /api/merchant-enrollment/account-type.activitySectorUUID (36)✅ YesMerchant’s industry sector. Note: Use GET /api/nauth/enrollment-claim/activity-sector.activityAgeUUID (36)✅ Yes, if type = LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSLength of time in business. Note: Use GET /api/nauth/enrollment-claim/activity-age.feeScheduleUUID (36)✅ YesPricing schedule to be applied. Note: Obtain the login credentials via POST /api/merchant-enrollment/fee-schedule.identityBadgeUUID✅ Yes, if enrolled via SIRENSIREN ID (which activates the simplified process).contractUUID✅ Yes, if accountType = STANDARDContract to be applied. Note: Use GET /api/merchant-enrollment/contract. 2.2. Advanced fields (optional) Customizing the experience FieldDefault valueDescriptionworkflowModeSEQUENTIALCourse mode (only mode SEQUENTIAL is now available).Note: Valid values: SEQUENTIALtype—Legal type: INDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITY.Note: Determines the structure of the process.subType—Recommended subtype according to type.Note:For INDIVIDUAL_WITH_STATUS : SOLE_TRADER, MERCHANT, ARTISANFor LEGAL_ENTITY : ASSOCIATION, PUBLIC, COMMERCIAL, EIG, CIVILturnoverIsFixedfalseIf true, locks the revenue report.Note: optional Communication settings FieldDefault valueDescriptionsendClaimEmailtrueSend the registration email with the portal link.allowedEmailCommunicationtrueIf false, disable all email sends during the onboarding process.sendProfileCreationEmailfalseSend an email to the user once the profile is completed.sendAccountCreationEmailtrueSend an email once the CentralPay Merchant profile has been activated. Personal data All of the fields below are optional, but they allow you to pre-fill the user profile for the future account holder. FieldTypeDescriptionprofile[nationality][country]string (3)Nationality (ISO 3166-1 alpha-3 format).profile[birthday][value]dateDate of birth.Validation: ≥ 18 years old, ≤ 110 years oldprofile[place_of_birth][value]stringBirthplace.profile[country_of_birth][country]string (3)Country of birth (ISO 3166-1 alpha-3).birthdayConfirmation[value]dateRequired only if the merchant is affiliated with an agent.Format: YYYY-MM-DD Address (optional) These fields can be filled in to pre-fill the account owner’s address. FieldTypeDescriptionprofile[address][nameLine1]string(255)Line 1 of the address.Constraints: ^[a-zA-Z0-9\\p{L} ´'\\-]{1,255}$profile[address][locality]string(255)City.profile[address][postalCode]string(20)Postal code.profile[address][country]string(3)Country (ISO 3166-1 alpha-3). Other options FieldTypeDescriptioncontractUUID (36)Contract to be applied.Required if accountType = STANDARD.Note: GET /api/merchant-enrollment/contractcguUUID (36)Terms of Service apply.Note: POST /api/merchant-enrollment/cguSince version 1.18.0customReferencestring (100)Custom reference (for internal use).payoutProfileUUID (36)Payment profile to be linked.Note: POST /api/merchant-enrollment/payout-profileadministrativeContactstring (255)Primary administrative reference.Since version 1.18.0technicalContactstring (255)Technical contact.Since version 1.18.0financialContactstring (255)Financial contact.Since version 1.18.0addSecurityReferenceboolDisplays a security reference when the contract is approved.Valid only for: STANDARD, PARTNER, RESELLER.Default: falsehookUUIDWebhook ID to be notified.Note: See the “Full API Reference” tab for possible values.
PrestaShop CentralPay propose un module d’encaissement par carte bancaire pour les boutiques Prestashop. Deux versions du module sont disponibles selon la version de votre CMS : Pour Prestashop 1.6 ➝ Télécharger le module 1.6 Pour Prestashop 1.7 ➝ Télécharger le module 1.7 1. Installation du module Prestashop v1.6 Connectez-vous au back-office Prestashop Menu Modules > Modules Cliquez sur « Ajouter un nouveau module » Chargez l’archive .zip puis cliquez sur « Installer » Prestashop v1.7 Connectez-vous à l’administration de Prestashop Menu Modules > Modules Manager > Upload a module Déposez l’archive .zip ou cliquez pour la charger Terminez l’installation en suivant l’assistant 2. Configuration du module Après installation, accédez à la page de configuration du module : Modules Modules installés CentralPay Configurer Les champs suivants sont requis : ChampDescriptionOù trouver cette information ?Merchant Public KeyClé publique d’authentification APIPortail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »Login APIIdentifiant de votre utilisateur API CentralPayPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Secret Key (passeword API)Clé secrète API (à ne jamais diffuser)Portail Marchand 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 Marchand CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concernéEndpointURL de l’API CentralPayEn environnement de test : https://test-api.centralpay.net/En production : https://api.centralpay.net/DeviseDevise des paiements acceptésÀ configurer selon la boutique (EUR recommandé)Mode de paiementMode d’intégration technique du paiementLaisser la valeur par défaut « Direct Post »Affichage du formulaireAffichage du formulaire sur page dédiée ou dans la page panierChoisir l’affichage souhaité (conseillé : page dédiée pour la sécurité)Statut de commande après paiement réussiStatut que prendra la commande après une validation du paiement« Paiement accepté » (ou tout autre statut configuré dans Prestashop) ⚠️ Veillez à bien copier-coller la Merchant Public Key sans espaces ni caractères parasites. 3. Fonctionnement Lorsqu’un client choisit CentralPay comme moyen de paiement : Il est redirigé vers une page sécurisée (hébergée ou intégrée) Il saisit ses informations de carte bancaire Le paiement est autorisé par la banque (3D Secure inclus) La commande est validée dans Prestashop avec le statut défini Un webhook notifie automatiquement CentralPay et Prestashop de l’issue du paiement 4. Mode test / production En mode test, vous pouvez utiliser les cartes de test disponibles dans la documentation développeur En mode production, seuls les marchands activés (KYC validé) peuvent encaisser Le switch de mode s’effectue en modifiant l’Endpoint dans la configuration du module. 5. Support Pour toute question : Contactez le support CentralPay via le Portail Marchand > Aide & Support Ou directement via support.centralpay.com
PrestaShop CentralPay offers a credit card payment module for Prestashop stores. Two versions of the module are available, depending on your CMS version: For Prestashop 1.6 ➝ Download the 1.6 module For Prestashop 1.7 ➝ Download the 1.7 module 1. Installing the module Prestashop v1.6 Log in to the Prestashop back office Modules Menu > Modules Click « Add a New Module » Download the archive .zip and then click « Install » Prestashop v1.7 Log in to the Prestashop admin panel Menu Modules > Modules Manager > Upload a module Upload the archive » .zip » or click to download it Complete the installation by following the wizard’s instructions 2. Module Configuration After installation, go to the module’s configuration page: Modules Installed Modules CentralPay Configure The following fields are required: FieldDescriptionWhere can I find this information?Merchant Public KeyAPI Authentication Public KeyCentralPay Merchant Portal > Administration > Technical Support > Copy the “Merchant Public Key”API LoginYour CentralPay API user IDCentralPay Merchant Portal > Administration > Technical Support > Click on your “API ID” > Copy the “login”Secret Key (API password)API Secret Key (Never Share)CentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »POS IDUnique identifier for your Point of Sale (POS) (UUID)CentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)EndpointCentralPay API URLIn the test environment: https://test-api.centralpay.net/In production: https://api.centralpay.net/CurrencyCurrency of accepted paymentsConfigure according to the store (EUR recommended)Payment MethodTechnical Payment Integration MethodLeave the default value as « Direct Post »Displaying the FormDisplay the form on a dedicated page or on the shopping cart pageSelect the desired view (recommended: dedicated security page)Order Status After Successful PaymentStatus the order will have after payment is confirmed« Payment Accepted » (or any other status configured in PrestaShop) ⚠️ Be sure to copy and paste the Merchant Public Key exactly as it appears, without any spaces or extraneous characters. 3. How It Works When a customer selects CentralPay as a payment method: They are redirected to a secure page (hosted or integrated) He enters his credit card information The payment has been authorized by the bank (including 3D Secure) The order is confirmed in PrestaShop with the status set to A webhook automatically notifies CentralPay and PrestaShop of the payment outcome 4. Test / Production Mode In test mode, you can use the test cards provided in the developer documentation In production mode, only activated merchants (with validated KYC) can receive payments To switch modes, changethe endpoint in the module’s configuration. 5. Support If you have any questions: Contact CentralPay support through the Merchant Portal at > Help & Support Or directly at support.centralpay.com
Merchant Initiated Transaction (MIT) Introduction Une Merchant-Initiated Transaction (MIT) est un paiement initié sans interaction du titulaire de la carte, réalisé dans le cadre d’un contrat préexistant entre le marchand et son client. Ce modèle s’applique aux facturations récurrentes, variables ou usage-based. Dans le cadre DSP2, une MIT peut être exemptée d’authentification SCA, à condition que : Le marchand dispose d’un mandat contractuel valide, Une transaction initiale CIT authentifiée (3DS) ait été réalisée. Les MIT reposent donc sur une authentification antérieure réussie associée à un Customer et à un cardToken. Documentation 3DS 2.2 (général) 1. CIT et MIT : quelle différence ? Customer-Initiated Transaction (CIT) Une transaction CIT est initiée par le titulaire de la carte. Elle implique généralement une authentification 3DS. Rôles de la CIT initiale dans un flux MIT : authentifier la carte et le porteur, valider la création d’un Customer, permettre la génération d’un cardToken, servir de référence aux MIT futures. Merchant-Initiated Transaction (MIT) Une MIT est déclenchée par le marchand sans intervention du porteur, conformément au mandat conclu avec le client. Cas d’usage : facturation mensuelle à montant variable, frais ponctuels supplémentaires, utilisation de type usage-based. 2. Conditions nécessaires pour effectuer des MIT Deux conditions doivent être réunies : 2.1. Exécution d’une CIT initiale authentifiée (3DS) Cette CIT doit être : authentifiée via 3DS, capturée, associée à un Customer et à un cardToken. 2.2. Existence d’un mandat commercial valide Le mandat doit couvrir : la nature des services, le montant futur (fixe ou variable), les conditions et fréquences de facturation, l’accord explicite du client sur les paiements ultérieurs. Documentation Formulaire de paiement CustomForm 3. Montant de la CIT initiale Il est parfaitement conforme de réaliser une CIT initiale avec un montant symbolique (par exemple 1 € ou 0,01 €) pour : authentifier la carte, valider le contrat commercial, générer un token utilisable pour des MIT ultérieures. La CIT initiale n’a pas à couvrir le montant réel des MIT futures. Remarque : Les transactions à 0€ type “vérification / empreinte carte authentifiée” fonctionnent pour certains schémas mais n’est pas universellement supporté par les banques partenaires, d’où la recommandation d’utiliser une transaction CIT authentifiée.Également, bien que la CIT symbolique soit techniquement acceptable, l’émetteur peut — en fonction de son profil de risque, du schéma ou de l’ancienneté — décider de déclencher un challenge 3DS lors d’une MIT ultérieure." 4. Durée de validité d’une CIT pour générer des MIT Il n’existe pas de limite imposée par CentralPay.La durée de validité dépend exclusivement : 4.1. De l’ACS émetteur (banque du porteur) Les pratiques observées dans le secteur : conservation de la preuve d’authentification : ≈ 13 mois, pour certains émetteurs : jusqu’à 36 mois. Après expiration de la preuve 3DS, les MIT peuvent faire l’objet : de soft declines, de demandes d’authentification, de rejets « SCA required ». 4.2. Du recours au 3DS 2.2 – 3RI Dans certains cas, le marchand peut renouveler une authentification côté émetteur via 3RI, afin de prolonger la durée de validité du mandat. Disponibilité schémas : CB : support opérationnel, Mastercard : support opérationnel, Visa : support en cours d’évolution, non fiable à date. Documentation 3DS 2.2 – 3RI 5. Une MIT peut-elle nécessiter une authentification 3DS ? Oui. Une MIT peut être exceptionnellement requalifiée en CIT par l’émetteur (ACS), notamment dans les cas suivants : ancienneté élevée de la CIT initiale, suspicion de fraude, règles RBA de l’émetteur, montants atypiques ou plus élevés que prévu. Réduire le risque de demande 3DS utiliser 3RI lorsque supporté, conserver un cadre contractuel clair, refaire une CIT en cas d’échecs répétés. Pour en savoir plus FAQ 3DS 2.2 6. Transactions MIT ou service d’abonnement de CentralPay : comment choisir ? Il n’est pas obligatoire de passer par le module Subscription pour effectuer des MIT. 6.1. Utiliser le service d’abonnement si : les montants sont fixes, la fréquence est récurrente, la logique est celle d’un abonnement. 6.2. Utiliser les transactions MIT si : les montants sont variables (usage-based model), les facturations sont ponctuelles, les débits doivent être initiés par le marchand. Documentation Transaction carte récurrente 7. Implémentation API : effectuer une transaction MIT 7.1. CIT initiale Lors de la transaction CIT : création d’un customer, génération d’un cardTokenId, authentification 3DS. 7.2. Transaction MIT Chaque transaction MIT doit inclure : customerId, cardTokenId (ou cardId), indication du contexte MIT dans les paramètres de transaction, les métadonnées utiles pour rattacher la MIT à la CIT initiale. Documentation Transaction carte récurrente > Abonnement depuis des transactions successives 8. Bonnes pratiques pour fiabiliser un flux MIT 8.1. Techniques déclencher les MIT peu après la facturation, regrouper les paiements lorsque pertinent, utiliser 3RI pour rafraîchir l’authentification, conserver un cardToken stable. 8.2. Gestion des refus en cas de code indiquant « SCA required »,proposer au client une nouvelle CIT (paiement manuel),recréer un mandat MIT. 8.3. Contractuelles conserver la preuve du mandat : CGV, logs d’acceptation, contrat, page d’information client. 9. FAQ MIT Une CIT de 1 € suffit-elle pour un mandat MIT ? Oui, si elle est authentifiée 3DS. Combien de temps une CIT permet-elle de générer des MIT ? Cela dépend de l’ACS : généralement 13 à 36 mois. Une MIT peut-elle déclencher 3DS ? Oui, si l’ACS l’exige (RBA, ancienneté de la CIT, montants atypiques). Dois-je utiliser Subscription pour des montants variables ? Non, le service subscription est généralement adapté à des modèles d’abonnements fixes. Réaliser une transaction CIT initiale + des transactions MIT ad-hoc est le modèle recommandé. Que faire si le client change de carte ? Une nouvelle CIT est nécessaire pour générer un nouveau token.
Merchant-Initiated Transaction (MIT) Introduction A Merchant-Initiated Transaction (MIT) is a payment initiated without any interaction from the cardholder, carried out under a preexisting contract between the merchant and its customer. This model applies to recurring, variable, or usage-based billing. Under PSD2, a MIT may be exempt from SCA authentication, provided that: The merchant has a valid contractual authorization, An initial CIT transaction authenticated using 3DS has been completed. MITs are therefore based on a previous successful authentication combined with a Customer and a cardToken. Documentation 3DS 2.2 (General) 1. CIT and MIT: What’s the Difference? Customer-Initiated Transaction (CIT) A CIT transaction is initiated by the account owner. It generally involves 3DS authentication. Roles of the Initial CIT in an MIT workflow: authenticate the card and the cardholder, confirm the creation of a Customer, allow the generation of a cardToken, serve as a reference for future MITs. Merchant-Initiated Transaction (MIT) An MIT is initiated by the Merchant without any action on the part of the account holder, in accordance with the agreement entered into with the customer. Use Cases: monthly billing with a variable amount, additional one-time fees, usage-based model. 2. Requirements for Conducting MITs Two conditions must be met: 2.1. Processing an Initial Authenticated CIT (3DS) This CIT must be: authenticated via 3DS, captured, associated with a Customer and a cardToken. 2.2. Existence of a Valid Commercial Power of Attorney The scope of work must include: the nature of the services, the future amount (fixed or variable), billing terms and frequency, the customer’s explicit consent to future payments. Documentation CustomForm Payment Form 3. Amount of the Initial CIT It is perfectly acceptable to make an initial CIT payment in a nominal amount (for example , €1 or €0.01) in order to: authenticate the card, approve the commercial contract, Generate a token that can be used for future MITs. The initial CIT does not have to cover the actual amount of future MITs. Note: Zero-euro transactions of the “verification/authenticated card imprint” type work for certain schemes but are not universally supported by partner banks; hence the recommendation to use an authenticated CIT transaction.Additionally, although a nominal CIT transaction is technically acceptable, the issuer may—depending on its risk profile, the payment scheme, or the account’s tenure—decide to trigger a 3DS challenge during a subsequent MIT transaction." 4. Validity Period of a CIT for Generating MITs There is no limit imposed by CentralPay.The validity period depends solely on: 4.1. From the issuing ACS (the holder’s bank) Practices observed in the sector: Retention period for authentication records: ≈ 13 months, For certain issuers: up to 36 months. After the 3DS token expires, MITs may be subject to: of soft declines, authentication requests, « SCA required » rejections. 4.2. On the Use of 3DS 2.2 – 3RI In some cases, the Merchant may renew an issuer-side authentication via 3RI in order to extend the mandate’s validity period. Availability of diagrams: CB: operational support, Mastercard: Operational Support, Visa: Support is currently under development and is not reliable at this time. Documentation 3DS 2.2 – 3RI 5. Can an MIT require 3DS authentication? Yes. An MIT may, in exceptional cases, be reclassified as a CIT by the issuer (ACS), particularly in the following cases: long history of the original CIT, suspected fraud, the issuer’s RBA rules, amounts that are unusual or higher than expected. Reducing the Risk of 3DS Requests Use 3RI when supported, maintain a clear contractual framework, Take the CIT again in the event of repeated failures. Pour en savoir plus 3DS 2.2 FAQ 6. MIT Transactions or CentralPay’s Subscription Service: Which Should You Choose? It is not required to use the Subscription module to perform MITs. 6.1. Use the subscription service if: The amounts are fixed, the frequency is recurring, The concept is similar to that of a subscription. 6.2. Use MIT transactions if: The amounts vary (usage-based model), Invoices are issued on a one-time basis, Debit transactions must be initiated by the Merchant. Documentation Recurring Card Transaction 7. API Implementation: Perform an MIT Transaction 7.1. Initial CIT During the CIT transaction: creation of a web customer, Generating a cardTokenId, 3DS authentication. 7.2. MIT Transaction Each MIT transaction must include: customerId, cardTokenId (or cardId), specifying the MIT context in the transaction parameters, the metadata needed to link the MIT to the original CIT. Documentation Recurring Card Transaction >: Subscription Based on Successive Transactions 8. Best Practices for Improving the Reliability of an MIT Workflow 8.1. Techniques initiate MITs shortly after billing, combine payments when appropriate, use 3RI to refresh authentication, Maintain a stable cardToken. 8.2. Handling Refuses If the code indicates « SCA required » (), offer the customer a new CIT (manual payment); if the code indicates « MIT required » (), recreate an MIT mandate. 8.3. Contract Workers Keep proof of the order: Terms and Conditions, acceptance logs, contract, customer information page. 9. MIT FAQ Is a CIT of 1 € sufficient for an MIT mandate? Yes, if it is 3DS-authenticated. How long does a CIT continue to generate MITs? It depends on the ACS: generally 13 to 36 months. Can an MIT trigger 3DS? Yes, if the ACS requires it (RBA, CIT tenure, atypical amounts). Should I use « Subscription » for variable amounts? No, the subscription service is generally designed for fixed subscription models. The recommended approach is to perform an initial CIT transaction followed by ad hoc MIT transactions. What should you do if a customer changes their card? A new CIT is required to generate a new token.
Modèles contractuels Articles Marchand standard Marchand Partenaire Marchand Mandataire Marchand standard Le modèle Marchand standard s’adresse aux entreprises (personnes morales) qui souhaitent utiliser la plateforme CentralPay pour encaisser des paiements pour leur propre compte dans le cadre d’une activité de vente de biens ou de services. 1. Description du modèle Ce modèle vous donne accès à l’ensemble des services de Smart Collection, la solution d’encaissement complète proposée par CentralPay. 🔗 Plus d’informations sur Smart Collection Les fonctionnalités incluses sont les suivantes : Le Profil Marchand CentralPayUn profil marchand standard contenant un ou plusieurs comptes de paiement dédiés à votre activité, avec IBAN individuel, suivi des opérations et des versements. Les services liés au compteOutils de gestion, profils utilisateurs, accès API, notifications, reporting… Le service d’encaissement SmartCentralisation de vos flux, routage automatisé, gestion des statuts et des versements. Transactions par carte bancaireAcceptation Visa/Mastercard, 3D Secure, Apple Pay/Google Pay, gestion des remboursements et des contestations. Transactions par virementGénération d’IBAN virtuels, notifications de réception, rapprochements automatiques. Transactions par prélèvement SEPADébits ponctuels ou récurrents, gestion des mandats, suivi des rejets. 2. Frais et commissions Des commissions fixes et variables sont appliquées en fonction des opérations réalisées (transactions, versements, rejets, etc.). Vous pouvez consulter les tarifications publiques sur notre site. Les frais sont débités : Soit directement de votre compte de paiement principal Soit depuis un compte de commission dédié, si celui-ci est activé En cas de solde insuffisant, CentralPay pourra procéder à un prélèvement SEPA sur votre compte bancaire ou vous adresser une demande de virement complémentaire. Marchand Partenaire CentralPay propose deux modèles distincts pour les partenaires souhaitant accompagner des marchands CentralPay dans leur intégration technique : le Partenaire Technique et le Partenaire Intégrateur. Dans les deux cas, les marchands restent en relation contractuelle directe avec CentralPay ; les modalités d’accès API, de mutualisation et de facturation diffèrent selon le modèle. Selon la nature de leur activité, ces partenaires peuvent également être immatriculés à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) afin d’encadrer juridiquement certaines activités de présentation et d’accompagnement des marchands lors de leur entrée en relation avec CentralPay. Ce statut ne confère aucun droit d’accès aux fonds ni aucun pouvoir d’exécution d’opérations de paiement. 1. Partenaire Intégrateur Le Partenaire Intégrateur est un prestataire technique mandaté par un ou plusieurs marchands standards. Il intervient en leur nom et pour leur compte, afin de faciliter leur connexion aux services CentralPay. Chaque marchand standard dispose de son propre point de vente (POS), de son propre profil Marchand CentralPay, et signe directement ses documents de souscription et son contrat (CCSP) avec CentralPay. L’Intégrateur ne détient aucun droit contractuel sur les comptes ou fonds du marchand. 1.1. Responsabilités et fonctionnement L’Intégrateur utilise les accès API délégués par chaque marchand (identifiants dédiés “Intégrateur”), dans le cadre d’un mandat contractuel entre l’Intégrateur et le marchand Il peut réaliser des actions techniques nécessaires à l’intégration et au RUN (paramétrage, suivi d’Instructions Techniques, maintenance), exclusivement via ces accès, sans pouvoir consulter les soldes ni initier / modifier / annuler une opération de paiement Les parcours sont généralement réalisés en “1 pour 1” : un client (payeur) règle un seul marchand, chaque marchand conservant son environnement et ses accès propres 1.2. Facturation Chaque marchand est facturé directement par CentralPay au titre des services souscrits dans son CCSP Le Partenaire Intégrateur n’intervient à aucun moment dans les flux financiers 1.3. Pour aller plus loin sur le modèle d’Intégrateur Le Partenaire Intégrateur intervient exclusivement en soutien technique des marchands standards, sans jamais agir comme intermédiaire de paiement ni représentant de CentralPay. Son rôle se limite à l’intégration, au support fonctionnel de niveau 1 et à la maintenance des interfaces Chaque marchand conserve l’entière maîtrise de son profil Marchand CentralPay : encaissements, versements, solde, paramétrage des accès API, gestion documentaire et contractuelle CentralPay peut mettre à disposition de l’intégrateur un accès portail strictement limité à l’administration technique (suivi d’Instructions Techniques, paramétrages, opérations nécessaires au RUN). Cet accès n’autorise pas la consultation des soldes, ni la manipulation de transactions financières, ni l’initiation/modification/annulation d’opérations de paiement, ni la modification d’IBAN ou de paramètres financiers Pour permettre la connexion, le marchand délègue à l’intégrateur des identifiants dédiés, avec des droits strictement limités et révocables à tout moment. Toutes les actions techniques sont réalisées via ces identifiants, sous la responsabilité du marchand Si le Partenaire Intégrateur est immatriculé à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) et qu’un cadre contractuel distinct le prévoit, il peut accompagner le marchand dans son entrée en relation (ex. : transmission d’un lien d’inscription, assistance à la constitution du dossier). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture de compte et des contrôles réglementaires À défaut, le Partenaire Intégrateur peut orienter le marchand vers CentralPay pour toute question contractuelle, tarifaire ou réglementaire liée aux services de paiement 2. Partenaire Technique Le Partenaire Technique est un acteur qui développe une solution mutualisée (ex. : marketplace, plateforme SaaS), à destination de plusieurs marchands standards. Il opère depuis un ou plusieurs points de vente ouverts à son nom dans CentralPay, auxquels des marchands peuvent être rattachés. Les opérations sont traitées par CentralPay au moyen d’un mécanisme interne de “Compte de Traitement” (utilisé par CentralPay pour recevoir et traiter temporairement les fonds en vue de leur transmission au bénéficiaire final). Le Partenaire Technique n’y dispose d’aucun droit de disposition : il transmet uniquement des données commerciales et conserve une visibilité sur les flux rattachés à ses points de vente, sans jamais pouvoir déclencher un transfert. 2.1. Responsabilités et fonctionnement Le Partenaire Technique dispose de ses propres accès API délivrés par CentralPay Il peut transmettre des Instructions Techniques (données commerciales, panier, commission, références, évènements logistiques…), et suivre les transactions rattachées aux marchands liés à ses points de vente Il n’a aucun accès aux fonctionnalités de transfert (notamment l’endpoint transfer) et ne peut pas accéder aux soldes ni effectuer de versements : CentralPay décide et exécute les opérations et mises à disposition de fonds Dans ce cadre, CentralPay peut gérer des paiements en mode “1 pour X” : un client (payeur) peut régler plusieurs marchands simultanément, CentralPay assurant ensuite la ventilation/mise à disposition au bénéfice des marchands 2.2. Facturation Le Partenaire Technique est facturé par CentralPay en fonction des opérations réalisées via son (ou ses) point(s) de vente, conformément aux conditions prévues au CCSP et aux documents de souscription applicables Lorsqu’une commission est prévue, CentralPay peut, sur la base des données commerciales transmises et selon les règles contractuelles, ventiler les flux : la part de commission est alors créditée sur le compte de commission du Partenaire Technique, sans que celui-ci ne détienne de fonds de tiers Pour aller plus loin sur le modèle de Partenaire Technique Le Partenaire Technique développe une solution mutualisée (ex. : marketplace, plateforme SaaS) intégrant CentralPay. Il opère depuis un ou plusieurs points de vente ouverts à son nom, qui accueillent les transactions de marchands standards associés Chaque marchand associé contracte directement avec CentralPay (CCSP et documents de souscription) et dispose de son propre profil Marchand CentralPay Le Partenaire Technique transmet à CentralPay les données commerciales des transactions (montant commercial, références, commission, évènements logistiques…). Ces données ne déclenchent aucun effet financier automatique : CentralPay analyse, contrôle, puis décide de traiter l’opération et d’initier les mises à disposition nécessaires CentralPay peut décider d’appliquer une retenue temporaire et/ou une date de déblocage pour la mise à disposition des fonds au bénéfice d’un marchand (ex. : jusqu’à une livraison/expédition), selon sa politique de risque, les règles des réseaux et ses obligations réglementaires Le Partenaire Technique ne détient jamais de fonds de tiers, ne donne aucun ordre de paiement, et ne peut intervenir dans les versements ou la tenue de compte. Il n’agit ni pour compte de tiers ni au nom de CentralPay L’accès du Partenaire Technique est limité à une vue et à des fonctionnalités strictement nécessaires à la transmission et au suivi d’Instructions Techniques ; il n’existe aucun accès au “Compte de Traitement” en tant que compte (pas de droit d’exécution, pas de droit de disposition, pas d’accès aux soldes) En cas d’immatriculation ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) et si un cadre contractuel distinct le prévoit, le Partenaire Technique peut accompagner les marchands dans leur entrée en relation (transmission de lien d’inscription, assistance documentaire), sous réserve de validation préalable par CentralPay 3. Règles de conformité communes Pour les deux modèles : Le Partenaire n’est pas prestataire de services de paiement, ne dispose d’aucun pouvoir d’exécution d’opérations de paiement et ne détient aucun fonds de tiers dans le cadre des services de paiement Les comptes, la mise à disposition des fonds, les versements et la protection des fonds sont gérés et encadrés par CentralPay, en sa qualité de PSP Aucune délégation réglementaire d’exécution de service de paiement (type agent PSP) n’est accordée à ces partenaires 3.1. Relation contractuelle avec les marchands Le Partenaire (technique ou intégrateur) conserve sa propre relation commerciale avec ses utilisateurs et reste responsable des services proposés sur sa plateforme. Il définit librement les conditions générales d’utilisation applicables à ses services. De leur côté, les marchands associés : Ouvrent leur propre profil Marchand CentralPay, lors d’un parcours d’enrôlement individualisé Signent directement avec CentralPay le CCSP et les documents de souscription applicables (dont la désignation éventuelle d’un partenaire) Reconnaissent que le partenaire pourra réaliser certaines actions techniques dans le cadre de son intégration (ex. : transmission d’une commande, remontée de panier, suivi d’Instructions Techniques), sans que cela ne constitue un ordre de paiement ni un accès aux fonds CentralPay agit alors directement auprès du marchand associé pour : la création et la gestion de son compte (signature électronique, affectation des POS, rattachement au partenaire) le traitement réglementaire des justificatifs transmis (KYC/KYB, lutte contre le blanchiment et le financement du terrorisme) la mise à jour documentaire ou les vérifications complémentaires nécessaires à la bonne exécution des services de paiement L’ensemble de cette organisation repose sur un dispositif contractuel strictement balisé : Le partenaire signe un contrat dédié avec CentralPay, encadrant son rôle et ses droits d’accès (API/portail) et, le cas échéant, les modalités de commissionnement Les marchands associés signent directement leurs documents contractuels CentralPay (CCSP et souscription), dans lesquels leur association au partenaire peut être précisée Les conditions générales du partenaire s’appliquent uniquement à l’usage de sa propre plateforme. Elles ne peuvent ni interférer avec les services de paiement CentralPay, ni se substituer aux documents contractuels CentralPay 4. Déclaration ORIAS (IOBSP / “MOBSP”) Un Partenaire Intégrateur ou un Partenaire Technique peut, si son activité le nécessite, être immatriculé à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”). Ce statut est distinct de celui d’agent de prestataire de services de paiement (au sens de l’article L.523-1 du Code monétaire et financier). Cette immatriculation peut permettre, selon le cadre contractuel applicable : De présenter les services de CentralPay et d’assister le marchand dans ses démarches d’entrée en relation D’accompagner la constitution du dossier (sans jamais se substituer aux contrôles réglementaires réalisés par CentralPay) Ce statut ne modifie en rien les restrictions précédemment énoncées : il ne confère aucun droit sur les fonds et aucun pouvoir d’exécution d’opérations de paiement. CentralPay demeure seul responsable de l’entrée en relation, des contrôles réglementaires et de l’exécution des services de paiement. Déclaration MOBSP (Orias) ℹ️ 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 : Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN 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 Allez sur le site de l’ORIAS Faites défiler vers le bas jusqu’à voir la section Comment ça marche ? Cliquez sur S’inscrire Vous serez redirigé vers le formulaire d’inscription. 2.2. Saisir les informations Entrez votre numéro SIREN Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique Saisissez les informations de votre représentant légal Saisissez les coordonnées de votre représentant légal Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un Entrez l’adresse de votre entreprise 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. Retournez sur le site de l’ORIAS Cliquez sur Connexion / Login Saisissez votre identifiant et votre mot de passe provisoire depuis votre email 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 Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît Choisissez Activité IOB Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP) Cliquez sur Soumettre 3.2. Fournissez des informations complémentaires 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. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds 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 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 Cliquez sur Aller à l’étape « Pièces justificatives » 3.3. Fournissez vos documents justificatifs Soumettez votre KBIS Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1 Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2. Cliquez sur Aller à l’étape suivante 3.4. Payez votre inscription La dernière étape consiste à payer votre inscription. 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 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) Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription 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. Marchand Mandataire Agent de Prestataire de Services de Paiement (Agent PSP) ou Distributeur de Monnaie Électronique (DME) Certains projets nécessitent un cadre réglementaire spécifique permettant à des mandataires d’agir au nom et pour le compte de CentralPay, établissement agréé et supervisé par l’ACPR. Deux statuts principaux peuvent être mobilisés en France : L’Agent de Prestataire de Services de Paiement (Agent PSP), pour les projets nécessitant une gestion active des flux de paiement (encaissements, transferts, versements), dans le strict cadre d’un mandat et sous la responsabilité de CentralPay Le Distributeur de Monnaie Électronique (DME), pour des projets reposant sur des mécanismes de valeur stockée / monnaie électronique (plateformes C2C, titres prépayés, réseaux fermés, etc.), dans le cadre d’un contrat de distribution Ces modèles peuvent offrir une autonomie opérationnelle importante au mandataire, mais s’accompagnent de contraintes réglementaires fortes et d’une supervision permanente, sous la responsabilité de CentralPay. 1. Agent de Prestataire de Services de Paiement (Agent PSP) 1.1. Cas d’usage typiques Plateformes B2B avec flux financiers complexes Outils de gestion financière ou de trésorerie pour tiers Solutions SaaS intégrant l’encaissement et la mise à disposition de fonds à des bénéficiaires 1.2. Rôle de l’Agent L’Agent PSP agit en tant que représentant réglementaire de CentralPay pour la fourniture de services de paiement, au nom et pour le compte de CentralPay, dans les limites du mandat et des droits techniques configurés. Fonctionnalités (selon périmètre contractuel et habilitations) : Mise en relation commerciale et promotion des services CentralPay auprès des utilisateurs finaux (les “Participants”) Accompagnement des Participants à l’ouverture de comptes CentralPay (parcours CentralPay et/ou parcours piloté par l’Agent, selon modèle retenu) Ouverture, au nom de l’Agent, de comptes techniques dédiés à la ségrégation des flux (ex. compte de collecte et compte de commission), sans que l’Agent ne devienne propriétaire des fonds des Participants Transmission à CentralPay des demandes/instructions nécessaires à la bonne exécution des services (ex. affectation des fonds, demandes de versement, demandes de remboursement), CentralPay restant seul exécutant Gestion du support de premier niveau (N1) et traitement opérationnel défini comme prestation externalisée, avec escalade vers CentralPay lorsque requis 1.3. Les 3 options du modèle Agent (délégation KYC/KYB) Le modèle Agent de CentralPay prévoit trois niveaux de délégation en matière d’inscription et de contrôles KYC/KYB. Une seule option est applicable à la fois, et le niveau retenu est formalisé contractuellement : Option A – Agent simple (absence de délégation de contrôle) : l’Agent agit comme Agent PSP déclaré mais sans délégation KYC/KYB. Il se limite à la mise en relation commerciale et oriente les Participants vers les parcours/outils fournis par CentralPay. Il ne reçoit aucun mandat pour collecter des pièces justificatives ni effectuer des contrôles. Option B – Agent collecteur (délégation de la complétude administrative) : l’Agent est mandaté pour constituer le dossier administratif du Participant pour le compte de CentralPay. Il collecte les pièces et réalise des vérifications strictement formelles de complétude (lisibilité, validité apparente, cohérence documentaire). Il ne réalise pas d’analyse de risque, ni filtrage sanctions/PPE, ni analyse approfondie ; la décision d’entrée en relation demeure celle de CentralPay. Option C – Agent délégataire de contrôle (délégation de niveau 1) : option réservée aux Agents disposant d’une organisation conformité dédiée et expressément validée par CentralPay. L’Agent peut collecter les pièces KYC/KYB, vérifier la complétude/cohérence et assurer un contrôle de vigilance de niveau 1 exclusivement formel et administratif. Il peut également participer au traitement des alertes de niveau 1 (collecte/qualification administrative/transmission), selon des procédures strictes. CentralPay conserve la décision finale et peut révoquer l’option à tout moment en cas de défaillance. 1.4. CentralPay reste responsable CentralPay reste pleinement responsable des services fournis aux Participants L’Agent agit dans le strict cadre du mandat qui lui est confié, et selon les habilitations techniques mises en place Toute activité réalisée via la plateforme est auditable, traçable et documentée 1.5. Contraintes réglementaires Signature d’un contrat d’Agent et de ses documents associés Enregistrement officiel en tant qu’Agent sur le registre de l’ACPR (via CentralPay) Évaluation de la capacité organisationnelle du mandataire et exigences renforcées (conformité, sécurité, confidentialité, continuité, contrôle interne) Reporting périodique à CentralPay (volume d’activité, incidents, qualité de service) et possibilité d’audit sur pièce ou sur site Formations obligatoires des équipes opérationnelles, selon le périmètre de délégation 2. Distributeur de Monnaie Électronique (DME) 2.1. Cas d’usage typiques Plateformes de vente entre particuliers (C2C) Réseaux d’enseignes prépayées ou de bons cadeaux Programmes de fidélité à valeur monétaire stockée 2.2. Rôle du DME Le DME agit pour le compte de CentralPay dans la mise à disposition et la gestion opérationnelle de la monnaie électronique, dans les limites prévues par le contrat de distribution et les règles définies par CentralPay. Fonctionnalités : Mise en relation de CentralPay avec les utilisateurs finaux (les “sous-marchands” / utilisateurs de monnaie électronique) Transmission à CentralPay des instructions de chargement (montant, bénéficiaire, commission), CentralPay restant seul émetteur/exécutant Visualisation et suivi des opérations via un dispositif de suivi dédié (ex. vue consolidée / compte centralisateur selon modèle), sans droit de disposition sur les fonds Transmission des demandes/instructions permettant la circulation de monnaie électronique entre utilisateurs dans un cadre défini (réseau fermé, règles contractuelles), sous contrôle de CentralPay Transmission des demandes de remboursement de monnaie électronique à la demande de l’utilisateur, selon les règles applicables Détention d’un compte de commission pour percevoir les frais définis dans ses CGU 2.3. Limites fonctionnelles Le DME ne détient jamais les fonds : il agit comme intermédiaire et ne peut pas conserver, stocker ou utiliser les fonds collectés Il n’est pas autorisé à créer/émettre lui-même de la monnaie électronique Il ne peut pas offrir de services de paiement non explicitement autorisés dans le cadre contractuel défini par CentralPay Il ne peut pas sous-traiter son activité, sauf accord explicite de CentralPay 2.4. Contraintes réglementaires Signature d’un contrat de distribution avec CentralPay Déclaration / formalités de mise en conformité réalisées sous l’initiative et la responsabilité de CentralPay, selon la réglementation applicable Mise en conformité organisationnelle : dispositifs internes de sécurité, confidentialité, gestion des incidents, continuité d’activité Supervision permanente par CentralPay, incluant : Contrôle de l’usage de l’API / des habilitations Reporting régulier sur l’activité Formation obligatoire des équipes du DME Validation des CGU utilisées auprès des utilisateurs Déclaration Agent PSP (ACPR) Rôle de l’ACPR L’ACPR (Autorité de Contrôle Prudentiel et de Résolution), adossée à la Banque de France, tient le registre des prestataires régulés et de leurs agents. Dans le cadre d’un modèle Agent PSP, CentralPay (établissement agréé) constitue et dépose la notification/dossier d’enregistrement de l’Agent et demeure l’unique interlocuteur de l’ACPR. Le futur Agent ne peut pas déposer de dossier directement auprès de l’ACPR : les échanges sont pilotés par CentralPay, avec le concours de l’Agent (transmission de pièces, réponses aux questions, éléments d’organisation). Étapes de déclaration d’un Agent ÉtapeDescription1. Cadrage & pré-qualificationAnalyse du modèle, du périmètre fonctionnel et des responsabilités ; validation juridique & conformité côté CentralPay2. Constitution du dossierCollecte des pièces société/dirigeants, éléments d’organisation (process, contrôles, sécurité), CGU Agent/Participants, prévisions d’activité3. Dépôt / échanges ACPRDépôt réalisé par CentralPay ; réponses aux demandes complémentaires pilotées par CentralPay avec l’aide de l’Agent4. Enregistrement & activationÀ l’issue de l’enregistrement sur le registre public, CentralPay peut activer l’Agent en production (avant cela, l’activité reste bloquée) 1. Responsabilités de l’Agent En tant qu’Agent PSP, l’Agent agit au nom et pour le compte de CentralPay dans le périmètre défini contractuellement. CentralPay reste pleinement responsable de la fourniture des services de paiement et de la conformité réglementaire ; toutefois, l’Agent doit appliquer strictement les procédures et exigences opérationnelles fixées par CentralPay, notamment en matière de LCB-FT et de lutte contre la fraude. L’Agent est notamment responsable de : La compréhension de l’activité de ses marchands/Participants et de la cohérence économique des opérations initiées via son modèle La mise en œuvre des dispositifs opérationnels attendus (process internes, contrôles, traçabilité, gestion des incidents) et du respect des consignes CentralPay La lutte contre la fraude (détection, escalade, coopération) et le respect des obligations de vigilance dans le périmètre confié La coopération avec CentralPay en cas de demande d’information (contrôles, audit, questions ACPR), et la transmission rapide des pièces demandées L’Agent doit signer : Un Contrat d’Agent PSP avec CentralPay (mandat / externalisation / supervision / flux) Le CCSP (Contrat Cadre de Services de Paiement) applicable à l’Agent en sa qualité de client professionnel de CentralPay (accès plateforme, services souscrits) Des CGU Agent (ou documentation équivalente) encadrant sa relation avec ses Participants, incluant les mentions nécessaires sur les parcours, la ventilation, les dates de déblocage et les éventuelles demandes de versements Selon le périmètre retenu (et les annexes applicables), certaines fonctions peuvent être déléguées à l’Agent (ex. collecte et contrôles formels KYC/KYB). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture/maintien des comptes et des décisions réglementaires. 2. Devenir Partenaire Agent CentralPay Le processus d’enregistrement d’un Agent dépend de la complétude du dossier, du niveau de délégation opérationnelle et des échanges avec l’ACPR. En pratique, il s’étale généralement sur plusieurs semaines et peut être prolongé si des pièces complémentaires sont demandées. 2.1. Résumé des étapes ÉtapeDétails1. Compréhension du modèle– Cadrage du périmètre et des responsabilités– Description des flux & cas d’usage– Validation par les équipes Juridique & Conformité de CentralPay2. Offre commerciale– Présentation par CentralPay– Alignement sur le périmètre (technique, opérationnel, conformité)3. Contractualisation– Signature du Contrat d’Agent– Signature/acceptation du CCSP applicable à l’Agent4. Test & intégration– Accès sandbox– Intégration technique & recette– Vérification des parcours (onboarding/consentement/affichages)5. Instruction ACPR– Collecte des éléments réglementaires– Constitution et dépôt du dossier auprès de l’ACPR par CentralPay– Gestion des questions / compléments6. Mise en production– Activation en production après enregistrement– Tests en environnement de recette / production encadrée 2.2. Pièces à fournir à CentralPay Phase 1 – Pré-constitution du dossier CGU Agent / documentation contractuelle Participants (parcours, consentements, information “agent”, ventilation/commission, dates de déblocage, modalités de remboursement) Définition des activités régulées, services associés, modèle d’affaires Organigramme (y compris répartition des effectifs par service) et description des rôles clés Structure de l’actionnariat / gouvernance Flux prévisionnels sur 3 ans confiés à CentralPay (volumes, montants, typologies) Nombre d’enrôlements prévisionnels sur 3 ans Cas de reprise de KYC existant (migration) le cas échéant Phase 2 – Déclaration auprès du régulateur Signature du Contrat d’Agent (préalable au dépôt du dossier) CentralPay collecte et dépose les pièces suivantes (liste indicative) : Kbis < 3 mois de la société et, le cas échéant, des sociétés de tête/dirigeantes Statuts à jour signés Pièces d’identité couleur des dirigeants CV des dirigeants datés et signés Casier judiciaire des dirigeants (si demandé) Déclarations de non-condamnation des dirigeants Répartition de la détention des parts / actionnariat Kbis des personnes morales actionnaires (si applicable) + organigramme de groupe (si applicable) PV d’AG récents (fusion, perte > 50% du capital, changement direction, etc.) Registre des bénéficiaires effectifs (si demandé) Peuvent également être demandés par l’ACPR : Bilans et comptes de résultat récents États financiers en cours ou de l’année précédente Toute pièce jugée utile par le régulateur 2.3. Délais d’instruction Instruction par CentralPay : généralement ~2 semaines à compter de la réception d’un dossier complet Délai ACPR : variable ; peut aller jusqu’à ~2 mois, avec premières questions sous 30 jours en général 2.4. Fin d’instruction L’Agent peut démarrer l’activité uniquement après enregistrement effectif (publication sur le registre public) Avant enregistrement, CentralPay n’active pas l’Agent en production et peut maintenir les comptes de l’Agent bloqués (IN/OUT) L’Agent est référencé dans les registres publics avec un numéro/identifiant d’enregistrement pouvant devoir figurer dans certaines communications/mentions 2.5. Particularité – Agents Télécom SVA (numéros surtaxés) Obligation de fournir un récapitulatif des minutes par opérateur Transmission du détail de répartition des encaissements (ventilation) à CentralPay CentralPay met en place des contrôles complémentaires afin de s’assurer que les marchands/Participants sont correctement crédités 3. Traitement des flux agent Cette section définit les règles applicables au traitement et au contrôle des flux financiers dans un modèle Agent. Elle précise les responsabilités, la structure des comptes et les contrôles complémentaires mis en œuvre afin de répondre aux exigences légales et prudentielles. 3.1. Responsabilité de l’établissement Conformément au Code monétaire et financier (CMF), l’Agent agit au nom et pour le compte de CentralPay. CentralPay demeure pleinement responsable du respect des obligations réglementaires, notamment en matière de LCB-FT, de sécurité et de protection des fonds. CentralPay met en place un dispositif de contrôle interne couvrant l’ensemble du cycle des flux, y compris ceux traités dans le cadre de ses Agents (supervision, auditabilité, traçabilité). 3.2. Comptes opérationnels des agents Pour les besoins de ségrégation des flux, CentralPay met à disposition (dans ses livres) : Compte de Collecte : compte de transit destiné à recevoir les fonds liés aux opérations initiées via le modèle Agent, et à permettre leur affectation/ventilation vers les comptes des Participants Compte de Commission : destiné à recevoir la rémunération revenant à l’Agent (commissions) et à régler les frais dus à CentralPay Compte de paiement Agent (optionnel) : destiné aux opérations courantes de l’Agent pour son compte propre (approvisionnement, paiement de factures SaaS, etc.), distinct des flux tiers et des commissions 3.3. Traitement des opérations Lorsqu’un Agent initie une transaction pour le compte d’un ou plusieurs Participants : L’Agent transmet à CentralPay les informations nécessaires à la ventilation (part des Participants, commission Agent, références), soit directement dans la transaction, soit au plus tard en fin de journée via un traitement par lot lorsque cela est objectivement nécessaire. CentralPay exécute ensuite, sous sa responsabilité, les opérations d’affectation/ventilation et, le cas échéant, les mouvements nécessaires (dont la commission vers le compte de commission), conformément au cadre contractuel et aux contrôles réglementaires. Le Compte de Collecte doit rester un compte de transit : l’Agent ne doit pas conserver passivement des fonds de tiers au-delà des délais strictement nécessaires au traitement (pas de “trésorerie flottante”). Les modalités de versement sortant (Payout) sont encadrées par CentralPay ; le Compte de Collecte n’a pas vocation à servir de compte de versement sortant “libre”. 3.4. Dates de déblocage et montants prévisionnels Fonctionnement Selon le modèle contractuel, l’Agent peut transmettre ou paramétrer (en qualité d’intermédiaire mandaté par le Participant) une date de déblocage (endpoint API : EscrowDate) correspondant à un évènement contractuel objectivable (ex. livraison/expédition/fin de prestation). Cette date ne produit aucun effet financier automatique : CentralPay demeure seule décisionnaire de la mise à disposition des fonds (acceptation, refus, report, encadrement). Jusqu’à la date de déblocage : Les fonds restent protégés et indisponibles (ni accessibles à l’Agent, ni utilisables par le Participant) Le Participant peut visualiser l’opération sous forme d’opération à venir ou de montant prévisionnel, avec affichage de la date de disponibilité, sans constituer un crédit au solde disponible Conditions de conformité L’usage des dates de déblocage est autorisé uniquement si : Information claire : l’Agent doit expliquer à ses Participants comment fonctionne la date de déblocage (principes, délais, exceptions). Affichage transparent : l’interface Participant doit indiquer la date de l’opération, la date de disponibilité prévue et un statut “indisponible avant cette date”. Mentions dans les CGU Agent : les CGU signées par les Participants doivent préciser : Que la date de déblocage correspond à la date contractuelle à laquelle les fonds deviennent utilisables. Qu’il est impossible pour le Participant d’utiliser ces fonds avant cette date. Que CentralPay peut refuser, différer, suspendre ou encadrer la mise à disposition au regard de ses obligations réglementaires, de sa politique de risque et des règles des réseaux de paiement. Gestion des exceptions : en cas d’annulation, de remboursement, d’impayé ou de litige : Si la transaction source est annulée/remboursée, les fonds ne seront pas mis à disposition. En cas d’impayé (ex. chargeback carte) ou de risque, CentralPay peut retenir/ajuster les montants en attente ou compenser lors de règlements ultérieurs. La date de déblocage peut être reportée (litige/incident) ; le Participant doit être informé via son interface/notifications. Ce mécanisme ne constitue ni un séquestre au sens du droit civil, ni un service de conservation fiduciaire : il s’agit d’une mise à disposition différée sous contrôle exclusif de CentralPay. 3.5. Gestion des versements sortants Fonctionnement CentralPay peut mettre à disposition des Participants (et, selon les habilitations, à l’Agent agissant comme intermédiaire mandaté) différents modes de gestion des versements sortants : Versements sortants automatisés (paramétrage de règles/plannings, lorsque prévu contractuellement) Versements sortants ponctuels (demande via portail/API selon les droits accordés) Conditions de conformité Lorsque l’Agent est autorisé à transmettre des demandes de versement sortant pour le compte de ses Participants, il doit recueillir leur consentement et décrire clairement le mode de fonctionnement dans les CGU Agent. CentralPay demeure seule responsable de l’exécution et peut refuser, suspendre ou encadrer ces demandes conformément à ses obligations. À retenirLe dispositif présenté garantit :- La séparation stricte des flux tiers / commissions / compte propre- L’absence de droit de disposition de l’Agent sur les fonds de tiers- La traçabilité complète des opérations (auditabilité)- La supervision active par CentralPay- La conformité aux exigences du CMF et aux attentes de supervision Le respect de ce dispositif est obligatoire. Toute anomalie (fraude, incident, incohérence de ventilation, non-respect des procédures) doit être signalée immédiatement à votre Account Manager CentralPay. Déclaration Distributeur ME (ACPR) 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 sous-marchands 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 1. Responsabilité du mandataire 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 Électronique 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. 2. Devenir mandataire 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. 2.1. Résumé des étapes Compréhension du modèle Explication des services apportés par le mandataire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du mandataire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le mandataire Test & Intégration Mise en place de la sandbox Réunion de lancement de projet avec l’équipe technique Phase d’intégration technique Instruction du dossier ACPR Collecte des éléments nécessaires à la constitution du dossier Préparation du dossier Présentation du dossier Mise en production Validation de la recette Mise en production 2.2. Pièces à fournir à CentralPay Prochainement
Contract Templates Articles Standard Merchant Partner Merchant Intermediary Merchant Standard Merchant The standard Merchant plan is intended for businesses (legal entities) that wish to use the CentralPay platform to collect payments on their own account as part of their business selling goods or services. 1. Model Description This plan gives you access to all of Smart Collection’s services—the comprehensive payment processing solution offered by CentralPay. 🔗 More information about Smart Collection The included features are as follows: The CentralPay Merchant ProfileA standard Merchant Profile that includes one or more Payment Accounts dedicated to your business, with individual IBANs, transaction tracking, and payout tracking. Account-related services Management tools, user profiles, API access, notifications, reporting… The Smart payment service Centralization of your flows, automated routing, management of statuses and payments. Card Transaction: Accepts Visa and Mastercard, 3D Secure, Apple Pay and Google Pay, and handles refunds and chargebacks. Transactions by bank transfer Generation of virtual IBANs, receipt notifications, automatic reconciliations. SEPA Direct Debit TransactionsOne-time or recurring debits, mandate management, and tracking of rejections. 2. Fees and Commissions Fixed and variable fees are charged based on the types of transactions performed (transactions, payouts, Rejections, etc.). You can view our published fee schedule on our website. Fees are charged: Either directly from your primary Payment Account Or from a dedicated Commission Account, if it is enabled If there are insufficient funds, CentralPay may process a SEPA Direct Debit from your Bank Account or send you a request for an additional Bank transfer. Partner Merchant CentralPay offers two distinct models for partners wishing to assist CentralPay merchants with their technical integration: the Technical Partner and the Integration Partner. In both cases, merchants remain in a direct contractual relationship with CentralPay; the terms regarding API access, resource sharing, and billing differ depending on the model. Depending on the nature of their business, these partners may also be registered with ORIAS asIOBSPs (intermediaries—“MOBSPs”) in order to provide a legal framework for certain activities involving the introduction andsupport of merchants during onboarding with CentralPay. This article of association does not confer any right of access to funds or any authority to execute payment transactions. 1. Integration Partner An Integration Partner is a technical service provider contracted by one or more standard merchants. It acts on their behalf and for their account to facilitate their connection to CentralPay services. Each standard merchant has its own Point of Sale (POS), its own CentralPay Merchant Profile, and signs its application documents and contract (CCSP) directly with CentralPay. The Integrator has no contractual rights to the merchant’s accounts or funds. 1.1. Responsibilities and Operations The Integrator uses the API access credentials delegated by each Merchant (dedicated “Integrator” credentials) under a contractual agreement between the Integrator and the Merchant He or she may perform the technical tasks necessary for Integration and RUN (configuration, following technical instructions, maintenance), exclusively through these access points, without being able to view account balances or initiate, modify, or cancel a payment transaction. Transactions are generally conducted on a “one-to-one” basis: a customer (Payer) pays a single Merchant, with each Merchant retaining its own environment and access points. 1.2. Billing Each Merchant is billed directly by CentralPay for the services subscribed to in their CCSP The Integration Partner does not get involved in the financial flows at any time 1.3. To learn more about the Integrator model The Integration Partner provides technical support exclusively to standard merchants and never acts as a payment intermediary or representative of CentralPay. Its role is limited to integration, Level 1 functional support, and interface maintenance. Each merchant retains full control over their CentralPay Merchant Profile: collections, payouts, balance, API access settings, and document and contract management CentralPay may provide the integrator with portal access strictly limited to technical administration (monitoring of Technical Instructions, configuration settings, and operations necessary for RUN). This access does not allow the viewing of balances, the manipulation of financial transactions, the initiation, modification, or cancellation of payment transactions, or the modification of IBANs or financial parameters. To enable the connection, the merchant provides the integrator with dedicated credentials, which have strictly limited permissions and can be revoked at any time. All technical actions are performed using these credentials, under the merchant’s responsibility. If the Integration Partner is registered with ORIAS as an IOBSP (Intermediary – “MOBSP”) and a separate contractual framework provides for it, they may assist the Merchant in onboarding (e.g., providing a registration link, assisting with the onboarding process). CentralPay retains sole discretion regarding onboarding, account opening, and regulatory compliance checks. Otherwise, the Integration Partner may refer the Merchant to CentralPay for any contractual, pricing, or regulatory questions related to payment services 2. Technical Partner A Technical Partner is an entity that develops a shared solution (e.g., marketplace, SaaS platform) intended for multiple standard merchants. It operates through one or more Points of Sale (POS) registered under its name in CentralPay, to which merchants can be linked. Transactions are processed by CentralPay through an internal “Technical Partner Account” mechanism (used by CentralPay to temporarily receive and process funds prior to their transfer to the final Beneficiary). The Technical Partner has no right to dispose of these funds: it merely transmits commercial data and maintains visibility into the cash flows associated with its POSes, without ever being able to initiate a transfer. 2.1. Responsibilities and Operations The Technical Partner has its own API credentials issued by CentralPay It can transmit technical instructions (sales data, shopping cart, commission, product codes, logistics events, etc.) and track transactions associated with Merchants linked to its Point of Sale (POS) locations He has no access to transfer features (including the endpoint transfer) and cannot view balances or make Payouts: CentralPay decides on and executes transactions and fund transfers. In this context, CentralPay can process “1-for-X” payments: a customer (payer) can pay multiple Merchants simultaneously, and CentralPay then handles the allocation and disbursement of funds to the Merchants. 2.2. Billing CentralPay bills the Technical Partner based on the transactions processed through its Point of Sale (POS) systems, in accordance with the terms set forth in the CCSP and the applicable subscription documents. When a commission is applicable, CentralPay may, based on the transaction data provided and in accordance with the terms of the agreement, allocate the funds: the commission portion is then credited to the Technical Partner’s Commission Account, without the Technical Partner holding any third-party funds To learn more about the Technical Partner model The Technical Partner develops a shared solution (e.g., marketplace, SaaS platform) that integrates CentralPay. It operates through one or more Points of Sale (POS) registered in its name, which process transactions from affiliated standard merchants. Each participating merchant enters into a contract directly with CentralPay (CCSP and subscription documents) and has its own CentralPay Merchant Profile The Technical Partner transmits transaction data (transaction amount, reference numbers, commission, logistics events, etc.) to CentralPay. This data does not trigger any automatic financial action: CentralPay analyzes and verifies the data, then decides whether to process the transaction and initiate the necessary fund transfers. CentralPay may decide to impose a temporary hold and/or set a Release date for the funds to be made available to a Merchant (e.g., pending delivery or shipment), in accordance with its risk policy, network rules, and regulatory obligations. The Technical Partner never holds third-party funds, does not issue any payment orders, and cannot intervene in payouts or account management. It acts neither on behalf of third parties nor in the name of CentralPay. The Technical Partner’s access is limited to the views and features strictly necessary for the transmission and tracking of Technical Instructions; there is no access to the “Technical Partner Account” as an account (no right of execution, no right of disposal, no access to balances) In the event of ORIAS registration as an IOBSP (intermediary – “MOBSP”) and if a separate contractual framework so provides, the Technical Partner may assist merchants in onboarding (providing a registration link, assisting with documentation), subject to prior approval by CentralPay 3. Common Compliance Rules For both models: The Partner is not a Payment Service Provider (PSP), has no authority to execute payment transactions, and does not hold any third-party funds in connection with payment services Accounts, the provision of funds, payouts, and the protection of funds are managed and overseen by CentralPay in its capacity as a payment service provider (PSP) No regulatory delegation of authority to provide payment services (such as a PSP agent) is granted to these partners 3.1. Contractual Relationship with Merchants The Partner (whether a technical partner or integration partner) maintains its own business relationship with its users and remains responsible for the services offered on its platform. It is free to define the terms and conditions of use applicable to its services. For their part, the affiliated merchants: Create their own CentralPay Merchant Profile as part of a personalized Enrollment process Sign the CCSP and the applicable subscription documents (including the designation of a partner, if applicable) directly with CentralPay Acknowledge that the partner may perform certain technical actions as part of its integration (e.g., submitting an order, submitting a shopping cart, following technical instructions), without this constituting a payment order or access to funds CentralPay then works directly with the affiliated Merchant to: creating and managing their account (electronic signature, POS assignment, linking to a partner) the regulatory processing of submitted supporting documents (KYC/KYB, anti-money laundering and counter-terrorism financing) updating documentation or conducting additional verifications necessary for the proper execution of payment services This entire organization is based on a strictly defined contractual framework: The partner signs a dedicated contract with CentralPay that outlines its role and access rights (API/portal) and, if applicable, the commission terms. Affiliated merchants sign their CentralPay contractual documents (CCSP and subscription) directly, in which their affiliation with the partner may be specified The partner’s terms and conditions apply solely to the use of its own platform. They may not interfere with CentralPay’s payment services or supersede CentralPay’s contractual documents. 4. ORIAS Declaration (IOBSP / “MOBSP”) An Integration Partner or a Technical Partner may, if required by its business activities, be registered with ORIAS as an IOBSP (intermediary—“MOBSP”). This status is distinct from thatof a Payment Service Provider (PSP) agent (as defined in Article L.523-1 of the Monetary and Financial Code). Depending on the applicable contractual framework, this registration may allow for: To present CentralPay’s services and assist the Merchant with the Onboarding process To assist with the preparation of the application (without ever replacing the regulatory reviews conducted by CentralPay) This status does not alter the restrictions set forth above in any way: it does not confer any rights to the funds or any authority to execute payment transactions. CentralPay remains solely responsible for onboarding, conducting regulatory checks, and executing payment services. MOBSP (Orias) Declaration ℹ️ Before reading this page, please see the section on onboarding for partners. CentralPay partners based in France operate as intermediaries in banking and payment services (IOBSP), specifically as Intermediaries for Banking and Payment Services (MOBSP). To become a CentralPay MOBSP partner, you must register with ORIAS. CentralPay will then need to register you as its Intermediary. Your part of the process can be completed in a few hours, while CentralPay’s part takes a few days. ORIAS, for its part, may take up to two months to review your application. Although this process is your responsibility, CentralPay can assist you if needed. Please contact our customer service department if you need help. 1. Prepare your data 1.1. Get your certificate of appointment After signing your partnership agreement with CentralPay: Send an email to our customer service department that includes your company name and SIREN number CentralPay will respond with your authorization certificate. You will need this document for step 3.3. 1.2. Gather your supporting documents During Step 3.3 of the registration process, you will need to provide the following supporting documents: Commercial register issued within the last three months Proof of professional qualifications: a degree from an accredited business or management school; an RNCP certification (NCF 122, 128, 313, or 314, levels 7 through 5); or recognition by the CIEP for foreign degrees If you do not have proof of professional competence accepted by Orias, please send an email to our customer service department. CentralPay can help you complete the necessary training. See the attached image, which refers to the Level III – IOBSP category (Level 3). 2. Create your ORIAS account 2.1. Access the form Go to the ORIAS website Scroll down until you see the » How Does It Work? » section . Click » Sign Up« You will be redirected to the registration form. 2.2. Enter the information Enter your SIREN number Enter your business information. Be sure to register as a legal entity. Enter your legal representative’s information Enter the contact information for your legal representative Enter your company’s contact information, including your website if you have one Enter your business address Check all the information you’ve entered, then click » Submit. » 2.3. Log in to your ORIAS account Check your inbox for an email from ORIAS (no-reply-orias@orias.fr). The email contains your username and a temporary password. Return to the ORIAS website Click » Sign In » / » Login » Enter your username and the temporary password provided in your email Follow the instructions on your screen to change your password, then save it After saving your new password, you will be redirected to your ORIAS account page 3. Submit a new registration request 3.1. Register Your Business Click » New Registration » to begin the registration process; a form will appear Select IOB Activity Next, select » Non-Exclusive Intermediary for Banking Transactions and Payment Services (MOBSP)« Click Submit 3.2. Please provide additional information 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 If a different registration type is specified, use your browser’s Back button to return to the previous page and try again. For the first question, select the answer: » I declare that I am not entrusted with any funds. » For the second question, select the answer: » Minor, » indicating to ORIAS that financial services are not your company’s primary business activity For the third question, select the answer: Yes, indicating to ORIAS that your company offers credit (or other banking and payment services) solely as a secondary service Click » Go to the ‘Supporting documents’ step » 3.3. Please provide your supporting documents Submit your Commercial register Submit your authorization form, which is the authorization certificate from Step 1.1 Submit your Professional Competency for « you » (Level I IOBSP), which serves as your proof of professional competence for Step 1.2. Click « Go to the next step« 3.4. Pay your registration fee The final step is to pay your registration fee. Please note that you are paying for registration as a non-exclusive Intermediary for banking transactions and payment services. Your registration cannot be finalized without paying the fee. Choose to pay with your credit card, or click » Select another payment method » to pay by Bank transfer or check. After you’ve paid, click » Download Invoice » to download your receipt Click » Complete Registration » to finalize your registration You will receive your ORIAS registration number by email, confirming that your registration is complete. Please email this number to CentralPay’s customer service department. 4. CentralPay registers you as a MOBSP After you email your Orias registration number to CentralPay, CentralPay will register you as a non-exclusive Intermediary for banking operations and payment services (MOBSP). 5. ORIAS reviews your application ORIAS will review your documents and application to ensure that your file is fully compliant. ORIAS will notify you of its final decision via email. If your application is approved, the email will also include the date on which your MOBSP status will take effect. Please feel free to contact ORIAS by phone (09.69.32.59.73) or email (contact@orias.fr) if you do not receive the information regarding your application in a timely manner. 6. Update your legal notices After receiving approval from ORIAS and becoming a MOBSP, be sure to update your legal notices. Add something similar to the following example to the footer of your website, to your legal notices page, and anywhere else you distribute or sell payment services. [Company Name], a company registered with the Trade and Companies Register (RCS) of [City of Registration] under number [RCS number], and listed in the Single Register of Insurance Intermediaries, Banking and Finance under registration number [ORIAS registration number] as a non-exclusive Intermediary for banking transactions and payment services. Intermediary Merchant Payment Service Provider Agent (PSP Agent) or Electronic Money Distributor (EMD) Certain projects require a specific regulatory framework that allows intermediaries to act in the name and on behalf of CentralPay, an institution authorized and supervised by the ACPR. Two main legal statuses can be utilized in France: Payment Service Provider (PSP) Agent, for projects requiring active management of payment flows (collections, transfers, Payouts), strictly within the scope of a mandate and under the responsibility of CentralPay The Electronic Money Distributor (EMD), for projects based on stored-value/Electronic money mechanisms (C2C platforms, prepaid cards, closed networks, etc.), under a distribution agreement These models can provide the intermediary with a high degree of operational autonomy, but they come with strict regulatory constraints and ongoing supervision, under the responsibility of CentralPay. 1. Payment Service Provider Agent (PSP Agent) 1.1. Typical Use Cases B2B platforms with complex financial flows Financial or cash management tools for third parties SaaS solutions that integrate payment collection and the distribution of funds to beneficiaries 1.2. Role of the Agent The PSP Agent acts as CentralPay’s regulatory representative for the provision of payment services, in the name and on behalf of CentralPay, within the limits of the configured mandate and technical rights. Features (depending on the scope of the contract and user permissions): Business development and promotion of CentralPay services to end users (the “Participants”) Assisting participants in opening CentralPay accounts (via the CentralPay process and/or the agent-guided process, depending on the selected model) Opening, on behalf of the Agent, special accounts dedicated to segregating cash flows (e.g., a Collection Account and a Commission Account), without the Agent becoming the owner of the Participants’ funds Submission to CentralPay of the requests/instructions necessary for the proper performance of services (e.g., allocation of funds, payout requests, refund requests), with CentralPay acting as the sole executor First-level (L1) support management and operational processing provided as an outsourced service, with escalation to CentralPay as needed 1.3. The 3 options in the Agent model (KYC/KYB delegation) CentralPay’s Agent model provides for three levels of delegation regarding registration and KYC/KYB checks. Only one option may be applied at a time, and the selected level is formalized in a contract: Option A – Basic Agent (no delegation of control): The Agent acts as a registered PSP Agent but without KYC/KYB delegation. The Agent is limited to establishing business connections and directs Participants to the processes and tools provided by CentralPay. The Agent is not authorized to collect supporting documents or perform any checks. Option B – Collection Agent (delegation of administrative completeness verification): The Agent is authorized to compile the Participant’s administrative file on behalf of CentralPay. The Agent collects the documents and performs strictly formal checks for completeness (legibility, apparent validity, and consistency of the documents). The Agent does not conduct risk analysis, sanctions/PPE screening, or in-depth analysis; the decision for onboarding remains with CentralPay. Option C – Delegated Compliance Officer (Level 1 delegation): This option is reserved for Agents with a dedicated compliance organization that has been expressly approved by CentralPay. The Agent may collect KYC/KYB documents, verify their completeness and consistency, and perform Level 1 due diligence that is exclusively formal and administrative in nature. The Agent may also participate in the handling of Level 1 alerts (collection, administrative assessment, and transmission) in accordance with strict procedures. CentralPay retains the final decision-making authority and may revoke this option at any time in the event of non-compliance. 1.4. CentralPay remains responsible CentralPay remains fully responsible for the services provided to Participants The Agent acts strictly within the scope of the mandate entrusted to him or her and in accordance with the technical authorizations that have been established Every activity carried out through the platform is auditable, traceable, and documented 1.5. Regulatory Requirements Signing an Agent Agreement and Related Documents Official registration as an Agent in the ACPR registry (via CentralPay) Assessment of the intermediary’s organizational capacity and enhanced requirements (compliance, security, confidentiality, business continuity, internal control) Periodic reporting to CentralPay (business volume, incidents, service quality) and the option for document-based or on-site audits Mandatory training for operational teams, based on the scope of delegation 2. Electronic Money Distributor (EMD) 2.1. Typical Use Cases Peer-to-Peer (C2C) Sales Platforms Prepaid card or gift card networks Stored-Value Loyalty Programs 2.2. Role of the EMD The EMD acts on behalf of CentralPay in the provision and operational management of Electronic money, within the limits set forth in the distribution agreement and the rules established by CentralPay. Features: Connecting CentralPay with end users (the “Sub-merchants” / Electronic money users) Transmission of payment instructions (amount, Beneficiary, fee) to CentralPay, with CentralPay acting as the sole issuer and executor Viewing and tracking transactions through a dedicated monitoring system (e.g., consolidated view/centralized account based on the model), without the right to dispose of the funds Transmission of requests/instructions enabling the transfer of Electronic money between users within a defined framework (closed network, contractual rules), under CentralPay’s control Submission of requests for refund of electronic money at the user’s request, in accordance with applicable rules Maintenance of a Commission Account to collect the fees specified in its Terms of Service 2.3. Functional Limitations The EMD never holds the funds: it acts as an intermediary and cannot retain, store, or use the funds collected It is not permitted to create or issue Electronic money on its own It may not offer payment services that are not explicitly authorized under the contractual framework established by CentralPay He may not subcontract his business activities unless expressly authorized by CentralPay 2.4. Regulatory Requirements Signing of a Distribution Agreement with CentralPay Declaration / compliance procedures carried out on the initiative and under the responsibility of CentralPay, in accordance with applicable regulations Organizational Compliance: Internal Security Measures, Confidentiality, Incident Management, Business Continuity Continuous monitoring by CentralPay, including: Monitoring API Usage / Permissions Regular reports on business activity Mandatory Training for EMD Teams Validation of the Terms of Service provided to users PSP Agent Declaration (ACPR) Role of the ACPR The ACPR (Prudential Supervision and Resolution Authority), which operates under the auspices of the Banque de France, maintains a registry of regulated service providers and their agents. Under the PSP Agent model, CentralPay (an authorized institution) prepares and files the Agent’s notification/registration application and serves as the sole point of contact for the ACPR. Prospective agents cannot submit applications directly to the ACPR: all communications are managed by CentralPay, with the agent’s assistance (submitting documents, answering questions, and providing organizational details). Steps for Registering an Agent StepDescription1. Scope Definition & Pre-qualificationAnalysis of the model, functional scope, and responsibilities; legal validation and compliance on the CentralPay side2. Compiling the FileCollection of company and executive documents, organizational information (processes, controls, security), Terms of Use for Agents and Participants, and business forecasts3. Deposits / ACPR ExchangesDeposit processed by CentralPay; responses to additional requests managed by CentralPay with the assistance of the Agent4. Registration & ActivationOnce the entry has been made in the public registry, CentralPay can activate the Agent in production (until then, the activity remains suspended) 1. Responsibilities of the Agent Asa PSP Agent, the Agent acts in the name and on behalf of CentralPay within the scope defined in the contract. CentralPay remains fully responsible for the provision of payment services and regulatory compliance; however, the Agent must strictly adhere to the operational procedures and requirements established by CentralPay, particularly with regard to AML/CFT and fraud prevention. The Agent is responsible, in particular, for: An understanding of the activities of its merchants/participants and the economic soundness of the transactions initiated through its model Implementation of the expected operational procedures (internal processes, controls, traceability, incident management) and compliance with CentralPay guidelines Fraud prevention (detection, escalation, cooperation) and compliance with due diligence obligations within the assigned scope Cooperation with CentralPay in response to requests for information (inspections, audits, ACPR inquiries), and the prompt submission of requested documents The agent must sign: A PSP Agent Agreement with CentralPay (mandate / outsourcing / supervision / payment flows) The CCSP (Payment Services Framework Agreement) applicable to the Agent in its capacity as a business customer of CentralPay (platform access, subscribed services) Agent Terms of Service (or equivalent documentation) governing the Agent’s relationship with its Participants, including the necessary details regarding payment plans, allocation, Release dates, and any requests for Payouts Depending on the scope of authority (and the applicable appendices), certain functions may be delegated to the Agent (e.g., KYC/KYB data collection and formal checks). CentralPay retains sole decision-making authority regarding onboarding, the opening and maintenance of accounts, and regulatory decisions. 2. Become a CentralPay Partner The process for registering an Agent depends on the completeness of the application, the level of operational delegation, and communication with the ACPR. In practice, it generally takes several weeks and may be extended if additional documents are requested. 2.1. Summary of the Steps StepDetails1. Understanding the Model– Defining the scope and responsibilities– Description of workflows and use cases– Approval by CentralPay’s Legal and Compliance teams2. Commercial Offer– Presentation by CentralPay– Alignment with the scope (technical, operational, compliance)3. Formalization in a Contract– Signing of the Agent Agreement– Signing/acceptance of the CCSP applicable to the Agent4. Testing & Integration– Sandbox access– Technical integration & acceptance testing– Verification of user flows (onboarding/consent/disclosures)5. ACPR Directive– Collection of regulatory documents– Preparation and submission of the application to the ACPR by CentralPay– Handling of questions and requests for additional information6. Deployment– Deployment to production after registration– Testing in the Sandbox / supervised production 2.2. Documents to Submit to CentralPay Phase 1 – Preliminary Compilation of the Case File Agent Terms of Service / Contractual Documentation for Participants (program details, consents, “agent” information, breakdown/commission, Release dates, refund terms) Definition of Regulated Activities, Related Services, and Business Model Organizational Chart (including a breakdown of staff by department) and descriptions of key roles Shareholder Structure / Corporate Governance 3-Year Forecast Transactions Entrusted to CentralPay (volumes, amounts, types) Projected number of enrollments over 3 years Scenario involving the reuse of existing KYC data (migration), if applicable Phase 2 – Filing with the regulator Signing of the Agent Agreement (prior to submitting the application) CentralPay collects and deposits the following items (indicative list): A Commercial register extract less than 3 months old for the company and, if applicable, for its parent or controlling companies Signed, up-to-date Articles of association Color copies of executives’ identity documents Resumes of executives, dated and signed Criminal Records of Executives (if requested) Declarations of No Criminal Convictions by Executives Breakdown of Share Ownership / Shareholder Structure Commercial register for shareholder corporations (if applicable) + group organizational chart (if applicable) Recent General Meeting Minutes (merger, loss of more than 50% of the capital, change in management, etc.) Register of Beneficial Owners (if requested) The ACPR may also request the following: Recent Balance Sheets and Income Statements Current or prior year financial statements Any document deemed useful by the regulator 2.3. Processing Times Processing time by CentralPay: typically ~2 weeks from receipt of a complete application ACPR processing time: varies; can take up to ~2 months, with initial questions typically received within 30 days 2.4. End of Investigation The Agent may begin the activity only after it has been effectively registered (published in the public registry) Prior to registration, CentralPay does not activate the Agent in production and may keep the Agent’s accounts blocked (IN/OUT) The Agent is listed in public records with a registration number or identifier that may need to be included in certain communications or disclosures. 2.5. Special Feature – Telecom Agents for Value-Added Services (premium-rate numbers) Requirement to Provide a Summary of the Minutes by Operator Submission of detailed breakdown of receipts (breakdown) to CentralPay CentralPay implements additional controls to ensure that Merchants/Participants are properly credited 3. Processing Agent Workflows This section defines the rules governing the processing and control of financial flows in an Agent model. It specifies the responsibilities, the account structure, and the additional controls implemented to meet legal and prudential requirements. 3.1. Responsibility of the Institution In accordance with the Monetary and Financial Code (CMF), the Agent acts in the name and on behalf of CentralPay. CentralPay remains fully responsible for compliance with regulatory obligations, particularly with regard to anti-money laundering and counter-terrorism financing (AML/CTF), security, and the protection of funds. CentralPay has implemented an internal control system that covers the entire transaction cycle, including transactions processed through its agents (supervision, auditability, traceability). 3.2. Employee Operating Accounts To facilitate the segregation of funds, CentralPay provides (in its records): Collection Account: a transit account used to receive funds related to transactions initiated through the Agent model, and to facilitate their allocation or distribution to Participants’ accounts Commission Account: intended to receive the Agent’s compensation (commissions) and to pay fees owed to CentralPay Agent Payment Account (optional): intended for the Agent’s day-to-day transactions on its own account (funding, payment of SaaS invoices, etc.), separate from third-party transactions and commissions 3.3. Processing Transactions When an Agent initiates a transaction on behalf of one or more Participants: The Agent provides CentralPay with the information needed for allocation (Participants’ shares, Agent’s commission, reference numbers), either directly as part of the transaction or, at the latest, by the end of the day via batch processing when objectively necessary. CentralPay then carries out, under its own responsibility, the allocation and breakdown processes and, where applicable, the necessary transactions (including the transfer of commissions to the Commission Account), in accordance with the contractual framework and regulatory controls. The Collection Account must remain a transit account: the Agent must not passively hold third-party funds beyond the time strictly necessary for processing (no “floating cash”). Payout procedures (Payout) are managed by CentralPay; the Collection Account is not intended to serve as a “general-purpose” payout account. 3.4. Release dates and estimated amounts How It Works Depending on the contract model, the Agent may submit or configure (as an intermediary authorized by the Participant) a release date (API endpoint: EscrowDate) corresponding to a verifiable contractual event (e.g., delivery, shipment, or completion of services). This date does not trigger any automatic financial consequences: CentralPay retains sole discretion over the release of funds (approval, Refusal, postponement, or other measures). Until the release date: The funds remain protected and unavailable (neither accessible to the Agent nor usable by the Participant) The Participant can view the transaction asan upcoming transaction or a projected amount, with the availability date displayed, without it being credited to the Available balance Compliance Requirements The use of release dates is permitted only if: Clear information: The Agent must explain to its Participants how the Release date works (principles, timeframes, exceptions). Transparent display: The Participant interface must show the transaction date, the expected availability date, and a status of “unavailable before this date.” Provisions in the Agent Terms of Use: The Terms of Use signed by the Participants must specify: The release date corresponds to the contractual date on which the funds become available. That the Participant may not use these funds before that date. CentralPay may refuse, delay, suspend, or restrict the provision of services in accordance with its regulatory obligations, risk policy, and payment network rules. Exception Handling: In the event of a cancellation, refund, unpaid balance, or dispute: If the source transaction is reversed or subject to a refund, the funds will not be made available. In the event of an unpaid transaction (e.g., a credit card chargeback) or a risk, CentralPay may withhold or adjust pending amounts or offset them against future payments. The release date may be postponed (due to a Dispute or incident); the Participant must be notified via their interface or notifications. This mechanism is neither an escrow arrangement under civil law nor a fiduciary custody service: it is a deferred release of funds under the exclusive control of CentralPay. 3.5. Outgoing Payout Management How It Works CentralPay can provide Participants (and, depending on their authorizations, the Agent acting as an authorized intermediary) with various methods for managing Payouts: Automated Payouts (setting up rules/schedules, when provided for in the contract) One-time Payouts (request via portal/API depending on granted permissions) Compliance Requirements When the Agent is authorized to submit payout requests on behalf of its Participants, it must obtain their consent and clearly describe the process in the Agent Terms of Service. CentralPay remains solely responsible for the execution of such requests and may face refusals, suspend them, or regulate them in accordance with its obligations. Key pointsThe system described guarantees:- Strict separation of third-party funds, commissions, and Own accounts- The Agent has no right to dispose of third-party funds- Complete traceability of transactions (auditability)- Active oversight by CentralPay- Compliance with CMF requirements and supervisory expectations Compliance with this policy is mandatory. Any irregularities (fraud, incidents, inconsistencies in allocation, or failure to follow procedures) must be reported immediately to your CentralPay Account Manager. ME Distributor Declaration (ACPR) Electronic money issuers such as CentralPay may authorize Electronic Money Distributors (EMDs) to collect funds and facilitate transactions for the purchase and refund of electronic money within a defined network of Sub-merchants. The registration process for an Electronic Money Distributor consists of two steps: Preparation of the tax return: handled by CentralPay with the assistance of its future EMD Processing of the application by the ACPR: handled by CentralPay. It does not require any specific approval from the ACPR. 1. Responsibilities of the EMD Intermediary CentralPay handles all complex processes or those requiring specialized expertise. However, you remain responsible for ensuring a high standard of compliance with AML/CFT (Anti-Money Laundering and Counter-Terrorist Financing) rules. As such, you must provide CentralPay with assurance regarding the conditions under which transactions processed through you are carried out, including: The Economic Reality of the Transaction The Fight Against Fraud Regulated institutions that use distributors remain responsible for the transactions carried out by those distributors. A clear legal framework has therefore been established. To qualify as an Electronic money Distributor, the following requirements must be met: The execution of an Electronic money Distribution Framework Agreement that defines the relationship between the parties Terms of Use for Electronic Money In the event that an EMD internalizes certain functions assigned to CentralPay as part of its regulatory obligations, a contract for Outsourced Essential Services must be signed. This is the case, for example, if the agent handles KYC management in-house or develops management interfaces that would prevent CentralPay from providing the service without the assistance of the PSEE. 2. Become an EMD Intermediary Becoming a CentralPay distributor involves following a series of steps that take several weeks to complete. Here is a guide to help you better understand the issues related to the acceptance and subsequent processing of distributors’ filing documents. 2.1. Summary of the Steps Understanding the Model Explanation of the services provided by the intermediary Defining Its Business Model Approval by CentralPay’s Risk & Compliance Department Sales Offer Overview Validation Approval of the intermediary by CentralPay’s Risk & Compliance Department Approval of the commercial proposal and pricing terms by the intermediary Test & Intégration Setting Up the Sandbox Project Kickoff Meeting with the Technical Team Technical Integration Phase Review of the ACPR File Gathering the information needed to compile the file Preparing the Application Overview of the Case Go-Live Acceptance Testing Go-Live 2.2. Documents to Submit to CentralPay Coming Soon
Engagements de disponibilité CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants : CPAY APITraitement des opérations de paiementCPAY PORTALSPortail d’inscription, client et marchand99,9 %sur une base annuelle99,5 %sur une base annuelleLe critère d’atteinte de cette garantie correspond à la disponibilité de l’API de paiement.Le critère de cette garantie correspond à la disponibilité des portails de l’environnement de production.
Availability Commitments CentralPay guarantees the annual availability of its services (SLA & BCP) according to the following standards: CPAY APIProcessing of payment transactionsCPAY PORTALSOnboarding Portal, Customer Portal, and Merchant Portal99.9% on an annual basis99.5% on an annual basisThe criterion for determining whether this guarantee has been met is the availability of the payment API.The criterion for this guarantee is the availability of the portals in the production environment.
Automatisations, connexions et exports Articles Notifications email/sms Services anti-fraude Versement sortantpayout Import de fichiers Exports comptables Exports de données Webhooks Notifications email/sms 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) Versement sortant (payout) Remboursement carte (refund) Abonnement (subscription) Crédit carte (credit) Transaction SDD (sddTransaction) Transaction SDD inversée (sddTransactionReversal) Mandat (mandate) 1. Types de scénarios de notification Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre profil Marchand 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. 2. Paramétrage des modèles de notification 2.1. Paramétrage des modèles (templates) 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). Accès paramétrage de templates emails : Recette Portail Marchand Production Portail Marchand Accès paramétrage de templates SMS : Recette Portail Marchand Production Portail Marchand Accès paramétrage de templates hooks : Recette Portail Marchand Production Portail Marchand 2.2. Paramétrage du header et footer pour templates emails 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. Accès paramétrage de l’en-tête d’email (header) : Recette Portail Marchand Production Portail Marchand Accès paramétrage du pied de page d’email (footer) : Recette Portail Marchand Production Portail Marchand 3. Paramétrage des scénarios de notification 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. Accès paramétrage de scenarios de notification : Recette Portail Marchand Production Portail Marchand 3.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’activation) 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. 3.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 : Liste blanche (whitelist)Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation des transactions. Elle 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 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) Règles d’acceptation des transactionsCet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement Scoring anti-fraudeLe 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 faibleTransaction acceptéePas d’action De 20 à 59 = risque moyenTransaction acceptéeAction : Envoi événement avec détail du score pour revue manuelle et apprentissage +60 = risque élevéTransaction refuséeAction : 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 ALLOWAutorise le paiement REFUSERefuse le paiement ALERTAdresse 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. Liste des attributs : AttributDescriptionType de valeursExemple#always Aucune #transactions[_état][_entité] [_temporalité]Quota du nombre de transactions [état] [entité] [temporalité]Entiers#transactions_amount[_état] [_entité][_temporalité]Quota du montant des transactions [état] [entité] [temporalité]Entiers#amountMontant de la transaction en centimesEntier#amount > 100#card_countryPays d’émission de la carteChaîne de caractères ISO 3166-1 alpha-3#card_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#card_establishmentEtablissement de la carte #card_productType de carte‘gold’, ‘platinium’ #card_product_typeType de carte (perso ou corp.)CONSUMER CORPORATE#card_product_type = ‘CONSUMER’#card_regionRégion d’émission de la carte‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#commercial_brandMarque de la carteVISA MASTERCARD AMEX OTHER#commercial_brand != ‘VISA’#currencyDevise de la transactionChaîne de caractères ISO 4217#currency = ‘EUR’#ip_countryPays de l’adresse IPChaîne de caractères ISO 3166-1 alpha-3#ip_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#ip_regionRégion de l’adresse IP‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#is_anonymous_ipEst une IP anonymeTRUE | FALSE#is_anonymous_ip = TRUE#is_three_d_secureEst une transaction 3D-SecureTRUE | FALSE#is_three_d_secure = TRUE#payout_amountMontant de versementEntier#payout_amount > 100#payout_currencyDevise de versementChaîne de caractères ISO 4217#payout_currency = ‘EUR’#risk_scoreScore d’antifraudeDouble#risk_score > 2,34#custom_acceptance_data[‘key’] = ‘value’champs customisékey : Regex [a-zA-Z0-9_-]value: Regex [a-zA-Z0-9_-]#custom_acceptance_data[‘product_category’] = ‘high’ Dans le cas du custom_acceptance_data[‘key’] = ‘value’, afin qu’il soit pris en compte il est nécessaire que l’exact même champs soit reporté dans la requête de l’objet visé. Les opérateurs logiques et parenthésage : Opérateurs logiques AND et OR La syntaxe utilisée pour définir les règles permet de créer plusieurs conditions au sein de la même règle. Les conditions resteront définies de la même manière, à la seule différence qu’un mot clé sera placé entre les conditions. Les mots clés 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 » correspond à l’inclusion et le « OR » à l’exclusion. Exemple : ALLOW if #amount < 1000 and #card_country = 'FRA' L’exemple précédent autorise les paiements dont le montant est inférieur à 10 ET dont la carte est française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée. Exemple : ALLOW if #amount < 1000 or #card_country = 'FRA' L’exemple précédent autorise les paiements dont le montant est inférieur à 10 OU dont la carte est française. Si l’une ou l’autre des conditions définies est remplie, l’action sera exécutée. Parenthèses L’utilisation des parenthèses dans la définition d’une règle multi-conditions permet de définir des blocs de conditions et les priorités entre ces blocs. Le principe est le même que celui des priorités pour les opérateurs mathématiques. Exemple : ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR') Dans l’exemple précédent, le moteur de règle va d’abord interpréter le bloc (#card_country = ‘FRA’ or #currency = ‘EUR’). C’est à dire que le paiement sera autorisé si (la carte est française ou que la devise est l’euro), ET que le montant est inférieur à 10. Ordre d’exécution des règles Les règles sont exécutées dans un ordre à définir. Cet ordre est important car dès qu’une transaction répond aux critères d’une règle, les règles suivantes ne seront pas traitées. Les règles sont exécutées dans l’ordre d’affichage de la liste de l’interface.Un indicateur de position est affiché dans chaque liste. Pour changer la position d’une règle, il suffit de la faire glisser à la position souhaitée. Exemples de règles : ALLOW if #amount < 1000 and #transactions_amount_daily < 10000 Cet exemple autorise les transactions dont le montant est inférieur à 10 si la somme des montants des transactions de la journée est inférieur à 100. REFUSE if #risk_score > 3 or (#ip_regions = 'ASIA_PACIFIC' and #card_region = 'ASIA_ PACIFIC') Cette règle bloque les paiements si le score de risque dépasse 3 ou que l’IP utilisée ainsi que la région d’émission de la carte correspondent à la zone ‘ASIA_PACIFIC’. THREE_D_SECURE if #card_country NOT IN ('FRA', 'USA', 'GBR') Cette règle demande une transaction 3D Secure si le pays de la carte n’est pas la France, les Etats-Unis, ou la Grande Bretagne. ALLOW (#amount < 10000 and #transactions_amount_daily < 100000) or (#currency IN ('EUR', 'USD') and #transactions_amount_monthly < 1000000) Cet exemple précédent AUTORISE les paiements SI le montant est INFÉRIEUR à 100 ET que la somme des montants des transactions du jour est INFÉRIEUR à 1000 OU que la devise est € ou $ ET que la somme des montants des transactions du mois est INFÉRIEURE à 10 000. Les opérateurs logiques « AND » et « OR » ne sont syntaxiquement correct qu’en minuscule. 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) ℹ️ 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. Versement sortant Les versements sortants sont des virements émis depuis votre compte de paiement CentralPay vers le compte bancaire associé. Ils peuvent être réalisés manuellement depuis le Portail Marchand ou via l’API Payment, ou encore être automatisés selon la fréquence définie dans vos paramètres de reversement. Depuis le Portail Marchand, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et exécuter les versements. 1. Modes de versement 1.1. Versement automatique Le titulaire du compte peut définir la périodicité du versement automatique selon trois options : Quotidienne Hebdomadaire : choix du jour de la semaine (ex. chaque mardi) Mensuelle : choix du jour du mois (ex. le 5 du mois) Le service de versement automatique exécute chaque virement à 01h00 du jour sélectionné, à partir des fonds disponibles (AVAILABLE) sur le compte de paiement. Cas d’un versement hebdomadaire programmé le mardi : CentralPay exécutera la création du virement le mardi matin avec les fonds disponibles sur le compte de paiement jusqu’à 01h00. ℹ️ En cas de versement quotidien, l’intégralité des fonds disponibles est virée chaque jour vers votre compte bancaire. Le solde de votre compte CentralPay est donc nul en début de journée.Si vous devez effectuer des remboursements clients, ceux-ci pourront être réalisés à partir du début d’après-midi (vers 14h), une fois les fonds des transactions du jour crédités par les banques émettrices. Une évolution permettra prochainement de différer les versements automatiques d’un ou plusieurs jours afin de conserver des fonds disponibles tout en maintenant une lecture comptable cohérente. Contactez le support si vous êtes concernés. Lettrage des versements automatiques Chaque versement automatique est associé à la liste détaillée des opérations incluses dans le virement. Cette fonction permet un rapprochement automatique entre les opérations encaissées et le versement correspondant. Le détail des opérations d’un versement est accessible depuis le Portail Marchand Administration Mon compte Versements en sélectionnant le versement souhaité. Le premier versement automatique ne contient pas encore de détail, car il initialise le système de lettrage. Les versements suivants incluent la liste complète des opérations concernées. 1.2. Versement manuel (via Portail Marchand ou API) Un versement peut être exécuté manuellement depuis le Portail Marchand ou via l’API Payment. Le montant du versement peut être librement défini, dans la limite des fonds disponibles sur le compte. Les ordres de versement effectués avant 05h00 sont exécutés immédiatement. Ceux créés après 05h00 sont exécutés le lendemain à 05h00. 2. Identification des opérations liées à chaque versement Le lettrage des versements est une fonctionnalité du Portail Marchand qui associe chaque versement automatique à la liste détaillée des opérations incluses dans ce versement. Périmètre : le lettrage s’applique exclusivement aux versements automatiques. Les versements manuels ne disposent pas de cette association automatique. Contenu du détail : liste des opérations correspondant au versement, incluant les montants, dates de valeur et références nécessaires au rapprochement comptable. 2.1. Accéder au détail d’un versement automatique Depuis le Portail Marchand Administration Mon compte Versements : Sélectionnez le versement concerné dans la liste. Ouvrez le détail du versement pour afficher les opérations associées. Utilisez le bouton Exporter pour télécharger les données si nécessaire. Ou, depuis le Portail Marchand Compte Mes opérations : Filtrez par Type = Versement sortant ou par Date de valeur. Dans la colonne Actions du versement, cliquez sur la flèche, puis sur Voir les opérations du versement. ℹ️ Le premier versement automatique ne comporte pas de détail : il sert d’initialisation du lettrage. Les versements automatiques suivants incluent la liste complète des opérations associées. 2. Disponibilité des fonds Les versements comprennent uniquement les fonds disponibles (AVAILABLE) sur le compte de paiement. Les fonds issus d’une transaction par carte bancaire deviennent disponibles à J+2. Exemple : Une transaction carte réalisée le lundi apparaît en « Pending » le lundi, devient « Available » le mardi soir, le versement automatique est exécuté le mercredi à 01h00, et le virement SEPA est crédité sur le compte bancaire le jeudi. ℹ️ Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (cas spécifique aux partenaires / mandataires). 3. Création d’un versement manuel 3.1. Depuis le Portail Marchand Seuls les utilisateurs titulaires du compte (« Legal ») ou disposant d’un rôle administrateur (« Natural Admin ») peuvent créer un versement manuel depuis le Portail Marchand. Depuis le Portail Marchand Administration Mon compte Versements : Cliquez sur Transferts externes. Sélectionnez le compte d’émission. Indiquez le montant du versement et l’IBAN destinataire. Cliquez sur Confirmer le transfert. Une fois validé, le versement est exécuté selon les délais mentionnés ci-dessus. Recette Portail Marchand – Versements sortants Production Portail Marchand – Versements sortants 3.2. Depuis l’API La création d’un versement manuel peut également être réalisée via l’API Payment. Pour les détails techniques, consultez la documentation développeur : Développeurs Versement sortant . 4. Versements en devises via le réseau SWIFT Les virements internationaux sont exécutés via le réseau SWIFT, contrairement aux virements SEPA utilisés dans la zone européenne. Ce service permet d’émettre des versements en euros ou dans d’autres devises vers des comptes situés hors zone SEPA. Si le compte bénéficiaire n’est pas accessible via SEPA ou s’il s’agit d’un compte en devise, les versements peuvent être réalisés via SWIFT. Ce service est activé sur demande auprès de votre interlocuteur CentralPay. ℹ️ Les virements SWIFT présentent des frais supérieurs aux virements SEPA. Il est possible de paramétrer un seuil de fonds disponibles avant déclenchement automatique des versements. 5. Retours, statuts et webhooks Pour suivre le cycle de vie des versements et automatiser leur traitement : Consulter la documentation des statuts de versement ➝ Consulter la documentation des webhooks de versement ➝ Import de fichiers Service d’import de fichiers CentralPay Le Service d’import de fichiers vous permet de piloter des opérations CentralPay en masse, en déposant de simples fichiers CSV plutôt qu’en appelant l’API ligne à ligne. À ce jour, deux types de fichiers sont pris en charge : Fichiers Customer : pour créer vos profils clients (customers) dans CentralPay, avec en option un compte bancaire (BankAccount) et/ou un mandat de prélèvement SEPA (SDD). Fichiers Operation : pour déclencher des prélèvements SEPA (SDD) sur vos profils clients et/ou des virements SEPA sortants (SCT) vers les comptes bancaires de vos profils clients. Pour chaque fichier déposé, CentralPay vous renvoie des fichiers de compte-rendu vous indiquant, ligne par ligne, ce qui a été accepté, refusé ou rejeté. 1. À qui s’adresse ce service ? Ce service est conçu pour les marchands qui traitent des volumes d’opérations et préfèrent un échange par fichiers à une intégration API en temps réel : encaissements récurrents par prélèvement, versements sortants groupés, constitution ou migration d’un référentiel clients/mandats SEPA, etc. L’échange s’effectue de façon asynchrone : vous déposez vos fichiers, CentralPay les traite, puis met à votre disposition les comptes-rendus. 2. Prérequis 2.1 Prérequis communs Un compte marchand CentralPay actif avec accès au Portail Marchand. Votre identifiant marchand (UUID) CentralPay. Les 8 premiers caractères de cet UUID servent à nommer vos fichiers (voir section 5.1 Règles communes à tous les fichiers). La mise en place d’un canal d’échange sécurisé (SFTP, voir section 4. Mise en place du SFTP) sauf si un autre canal a été convenu avec votre interlocuteur CentralPay. Une phase de recette avec l’équipe intégration CentralPay avant la mise en production. 2.2 Prérequis pour les opérations de virements SEPA sortants (CREDIT / SCT) Le service de virement SEPA sortant doit être activé sur votre profil marchand. 2.3 Prérequis pour les opérations prélèvements SEPA (DEBIT / SDD) Les prélèvements imposent des prérequis supplémentaires, à valider avant tout premier dépôt : Votre ICS (Identifiant Créancier SEPA) doit être déclaré dans votre profil marchand CentralPay (démarche réalisée avec votre interlocuteur CentralPay). Le service de prélèvement SEPA doit être activé sur votre profil marchand (démarche réalisée avec votre interlocuteur CentralPay). Validation de la Conformité du mode de gestion des mandats. Dans ce parcours d’intégration, CentralPay ne recueille pas la signature du mandat : vous transmettez vous-même, dans le fichier Customer, la référence du mandat (MANDATE_RUM) et sa date de signature (MANDATE_SIGN_DATE). En conséquence : Votre interlocuteur CentralPay doit valider en amont le principe de gestion des mandats par ce biais, qu’il s’agisse d’une migration de mandats existants ou de mandats nouvellement collectés par vos soins. Vous restez responsable de la collecte, de la validité juridique et de la conservation des mandats signés, ainsi que de l’information préalable de vos clients (préavis, RUM, ICS). Sans ces prérequis, les fichiers comportant des prélèvements ne pourront pas être traités, que ce soit en environnement de RCT ou de PROD. 3. Comment fonctionne le cycle de traitement ? Dépôt. Vous déposez vos fichiers CSV (Customer et/ou Operation) sur le SFTP, dans le dossier de dépôt. Contrôle technique (ACK). CentralPay vérifie chaque ligne (format, champs obligatoires, cohérence) et vous renvoie un fichier .ACK : chaque ligne y est marquée ACCEPTED ou REFUSED, avec le motif d’erreur le cas échéant. Traitement bancaire. Les lignes techniquement valides sont transmises aux circuits bancaires SEPA. Compte-rendu de règlement (SET). Pour les opérations, CentralPay produit des fichiers .SET indiquant l’avancement du règlement (ACCEPTED / PENDING / REFUSED) une fois les retours bancaires disponibles. Rejets post-règlement (RET). En cas de rejet SEPA survenant après le règlement (par exemple une contestation client), CentralPay produit un fichier .RET reprenant le motif et le montant retournés. Les fichiers Customer ne génèrent pas de compte-rendu bancaire (.SET / .RET) : seul un .ACK est renvoyé. 4. Mise en place du SFTP Le SFTP est le canal d’échange recommandé. Il garantit un dépôt et une récupération sécurisés, et permet à CentralPay de récupérer et traiter automatiquement vos fichiers. 4.1 Modèle d’échange Le SFTP est hébergé par le marchand. CentralPay se connecte à votre SFTP, récupère les fichiers dans un dossier de sortie et y dépose les comptes-rendus dans un dossier d’entrée. 4.2 Convention de dossiers L’échange repose sur deux répertoires : RépertoireSensContenuDossier de dépôt (nommé /OUT)Marchand → CentralPayVos fichiers Customer et Operation à traiterDossier de retour (nommé /IN)CentralPay → MarchandLes comptes-rendus .ACK, .SET, .RET 4.3 Étapes de mise en place Demander l’activation auprès de votre interlocuteur CentralPay. Échanger les accès : authentification par clé SSH. Il convient de créer deux espaces : un SFTP dédié à la recette et un dédié à la production Les informations du SFTP (hote + login) devront nous être fournies par email Afin que nous puissions nous connecter à votre SFTP, une clé publique Centralpay (par environnement) vous sera communiquée Par ailleurs, il est recommandé de mettre en liste blanche (whitelist) les adresses IP de CentralPay (celles-ci vous seront communiquées lors de votre intégration). Utilisation de l’arborescence définie précédemment (dossiers de dépôt /OUT et de retour /IN). Tester en recette avec un fichier d’exemple, valider la bonne réception des .ACK, puis basculer en production. 5. Préparer vos fichiers 5.1 Règles communes à tous les fichiers Format : CSV. La ligne d’en-tête (header) est obligatoire dans tous les fichiers, en entrée comme en sortie. Nommage : Fichier client : <8 premiers caractères de votre UUID marchand en minucules>_CUST_<référence libre>.csv Fichier opérations : <8 premiers caractères de votre UUID marchand en minucules>_OPER_<référence libre>.csv La référence libre est à votre main (souvent un horodatage). Le nom complet ne doit pas dépasser 100 caractères. Exemples : c494f877_CUST_20241025110500.csv · c494f877_OPER_20241025110500.csv Montants : exprimés en unité mineure (centimes d’euro) et toujours positifs. Le sens (débit/crédit) est porté par la colonne OPERATION_TYPE, pas par le signe du montant. Légende des colonnes dans les tableaux ci-dessous : Obligatoire : la ligne est refusée si la valeur est absente. Facultatif : peut être laissé vide. Conditionnel : requis uniquement dans le cas décrit. 5.2 Fichier Customer Ce fichier crée vos profils clients. Selon votre besoin, il peut créer en une seule ligne : le profil client seul, le client + un compte bancaire, ou le client + un compte bancaire + un mandat SDD. ColonneFormatStatutDescriptionMERCHANT_IDUUIDObligatoireVotre identifiant marchand CentralPayMERCHANT_CUSTOMER_IDString(100)FacultatifVotre référence client interne (doit être unique). Fortement recommandé pour réconcilier vos opérationsDESCRIPTIONString(256)FacultatifChamp libre à votre usageTYPEINDIVIDUAL / LEGAL_ENTITYObligatoirePersonne physique ou moraleSOCIAL_REASONString(35)ConditionnelRequis si TYPE = LEGAL_ENTITY (raison sociale)FIRST_NAMEString(35)ObligatoirePrénom (du représentant légal si LEGAL_ENTITY)LAST_NAMEString(35)ObligatoireNom (du représentant légal si LEGAL_ENTITY)EMAILString(255)FacultatifPHONEString(25)FacultatifFormat international +<indicatif><numéro>ADDRESS_LINE_1String(255)ObligatoireADDRESS_LINE_2/3/4String(255)FacultatifCompléments d’adressePOSTAL_CODEString(15)ObligatoireCaractères autorisés : lettres, chiffres, espace, tiretCITYString(35)ObligatoireCOUNTRYCode ISO 3166 alpha-3ObligatoireEx. FRAIBANString(34)ConditionnelRequis pour créer un compte bancaire (donc pour tout virement sortant ou prélèvement futur). Validé selon ISO 13616BICString(11)ConditionnelRequis avec l’IBANMANDATE_RUMString(35)ConditionnelRequis pour créer un mandat SDD. Référence unique de mandat (RUM) du mandat déjà signé côté marchandMANDATE_SIGN_DATEDate YYYY-MM-DDConditionnelRequis pour créer un mandat SDD. Date de signature du mandat Logique « avec ou sans »➜ Client seul : renseignez l'identité et l'adresse, laissez IBAN/BIC et les colonnes mandat vides.➜ Client + compte bancaire (nécessaire pour un virement sortant futur) : ajoutez IBAN + BIC.➜ Client + mandat SDD (nécessaire pour un prélèvement SEPA futur) : ajoutez IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE. Exemple de fichier Customer Télécharger l’exemple de fichier .csv « Customer » Trois clients : un particulier (INDIVIDUAL, sans raison sociale) et deux personnes morales (LEGAL_ENTITY), chacun avec son propre compte bancaire et son mandat SDD. À retenir sur cet exemple : Le téléphone est au format international (+33..., sans le 0 initial). Pour le client INDIVIDUAL, le champ SOCIAL_REASON est laissé vide (deux ; consécutifs) ; il est renseigné uniquement pour les LEGAL_ENTITY. Chaque client a son propre IBAN/BIC et sa propre MANDATE_RUM. Les IBAN/BIC ci-dessus sont des coordonnées de test fournies pour la recette : remplacez-les par les coordonnées réelles de vos clients en production. En retour, le fichier .ACK vous renverra pour chaque ligne acceptée un CUSTOMER_ID (UUID). Conservez ces identifiants : ce sont eux que vous réutiliserez dans vos fichiers Operation. Colonnes ajoutées par CentralPay dans le fichier .ACK de retour : ColonneDescriptionSTATUSACCEPTED ou REFUSED (pas de PENDING pour les fichiers customer)ERROR_CODEValorisé si REFUSED (ex. INVALID_PARAMETERS)ERROR_MESSAGEDétail technique (en anglais)CUSTOMER_IDUUID du client créé, valorisé si ACCEPTED (à conserver pour vos opérations futures) 5.3 Fichier Operation Ce fichier déclenche des opérations sur des profils clients déjà existants dans CentralPay. ColonneFormatStatutDescriptionMERCHANT_IDUUIDObligatoireVotre identifiant marchand CentralPayPOINT_OF_SALE_IDUUIDFacultatifPoint de vente concerné. Si vide, le point de vente par défaut est utiliséMERCHANT_TRANSACTION_IDString(35)FacultatifVotre référence d’opération (unique chez vous)DESCRIPTIONString(140)FacultatifDescription à votre usageEND_TO_END_IDString(35)FacultatifRéférence SEPA end-to-end visible par le client final. À défaut, reprend MERCHANT_TRANSACTION_IDREMITTANCE_INFOString(140)FacultatifLibellé SEPA (unstructured remittance information) visible par le client final. À défaut, reprend DESCRIPTIONCUSTOMER_IDUUIDConditionnelIdentifiant CentralPay du client. CUSTOMER_ID ou MERCHANT_CUSTOMER_ID doit être renseignéMERCHANT_CUSTOMER_IDString(100)ConditionnelVotre référence client interne (alternative au CUSTOMER_ID généré par CentralPay)MANDATE_RUMString(35)FacultatifPour cibler un mandat précis si le client en possède plusieurs (si OPERATION_TYPE = DEBIT)AMOUNTEntierObligatoireMontant en centimes d’euro, valeur positive uniquementCURRENCYCode ISOObligatoireEUR (devise euros obligatoire pour virements et prélèvements SEPA)OPERATION_TYPEDEBIT / CREDITObligatoireDEBIT = prélèvement SEPA (SDD)CREDIT = virement SEPA sortant (payout)EXPECTED_SETTLEMENT_DATEDate YYYY-MM-DDFacultatifDate de règlement souhaitée. Par défaut : J+1 ouvré Choisir le bon OPERATION_TYPE➜ DEBIT (prélèvement) : Si vous souhaitez débiter le compte bancaire de votre client via un prélèvement SEPA. Nécessite que le profil client dispose d'un mandat SDD valide. ➜ CREDIT (virement) : Si vous souhaitez créditer le compte bancaire de votre client via un virement SEPA sortant. Nécessite que le client dispose d'un compte bancaire déclaré (IBAN/BIC). Exemple de fichier Operation Télécharger l’exemple de fichier .csv « Operation » Cinq opérations sur les clients créés à l’étape précédente, référencés par leur CUSTOMER_ID (les UUID renvoyés dans le .ACK du fichier Customer) : trois prélèvements (DEBIT) et deux virements (CREDIT). À retenir sur cet exemple : Le client est désigné par son CUSTOMER_ID (UUID stable et unique). Il peut sinon être désigné par votre MERCHANT_CUSTOMER_ID mais vous devez vous assurer de son unicité et de son bon formatage. MERCHANT_TRANSACTION_ID et END_TO_END_ID sont uniques pour chaque opération. Les montants sont en centimes (4990 = 49,90 €) et toujours positifs ; c’est OPERATION_TYPE qui donne le sens (débit ou crédit). REMITTANCE_INFO porte un libellé explicite, visible du client final sur son relevé. Privilégiez des caractères simples (norme SEPA : pas d’accents ni de caractères spéciaux). Colonnes ajoutées par CentralPay dans les fichiers de retour : Dans le .ACK (contrôle technique) : ColonneDescriptionSTATUSACCEPTED, PENDING ou REFUSEDERROR_CODEValorisé si REFUSEDERROR_MESSAGEDétail techniqueOPERATION_IDUUID de l’opération, valorisé si ACCEPTED (clé de suivi dans les fichiers suivants) Dans le .SET (compte-rendu de règlement) : ColonneDescriptionSTATUSACCEPTED, PENDING ou REFUSEDERROR_CODEValorisé si REFUSED (ex. FRAUD_ALERT)ERROR_MESSAGEDétail bancaire du refusSETTLEMENT_DATEDate de valeur si ACCEPTEDOPERATION_IDUUID de l’opération Dans le .RET (rejet post-règlement) : ColonneDescriptionREASON_CODECode de rejet SEPA (ex. AC04 = compte clos)REASON_MESSAGEDétail textuel du rejetRETURN_AMOUNTMontant retourné (positif)RETURN_DATEDate du rejetOPERATION_IDUUID de l’opération d’origine 6. Comprendre les fichiers de retour 6.1 Nommage des fichiers de retour Les fichiers de retour reprennent le nom de votre fichier d’origine, suivi du type de compte-rendu, d’une empreinte de traitement et d’un horodatage : <nom du fichier d'origine au format csv>.<ACK|SET|RET>-<hash>-<timestamp>.csv <hash> : empreinte du fichier traité (permet de relier le retour au traitement). <timestamp> : horodatage du traitement. Exemple : C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv 6.2 Les trois niveaux de compte-rendu FichierQuandCe qu’il vous dit.ACKImmédiatement après réceptionValidité technique ligne à ligne. Toutes les lignes sont retournées, y compris celles refusées.SETUne fois les retours bancaires disponibles (opérations uniquement)Avancement du règlement. Seules les lignes ACCEPTED au niveau .ACK y figurent.RETEn cas de rejet après règlement (opérations uniquement)Rejets SEPA postérieurs (ex. contestation client) Délais indicatifs de règlement (jours ouvrés) : virement (SCT) 1 à 2 jours ; prélèvement SEPA (SDD) 3 à 5 jours. Un rejet post-règlement (.RET) peut survenir jusqu'à 8 semaines après l'opération en cas de contestation. 6.3 Bonnes pratiques de réconciliation OPERATION_ID est la clé de correspondance entre les fichiers .ACK, .SET et .RET d’une même opération. Conservez-le. CUSTOMER_ID (renvoyé dans le .ACK customer) est l’identifiant à réutiliser dans vos fichiers Operation. Renseignez systématiquement vos propres références (MERCHANT_CUSTOMER_ID, MERCHANT_TRANSACTION_ID) pour faciliter le rapprochement de votre côté. 7. Erreurs fréquentes 7.1 Refus techniques (fichier .ACK) CodeSignificationActionMISSING_COLUMNSColonne(s) attendue(s) absente(s)Vérifier l’en-tête et la structure du CSVINVALID_PARAMETERSValeur de champ invalideCorriger la donnée fautive (format, longueur, énumération)BAD_ROWLigne mal forméeVérifier le séparateur et le nombre de colonnes de la ligneCOMPUTATION_EXCEPTIONErreur de traitement interneContacter le support CentralPay (Liste non exhaustive. Les messages sont retournés ligne par ligne et peuvent concatener plusieurs erreurs.) 7.2 Anomalies de rapprochement client MessageSignificationActionNo customer fetch errorLe client lié à l’opération est introuvableVérifier la cohérence du CUSTOMER_ID / MERCHANT_CUSTOMER_ID. Au besoin, déposer un fichier Customer pour les clients manquantsToo much customer found for merchantPlusieurs clients partagent le même MERCHANT_CUSTOMER_IDGarantir l’unicité de votre référence client ; nous contacter pour arbitrer (fusion / mise à jour)Unexpected service responseErreur interne CentralPayContacter le support CentralPay 8. Points d’attention La ligne d’en-tête est obligatoire dans chaque fichier. Les montants sont en centimes et toujours positifs. Une opération peut apparaître dans plusieurs .SET successifs si son statut évolue (PENDING → ACCEPTED/REFUSED). Conservez le mapping OPERATION_ID / CUSTOMER_ID entre vos systèmes et CentralPay. Toute première mise en place fait l’objet d’une recette avec l’équipe intégration avant production. 9. Démarrer Vérifiez vos prérequis, en particulier la chaîne ICS + service SDD + validation Conformité si vous prévoyez des prélèvements. Demandez l’ouverture du canal SFTP auprès de votre interlocuteur CentralPay. Préparez un fichier d’exemple et validez-le en recette. Passez en production. Pour toute question sur la mise en place, contactez votre interlocuteur CentralPay ou le support. Exports comptables Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail Marchand. 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 Marchand Fichiers d’export . 1. Export comptable des opérations du compte 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, etc. 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énominationSignificationwallet_ididentifiant du comptewallet_namenom du compteowner_namenom de la sociétévalue_datedate de valeur de l’opérationoperation_idréférence Centralpay de l’opérationoperation_datetimedate d’opérationsource_typetype d’opérationsource_idréférence permettant de lier plusieurs opérationsnaturenature de l’opérationdebit_amountmontant des opérations de type « débit »credit_amountmontant des opérations de type « crédit »currencydevise de l’opérationcustom_referenceréférence personnalisée de l’opérationcustom_labelnom personnalisé de l’opérationthird_party_ididentifiant du destinataire de l’opérationthird_party_labelnom du destinataire de l’opérationthird_party_countrypays du destinataire de l’opérationpayout_numbernuméro du payout Accès : Recette Portail Marchand – Opérations Production Portail Marchand – Opérations 2. Télécharger le rapport financier mensuel Chaque début de mois, en plus de la facture, un relevé de compte est généré, puis mis à disposition dans l’espace sécurisé de votre compte ( Mes comptes Relevés de compte ). Il présente les montants totaux de crédit et de débit réalisés, incluant un détail « dont fonds » et « dont frais » afin de distinguer la nature. Nous vous proposons deux types de relevés : détaillé ou synthétique. - Le relevé détaillé fait apparaitre l'ensemble des opérations de la période sélectionnée.⚠️ Si vous possédez un grand nombre d'opérations, il est possible que celles-ci n'apparaissent pas sur le relevé. Dans ce cas, nous vous conseillons de réaliser un export au format CSV, Excel ou JSON.- Le relevé synthétique regroupe vos opérations par jour et par type d'opération, pour la période sélectionnée. Pour bien comprendre votre relevé de compte détaillé :A) Le total du montant des débits sur votre compte pour la période donnée :– dont fonds : ensemble des débits de nature « fond » (versements sortants, etc.)– dont frais : ensemble des débits de nature « frais » (frais CentralPay, etc.)B) Le total du montant des crédits sur votre compte pour la période donnée :– dont fonds : ensemble des encaissements sur votre compte (= chiffre d’affaires).– dont frais : ensemble des opérations pour compenser des opérations ou ajuster des frais (remboursement de frais, etc.).C) Solde de clôture du mois précédent le relevé.D) Solde de clôture du mois du relevé téléchargé. Accès : Recette Portail Marchand – Documents Production Portail Marchand – Documents Exports de données Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre portail Marchand. 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 Marchand Compte Exports 1. Export des transactions cartes 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énominationSignificationtransaction_creation_datedate de créationtransaction_ididentifiant de transactiontransaction_amountmontanttransaction_currencydevisetransaction_payout_amountvaleur de devise de règlementtransaction_payout_currencydevise de règlementtransaction_commision_amountfrais sur la transactiontransaction_commision_currencydevise des fraistransaction_fee_amountfrais fixes par transactiontransaction_3ds3DS (0=non, 1=oui)transaction_descriptiondescription définie par le marchandtransaction_sourceEC Ecommerce, DP Deposit, MO Mail ordertransaction_bank_coderetour autorisation banquetransaction_statusstatut de la transactiontransaction_authorization_statusstatut de l’autorisationtransaction_authorization_codecode d’autorisationtransaction_capture_statusstatut de la capturetransaction_capture_datedate de la capturetransaction_capture_amountmontant de la capturemerchant_transaction_ididentifiant de transaction marchandpoint_of_sale_ididentifiant du point de ventepoint_of_sale_namenom du point de ventemerchant_ididentifiant marchandmerchant_namenom du marchanddispute_amountmontant de la contestationdispute_currencydevise de la contestationdispute_datedate de la contestationrefund_amountmontant du remboursementrefund_currencydevise du remboursementrefund_datedate du remboursementcard_ididentifiant de la carte de paiementcard_first66 premiers chiffres de la cartecard_last44 derniers chiffres de la cartecard_cardholder_namenom du porteurcard_cardholder_emailemail du porteurcard_typetype de carte (crédit/débit/prepaid)card_productnom du produit carte (Infinite, Gold…)card_product_typecarte consumer ou corporatecard_commercial_brandréseau carte (VISA/Mastercard/CB)card_regioncontinent d’origine de la cartecard_countrypays d’origine de la cartecard_establishment_namenom de l’établissement qui fournit la cartecustomer_ididentifiant clientend_user_ipIP de l’utilisateurend_user_languagelangue de l’utilisateurbrowser_user_agentnavigateur de l’utilisateurreceipt_emailmail de réception de l’utilisateurclearing_numbernuméro de clearingmerchant_category_codeactivité du marchand Accès : Recette Portail Marchand – Transactions Production Portail Marchand – Transactions 2. Export des remboursements cartes 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. Accès : Recette Portail Marchand – Remboursements cartes Production Portail Marchand – Remboursements cartes 3. Export des contestations de transactions cartes 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. Accès : Recette Portail Marchand – Contestations cartes Production Portail Marchand – Contestations cartes 4. Export des abonnements (cartes et SDD) 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. Accès : Recette Portail Marchand – Abonnements Production Portail Marchand – Abonnements Webhooks Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (events) qui surviennent sur votre profil Marchand 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’un évènement intervient sur votre profil Marchand CentralPay. Par exemple, une transaction réussie ou échouée, la création d’un nouvel abonnement (subscription), 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. Consultez la liste des webhooks dans la rubrique : Développeurs Webhook notifications
Automations, integrations and exports Articles Email/SMS notifications Anti-fraud services Outgoing paymentpayout File Import Accounting Exports Data Exports Webhooks Email/SMS notifications Notifications can be sent based on events related to certain API objects: Payment request (paymentRequest) Chargeback (dispute) Installment payment (installment) Card Transaction (transaction) Payout (payout) Card Refund (refund) Subscription (subscription) Card credit (credit) SDD Transaction (sddTransaction) Reversed SDD Transaction (sddTransactionReversal) Mandate (mandate) 1. Notification scenario types Automatically notify your customers and alert your colleagues when certain events occur on your CentralPay Merchant profile: receipt of a transfer, customer dispute, payment failure, etc. You control the content of each notification using custom templates and define a delivery method by email, by SMS, or by JSON. This automates the reconciliation of your collections, customer notifications, and even updates to your information system. 2. Configuring notification templates 2.1. Template configuration To start configuring your notifications, you must create your communication templates (email, SMS, or hook) by filling in the requested elements, such as the email subject, the sender name and email address, the message body, etc. You can insert dynamic elements (tags) into the message body by typing the « # » character, which will display the list of tags available for the selected notification scenario type. Please note: if you use email notifications, please ask us to provide our SPF and DKIM keys so that you can authorize CentralPay to send emails from your domain. For SMS, please calculate the number of characters: you will be billed for one SMS per 160 characters (including spaces). Access to email template settings: Recette Merchant Portal Production Merchant Portal Access to SMS template settings: Recette Merchant Portal Production Merchant Portal Access to hook template settings: Recette Merchant Portal Production Merchant Portal 2.2. Configuring the header and footer for email templates When creating an email template, a « header » and a « footer » must be created. For example, you can add your logo in the header and your contact details or legal notices in the footer. Access to email header settings: Recette Merchant Portal Production Merchant Portal Access to email footer settings: Recette Merchant Portal Production Merchant Portal 3. Configuring notification scenarios To specify to the platform the sending conditions and recipients for your notifications, you must create a scenario that includes one or more sending rules. After choosing the desired scenario type, you can create a sending rule. This rule is split into two parts: « WHEN » defines the event that triggers the notification, while « THEN » lets you choose the actions that will be performed when the event occurs. Access to notification scenario settings: Recette Merchant Portal Production Merchant Portal 3.1. In the « WHEN » section: Type « # » to view all attributes available for your scenario Use logical operators to build your rule: For strings (must be enclosed in quotation marks « »): = (equals) != (not equal to) in (in the following) not in (not in the following) For numbers (note: amounts must be entered in cents): = (equals) != (not equal to) < (less than) <= (less than or equal to) in (in the following) not in (not in the following) For booleans (true/false statements): = (equals) != (not equal to) You can use conditions to complete your rule: AND (to add another activation condition) OR (to add another activation possibility) It is possible to set priorities by placing parentheses around conditions. If you use AND and OR in the same rule, you must set priorities. If you use AND multiple times or OR multiple times, you must also prioritize each part. Rule examples: #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') Before you can save a rule, you must first test it using the « test » button. This verifies that your rule is grammatically correct. Please note: this does not guarantee that your rule matches what you intended to do. 3.2. In the « THEN » section: « THEN » lets you choose the recipient and the template used for the notification. You only have access to templates that match the required template type (SMS, Email, Hook) and that match the selected scenario type (card transaction, payment request, refund, etc.). Anti-fraud services 1. Organization of anti-fraud services Anti-fraud services are segmented into 4 tools: WhitelistThe purpose of the « whitelist » is to make the application of a transaction acceptance rule selective. It becomes inoperative for identified customers, VIPs, or trusted customers who are included in a « whitelist ». « Whitelists » apply to customer-specific data, such as their bank card number or IP address. This feature makes it possible to be less restrictive for certain user populations. BlacklistThe « blacklist » service makes it possible to refuse payments. As with « whitelists », « blacklists » apply to data specific to the cardholder (card, IP, phone, email). Transaction acceptance rulesThis tool makes it possible to build the specific rules that define the conditions for accepting a payment. Anti-fraud scoringThe scoring service detects potentially fraudulent transactions based on cross-analysis of multiple payment-related data points. The transaction processing phases are always executed in this order. If the input data meets all the conditions of the defined « whitelist », the « blacklist » service will not be executed and the transaction will be processed normally. If the input data meets one of the conditions of the defined « blacklist » and is not included in the « whitelist » service, the transaction will be refused and the « acceptance rule » service will not be executed. Each service is executed top-down with respect to the CentralPay actor hierarchy, which means that a platform can apply its anti-fraud service settings to its merchants, but the reverse is not possible. 2. Fraud scoring tool CentralPay relies on a fraud detection service based on machine learning algorithms. This predictive engine is built from a large sample of data provided by CentralPay in JSON format and sourced from transaction, refund, dispute data. This service relies on behavioral classification linked to the merchant’s business sector. The engine returns an action and a score. The action instructs the payment service to accept or refuse the transaction. The score classifies the risk level by providing a percentage probability of fraud. This score is then interpreted in the rules engine. The score enables the merchant and the algorithm to interact together to improve. Scores are classified as follows: From 0 to 19 = low riskTransaction acceptedNo action From 20 to 59 = medium riskTransaction acceptedAction: Send an event with score details for manual review and learning +60 = high riskTransaction refusedAction: Send an event with score details for manual review and learning This fraud exposure analysis service analyzes the fraud risk exposure context of each transaction. This service returns a score that makes it possible to automatically process the expected response in the rules engine. The score is based on cross-analysis of the following data: IP risk index Proxy detection TOR network detection IP address verification Confidence factors Email checks Address & phone checks High-risk shipping address IP address geolocation Identification of the devices used Email address Browser type Country mismatches Shipping address distance Billing address distance Email domain Time Order amount Country Phone number IP owner Email owner Card address verification 3. Whitelists and blacklists 3.1. Whitelist The purpose of the « whitelist » is to make the application of an acceptance rule selective. This rule becomes inoperative for identified customers, VIPs, or trusted customers who are included in a « whitelist ». The anti-fraud service then moves on to the next step. « Whitelists » apply to customer-specific data, such as their bank card number or IP address. This feature makes it possible to be less restrictive for a user population. 3.2. Blacklist The « blacklist » step makes it possible to refuse payments. As with « whitelists », « blacklists » apply to data specific to the cardholder: Country Geographic regions Card numbers Phone numbers Email IP addresses IBAN 4. Transaction acceptance rules The acceptance rules engine is a powerful, modular application component that makes it possible to adapt the processing behavior to be applied to each transaction, such as: Allow Refuse Alert This service therefore makes it possible to define actions to be performed on each transaction from a wide list of available attributes: fraud score, cardholder location, total sales amount over 7 or 30 days, VIP whitelist customer, specific parameter provided by the merchant… An acceptance rule is a logical condition. It makes it possible to authorize, restrict, and/or prohibit transactions.A rule consists of 4 elements: the action, the attributes, the operators, the values. The syntax of a rule is as follows: « Action » « if » « Attribute » « Comparison operator » « Comparison value » Example: REFUSE if card_country != 'FRA' The rule shown in this example makes it possible to automatically refuse payments when the card country is not France.The grammar syntax chosen by the platform for its acceptance engine is very similar to SQL syntax (used to interact with databases). 4.1. Available actions ALLOWAllows the payment REFUSERefuses the payment ALERTSends a « webhook » notification for the associated transaction 4.2. Available attributes By typing « # », the available attributes are displayed. In a rule, an attribute is always followed by a comparison operator. List of attributes: AttributeDescriptionValue typeExample#always None #transactions[_état][_entité] [_temporalité]Transaction count quota [state] [entity] [time period]Integers#transactions_amount[_état] [_entité][_temporalité]Transaction amount quota [state] [entity] [time period]Integers#amountTransaction amount in centimesInteger#amount > 100#card_countryCard issuing countryString ISO 3166-1 alpha-3#card_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#card_establishmentCard issuer #card_productCard type‘gold’, ‘platinium’ #card_product_typeCard type (personal or corporate)CONSUMER CORPORATE#card_product_type = ‘CONSUMER’#card_regionCard issuing region‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#commercial_brandCard brandVISA MASTERCARD AMEX OTHER#commercial_brand != ‘VISA’#currencyTransaction currencyString ISO 4217#currency = ‘EUR’#ip_countryIP address countryString ISO 3166-1 alpha-3#ip_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#ip_regionIP address region‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#is_anonymous_ipIs an anonymous IPTRUE | FALSE#is_anonymous_ip = TRUE#is_three_d_secureIs a 3D-Secure transactionTRUE | FALSE#is_three_d_secure = TRUE#payout_amountPayout amountInteger#payout_amount > 100#payout_currencyPayout currencyString ISO 4217#payout_currency = ‘EUR’#risk_scoreAnti-fraud scoreDouble#risk_score > 2,34#custom_acceptance_data[‘key’] = ‘value’custom fieldkey : Regex [a-zA-Z0-9_-]value: Regex [a-zA-Z0-9_-]#custom_acceptance_data[‘product_category’] = ‘high’ In the case of custom_acceptance_data[‘key’] = ‘value’, for it to be taken into account, the exact same field must be included in the request for the targeted object. Logical operators and parentheses: Logical operators AND and OR The syntax used to define rules makes it possible to create multiple conditions within the same rule. The conditions will remain defined in the same way, with the only difference being that a keyword will be placed between the conditions. The keywords are and and or. They define how the rules engine will interpret the sequence of these rules. « AND » corresponds to inclusion and « OR » to exclusion. Example: ALLOW if #amount < 1000 and #card_country = 'FRA' The previous example allows payments whose amount is less than 10 AND whose card is French. If one or the other of the defined conditions is not met, the action will not be executed. Example: ALLOW if #amount < 1000 or #card_country = 'FRA' The previous example allows payments whose amount is less than 10 OR whose card is French. If one or the other of the defined conditions is met, the action will be executed. Parentheses Using parentheses when defining a multi-condition rule makes it possible to define condition blocks and the priorities between these blocks. The principle is the same as for priorities in mathematical operators. Example: ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR') In the previous example, the rules engine will first interpret the block (#card_country = ‘FRA’ or #currency = ‘EUR’). That is, the payment will be allowed if (the card is French or the currency is the euro), AND the amount is less than 10. Rule execution order Rules are executed in an order to be defined. This order is important because as soon as a transaction meets the criteria of a rule, the following rules will not be processed. Rules are executed in the display order of the list in the interface.A position indicator is displayed in each list. To change a rule’s position, simply drag it to the desired position. Rule examples: ALLOW if #amount < 1000 and #transactions_amount_daily < 10000 This example allows transactions whose amount is less than 10 if the sum of the day’s transaction amounts is less than 100. REFUSE if #risk_score > 3 or (#ip_regions = 'ASIA_PACIFIC' and #card_region = 'ASIA_ PACIFIC') This rule blocks payments if the risk score exceeds 3 or if the IP used and the card issuing region correspond to the ‘ASIA_PACIFIC’ zone. THREE_D_SECURE if #card_country NOT IN ('FRA', 'USA', 'GBR') This rule requires a 3D Secure transaction if the card country is not France, the United States, or Great Britain. ALLOW (#amount < 10000 and #transactions_amount_daily < 100000) or (#currency IN ('EUR', 'USD') and #transactions_amount_monthly < 1000000) This previous example ALLOWS payments IF the amount is LESS THAN 100 AND the sum of the day’s transaction amounts is LESS THAN 1000 OR the currency is € or $ AND the sum of the month’s transaction amounts is LESS THAN 10,000. The logical operators « AND » and « OR » are only syntactically correct in lowercase. 4.3. Available comparison operators = (equals) != (not equal to) < (less than) <= (less than or equal to) in (in the following) not in (not in the following) The comparison operators = , != , > , < , >= and <= must be followed by a value. The IN and NOT IN operators are followed by a list of comparison values.A list of values is enclosed in parentheses, and the values inside the list are separated by commas. Example: REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF') The example shown above makes it possible to refuse all payments whose currency is not the Euro, the US Dollar, the Pound Sterling, or the Swiss Franc. This syntax avoids writing multiple rules or multiple conditions within the same rule. 4.4. Available values: Depending on the value type, the syntax used to define the value will not be the same: Integers (numeric value without decimals): Standard syntax (e.g., 100) Doubles (numeric value with decimals): The value is defined with a dot as the decimal separator (e.g., 12.32) String: The value is defined between single quotes (e.g., ‘FRA’) Booleans: The value is true or false (e.g., false) ℹ️ "Amount" values must be entered in centimes (e.g., for €10, enter 1000). 4.5. Logical operators: The available operators are AND and OR. They define how the rules engine will interpret the sequence of these rules. « AND » enables inclusion, while « OR » enables exclusion. Example: REFUSE if #amount < 1000 and #card_country != 'FRA' The example shown above makes it possible to refuse payments whose amount is less than €10 AND whose card is not French. If one or the other of the defined conditions is not met, the action will not be executed. Outgoing payment Outgoing payouts are transfers issued from your CentralPay payment account to the associated bank account. They can be carried out manually from the Merchant Portal or via the Payment API, or automated according to the frequency defined in your payout settings. From the Merchant Portal, only account-holder user profiles (known as « Legal ») can configure and execute payouts. 1. Payout methods 1.1. Automatic payout The account holder can set the frequency of the automatic payout using three options: Daily Weekly: choose the day of the week (e.g., every Tuesday) Monthly: choose the day of the month (e.g., the 5th of the month) The automatic payout service executes each transfer at 01:00 on the selected day, based on the fonds disponibles (AVAILABLE) in the payment account. Example of a weekly payout scheduled on Tuesday: CentralPay will create the transfer on Tuesday morning using the funds available in the payment account up to 01:00. ℹ️ In the case of a daily payout, all available funds are transferred each day to your bank account. Your CentralPay account balance is therefore zero at the start of the day.If you need to issue customer refunds, they can be processed from early afternoon (around 2:00 PM), once the day’s transaction funds have been credited by the issuing banks. An upcoming enhancement will allow automatic payouts to be deferred by one or more days in order to keep funds available while maintaining consistent accounting visibility. Contact Support if you are affected. Matching for automatic payouts Each automatic payout is linked to the detailed list of transactions included in the transfer. This feature enables automatic matching between collected transactions and the corresponding payout. The transaction details for a payout can be accessed from Merchant Portal Administration My account Payouts by selecting the desired payout. The first automatic payout does not yet include details, as it initializes the matching system. Subsequent payouts include the full list of the relevant transactions. 1.2. Manual payout (via Merchant Portal or API) A payout can be executed manually from the Merchant Portal or via the Payment API. The payout amount can be set freely, up to the limit of the funds available in the account. Payout orders placed before 05:00 are executed immediately. Those created after 05:00 are executed the next day at 05:00. 2. Identifying transactions linked to each payout Payout matching is a Merchant Portal feature that links each automatic payout to the detailed list of transactions included in that payout. Scope: matching applies exclusively to automatic payouts. Manual payouts do not have this automatic association. Detail contents: list of transactions corresponding to the payout, including the amounts, value dates, and references required for accounting reconciliation. 2.1. Access the details of an automatic payout From Merchant Portal Administration My account Payouts : Select the relevant payout from the list. Open the payout details to display the associated transactions. Use the Export button to download the data if needed. Or, from Merchant Portal Account My transactions : Filter by Type = Outgoing payout or by Value date. In the payout’s Actions column, click the arrow, then View payout transactions. ℹ️ The first automatic payout does not include details: it is used to initialize matching. Subsequent automatic payouts include the full list of associated transactions. 2. Funds availability Payouts include only the fonds disponibles (AVAILABLE) in the payment account. Funds from a card transaction become available at D+2. Example: A card transaction made on Monday appears as "Pending" on Monday, becomes "Available" on Tuesday evening, the automatic payout is executed on Wednesday at 01:00, and the SEPA transfer is credited to the bank account on Thursday. ℹ️ The EscrowDate setting may affect the date on which a transaction’s funds become available (specific to partners/agents). 3. Creating a manual payout 3.1. From the Merchant Portal Only account-holder users (« Legal ») or users with an administrator role (« Natural Admin ») can create a manual payout from the Merchant Portal. From Merchant Portal Administration My account Payouts : Click External transfers. Select the sending account. Enter the payout amount and the recipient IBAN. Click Confirm transfer. Once validated, the payout is executed according to the timeframes mentioned above. Recette Merchant Portal – Outgoing payouts Production Merchant Portal – Outgoing payouts 3.2. From the API Creating a manual payout can also be done via the Payment API. For technical details, see the developer documentation: Developers Outgoing payout . 4. Foreign-currency payouts via the SWIFT network International transfers are executed via the SWIFT network, unlike SEPA transfers used within the European area. This service allows payouts in euros or other currencies to accounts located outside the SEPA area. If the beneficiary account is not reachable via SEPA, or if it is a foreign-currency account, payouts can be made via SWIFT. This service is enabled on request through your CentralPay contact. ℹ️ SWIFT transfers incur higher fees than SEPA transfers. It is possible to configure a threshold of available funds before automatic payouts are triggered. 5. Returns, statuses, and webhooks To track the payout lifecycle and automate processing: View the payout status documentation ➝ View the payout webhook documentation ➝ File Import CentralPay File Import Service The File Import Service allows you to manage CentralPay operations in bulk by uploading simple CSV files instead of calling the API line by line. To date, two types of files are supported: Customer files: to create your customer profiles (customers) in CentralPay, optionally with a bank account (BankAccount) and/or a SEPA direct debit mandate (SDD). Operation files: to initiate SEPA direct debits (SDD) on your customer profiles and/or outgoing SEPA credit transfers (SCT) to your customer profiles’ bank accounts. For each file uploaded, CentralPay sends you report files indicating, line by line, what was accepted, refused, or rejected. 1. Who is this service for? This service is designed for Merchants who process large volumes of operations and prefer file exchange over real-time API integration: recurring direct debit collections, grouped outgoing payouts, creation or migration of a customer/SEPA mandate repository, etc. The exchange occurs asynchronously: you upload your files, CentralPay processes them, then makes the reports available to you. 2. Prerequisites 2.1 Common Prerequisites An active CentralPay merchant account with access to the Merchant Portal. Your CentralPay merchant ID (UUID). The first 8 characters of this UUID are used to name your files (see section 5.1 Rules common to all files). The setup of a secure exchange channel (SFTP, see section 4. SFTP Setup) unless another channel has been agreed upon with your CentralPay contact. A testing phase with the CentralPay integration team before going live. 2.2 Prerequisites for outgoing SEPA credit transfer operations (CREDIT / SCT) The outgoing SEPA credit transfer service must be activated on your merchant profile. 2.3 Prerequisites for SEPA direct debit operations (DEBIT / SDD) Direct debits require additional prerequisites, to be validated before any first submission: Your ICS (SEPA Creditor Identifier) must be declared in your CentralPay merchant profile (procedure carried out with your CentralPay contact). The SEPA direct debit service must be activated on your merchant profile (procedure carried out with your CentralPay contact). Validation of Mandate Management Mode Compliance. In this integration process, CentralPay does not collect the mandate signature: you transmit, in the Customer file, the mandate reference (MANDATE_RUM) and its signature date (MANDATE_SIGN_DATE). Consequently: Your CentralPay contact must validate the principle upstream of mandate management via this method, whether it concerns the migration of existing mandates or newly collected mandates by you. You remain responsible for the collection, legal validity, and retention of signed mandates, as well as for providing prior information to your customers (pre-notification, UMR, ICS). Without these prerequisites, files containing direct debits cannot be processed, whether in the Sandbox or LIVE environment. 3. How does the processing cycle work? Upload. You upload your CSV files (Customer and/or Operation) to the SFTP, in the upload folder. Technical Control (ACK). CentralPay checks each line (format, mandatory fields, consistency) and sends you an .ACK file: each line is marked ACCEPTED or REFUSED, with the error reason if applicable. Bank processing. Technically valid lines are transmitted to the SEPA banking circuits. Settlement Report (SET). For operations, CentralPay produces .SET files indicating the settlement progress (ACCEPTED / PENDING / REFUSED) once bank feedback is available. Post-settlement Rejections (RET). In case of a SEPA rejection occurring after settlement (e.g., a customer dispute), CentralPay produces an .RET file detailing the reason and the returned amount. Customer files do not generate a bank report (.SET / .RET): only an .ACK is returned. 4. SFTP Setup SFTP is the recommended exchange channel. It ensures secure upload and retrieval, and allows CentralPay to automatically retrieve and process your files. 4.1 Exchange Model The SFTP is hosted by the merchant. CentralPay connects to your SFTP, retrieves files from an outgoing folder, and deposits reports into an incoming folder. 4.2 Folder Convention The exchange relies on two directories: DirectoryDirectionContentUpload folder (named /OUT)Merchant → CentralPayYour Customer and Operation files to be processedReturn folder (named /IN)CentralPay → MerchantThe .ACK, .SET, reports .RET 4.3 Setup Steps Request activation from your CentralPay contact. Exchange access credentials: authentication via SSH key. Two spaces should be created: one SFTP dedicated to testing and one dedicated to production. The SFTP information (host + login) must be provided to us by email. For us to connect to your SFTP, a CentralPay public key (per environment) will be communicated to you. Furthermore, it is recommended to whitelist CentralPay’s IP addresses (these will be communicated to you during your integration). Use the directory structure defined previously (upload /OUT and return /IN folders). Test in the testing environment with an example file, validate the correct reception of .ACK, then switch to production. 5. Prepare your files 5.1 Rules common to all files Format: CSV. The header row is mandatory in all files, both input and output. Naming: Customer file: <8 premiers caractères de votre UUID marchand en minucules>_CUST_<référence libre>.csv Operations file: <8 premiers caractères de votre UUID marchand en minucules>_OPER_<référence libre>.csv The free reference is at your discretion (often a timestamp). The full name must not exceed 100 characters. Examples: c494f877_CUST_20241025110500.csv · c494f877_OPER_20241025110500.csv Amounts: expressed in minor unit (euro cents) and always positive. The direction (debit/credit) is indicated by the OPERATION_TYPE column, not by the sign of the amount. Column Legend in the tables below: Mandatory: the line is rejected if the value is missing. Optional: can be left blank. Conditional: required only in the described case. 5.2 File Customer This file creates your customer profiles. Depending on your needs, it can create in a single line: the customer profile alone, the customer + a bank account, or the customer + a bank account + an SDD mandate. ColumnFormatStatusDescriptionMERCHANT_IDUUIDMandatoryYour CentralPay merchant IDMERCHANT_CUSTOMER_IDString(100)OptionalYour internal customer reference (must be unique). Highly recommended for reconciling your operations. DESCRIPTIONString(256)OptionalFree field for your useTYPEINDIVIDUAL / LEGAL_ENTITYMandatoryIndividual or legal entitySOCIAL_REASONString(35)ConditionalRequired if TYPE = LEGAL_ENTITY (company name)FIRST_NAMEString(35)MandatoryFirst name (of the legal representative if LEGAL_ENTITY)LAST_NAMEString(35)MandatoryLast name (of the legal representative if LEGAL_ENTITY)EMAILString(255)OptionalPHONEString(25)OptionalInternational format +<indicatif><numéro>ADDRESS_LINE_1String(255)MandatoryADDRESS_LINE_2/3/4String(255)OptionalAddress supplementsPOSTAL_CODEString(15)MandatoryAllowed characters: letters, numbers, space, hyphenCITYString(35)MandatoryCOUNTRYISO 3166 alpha-3 codeMandatoryEx. FRAIBANString(34)ConditionalRequired to create a bank account (thus for any future outgoing transfer or direct debit). Validated according to ISO 13616 BICString(11)ConditionalRequired with IBANMANDATE_RUMString(35)ConditionalRequired to create an SDD mandate. Unique Mandate Reference (UMR) of the mandate already signed on the merchant sideMANDATE_SIGN_DATEDate YYYY-MM-DDConditionalRequired to create an SDD mandate. Mandate signature date "With or Without" Logic➜ Customer only: fill in identity and address, leave IBAN/BIC and mandate columns blank.➜ Customer + bank account (necessary for a future outgoing transfer): add IBAN + BIC.➜ Customer + SDD mandate (necessary for a future SEPA direct debit): add IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE. Example file Customer Download the « Customer » .csv example file Three customers: one individual (INDIVIDUAL, without company name) and two legal entities (LEGAL_ENTITY), each with their own bank account and SDD mandate. Key takeaways from this example: The phone number is in international format (+33..., without the initial 0). For customer INDIVIDUAL, the SOCIAL_REASON field is left empty (two consecutive ;); it is only filled in for LEGAL_ENTITY. Each customer has their own IBAN/BIC and their own MANDATE_RUM. The IBAN/BICs above are test credentials provided for the testing environment: replace them with your customers’ real credentials in production. In return, the .ACK file will send you a CUSTOMER_ID (UUID) for each accepted line. Keep these identifiers: you will reuse them in your Operation files. Columns added by CentralPay in the .ACK return file: ColumnDescriptionSTATUSACCEPTED or REFUSED (no PENDING for customer files)ERROR_CODEValued if REFUSED (e.g., INVALID_PARAMETERS)ERROR_MESSAGETechnical detail (in English)CUSTOMER_IDUUID of the created customer, valued if ACCEPTED (to be kept for your future operations) 5.3 File Operation This file triggers operations on customer profiles already existing in CentralPay. ColumnFormatStatusDescriptionMERCHANT_IDUUIDMandatoryYour CentralPay merchant IDPOINT_OF_SALE_IDUUIDOptionalConcerned Point of Sale (POS). If empty, the default point of sale is used. MERCHANT_TRANSACTION_IDString(35)OptionalYour operation reference (unique to you)DESCRIPTIONString(140)OptionalDescription for your useEND_TO_END_IDString(35)OptionalSEPA end-to-end reference visible to the end customer. Otherwise, it uses MERCHANT_TRANSACTION_IDREMITTANCE_INFOString(140)OptionalSEPA label (unstructured remittance information) visible to the end customer. Otherwise, it uses DESCRIPTIONCUSTOMER_IDUUIDConditionalCentralPay customer identifier. CUSTOMER_ID or MERCHANT_CUSTOMER_ID must be providedMERCHANT_CUSTOMER_IDString(100)ConditionalYour internal customer reference (alternative to the CUSTOMER_ID generated by CentralPay)MANDATE_RUMString(35)OptionalTo target a specific mandate if the customer has several (if OPERATION_TYPE = DEBIT)AMOUNTIntegerMandatoryAmount in centimes of euro; positive values onlyCURRENCYISO CodeMandatoryEUR (mandatory euro currency for SEPA transfers and direct debits)OPERATION_TYPEDEBIT / CREDITMandatoryDEBIT = SEPA direct debit (SDD)CREDIT = outgoing SEPA credit transfer (payout)EXPECTED_SETTLEMENT_DATEDate YYYY-MM-DDOptionalDesired settlement date. Default: J+1 business day Choose the correct OPERATION_TYPE➜ DEBIT (direct debit): If you wish to debit your customer's bank account via a SEPA direct debit. Requires the customer profile to have a valid SDD mandate. ➜ CREDIT (transfer): If you wish to credit your customer's bank account via an outgoing SEPA credit transfer. Requires the customer to have a declared bank account (IBAN/BIC). Example file Operation Download the « Operation » .csv example file Five operations on customers created in the previous step, referenced by their CUSTOMER_ID (the UUIDs returned in the .ACK of the Customer file): three direct debits (DEBIT) and two credit transfers (CREDIT). Key takeaways from this example: The customer is identified by their CUSTOMER_ID (stable and unique UUID). It can also be identified by your MERCHANT_CUSTOMER_ID but you must ensure its uniqueness and correct formatting. MERCHANT_TRANSACTION_ID and END_TO_END_ID are unique for each operation. Amounts are in centimes (4990 = 49.90 €) and are always positive; the sign ( OPERATION_TYPE ) indicates whether the transaction is a debit or a credit. REMITTANCE_INFO carries an explicit label, visible to the end customer on their statement. Prioritize simple characters (SEPA standard: no accents or special characters). Columns added by CentralPay in the return files: In the .ACK (technical control): ColumnDescriptionSTATUSACCEPTEDPENDING, or REFUSEDERROR_CODEValued if REFUSEDERROR_MESSAGETechnical detailOPERATION_IDOperation UUID, valued if ACCEPTED (tracking key in subsequent files) In the .SET (settlement report): ColumnDescriptionSTATUSACCEPTEDPENDING, or REFUSEDERROR_CODEValued if REFUSED (e.g., FRAUD_ALERT)ERROR_MESSAGEBank refusal detailSETTLEMENT_DATEValue date if ACCEPTEDOPERATION_IDOperation UUID In the .RET (post-settlement rejection): ColumnDescriptionREASON_CODESEPA rejection code (e.g., AC04 = account closed)REASON_MESSAGETextual detail of the rejectionRETURN_AMOUNTReturned amount (positive)RETURN_DATERejection dateOPERATION_IDOriginal operation UUID 6. Understanding the return files 6.1 Naming of return files Return files use the name of your original file, followed by the report type, a processing fingerprint, and a timestamp: <nom du fichier d'origine au format csv>.<ACK|SET|RET>-<hash>-<timestamp>.csv <hash> : fingerprint of the processed file (allows linking the return to the processing). <timestamp> : processing timestamp. Example: C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv 6.2 The three levels of reporting FileWhenWhat it tells you.ACKImmediately upon receiptTechnical validity line by line. All lines are returned, including those refused. .SETOnce bank feedback is available (operations only)Progress of settlement. Only lines ACCEPTED at the .ACK level are included. .RETIn case of rejection after settlement (operations only)Subsequent SEPA rejections (e.g., customer dispute) Indicative settlement times (business days): credit transfer (SCT) 1 to 2 days; SEPA direct debit (SDD) 3 to 5 days. A post-settlement rejection (.RET) can occur up to 8 weeks after the operation in case of dispute. 6.3 Best practices for reconciliation OPERATION_ID is the matching key between the .ACK, .SET, and .RET files of the same operation. Keep it. CUSTOMER_ID (returned in the customer .ACK) is the identifier to reuse in your Operation files. Systematically provide your own references (MERCHANT_CUSTOMER_ID, MERCHANT_TRANSACTION_ID) to facilitate reconciliation on your end. 7. Common errors 7.1 Technical refusals (.ACK file) CodeMeaningActionMISSING_COLUMNSExpected column(s) missingCheck the CSV header and structureINVALID_PARAMETERSInvalid field valueCorrect the erroneous data (format, length, enumeration)BAD_ROWMalformed lineCheck the separator and the number of columns in the lineCOMPUTATION_EXCEPTIONInternal processing errorContact CentralPay support (Non-exhaustive list. Messages are returned line by line and may concatenate multiple errors.) 7.2 Customer reconciliation anomalies MessageMeaningActionNo customer fetch errorThe customer linked to the operation is not foundCheck the consistency of CUSTOMER_ID / MERCHANT_CUSTOMER_ID. If necessary, upload a Customer file for missing customers. Too much customer found for merchantMultiple customers share the same MERCHANT_CUSTOMER_IDEnsure the uniqueness of your customer reference; contact us to arbitrate (merge / update).Unexpected service responseCentralPay internal errorContact CentralPay support 8. Points of attention The header row is mandatory in each file. Amounts are in centimes and are always positive. An operation may appear in several successive .SET if its status changes (PENDING → ACCEPTED/REFUSED). Maintain the OPERATION_ID / CUSTOMER_ID mapping between your systems and CentralPay. Any initial setup is subject to a testing phase with the integration team before production. 9. Getting Started Check your prerequisites, especially the ICS chain + SDD service + Compliance validation if you plan direct debits. Request SFTP channel activation from your CentralPay contact. Prepare an example file and validate it in the testing environment. Go live. For any questions regarding setup, contact your CentralPay representative or support. Accounting Exports You can perform several exports of your account in CSV, EXCEL, or JSON formats from your Merchant Portal. To do this, configure your search using the available filters on the desired export page, click « Search » then « Export ». Within seconds, you will receive the file by email and can download it at any time from your Merchant Portal Export Files . 1. Accounting Export of Account Transactions This export includes all debit and credit financial movements that have been made on your account: card authorizations, card transactions, SDD transactions, SCT transactions, transfers, payouts, CentralPay fees, etc. You will have the details of each transaction so that you can easily reconcile it with your invoices or files. The export contains the following data: DesignationMeaningwallet_idaccount identifierwallet_nameaccount nameowner_namecompany namevalue_datetransaction value dateoperation_idCentralPay transaction referenceoperation_datetimetransaction datesource_typetransaction typesource_idreference linking multiple transactionsnaturetransaction naturedebit_amountamount of « debit » type transactionscredit_amountamount of « credit » type transactionscurrencytransaction currencycustom_referencecustom transaction referencecustom_labelcustom transaction namethird_party_idtransaction recipient identifierthird_party_labeltransaction recipient namethird_party_countrytransaction recipient countrypayout_numberpayout number Access: Recette Merchant Portal – Transactions Production Merchant Portal – Transactions 2. Download the Monthly Financial Report At the beginning of each month, in addition to the invoice, an account statement is generated and made available in the secure area of your account ( My Accounts Account Statements ). It presents the total credit and debit amounts made, including a breakdown « of which funds » and « of which fees » to distinguish the nature. We offer two types of statements: detailed or summary.- The detailed statement shows all transactions for the selected period.⚠️ If you have a large number of transactions, they may not appear on the statement. In this case, we recommend performing an export in CSV, Excel, or JSON format.- The summary statement groups your transactions by day and by transaction type, for the selected period. To properly understand your detailed account statement:A) The total amount of debits on your account for the given period:– of which funds: all debits of « fund » nature (outgoing transfers, etc.)– of which fees: all debits of « fee » nature (CentralPay fees, etc.)B) The total amount of credits on your account for the given period:– of which funds: all deposits to your account (= revenue).– of which fees: all transactions to offset transactions or adjust fees (fee refunds, etc.).C) Closing balance of the month preceding the statement.D) Closing balance of the month of the downloaded statement. Access: Recette Merchant Portal – Documents Production Merchant Portal – Documents Data Exports You can perform several exports of your account in CSV, EXCEL, or JSON formats from your Merchant Portal. To do this, configure your search using the filters available on the desired export page, click « Search » then « Export ». Within seconds, you will receive the file by email and can download it at any time from your Merchant Portal Account Exports 1. Card Transaction Export This export allows you to obtain the details of card transactions you have processed over a given period.This export simplifies the reading of your card transactions by aggregating authorization and debit operations, and presents additional data specific to card transactions. The export contains the following data: DesignationMeaningtransaction_creation_datecreation datetransaction_idtransaction IDtransaction_amountamounttransaction_currencycurrencytransaction_payout_amountsettlement currency valuetransaction_payout_currencysettlement currencytransaction_commision_amounttransaction feestransaction_commision_currencyfee currencytransaction_fee_amountfixed fees per transactiontransaction_3ds3DS (0=no, 1=yes)transaction_descriptionmerchant-defined descriptiontransaction_sourceEC E-commerce, DP Deposit, MO Mail ordertransaction_bank_codebank authorization responsetransaction_statustransaction statustransaction_authorization_statusauthorization statustransaction_authorization_codeauthorization codetransaction_capture_statuscapture statustransaction_capture_datecapture datetransaction_capture_amountcapture amountmerchant_transaction_idmerchant transaction IDpoint_of_sale_idpoint of sale IDpoint_of_sale_namepoint of sale namemerchant_idmerchant IDmerchant_namemerchant namedispute_amountdispute amountdispute_currencydispute currencydispute_datedispute daterefund_amountrefund amountrefund_currencyrefund currencyrefund_daterefund datecard_idpayment card IDcard_first6first 6 digits of cardcard_last4last 4 digits of cardcard_cardholder_namecardholder namecard_cardholder_emailcardholder emailcard_typecard type (credit/debit/prepaid)card_productcard product name (Infinite, Gold…)card_product_typeconsumer or corporate cardcard_commercial_brandcard network (VISA/Mastercard/CB)card_regioncard origin continentcard_countrycard origin countrycard_establishment_namename of card-issuing institutioncustomer_idcustomer IDend_user_ipuser IPend_user_languageuser languagebrowser_user_agentuser browserreceipt_emailuser reception emailclearing_numberclearing numbermerchant_category_codemerchant activity Access: Recette Merchant Portal – Transactions Production Merchant Portal – Transactions 2. Card Refund Export This export allows you to obtain the details of card refunds you have processed over a given period. Access: Recette Merchant Portal – Card Refunds Production Merchant Portal – Card Refunds 3. Card Transaction Disputes Export This export allows you to obtain the details of card transaction disputes/chargebacks you have received over a given period. Access: Recette Merchant Portal – Chargebacks Production Merchant Portal – Chargebacks 4. Subscriptions Export (Cards and SDD) This export allows you to obtain the details of card and SDD subscriptions you have processed over a given period. Access: Recette Merchant Portal – Subscriptions Production Merchant Portal – Subscriptions Webhooks Webhooks let you send HTTP notifications to the URLs of your choice based on events (events) that occur on your CentralPay Merchant profile. These events correspond to the creation, data change, or status change of a CentralPay API object. The service therefore lets you notify your information system in real time as soon as an event occurs on your CentralPay Merchant profile. For example, a successful or failed transaction, the creation of a new subscription (subscription), a new Customer (customer), the receipt of an unpaid payment… Webhooks are grouped into two categories: Related to Points of Sale (« POS ») Related to « Accounts » The remote server must confirm successful receipt of the request by returning a 2XX code. Otherwise, a new request will be sent every 5 min for 2h. To ensure hooks are received correctly, we recommend using the Webhook Site service. Enter the URL provided by the site and the email address, then run your tests. Once you are satisfied with the hook responses, you can replace the email address and the URL with your own and run a new test. See the list of webhooks in: Developers Webhook notifications
Credit See more about Credit jQuery(document).ready( function($) { window.live_6ab3046e7a4a3 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e7a4a3", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e7a4a3.load(); });
Credit See more about Credit jQuery(document).ready( function($) { window.live_6ab3046e7ac35 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e7ac35", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e7ac35.load(); });
Points de vente 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 vos comptes 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 Marchand ou dans vos exports de données Lors de la création de votre profil Marchand CentralPay, un premier point de vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre portail Marchand pour paramétrer ce dernier, ou en créer de nouveaux : Recette Portail Marchand – Points de vente Production Portail Marchand – Points de vente 1. 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 profil marchand (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 Cocher « 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 profil marchand, 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 Marchand 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 Marchand…) 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 Marchand…) 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 emails 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)
Retail locations Points of sale (Point of Sales or POS) represent your various websites, stores, or sales teams. They allow you to segment the operations of your CentralPay accounts for the following purposes: Technical: You can configure different settings per point of sale (customer notifications, internal notifications, sender name for confirmation emails, logo displayed on the payment page, etc.) Administrative: You can restrict viewing or editing rights for your user profiles to specific points of sale Accounting: You can filter operations by point of sale in your Merchant Portal or in your data exports When your CentralPay Merchant profile is created, a first point of sale is automatically created. You can then access your Merchant Portal to configure it or create new ones: Recette Merchant Portal – Points of Sale Production Merchant Portal – Points of Sale 1. Settings Points of sale include a number of mandatory settings: General Settings Name: Point of sale name (visible to your customers) Site URL: If this is an e-commerce site, enter its URL. Otherwise, enter the URL of your corporate website. Point of sale country Configuration Technical type: Select « Remote sale » API users: Select the API users with access rights to this point of sale Contracts: Select the card VAD contract that has been configured for your merchant profile (generally, you will only have one contract available) Default contract: Select the card VAD contract that will be used by default (generally, you will only have one contract available) Priority Viban: If you want the Virtual IBANs displayed in payment requests to be those of the Customers, then select « Customer. » If you prefer to display Virtual IBANs dedicated to each payment request, then select « SCT. » If you need additional information, consult our section on Virtual IBANs Other settings are not mandatory but are important for your sales process: General Settings Logo: Upload your company logo or one dedicated to your point of sale. It will appear on the payment page generated by payment requests Merchant point of sale ID: Enter a custom reference allowing you to identify the point of sale more easily in your information systems Confirmation Emails Check « Enable payment confirmation email »: By checking this box, you activate the sending of an email to your customers when they make a card payment. This is a standardized, non-modifiable email containing a payment summary (legal name of your merchant profile, name of your point of sale, payment date, CentralPay transaction identifier, merchant transaction reference, merchant transaction description, payment authorization code, card brand, first 6 and last 4 digits of the card, transaction amount, transaction status). The language and footer of the email can be configured from the Merchant Portal Configuration Payment confirmation email Sender email: If you have checked the « Enable payment confirmation email » box, you can customize the sender address by using one of your email addresses (for example: no-reply@mydomain.com). Please ensure you ask us to provide you with our SPF and DKIM keys so that you can authorize CentralPay to send emails from your domain Sender name: If you have checked the « Enable payment confirmation email » box, you can customize the sender name (for example: MyCompany) Check « Receive a copy of the payment confirmation »: By checking this box, you activate the sending of a copy of the email sent to your customers when they make a card payment. This can allow you to be easily notified by email when a customer makes a payment Recipient email: If you have checked the « Receive a copy of the payment confirmation » box, you must enter the email address of the recipient of this copy Finally, other secondary settings are available: OTP OTP email sender email: Email displayed as the sender of One Time Password emails (login to the Merchant Portal Administration area, etc.) OTP email sender name: Name displayed as the sender of One Time Password emails (login to the Merchant Portal Administration area, etc.) OTP SMS sender phone number or name: Name or phone number displayed as the sender of One Time Password SMS messages (SEPA mandate validation, etc.) Communication settings: These settings are applied to emails or SMS messages transmitting the link to the payment form of a payment request (paymentRequest). They apply only when no scenario has been configured on the payment request. SMS sender: Correspondent name displayed on the SMS Email sender: Correspondent email displayed on the email Email sender name: Correspondent name displayed on the email Email reply address: Email used for replies to sent emails (coming soon) Email footer: Email footer (coming soon)
Versement sortant Les versements sortants sont des virements émis depuis votre compte de paiement CentralPay vers le compte bancaire associé. Ils peuvent être réalisés manuellement depuis le Portail Marchand ou via l’API Payment, ou encore être automatisés selon la fréquence définie dans vos paramètres de reversement. Depuis le Portail Marchand, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et exécuter les versements. 1. Modes de versement 1.1. Versement automatique Le titulaire du compte peut définir la périodicité du versement automatique selon trois options : Quotidienne Hebdomadaire : choix du jour de la semaine (ex. chaque mardi) Mensuelle : choix du jour du mois (ex. le 5 du mois) Le service de versement automatique exécute chaque virement à 01h00 du jour sélectionné, à partir des fonds disponibles (AVAILABLE) sur le compte de paiement. Cas d’un versement hebdomadaire programmé le mardi : CentralPay exécutera la création du virement le mardi matin avec les fonds disponibles sur le compte de paiement jusqu’à 01h00. ℹ️ En cas de versement quotidien, l’intégralité des fonds disponibles est virée chaque jour vers votre compte bancaire. Le solde de votre compte CentralPay est donc nul en début de journée.Si vous devez effectuer des remboursements clients, ceux-ci pourront être réalisés à partir du début d’après-midi (vers 14h), une fois les fonds des transactions du jour crédités par les banques émettrices. Une évolution permettra prochainement de différer les versements automatiques d’un ou plusieurs jours afin de conserver des fonds disponibles tout en maintenant une lecture comptable cohérente. Contactez le support si vous êtes concernés. Lettrage des versements automatiques Chaque versement automatique est associé à la liste détaillée des opérations incluses dans le virement. Cette fonction permet un rapprochement automatique entre les opérations encaissées et le versement correspondant. Le détail des opérations d’un versement est accessible depuis le Portail Marchand Administration Mon compte Versements en sélectionnant le versement souhaité. Le premier versement automatique ne contient pas encore de détail, car il initialise le système de lettrage. Les versements suivants incluent la liste complète des opérations concernées. 1.2. Versement manuel (via Portail Marchand ou API) Un versement peut être exécuté manuellement depuis le Portail Marchand ou via l’API Payment. Le montant du versement peut être librement défini, dans la limite des fonds disponibles sur le compte. Les ordres de versement effectués avant 05h00 sont exécutés immédiatement. Ceux créés après 05h00 sont exécutés le lendemain à 05h00. 2. Identification des opérations liées à chaque versement Le lettrage des versements est une fonctionnalité du Portail Marchand qui associe chaque versement automatique à la liste détaillée des opérations incluses dans ce versement. Périmètre : le lettrage s’applique exclusivement aux versements automatiques. Les versements manuels ne disposent pas de cette association automatique. Contenu du détail : liste des opérations correspondant au versement, incluant les montants, dates de valeur et références nécessaires au rapprochement comptable. 2.1. Accéder au détail d’un versement automatique Depuis le Portail Marchand Administration Mon compte Versements : Sélectionnez le versement concerné dans la liste. Ouvrez le détail du versement pour afficher les opérations associées. Utilisez le bouton Exporter pour télécharger les données si nécessaire. Ou, depuis le Portail Marchand Compte Mes opérations : Filtrez par Type = Versement sortant ou par Date de valeur. Dans la colonne Actions du versement, cliquez sur la flèche, puis sur Voir les opérations du versement. ℹ️ Le premier versement automatique ne comporte pas de détail : il sert d’initialisation du lettrage. Les versements automatiques suivants incluent la liste complète des opérations associées. 2. Disponibilité des fonds Les versements comprennent uniquement les fonds disponibles (AVAILABLE) sur le compte de paiement. Les fonds issus d’une transaction par carte bancaire deviennent disponibles à J+2. Exemple : Une transaction carte réalisée le lundi apparaît en « Pending » le lundi, devient « Available » le mardi soir, le versement automatique est exécuté le mercredi à 01h00, et le virement SEPA est crédité sur le compte bancaire le jeudi. ℹ️ Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (cas spécifique aux partenaires / mandataires). 3. Création d’un versement manuel 3.1. Depuis le Portail Marchand Seuls les utilisateurs titulaires du compte (« Legal ») ou disposant d’un rôle administrateur (« Natural Admin ») peuvent créer un versement manuel depuis le Portail Marchand. Depuis le Portail Marchand Administration Mon compte Versements : Cliquez sur Transferts externes. Sélectionnez le compte d’émission. Indiquez le montant du versement et l’IBAN destinataire. Cliquez sur Confirmer le transfert. Une fois validé, le versement est exécuté selon les délais mentionnés ci-dessus. Recette Portail Marchand – Versements sortants Production Portail Marchand – Versements sortants 3.2. Depuis l’API La création d’un versement manuel peut également être réalisée via l’API Payment. Pour les détails techniques, consultez la documentation développeur : Développeurs Versement sortant . 4. Versements en devises via le réseau SWIFT Les virements internationaux sont exécutés via le réseau SWIFT, contrairement aux virements SEPA utilisés dans la zone européenne. Ce service permet d’émettre des versements en euros ou dans d’autres devises vers des comptes situés hors zone SEPA. Si le compte bénéficiaire n’est pas accessible via SEPA ou s’il s’agit d’un compte en devise, les versements peuvent être réalisés via SWIFT. Ce service est activé sur demande auprès de votre interlocuteur CentralPay. ℹ️ Les virements SWIFT présentent des frais supérieurs aux virements SEPA. Il est possible de paramétrer un seuil de fonds disponibles avant déclenchement automatique des versements. 5. Retours, statuts et webhooks Pour suivre le cycle de vie des versements et automatiser leur traitement : Consulter la documentation des statuts de versement ➝ Consulter la documentation des webhooks de versement ➝
Outgoing payment Outgoing payouts are transfers issued from your CentralPay payment account to the associated bank account. They can be carried out manually from the Merchant Portal or via the Payment API, or automated according to the frequency defined in your payout settings. From the Merchant Portal, only account-holder user profiles (known as « Legal ») can configure and execute payouts. 1. Payout methods 1.1. Automatic payout The account holder can set the frequency of the automatic payout using three options: Daily Weekly: choose the day of the week (e.g., every Tuesday) Monthly: choose the day of the month (e.g., the 5th of the month) The automatic payout service executes each transfer at 01:00 on the selected day, based on the fonds disponibles (AVAILABLE) in the payment account. Example of a weekly payout scheduled on Tuesday: CentralPay will create the transfer on Tuesday morning using the funds available in the payment account up to 01:00. ℹ️ In the case of a daily payout, all available funds are transferred each day to your bank account. Your CentralPay account balance is therefore zero at the start of the day.If you need to issue customer refunds, they can be processed from early afternoon (around 2:00 PM), once the day’s transaction funds have been credited by the issuing banks. An upcoming enhancement will allow automatic payouts to be deferred by one or more days in order to keep funds available while maintaining consistent accounting visibility. Contact Support if you are affected. Matching for automatic payouts Each automatic payout is linked to the detailed list of transactions included in the transfer. This feature enables automatic matching between collected transactions and the corresponding payout. The transaction details for a payout can be accessed from Merchant Portal Administration My account Payouts by selecting the desired payout. The first automatic payout does not yet include details, as it initializes the matching system. Subsequent payouts include the full list of the relevant transactions. 1.2. Manual payout (via Merchant Portal or API) A payout can be executed manually from the Merchant Portal or via the Payment API. The payout amount can be set freely, up to the limit of the funds available in the account. Payout orders placed before 05:00 are executed immediately. Those created after 05:00 are executed the next day at 05:00. 2. Identifying transactions linked to each payout Payout matching is a Merchant Portal feature that links each automatic payout to the detailed list of transactions included in that payout. Scope: matching applies exclusively to automatic payouts. Manual payouts do not have this automatic association. Detail contents: list of transactions corresponding to the payout, including the amounts, value dates, and references required for accounting reconciliation. 2.1. Access the details of an automatic payout From Merchant Portal Administration My account Payouts : Select the relevant payout from the list. Open the payout details to display the associated transactions. Use the Export button to download the data if needed. Or, from Merchant Portal Account My transactions : Filter by Type = Outgoing payout or by Value date. In the payout’s Actions column, click the arrow, then View payout transactions. ℹ️ The first automatic payout does not include details: it is used to initialize matching. Subsequent automatic payouts include the full list of associated transactions. 2. Funds availability Payouts include only the fonds disponibles (AVAILABLE) in the payment account. Funds from a card transaction become available at D+2. Example: A card transaction made on Monday appears as "Pending" on Monday, becomes "Available" on Tuesday evening, the automatic payout is executed on Wednesday at 01:00, and the SEPA transfer is credited to the bank account on Thursday. ℹ️ The EscrowDate setting may affect the date on which a transaction’s funds become available (specific to partners/agents). 3. Creating a manual payout 3.1. From the Merchant Portal Only account-holder users (« Legal ») or users with an administrator role (« Natural Admin ») can create a manual payout from the Merchant Portal. From Merchant Portal Administration My account Payouts : Click External transfers. Select the sending account. Enter the payout amount and the recipient IBAN. Click Confirm transfer. Once validated, the payout is executed according to the timeframes mentioned above. Recette Merchant Portal – Outgoing payouts Production Merchant Portal – Outgoing payouts 3.2. From the API Creating a manual payout can also be done via the Payment API. For technical details, see the developer documentation: Developers Outgoing payout . 4. Foreign-currency payouts via the SWIFT network International transfers are executed via the SWIFT network, unlike SEPA transfers used within the European area. This service allows payouts in euros or other currencies to accounts located outside the SEPA area. If the beneficiary account is not reachable via SEPA, or if it is a foreign-currency account, payouts can be made via SWIFT. This service is enabled on request through your CentralPay contact. ℹ️ SWIFT transfers incur higher fees than SEPA transfers. It is possible to configure a threshold of available funds before automatic payouts are triggered. 5. Returns, statuses, and webhooks To track the payout lifecycle and automate processing: View the payout status documentation ➝ View the payout webhook documentation ➝
Page de paiement (SmartForm) La page de paiement (aussi appelée 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. 1. Paramétrage de la page 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éfinitionNomNom du modèle de pageTemplate 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 dernierURL 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 besoinDé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 redirectionURL 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 besoinCouleur du texteCouleur du texte de la page de paiementCouleur des boutonsCouleur des boutons de la page de paiementChamps 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…) Accès : Recette Portail Marchand – Paramétrage formulaire Production Portail Marchand – Paramétrage formulaire 2. 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é.
Payment page (SmartForm) The payment page (also called SmartForm) is a page hosted and secured by CentralPay for collecting customer data and payment details. Generated via the payment request service, it allows your customers to view the details of this request (amount, order reference, etc.) and select an authorized payment method before proceeding to the payment step. 1. Page configuration You can create one or more page templates to customize your payment flow. Below is the list of configurable elements on the page: LabelDefinitionNomPage template nameTemplate par défautCheckbox to define whether this template should be applied by default (payment requests created without a template will use this one)Forcer la création du CustomerCheckbox to systematically force the creation of a Customer when creating the payment request. The Customer creation parameter specified on payment requests will be ignored. Note: CentralPay will not create a new Customer if their email or phone number is already used by another Customer, and will assign the request to that existing CustomerURL de redirectionRedirect URL after payment. Fixed URL; however, you can choose to populate this value dynamically via API for each PaymentRequest if neededDélais de redirectionRedirect delay to the redirect URL after payment. Empty field: no redirect, 0: immediate redirect, other value: number of seconds before redirectURL d'annulationRedirect URL in case of cancellation before payment. Fixed URL; however, you can choose to populate this value dynamically via API for each PaymentRequest if neededCouleur du texteText color of the payment pageCouleur des boutonsButton color of the payment pageChamps supplémentairesAdditional fields that can be added to card (CB) or bank transfer payment flows. Used to collect additional customer data if necessary (address, last name, first name, etc.) Access: Recette Merchant Portal – Form configuration Production Merchant Portal – Form configuration 2. Customizing the logo displayed on the SmartForm The logo displayed on the SmartForm is the one you have specified in the point of sale settings used for your payment request. By default, the CentralPay logo is displayed.
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 ») 1. Caractéristiques 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) : 1.1. Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction) Il 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 ➝ 1.2. Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents) Le 3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand, est utilisée lorsque le porteur n’est pas présent ou non participant. Le 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 ➝
3DS 2.0 Authentication The 3D Secure 2.0 protocol ensures that the person performing the transaction is indeed the cardholder. The customer’s bank analyzes numerous payment-related factors sent by CentralPay (IP address, location, device used, etc.) and compares them with the customer’s usual data: If the data does not match or the transaction amount is significant, it requires manual identification via a code sent by SMS or via the banking application (« strong authentication » or « SCA »). Otherwise, it directly authorizes the payment (« Frictionless »). 1. Characteristics There are two types of 3DS, depending on whether you wish to initiate a classic transaction (where the cardholder is present) or if you are executing a recurring payment installment (where the cardholder is not present): 1.1. 3DS 2 « BRW » or « Browser Authentication » (participating cardholder – 1st transaction) It represents the majority of 3DS 2 integrations. It requires customer authentication to verify that they are the legitimate cardholder at the time of the transaction. It triggers a challenge if necessary to verify the cardholder’s identity (SCA). 👉 Discover how to integrate 3DS 2.0 BRW ➝ 1.2. 3DS2 « 3RI Authentication » (non-participating cardholder – recurring payment installments) 3DS Requestor Initiated (3RI) Authentication, or Merchant-Initiated Authentication, is used when the cardholder is not present or not participating. 3RI offers the possibility to generate the necessary 3DS authentications without customer involvement. This allows for the use of an authentication previously generated with a customer. It is used in the following recurring payment contexts: Split payment, Subscription, Refund, etc. 👉 Discover how to integrate 3DS 2.0 3RI ➝
Transaction par virement 1. Fonctionnement 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 : AutomatiquementSi 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 TransactionSi 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 paiementSi 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 Marchand 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
Bank Transfer Transaction 1. Operation An SCT Transaction is a bank transfer received at one of your CentralPay Virtual IBANs. It can be created in three different ways: AutomaticallyIf you provide a dedicated Virtual IBAN for one of your customers or one of your payment accounts, CentralPay will automatically create the SCT Transaction upon receipt of the transfer. You can then reconcile this SCT Transaction with your order/invoice by retrieving the value from the “description” field (which corresponds to the reference your customer entered in their online banking portal). From the SCT Transaction serviceIf you want to automate the reconciliation of the wire transfer with the transaction, you can: Create an SCT transaction with a dedicated virtual IBAN: this will ensure 100% accurate reconciliation of your transaction. Please note that in this case, your customers will need to add a new payee in their online banking portal for each transfer they send to you. Create an SCT transaction using a Virtual Customer IBAN and retrieve the short reference generated by CentralPay for this transaction: this will allow you to automatically reconcile the transfer with the corresponding customer profile, and potentially track it down to the specific transaction if your customer has correctly entered the reference in their transfer From the Payment Request ServiceIf you would like to have CentralPay display payment information to your customers (amount, IBAN, BIC, reference, etc.), you can create a Payment Request that authorizes payments via SCT Transaction. This option also makes it easy to manage multiple transfers or customer payments made through various payment methods 2. Create a transaction SCT Create an SCT Transaction: Enter an amount in cents (amount) and a currency (currency) If you want to create a Virtual IBAN specifically for the SCT Transaction, enter the UUID of the payment account where you want to receive the funds in the “ibanWalletId” field. You can find this UUID in the Merchant Portal Administration Accounts UUID If you want to use an existing Virtual IBAN (assigned to a customer or a payment account), enter the desired IBAN in the “iban” field You can then retrieve the “sepaReference” value generated by CentralPay and provide it to your customer so that CentralPay can match the transfer to your transaction Or enter your own custom reference in the “merchantSctTransactionId” field to reconcile the transfer yourself using our transaction exports
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
Bank account statement To process a SEPA direct debit transaction, you must first create your customer’s (the payer’s) profile and enter their bank account information on the CentralPay platform. 1. Create a “Customer” client profile Collect your customer’s information (email, last name, first name, etc.) Create a Customer client profile Retrieve property customerId from the Customer creation response 2. Create a « bankAccount » bank account Collect your customer’s bank account information (IBAN, BIC, account holder’s name, etc.) Create a bankAccount by entering your client’s customerId Retrieve bankAccountId and identityId from the creation response bankAccount
Transfert via Transaction ou PaymentRequest Contrairement aux transferts indépendants, réservés aux Agents (pour les comptes de paiement) et aux Distributeurs de Monnaie Électronique (DME) (pour les comptes de monnaie électronique), les transferts via transaction sont accessibles à l’ensemble des modèles de partenariat, y compris aux Partenaires Techniques non régulés. Dans ce cadre, le partenaire transmet à CentralPay, au moment de la création d’une transaction (par carte, virement ou prélèvement), des données commerciales contextualisées (ex. : montant du panier, commission, identifiants des wallets destinataires…) ℹ️ L’appel API ne crée pas directement le mouvement financier : CentralPay instruit le transfert de manière autonome, après validation effective de la transaction (capture d’une opération carte, réception d’un virement, ou exécution d’un prélèvement SEPA). Le modèle de transfert conditionné permet de réaliser un mouvement de fonds à l’issue d’une transaction : carte, virement (SCT), ou prélèvement (SDD). Dans ce cas, le transfert est directement paramétré lors de la création de la transaction, via un champ dédié transfer[]. Cette méthode ne passe pas par l’endpoint /transfer, mais s’appuie sur les endpoints spécifiques des transactions concernées : /transaction pour les paiements par carte : Voir comment créer une transaction CARD ➝ /sctTransaction pour les virements reçus : Voir comment créer une transaction SCT ➝ /sddTransaction pour les prélèvements SEPA : Voir comment créer une transaction SDD ➝ /paymentRequest pour les demandes de paiement : Voir comment créer une demande de paiement ➝ Ce mode de fonctionnement garantit que les fonds sont uniquement transférés si la transaction est réussie. Le transfert devient alors une étape automatisée et synchronisée. 1. Conditions d’utilisation Le transfert est créé en même temps que la transaction (pas d’appel distinct) Il n’est exécuté qu’en cas de succès de la transaction source Il respecte les contraintes de la source (statut, solde disponible, date…) Il peut être instantané ou différé via le champ escrowDate 2. Paramétrer un transfert dans une transaction Dans les quatre cas de figure, la logique est identique : un tableau transfer[] est renseigné dans le corps de la requête lors de l’appel POST de création de la transaction. Les champs acceptés dans transfer[] sont les suivants : ChampTypeObligatoireDescriptiondestinationWalletIdUUID✅ OuiCompte CentralPay bénéficiaire. Doit appartenir à un marchand participant autorisé.amountInteger✅ OuiMontant du transfert en centimes.currencyString❌ NonDevise du transfert (si différente de la devise de la transaction).merchantTransferIdString❌ NonRéférence partenaire.feeInteger❌ NonFrais applicables (prélevés sur le montant brut).escrowDateDate ISO❌ NonDate différée d’exécution (si applicable).transferGroupString❌ NonIdentifiant de groupe pour les suivis agrégés.descriptionString❌ NonLibellé du transfert visible sur les relevés.additionalDataKV pairs❌ NonDonnées métier structurées (clé/valeur). ⚠️ Les règles de disponibilité des fonds (notamment après délai de capture ou de validation) doivent être respectées. Si la transaction est annulée ou échoue, aucun transfert n’est déclenché.
Transfer via Transaction or PaymentRequest Unlike independent transfers, which are reserved for Agents (for Payment Accounts) and Electronic Money Distributors (EMD) (for Electronic Money Accounts), transfers via transactions are available to all partnership models, including unregulated Technical Partners. In this context, when a transaction is created (via card, bank transfer, or direct debit), the partner sends CentralPay contextualized transaction data (e.g., cart total, commission, recipient wallet IDs, etc.). ℹ️ The API call does not directly initiate the financial transaction: CentralPay processes the transfer independently after the transaction has been successfully validated (Card Transaction, receipt of a Bank transfer, or execution of a SEPA Direct Debit). The conditional transfer model allows you to initiate a funds transfer upon completion of a transaction: card payment, bank transfer (SCT), or direct debit (SDD). In this case, the transfer is configured directly when the transaction is created, using a dedicated field transfer[]. This method does not use the /transfer endpoint, but instead relies on the specific endpoints for the relevant transactions: /transaction For card payments: See how to create a Card Transaction ➝ /sctTransaction For incoming bank transfers: See how to create an SCT Transaction ➝ /sddTransaction For SEPA Direct Debits: See how to create an SDD Transaction ➝ /paymentRequest For payment requests: See how to create a payment request ➝ This process ensures that funds are transferred only if the transaction is successful. The transfer then becomes an automated and synchronized step. 1. Terms of Use The transfer is created at the same time as the transaction (no separate call) It is executed only if the source transaction is successful. It adheres to the source’s constraints (status, available balance, date, etc.) It can be done immediately or at a later time using the field escrowDate 2. Set up a transfer within a transaction In all four scenarios, the logic is the same: an ` transfer[] ` array is included in the request body during the POST call to create the transaction. The following fields are accepted at transfer[]: FieldTypeRequiredDescriptiondestinationWalletIdUUID✅ YesCentralPay Beneficiary account. Must belong to an authorized Participant Merchant. amountInteger✅ YesTransfer amount in centimes.currencyThong❌ NoTransfer currency (if different from the transaction currency).merchantTransferIdThong❌ NoPartner Reference.feeInteger❌ NoApplicable fees (deducted from the gross amount).escrowDateISO Date❌ NoDeferred execution date (if applicable).transferGroupThong❌ NoGroup ID for aggregated tracking.descriptionThong❌ NoTransfer description visible on statements.additionalDataKV pairs❌ NoStructured business data (key/value). ⚠️ The rules regarding fund availability (particularly after the capture or validation period) must be followed. If the transaction is canceled or fails, no transfer is initiated.
Déclaration Distributeur ME (ACPR) 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 sous-marchands 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 1. Responsabilité du mandataire 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 Électronique 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. 2. Devenir mandataire 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. 2.1. Résumé des étapes Compréhension du modèle Explication des services apportés par le mandataire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du mandataire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le mandataire Test & Intégration Mise en place de la sandbox Réunion de lancement de projet avec l’équipe technique Phase d’intégration technique Instruction du dossier ACPR Collecte des éléments nécessaires à la constitution du dossier Préparation du dossier Présentation du dossier Mise en production Validation de la recette Mise en production 2.2. Pièces à fournir à CentralPay Prochainement
ME Distributor Declaration (ACPR) Electronic money issuers such as CentralPay may authorize Electronic Money Distributors (EMDs) to collect funds and facilitate transactions for the purchase and refund of electronic money within a defined network of Sub-merchants. The registration process for an Electronic Money Distributor consists of two steps: Preparation of the tax return: handled by CentralPay with the assistance of its future EMD Processing of the application by the ACPR: handled by CentralPay. It does not require any specific approval from the ACPR. 1. Responsibilities of the EMD Intermediary CentralPay handles all complex processes or those requiring specialized expertise. However, you remain responsible for ensuring a high standard of compliance with AML/CFT (Anti-Money Laundering and Counter-Terrorist Financing) rules. As such, you must provide CentralPay with assurance regarding the conditions under which transactions processed through you are carried out, including: The Economic Reality of the Transaction The Fight Against Fraud Regulated institutions that use distributors remain responsible for the transactions carried out by those distributors. A clear legal framework has therefore been established. To qualify as an Electronic money Distributor, the following requirements must be met: The execution of an Electronic money Distribution Framework Agreement that defines the relationship between the parties Terms of Use for Electronic Money In the event that an EMD internalizes certain functions assigned to CentralPay as part of its regulatory obligations, a contract for Outsourced Essential Services must be signed. This is the case, for example, if the agent handles KYC management in-house or develops management interfaces that would prevent CentralPay from providing the service without the assistance of the PSEE. 2. Become an EMD Intermediary Becoming a CentralPay distributor involves following a series of steps that take several weeks to complete. Here is a guide to help you better understand the issues related to the acceptance and subsequent processing of distributors’ filing documents. 2.1. Summary of the Steps Understanding the Model Explanation of the services provided by the intermediary Defining Its Business Model Approval by CentralPay’s Risk & Compliance Department Sales Offer Overview Validation Approval of the intermediary by CentralPay’s Risk & Compliance Department Approval of the commercial proposal and pricing terms by the intermediary Test & Intégration Setting Up the Sandbox Project Kickoff Meeting with the Technical Team Technical Integration Phase Review of the ACPR File Gathering the information needed to compile the file Preparing the Application Overview of the Case Go-Live Acceptance Testing Go-Live 2.2. Documents to Submit to CentralPay Coming Soon
Compléter un enrôlement Une fois la demande d’enrôlement créée, le titulaire du futur compte peut finaliser son parcours de deux manières : via le portail CentralPay ou par intégration complète à l’API. 1. Option 1 – Compléter l’enrôlement via le portail CentralPay Le lien d’accès à l’onboarding (généré ou reconstruit lors de la création d’enrôlement) permet au futur titulaire de compte de renseigner ses informations et d’uploader les documents demandés depuis l’interface CentralPay, de manière autonome. Vous êtes notifié automatiquement à chaque étape de l’enrôlement ou uniquement à sa finalisation (selon votre paramétrage webhook) Une fois le parcours complété par l’utilisateur, les données sont transmises aux équipes conformité de CentralPay pour validation Dans certains cas, des documents complémentaires pourront être requis par les analystes CentralPay 2. Option 2 – Compléter l’enrôlement par API Il est également possible de piloter l’ensemble du parcours d’enrôlement via API, étape par étape. Le processus suit 4 grandes phases : Compléter le profil Déterminer le workflow Compléter le workflow Finaliser l’enrôlement 2.1. Compléter le profil Statut du profil Un profil commence toujours avec un statut workflow.status = « ON_GOING ». Pour être considéré comme complété, ce statut doit devenir ACCEPTED. ⚠️ En mode SEQUENTIAL, ce statut peut revenir à ON_GOING lors du déblocage de questions supplémentaires. Il convient de le recontrôler à chaque étape. Obtenir la première activité à compléter Récupérer l’activityUuid via : GET /api/nauth/merchant-enrollment/{enrollmentId} Parcourir : profile.workflow.activities[0].uuid Puis interroger : GET /api/nauth/profile/{activityUuid}/activity Soumettre les données Envoyer les données attendues via un formulaire : POST /api/nauth/profile/{activityUuid}/activityContent-Type : multipart/form-data Exemple de champs attendus (activité « Identity Informations ») : ChampTypeContraintesfirstname[value]string255 caractèreslastname[value]string255 caractèresmail[value]stringEmail validephone[value]stringNuméro international (min. 10 caractères)birthday[value]stringDate au format YYYY-MM-DD, entre 18 et 110 ansplace_of_birth[value]string—country_of_birth[country]stringISO 3166-1 alpha-3 Autres types d’activité possibles : Domiciliations : informations d’adresse Pièce d’identité : type (IDENTITY_CARD, PASSPORT) + documents (2 fichiers pour carte, 1 pour passeport) Répétez ce processus tant que le statut d’une activité reste « TODO ». 2.2. Déterminer le workflow Cette étape débloque la suite du parcours (collecte de documents, justificatifs, etc.). POST /api/merchant-enrollment/{enrollmentUuid}/activity/{uuid} Payload attendu : ChampTypeObligatoireNotestypeEnum✅ OuiINDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITYbankAccountInEEACountrybool✅ Oui—turnoverUUID (36)✅ OuiPOST /api/nauth/enrollment-claim/turnovercompanyNamestring(255)Oui, si LEGAL_ENTITY—activityAgeUUID (36)Oui, si LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSGET /api/nauth/enrollment-claim/activity-agesubTypeENUMRecommandéDépend du type (voir détails ci-dessous)isCompanyboolOui, si LEGAL_ENTITY— Si vous avez utilisé un identityBadge (enrôlement via SIREN), cette étape est automatiquement sautée : le workflow est déjà déterminé. 2.3. Compléter le workflow Chaque étape du workflow suit la même logique que celle du profil. Types de step possibles : FORM : champs à renseigner via key[value] API_CALL : traitement externe VALIDATION : action manuelle par les équipes CentralPay ENDED : étape finalisée Exemple : pour le champ company_legal_status, il faut envoyer company_legal_status[value]. Les endpoints utilisés sont : POST /api/merchant-enrollment/{merchantUuid}/activity/{uuid} POST /api/merchant-enrollment/{uuid}/complete
Complete an enrollment Once the enrollment request has been created, the future account owner can complete the process in one of two ways: via the CentralPay portal or via full API integration. 1. Option 1 – Complete the enrollment via the CentralPay Portal The onboarding link (generated or recreated when the enrollment is created) allows the future account owner to enter their information and upload the required documents through the CentralPay interface on their own. You will be notified automatically at each step of the enrollment process or only upon its completion (depending on your webhook settings) Once the user has completed the process, the data is sent to CentralPay’s compliance teams for validation In some cases, CentralPay analysts may request additional documents 2. Option 2 – Complete the enrollment via API It is also possible to control the entire enrollment process via API, step by step. The process consists of four main phases: Complete the profile Determine the workflow Complete the workflow Complete the enrollment 2.1. Complete the profile Profile status A profile always starts with the status workflow.status = “ON_GOING”. To be considered complete, this status must change to ACCEPTED. ⚠️ In SEQUENTIAL mode, this status may revert to ON_GOING when additional questions are unlocked. It should be checked again at each step. Get the first activity to complete Retrieve activityUuid via : GET /api/nauth/merchant-enrollment/{enrollmentId} Browse: profile.workflow.activities[0].uuid Then ask: GET /api/nauth/profile/{activityUuid}/activity Submit the data Send the expected data via a form: POST /api/nauth/profile/{activityUuid}/activityContent-Type : multipart/form-data Example of expected fields (the “Identity Information” activity): FieldTypeConstraintsfirstname[value]string255 characterslastname[value]string255 charactersmail[value]stringValid email addressphone[value]stringInternational number (at least 10 characters)birthday[value]stringDate in the format YYYY-MM-DD, between 18 and 110 years oldplace_of_birth[value]string—country_of_birth[country]stringISO 3166-1 alpha-3 Autres types d’activité possibles : Registered addresses: address information Identity document: type (IDENTITY_CARD, PASSPORT) + documents (2 files for an ID card, 1 for a passport) Repeat this process as long as an activity’s status remains “TODO.” 2.2. Determine the workflow This step unlocks the next part of the process (collecting documents, supporting evidence, etc.). POST /api/merchant-enrollment/{enrollmentUuid}/activity/{uuid} Expected payload: FieldTypeRequiredNotestypeEnum✅ YesINDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITYbankAccountInEEACountrybool✅ Yes—turnoverUUID (36)✅ YesPOST /api/nauth/enrollment-claim/turnovercompanyNamestring(255)Yes, if LEGAL_ENTITY—activityAgeUUID (36)Yes, if LEGAL_ENTITY or INDIVIDUAL_WITH_STATUSGET /api/nauth/enrollment-claim/activity-agesubTypeENUMRecommendedDepends on type (see details below)isCompanyboolYes, if LEGAL_ENTITY— If you used a identityBadge (enrollment via SIREN), this step is automatically skipped: the workflow has already been determined. 2.3. Complete the workflow Each step in the workflow follows the same logic as the profile. Possible types of step: FORM : fields to be filled in via key[value] API_CALL : external treatment VALIDATION : manual action by the CentralPay teams ENDED : step completed Example: for the field company_legal_status, you must send company_legal_status[value]. The endpoints used are: POST /api/merchant-enrollment/{merchantUuid}/activity/{uuid} POST /api/merchant-enrollment/{uuid}/complete
Magento 1. Téléchargement du module Pour Magento ➝ Télécharger le plugin (v1.0) ℹ️ Ce module est compatible avec Magento 1.7+ 2. Installation du plugin 2.1 Décompresser l’archive Décompressez le fichier .zip téléchargé. Vous obtiendrez les dossiers suivants : app/ js/ skin/ centralpay.sql (fichier SQL à exécuter) 2.2. Copier les fichiers Copiez l’ensemble des dossiers (app, js, skin) à la racine de votre instance Magento. Ils viendront automatiquement s’intégrer dans l’arborescence existante. 2.3. Exécuter le script SQL Exécutez le fichier centralpay.sql sur la base de données de votre site Magento. ⚠️ Utilisez phpMyAdmin ou tout autre outil de gestion de base pour importer ce fichier.⚠️ Pensez à sauvegarder votre base avant exécution. 3. Configuration du module Une fois le module installé, connectez-vous à votre interface d’administration Magento pour renseigner les paramètres CentralPay. 3.1. Accéder à la configuration Dans le menu d’administration Magento, rendez-vous dans : Stores Configuration Sales Payment Methods CentralPay 3.2. Paramètres à renseigner Champ dans MagentoDescriptionObligatoireAccès à la donnéeActiver CentralPayActive le module dans l’environnement Magento.✅ OuiMagentoTitreNom du moyen de paiement visible côté client.✅ OuiMagentoIdentifiant Marchand (merchantLogin)Identifiant d’API fourni par CentralPay.✅ OuiPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Mot de passe API (merchantPassword)Mot de passe API associé à l’identifiant.✅ OuiPortail Marchand 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 »Clé publique Marchand (merchantPublicKey)Clé de chiffrement utilisée pour sécuriser les données de carte.✅ OuiPortail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »ID du point de venteIdentifiant unique de votre point de vente (UUID)❌ NonPortail Marchand CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concernéURL de retour (returnUrl)Permet de rediriger le client vers Magento après paiement. Peut être laissé vide pour utiliser la redirection automatique.❌ NonMagentoMode Test (sandbox)Permet d’utiliser l’environnement de test CentralPay.❌ NonMagentoCommande en attenteStatut Magento utilisé si le paiement est en cours ou en attente (ex. : 3DS).❌ NonMagentoCommande validéeStatut Magento utilisé si le paiement est accepté.❌ NonMagento 4. Mode test et environnement de recette Le module propose une option de sandbox activable dans l’administration Magento. ℹ️ Utilisez l’environnement sandbox CentralPay pour simuler des paiements avant passage en production. N’oubliez pas d’utiliser les identifiants API de test (login, password, clé publique) fournis par CentralPay. 5. Expérience client Le client ajoute ses articles au panier et passe à la caisse Au moment du paiement, il choisit CentralPay comme méthode de paiement Il est redirigé vers l’interface de paiement CentralPay sécurisée Une fois le paiement effectué (ou refusé), il est redirigé vers votre site Magento Le statut de la commande est mis à jour automatiquement 6. Suivi des paiements Depuis Magento : vous pouvez consulter le statut des commandes et des paiements dans le back-office standard Depuis CentralPay : toutes les opérations sont également visibles dans votre interface CentralPay (transactions, remboursements, rejets, etc.) 7. Support technique Pour toute question : Consultez la documentation technique CentralPay : docs.centralpay.com Contactez notre support : support.centralpay.com Assistance disponible en français et en anglais.
Magento 1. Download the module For Magento ➝ Download the plugin (v1.0) ℹ️ This module is compatible with Magento 1.7 and later 2. Installing the plugin 2.1 Extract the archive Unzip the downloaded .zip file. You will get the following folders: app/ js/ skin/ centralpay.sql (SQL file to run) 2.2. Copy the files Copy all the folders (app, js, skin) to the root of your Magento installation. They will automatically be integrated into the existing directory structure. 2.3. Run the SQL script Run the file ` centralpay.sql ` on your Magento site’s database. ⚠️ Use phpMyAdmin or any other database management tool to import this file.⚠️ Be sure to back up your database before running the script. 3. Module Configuration Once the module is installed, log in to your Magento admin interface to enter the CentralPay settings. 3.1. Go to Settings In the Magento admin menu, go to: Stores Configuration Sales Payment Methods CentralPay 3.2. Fields to Fill In Field in MagentoDescriptionRequiredAccess to DataEnable CentralPayEnables the module in the Magento environment.✅ YesMagentoTitleName of the payment method as displayed to the customer.✅ YesMagentoMerchant ID (merchantLogin)API ID provided by CentralPay.✅ YesCentralPay Merchant Portal > Administration > Technical Support > Click on your “API ID” > Copy the “login”API Password (merchantPassword)API password associated with the ID.✅ YesCentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »Merchant Public Key (merchantPublicKey)Encryption key used to secure card data.✅ YesCentralPay Merchant Portal > Administration > Technical Support > Copy the “Merchant Public Key”POS IDUnique identifier for your Point of Sale (POS) (UUID)❌ NoCentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)Return URL (returnUrl)Allows you to redirect the customer to Magento after payment. Can be left blank to use automatic redirection. ❌ NoMagentoTest Mode (sandbox)Allows you to use the CentralPay test environment.❌ NoMagentoPending OrderMagento status used if the payment is in progress or pending (e.g., 3DS).❌ NoMagentoOrder ConfirmedMagento status used if the payment is accepted.❌ NoMagento 4. Test Mode and Sandbox Environment The module offers a sandbox option that can be enabled in the Magento admin panel. ℹ️ Use the CentralPay sandbox environment to simulate payments before going live. Be sure to use the test API credentials (username, password, public key) provided by CentralPay. 5. Customer Experience The customer adds items to the shopping cart and proceeds to checkout At checkout, he selects CentralPay as his payment method He is redirected to the secure CentralPay payment interface Once the payment is processed (or there is a refusal), the customer is redirected to your Magento site The order status is updated automatically 6. Payment Tracking From Magento: You can view the status of orders and payments in the standard back office From CentralPay: All transactions are also visible in your CentralPay interface (transactions, refunds, Rejections, etc.) 7. Technical Support If you have any questions: View the CentralPay technical documentation: docs.centralpay.com Contact our support team: support.centralpay.com Support is available in French and English.
Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER
Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER
Verification of Payee (VoP) À compter du 9 octobre 2025, la réglementation européenne impose aux banques de mettre en place la Verification of Payee (VoP) pour tous les virements SEPA (règlement IPR 2024/886, art. 5c). L’objectif est de protéger les consommateurs contre les fraudes à l’IBAN. 1. Fonctionnement Lorsqu’un virement est initié, la banque du payeur doit vérifier que le nom du bénéficiaire saisi correspond à celui associé à l’IBAN. Le résultat de cette vérification est affiché au payeur : MATCH : correspondance exacte CLOSE MATCH : correspondance partielle (ex. faute de frappe, abréviation, particule) NO MATCH : aucune correspondance CHECK NOT POSSIBLE : vérification impossible ⚠️ Le payeur reste libre de poursuivre ou non le virement.Cependant, un NO MATCH ou un CLOSE MATCH augmentent fortement le risque d’abandon de la transaction. 2. Impacts pour les marchands Afin d’éviter les rejets ou abandons de virements, il est essentiel de vérifier la cohérence du nom affiché à vos clients avec la raison sociale enregistrée sur votre compte CentralPay. Cas fréquents : Nom commercial / enseigne / marque → Si vous êtes connus sous un autre nom que votre raison sociale, transmettez-nous ces dénominations. Nous pourrons les déclarer manuellement afin d’améliorer le taux de correspondance. vIBAN CentralPay → Vérifiez que vos interfaces et supports affichent bien la raison sociale du titulaire CentralPay associé à l’IBAN. SmartForm (PaymentRequest) → Aucune action nécessaire : CentralPay affiche automatiquement le titulaire du compte. Devis, factures, communications externes → Assurez-vous que la raison sociale présentée est identique à celle du compte bancaire communiqué à vos clients. À retenir : - Vérifiez que votre raison sociale est correctement enregistrée et communiquée.- Transmettez à CentralPay vos noms commerciaux ou marques si vous souhaitez les faire reconnaître.- Harmonisez vos documents (factures, devis, emails) avec le nom officiel de votre compte bancaire.- Informez vos clients : * Lorsqu’ils effectuent un virement, le nom du bénéficiaire saisi doit correspondre strictement à votre raison sociale. * En cas d’alerte de type Close match ou No match dans leur application bancaire, invitez-les à vérifier le nom renseigné. Articles FAQ - Verification Of Payee FAQ - Verification Of Payee À compter du 9 octobre 2025, la Vérification du bénéficiaire (VoP – Verification of Payee) deviendra obligatoire pour tous les virements SEPA, qu’ils soient classiques ou instantanés. Ce dispositif, gratuit pour les utilisateurs, vise à renforcer la sécurité des paiements en réduisant à la fois : les fraudes au virement (notamment les fraudes au faux RIB), les erreurs de saisie d’IBAN ou de nom du bénéficiaire. Concrètement, avant l’exécution d’un virement, l’établissement du payeur doit interroger l’établissement du bénéficiaire pour vérifier la concordance entre l’IBAN et le nom du titulaire du compte. En cas de discordance, une alerte est affichée au payeur, qui conserve la liberté de poursuivre ou non l’opération. Enjeux du dispositif Protection des utilisateurs : limiter les virements mal orientés ou frauduleux. Sécurité du système de paiement SEPA : accompagner le déploiement du virement instantané en Europe. Confiance des entreprises et des particuliers : améliorer la transparence et la fiabilité des paiements. Harmonisation européenne : instaurer une norme commune pour tous les PSP (banques, établissements de paiement et de monnaie électronique). Base légale Règlement (UE) 2021/1230 sur les virements instantanés en euros et la modification du règlement (UE) n° 260/2012 (SEPA), qui introduit l’obligation de VoP. Règlement (UE) 2015/847 sur les informations accompagnant les transferts de fonds, qui impose la transmission exacte des informations sur le payeur et le bénéficiaire. Code monétaire et financier : Articles L.133-6 et L.133-7 relatifs à l’autorisation des opérations de paiement et à l’exactitude des informations, Articles L.561-5 et suivants relatifs aux obligations de vigilance en matière de LCB-FT. Doctrine de l’ACPR, qui dans plusieurs décisions a sanctionné l’insuffisance de dispositifs de vérification et de correspondance entre l’identité du client et son compte Foire aux questions (FAQ) 1. Qu’est-ce que la VoP ? La Vérification de l’Ordre de Paiement (VoP) est un service réglementaire instauré au niveau européen.Elle permet de comparer automatiquement le nom du bénéficiaire d’un virement avec l’IBAN renseigné par le payeur, avant l’exécution du virement.Objectif : renforcer la sécurité des paiements et réduire les fraudes (notamment fraude au faux RIB). 2. Qui est concerné ? Les payeurs : particuliers ou entreprises qui initient un virement. Les bénéficiaires : toute personne physique ou morale recevant des virements (vous, en tant que client CentralPay). Les prestataires de services de paiement (PSP) : banques, établissements de paiement ou de monnaie électronique, qui doivent intégrer la VoP dans leurs systèmes. 3. Comment fonctionne la VoP concrètement ? Lorsqu’un virement est initié : Le payeur saisit l’IBAN et le nom du bénéficiaire. Sa banque interroge le PSP du bénéficiaire (via un canal sécurisé) pour vérifier la concordance entre l’IBAN et le nom enregistré dans la base du bénéficiaire. La réponse est renvoyée au PSP du payeur et affichée au payeur. 4. Quels résultats peuvent apparaître ? Trois cas sont possibles : Correspondance exacte : l’IBAN et le nom concordent → le virement peut être initié sans alerte. Correspondance partielle : l’IBAN correspond mais le nom est différent (fautes de frappe, abréviation, orthographe différente). Le payeur reçoit un avertissement et peut : corriger le nom, ou confirmer qu’il s’agit bien du bénéficiaire attendu. Absence de correspondance : l’IBAN et le nom ne correspondent pas → le payeur reçoit une alerte forte. Il peut annuler ou décider de poursuivre en acceptant le risque. Est-ce que la VoP bloque un virement ? Non. La VoP ne bloque pas l’exécution d’un virement. Elle fournit une information supplémentaire au payeur qui reste libre de valider ou non l’opération.Toutefois, certaines banques peuvent paramétrer des règles internes de blocage en cas de discordance totale. Quels échanges ont lieu entre banques et PSP ? Le PSP du bénéficiaire (ex. CentralPay) conserve dans sa base le nom exact du titulaire du compte. Lors d’une requête VoP, il répond par un code standardisé indiquant : correspondance, correspondance partielle ou absence de correspondance. Ces échanges sont sécurisés, tracés et limités aux seules données nécessaires, conformément au Règlement (UE) 2015/847 sur l’accompagnement des virements. Aucune autre donnée personnelle (adresse, documents KYC, etc.) n’est transmise. Quels sont les avantages de la VoP ? Pour le payeur : réduction des risques de fraude au virement, détection des erreurs de saisie. Pour le bénéficiaire : limitation des retards de paiement liés aux erreurs, sécurisation de l’image vis-à-vis de ses clients. Pour le système financier : meilleure prévention des fraudes et conformité avec les standards européens. Que dois-je faire en tant que bénéficiaire CentralPay ? Communiquer à vos clients l’IBAN correct et le nom exact enregistré auprès de CentralPay (raison sociale complète, sans abréviation). Vérifier que vos factures, contrats et supports incluent toujours les mêmes coordonnées bancaires. En cas de changement de dénomination sociale ou d’utilisation d’un nom commercial, informer rapidement vos clients et CentralPay pour mettre à jour les données. Que se passe-t-il en cas de non-concordance fréquente ? Si vos clients rencontrent souvent des alertes VoP lors de virements, cela peut indiquer que vos coordonnées bancaires ne sont pas communiquées de façon homogène. CentralPay peut vous accompagner pour réviser et harmoniser vos informations de paiement afin d’éviter les frictions. Illustration du VoP par le CNMP
Verification of Payee (VoP) Effective October 9, 2025, European regulations require banks to implement Verification of Payee (VoP) for all SEPA bank transfers (Regulation (EU) 2024/886, Article 5c). The goal is to protect consumers from IBAN fraud. 1. Operation When a bank transfer is initiated, the payer’s bank must verify that the beneficiary’s name entered matches the name associated with the IBAN. The result of this verification is displayed to the payer: MATCH: exact match CLOSE MATCH: partial match (e.g., typo, abbreviation, particle) NO MATCH: No matches found CHECK NOT POSSIBLE: Verification not possible ⚠️ The payer is free to decide whether or not to proceed with the bank transfer.However, a "NO MATCH" or "CLOSE MATCH" significantly increases the risk that the transaction will be abandoned. 2. Impacts on Merchants To prevent bank transfers from being rejected or abandoned, it is essential to verify that the name displayed to your customers matches the business name registered on your CentralPay account. Common cases: Trade name / business name / brand name → If you are known by a name other than your legal business name, please provide us with those names. We can enter them manually to improve the match rate. vIBAN CentralPay → Verify that your interfaces and media correctly display the business name of the CentralPay account owner associated with the IBAN. SmartForm (PaymentRequest) → No action required: CentralPay automatically displays the account owner. Quotes, invoices, external communications → Make sure the company name listed is the same as the one on the Bank Account you provide to your customers. Key points: - Verify that your business name is correctly registered and communicated.- Submit your trade names or trademarks to CentralPay if you wish to have them recognized.- Ensure that your documents (invoices, quotes, emails) match the official name on your Bank Account.- Verify that your documents (invoices, quotes, emails) match the official name on your Bank Account. - Inform your customers: * When they make a bank transfer, the beneficiary name they enter must match your business name exactly. * If they see a “Close match” or “No match” alert in their banking app, ask them to verify the name they entered. Articles FAQ - Verification of Payee FAQ - Verification of Payee Effective October 9, 2025, Verification of Beneficiary (VoP) will become mandatory for all SEPA bank transfers, whether standard or instant. This system, which is free for users, aims to enhance payment security by reducing both: Bank transfer fraud (particularly fraud involving fake bank account information), errors in entering the IBAN or the Beneficiary’s name. Specifically, before executing a bank transfer, the payer’s financial institution must check with the Beneficiary’s financial institution to verify that the IBAN matches the account owner’s name. If there is a discrepancy, an alert is displayed to the Payer, who remains free to decide whether or not to proceed with the transaction. Challenges of the Program User protection: limiting misdirected or fraudulent bank transfers. SEPA Payment System Security: Supporting the Rollout of Instant Bank Transfers in Europe. Business and Consumer Confidence: Improving the Transparency and Reliability of Payments. European harmonization: establishing a common standard for all PSPs (banks, payment institutions, and Electronic money institutions). Legal Basis Regulation (EU) 2021/1230 on instant bank transfers in euros and amending Regulation (EU) No. 260/2012 (SEPA), which introduces the VoP requirement. Regulation (EU) 2015/847 on information accompanying fund transfers, which requires the accurate transmission of information about the Payer and the Beneficiary. Monetary and Financial Code: Articles L.133-6 and L.133-7 concerning the authorization of payment transactions and the accuracy of information, Articles L.561-5 et seq. concerning due diligence obligations in the area of AML/CFT. ACPR doctrine, which in several decisions has penalized the inadequacy of verification procedures and the failure to ensure that a customer’s identity matches their account Frequently Asked Questions (FAQ) 1. What is VoP? The Payment Order Verification (VoP) is a regulatory service established at the European level.It automatically compares the name of the Beneficiary of the bank transfer with the IBAN provided by the Payer before the bank transfer is executed.Objective: to enhance payment security and reduce fraud (particularly fraud involving fake bank account information). 2. Who is affected? Payers: individuals or businesses that initiate a bank transfer. Beneficiaries: Any individual or entity that receives bank transfers (you, as a CentralPay customer). Payment Service Providers (PSPs): banks, payment institutions, or Electronic money institutions, which must integrate VoP into their systems. 3. How does VoP actually work? When a bank transfer is initiated: The payer enters the IBAN and the beneficiary’s name. The sender’s bank queries the beneficiary’s payment service provider (via a secure channel) to verify that the IBAN matches the name on file for the beneficiary. The response is sent back to the payer’s PSP and displayed to the payer. 4. What results might occur? There are three possible scenarios: Exact match: The IBAN and name match → the bank transfer can be initiated without a warning. Partial match: The IBAN matches, but the name is different (typos, abbreviations, different spelling). The payer receives a warning and can: correct the name, or confirm that this is indeed the intended Beneficiary. Mismatch: The IBAN and name do not match → the payer receives a high-priority alert. The payer can cancel the transaction or decide to proceed by accepting the risk. Does the VoP block a bank transfer? No. VoP does not block the execution of a bank transfer. It provides additional information to the Payer, who remains free to approve or reject the transaction.However, some banks may set internal rules to block transactions in the event of a complete mismatch. What kind of data exchanges take place between banks and PSPs? The Beneficiary’s PSP (e.g., CentralPay) stores the exact name of the account owner in its database. When a VoP query is made, it responds with a standardized code indicating: match, partial match, or no match. These transactions are secure, traceable, and limited to only the necessary data, in accordance with Regulation (EU) 2015/847 on the reporting of bank transfers. No other personal data (address, KYC documents, etc.) is shared. What are the benefits of VoP? For the payer: reduced risk of bank transfer fraud; detection of data entry errors. For the beneficiary: reduced payment delays caused by errors; protection of the company’s reputation with its customers. For the financial system: improved fraud prevention and compliance with European standards. What should I do as a CentralPay Beneficiary? Provide your customers with the correct IBAN and the exact name on file with CentralPay (full company name, without abbreviations). Make sure your invoices, contracts, and other documents always include the same bank account information. If your company name changes or you start using a trade name, notify your customers and CentralPay promptly so that your information can be updated. What happens if there are frequent discrepancies? If your customers frequently encounter VoP alerts when making bank transfers, this may indicate that your bank account information is not being provided consistently. CentralPay can help you review and standardize your payment information to avoid friction. Illustration of VoP by the CNMP
Attachment jQuery(document).ready( function($) { window.live_6ab3046e8e8b8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Attachment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e8e8b8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e8e8b8.load(); });
Attachment jQuery(document).ready( function($) { window.live_6ab3046e8ee5e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Attachment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e8ee5e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e8ee5e.load(); });
Sous-traitants Dans le cadre de la fourniture de ses services de paiement, Centralpay s’appuie sur un ensemble de sous-traitants au sens de l’article 4 du Règlement Général sur la Protection des Données (RGPD). Ces sous-traitants peuvent être amenés à traiter des données à caractère personnel pour le compte de Centralpay, exclusivement sur instructions documentées et dans la limite des finalités du service auquel ils contribuent. La présente page recense les sous-traitants susceptibles d’intervenir dans le traitement des données à caractère personnel des Titulaires, Marchands et Payeurs utilisateurs des services Centralpay. Elle est mise à jour à mesure de l’évolution de notre dispositif. Sous-traitantFinalitéPays de traitement des donnéesCatégories de donnéesAmazon Web Services (AWS)Hébergement cloud de certains services et données applicativesIrlandeEnsemble des données traitées par les servicesComply Advantage (IVXS)Screening LCB-FT et vérification des listes de sanctions internationalesRoumanieDonnées d’identificationDotfileGestion des processus d’onboarding, collecte et mise à jour des dossiers KYC/KYBFranceDonnées d’identification, justificatifsGpaymentsAuthentification 3D-Secure des transactions par carte (second prestataire)IrlandeDonnées carte, authentificationInnovestSociété mère du groupe, destinataire interne pour les finalités de gouvernance, audit, conformité et reporting consolidéFranceDonnées de gouvernance et de reportingMicrosoftGestion et contrôle des flux financiersFranceDonnées transactionnelles et comptablesNetceteraAuthentification 3D-Secure des transactions par carte (Access Control Server)SuisseDonnées carte, authentificationOnfidoVérification automatisée des documents d’identité et des éléments biométriques (reconnaissance faciale, détection de vie)EuropeDonnées d’identité, données biométriquesQomboVerification of Payee (vérification du bénéficiaire d’un virement SEPA)FranceDonnées d’identification, IBANTanla Digital LabsEnvoi de SMS (codes d’authentification, notifications)EuropeNuméro de téléphone, contenu du message Encadrement des sous-traitants et procédure de modification Conformément à l’article 28 du RGPD, l’ensemble des sous-traitants engagés par Centralpay agissent exclusivement sur instructions documentées, sont liés par des engagements contractuels stricts en matière de confidentialité et de sécurité, et ne peuvent utiliser les données à caractère personnel à d’autres fins que celles définies par Centralpay. Toute modification substantielle de cette liste fera l’objet d’une information préalable par tout moyen approprié (notification dans le Portail Marchand, courrier électronique, ou mise à jour publique de la présente page), permettant aux personnes concernées, le cas échéant, de s’y opposer. Pour toute question relative au traitement de vos données ou à l’exercice de vos droits, vous pouvez contacter notre Délégué à la Protection des Données à l’adresse : dpo@centralpay.eu.
Subcontractors In providing its payment services, Centralpay relies on a number of processors as defined in Article 4 of the General Data Protection Regulation (GDPR). These processors may be required to process personal data on behalf of Centralpay, exclusively in accordance with documented instructions and within the scope of the purposes of the service to which they contribute. This page lists the subcontractors that may be involved in the processing of personal data belonging to Account Owners, Merchants, and Payers who use Centralpay services. It is updated as our system evolves. SubcontractorPurposeCountry Where Data Is ProcessedData CategoriesAmazon Web Services (AWS)Cloud hosting for certain services and application dataIrelandAll data processed by the departmentsComply Advantage (IVXS)AML/CFT Screening and Verification Against International Sanctions ListsRomaniaIdentification InformationDotfileManagement of onboarding processes, collection and updating of KYC/KYB recordsFranceIdentification Information, Supporting DocumentsGpayments3D Secure authentication for Card Transactions (second service provider)IrelandCard data, authenticationInnovestThe group’s parent company; internal recipient for the purposes of governance, audit, compliance, and consolidated reportingFranceGovernance and Reporting DataMicrosoftManagement and Control of Cash FlowsFranceTransaction and Accounting DataNetcetera3D-Secure Authentication for Card Transactions (Access Control Server)SwitzerlandCard data, authenticationOnfidoAutomated verification of identification documents and biometric data (facial recognition, liveness detection)EuropeIdentification data, biometric dataQomboVerification of Beneficiary (verification of the beneficiary of a SEPA bank transfer)FranceIdentification Information, IBANTanla Digital LabsSending text messages (authentication codes, notifications)EuropePhone number, message content Supervision of Subcontractors and Change Control Procedures In accordance with Article 28 of the GDPR, all processors engaged by Centralpay act exclusively on the basis of documented instructions, are bound by strict contractual obligations regarding confidentiality and security, and may not use personal data for any purposes other than those defined by Centralpay. Any substantial change to this list will be announced in advance by any appropriate means (notification on the Merchant Portal, email, or a public update to this page), allowing the individuals concerned, if applicable, to object to such changes. If you have any questions regarding the processing of your data or the exercise of your rights, you can contact our Data Protection Officer at: dpo@centralpay.eu.
Optimiser le taux de Frictionless Qu’est-ce que le frictionless ? Une authentification est dite frictionless lorsque la banque du porteur valide l’opération sans aucune interaction de sa part (pas de challenge : ni code à usage unique, ni validation dans l’application bancaire). La banque authentifie « en silence », sur la base des données reçues et de sa propre analyse de risque (Risk-Based Authentication). Son intérêt est double : Meilleure conversion : aucune étape supplémentaire pour le porteur, donc moins d’abandons. Responsabilité transférée : comme pour une authentification avec challenge réussie, un frictionless réussi (transStatus = Y) reporte la responsabilité en cas de fraude vers la banque émettrice. C’est ce qui le distingue d’un paiement sans 3DS. ℹ️ La décision finale appartient toujours à la banque émettrice. Aucun levier ne garantit le frictionless : l'émetteur peut imposer un challenge quelle que soit votre intégration. Les pistes ci-dessous maximisent les chances de frictionless, elles ne le forcent pas. Levier 1 — Enrichir les données d’authentification C’est le levier le plus important. Plus la requête d’authentification (3ds2/authentication) contient de données contextuelles fiables sur le porteur, mieux la banque évalue le risque et plus elle accorde un frictionless. À l’inverse, une requête minimale (montant + données navigateur seulement) prive la banque des éléments qui lui permettraient de se passer du challenge. Tous les champs ci-dessous sont acceptés par l’API aussi bien en BRW qu’en 3RI, et sont marqués Recommended ou Conditional (à envoyer dès que l’information est disponible) : Coordonnées du porteur ChampRôleemailadresse e-mail du porteur (conditionnel : à envoyer sauf restriction locale)homePhone / mobilePhone / workPhonenuméros de téléphone du porteur (indicatif [cc] + numéro [subscriber])deliveryEmailAddresse-mail de livraison (pour une livraison électronique) Adresse de facturation et de livraison ChampRôlebillAddrLine1/2/3, billAddrCity, billAddrPostCode, billAddrState, billAddrCountryadresse de facturationshipAddrLine1/2/3, shipAddrCity, shipAddrPostCode, shipAddrState, shipAddrCountryadresse de livraisonshipAddressUsageIndancienneté d’utilisation de l’adresse de livraison Historique du compte client ChampRôlechAccAgeInd, chAccDate, chAccChangeancienneté et dernière modification du compte du porteur chez le marchandpaymentAccAge, paymentAccIndancienneté de l’enregistrement du moyen de paiementnbPurchaseAccountnombre d’achats sur les six derniers moisprovisionAttemptsDaynombre de tentatives d’ajout de carte sur 24 hpreOrderDate, preOrderPurchaseIndinformations de pré-commande, le cas échéant 💡 La consigne pratique : transmettez tout ce dont vous disposez de fiable. Une donnée incohérente (adresse erronée) est contre-productive ; une donnée fiable absente est une occasion manquée de frictionless. Levier 2 — Exécuter le 3DS Method Lorsque le versioning le propose, exécutez systématiquement le 3DS Method : il permet à la banque de collecter en arrière-plan l’empreinte technique du navigateur du porteur, ce qui nourrit directement son analyse de risque. Le sauter revient à priver la banque d’informations qui favorisent le frictionless. Voir la procédure sur la page BRW. Levier 3 — Exprimer une préférence et signaler les exemptions Le champ threeDSRequestorChallengeInd (optionnel, flux BRW) permet d’indiquer à la banque votre préférence en matière de challenge, et de signaler qu’une exemption s’applique : ValeurSignification01Pas de préférence02Pas de challenge souhaité03Challenge souhaité (préférence du marchand)04Challenge souhaité (obligation)05Pas de challenge — analyse de risque transactionnelle (TRA) déjà réalisée06Pas de challenge — partage de données uniquement07Pas de challenge — authentification forte (SCA) déjà réalisée08Pas de challenge — exemption « bénéficiaire de confiance » (whitelist)09Pas de challenge — invitation au whitelisting si un challenge est requis ⚠️ Les valeurs 05, 07 et 08 déclarent qu'une exemption s'applique. Ne les utilisez que si l'exemption correspondante s'applique réellement à votre configuration : déclarer à tort une exemption engage votre responsabilité et peut entraîner un soft decline (voir FAQ). En cas de doute, conservez 01 ou 02. Le champ whiteListStatus permet par ailleurs de communiquer le statut « bénéficiaire de confiance » du marchand (Y = marchand whitelisté par le porteur, N, E, P, R, U). Lorsqu’un porteur ajoute votre enseigne à sa liste de confiance auprès de sa banque, ses paiements suivants passent plus facilement en frictionless. Levier 4 — Bien implémenter les transactions initiées par le marchand (MIT) Une fois une transaction CIT initiale authentifiée, les transactions ultérieures initiées par le marchand (MIT) s’effectuent via le flux 3RI et sortent du champ de l’authentification forte. C’est l’un des moyens les plus directs de supprimer la friction sur les paiements récurrents, échelonnés ou ultérieurs : authentifier une fois (CIT), réutiliser ensuite (MIT). Ce qui reste hors de votre contrôle Même avec des données complètes et une exemption demandée, l’émetteur peut décider d’un challenge (step-up). Si vous tentez une autorisation sans authentification (via exemption) et que l’émetteur la refuse, vous recevez un soft decline : il faut alors rejouer l’opération avec authentification. Voir l’entrée correspondante dans la FAQ.
Optimize the Frictionless Rate What is “frictionless”? Authentication is considered “frictionless” when the cardholder’s bank approves the transaction without any interaction on the cardholder’s part (no challenge: no one-time code and no confirmation in the banking app). The bank authenticates “silently,” based on the data received and its own risk analysis (Risk-Based Authentication). It serves two purposes: Better conversion: no extra steps for the carrier, so fewer dropouts. Liability Shift: As with successful challenge-based authentication, a successful frictionless transaction (transStatus = Y) shifts liability for fraud to the card issuer. This is what distinguishes it from a payment without 3DS. ℹ️ The final decision always rests with the issuer bank. No approach guarantees a frictionless experience: the issuer may require verification regardless of your integration. The strategies below maximize the chances of a frictionless experience; they do not guarantee it. Lever 1 — Enhance authentication data This is the most important lever. The more reliable contextual data about the user that the authentication request (3ds2/authentication) contains, the better the bank can evaluate the risk and the more likely it is to provide frictionless access. Reverse, a minimal request (amount + browser data only) deprives the bank of the information it would need to bypass the challenge. All of the fields below are accepted by the API in both BRW and 3RI formats and are marked as “Recommended” or “Conditional” (to be submitted as soon as the information is available): Contact information for the cardholder FieldRoleemailcardholder’s email address (conditional: to be sent unless restricted by local regulations)homePhone / mobilePhone / workPhonecardholder’s phone numbers (area code [cc] + number [subscriber])deliveryEmailAddressdelivery email (for electronic delivery) Billing and shipping address FieldRolebillAddrLine1/2/3, billAddrCity, billAddrPostCode, billAddrState, billAddrCountrybilling addressshipAddrLine1/2/3, shipAddrCity, shipAddrPostCode, shipAddrState, shipAddrCountryshipping addressshipAddressUsageIndlength of time the shipping address has been in use Customer account history FieldRolechAccAgeInd, chAccDate, chAccChangethe account holder’s account age and the date of the last change made to the account with the merchantpaymentAccAge, paymentAccIndlength of time the payment method has been registerednbPurchaseAccountnumber of purchases over the past six monthsprovisionAttemptsDayNumber of attempts to add a card in a 24-hour periodpreOrderDate, preOrderPurchaseIndpre-order information, if applicable 💡 Practical tip: Share all the reliable information you have. Inconsistent data (such as an incorrect address) is counterproductive; missing reliable data is a missed opportunity for a frictionless experience. Lever 2 — Run the 3DS Method Whenever versioning allows it, always run the 3DS Method: it enables the bank to collect the technical fingerprint of the cardholder’s browser in the background, which directly feeds into its risk analysis. Skipping this step deprives the bank of information that promotes a frictionless experience. See the procedure on the BRW page. Lever 3 — Expressing a preference and reporting exemptions The threeDSRequestorChallengeInd field (optional, BRW flow) allows you to indicate your challenge preference to the bank and to specify that an exemption applies: ValueMeaning01No preference02No challenge desired03Desired challenge (merchant’s preference)04Desired challenge (required)05No challenge — transactional risk analysis (TRA) already completed06No challenge — data sharing only07No challenge — strong customer authentication (SCA) already completed08No challenge — “trusted beneficiary” exemption (whitelist)09No challenge — invitation to whitelist if a challenge is required ⚠️ The values 05, 07 and 08 indicate that an exemption applies. Use them only if the corresponding exemption actually applies to your configuration: incorrectly declaring an exemption makes you liable and may result in a soft decline (see FAQ). If in doubt, use 01 or 02. The field whiteListStatus also allows you to indicate the merchant’s « trusted beneficiary » status (Y = merchant whitelisted by the cardholder, N, E, P, R, U). When a cardholder adds your merchant to their trusted list with their bank, their subsequent payments go through more smoothly and frictionless. Lever 4 — Properly implement merchant-initiated transactions (MIT) Once an initial CIT transaction has been authenticated, subsequent transactions initiated by the merchant (MIT) are processed via the 3RI flow and are no longer subject to strong authentication. This is one of the most direct ways to reduce friction in recurring, installment, or future payments: authenticate once (CIT), then reuse (MIT). What’s beyond your control Even with complete data and a requested exemption, the issuer may decide to issue a challenge (step-up). If you attempt an authorization without authentication (via exemption) and the issuer denies it, you will receive a soft decline: you must then retry the transaction with authentication. See the corresponding entry in the FAQ.
Liens de paiement Articles Informations générales Demandes de paiementpaymentRequest 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) ➝ Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT) ℹ️ 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, etc.). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé, etc.). 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 La demande de paiement (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 Marchand. 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. 1. Création par API 1.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 à renseignerPaiements unitairesTransaction par cartepaymentMethod[]=TRANSACTIONCaution carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION transaction[source]=DPVérification/Empreinte carte (transaction à 0 €)paymentMethod[]=TRANSACTION transaction[source]=RITransaction par virement bancairepaymentMethod[]=SCT_TRANSACTIONTransaction par prélèvement SEPApaymentMethod[]=SDDsdd[remittanceInformation]Transaction par Paiement par banque (virement standard)paymentMethod[]=SCT_TRANSACTION_PISTransaction par Paiement par banque (virement instantané par défaut, sinon standard)paymentMethod[]=SCT_TRANSACTION_PIS_IPPaiements récurrentsAbonnement par cartepaymentMethod[]=SUBSCRIPTION subscriptionModel[subscriptionModelId]Abonnement par prélèvement SEPApaymentMethod[]=SUBSCRIPTIONsubscription[source]=SDDsubscriptionModel[subscriptionModelId]Paiement fractionné par cartepaymentMethod[]=INSTALLMENTintallment[intervalUnit]installment[intervalCount]installment [iterationCount]Paiement fractionné par prélèvement SEPApaymentMethod[]=INSTALLMENTinstallment[source]=SDDintallment[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 ⚠️ Certaines combinaisons de moyens ou modes de paiement peuvent entrer en conflit 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éfinitionamountMontant de la demande de paiement en centimesmerchantPaymentRequestIdRé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 paiementdescriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiementadditionalData[*]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 paiementcreateCustomerCré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 ℹ️ 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. 1.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 [prochainement] 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 [prochainement] 1.3. Fonctions spécifiques Envoyer une 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. Exemple : Cas d'une demande de paiement de 500 € :• Réglement de 250 € en virement, puis 250 € en carte• Ou 300 € avec une première carte, puis 200 € avec une autre• Ou réglemenet de 350 € avec une carte, puis revenir plus tard pour régler les 150 € restants avec cette même carte Pour ce faire, vous devez [prochainement] 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 [prochainement] 2. Création depuis le Portail Marchand 2.1. Création et types de demandes de paiement Vous pouvez créer une demande de paiement depuis le Portail Marchand Demandes de paiement Liens de paiement Créer . Les demandes de paiement créées depuis le Portail Marchand 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. Accès : Recette Portail Marchand – Demandes de paiement Production Portail Marchand – Demandes de paiement 2.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 Marchand, ou via import de fichiers plats. 2.3. Création de demandes de paiements par import de fichiers plats Depuis le Portail Marchand 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. Télécharger le modèle : Au format CSV➝ Au format JSON ➝ Quelques informations importantes : DésginationDéfinitionprofil_uuid*UUID du profil de demande de paiementmerchant_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 famillefirst_namePrénomemail*Email du destinatairephoneTéléphone du destinataire au format international (ex : 33612345678). create_customerCréation d’un profil client « Customer » : renseigner « O » pour OUI ou « N » pour NONlink_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 paiementlanguage*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) La page de paiement (aussi appelée 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. 1. Paramétrage de la page 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éfinitionNomNom du modèle de pageTemplate 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 dernierURL 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 besoinDé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 redirectionURL 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 besoinCouleur du texteCouleur du texte de la page de paiementCouleur des boutonsCouleur des boutons de la page de paiementChamps 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…) Accès : Recette Portail Marchand – Paramétrage formulaire Production Portail Marchand – Paramétrage formulaire 2. 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 Consultez les 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. Consultez les Webhooks PaymentRequest ➝ Consultez les Webhooks Transaction ➝ Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks SDD Transaction ➝ Consultez les Webhooks Customer ➝ Consultez les Webhooks Subscription ➝ Consultez les Webhooks Installment ➝
Payment Links Articles General information Payment requestspaymentRequest Payment page (SmartForm) Callbacks, statuses and hooks General information 1. The two Smart Collection integration modes The Smart Collection solution allows you to collect payments from various payment methods. You can choose to: Create and integrate your own payment flows (CUSTOM integration), by consuming the API services of each payment method: Card transaction ➝ Transfer transaction ➝ SEPA direct debit transaction ➝ Use our secure payment request flows (SMART integration), via our dedicated service: Payment requests (PaymentRequest) ➝ The EscrowDate parameter can affect the funds availability date of a transaction (applies to AGENT partners only) ℹ️ If you choose SMART integration, specific features such as R-transactions, bank descriptor management, Virtual IBAN management, etc., are presented in the documentation under the CUSTOM sections dedicated to each payment method. 2. About SMART integration The payment request allows you to generate a payment link leading to a payment page hosted by CentralPay. Your customer can thus pay you according to the payment terms you have determined (authorized payment methods and modes, payment deadlines, etc.). Transactions created in this way are automatically linked to the payment request and allow its status to be updated (unpaid, partially paid, paid, etc.). The payment request must be populated with the payment terms of your cart or invoice: Amount to be paid Accepted payment methods (card, transfer, direct debit, payment initiation) Accepted payment modes (one-off, subscription, installment payment…) Order reference Order description Customer details Authorized payment deadline Link expiration time … The payment link can be sent to your customers from: Your sales funnels or web interfaces Your communication tools (email, SMS, mail via QR code…) The CentralPay email / SMS notification service The payment page then allows the customer to carry out their transaction(s): Viewing payment request information Selection of payment method or mode Entering customer data Entering payment details Payment requests The payment request (PaymentRequest) is the service that allows you to generate payment links. You can create payment requests via API or via the Merchant Portal. The payment request can also be paired with the CentralPay notification service, allowing you to easily send a payment link to your customers by email or SMS and schedule automated reminders. 1. API creation 1.1. Create a PaymentRequest Below are the available payment methods and the corresponding API values in the PaymentRequest service: Desired payment method or modeAPI values to provideOne-off paymentsCard transactionpaymentMethod[]=TRANSACTIONCard deposit (reserved for rental businesses)paymentMethod[]=TRANSACTION transaction[source]=DPCard verification/imprint (0€ transaction)paymentMethod[]=TRANSACTION transaction[source]=RIBank transfer transactionpaymentMethod[]=SCT_TRANSACTIONSEPA Direct Debit transactionpaymentMethod[]=SDDsdd[remittanceInformation]Pay by bank transaction (standard transfer)paymentMethod[]=SCT_TRANSACTION_PISPay by bank transaction (instant transfer by default, otherwise standard)paymentMethod[]=SCT_TRANSACTION_PIS_IPRecurring paymentsCard subscriptionpaymentMethod[]=SUBSCRIPTION subscriptionModel[subscriptionModelId]SEPA Direct Debit subscriptionpaymentMethod[]=SUBSCRIPTIONsubscription[source]=SDDsubscriptionModel[subscriptionModelId]Card instalment paymentpaymentMethod[]=INSTALLMENTintallment[intervalUnit]installment[intervalCount]installment [iterationCount]SEPA Direct Debit instalment paymentpaymentMethod[]=INSTALLMENTinstallment[source]=SDDintallment[intervalUnit]installment[intervalCount]installment [iterationCount] If you want to allow multiple payment methods or modes in your PaymentRequest, you must provide the paymentMethod object multiple times. Example: paymentMethod[]=TRANSACTION paymentMethod[]=SCT_TRANSACTION ⚠️ Some combinations of payment methods or modes may conflict and your PaymentRequest may return an error. For example, you cannot allow a TRANSACTION and a SUBSCRIPTION; however, you can allow a TRANSACTION and an INSTALLMENT. Here is the key information about other values to provide when creating a PaymentRequest: LabelDefinitionamountAmount of the payment request in centimesmerchantPaymentRequestIdCustom reference (your order or invoice number, for example) that you can use to reconcile the payment. This value will be visible to your customer on the payment page descriptionCustom description (name of the product or service sold). This value will be visible to your customer on the payment page additionalData[*]Free key-value data, allowing you to pass through one or more data items (invoice references, customer number, etc.). Not visible to your customer on the payment page createCustomerTRUE / FALSE creation of a Customer account (in particular, enables saving the customer payment method: card, SEPA mandate, and creating a virtual IBAN dedicated to the Customer)breakdown[customerId]Select an existing Customer ℹ️ For SEPA transfer transactions, you can define whether you want to display the Virtual IBAN dedicated to the Customer or generate a single-use Virtual IBAN (SCT) from the settings of your Points of Sale. 1.2. Send a PaymentRequest by email / SMS When creating it, you can ask CentralPay to send the payment request to your customer. There are two sending methods: Via the default PaymentRequest mailer: CentralPay sends the payment request using a standardised email/SMS template and from the sender email configured in your point of sale (or, failing that, CentralPay’s sender email « no-reply@centralpay.eu »). To do this, you must [coming soon] Via the CentralPay email/SMS notification service: CentralPay sends the payment request according to the scenario and communication templates you have configured. This service notably enables automated customer reminders, based on the payment request parameters (payment deadlines, payment progress, etc.). To do this, you must [coming soon] 1.3. Specific features Send an open-amount payment request (multi-payment methods) It is possible to allow the amount to be paid to be modified (up to the initial amount), so that your payers can pay the amount due using multiple payment methods or at different times. Example: Example of a €500 payment request:• Payment of €250 by transfer, then €250 by card• Or €300 with a first card, then €200 with another• Or payment of €350 with a card, then come back later to pay the remaining €150 with the same card To do this, you must [coming soon] Send a payment request to multiple recipients It is possible to send a payment request to multiple recipients with a different amount to be paid by each of them. As follows: Each participant receives an email or SMS notification detailing the item to be paid Amounts are set by the initiator or left open for each participant, who pays the amount they wish The dates configured on the request (creation, expiration, etc.) allow notifications to be generated for each participant To do this, you must [coming soon] 2. Creation from the Merchant Portal 2.1. Creation and types of payment requests You can create a payment request from Merchant Portal Payment requests Payment links Create . Payment requests created from the Merchant Portal are necessarily sent to your customers by CentralPay. Depending on your needs, you must choose one of the following request types: Instant request: A simple request, sent from CentralPay’s standard email/SMS senders and templates Scheduled request: An advanced request, using the communication templates, scenarios, and sending/reminder rules that you have previously configured in the CentralPay email/SMS notification service. A scheduled request sent without selecting a notification scenario will automatically be reclassified as an instant request Once created, you can access the payment page by clicking payment request details Payment form . This way, you can send your customer the page URL in case of a sending error. Access: Recette Merchant Portal – Payment requests Production Merchant Portal – Payment requests 2.2. Payment request profiles To make it easier to create payment requests, you can create predefined profiles that include the main request settings: Point of Sale (POS) Currency Language Allowed payment methods Payment due date (contractual payment terms) Link expiration (time before the link expires) Notification scenarios Rerouting of the payment confirmation email Display rules (payment page settings) Customer creation Attachments You can then use this profile when creating your scheduled payment requests via the Merchant Portal, or via flat-file import. 2.3. Create payment requests by flat-file import From Merchant Portal Payment requests Payment links Import , you can upload a payment request import file. This use may be recommended for businesses that want to send, at the end of the month, and automatically follow up on a list of debtors. Download the template: CSV format➝ JSON format ➝ Some important information: LabelDefinitionprofil_uuid*UUID of the payment request profilemerchant_payment_request_idCustom reference (your order or invoice number, for example) that you can use to reconcile the payment. This value will be visible to the payer on the payment page. descriptionCustom description (name of the product or service sold). This value will be visible to your customer on the payment page. total_amount*Payment request amount. Provide as a double with a « . » separator (e.g., 500.00 for €500). last_nameLast namefirst_nameFirst nameemail*Recipient emailphoneRecipient phone number in international format (e.g., 33612345678). create_customerCreation of a « Customer » customer profile: enter « O » for YES or « N » for NOlink_expiration_datePayment request expiration date (date after which the customer can no longer pay you)deadlinePayment due date (date by which your customer must have paid you, and after which they are late).receipt_emailEmail address to which you want to reroute the payment confirmation emaillanguage*Communication and payment page language (FRE for French, ENG for English…)Fields marked with * are required. Payment page (SmartForm) The payment page (also called SmartForm) is a page hosted and secured by CentralPay for collecting customer data and payment details. Generated via the payment request service, it allows your customers to view the details of this request (amount, order reference, etc.) and select an authorized payment method before proceeding to the payment step. 1. Page configuration You can create one or more page templates to customize your payment flow. Below is the list of configurable elements on the page: LabelDefinitionNomPage template nameTemplate par défautCheckbox to define whether this template should be applied by default (payment requests created without a template will use this one)Forcer la création du CustomerCheckbox to systematically force the creation of a Customer when creating the payment request. The Customer creation parameter specified on payment requests will be ignored. Note: CentralPay will not create a new Customer if their email or phone number is already used by another Customer, and will assign the request to that existing CustomerURL de redirectionRedirect URL after payment. Fixed URL; however, you can choose to populate this value dynamically via API for each PaymentRequest if neededDélais de redirectionRedirect delay to the redirect URL after payment. Empty field: no redirect, 0: immediate redirect, other value: number of seconds before redirectURL d'annulationRedirect URL in case of cancellation before payment. Fixed URL; however, you can choose to populate this value dynamically via API for each PaymentRequest if neededCouleur du texteText color of the payment pageCouleur des boutonsButton color of the payment pageChamps supplémentairesAdditional fields that can be added to card (CB) or bank transfer payment flows. Used to collect additional customer data if necessary (address, last name, first name, etc.) Access: Recette Merchant Portal – Form configuration Production Merchant Portal – Form configuration 2. Customizing the logo displayed on the SmartForm The logo displayed on the SmartForm is the one you have specified in the point of sale settings used for your payment request. By default, the CentralPay logo is displayed. Callbacks, statuses and hooks 1. Statuses related to payment requests Consult the Payment Request Statuses ➝ 2. Webhooks related to payment requests As payment requests indirectly allow the creation of card, SCT and SDD transactions, but also other objects like Customer, Subscription or Installment depending on the use cases, it may be useful to track the associated webhooks. Consult the PaymentRequest Webhooks ➝ Consult the Transaction Webhooks ➝ Consult the SCT Transaction Webhooks ➝ Consult the SDD Transaction Webhooks ➝ Consult the Customer Webhooks ➝ Consult the Subscription Webhooks ➝ Consult the Installment Webhooks ➝
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. jQuery(document).ready( function($) { window.live_6ab3046e95db9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Dispute.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e95db9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e95db9.load(); });
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. jQuery(document).ready( function($) { window.live_6ab3046e9656d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Dispute.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e9656d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e9656d.load(); });
Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency code: 932 Description of the certification « ISO 4217:2008 » is available at this url: http://www.iso.org/iso/home/standards/currency_codes.htm
Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency code: 932 Description of the certification « ISO 4217:2008 » is available at this url: http://www.iso.org/iso/home/standards/currency_codes.htm
Comptes de paiement Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, versement 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 versements 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 profil Marchand CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des versements 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 : Recette Portail Marchand – Comptes de paiement Production Portail Marchand – Comptes de paiement 1. Utilisation 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. 2. 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 mandataire AGENT de CentralPay, vous pouvez créer des comptes pour vos marchands en utilisant le service de demande d’enrôlement.
Payment accounts Payment accounts are used to carry out payment transactions (collecting payments in ISO currencies, paying out funds to a bank account, etc.). They allow you to hold funds in an ISO currency (EUR, USD, CHF, GBP, etc.) and have their own IBAN/BIC. With few exceptions, a Payment Account is linked to a bank account with the same account holder, enabling CentralPay to make automatic payouts via SEPA transfer. If you have several bank accounts to which your funds must be paid out, you may ask your CentralPay contact to create the same number of Payment Accounts in your CentralPay Merchant profile. This way, each Payment Account will be linked to a different bank account and will send SEPA payouts accordingly. It is also possible to create several payment accounts for fund segmentation purposes (with an account dedicated to commission or fee transactions, for example). You can view the details of your payment accounts via the following access points: Recette Merchant Portal – Payment Accounts Production Merchant Portal – Payment Accounts 1. Usage Payment accounts are systematically used for our platform’s payment transactions, except for electronic money transactions. 2. Creating payment accounts If you are a CentralPay merchant, you may send an email request to the CentralPay teams to create several payment accounts in your name. This is to segment your transactions or to open an account in a different currency. If you are a CentralPay MOBSP Partner or AGENT representative, you can create accounts for your merchants using the onboarding request service.
Retours, statuts et hooks 1. Statuts liés aux demandes de paiement Consultez les 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. Consultez les Webhooks PaymentRequest ➝ Consultez les Webhooks Transaction ➝ Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks SDD Transaction ➝ Consultez les Webhooks Customer ➝ Consultez les Webhooks Subscription ➝ Consultez les Webhooks Installment ➝
Callbacks, statuses and hooks 1. Statuses related to payment requests Consult the Payment Request Statuses ➝ 2. Webhooks related to payment requests As payment requests indirectly allow the creation of card, SCT and SDD transactions, but also other objects like Customer, Subscription or Installment depending on the use cases, it may be useful to track the associated webhooks. Consult the PaymentRequest Webhooks ➝ Consult the Transaction Webhooks ➝ Consult the SCT Transaction Webhooks ➝ Consult the SDD Transaction Webhooks ➝ Consult the Customer Webhooks ➝ Consult the Subscription Webhooks ➝ Consult the Installment Webhooks ➝
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 et une 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 assurez que vos Customer ont une carte liée à leur profil
Card Transaction Depending on your business needs, CentralPay offers various unit transaction modes via its Transaction API service. Please note, you must first manage the collection of your customer’s card data by creating a Custom Form payment form and integrating 3DS 2.0 authentication. The basic principles of a card transaction are described in the general information section. 1. Authorization and instant capture To perform a simple card payment (authorization then instant capture): Create a Transaction by setting the « source » parameter to « EC » 2. Authorization and deferred capture This transaction mode can be useful if you wish to block your customer’s funds before definitively debiting them, for example, during order validation. This allows you to cancel the operation without being subject to transaction or refund fees. To perform a card payment with deferred capture (authorization then deferred capture), you must: Perform an authorization by setting the « capture » parameter of the Transaction to « false ». Funds will thus be blocked on the customer’s card Then debit the desired amount by initiating a capture on the received transactionId, specifying the desired amount (« amount ») You have 7 calendar days following the authorization to perform the capture; otherwise, the customer’s funds will be released. 3. Pre-authorization and deferred capture The pre-authorization and deferred capture service (or security deposit / PLBS) allows for a pre-authorization of a certain amount, which you can then capture partially or fully within 30 days. During this period, funds are guaranteed to you, as they are blocked on the card and cannot be used by your customer. This service is only accessible to certain authorized activities (vehicle or equipment rentals, hospitality, etc.). To perform a pre-authorization and deferred capture, you must: Perform a pre-authorization by setting the « source » parameter of the Transaction to « DP ». Funds will thus be blocked on the customer’s card Then debit the desired amount by initiating a capture on the received « transactionId », specifying the desired amount (« amount ») You have 30 calendar days following the authorization to perform the capture; otherwise, the customer’s funds will be released. 4. Card verification (secure imprint) The card imprint & verification service allows for a €0 authorization with cardholder authentication (3DS 2.0). This provides you with information regarding your customer’s card (debit, credit, prepaid, etc.) and ensures it is not fraudulent (card not stolen, cardholder identified, etc.). This service is generally used to register a card with 3DS for a subscription with a deferred start date. To perform a card imprint and verification (€0 authorization without capture), you must: Create a Transaction by setting the « source » parameter to « RI » We also recommend creating a « customer » during the transaction to associate the generated « cardId » and allow for a potential subsequent debit of this card 5. Card debit only (MO/TO) The MOTO (Mail Order / Telephone Order) payment service allows for an authorization followed by a capture of a card without the cardholder being present. It is generally used by hotels to debit additional services or consumption at the end of a stay. Please note, this service is only accessible to certain authorized activities (hospitality, etc.) and has shown increasingly lower conversion results since the PSD2 directive, as it does not allow for cardholder authentication. To perform a MOTO payment, you must: Create a Transaction by setting the « source » parameter to « MO » (Mail Order) or « TO » (Telephone Order) 6. One-click card payment One-click card payment consists of saving your customer’s card data so they can pay for their order without having to re-enter it. The customer’s card(s) are securely stored in the CentralPay Customer. In this context, it is necessary to allow your customer to select the card they wish to use or to add a new card. To perform a one-click card payment, you must: Select the « One-click » option in the point of sale configuration Ensure that your Customers have a card linked to their profile
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 profil Marchand CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail Marchand en utilisant un profil avec des droits Admin : Administration Mon profil marchand 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 1.1. 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. 1.2. 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 1.3. 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) 3. Modification d’un mandat SEPA existant 3.1. Modifications possibles sans nécessité de nouveau mandat Certaines données peuvent être mises à jour sans exiger la signature d’un nouveau mandat SEPA, sous réserve d’informer correctement le débiteur : Changement de nom du créancier (modification de la structure juridique prélevant) Changement de l’Identifiant Créancier SEPA (ICS) Changement de la Référence Unique de Mandat (RUM) Changement de compte / IBAN du débiteur au sein d’une même banque Changement de compte / IBAN du débiteur suite à un changement de banque Endpoints associés : Modifier un IBAN débiteurPOST /bankAccount/{bankAccountId}Permet de mettre à jour l’IBAN d’un compte bancaire débiteur lié à un mandat SEPA existant. Modifier une RUMCette opération n’est pas possible via les API CentralPay. Une modification de la RUM nécessite la création d’un nouveau mandat (migration). Modifier le nom du créancierEn cas de changement de la structure juridique réalisant les prélèvements, un nouveau Profil Marchand CentralPay (Merchant) doit être créé. Les mandats existants devront alors être redéclarés sous ce nouveau profil via un processus de migration. 3.2. Modifications nécessitant un nouveau mandat Les modifications suivantes imposent la création d’un nouveau mandat SEPA, car elles impliquent une nouvelle autorisation du débiteur : Changement de nom du débiteur Changement de la date de signature du mandat Changement de type de mandat : passage de SDD Core à SDD B2BNB : Ce cas d’usage n’est pas disponible dans les services CentralPay Changement de la fréquence de prélèvement : passage de ponctuel à récurrent 3.3. Communication des modifications Les notifications de modifications doivent obligatoirement être transmises : Par le créancier au débiteur, pour toute modification initiée par le créancier (ICS, RUM, IBAN, etc.) Par le débiteur au créancier, avec présentation d’un justificatif (ex : RIB ou pièce d’identité) pour les changements d’IBAN ou de données personnelles
Creating a SEPA direct debit mandate After registering the customer’s bank account bankAccount and linking it to their “Customer” profile, you can create a SEPA mandate “mandate” and collect your customer’s electronic signature using a one-time password (OTP) sent via text message. Prerequisite: You must retrieve the creditorBankAccountId from your CentralPay Merchant Profile that corresponds to your ICS. You can find it in your Merchant Portal by using a profile with Admin privileges: Administration My Merchant Profile Bank accounts Locate the row containing your ICS in the “IBAN” column, then copy the associated UUID. 1. Creating and signing a new SEPA mandate 1.1. Create a SEPA direct debit: Create a « Mandate » Enter your « creditorBankAccountId » Enter your customer’s « CustomerId » Enter your Unique Mandate Reference (RUM) Specify the type of payment you want to create in the “paymentType” property Enter your customer’s phone number in the “debtorPhone” property Enter your customer’s email address in the “debtorEmail” property Specify your customer’s bank account by entering their “bankAccountId” in the “debtorBankAccountId” property. Once the SEPA direct debit has been set up: Un « mandateId » sera généré The mandate status will be PENDING A 6-digit code (OTP) will be sent to your customer via text message (valid for 15 minutes). You can have the OTP resent. 1.2. Sign a SEPA direct debit authorization: Sign the « Mandate » Collect the 6-digit code from your customer and enter it in the “otp” property Enter the “mandateId” generated when the mandate was created Enter your client’s IP address in the “endUserIp” property The mandate status will then change to “ACTIVE,” and the SEPA mandate in PDF format will be emailed to the customer. 1.3. Flowchart for bank account registration and power of attorney creation 2. Declaration of an existing mandate (migration) When migrating payment orders that were previously created with another payment service provider, you can disable the SMS OTP signature feature and the option to send SEPA payment orders via email. If this applies to you, please contact our team for more details about this process. Requirements: Direct debits must have been set up using your SEPA Creditor Identifier (ICS) Power of attorney documents must have been created using your current legal entity The payment orders must have been duly signed and accepted by your debtors Accounts must still be active (less than 36 months since the last transaction) 3. Modifying an existing SEPA mandate 3.1. Possible changes that do not require a new mandate Certain information may be updated without requiring the signing of a new SEPA direct debit mandate, provided that the debtor is properly notified: Change in the creditor’s name (change in the legal structure of the entity making the deduction) Change to the SEPA Creditor Identifier (ICS) Change to the Unique Mandate Reference (RUM) Change of account or IBAN for the payer within the same bank Change of account/IBAN of the payer following a change of bank Related endpoints: Edit a Debit Account IBANPOST /bankAccount/{bankAccountId}Allows you to update the IBAN of a debit account linked to an existing SEPA mandate. Modifying a RUMThis operation is not possible via the CentralPay APIs. Modifying a RUM requires creating a new mandate (migration). Change the Creditor’s NameIf there is a change in the legal structure responsible for processing direct debits, a new CentralPay Merchant Profile (Merchant) must be created. Existing mandates will then need to be re-registered under this new profile through a migration process. 3.2. Changes that require a new mandate The following changes require the creation of a new SEPA direct debit mandate, as they involve a new authorization from the payer: Change of the debtor’s name Change in the date of signing the mandate Change in mandate type: transition from SDD Core to SDD B2BNote: This use case is not available in CentralPay services Change in the sampling frequency: from one-time to recurring 3.3. Notification of changes Notifications of changes must be submitted: From the creditor to the debtor, for any changes initiated by the creditor (ICS, RUM, IBAN, etc.) By the debtor to the creditor, with submission of supporting documentation (e.g., bank account information or identification) for changes to the IBAN or personal information
Versement sortant pour tiers Le versement sortant pour un tiers permet de transférer des fonds depuis un compte de paiement ou monnaie électronique CentralPay vers le compte bancaire d’un marchand participant, en tant que mandataire CentralPay (Agent ou DME). Les partenaires (technique ou intégrateur) n’ont pas accès à cette fonction. 1. Objectif et périmètre Ce service permet de : Déclencher des versements manuels ou automatisés pour des marchands participants Cibler un compte bancaire autorisé par le marchand participant Utiliser un compte CentralPay comme source des fonds Le partenaire régulé reste à l’initiative technique du versement, mais les fonds sont toujours détenus et transférés par CentralPay, qui conserve la responsabilité de l’exécution. 2. Méthodes disponibles 2.1. L’API CentralPay Endpoint : /payout/byThirdParty➡️ Voir détails ci-dessous. 2.2. Le Portail Marchand CentralPay Accessible pour les comptes disposant des droits adéquats (Agent ou DME). Accéder à Comptes liés Sélectionner le marchand concerné Accéder à l’onglet Comptes bancaires Choisir le compte cible et déclencher le payout 3. Endpoint API : /payout/byThirdParty Ce service permet d’envoyer une instruction à CentralPay pour reverser une somme définie vers un compte bancaire rattaché à un marchand participant. 3.1. Limites d’usage 1 versement / jour / marchand participant / devise Compte bancaire cible validé par le marchand participant Versement uniquement sur fonds disponibles 3.2. Paramètres API (BODY) ParamètreTypeRequisDescriptioncurrencyISO 4217✅ OuiDevise du versement (doit correspondre au compte bancaire).destinationBankAccountIdUUID✅ OuiCompte bancaire bénéficiaire (lié au marchand participant).walletIdUUID❌ NonWallet source des fonds.amountInteger (en cents)❌ NonMontant à reverser. Si vide : solde maximum.merchantPayoutIdString❌ NonID de référence interne.descriptionString❌ NonTexte libre, visible dans le reporting.payoutReferenceString (max 35)❌ NonRéférence bancaire (visible sur l’opération bancaire).additionalDataMap❌ NonDonnées complémentaires (ex. : ID commande, segment, etc.).transitionWalletUUID❌ Non(cas avancé) wallet transitoire.customerIdUUID❌ NonIdentifiant client si cible non marchande. 4. Suivi des versements 4.1. Récupérer un payout Endpoint : /payout/byThirdParty/retrieveParamètre : payoutId (UUID) 4.2. Lister les payouts Endpoint : /payout/byThirdParty/listParamètre : walletId (UUID) 4.3. Statuts possibles : StatutSignificationPENDINGVersement en cours de traitementPAIDVersement exécuté avec succèsCANCELVersement annulé manuellement 5. Contraintes réglementaires Seuls les Agents et Distributeurs de Monnaie Électronique (DME) déclarés à l’ACPR via CentralPay peuvent initier ces versements Les partenaires doivent garantir que les données envoyées sont conformes à leur cadre contractuel et réglementaire CentralPay se réserve le droit de refuser un versement ou d’exiger des documents justificatifs en cas de doute sur l’opération
Payout to a Third Party An outgoing payout to a third party allows funds to be transferred from a CentralPay Payment Account or Electronic Money Account to the Bank Account of a Participant Merchant acting as a CentralPay Intermediary (Agent or EMD). Partners (technical or integration partners) do not have access to this feature. 1. Purpose and Scope This service allows you to: Initiate manual or automated payouts for Participant Merchants Target a Bank Account authorized by the Participant Merchant Use a CentralPay account as a source of funds The regulated partner retains technical control over the payout, but the funds are always held and transferred by CentralPay, which remains responsible for executing the transaction. 2. Available Methods 2.1. The CentralPay API Endpoint: /payout/byThirdParty➡️ See details below. 2.2. The CentralPay Merchant Portal Available to accounts with the appropriate permissions (Agent or EMD). Go to Linked Accounts Select the relevant Merchant Go to the Bank Accounts tab Select the destination account and initiate the payout 3. API endpoint: /payout/byThirdParty This service allows you to send an instruction to CentralPay to perform a payout for a specified amount to a Bank Account linked to a Participant Merchant. 3.1. Limits on Use 1 payout per day per Participant Merchant / currency Target Bank Account validated by the Participating Merchant Payouts may only be made from available funds 3.2. API Parameters (BODY) ParametersTypeRequiredDescriptioncurrencyISO 4217✅ YesCurrency of the payout (must match the Bank Account).destinationBankAccountIdUUID✅ YesBeneficiary Bank Account (linked to the Participant Merchant).walletIdUUID❌ NoWallet where the funds come from.amountInteger (in cents)❌ NoAmount to be paid out. If blank: maximum balance. merchantPayoutIdThong❌ NoInternal reference ID.descriptionThong❌ NoFree-form text, visible in the report.payoutReferenceString (max 35)❌ NoBank reference number (shown on the bank statement).additionalDataMap❌ NoAdditional data (e.g., order ID, segment, etc.).transitionWalletUUID❌ No(advanced case) temporary wallet.customerIdUUID❌ NoCustomer ID if the target is non-commercial. 4. Tracking Payouts 4.1. Claim a payout Endpoint: /payout/byThirdParty/retrieveParameter: payoutId (UUID) 4.2. List the payouts Endpoint: /payout/byThirdParty/listParameter: walletId (UUID) 4.3. Possible articles of association: StatusMeaningPENDINGPayout is being processedPAIDPayout successfully processedCANCELPayout Canceled Manually 5. Regulatory Constraints Only Electronic money Agents and Distributors (EMDs) registered with the ACPR through CentralPay may initiate these payouts Partners must ensure that the data they submit complies with their contractual and regulatory framework CentralPay reserves the right to refuse a payout or to request supporting documents if there is any doubt about the transaction
É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é.
Platform Development CentralPay’s APIs are based on a microservices architecture that provides maximum flexibility. Our modular approach allows us to continuously evolve our solutions to offer an ever-increasing range of services and features. These updates are implemented following thorough impact analyses to ensure they do not require any changes to our users’ integrations. In very rare cases, these updates may require minor or more significant modifications when regulatory changes occur, as was the case with the transition to version 2.0 of the 3DS, for example. In the event of changes to the platform or modifications to expectations regarding the use of its APIs, CentralPay commits to notifying you within a timeframe commensurate with the scope of the actions to be taken: Minor changes that do not require any action on the part of the merchant or partner:Simple Information Disclosure Minor changes requiring action by the Merchant or Partner:Minimum 2-month notice period + assistance with implementation Major changes requiring action by the Merchant or Partner:Minimum 6-month notice period + support during implementation Please note that changes requiring action on the part of our merchants or partners are either rare or nonexistent, and that every precaution is taken to avoid any impact on their business.
FAQ – 3DS 2.2 Choix du flux Dois-je utiliser le flux BRW ou le flux 3RI ? Le critère est qui initie la transaction et si le porteur est présent, pas le rang de la transaction : BRW → transaction initiée par le client (CIT), porteur présent qui valide lui-même le paiement. À utiliser pour la première authentification d’une carte comme pour tout paiement où le client agit en séance. 3RI → transaction initiée par le marchand (MIT), porteur absent, sur la base d’une CIT authentifiée antérieure (référencée via threeDSReqPriorRef). Voir la vue d’ensemble de la section et la page MIT. Puis-je utiliser le flux BRW pour mes transactions récurrentes / initiées par le marchand ? Non. Le BRW suppose un navigateur et un porteur présents. L’employer pour des MIT entraîne friction inutile, soft declines et non-conformité DSP2. Pour ces transactions, utilisez le 3RI, qui s’appuie sur l’acsTransID de la CIT initiale. Une MIT peut toutefois être exceptionnellement requalifiée en CIT par l’émetteur ; dans ce cas, rejouez une CIT (BRW) avec le porteur. Environnement de test Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ? 👉 Consultez la liste des cartes de test de l’environnement RCT. Erreurs et statuts d’authentification 3DS Mon versioning retourne une erreur 404 « Card account number not found in card ranges from Directory Server ». Que faire ? La carte utilisée n’est pas enrôlée 3DS 2.2 : la transaction ne peut pas se faire en 3DS 2.2. Nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce type de carte. La requête Result retourne transStatus = U. Comment l’interpréter ? La valeur U signifie que l’authentification / vérification n’a pas pu se faire (problème technique ou autre). Côté SmartForm : lors du challenge, seules les valeurs Y et A valident le challenge et permettent de continuer le paiement. Les autres valeurs font échouer le challenge et le paiement. Côté CustomForm : le comportement peut différer. Vous pouvez utiliser la valeur U pour retenter un challenge ; en cas de nouvel échec, basculer en 3DS1, ou considérer le paiement comme refusé. Ces différents traitements sont possibles. SmartForm vs CustomForm : le SmartForm est la page de paiement hébergée par Après soumission du formulaire à l’acsURL, le client revient sans CRES mais avec un paramètre ERROR (base64) et un THREEDSSESSIONDATA vide. Que faire ? Vérifiez que tout votre process 3DS2 se déroule sur une seule et même page via la solution d’iframe. Si le processus est conforme, 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, grâce à la solution d’iframe. Erreur 303 « acquirerBIN, acquirerMerchantID not recognized » lors de l’authentification. Que faire ? Il s’agit soit d’un contrat qui n’est pas 3DS2, soit d’un autre problème. Dans ce dernier cas, contactez le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations utiles. Erreur 203 « Validation of 3DS Requestor Authentication data failed […] » pour le champ merchant.merchantName. Que signifie-t-elle ? L’erreur 203 signale un caractère invalide dans le paramètre merchant.merchantName. Erreur « There is no unique source of card » dans la clé card data. Que signifie-t-elle ? Cette erreur, commune à toute la plateforme, survient lorsque vous envoyez les informations de carte deux fois : par exemple un cardToken et un cardId, ou un PAN et un cardToken. N’envoyez qu’une seule source de carte. Autorisation bancaire L’API transaction retourne « Soft Decline » alors que threeDSServerTransID est bien celui retourné par le CRES. Que faire ? Le soft decline (code A1) est renvoyé par la banque lorsque le 3DS n’est pas présent dans la transaction. Vérifiez qu’aucun champ 3ds[...] n’est manquant — voir les données à transmettre sur la page BRW, étape Transaction. Codes retour banque 5 et 12 (hors 3DS) Ces codes proviennent de l’autorisation bancaire et ne sont pas spécifiques au 3DS. Code 5 : la banque refuse sans donner de statut particulier (CVV erroné ou autre décision que nous ne connaissons pas). Ce statut ne permet pas d’affirmer que la banque refusera l’autorisation après d’autres tentatives. Code 12 : la banque refuse sans donner de statut particulier. Causes possibles : transaction invalide ; CAVV erroné ou invalide (le CAVV est le cryptogramme d’authentification fourni par l’ACS lors du 3DS, à ne pas confondre avec le CVV) ; ou autre décision que nous ne connaissons pas.
FAQ – 3DS 2.2 Selecting a flow Should I use the BRW feed or the 3RI feed? The criterion is who initiates the transaction and if the cardholder is present, not the order of the transaction: BRW → customer-initiated transaction (CIT), where the cardholder is present and authorizes the payment personally. Use this for the initial authentication of a card as well as for any payment where the customer is present during the transaction. 3RI → merchant-initiated transaction (MIT), with the cardholder absent, based on a previously authenticated CIT (referenced via threeDSReqPriorRef). See the section overview and the MIT page. Can I use the BRW feed for my recurring or Merchant-initiated transactions? No. The BRW assumes that both a browser and a cardholder are present. Using it for MITs results in unnecessary friction, soft declines, and PSD2 non-compliance. For these transactions, use the 3RI, which relies on the acsTransID from the initial CIT. However, an MIT may, in exceptional cases, be reclassified as a CIT by the issuer; in this case, reprocess a CIT (BRW) with the cardholder. Test environment Are there any test cards for 3DS2 transactions in a Sandbox environment? 👉 View the list of test maps for the RCT environment. 3DS authentication errors and statuses My versioning is returning a 404 error: « Card account number not found in card ranges from Directory Server. » What should I do? The card being used is not enrolled in 3DS 2.2: the transaction cannot be processed using 3DS 2.2. We recommend switching to a 3DS1 payment for this type of card. The Result query returns » transStatus = U. » How should this be interpreted? The value U means that authentication/verification could not be completed (due to a technical issue or other problem). Regarding SmartForm: during the challenge, only the values Y and A pass the challenge and allow the payment to proceed. Any other values cause the challenge and the payment to fail. Regarding CustomForm : the behavior may vary. You can use the value U to retry a challenge; if it fails again, switch to 3DS1, or treat the payment as declined. These different handling options are possible. SmartForm vs. CustomForm : SmartForm is the payment page hosted by After submitting the form toacsURL, the customer returns without a CRES but with a » ERROR » (base64) parameter and an empty » THREEDSSESSIONDATA. » What should be done? Verify that your entire 3DS2 process takes place on a single page using the iframe solution. If the process is compliant, contact technical support with the necessary information. ℹ️ As a reminder, all steps of the form are completed on a single page, without being redirected to a bank page or any other page, thanks to the iframe solution. Error 303: « acquirerBIN, acquirerMerchantID not recognized » during authentication. What should I do? This is either a contract that is not 3DS2 or another issue. In the second case, contact technical support and provide the electronic payment contract number (if known) and any other relevant information. Error 203: “Validation of 3DS Requestor Authentication data failed […]” for the “ merchant.merchantName ” field. What does this mean? Error 203 indicates an invalid character in parameter merchant.merchantName. « There is no unique source of card » error in the key ` card data`. What does this mean? This error, which is common across the entire platform, happens when you send card information twice: for example a cardToken and a cardId, or a PAN and a cardToken. Send only one set of card information. Bank Authorization The transaction API returns « Soft Decline, » even though » threeDSServerTransID » is indeed the status returned by CRES. What should I do? The bank returns a “soft decline” (code A1) when 3DS is not included in the transaction. Verify that no 3ds[...] fields are missing — see the data to be transmitted on the BRW page, under the “Transaction” step. Bank return codes 5 and 12 (excluding 3DS) These codes come from the bank authorization and are not specific to 3DS. Code 5: The bank declines the transaction without providing a specific reason (incorrect CVV or another reason we are unaware of). This status does not indicate that the bank will decline authorization after further attempts. Code 12: The bank declines the transaction without providing a specific status. Possible causes: invalid transaction; incorrect or invalid CAVV (the CAVV is the authentication code provided by the ACS during 3DS; not to be confused with the CVV); or another reason unknown to us.
Pay by Bank - Initiation de paiement (PIS) 1. Fonctionnement Le service d’initiation de paiement (PIS – Payment Initiation Service) permet à vos clients de réaliser un virement bancaire directement depuis leur environnement bancaire, sans avoir à saisir manuellement les coordonnées du bénéficiaire. Cette fonctionnalité repose sur le protocole Open Banking, en conformité avec la DSP2. Chez CentralPay, ce service est proposé sous l’intitulé Pay by Bank et est actuellement accessible uniquement via le formulaire de paiement hébergé (SmartForm), dans le cadre de l’utilisation du service PaymentRequest. ℹ️ Le service est uniquement disponible via le Smart Form (PaymentRequest). Il n’est pas encore possible d’utiliser ce mode de paiement en tant que moyen unique, il est toujours présenté en complément du service de paiement par virement traditionnel. L’expérience de paiement dépend des interfaces de la banque du client payeur. 2. Activation du service L’initiation de paiement n’est pas activée par défaut. Pour en bénéficier, il est nécessaire d’en faire la demande auprès des équipes support de CentralPay. 3. Utilisation via PaymentRequest Pour permettre à vos clients d’initier un virement directement depuis le formulaire de paiement, vous devez : Créer une PaymentRequest selon les modalités habituelles. Inclure le moyen de paiement suivant dans la propriété payment_methods :• PIS Standard « payment_methods » : [« SCT_TRANSACTION_PIS »]• PIS IP « payment_methods » : [« SCT_TRANSACTION_PIS_IP »] Lorsque ce moyen de paiement est présent, le Smart Form proposera à l’utilisateur un choix entre : Le virement bancaire classique (affichage des coordonnées bancaires à recopier) L’initiation de paiement via son environnement bancaire (Pay by Bank) ℹ️ Il n’est pas possible à ce stade de forcer l’utilisation exclusive de l’initiation de paiement. Le formulaire affichera toujours l’alternative avec les coordonnées bancaires classiques. 4. Parcours utilisateur L’utilisateur sélectionne « Pay by Bank » dans le formulaire Il choisit sa banque dans la liste proposée Il est redirigé vers l’environnement de sa banque pour valider l’opération de virement Une fois le paiement initié, il est redirigé vers votre page de retour 5. Suivi et statuts Une fois la PaymentRequest créée, le statut du virement est disponible via l’API comme pour tout autre paiement : Le champ payment_method sera valorisé à SCT_TRANSACTION Le champ status indiquera la progression de l’initiation de paiement (par exemple PENDING, SUCCEEDED, FAILED) ℹ️ Comme pour les virements classiques, la finalisation du paiement dépend de l’exécution effective du virement par la banque du client. Le client peut choisir entre réaliser un virement standard (à J+1) ou un virement immédiat. 6. Liste des banques disponibles par pays ℹ️ En environnement de recette, une banque nommée "Connecteur de test" est affichée pour vous permettre de tester le parcours de bout en bout. Attention : le montant maximum autorisé sur ce connecteur de test est de 20 €. Banques françaises : InstitutionStandardInstantanéAllianz Banque✅ Disponible🚫 Non disponibleArkéa Banking Services✅ Disponible🚫 Non disponibleArkéa Banque Entreprises et Institutionnels✅ Disponible✅ DisponibleArkéa Banque Privée✅ Disponible✅ DisponibleAXA Banque✅ Disponible✅ DisponibleBanque BCP✅ Disponible✅ DisponibleBanque Chalus✅ Disponible✅ DisponibleBanque de Savoie✅ Disponible✅ DisponibleBanque des Territoires✅ Disponible🚫 Non disponibleBanque Européenne Crédit Mutuel✅ Disponible✅ DisponibleBanque Populaire✅ Disponible✅ DisponibleBanque Transatlantique✅ Disponible✅ DisponibleBBVA (Non activé)🚫 Non disponible🚫 Non disponibleBforBank✅ Disponible🚫 Non disponibleBNP Paribas✅ Disponible✅ DisponibleBNP Paribas Entreprises✅ Disponible🚫 Non disponibleBNP Paribas Nouvelle-Calédonie (Non activé)🚫 Non disponible🚫 Non disponibleBoursoBank✅ Disponible✅ DisponibleBRED✅ Disponible✅ DisponibleBTP Banque✅ Disponible✅ DisponibleCaisse d’Épargne Particuliers✅ Disponible✅ DisponibleCaisse d’Épargne Professionnels✅ Disponible✅ DisponibleCCMDirect (Non activé)🚫 Non disponible🚫 Non disponibleCIC✅ Disponible✅ DisponibleCIC Banque Privée✅ Disponible✅ DisponibleCrédit Agricole✅ Disponible✅ DisponibleCrédit Coopératif✅ Disponible✅ DisponibleCrédit Maritime✅ Disponible✅ DisponibleCrédit Mutuel✅ Disponible✅ DisponibleCrédit Mutuel de Bretagne✅ Disponible✅ DisponibleCrédit Mutuel du Sud Ouest✅ Disponible✅ DisponibleFortuneo✅ Disponible✅ DisponibleHello bank!✅ Disponible✅ DisponibleING Wholesale Banking✅ Disponible🚫 Non disponibleLa Banque Postale✅ Disponible✅ DisponibleLCL✅ Disponible✅ DisponibleLouvre Banque Privée✅ Disponible✅ DisponibleManager.one✅ Disponible🚫 Non disponibleMemo Bank✅ Disponible✅ DisponibleMonabanq✅ Disponible✅ DisponibleN26✅ Disponible✅ DisponibleNef Pro✅ Disponible🚫 Non disponibleNeuflize OBC (Non activé)🚫 Non disponible🚫 Non disponiblePalatine✅ Disponible✅ DisponibleQonto✅ Disponible🚫 Non disponibleRevolut✅ Disponible🚫 Non disponibleSociété Générale✅ Disponible✅ Disponible
Pay by Bank - Payment Initiation (PIS) 1. Operation The Payment Initiation Service (PIS) allows your customers to make a bank transfer directly from their online banking environment, without having to manually enter the recipient’s details. This feature is based on the Open Banking protocol and complies with PSD2. At CentralPay, this service is offered under the name “Pay by Bank” and is currently available only through the hosted payment form (SmartForm) when using the PaymentRequest service. ℹ️ This service is available only through the Smart Form (PaymentRequest). It is not yet possible to use this payment method as the sole option; it is always offered in addition to the traditional bank transfer payment service. The payment experience depends on the interfaces provided by the paying customer’s bank. 2. Service activation Payment initiation is not enabled by default. To use this feature, you must submit a request to the CentralPay support team. 3. Use via PaymentRequest To allow your customers to initiate a transfer directly from the payment form, you must: Create a PaymentRequest following the usual procedure. Include the following payment method in the `payment_methods` property:• PIS Standard `“payment_methods”`: [“SCT_TRANSACTION_PIS”]• PIS IP `“payment_methods”`: [“SCT_TRANSACTION_PIS_IP”] When this payment method is available, the Smart Form will offer the user a choice between: Standard bank transfer (bank account information displayed for you to copy) Initiating a payment through one’s banking system (Pay by Bank) ℹ️ At this stage, it is not possible to require the exclusive use of the payment initiation feature. The form will always display the option to enter standard bank account information. 4. User journey The user selects “Pay by Bank” on the form. The user selects “Pay by Bank” on the form. He selects his bank from the list provided He is redirected to his bank’s website to confirm the transfer Once the payment is initiated, the user is redirected to your return page 5. Monitoring and status reports Once the PaymentRequest has been created, the status of the transfer is available via the API, just as with any other payment: The payment_method field will be set to SCT_TRANSACTION The “status” field will indicate the progress of the payment initiation (for example, PENDING, SUCCEEDED, FAILED) ℹ️ As with traditional transfers, the completion of the payment depends on the customer’s bank actually processing the transfer. The customer can choose between a standard transfer (D+1) and an immediate transfer. 6. List of available banks by country ℹ️ In the staging environment, a bank named “Test Connector” is displayed to allow you to test the end-to-end flow. Please note: The maximum amount allowed on this test connector is €20. French banks: InstitutionStandardSnapshotAllianz Bank✅ Available🚫 Not availableArkéa Banking Services✅ Available🚫 Not availableArkéa Bank for Businesses and Institutions✅ Available✅ AvailableArkéa Private Bank✅ Available✅ AvailableAXA Bank✅ Available✅ AvailableBCP Bank✅ Available✅ AvailableChalus Bank✅ Available✅ AvailableBank of Savoy✅ Available✅ AvailableBank of Territoires✅ Available🚫 Not availableCrédit Mutuel European Bank✅ Available✅ AvailableBanque Populaire✅ Available✅ AvailableTransatlantic Bank✅ Available✅ AvailableBBVA (Not activated)🚫 Not available🚫 Not availableBforBank✅ Available🚫 Not availableBNP Paribas✅ Available✅ AvailableBNP Paribas Business✅ Available🚫 Not availableBNP Paribas New Caledonia (Not activated)🚫 Not available🚫 Not availableBoursoBank✅ Available✅ AvailableBRED✅ Available✅ AvailableBTP Bank✅ Available✅ AvailableCaisse d’Épargne – Personal Banking✅ Available✅ AvailableCaisse d’Épargne for Professionals✅ Available✅ AvailableCCMDirect (Not activated)🚫 Not available🚫 Not availableCIC✅ Available✅ AvailableCIC Private Bank✅ Available✅ AvailableCrédit Agricole✅ Available✅ AvailableCrédit Coopératif✅ Available✅ AvailableCrédit Maritime✅ Available✅ AvailableCrédit Mutuel✅ Available✅ AvailableCrédit Mutuel of Bretagne✅ Available✅ AvailableCrédit Mutuel of Southwest✅ Available✅ AvailableFortuneo✅ Available✅ AvailableHello bank!✅ Available✅ AvailableING Wholesale Banking✅ Available🚫 Not availableLa Banque Postale✅ Available✅ AvailableLCL✅ Available✅ AvailableLouvre Private Bank✅ Available✅ AvailableManager.one✅ Available🚫 Not availableMemo Bank✅ Available✅ AvailableMonabanq✅ Available✅ AvailableN26✅ Available✅ AvailableNef Pro✅ Available🚫 Not availableNeuflize OBC (Non activé)🚫 Not available🚫 Not availablePalatine✅ Available✅ AvailableQonto✅ Available🚫 Not availableRevolut✅ Available🚫 Not availableSociété Générale✅ Available✅ Available
Ouvrir un compte CentralPay Articles Parcours d'entrée en relation Principes de réserve Conditions générales d’utilisation Parcours d'entrée en relation CentralPay propose plusieurs modes d’entrée en relation, selon votre situation : Vous êtes un marchand standard, partenaire ou mandataire en relation directe avec CentralPay Vous êtes un marchand participant d’un mandataire, ou un marchand standard rattaché à un partenaire technique utilisant la solution CentralPay Ce guide détaille les différentes étapes, selon votre profil. Certaines étapes peuvent être adaptées ou simplifiées selon les modalités de votre intégration. 1. Marchands en direct Le parcours d’entrée en relation comporte six étapes principales. 1.1. Qualification de votre projet Nos équipes commerciales échangent avec vous pour analyser votre projet : Parcours de paiement envisagé (web, mobile, point de vente, récurrent…) Moyens de paiement souhaités (carte, virement, SEPA, Pay By Bank…) Méthodes d’intégration (API, portail, connecteur) Typologie de vos clients finaux (B2B, B2C, abonnements…) Volumétrie estimée (fréquence et montants) 1.2. Pré-analyse conformité de votre projet Sur la base des informations fournies, notre service conformité effectue une pré-analyse réglementaire visant à : Vérifier la compatibilité de votre activité avec notre cadre réglementaire Identifier les points de vigilance potentiels (secteur sensible, flux complexes…) Prédéfinir les éventuelles garanties ou conditions particulières 1.3. Signature du contrat cadre Une fois cette pré-analyse validée, vous êtes invité à signer le contrat cadre de services de paiement ou de monnaie électronique. Voir le contrat cadre de services de paiement Un représentant légal peut désigner un mandataire pour signer à sa place (modèle de délégation disponible sur demande) 1.4. Lancement de l’intégration Après signature du contrat : Vous recevez vos accès à l’environnement de test Vous accédez aux documentations techniques CentralPay Si vous bénéficiez d’un accompagnement personnalisé, une réunion d’onboarding est organisée pour configurer vos premiers paramétrages (notifications, versements, droits utilisateurs…). 1.5. Création du profil Marchand CentralPay Le représentant légal reçoit un lien d’inscription sécurisé pour créer le profil : Il complète les informations juridiques Il valide les Conditions Générales d’Utilisation L’analyse de conformité complète est alors déclenchée Cette analyse peut donner lieu à : Des demandes de documents complémentaires (KYC/KYB, contrats, justificatifs…) Un refus d’ouverture si les critères réglementaires ne sont pas remplis Une validation du profil, menant à son ouverture 1.6. Mise en production Une fois l’ensemble des étapes validées, y compris l’intégration et les éventuelles factures initiales : Une date de mise en production est convenue Votre profil est débloqué Vous pouvez encaisser vos premières transactions 2. Marchands liés à un partenaire technique Si vous êtes un marchand intégré via un partenaire technique ou mandataire de CentralPay, le parcours est simplifié. Vous entrez directement à l’étape 5 : Création du profil Marchand CentralPay. 2.1. Étape unique : Création du profil et validation réglementaire Vous recevez un lien d’inscription transmis par votre partenaire ou directement par CentralPay. Ce lien vous permet de : Compléter les informations relatives à votre structure Décrire précisément votre activité, la typologie de vos clients finaux et la volumétrie estimée de vos opérations Valider les Conditions Générales d’Utilisation et signer le contrat cadre Les aspects techniques (intégration, parcours, moyens de paiement) sont déjà définis dans le cadre de la convention signée avec le partenaire technique ou le mandataire. L’analyse de conformité complète de CentralPay reste obligatoire avant validation du profil. Principes de réserve La réserve représente les sommes qui sont maintenues sur votre compte de réserve CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) lorsque votre compte de paiement n’est pas solvable. 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 sujettes 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 Marchand : Administration Versements 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 compte doit donc dépasser la valeur du pied de compte pour autoriser les versements sortants (payout). Le détail du pied de compte est visible depuis le Portail Marchand : Administration Versements 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 sur votre compte de réserve 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 si votre compte de paiement n’est pas solvable. 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 de la réserve glissante est visible depuis le Portail Marchand : Administration Versements Seuil variable Conditions générales d’utilisation L’utilisation des services CentralPay est encadrée par plusieurs documents contractuels que chaque titulaire de compte doit consulter et accepter avant l’activation de son compte. 👉 Consultez les dernières versions en vigueur des conditions générales CentralPay 1. Deux types de CGU applicables CentralPay propose deux catégories de comptes, soumises à des conditions générales distinctes en fonction du service souscrit : Type de compteConditions générales applicablesCompte de paiementConditions générales de service de paiementCompte de monnaie électroniqueConditions générales de service de monnaie électronique Obligation d’acceptation : Ces conditions générales doivent être lues et acceptées électroniquement par le titulaire de chaque compte, qu’il soit ouvert directement par un marchand, ou via un partenaire CentralPay. 2. Contrat cadre pour les encaissements pour compte propre Dans le cas où un compte est utilisé pour encaisser des fonds pour compte propre (modèle marchand standard), CentralPay met également à disposition un modèle de contrat cadre dédié : Ce contrat précise les droits et obligations liés à l’utilisation du compte pour l’encaissement d’opérations commerciales, Il est signé électroniquement par le représentant légal ou par une personne habilitée (via délégation de pouvoir). 👉 Consultez les dernières versions en vigueur des conditions générales CentralPay
Open a CentralPay account Articles Onboarding Path Principles of Reserve Terms and Conditions of Use Onboarding Path CentralPay offers several ways of onboarding, depending on your situation: You are a standard merchant, partner, or intermediary working directly with CentralPay You are a Participant Merchant through an Intermediary, or a standard merchant affiliated with a Technical Partner using the CentralPay solution This guide outlines the various steps based on your profile. Some steps may be adapted or simplified depending on the specifics of your Integration process. 1. Online Merchants The onboarding process consists of six main steps. 1.1. Project Eligibility Our sales teams will work with you to analyze your project: Proposed payment channels (web, mobile, Point of Sale (POS), recurring, etc.) Preferred payment methods (credit card, Bank transfer, SEPA, Pay By Bank, etc.) Integration Methods (API, Portal, Connector) Profile of Your End Customers (B2B, B2C, subscriptions, etc.) Estimated volume (frequency and amounts) 1.2. Preliminary Compliance Analysis of Your Project Based on the information provided, our compliance department conducts a preliminary regulatory analysis aimed at: Check whether your business is compatible with our regulatory framework Identify potential areas of concern (sensitive sectors, complex flows, etc.) Specify any warranties or special conditions in advance 1.3. Signing of the Master Agreement Once this preliminary analysis has been approved, you will be asked to sign the Payment Services Framework Agreement or Electronic money agreement. View the Payment Services Framework Agreement A legal representative may designate an intermediary to sign on their behalf (sample delegation form available upon request) 1.4. Launch of the Integration After signing the contract: You will receive your login credentials for the test environment You can access the CentralPay technical documentation If you are receiving personalized support, an onboarding meeting will be scheduled to set up your initial settings (notifications, Payouts, user permissions, etc.). 1.5. Creating a CentralPay Merchant Profile The legal representative receives a secure registration link to create the profile: It supplements the legal information He accepts the Terms and Conditions of Use The comprehensive compliance analysis is then initiated This analysis may lead to: Requests for additional documents (KYC/KYB, contracts, supporting documents, etc.) A refusal to open the account if the regulatory criteria are not met Profile validation, leading to its activation 1.6. Go-Live Once all steps have been validated, including Integration and any initial invoices: A go-live date has been agreed upon Your profile has been unlocked You can cash out your first transactions 2. Merchants affiliated with a Technical Partner If you are a merchant integrated through a CentralPay Technical Partner or Intermediary Merchant, the process is simplified. You’ll go directly to Step 5: Creating a CentralPay Merchant Profile. 2.1. Single Step: Profile Creation and Regulatory Approval You will receive a registration link sent by your partner or directly from CentralPay. This link allows you to: Please complete the information about your organization Describe your business in detail, the types of end customers you serve, and the estimated volume of your operations Accept the Terms and Conditions of Use and sign the framework agreement The technical aspects (integration, user flow, payment methods) have already been defined as part of the agreement signed with the Technical Partner or Intermediary. CentralPay’s comprehensive compliance review remains mandatory before the profile can be approved. Principles of Reserve The reserve represents the funds held in your CentralPay reserve account to cover R-transactions (rejections, refusals, returns, refunds, chargebacks, and unpaid amounts) when your Payment Account lacks sufficient funds. These settings are determined based on your account’s financial risk profile and are updated based on an analysis of your R-transactions over a sufficient period of time. Recurring transactions via SEPA Direct Debit and credit card are particularly prone to the risk of R-transactions. CentralPay offers three types of protection guarantees that may apply to Merchants, depending on the nature of their contract: 1. Collateral It represents the fixed amount paid at the start of the relationship, intended to cover the credit risk in the event that the Merchant is unable to meet its repayment obligations to its customers. Le détail du collatéral est visible depuis le Portail Marchand : Administration Versements Somme des cautions 2. The account footer In the absence of collateral, a fixed amount may be deducted directly from transactions to guarantee refunds to customers if necessary. The account balance must therefore exceed the account threshold to authorize Payouts (payout). Le détail du pied de compte est visible depuis le Portail Marchand : Administration Versements Seuil fixe 3. The Rolling reserve Depending on the industry and the account settlement processes, a rolling reserve may be automatically established. This is an additional safeguard that sets aside a certain percentage of your collection volume in a reserve account to enable automatic refunds in the event of a Chargeback, fraud, or to cover potential operational fees if your Payment Account is insolvent. This amount belongs to the Merchant’s cash flow and is held for a specified number of days before being released (generally between 90 and 180 days). For example, the variable threshold for the Rolling reserve is 5% of the 90-day collection volume. The daily calculation of the reserve amount is as follows: total amount of transactions collected over the past 90 days * 5% Le détail de la réserve glissante est visible depuis le Portail Marchand : Administration Versements Seuil variable Terms and Conditions of Use The use of CentralPay services is governed by several contractual documents that each account owner must review and accept before activating their account. 👉 View the latest versions of the CentralPay Terms and Conditions currently in effect 1. Two Types of Applicable Terms of Use CentralPay offers two types of accounts, each subject to separate terms and conditions depending on the service subscribed to: Account typeApplicable Terms and ConditionsPayment AccountGeneral Terms and Conditions for Payment ServicesElectronic Money AccountGeneral Terms and Conditions for Electronic Money Services Obligation to Accept: These terms and conditions must be read and accepted electronically by the account owner of each account, whether the account is opened directly by a Merchant or through a CentralPay partner. 2. Master Agreement for Collections on Own Account If an account is used to collect funds on its own account (standard Merchant model), CentralPay also provides a dedicated master agreement template: This agreement sets forth the rights and obligations related to the use of the account for the collection of payments for commercial transactions, It is signed electronically by the legal representative or by an authorized person (by delegation of authority). 👉 View the latest versions of the CentralPay Terms and Conditions currently in effect
Validation d'un enrôlement Une fois toutes les étapes du profil et du workflow complétées (que ce soit via le portail d’onboarding CentralPay ou par API), l’enrôlement entre en phase de vérification par les équipes conformité de CentralPay. 1. Vérification par le service conformité Les analystes procèdent à une analyse complète des informations et documents collectés au cours du parcours. Cette étape peut mener à l’une des décisions suivantes : 1.1 Validation de l’enrôlement Si les éléments fournis sont complets, lisibles et conformes aux obligations réglementaires, l’enrôlement est validé. CentralPay procède alors automatiquement à la création : Du profil Marchand CentralPay (Merchant) Du compte de paiement (Wallet) Du profil utilisateur légal du profil Marchand CentralPay (BO User) ℹ️ Ces entités sont accessibles immédiatement depuis vos outils de supervision (portail ou API). 1.2. Demande de compléments Si certaines pièces sont manquantes, floues, expirées ou incohérentes, une demande de documents complémentaires peut être émise par le service conformité. Cette demande est : Soit transmise par email directement au futur titulaire du compte Soit affichée dans le portail d’onboarding CentralPay, si la demande le permet ℹ️ L’utilisateur pourra compléter les pièces demandées pour relancer la vérification. 1.3. Refus de l’enrôlement Dans certains cas (documents non valides, identité invalide, incohérences non résolues, risque trop élevé), l’ouverture du compte peut être refusée. Aucune entité CentralPay (BO User, Wallet, Merchant) n’est alors créée. 2. Notifications via webhook Quel que soit le scénario de sortie (validation, complément ou refus), vous êtes notifié en temps réel via les webhooks configurés. Cela vous permet de : Suivre les enrôlements au fil de l’eau Adapter votre UX si l’enrôlement est refusé ou en attente Déclencher des actions internes (création CRM, attribution, etc.)
Enrollment validation Once all profile and workflow steps have been completed (whether via the CentralPay onboarding portal or via API), the enrollment enters the verification phase, which is handled by CentralPay’s compliance teams. 1. Review by the compliance department Analysts conduct a comprehensive analysis of the information and documents collected throughout the process. This step may lead to one of the following decisions: 1.1 Enrollment validation If the information provided is complete, legible, and in compliance with regulatory requirements, the enrollment is approved. CentralPay then automatically creates: Of the CentralPay Merchant Profile (Merchant) Of the payment account (Wallet) Of the legal user profile for the CentralPay Merchant Profile (BO User). ℹ️ These entities are immediately accessible from your monitoring tools (portal or API). 1.2. Additional information requested If certain documents are missing, unclear, expired, or inconsistent, the compliance department may request additional documentation. This request is: Either sent by email directly to the future account owner Either displayed in the CentralPay onboarding portal, if the request allows it ℹ️ The user can submit the requested documents to restart the verification process. 1.3. Refusal of enrollment In certain cases (invalid documents, invalid identity, unresolved inconsistencies, or excessive risk), the account opening request may be denied. No CentralPay entity (BO User, Wallet, Merchant) is created at that point. 2. Notifications via webhook Regardless of the outcome (approval, request for additional information, or rejection), you will be notified in real time via the configured webhooks. This allows you to: Track enrollments in real time Adjust your UX if enrollment is denied or pending Trigger internal actions (CRM creation, assignment, etc.)
FAQ - Conformité et résilience Gouvernance et responsabilités Qui est responsable de la sécurité chez CentralPay ?La sécurité est pilotée par notre RSSI (Responsable de la Sécurité des Systèmes d’Information), rattaché directement à la Présidence. Le RSSI s’appuie sur un comité TIC et sur un cadre de gestion des risques aligné sur ISO 27005 et sur le règlement DORA. Le RSSI est joignable à l’adresse suivante : rssi@centralpay.com Avez-vous une politique de sécurité documentée ?Oui. Notre Politique de Sécurité du Système d’Information (PSSI) définit les règles applicables à l’ensemble de nos équipes et de nos prestataires. Elle couvre la classification des données, la gestion des accès, la protection des systèmes, la gestion des incidents, la continuité d’activité et l’encadrement des prestataires TIC. Comment intégrez-vous la sécurité dans vos décisions stratégiques ?La sécurité et la résilience sont intégrées à notre cadre global de gestion des risques. Celui-ci inclut une cartographie alignée ISO/DORA, une politique d’appétence aux risques, et un suivi par indicateurs (KRI). Les décisions de sécurité sont arbitrées au sein du comité Sécurité & Conformité et validées par la Direction Générale. Comment contrôlez-vous vos dispositifs de sécurité ?Nous appliquons le modèle des trois lignes de défense : les équipes métiers réalisent les contrôles opérationnels, la conformité et le contrôle permanent assurent la supervision, et le contrôle périodique réalise une évaluation indépendante. Protection des données et des systèmes Comment protégez-vous les données et systèmes de CentralPay ?Toutes les données sont chiffrées : TLS 1.2/1.3 pour les échanges en transit et AES-256 pour le stockage. Les données de carte sont traitées uniquement dans un environnement certifié PCI DSS niveau 1 et immédiatement tokenisées, afin qu’aucun numéro complet ne soit conservé en clair. Nos infrastructures sont segmentées et protégées par des firewalls, IDS/IPS et une supervision SOC. Les accès aux environnements sensibles sont limités, appliquent le principe du moindre privilège et sont protégés par MFA. Tous les postes de travail sont chiffrés, sécurisés par antivirus/EDR et mis à jour automatiquement. Tests et contrôles de sécurité Réalisez-vous des tests de sécurité ?Oui. Nous effectuons régulièrement des tests de pénétration indépendants, des scans automatisés de vulnérabilités et des audits externes (dont PCI DSS). Ces contrôles permettent d’identifier les failles et de renforcer en permanence notre dispositif. Comment gérez-vous la journalisation et les logs ?Les journaux sont conservés 24 mois, horodatés, protégés par chiffrement et intégrés dans notre système de supervision (SIEM). Leur accès est strictement restreint aux équipes habilitées. Comment gérez-vous les vulnérabilités et mises à jour ?Nous appliquons une politique stricte de patch management : correction des vulnérabilités critiques sous 24h, vulnérabilités hautes sous 7 jours, et autres correctifs selon une fréquence planifiée. Le suivi est assuré par des scans et des rapports de conformité. Organisation et culture sécurité Comment sensibilisez-vous vos collaborateurs à la sécurité ?Tous les collaborateurs suivent une formation annuelle obligatoire sur la cybersécurité, le RGPD et la LCB-FT. Des campagnes de sensibilisation régulières (exercices phishing, e-learning) complètent ce dispositif. Les équipes techniques bénéficient de formations renforcées. Comment garantissez-vous que les accès restent limités ?Nous appliquons le principe du moindre privilège : chaque utilisateur n’accède qu’aux ressources nécessaires à sa mission. Les droits sont justifiés, temporaires et systématiquement tracés. Comment encadrez-vous les accès administrateurs ?Les accès à privilèges élevés sont limités à un nombre restreint de personnes, soumis à MFA, tracés et revus régulièrement. Ils ne sont accordés que pour des besoins précis et pour une durée limitée. Anticipation et amélioration continue Comment anticipez-vous les menaces émergentes ?Nous assurons une veille cybersécurité active via les bulletins CERT-FR, ANSSI, éditeurs logiciels et fournisseurs cloud. Cette activité de threat intelligence permet d’adapter nos défenses en temps réel. Comment améliorez-vous en permanence votre sécurité ?Chaque incident, audit ou test fait l’objet d’un retour d’expérience documenté et d’un plan d’actions correctives. Nos politiques et procédures sont revues annuellement pour intégrer ces enseignements et les évolutions réglementaires. Résilience et continuité Comment assurez-vous la continuité de vos services ?Nous disposons d’un Plan d’Urgence et de Poursuite d’Activité (PUPA) intégrant un PCA (continuité) et un PRI (reprise). Ces plans sont régulièrement testés à travers des exercices de crise et des scénarios de bascule. Comment garantissez-vous la disponibilité et la redondance ?Nos services reposent sur une architecture redondée au sein de plusieurs zones européennes, permettant d’assurer une disponibilité de plus de 99,95 %. Quels sont vos objectifs de RPO et RTO ?CentralPay définit et teste régulièrement ses objectifs de continuité : RPO (Recovery Point Objective) : inférieur à 1 minute pour les systèmes critiques, grâce à la réplication temps réel des données. RTO (Recovery Time Objective) : inférieur à 15 mn pour la reprise des services essentiels, grâce à l’architecture redondée et aux procédures de bascule.Ces objectifs sont validés lors de nos exercices PCA/PRI et intégrés dans notre dispositif DORA. Comment gérez-vous vos sauvegardes ?Les sauvegardes sont chiffrées, isolées, redondées et régulièrement testées pour garantir leur restauration. Elles suivent les mêmes politiques de sécurité que les environnements de production. Réalisez-vous des tests de résilience conformément à DORA ?Oui. Nous réalisons des exercices de crise (cyberattaques simulées, pannes critiques), des tests de charge et de performance, des scénarios de bascule et, pour les fonctions critiques, des tests avancés de type TLPT (Threat-Led Penetration Testing). Relations avec les prestataires Comment sélectionnez-vous vos prestataires critiques ?Chaque prestataire fait l’objet d’une due diligence (sécurité, conformité, localisation des données, SLA). Les contrats incluent des clauses RGPD et DORA (sécurité, notification d’incident, droit d’audit). Comment contrôlez-vous vos prestataires dans la durée ?Nous tenons un registre DORA recensant tous nos prestataires TIC et identifiant les prestataires critiques. Ces derniers font l’objet d’un suivi renforcé : revues régulières, audits, attestations ISO/PCI et évaluations de résilience. Gestion des incidents Que se passe-t-il en cas d’incident de sécurité ?Nous appliquons une procédure de gestion des incidents incluant : détection, qualification, confinement, remédiation et forensic. Si nécessaire, nous notifions la CNIL sous 72h et informons les clients concernés. Chaque incident majeur donne lieu à un retour d’expérience et à un plan d’actions correctives suivi jusqu’à sa clôture.
FAQ - Compliance and Resilience Governance and Responsibilities Who is responsible for security at CentralPay?Security is overseen by our CISO (Chief Information Security Officer), who reports directly to the President. The CISO relies on an ICT committee and a risk management framework aligned with ISO 27005 and the DORA regulation. The CISO can be reached at the following address: rssi@centralpay.com Do you have a documented security policy?Yes. Our Information System Security Policy (ISSP) defines the rules that apply to all our teams and service providers. It covers data classification, access management, system protection, incident management, business continuity, and oversight of IT service providers. How do you integrate security into your strategic decisions?Security and resilience are integrated into our comprehensive risk management framework. This framework includes ISO/DORA-aligned risk mapping, a risk appetite policy, and monitoring through key risk indicators (KRIs). Security decisions are reviewed by the Security & Compliance Committee and approved by senior management. How do you monitor your security systems?We follow the three lines of defense model: business teams perform operational controls, compliance and ongoing monitoring provide oversight, and periodic audits conduct an independent assessment. Data and System Protection How do you protect CentralPay’s data and systems?All data is encrypted: TLS 1.2/1.3 for data in transit and AES-256 for data at rest. Card data is processed exclusively in a PCI DSS Level 1-certified environment and immediately tokenized, so that no full card numbers are stored in plain text. Our infrastructure is segmented and protected by firewalls, IDS/IPS, and SOC monitoring. Access to sensitive environments is restricted, follows the principle of least privilege, and is protected by MFA. All workstations are encrypted, secured by antivirus/EDR software, and updated automatically. Safety Tests and Inspections Do you conduct security tests?Yes. We regularly conduct independent penetration tests, automated vulnerability scans, and external audits (including PCI DSS). These checks help us identify vulnerabilities and continuously strengthen our security measures. How do you handle logging?Logs are retained for 24 months, time-stamped, protected by encryption, and integrated into our security information and event management (SIEM) system. Access to them is strictly limited to authorized teams. How do you manage vulnerabilities and updates?We follow a strict patch management policy: critical vulnerabilities are patched within 24 hours, high-severity vulnerabilities within 7 days, and other patches are applied on a scheduled basis. Compliance is monitored through scans and compliance reports. Organizational Structure and Safety Culture How do you raise your employees’ awareness of safety?All employees undergo mandatory annual training on cybersecurity, the GDPR, and anti-money laundering and counter-terrorism financing (AML/CTF) regulations. Regular awareness campaigns (phishing exercises, e-learning) complement this program. Technical teams receive more in-depth training. How do you ensure that access remains restricted?We follow the principle of least privilege: each user has access only to the resources necessary for their role. Permissions are justified, temporary, and systematically tracked. How do you manage administrator access?Access to elevated privileges is limited to a small number of individuals, is subject to MFA, is tracked, and is reviewed regularly. Such access is granted only for specific purposes and for a limited period of time. Proactive Planning and Continuous Improvement How do you anticipate emerging threats?We conduct active cybersecurity monitoring through bulletins from CERT-FR, ANSSI, software vendors, and cloud providers. This threat intelligence activity allows us to adapt our defenses in real time. How do you continuously improve your security?Every incident, audit, or test is followed by a documented review and a corrective action plan. Our policies and procedures are reviewed annually to integrate these lessons learned and regulatory changes. Resilience and Continuity How do you ensure the continuity of your services?We have an Emergency and Business Continuity Plan (PUPA) that includes a Business Continuity Plan (BCP) and a Disaster Recovery Plan (DRP). These plans are regularly tested through crisis drills and failover scenarios. How do you ensure availability and redundancy?Our services are based on a redundant architecture spanning multiple European regions, ensuring availability of more than 99.95%. What are your RPO and RTO goals?CentralPay regularly defines and tests its business continuity objectives: RPO (Recovery Point Objective): less than 1 minute for critical systems, thanks to real-time data replication. RTO (Recovery Time Objective): less than 15 minutes for the restoration of essential services, thanks to our redundant architecture and failover procedures.These objectives are validated during our business continuity and disaster recovery drills and incorporated into our DORA framework. How do you manage your backups?Backups are encrypted, isolated, replicated, and regularly tested to ensure they can be restored. They follow the same security policies as production environments. Do you conduct resilience tests in accordance with DORA?Yes. We conduct crisis exercises (simulated cyberattacks, critical outages), load and performance tests, failover scenarios, and—for critical functions—advanced tests such as TLPT (Threat-Led Penetration Testing). Relationships with Service Providers How do you select your critical service providers?Each service provider undergoes due diligence (security, compliance, data location, SLA). The contracts include GDPR and DORA clauses (security, incident notification, right to audit). How do you monitor your service providers over time?We maintain a DORA registry that lists all of our IT service providers and identifies critical ones. These critical providers are subject to enhanced oversight, including regular reviews, audits, ISO/PCI certifications, and resilience assessments. Incident Management What happens in the event of a security incident?We follow an incident management procedure that includes: detection, classification, containment, remediation, and forensic analysis. If necessary, we notify the CNIL within 72 hours and inform the affected customers. Every major incident results in a post-incident review and a corrective action plan that is monitored until the incident is closed.
Balance Histories jQuery(document).ready( function($) { window.live_6ab3046eb4182 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Balance Histories.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eb4182", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eb4182.load(); });
Balance Histories jQuery(document).ready( function($) { window.live_6ab3046eb45d9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Balance Histories.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eb45d9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eb45d9.load(); });
Import de fichiers Service d’import de fichiers CentralPay Le Service d’import de fichiers vous permet de piloter des opérations CentralPay en masse, en déposant de simples fichiers CSV plutôt qu’en appelant l’API ligne à ligne. À ce jour, deux types de fichiers sont pris en charge : Fichiers Customer : pour créer vos profils clients (customers) dans CentralPay, avec en option un compte bancaire (BankAccount) et/ou un mandat de prélèvement SEPA (SDD). Fichiers Operation : pour déclencher des prélèvements SEPA (SDD) sur vos profils clients et/ou des virements SEPA sortants (SCT) vers les comptes bancaires de vos profils clients. Pour chaque fichier déposé, CentralPay vous renvoie des fichiers de compte-rendu vous indiquant, ligne par ligne, ce qui a été accepté, refusé ou rejeté. 1. À qui s’adresse ce service ? Ce service est conçu pour les marchands qui traitent des volumes d’opérations et préfèrent un échange par fichiers à une intégration API en temps réel : encaissements récurrents par prélèvement, versements sortants groupés, constitution ou migration d’un référentiel clients/mandats SEPA, etc. L’échange s’effectue de façon asynchrone : vous déposez vos fichiers, CentralPay les traite, puis met à votre disposition les comptes-rendus. 2. Prérequis 2.1 Prérequis communs Un compte marchand CentralPay actif avec accès au Portail Marchand. Votre identifiant marchand (UUID) CentralPay. Les 8 premiers caractères de cet UUID servent à nommer vos fichiers (voir section 5.1 Règles communes à tous les fichiers). La mise en place d’un canal d’échange sécurisé (SFTP, voir section 4. Mise en place du SFTP) sauf si un autre canal a été convenu avec votre interlocuteur CentralPay. Une phase de recette avec l’équipe intégration CentralPay avant la mise en production. 2.2 Prérequis pour les opérations de virements SEPA sortants (CREDIT / SCT) Le service de virement SEPA sortant doit être activé sur votre profil marchand. 2.3 Prérequis pour les opérations prélèvements SEPA (DEBIT / SDD) Les prélèvements imposent des prérequis supplémentaires, à valider avant tout premier dépôt : Votre ICS (Identifiant Créancier SEPA) doit être déclaré dans votre profil marchand CentralPay (démarche réalisée avec votre interlocuteur CentralPay). Le service de prélèvement SEPA doit être activé sur votre profil marchand (démarche réalisée avec votre interlocuteur CentralPay). Validation de la Conformité du mode de gestion des mandats. Dans ce parcours d’intégration, CentralPay ne recueille pas la signature du mandat : vous transmettez vous-même, dans le fichier Customer, la référence du mandat (MANDATE_RUM) et sa date de signature (MANDATE_SIGN_DATE). En conséquence : Votre interlocuteur CentralPay doit valider en amont le principe de gestion des mandats par ce biais, qu’il s’agisse d’une migration de mandats existants ou de mandats nouvellement collectés par vos soins. Vous restez responsable de la collecte, de la validité juridique et de la conservation des mandats signés, ainsi que de l’information préalable de vos clients (préavis, RUM, ICS). Sans ces prérequis, les fichiers comportant des prélèvements ne pourront pas être traités, que ce soit en environnement de RCT ou de PROD. 3. Comment fonctionne le cycle de traitement ? Dépôt. Vous déposez vos fichiers CSV (Customer et/ou Operation) sur le SFTP, dans le dossier de dépôt. Contrôle technique (ACK). CentralPay vérifie chaque ligne (format, champs obligatoires, cohérence) et vous renvoie un fichier .ACK : chaque ligne y est marquée ACCEPTED ou REFUSED, avec le motif d’erreur le cas échéant. Traitement bancaire. Les lignes techniquement valides sont transmises aux circuits bancaires SEPA. Compte-rendu de règlement (SET). Pour les opérations, CentralPay produit des fichiers .SET indiquant l’avancement du règlement (ACCEPTED / PENDING / REFUSED) une fois les retours bancaires disponibles. Rejets post-règlement (RET). En cas de rejet SEPA survenant après le règlement (par exemple une contestation client), CentralPay produit un fichier .RET reprenant le motif et le montant retournés. Les fichiers Customer ne génèrent pas de compte-rendu bancaire (.SET / .RET) : seul un .ACK est renvoyé. 4. Mise en place du SFTP Le SFTP est le canal d’échange recommandé. Il garantit un dépôt et une récupération sécurisés, et permet à CentralPay de récupérer et traiter automatiquement vos fichiers. 4.1 Modèle d’échange Le SFTP est hébergé par le marchand. CentralPay se connecte à votre SFTP, récupère les fichiers dans un dossier de sortie et y dépose les comptes-rendus dans un dossier d’entrée. 4.2 Convention de dossiers L’échange repose sur deux répertoires : RépertoireSensContenuDossier de dépôt (nommé /OUT)Marchand → CentralPayVos fichiers Customer et Operation à traiterDossier de retour (nommé /IN)CentralPay → MarchandLes comptes-rendus .ACK, .SET, .RET 4.3 Étapes de mise en place Demander l’activation auprès de votre interlocuteur CentralPay. Échanger les accès : authentification par clé SSH. Il convient de créer deux espaces : un SFTP dédié à la recette et un dédié à la production Les informations du SFTP (hote + login) devront nous être fournies par email Afin que nous puissions nous connecter à votre SFTP, une clé publique Centralpay (par environnement) vous sera communiquée Par ailleurs, il est recommandé de mettre en liste blanche (whitelist) les adresses IP de CentralPay (celles-ci vous seront communiquées lors de votre intégration). Utilisation de l’arborescence définie précédemment (dossiers de dépôt /OUT et de retour /IN). Tester en recette avec un fichier d’exemple, valider la bonne réception des .ACK, puis basculer en production. 5. Préparer vos fichiers 5.1 Règles communes à tous les fichiers Format : CSV. La ligne d’en-tête (header) est obligatoire dans tous les fichiers, en entrée comme en sortie. Nommage : Fichier client : <8 premiers caractères de votre UUID marchand en minucules>_CUST_<référence libre>.csv Fichier opérations : <8 premiers caractères de votre UUID marchand en minucules>_OPER_<référence libre>.csv La référence libre est à votre main (souvent un horodatage). Le nom complet ne doit pas dépasser 100 caractères. Exemples : c494f877_CUST_20241025110500.csv · c494f877_OPER_20241025110500.csv Montants : exprimés en unité mineure (centimes d’euro) et toujours positifs. Le sens (débit/crédit) est porté par la colonne OPERATION_TYPE, pas par le signe du montant. Légende des colonnes dans les tableaux ci-dessous : Obligatoire : la ligne est refusée si la valeur est absente. Facultatif : peut être laissé vide. Conditionnel : requis uniquement dans le cas décrit. 5.2 Fichier Customer Ce fichier crée vos profils clients. Selon votre besoin, il peut créer en une seule ligne : le profil client seul, le client + un compte bancaire, ou le client + un compte bancaire + un mandat SDD. ColonneFormatStatutDescriptionMERCHANT_IDUUIDObligatoireVotre identifiant marchand CentralPayMERCHANT_CUSTOMER_IDString(100)FacultatifVotre référence client interne (doit être unique). Fortement recommandé pour réconcilier vos opérationsDESCRIPTIONString(256)FacultatifChamp libre à votre usageTYPEINDIVIDUAL / LEGAL_ENTITYObligatoirePersonne physique ou moraleSOCIAL_REASONString(35)ConditionnelRequis si TYPE = LEGAL_ENTITY (raison sociale)FIRST_NAMEString(35)ObligatoirePrénom (du représentant légal si LEGAL_ENTITY)LAST_NAMEString(35)ObligatoireNom (du représentant légal si LEGAL_ENTITY)EMAILString(255)FacultatifPHONEString(25)FacultatifFormat international +<indicatif><numéro>ADDRESS_LINE_1String(255)ObligatoireADDRESS_LINE_2/3/4String(255)FacultatifCompléments d’adressePOSTAL_CODEString(15)ObligatoireCaractères autorisés : lettres, chiffres, espace, tiretCITYString(35)ObligatoireCOUNTRYCode ISO 3166 alpha-3ObligatoireEx. FRAIBANString(34)ConditionnelRequis pour créer un compte bancaire (donc pour tout virement sortant ou prélèvement futur). Validé selon ISO 13616BICString(11)ConditionnelRequis avec l’IBANMANDATE_RUMString(35)ConditionnelRequis pour créer un mandat SDD. Référence unique de mandat (RUM) du mandat déjà signé côté marchandMANDATE_SIGN_DATEDate YYYY-MM-DDConditionnelRequis pour créer un mandat SDD. Date de signature du mandat Logique « avec ou sans »➜ Client seul : renseignez l'identité et l'adresse, laissez IBAN/BIC et les colonnes mandat vides.➜ Client + compte bancaire (nécessaire pour un virement sortant futur) : ajoutez IBAN + BIC.➜ Client + mandat SDD (nécessaire pour un prélèvement SEPA futur) : ajoutez IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE. Exemple de fichier Customer Télécharger l’exemple de fichier .csv « Customer » Trois clients : un particulier (INDIVIDUAL, sans raison sociale) et deux personnes morales (LEGAL_ENTITY), chacun avec son propre compte bancaire et son mandat SDD. À retenir sur cet exemple : Le téléphone est au format international (+33..., sans le 0 initial). Pour le client INDIVIDUAL, le champ SOCIAL_REASON est laissé vide (deux ; consécutifs) ; il est renseigné uniquement pour les LEGAL_ENTITY. Chaque client a son propre IBAN/BIC et sa propre MANDATE_RUM. Les IBAN/BIC ci-dessus sont des coordonnées de test fournies pour la recette : remplacez-les par les coordonnées réelles de vos clients en production. En retour, le fichier .ACK vous renverra pour chaque ligne acceptée un CUSTOMER_ID (UUID). Conservez ces identifiants : ce sont eux que vous réutiliserez dans vos fichiers Operation. Colonnes ajoutées par CentralPay dans le fichier .ACK de retour : ColonneDescriptionSTATUSACCEPTED ou REFUSED (pas de PENDING pour les fichiers customer)ERROR_CODEValorisé si REFUSED (ex. INVALID_PARAMETERS)ERROR_MESSAGEDétail technique (en anglais)CUSTOMER_IDUUID du client créé, valorisé si ACCEPTED (à conserver pour vos opérations futures) 5.3 Fichier Operation Ce fichier déclenche des opérations sur des profils clients déjà existants dans CentralPay. ColonneFormatStatutDescriptionMERCHANT_IDUUIDObligatoireVotre identifiant marchand CentralPayPOINT_OF_SALE_IDUUIDFacultatifPoint de vente concerné. Si vide, le point de vente par défaut est utiliséMERCHANT_TRANSACTION_IDString(35)FacultatifVotre référence d’opération (unique chez vous)DESCRIPTIONString(140)FacultatifDescription à votre usageEND_TO_END_IDString(35)FacultatifRéférence SEPA end-to-end visible par le client final. À défaut, reprend MERCHANT_TRANSACTION_IDREMITTANCE_INFOString(140)FacultatifLibellé SEPA (unstructured remittance information) visible par le client final. À défaut, reprend DESCRIPTIONCUSTOMER_IDUUIDConditionnelIdentifiant CentralPay du client. CUSTOMER_ID ou MERCHANT_CUSTOMER_ID doit être renseignéMERCHANT_CUSTOMER_IDString(100)ConditionnelVotre référence client interne (alternative au CUSTOMER_ID généré par CentralPay)MANDATE_RUMString(35)FacultatifPour cibler un mandat précis si le client en possède plusieurs (si OPERATION_TYPE = DEBIT)AMOUNTEntierObligatoireMontant en centimes d’euro, valeur positive uniquementCURRENCYCode ISOObligatoireEUR (devise euros obligatoire pour virements et prélèvements SEPA)OPERATION_TYPEDEBIT / CREDITObligatoireDEBIT = prélèvement SEPA (SDD)CREDIT = virement SEPA sortant (payout)EXPECTED_SETTLEMENT_DATEDate YYYY-MM-DDFacultatifDate de règlement souhaitée. Par défaut : J+1 ouvré Choisir le bon OPERATION_TYPE➜ DEBIT (prélèvement) : Si vous souhaitez débiter le compte bancaire de votre client via un prélèvement SEPA. Nécessite que le profil client dispose d'un mandat SDD valide. ➜ CREDIT (virement) : Si vous souhaitez créditer le compte bancaire de votre client via un virement SEPA sortant. Nécessite que le client dispose d'un compte bancaire déclaré (IBAN/BIC). Exemple de fichier Operation Télécharger l’exemple de fichier .csv « Operation » Cinq opérations sur les clients créés à l’étape précédente, référencés par leur CUSTOMER_ID (les UUID renvoyés dans le .ACK du fichier Customer) : trois prélèvements (DEBIT) et deux virements (CREDIT). À retenir sur cet exemple : Le client est désigné par son CUSTOMER_ID (UUID stable et unique). Il peut sinon être désigné par votre MERCHANT_CUSTOMER_ID mais vous devez vous assurer de son unicité et de son bon formatage. MERCHANT_TRANSACTION_ID et END_TO_END_ID sont uniques pour chaque opération. Les montants sont en centimes (4990 = 49,90 €) et toujours positifs ; c’est OPERATION_TYPE qui donne le sens (débit ou crédit). REMITTANCE_INFO porte un libellé explicite, visible du client final sur son relevé. Privilégiez des caractères simples (norme SEPA : pas d’accents ni de caractères spéciaux). Colonnes ajoutées par CentralPay dans les fichiers de retour : Dans le .ACK (contrôle technique) : ColonneDescriptionSTATUSACCEPTED, PENDING ou REFUSEDERROR_CODEValorisé si REFUSEDERROR_MESSAGEDétail techniqueOPERATION_IDUUID de l’opération, valorisé si ACCEPTED (clé de suivi dans les fichiers suivants) Dans le .SET (compte-rendu de règlement) : ColonneDescriptionSTATUSACCEPTED, PENDING ou REFUSEDERROR_CODEValorisé si REFUSED (ex. FRAUD_ALERT)ERROR_MESSAGEDétail bancaire du refusSETTLEMENT_DATEDate de valeur si ACCEPTEDOPERATION_IDUUID de l’opération Dans le .RET (rejet post-règlement) : ColonneDescriptionREASON_CODECode de rejet SEPA (ex. AC04 = compte clos)REASON_MESSAGEDétail textuel du rejetRETURN_AMOUNTMontant retourné (positif)RETURN_DATEDate du rejetOPERATION_IDUUID de l’opération d’origine 6. Comprendre les fichiers de retour 6.1 Nommage des fichiers de retour Les fichiers de retour reprennent le nom de votre fichier d’origine, suivi du type de compte-rendu, d’une empreinte de traitement et d’un horodatage : <nom du fichier d'origine au format csv>.<ACK|SET|RET>-<hash>-<timestamp>.csv <hash> : empreinte du fichier traité (permet de relier le retour au traitement). <timestamp> : horodatage du traitement. Exemple : C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv 6.2 Les trois niveaux de compte-rendu FichierQuandCe qu’il vous dit.ACKImmédiatement après réceptionValidité technique ligne à ligne. Toutes les lignes sont retournées, y compris celles refusées.SETUne fois les retours bancaires disponibles (opérations uniquement)Avancement du règlement. Seules les lignes ACCEPTED au niveau .ACK y figurent.RETEn cas de rejet après règlement (opérations uniquement)Rejets SEPA postérieurs (ex. contestation client) Délais indicatifs de règlement (jours ouvrés) : virement (SCT) 1 à 2 jours ; prélèvement SEPA (SDD) 3 à 5 jours. Un rejet post-règlement (.RET) peut survenir jusqu'à 8 semaines après l'opération en cas de contestation. 6.3 Bonnes pratiques de réconciliation OPERATION_ID est la clé de correspondance entre les fichiers .ACK, .SET et .RET d’une même opération. Conservez-le. CUSTOMER_ID (renvoyé dans le .ACK customer) est l’identifiant à réutiliser dans vos fichiers Operation. Renseignez systématiquement vos propres références (MERCHANT_CUSTOMER_ID, MERCHANT_TRANSACTION_ID) pour faciliter le rapprochement de votre côté. 7. Erreurs fréquentes 7.1 Refus techniques (fichier .ACK) CodeSignificationActionMISSING_COLUMNSColonne(s) attendue(s) absente(s)Vérifier l’en-tête et la structure du CSVINVALID_PARAMETERSValeur de champ invalideCorriger la donnée fautive (format, longueur, énumération)BAD_ROWLigne mal forméeVérifier le séparateur et le nombre de colonnes de la ligneCOMPUTATION_EXCEPTIONErreur de traitement interneContacter le support CentralPay (Liste non exhaustive. Les messages sont retournés ligne par ligne et peuvent concatener plusieurs erreurs.) 7.2 Anomalies de rapprochement client MessageSignificationActionNo customer fetch errorLe client lié à l’opération est introuvableVérifier la cohérence du CUSTOMER_ID / MERCHANT_CUSTOMER_ID. Au besoin, déposer un fichier Customer pour les clients manquantsToo much customer found for merchantPlusieurs clients partagent le même MERCHANT_CUSTOMER_IDGarantir l’unicité de votre référence client ; nous contacter pour arbitrer (fusion / mise à jour)Unexpected service responseErreur interne CentralPayContacter le support CentralPay 8. Points d’attention La ligne d’en-tête est obligatoire dans chaque fichier. Les montants sont en centimes et toujours positifs. Une opération peut apparaître dans plusieurs .SET successifs si son statut évolue (PENDING → ACCEPTED/REFUSED). Conservez le mapping OPERATION_ID / CUSTOMER_ID entre vos systèmes et CentralPay. Toute première mise en place fait l’objet d’une recette avec l’équipe intégration avant production. 9. Démarrer Vérifiez vos prérequis, en particulier la chaîne ICS + service SDD + validation Conformité si vous prévoyez des prélèvements. Demandez l’ouverture du canal SFTP auprès de votre interlocuteur CentralPay. Préparez un fichier d’exemple et validez-le en recette. Passez en production. Pour toute question sur la mise en place, contactez votre interlocuteur CentralPay ou le support.
File Import CentralPay File Import Service The File Import Service allows you to manage CentralPay operations in bulk by uploading simple CSV files instead of calling the API line by line. To date, two types of files are supported: Customer files: to create your customer profiles (customers) in CentralPay, optionally with a bank account (BankAccount) and/or a SEPA direct debit mandate (SDD). Operation files: to initiate SEPA direct debits (SDD) on your customer profiles and/or outgoing SEPA credit transfers (SCT) to your customer profiles’ bank accounts. For each file uploaded, CentralPay sends you report files indicating, line by line, what was accepted, refused, or rejected. 1. Who is this service for? This service is designed for Merchants who process large volumes of operations and prefer file exchange over real-time API integration: recurring direct debit collections, grouped outgoing payouts, creation or migration of a customer/SEPA mandate repository, etc. The exchange occurs asynchronously: you upload your files, CentralPay processes them, then makes the reports available to you. 2. Prerequisites 2.1 Common Prerequisites An active CentralPay merchant account with access to the Merchant Portal. Your CentralPay merchant ID (UUID). The first 8 characters of this UUID are used to name your files (see section 5.1 Rules common to all files). The setup of a secure exchange channel (SFTP, see section 4. SFTP Setup) unless another channel has been agreed upon with your CentralPay contact. A testing phase with the CentralPay integration team before going live. 2.2 Prerequisites for outgoing SEPA credit transfer operations (CREDIT / SCT) The outgoing SEPA credit transfer service must be activated on your merchant profile. 2.3 Prerequisites for SEPA direct debit operations (DEBIT / SDD) Direct debits require additional prerequisites, to be validated before any first submission: Your ICS (SEPA Creditor Identifier) must be declared in your CentralPay merchant profile (procedure carried out with your CentralPay contact). The SEPA direct debit service must be activated on your merchant profile (procedure carried out with your CentralPay contact). Validation of Mandate Management Mode Compliance. In this integration process, CentralPay does not collect the mandate signature: you transmit, in the Customer file, the mandate reference (MANDATE_RUM) and its signature date (MANDATE_SIGN_DATE). Consequently: Your CentralPay contact must validate the principle upstream of mandate management via this method, whether it concerns the migration of existing mandates or newly collected mandates by you. You remain responsible for the collection, legal validity, and retention of signed mandates, as well as for providing prior information to your customers (pre-notification, UMR, ICS). Without these prerequisites, files containing direct debits cannot be processed, whether in the Sandbox or LIVE environment. 3. How does the processing cycle work? Upload. You upload your CSV files (Customer and/or Operation) to the SFTP, in the upload folder. Technical Control (ACK). CentralPay checks each line (format, mandatory fields, consistency) and sends you an .ACK file: each line is marked ACCEPTED or REFUSED, with the error reason if applicable. Bank processing. Technically valid lines are transmitted to the SEPA banking circuits. Settlement Report (SET). For operations, CentralPay produces .SET files indicating the settlement progress (ACCEPTED / PENDING / REFUSED) once bank feedback is available. Post-settlement Rejections (RET). In case of a SEPA rejection occurring after settlement (e.g., a customer dispute), CentralPay produces an .RET file detailing the reason and the returned amount. Customer files do not generate a bank report (.SET / .RET): only an .ACK is returned. 4. SFTP Setup SFTP is the recommended exchange channel. It ensures secure upload and retrieval, and allows CentralPay to automatically retrieve and process your files. 4.1 Exchange Model The SFTP is hosted by the merchant. CentralPay connects to your SFTP, retrieves files from an outgoing folder, and deposits reports into an incoming folder. 4.2 Folder Convention The exchange relies on two directories: DirectoryDirectionContentUpload folder (named /OUT)Merchant → CentralPayYour Customer and Operation files to be processedReturn folder (named /IN)CentralPay → MerchantThe .ACK, .SET, reports .RET 4.3 Setup Steps Request activation from your CentralPay contact. Exchange access credentials: authentication via SSH key. Two spaces should be created: one SFTP dedicated to testing and one dedicated to production. The SFTP information (host + login) must be provided to us by email. For us to connect to your SFTP, a CentralPay public key (per environment) will be communicated to you. Furthermore, it is recommended to whitelist CentralPay’s IP addresses (these will be communicated to you during your integration). Use the directory structure defined previously (upload /OUT and return /IN folders). Test in the testing environment with an example file, validate the correct reception of .ACK, then switch to production. 5. Prepare your files 5.1 Rules common to all files Format: CSV. The header row is mandatory in all files, both input and output. Naming: Customer file: <8 premiers caractères de votre UUID marchand en minucules>_CUST_<référence libre>.csv Operations file: <8 premiers caractères de votre UUID marchand en minucules>_OPER_<référence libre>.csv The free reference is at your discretion (often a timestamp). The full name must not exceed 100 characters. Examples: c494f877_CUST_20241025110500.csv · c494f877_OPER_20241025110500.csv Amounts: expressed in minor unit (euro cents) and always positive. The direction (debit/credit) is indicated by the OPERATION_TYPE column, not by the sign of the amount. Column Legend in the tables below: Mandatory: the line is rejected if the value is missing. Optional: can be left blank. Conditional: required only in the described case. 5.2 File Customer This file creates your customer profiles. Depending on your needs, it can create in a single line: the customer profile alone, the customer + a bank account, or the customer + a bank account + an SDD mandate. ColumnFormatStatusDescriptionMERCHANT_IDUUIDMandatoryYour CentralPay merchant IDMERCHANT_CUSTOMER_IDString(100)OptionalYour internal customer reference (must be unique). Highly recommended for reconciling your operations. DESCRIPTIONString(256)OptionalFree field for your useTYPEINDIVIDUAL / LEGAL_ENTITYMandatoryIndividual or legal entitySOCIAL_REASONString(35)ConditionalRequired if TYPE = LEGAL_ENTITY (company name)FIRST_NAMEString(35)MandatoryFirst name (of the legal representative if LEGAL_ENTITY)LAST_NAMEString(35)MandatoryLast name (of the legal representative if LEGAL_ENTITY)EMAILString(255)OptionalPHONEString(25)OptionalInternational format +<indicatif><numéro>ADDRESS_LINE_1String(255)MandatoryADDRESS_LINE_2/3/4String(255)OptionalAddress supplementsPOSTAL_CODEString(15)MandatoryAllowed characters: letters, numbers, space, hyphenCITYString(35)MandatoryCOUNTRYISO 3166 alpha-3 codeMandatoryEx. FRAIBANString(34)ConditionalRequired to create a bank account (thus for any future outgoing transfer or direct debit). Validated according to ISO 13616 BICString(11)ConditionalRequired with IBANMANDATE_RUMString(35)ConditionalRequired to create an SDD mandate. Unique Mandate Reference (UMR) of the mandate already signed on the merchant sideMANDATE_SIGN_DATEDate YYYY-MM-DDConditionalRequired to create an SDD mandate. Mandate signature date "With or Without" Logic➜ Customer only: fill in identity and address, leave IBAN/BIC and mandate columns blank.➜ Customer + bank account (necessary for a future outgoing transfer): add IBAN + BIC.➜ Customer + SDD mandate (necessary for a future SEPA direct debit): add IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE. Example file Customer Download the « Customer » .csv example file Three customers: one individual (INDIVIDUAL, without company name) and two legal entities (LEGAL_ENTITY), each with their own bank account and SDD mandate. Key takeaways from this example: The phone number is in international format (+33..., without the initial 0). For customer INDIVIDUAL, the SOCIAL_REASON field is left empty (two consecutive ;); it is only filled in for LEGAL_ENTITY. Each customer has their own IBAN/BIC and their own MANDATE_RUM. The IBAN/BICs above are test credentials provided for the testing environment: replace them with your customers’ real credentials in production. In return, the .ACK file will send you a CUSTOMER_ID (UUID) for each accepted line. Keep these identifiers: you will reuse them in your Operation files. Columns added by CentralPay in the .ACK return file: ColumnDescriptionSTATUSACCEPTED or REFUSED (no PENDING for customer files)ERROR_CODEValued if REFUSED (e.g., INVALID_PARAMETERS)ERROR_MESSAGETechnical detail (in English)CUSTOMER_IDUUID of the created customer, valued if ACCEPTED (to be kept for your future operations) 5.3 File Operation This file triggers operations on customer profiles already existing in CentralPay. ColumnFormatStatusDescriptionMERCHANT_IDUUIDMandatoryYour CentralPay merchant IDPOINT_OF_SALE_IDUUIDOptionalConcerned Point of Sale (POS). If empty, the default point of sale is used. MERCHANT_TRANSACTION_IDString(35)OptionalYour operation reference (unique to you)DESCRIPTIONString(140)OptionalDescription for your useEND_TO_END_IDString(35)OptionalSEPA end-to-end reference visible to the end customer. Otherwise, it uses MERCHANT_TRANSACTION_IDREMITTANCE_INFOString(140)OptionalSEPA label (unstructured remittance information) visible to the end customer. Otherwise, it uses DESCRIPTIONCUSTOMER_IDUUIDConditionalCentralPay customer identifier. CUSTOMER_ID or MERCHANT_CUSTOMER_ID must be providedMERCHANT_CUSTOMER_IDString(100)ConditionalYour internal customer reference (alternative to the CUSTOMER_ID generated by CentralPay)MANDATE_RUMString(35)OptionalTo target a specific mandate if the customer has several (if OPERATION_TYPE = DEBIT)AMOUNTIntegerMandatoryAmount in centimes of euro; positive values onlyCURRENCYISO CodeMandatoryEUR (mandatory euro currency for SEPA transfers and direct debits)OPERATION_TYPEDEBIT / CREDITMandatoryDEBIT = SEPA direct debit (SDD)CREDIT = outgoing SEPA credit transfer (payout)EXPECTED_SETTLEMENT_DATEDate YYYY-MM-DDOptionalDesired settlement date. Default: J+1 business day Choose the correct OPERATION_TYPE➜ DEBIT (direct debit): If you wish to debit your customer's bank account via a SEPA direct debit. Requires the customer profile to have a valid SDD mandate. ➜ CREDIT (transfer): If you wish to credit your customer's bank account via an outgoing SEPA credit transfer. Requires the customer to have a declared bank account (IBAN/BIC). Example file Operation Download the « Operation » .csv example file Five operations on customers created in the previous step, referenced by their CUSTOMER_ID (the UUIDs returned in the .ACK of the Customer file): three direct debits (DEBIT) and two credit transfers (CREDIT). Key takeaways from this example: The customer is identified by their CUSTOMER_ID (stable and unique UUID). It can also be identified by your MERCHANT_CUSTOMER_ID but you must ensure its uniqueness and correct formatting. MERCHANT_TRANSACTION_ID and END_TO_END_ID are unique for each operation. Amounts are in centimes (4990 = 49.90 €) and are always positive; the sign ( OPERATION_TYPE ) indicates whether the transaction is a debit or a credit. REMITTANCE_INFO carries an explicit label, visible to the end customer on their statement. Prioritize simple characters (SEPA standard: no accents or special characters). Columns added by CentralPay in the return files: In the .ACK (technical control): ColumnDescriptionSTATUSACCEPTEDPENDING, or REFUSEDERROR_CODEValued if REFUSEDERROR_MESSAGETechnical detailOPERATION_IDOperation UUID, valued if ACCEPTED (tracking key in subsequent files) In the .SET (settlement report): ColumnDescriptionSTATUSACCEPTEDPENDING, or REFUSEDERROR_CODEValued if REFUSED (e.g., FRAUD_ALERT)ERROR_MESSAGEBank refusal detailSETTLEMENT_DATEValue date if ACCEPTEDOPERATION_IDOperation UUID In the .RET (post-settlement rejection): ColumnDescriptionREASON_CODESEPA rejection code (e.g., AC04 = account closed)REASON_MESSAGETextual detail of the rejectionRETURN_AMOUNTReturned amount (positive)RETURN_DATERejection dateOPERATION_IDOriginal operation UUID 6. Understanding the return files 6.1 Naming of return files Return files use the name of your original file, followed by the report type, a processing fingerprint, and a timestamp: <nom du fichier d'origine au format csv>.<ACK|SET|RET>-<hash>-<timestamp>.csv <hash> : fingerprint of the processed file (allows linking the return to the processing). <timestamp> : processing timestamp. Example: C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv 6.2 The three levels of reporting FileWhenWhat it tells you.ACKImmediately upon receiptTechnical validity line by line. All lines are returned, including those refused. .SETOnce bank feedback is available (operations only)Progress of settlement. Only lines ACCEPTED at the .ACK level are included. .RETIn case of rejection after settlement (operations only)Subsequent SEPA rejections (e.g., customer dispute) Indicative settlement times (business days): credit transfer (SCT) 1 to 2 days; SEPA direct debit (SDD) 3 to 5 days. A post-settlement rejection (.RET) can occur up to 8 weeks after the operation in case of dispute. 6.3 Best practices for reconciliation OPERATION_ID is the matching key between the .ACK, .SET, and .RET files of the same operation. Keep it. CUSTOMER_ID (returned in the customer .ACK) is the identifier to reuse in your Operation files. Systematically provide your own references (MERCHANT_CUSTOMER_ID, MERCHANT_TRANSACTION_ID) to facilitate reconciliation on your end. 7. Common errors 7.1 Technical refusals (.ACK file) CodeMeaningActionMISSING_COLUMNSExpected column(s) missingCheck the CSV header and structureINVALID_PARAMETERSInvalid field valueCorrect the erroneous data (format, length, enumeration)BAD_ROWMalformed lineCheck the separator and the number of columns in the lineCOMPUTATION_EXCEPTIONInternal processing errorContact CentralPay support (Non-exhaustive list. Messages are returned line by line and may concatenate multiple errors.) 7.2 Customer reconciliation anomalies MessageMeaningActionNo customer fetch errorThe customer linked to the operation is not foundCheck the consistency of CUSTOMER_ID / MERCHANT_CUSTOMER_ID. If necessary, upload a Customer file for missing customers. Too much customer found for merchantMultiple customers share the same MERCHANT_CUSTOMER_IDEnsure the uniqueness of your customer reference; contact us to arbitrate (merge / update).Unexpected service responseCentralPay internal errorContact CentralPay support 8. Points of attention The header row is mandatory in each file. Amounts are in centimes and are always positive. An operation may appear in several successive .SET if its status changes (PENDING → ACCEPTED/REFUSED). Maintain the OPERATION_ID / CUSTOMER_ID mapping between your systems and CentralPay. Any initial setup is subject to a testing phase with the integration team before production. 9. Getting Started Check your prerequisites, especially the ICS chain + SDD service + Compliance validation if you plan direct debits. Request SFTP channel activation from your CentralPay contact. Prepare an example file and validate it in the testing environment. Go live. For any questions regarding setup, contact your CentralPay representative or support.
Utilisation des API CentralPay Les APIs CentralPay permettent d’interagir de manière sécurisée avec notre plateforme pour créer des comptes, initier des paiements ou automatiser des opérations métiers. Nos APIs reposent sur le protocole HTTP(S) et utilisent un format de réponse en JSON. L’authentification est obligatoire pour chaque requête, sauf exception précisée. 1. Les APIs disponibles CentralPay met à disposition deux APIs principales : APIDescriptionAccèsAPI Core PaymentGère toutes les fonctions liées aux opérations de paiement (initiation, transfert, remboursement, etc.)Tous les marchandsAPI OnboardingPermet la demande de création de comptes de paiement ou de monnaie électronique (enrôlements, wallet, etc.)Réservée aux marchands partenaires et mandataires (Agents, DME). 2. URLs des environnements Deux environnements sont disponibles selon votre étape d’intégration : ComposantEnvironnement de TESTEnvironnement de PRODUCTIONAPI Core Paymenthttps://test-api.centralpay.net/https://api.centralpay.net/API Onboardinghttps://test-onboarding-api.centralpay.net/https://onboarding-api.centralpay.net/ Les identifiants d’accès sont différents entre test et production. Vous pouvez également accéder à votre Portail Marchand à des fins de consultation ou de paramétrage : ComposantEnvironnement de TESTEnvironnement de PRODUCTIONPortail Marchandhttps://test-backoffice.centralpay.net/https://backoffice.centralpay.net/ 3. Authentification API L’API CentralPay utilise l’authentification HTTP Basic, qui repose sur deux éléments obligatoires à inclure dans chaque appel : Identifiant API (login) Mot de passe API Toutes les requêtes doivent être transmises en HTTPS. Ces identifiants sont distincts entre les environnements de test et de production. Pour récupérer vos identifiants API, suivez les étapes suivantes : 3.1. Étape 1 – Accéder au Portail Marchand Pour l’environnement de production : https://backoffice.centralpay.net/ Pour l’environnement de test : https://test-backoffice.centralpay.net/ 3.2. Étape 2 – Ouvrir la section technique Depuis le menu de navigation : Administration > Mon compte > Technique Lien direct en production : https://backoffice.centralpay.net/admin/actor/account#technical_tab Lien direct en test : https://test-backoffice.centralpay.net/admin/actor/account#technical_tab 3.3. Étape 3 – Récupérer l’Identifiant API (login) Dans l’onglet Technique, localisez la zone « Identifiant API » Cliquez sur l’identifiant affiché pour l’ouvrir en détail Copiez la valeur indiquée dans le champ Login ⚠️ Ce login est à fournir dans l’en-tête Authorization de vos requêtes (sous forme de base64 avec le mot de passe, voir plus bas). 3.4. Étape 4 – Générer un Mot de passe API Toujours dans le même écran, cliquez sur le bouton Modifier Cliquez ensuite sur Générer un mot de passe Copiez immédiatement le mot de passe généré, attention il n’est affiché qu’une seule fois Cliquez enfin sur Mettre à jour pour valider le nouveau mot de passe Si vous perdez le mot de passe, vous devrez recommencer cette opération pour en générer un nouveau. ℹ️ Bonnes pratiques :- L’identifiant et le mot de passe peuvent être révoqués ou régénérés à tout moment depuis le portail marchand.- Ne partagez jamais ces identifiants en clair.- Stockez le mot de passe dans un gestionnaire sécurisé après sa génération. 4. Clé publique Marchand (MerchantPublicKey) Certains services, comme cardToken, ne nécessitent pas d’identifiant/mot de passe mais uniquement une clé publique marchand (MerchantPublicKey) pour authentifier la requête. Où la trouver : Connectez-vous au Portail Marchand de production ou de test Accédez à : Administration > Technique Copiez la clé dans la section Merchant Public Key 5. Méthodes HTTP et MIME Types Nos APIs sont conformes au style REST, avec les méthodes HTTP suivantes : MéthodeUsagePOSTCréation ou mise à jour d’un objetGETRecherche ou consultation d’un objetDELETESuppression d’un objet Les types MIME suivants sont utilisés : application/x-www-form-urlencoded multipart/form-data Le Content-Type doit être systématiquement précisé dans les en-têtes HTTP. 6. En-têtes HTTP à utiliser Chaque appel API doit inclure un certain nombre d’en-têtes HTTP correctement renseignés : En-tête HTTPDescriptionAuthorizationEncodage HTTP Basic avec l’identifiant et le mot de passe APIContent-TypeObligatoire pour toutes les requêtes. Doit être : application/x-www-form-urlencoded ou multipart/form-dataUser-AgentFortement recommandé, utile pour tracer les intégrationsIdempotence-Key (optionnel mais conseillé)Permet d’éviter les doublons en cas de réémission d’une même requête 7. Idempotence : sécuriser les réémissions L’en-tête Idempotence-Key permet de garantir qu’une même requête envoyée plusieurs fois avec la même clé ne sera traitée qu’une seule fois. Cela est particulièrement utile lors d’une erreur réseau ou d’un doute sur la réussite d’un appel. La valeur de l’en-tête Idempotence-Key est un hachage SHA1 des principaux champs métier de la requête. Elle doit être unique par combinaison fonctionnelle de données. Exemple pour une opération carte : ℹ️ Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) La clé Idempotence-Key est valable pendant 24h maximum sur nos serveurs 8. Réponses HTTP Chaque réponse retournée par l’API contient des éléments de traçabilité utiles dans les en-têtes : En-tête HTTPDescriptionRequest-IdIdentifiant unique attribué à chaque appel. Peut être communiqué au support CentralPay en cas d’analyse ou de litige technique. La réponse JSON du corps dépend bien sûr de la ressource appelée (paiement, transfert, onboarding…), mais le header Request-Id est systématique. 9. Déclaration de vos domaines pour les services CustomForm Pour certains services tels que cardToken, qui dépendent des formulaires embarqués (CustomForm), il est nécessaire de déclarer au préalable les domaines web qui hébergent ces formulaires. Sans cette déclaration, toute tentative d’appel aux services concernés depuis un domaine non autorisé entraînera une erreur 403 (Forbidden). Connectez-vous au Portail Marchand : Production Test Accédez à : Administration > Mon compte > Technique Cliquez sur Modifier Dans le champ Hosts Custom Forms autorisés, saisissez l’URL ou les domaines à autoriser (ex : https://www.votre-site.com) Enregistrez les modifications Une fois cette étape effectuée, les services comme cardToken pourront être appelés depuis les domaines déclarés, conformément aux règles de sécurité imposées par CentralPay.
Using the CentralPay APIs The CentralPay APIs allow you to securely interact with our platform to create accounts, initiate payments, or automate business operations. Our APIs are based on the HTTP(S) protocol and use a JSON response format. Authentication is required for every request, unless otherwise specified. 1. Available APIs CentralPay provides two main APIs: APIDescriptionAccessCore Payment APIManages all functions related to payment transactions (initiation, transfer, refund, etc.)All merchantsAPI OnboardingAllows users to request the creation of Payment Accounts or Electronic Money Accounts (Enrollment, Wallets, etc.)Reserved for Partner Merchants and Intermediary Merchants (Agents, EMD). 2. Environment URLs Two environments are available, depending on your stage of Integration: ComponentTest environmentPRODUCTION EnvironmentCore Payment APIhttps://test-api.centralpay.net/https://api.centralpay.net/API Onboardinghttps://test-onboarding-api.centralpay.net/https://onboarding-api.centralpay.net/ The login credentials are different for the test environment and the production environment. You can also access your Merchant Portal to view information or configure settings: ComponentTest environmentPRODUCTION EnvironmentMerchant Portalhttps://test-backoffice.centralpay.net/https://backoffice.centralpay.net/ 3. API Authentication The CentralPay API uses HTTP Basic authentication, which requires two mandatory elements to be included in every call: API ID (login) API Password All requests must be sent via HTTPS. These credentials are different for the Test environment and production environment. To retrieve your API credentials, follow these steps: 3.1. Step 1 – Access the Merchant Portal For the production environment: https://backoffice.centralpay.net/ For the test environment: https://test-backoffice.centralpay.net/ 3.2. Step 2 – Open the technical section From the navigation menu: Administration > My Account > Technical Direct link to the production version: https://backoffice.centralpay.net/admin/actor/account#technical_tab Direct link (in testing): https://test-backoffice.centralpay.net/admin/actor/account#technical_tab 3.3. Step 3 – Retrievethe API ID (login) On the » Technical » tab, locate the « API ID » field Click on the ID shown to view the details Copy the value shown in the » Login » field ⚠️ This login must be included in the Authorization header of your requests (in Base64 format along with the password; see below). 3.4. Step 4 – Generate an API Password On the same screen, click the » Edit » button Then click » Generate a password« Copy the generated password immediately; please note that it is displayed only once. Finally, click » Update » to confirm the new password If you forget your password, you’ll need to repeat this process to generate a new one. ℹ️ Best Practices:- The username and password can be revoked or regenerated at any time through the Merchant Portal.- Never share these credentials in plain text.- Store the password in a secure password manager after it has been generated. 4. Merchant Public Key (MerchantPublicKey) Some services, such as cardToken, do not require a username or password but only a Merchant public key (MerchantPublicKey) to authenticate the request. Where to find it: Log in to the Production or Test Merchant Portal Go to: Administration >, Technical Copy the key into the » Merchant Public Key » section 5. HTTP Methods and MIME Types Our APIs follow the REST style and support the following HTTP methods: MethodUsagePOSTCreating or Updating an ObjectGETSearching for or Viewing an ItemDELETEDeleting an Object The following MIME types are used: application/x-www-form-urlencoded multipart/form-data The Content-Type must always be specified in the HTTP headers. 6. HTTP Headers to Use Each API call must include a number of correctly populated HTTP headers: HTTP HeaderDescriptionAuthorizationHTTP Basic Authentication Using the API Username and PasswordContent-TypeRequired for all requests. Must be: application/x-www-form-urlencoded or multipart/form-dataUser-AgentHighly recommended; useful for plotting integralsIdempotence-Key (optional but recommended)Prevents duplicates when the same request is resubmitted 7. Idempotence: Ensuring Safe Reissuance The ` Idempotence-Key ` header ensures that the same request sent multiple times with the same key will be processed only once. This is particularly useful in the event of a network error or if you are unsure whether a call was successful. The value of the ` Idempotence-Key ` header is an SHA1 hash of the request’s main business fields. It must be unique for each functional combination of data. Example for a card transaction: ℹ️ Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) The key » Idempotence-Key » is valid for up to 24 hours on our servers 8. HTTP Responses Each response returned by the API contains useful traceability information in the headers: HTTP HeaderDescriptionRequest-IdA unique identifier assigned to each call. This can be provided to CentralPay support in the event of an investigation or technical dispute. The JSON response body depends, of course, on the resource being called (payment, transfer, onboarding, etc.), but the ` Request-Id ` header is always included. 9. Registering Your Domains for CustomForm Services For certain services, such as cardToken, that rely on embedded forms (CustomForm), you must first declare the web domains that host these forms. Without this declaration, any attempt to access the relevant services from an unauthorized domain will result in a 403 (Forbidden) error. Log in to the Merchant Portal: Production Test Go to: Administration > My Account > Technical Click » Edit« In the » Allowed Hosts for Custom Forms » field, enter the URL or domains to allow (e.g., https://www.votre-site.com) Save the changes Once this step is complete, services such as cardToken can be accessed from the registered domains, in accordance with the security rules imposed by CentralPay.
Transaction par carte Articles Informations générales Formulaire de paiement CUSTOM Authentification 3DS 2.0 Transaction cartetransaction Transaction carte récurrentetransaction Transaction carte via walletApplePay / GooglePay R-transaction carterefund / credit / dispute Email de confirmation Libellé relevé bancaire Gestion des devises Gestion des cartes virtuelles (VCC) Retours, statuts et hooks Informations générales 1. Fonctionnement Une transaction carte comprend une succession d’actions : 1.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é, etc.) 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 ») 1.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, etc.), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours. 1.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 Le service API Transaction permet d’effectuer une autorisation suivie d’une capture des fonds sur la carte bancaire de votre client. Tous les modes de paiement par carte (paiement simple, récurrents, MoTo, etc.) sont gérés via ce service. Lorsqu’un client souhaite effectuer un premier paiement, ses données de carte doivent être collectées pour générer un cardTokenId, grâce au service de tokenisation « token.js » de CentralPay. Ce token temporaire permet ensuite de créer une ressource Card, identifiée par un cardId, pouvant être enregistrée dans un objet Customer. Ce rattachement est indispensable pour permettre des paiements ultérieurs sans redemander la carte (paiement en 1 clic, récurrents, etc.). ℹ️ Avec un formulaire de paiement personnalisé (CUSTOM FORM), l'intégration de l'authentification 3DS 2.2 est obligatoire avant d'exécuter une transaction. Schéma du flux de paiement avec cardTokenId : ℹ️ Si vous disposez d'une certification PCI-DSS de niveau 1 et que vous gérez les données de carte, vous pouvez directement créer un objet /card en envoyant les données (PAN, date d'expiration, CVC) à l'API, sans passer par token.js. 1. Prérequis 1.1. Déclarer vos domaines Avant d’utiliser le token.js, vous devez déclarer les domaines hébergeant vos formulaires Custom dans votre Portail Marchand. Allez dans Administration Mon profil marchand Technique Modifier , puis complétez le champ Hosts Custom Forms autorisés. Accès : Recette Portail Marchand – Administration Production Portail Marchand – Administration 1.2. Sécuriser votre formulaire Assurez-vous que vos pages de paiement utilisent le protocole HTTPS avec TLS 1.2 ou supérieur. 1.3. Conformité PCI-DSS L’utilisation de token.js implique que vous gérez vous-même l’affichage du formulaire et le déclenchement du token. Cette méthode impose de respecter les exigences PCI DSS SAQ A-EP. Téléchargez le formulaire A-EP ➝ 2. Intégration du formulaire de paiement 2.1. Créer un formulaire de paiement HTML Contrairement au Smart Form hébergé par CentralPay, le Custom Form est créé par vos soins, via votre propre code HTML. Vous devez implémenter les champs suivants : Numéro de carte : 16 chiffres pour CB/Visa/Mastercard, 15 pour American Express Date d’expiration : format MM/AAAA CVC : 3 chiffres (CB/Visa/Mastercard), 4 chiffres (Amex) Vous pouvez consulter nos exemples de formulaires Custom Form : Consultez l’exemple de formulaire Custom Form sans 3DS 2.2 ➝ Consultez l’exemple de formulaire Custom Form avec 3DS 2.2 ➝ 2.2. Intégration du script token.js Ajoutez dans votre page le script token.js pour générer un cardTokenId : <script src="https://js.centralpay.net/js/token.js"></script> Ajoutez ensuite votre clé publique marchand (MerchantPublicKey) dans un tag distinct : <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('VOTRE_CLE_PUBLIQUE') : alert('Error loading html form'); </script> Vous pouvez voir où retrouver votre MerchantPublicKey depuis la page Authentification de nos API. Intégration dans une application mobile Si vous utilisez une WebView dans votre application, vous pouvez intégrer soit un formulaire personnalisé avec token.js, soit un formulaire hébergé via le service PaymentRequest. Ces options vous permettent d’externaliser la collecte des données carte tout en offrant une expérience utilisateur fluide. Dans une application mobile native, le script token.js n’est pas compatible. Vous devez alors collecter les données de carte via les champs de l’application, puis appeler directement l’API cardToken en utilisant votre merchantPublicKey. L’appel à l’API cardToken doit inclure un en-tête HTTP Origin correspondant à une URL déclarée dans votre profil Marchand CentralPay (voir 2.1 Prérequis). Pour vos tests, vous pouvez utiliser l’Origin suivant : https://example.centralpay.net ℹ️ Pour les applications mobiles natives, les données de carte sont transmises directement depuis le device de l’utilisateur vers CentralPay, sans passer par les serveurs du marchand. Cependant, ce type d’intégration nécessite de veiller à respecter les exigences de sécurité et de conformité PCI-DSS applicables à la collecte et la transmission de données de carte dans un environnement natif. 2.3. Créer un Customer et rattacher une carte ℹ️ Le cardTokenId est un token à usage unique, dont le CVC est temporaire (10 minutes en production, 5 minutes en RCT). Passé ce délai, le token expire automatiquement (status=EXPIRED) et ne peut plus être utilisé, ce qui entraînera l’erreur suivante : "cardTokenId": "Card token already used". Que vous utilisiez la carte immédiatement (paiement simple) ou que vous souhaitiez la réutiliser plus tard (paiement en 1 clic, récurrent, etc.), il est recommandé de commencer par créer un objet Customer, puis d’enregistrer une Card à l’aide du cardTokenId. L’authentification 3DS 2.2 pouvant parfois allonger le délai de traitement, cette séquence permet d’éviter l’expiration du CVC associé au cardToken. Créez un objet customer via l’endpoint POST /customer ou récupérez le customerId s’il est déjà connu Créez une card en utilisant POST /card en spécifiant le cardTokenId émis par le token.js et le customerId Une fois la card rattachée à un customer, le CVC devient permanent et les transactions futures peuvent être initiées sans limite de temps. Si vous n'utilisez pas le token.js (certification PCI-DSS requise), vous pouvez directement créer une card sans passer par le cardToken en fournissant le PAN + expiration + CVC + customerId 3. Authentification 3DS 2.2 Avant d’initier une transaction par carte, vous devez vérifier l’identité du porteur via une authentification 3DS 2.2. Cette étape est obligatoire pour les transactions carte unitaire comme pour les transactions carte récurrente. ℹ️ Exception : Les transactions de type MoTo (Mail Order / Telephone Order) ne sont pas soumises à l’authentification 3DS. Vous pouvez créer la transaction directement après la création de la carte. 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 ») 1. Caractéristiques 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) : 1.1. Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction) Il 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 ➝ 1.2. Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents) Le 3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand, est utilisée lorsque le porteur n’est pas présent ou non participant. Le 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 et une 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 assurez 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’abonnementCentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont. Abonnement piloté par APIVous pilotez le prélèvement de chaque échéance vous-même par API (authentification BRW initiale, puis 3RI), sans recourir au service d’abonnement automatisé par CentralPay 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.2. 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.2 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 Marchand. 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 piloté par API 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.2 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 Marchand » 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.2 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 1. Apple Pay (Smart Form) Apple Pay est intégré nativement au parcours de paiement carte du SmartForm (PaymentRequest > paymentMethod[]=TRANSACTION) dès que l’appareil de votre client est compatible. Aucune action n’est requise de votre part. Le service est entièrement opéré par CentralPay (détection de l’appareil, gestion des certificats et des tokens Apple, sécurité PCI-DSS). Aucune donnée de carte n’est exposée côté marchand (périmètre PCI-DSS SAQ-A). 2. Apple Pay (Custom Form) 2.1. Prérequis 1. Créer un 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) 2. 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…) 🔐 Certificats requis pour une intégration Apple Pay (https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request)Pour traiter des paiements Apple Pay dans le cadre d’une intégration directe, le marchand doit disposer des éléments suivants :• un certificat Merchant ID Identity ;• un certificat Merchant Payment Processing G2.Le marchand doit veiller à conserver l’ensemble des clés privées utilisées lors de la génération des CSR associées à ces certificats.1. Merchant ID IdentityLa génération d’un CSR basé sur une clé EC (256 bits) est requise.Cette CSR sera générée par Centralpay2. Merchant Payment Processing CertificateÉtapes principales :• Demander le CSR généré par Centralpay• Soumettre le CSR depuis le compte développeur Apple afin d’obtenir le Merchant Payment Processing Certificate.• Installer le certificat sur le même poste macOS ayant servi à la génération de la CSR afin qu’il soit associé à la clé privée.• Exporter l’identité complète au format .p12 (certificat + clé privée).⚠️ Si l’option d’export au format .p12 n’est pas disponible, cela indique qu’une étape du processus n’a pas été correctement réalisée (clé privée manquante ou non associée).Le fichier .p12 constitue un conteneur sécurisé permettant l’exploitation ultérieure de la clé privée associée au certificat, conformément au flux Apple Pay.Notes importantes :• Toute perte de la clé privée nécessite la recréation complète du certificat depuis le portail Apple Developer.• La documentation Apple Pay peut prêter à confusion : l’utilisation d’OpenSSL ne concerne que le certificat Merchant ID Identity, et ne s’applique pas au Merchant Payment Processing Certificate. 2.2. Via token Apple Pay déchiffré CentralPay permet le traitement des paiements par carte effectués via Apple Pay, dans le cadre d’une intégration Custom (hors Smart Form). ℹ️ CentralPay ne prend actuellement en charge que les tokens Apple Pay déchiffrés. Cette méthode implique une responsabilité PCI-DSS importante de votre part (formulaire SAQ-D). Renseignez-vous et assurez-vous d'être en conformité avant de développer ce mode d'intégration. Étape 1 : Déchiffrement du token Apple Pay (Backend) 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 : 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 (Backend) Utilisez l’endpoint POST /cardToken de l’API CentralPay ChampDescriptioncard[number]PAN de la carte extrait du token Apple Paycard[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 PayamountMontant 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]=5454696696312664card[expirationMonth]=12card[expirationYear]=2031onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=applePayTransactionId=3d2b17abed2696ca...amount=2500currency=EURmerchantPublicKey=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 (Backend) Utilisez l’endpoint POST /transaction de l’API CentralPay Champs requis : cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification. Étape 4 : 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 API de test Cartes de test Différences entre environnement de test et de production : Les URLs des API sont différentes : Elles utilisent le préfixe test- 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 CentralPay (merchantPublicKey) est également spécifique à l’environnement 2.3. Via token ApplePay chiffré (hybride) ℹ️ 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. 2.3.1. Paramétrage du compte Apple – Se connecter sur « https://developer.apple.com/« , créer un compte et valider le compte ‘developer’ à 99$) – Aller sur https://developer.apple.com/account/resources/identifiers/list – Dans « App IDs », choisir « Merchant IDs » : Puis cliquer sur le « + » pour ajouter un « Identifier » : Choisir « Merchant IDs » : Renseigner le nom de l’identifier et cliquez sur « Register » : Aller à https://developer.apple.com/account/resources, puis cliquer sur Identifiers Sur Identifier, sélectionner un Merchant IDs en utilisant le filtre en haut à droite Sous « Apple Pay Payment Processing Certificate », cliquer sur « Create Certificate« . Indiquez que ce « Merchant ID » ne sera PAS (No) utilisé uniquement pour la Chine. A ce moment là cliquez sur « Choose File » afin d’envoyer le fichier CSR qui vous a été envoyé par CentralPay(uniquement CentralPay) Vous pouvez télécharger le fichier généré.Il reste à créer le certificat « Apple Pay Merchant Identity Certificate » Pour cela aller à https://developer.apple.com/account/resources, puis cliquer sur Identifiers et enfin cliquer sur l’Identifier que vous voulez éditer.Une fois ouvert, cliquez sur « Create Certificate ». Ajoutez votre certificat : Ajouter le domaine associé Indiquez le nom de domaine en question : Téléchargez le fichier indiqué par Apple Déployez le fichier indiqué par Apple sur un serveur du nom de domaine en question accessible à Apple, puis cliquez sur « Verify » : Vous pourrez alors télécharger le certificat nécessaire. 2.3.2. Paiement via Applepay Génération du certificat et clé dans le même fichier : openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts Création d’un ApplePayToken avec Apple Pay JS API (Démo à https://applepaydemo.apple.com/apple-pay-js-api) Frontend : <script crossorigin src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"> </script> <style> apple-pay-button { --apple-pay-button-width: 250px; --apple-pay-button-height: 100px; --apple-pay-button-border-radius: 99px; --apple-pay-button-padding: 0px 0px; --apple-pay-button-box-sizing: border-box; }</style><apple-pay-button id="btn-card" buttonstyle="white-outline" type="plain" locale="fr-FR"></apple-pay-button><br /><div data-info="gateway-link" class="text-small text-gray-light font-weight-normal ml-1"> <img src="https://docs.centralpay.com/wp-content/uploads/2024/10/paysecure_reassurance_1-fond_blanc.png" alt="CentralPay" style="max-width:200px"></a></div> var request = { countryCode: 'FR', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard', 'amex'], merchantCapabilities: ['supports3DS'], total: { label: 'Your Merchant Name', amount: '10.00' },}var applepayversion = 3;var session = new ApplePaySession(applepayversion, request);session.onvalidatemerchant = event => { // Call your own server to request a new merchant session. console.log("event.validationURL :"+event.validationURL); fetch('/applepay-session') .then(res => res.json()) // Parse the response as JSON. .then(merchantSession => { session.completeMerchantValidation(merchantSession); }) .catch(err => { console.error("Error fetching merchant session : ", err); });};session.onpaymentauthorized = (event) => { var token = event.payment.token; fetch(`https://api.centralpay.net/transaction`, { method: "post", body: JSON.stringify( { applePayToken: token, endUserIp: "127.0.0.1", currency: "EUR", amount: 1000, source="EC", browserUserAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36", merchantTransactionId="1234567890123456789" }), }) .then((response) => { if (response.ok) { return response.json(); } appleSession.completePayment(ApplePaySession.STATUS_FAILURE); }) .then((responseJson) => { // Do something with the response appleSession.completePayment(ApplePaySession.STATUS_SUCCESS); }) .catch((error) => { appleSession.completePayment(ApplePaySession.STATUS_FAILURE); });};session.begin(); Backend : $router->map('GET', '/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface { $APPLE_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $curl = new Curl(); $curl->setHeader('Content-Type', 'application/json'); $curl->setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); $curl->setOpt($ch, CURLOPT_SSLCERTPASSWD, "thesslpassword"); $curl->setOpt(CURLOPT_POSTFIELDS, '{ merchantIdentifier: "merchant.net.centralpay.test-form", displayName: "MyStore", initiative: "web", initiativeContext: "merchant.net.centralpay.test-form" }' ); $curl->setOpt(CURLOPT_CUSTOMREQUEST, "POST"); $curl->setOpt(CURLOPT_URL, $APPLE_URL); $curl->exec(); ... return new Laminas\Diactoros\Response\JsonResponse($curl->getResponse()); ...}); Création de CardToken avec votre token Apple pay chiffré. (Frontend) 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.Utilisez l’endpoint POST /cardToken de l’API CentralPayChamps requis : curl --location 'https://test-api.centralpay.net/cardToken' \--header 'Origin: https://example.centralpay.net' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx' Création de la transaction : (Backend) Utilisez l’endpoint POST /transaction de l’API CentralPayChamps requis : curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789' Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification. Création de Transaction avec votre token Apple pay chiffré. (Backend) 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. Puis utilisez l’endpoint POST /transaction de l’API CentralPay Champs requis : curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx' 3. Google Pay (Smart Form) Google Pay est nativement au parcours de paiement carte du SmartForm (PaymentRequest > paymentMethod[]=TRANSACTION), dès que l’appareil ou le navigateur de votre client est compatible. Aucune action ne sera nécessaire de votre part. Le service sera entièrement opéré par CentralPay (détection de compatibilité Google Pay, gestion des certificats et des tokens, sécurité PCI-DSS). Aucune donnée de carte ne transite côté marchand, le flux relève du périmètre PCI-DSS SAQ-A. 4. Google Pay (Custom Form) CentralPay permet l’intégration de Google Pay via le mode PAYMENT_GATEWAY, tel qu’imposé par Google Pay dans un contexte PSP multi-marchands, sans nécessiter de déchiffrement du token côté serveur. 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é ⚠️ Google Pay fournit un merchantId spécifique au domaine validé.Ce merchantId est obligatoire pour toute Payment Request Google Pay.L’utilisation d’un merchantId non associé au domaine entraîne une erreur Google Pay (Error 11). 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 : 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 et copiez 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 et mettez à jour Étape 1: Configuration de Google Pay côté frontend ℹ️ Le bouton Google Pay est fourni par le SDK officiel Google Pay.L’initiation du paiement et la génération du token sont entièrement contrôlées par Google Pay (hosted button). 1. Définir la version de l’API : const baseRequest = { apiVersion: 2, apiVersionMinor: 0 }; 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. 3.Définir les types de cartes acceptées : const allowedCardNetworks = ["AMEX", "MASTERCARD", "VISA"]; 4. Définir le type de moyen de paiement : Il existe deux type différents : PAN_ONLY et CRYPTOGRAM_3DS ⚠️CentralPay n’autorise pas l’utilisation du type PAN_ONLY car il requiert de respecter des normes de sécurité spécifiques. Seul le type CRYPTOGRAM_3DS est autorisé. const allowedCardAuthMethods = ["CRYPTOGRAM_3DS"]; 5. 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 : ChampDescriptionamountMontant 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=2500currency=EURmerchantPublicKey=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=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... Le cardToken contient déjà toutes les informations d’authentification : pas besoin d’ajouter de cryptogramme ou de champ CVV. Étape 5 : Testing avant mise en production L’environnement de test CentralPay permet de valider l’ensemble de votre intégration Google 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 API de test Cartes de test Différences entre environnement de test et de production : Les URLs des API sont différentes : elles utilisent le préfixe test- 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 testIls ne sont pas interchangeables avec ceux de production La clé publique CentralPay (merchantPublicKey) est également spécifique à l’environnement R-transaction carte 1. Remboursement – refund 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 Marchand. 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é. ⚠️ Si la carte sur laquelle vous tentez d'effectuer le remboursement est expirée ou que le compte a été clôturé, CentralPay ne pourra réaliser de remboursement. Dans ce cas, nous vous invitons à vous rapprocher de votre client pour lui demander un RIB à jour et procéder à un virement SEPA depuis votre banque. 2. Crédit – credit 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 ℹ️ Ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus. 3. Contestation – Dispute Lorsqu’un porteur de carte conteste ou signale une transaction auprès de sa banque, le réseau (Visa, Mastercard, Carte Bancaire, etc.) peut notifier CentralPay afin d’initier une opération de contestation (Dispute).Cette opération permet de suivre l’état du litige et d’agir selon le type de signal reçu : alerte de fraude, demande d’information, ou chargeback. Chaque contestation est représentée dans le backoffice CentralPay par une opération distincte (Dispute), liée à la transaction d’origine. Les notifications sont également disponibles via le webhook DISPUTE_CREATED. Pour tout paiement par carte, un client peut contester une transaction auprès de sa banque dans les délais suivants : 120 jours à compter de la transaction pour les réseaux Visa et Mastercard ; 13 mois à compter de la date d’opération pour le réseau français Carte Bancaire. ℹ️ En France, la contestation est en principe réservée aux cas de fraude (carte volée, usurpée, utilisation abusive).Dans d’autres pays européens, elle peut également être utilisée dans le cadre d’un litige commercial (produit non livré, service non conforme, etc.). 1. Alerte de fraude FRAUD_NOTICED Ce statut correspond à une notification préventive de fraude transmise par le réseau (ex. : fichier TC40 pour Visa).Il est déclenché lorsque la banque émettrice signale qu’un porteur affirme ne pas être à l’origine de la transaction (carte volée, copiée ou usurpée). ➡️ Aucun remboursement n’est initié à ce stade.➡️ Ce signal vous permet d’anticiper un chargeback potentiel et de renforcer vos contrôles antifraude. Bonnes pratiques : Identifier la transaction concernée (montant, pays, carte, date). Vérifier les transactions similaires (même carte, même compte, même IP). Mettre la carte ou le compte en liste noire pour éviter de nouvelles tentatives. Conserver les preuves d’authenticité (logs, preuves de livraison, consentement). Ne pas contacter directement le porteur (le signal vient de sa banque). 2. Demande d’information RETRIEVAL_NOTICED Ce statut correspond à une demande documentaire émise par la banque du porteur.Il intervient lorsqu’un client ne reconnaît pas une transaction, sans parler de fraude. La banque émettrice demande alors à CentralPay de solliciter le marchand pour fournir des éléments de preuve (facture, reçu, preuve de livraison, etc.). ➡️ Une réponse est attendue sous 7 jours.➡️ Si les éléments sont acceptés, la contestation est clôturée (RETRIEVAL_CLOSE).➡️ Si aucune réponse n’est transmise, la banque du porteur peut déclencher un chargeback. 3. Contestation officielle CHARGEBACK_NOTICED Le chargeback correspond à une demande de remboursement formelle initiée par la banque émettrice.Il peut résulter : d’une fraude confirmée (suite à un FRAUD_NOTICED) ; d’un litige non résolu (suite à un RETRIEVAL_NOTICED) ; ou d’un autre motif reconnu par les réseaux (produit non reçu, montant incorrect, service non conforme, etc.). Lorsqu’un chargeback est émis : Le montant de la transaction est débité de votre compte de paiement afin de rembourser le porteur. Des frais non remboursables s’appliquent pour chaque contestation reçue, même en cas d’issue favorable. Vous disposez d’un délai de 20 jours calendaires pour répondre à la contestation en fournissant les éléments justificatifs : Preuve de livraison ou d’exécution du service, Preuve du consentement du porteur (obligatoire pour les transactions non 3-D Secure), Autres pièces démontrant la légitimité du paiement. À défaut de réponse dans le délai imparti, la contestation sera automatiquement perdue. Une fois votre réponse transmise, la banque émettrice analyse les éléments fournis : StatutDescriptionCHARGEBACK_WONLes preuves ont été jugées suffisantes. Le montant de la transaction vous est recrédité.CHARGEBACK_LOSTLa contestation est maintenue. Le remboursement au porteur devient définitif. Email de confirmation 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. 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 Marchand. Adresse email de l’expéditeur : Paramètrage depuis le point de vente Nom de l’expéditeur : Paramètrage depuis le point de vente Votre logo : Paramètrage depuis le point de vente Nom du point de vente : Paramètrage depuis le point de vente Texte de pied de page : Paramétrage depuis l’entrrée Configuration Email confirmation paiement Créer 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 profil Marchand CentralPay 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 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 de paiement 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 versements sortants (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 versements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de versement. Gestion des cartes virtuelles (VCC) 1. Fonctionnement 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.comBooking.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. Suite à la crise du Covid 19, Booking.com 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.comChez 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 (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 : CodeDescriptionA1 – Repli VADSDSP2 et Soft declineLa 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 banqueLa 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 carteLa 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 atteintLa 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 invalideLa 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. Consultez la liste complète des codes de retour banque ➝ 2. Statuts liés aux transactions carte Consultez les Statuts Transaction ➝ Consultez les Statuts Refund ➝ Consultez les Statuts Credit ➝ Consultez les Statuts Disputes ➝ Consultez les Statuts Subscription ➝ Consultez les Statuts Installement ➝ 3. Webhooks liés aux transactions carte Consultez les Webhooks Transaction ➝ Consultez les Webhooks Card ➝ Consultez les Webhooks Refund ➝ Consultez les Webhooks Credit ➝ Consultez les Webhooks Customer ➝ Consultez les Webhooks Dispute ➝ Consultez les Webhooks Subscription ➝ Consultez les Statuts Installement ➝
Card transaction Articles General information CUSTOM payment form 3DS 2.0 Authentication Card Transactiontransaction Recurring Card Transactiontransaction Card transaction via walletApplePay / GooglePay Card Refund Transactionrefund / credit / dispute Confirmation email Bank statement descriptor Currency management Virtual Card Management (VCC) Callbacks, statuses and hooks General information 1. Operation A card transaction comprises a sequence of actions: 1.1. 3DS 2.0 Authentication This ensures that the person making the transaction is indeed the cardholder. The customer’s bank analyzes numerous payment-related factors provided by CentralPay (IP address, location, device used, etc.) and compares them to its customer’s usual data: If the data does not match or the transaction amount is significant, it requires manual identification via a code sent by SMS or through its banking application (« strong authentication » or « SCA ») Otherwise, it directly authorizes the payment (« Frictionless ») 1.2. Bank Authorization A request made by CentralPay to the payer’s bank to verify the validity and funds availability of their card. The « authorized » funds are blocked until the funds are captured. If no capture is performed within 7 days, the « authorized » funds are released, and the merchant will need to renew their authorization. For eligible activities (rental, hospitality, etc.), the « pre-authorization » service allows the merchant to extend the authorization period up to 30 days. 1.3. Capture Capture initiates the debit of the card based on an authorization or pre-authorization. A merchant can perform a full or partial capture of the authorized amount. 2. Accepted Card Types and Networks Payment cards are issued by banks or approved payment institutions; they can be branded by one or more card networks (also called « Card Scheme »). The networks accepted by CentralPay are: Debit Card VISA MasterCard American Express In France, the majority of cards issued are co-branded CB and VISA or CB and Mastercard. In this case, the customer must have the option to choose the network they wish to use. Cards can be debit or deferred debit / credit (in France, the majority of cards are debit), and can be for individuals (referred to as « Consumer ») or for professionals (referred to as « Corporate »). Note that these parameters impact the transaction cost for the merchant (interchange fees and card network fees). CUSTOM payment form The Transaction API service lets you perform an authorisation followed by a capture of funds on your customer’s bank card. All card payment methods (one-off payments, recurring payments, MoTo, etc.) are managed via this service. When a customer wants to make a first payment, their card data must be collected to generate a cardTokenId, using CentralPay’s tokenisation service « token.js ». This temporary token can then be used to create a Card resource, identified by a cardId, which can be stored in a Customer object. This linking is required to enable subsequent payments without asking for the card again (1-click payments, recurring payments, etc.). ℹ️ With a custom payment form (CUSTOM FORM), integrating 3DS 2.2 authentication is mandatory before executing a transaction. Payment flow diagram with cardTokenId: ℹ️ If you have PCI DSS Level 1 certification and you handle card data, you can create a /card object directly by sending the data (PAN, expiry date, CVC) to the API, without using token.js. 1. Prerequisites 1.1. Declare your domains Before using token.js, you must declare the domains hosting your Custom forms in your Merchant Portal. Go to Administration My merchant profile Technical Edit , then complete the Allowed Custom Forms Hosts field. Access: Recette Merchant Portal – Administration Production Merchant Portal – Administration 1.2. Secure your form Ensure that your payment pages use the HTTPS protocol with TLS 1.2 or higher. 1.3. PCI DSS compliance Using token.js means you manage the form display and the token trigger yourself. This method requires compliance with PCI DSS SAQ A-EP requirements. Download the A-EP form ➝ 2. Payment form integration 2.1. Create an HTML payment form Unlike the Smart Form hosted by CentralPay, the Custom Form is created by you, using your own HTML code. You must implement the following fields: Card number: 16 digits for CB/Visa/Mastercard, 15 for American Express Expiry date: MM/YYYY format CVC: 3 digits (CB/Visa/Mastercard), 4 digits (Amex) You can view our Custom Form examples: See the example of a Custom Form without 3DS 2.2 ➝ See the example of a Custom Form with 3DS 2.2 ➝ 2.2. token.js script integration Add the token.js script to your page to generate a cardTokenId: <script src="https://js.centralpay.net/js/token.js"></script> Then add your merchant public key (MerchantPublicKey) in a separate tag: <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('VOTRE_CLE_PUBLIQUE') : alert('Error loading html form'); </script> You can see where to find your MerchantPublicKey on the API authentication page. Integration in a mobile application If you use a WebView in your application, you can integrate either a custom form with token.js or a hosted form via the PaymentRequest service. These options let you externalise card data collection while providing a smooth user experience. In a native mobile application, the token.js script is not compatible. You must then collect card data via the application fields, then call the cardToken API directly using your merchantPublicKey. The call to the cardToken API must include an HTTP Origin header matching a URL declared in your CentralPay Merchant profile (see 2.1 Prerequisites). For your tests, you can use the following Origin: https://example.centralpay.net ℹ️ For native mobile applications, card data is transmitted directly from the user’s device to CentralPay, without going through the merchant’s servers. However, this type of integration requires ensuring compliance with the security and PCI DSS requirements applicable to collecting and transmitting card data in a native environment. 2.3. Create a Customer and link a card ℹ️ The cardTokenId is a single-use token, for which the CVC is temporary (10 minutes in production, 5 minutes in RCT). After this time, the token automatically expires (status=EXPIRED) and can no longer be used, which will result in the following error: "cardTokenId": "Card token already used". Whether you use the card immediately (one-off payment) or want to reuse it later (1-click payment, recurring, etc.), it is recommended to start by creating a Customer object, then save a Card using the cardTokenId. As 3DS 2.2 authentication can sometimes increase processing time, this sequence helps prevent the CVC associated with the cardToken from expiring. Create a customer object via the POST /customer endpoint, or retrieve the customerId if it is already known Create a card using POST /card by specifying the cardTokenId issued by token.js and the customerId Once the card is linked to a customer, the CVC becomes permanent and future transactions can be initiated with no time limit. If you do not use token.js (PCI DSS certification required), you can create a card directly without using the cardToken by providing the PAN + expiry + CVC + customerId 3. 3DS 2.2 authentication Before initiating a card transaction, you must verify the cardholder’s identity via 3DS 2.2 authentication. This step is mandatory for one-off card transactions as well as for recurring card transactions. ℹ️ Exception: MoTo (Mail Order / Telephone Order) transactions are not subject to 3DS authentication. You can create the transaction directly after creating the card. 3DS 2.0 Authentication The 3D Secure 2.0 protocol ensures that the person performing the transaction is indeed the cardholder. The customer’s bank analyzes numerous payment-related factors sent by CentralPay (IP address, location, device used, etc.) and compares them with the customer’s usual data: If the data does not match or the transaction amount is significant, it requires manual identification via a code sent by SMS or via the banking application (« strong authentication » or « SCA »). Otherwise, it directly authorizes the payment (« Frictionless »). 1. Characteristics There are two types of 3DS, depending on whether you wish to initiate a classic transaction (where the cardholder is present) or if you are executing a recurring payment installment (where the cardholder is not present): 1.1. 3DS 2 « BRW » or « Browser Authentication » (participating cardholder – 1st transaction) It represents the majority of 3DS 2 integrations. It requires customer authentication to verify that they are the legitimate cardholder at the time of the transaction. It triggers a challenge if necessary to verify the cardholder’s identity (SCA). 👉 Discover how to integrate 3DS 2.0 BRW ➝ 1.2. 3DS2 « 3RI Authentication » (non-participating cardholder – recurring payment installments) 3DS Requestor Initiated (3RI) Authentication, or Merchant-Initiated Authentication, is used when the cardholder is not present or not participating. 3RI offers the possibility to generate the necessary 3DS authentications without customer involvement. This allows for the use of an authentication previously generated with a customer. It is used in the following recurring payment contexts: Split payment, Subscription, Refund, etc. 👉 Discover how to integrate 3DS 2.0 3RI ➝ Card Transaction Depending on your business needs, CentralPay offers various unit transaction modes via its Transaction API service. Please note, you must first manage the collection of your customer’s card data by creating a Custom Form payment form and integrating 3DS 2.0 authentication. The basic principles of a card transaction are described in the general information section. 1. Authorization and instant capture To perform a simple card payment (authorization then instant capture): Create a Transaction by setting the « source » parameter to « EC » 2. Authorization and deferred capture This transaction mode can be useful if you wish to block your customer’s funds before definitively debiting them, for example, during order validation. This allows you to cancel the operation without being subject to transaction or refund fees. To perform a card payment with deferred capture (authorization then deferred capture), you must: Perform an authorization by setting the « capture » parameter of the Transaction to « false ». Funds will thus be blocked on the customer’s card Then debit the desired amount by initiating a capture on the received transactionId, specifying the desired amount (« amount ») You have 7 calendar days following the authorization to perform the capture; otherwise, the customer’s funds will be released. 3. Pre-authorization and deferred capture The pre-authorization and deferred capture service (or security deposit / PLBS) allows for a pre-authorization of a certain amount, which you can then capture partially or fully within 30 days. During this period, funds are guaranteed to you, as they are blocked on the card and cannot be used by your customer. This service is only accessible to certain authorized activities (vehicle or equipment rentals, hospitality, etc.). To perform a pre-authorization and deferred capture, you must: Perform a pre-authorization by setting the « source » parameter of the Transaction to « DP ». Funds will thus be blocked on the customer’s card Then debit the desired amount by initiating a capture on the received « transactionId », specifying the desired amount (« amount ») You have 30 calendar days following the authorization to perform the capture; otherwise, the customer’s funds will be released. 4. Card verification (secure imprint) The card imprint & verification service allows for a €0 authorization with cardholder authentication (3DS 2.0). This provides you with information regarding your customer’s card (debit, credit, prepaid, etc.) and ensures it is not fraudulent (card not stolen, cardholder identified, etc.). This service is generally used to register a card with 3DS for a subscription with a deferred start date. To perform a card imprint and verification (€0 authorization without capture), you must: Create a Transaction by setting the « source » parameter to « RI » We also recommend creating a « customer » during the transaction to associate the generated « cardId » and allow for a potential subsequent debit of this card 5. Card debit only (MO/TO) The MOTO (Mail Order / Telephone Order) payment service allows for an authorization followed by a capture of a card without the cardholder being present. It is generally used by hotels to debit additional services or consumption at the end of a stay. Please note, this service is only accessible to certain authorized activities (hospitality, etc.) and has shown increasingly lower conversion results since the PSD2 directive, as it does not allow for cardholder authentication. To perform a MOTO payment, you must: Create a Transaction by setting the « source » parameter to « MO » (Mail Order) or « TO » (Telephone Order) 6. One-click card payment One-click card payment consists of saving your customer’s card data so they can pay for their order without having to re-enter it. The customer’s card(s) are securely stored in the CentralPay Customer. In this context, it is necessary to allow your customer to select the card they wish to use or to add a new card. To perform a one-click card payment, you must: Select the « One-click » option in the point of sale configuration Ensure that your Customers have a card linked to their profile Recurring Card Transaction Depending on your business needs, CentralPay offers several recurring transaction modes: Subscription from a subscription templateCentralPay manages the collection of instalments based on a subscription template that you defined in advance. API-driven subscriptionYou manage the collection of each instalment yourself via API (initial BRW authentication, then 3RI), without using CentralPay’s automated subscription service. Installment paymentCentralPay splits an amount due into several transactions and manages their collection, according to the payment terms you provided. Please note: you must first manage the collection of your customer’s card data by creating a Custom Form payment form, create a Customer profile for this customer, and implement the 3DS 2.2 authentication principles. The basic principles of a card transaction are described in the general information section. For a recurring payment, your customer automatically receives an email containing the details of their instalments. This email also includes a link to our Customer Portal, which allows them to view the status of their recurring payments, change their bank card, and cancel a subscription if needed. 1. Subscription from a subscription template 1.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card And perform a 3DS 2.2 BRW authentication Then, the subscription service (Subscription) will allow you to easily initiate a subscription payment based on a subscription template created in advance via the CentralPay API or the Merchant Portal. 1.2. Specific integration cases If the first subscription payment must be higher than the following instalments (e.g., registration fees), you can first initiate a Transaction following your 3DS BRW authentication, then set a start date (startingDate) in the Subscription object. If you simply want to start a subscription on a specific date, you can first perform a verified card imprint following your 3DS BRW authentication, then set a start date (startingDate) in the Subscription object. 2. API-driven subscription 2.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card Perform a 3DS 2.2 BRW authentication Perform an initial Transaction Then, you will be able to initiate the next Transactions yourself using 3DS 3RI authentication. 2.2. Important information To ensure an optimal conversion rate, the amount of the first transaction must be greater than or equal to the amounts of subsequent transactions performed with 3DS 3RI authentication. The CentralPay platform will not consider the generated transactions as « subscriptions »; therefore, the « Merchant Portal » and « Customer Portal » interfaces will display these operations in the same way as a succession of one-off transactions. With this model, the retry automation system will not apply if the collection of one of your transactions fails. 3. Installment payment 3.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card And perform a 3DS 2.2 BRW authentication Then, the installment payment service (Installment) will allow you to easily initiate an installment payment based on the information provided in your request. Card transaction via wallet 1. Apple Pay (Smart Form) Apple Pay is natively integrated into the SmartForm card payment flow (PaymentRequest > paymentMethod[]=TRANSACTION) as long as your customer’s device is compatible. No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is exposed on the merchant side (PCI-DSS SAQ-A scope). 2. Apple Pay (Custom Form) 2.1. Requirements 1. Create an Apple Developer account: Sign up for the Apple Developer Program Create your Apple Pay merchant credentials (Merchant ID) Generate your Apple Pay processing certificate through the Apple portal Register your domain (Apple Pay Merchant Domain) 2. Device-side integration: Implement Apple Pay on the front end using Apple Pay JS (for websites) or PassKit (for iOS apps) Retrieve the Apple Pay token (ApplePayToken) after the user has confirmed the payment (Face ID, Touch ID, etc.) 🔐 Certificates required for Apple Pay integration (https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request)To process Apple Pay payments through a direct integration, the merchant must have the following:• a Merchant ID Identity certificate;• a Merchant Payment Processing G2 certificate.The merchant must ensure that all private keys used to generate the CSRs associated with these certificates are retained.1. Merchant ID IdentityA CSR based on an EC key (256 bits) must be generated.This CSR will be generated by Centralpay2. Merchant Payment Processing CertificateMain steps:• Request the CSR generated by Centralpay• Submit the CSR through the Apple Developer Account to obtain the Merchant Payment Processing Certificate.• Install the certificate on the same macOS computer used to generate the CSR so that it is associated with the private key.• Export the complete identity in .p12 format (certificate + private key).⚠️ If the option to export in .p12 format is not available, this indicates that a step in the process was not completed correctly (private key is missing or not associated).The .p12 file is a secure container that allows the private key associated with the certificate to be used later, in accordance with the Apple Pay workflow.Important notes:• If you lose your private key, you must completely recreate the certificate through the Apple Developer portal.• The Apple Pay documentation can be confusing: the use of OpenSSL applies only to the Merchant ID Identity certificate and does not apply to the Merchant Payment Processing Certificate. 2.2. Via a decrypted Apple Pay token CentralPay enables the processing of card payments made via Apple Pay as part of a custom integration (excluding Smart Form). ℹ️ CentralPay currently supports only decrypted Apple Pay tokens. This method entails significant PCI-DSS liability on your part (SAQ-D form). Please research this and ensure you are in compliance before developing this integration method. Step 1: Decrypting the Apple Pay token (Backend) The Apple Pay token must be decrypted on your backend using: Your Apple Pay treatment certificate Your private key Apple Documentation: Payment Token Format The result will contain: { "applicationPrimaryAccountNumber": "5454********2664", "applicationExpirationDate": "YYMMDD", "paymentData": { "cryptogram": "base64-cryptogram", "eciIndicator": "05" } } Step 2: Creating the CentralPay cardToken (Backend) Use the /cardToken POST endpoint of the CentralPay API FieldDescriptioncard[number]PAN of the card extracted from the Apple Pay tokencard[expirationMonth]Card expiration month (MM format)card[expirationYear]Card expiration year (YYYY format)onlinePaymentCryptogramCryptogram derived from the Apple Pay token (CAVV)eciIndicatorAuthentication Index Derived from the Apple Pay Token (ECI)applePayTransactionIdApple Pay Transaction IDamountAmount in cents (e.g., 2,500 = €25.00)currencyISO alpha code (e.g., EUR, USD, etc.)merchantPublicKeyPublic key provided by CentralPay ℹ️ Where can I find the merchantPublicKey? Log in to your CentralPay Back Office portal Administration Technical Merchant Public Key Example: card[number]=5454696696312664card[expirationMonth]=12card[expirationYear]=2031onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=applePayTransactionId=3d2b17abed2696ca...amount=2500currency=EURmerchantPublicKey=abcdef123456... The generated cardToken contains all the data needed for Apple Pay authentication. Step 3: Creating the CentralPay Transaction (Backend) Use the /transaction POST endpoint of the CentralPay API Required fields: cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... The cardToken already encapsulates the Apple Pay context and authentication data. Step 4: Testing before deployment The CentralPay test environment allows you to validate your entire Apple Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. Test portal Test API Test cards Differences between the test and production environments: The API URLs are different: They use the “test-” prefix Test: https://test-api.centralpay.net/v2/rest/transaction Deployment: https://api.centralpay.net/v2/rest/transaction The API credentials (login and secret) are specific to the test environment. They are not interchangeable with those used in production. The CentralPay public key (merchantPublicKey) is also environment-specific 2.3. Via an encrypted Apple Pay token (hybrid) ℹ️ If you are interested in this integration method, please contact CentralPay support to learn about the associated deliverables and access procedures. 2.3.1. Apple account settings – Log in on « https://developer.apple.com/« , create an account, and verify your « developer » account for $99) – Go to https://developer.apple.com/account/resources/identifiers/list – Under « App IDs », select « Merchant IDs« : Then click the « + » to add an « Identifier« : Select « Merchant IDs« : Enter your username and click »Register »: Go to https://developer.apple.com/account/resources, then click Identifiers On the “Identify” page, select a Merchant ID using the filter in the upper-right corner Under « Apple Pay Payment Processing Certificate », click « Create Certificate« . Please note that this « Merchant ID » will NOT be used exclusively for China. At that point, click « Choose File » to upload the CSR file that was sent to you by CentralPay (CentralPay only). You can download the generated file.Next, you need to create the “Apple Pay Merchant Identity Certificate.”To do this, go to https://developer.apple.com/account/resources, then click Identifiers and finally click the identifier you want to edit.Once it’s open, click « Create Certificate ». Upload your certificate: Add the associated domain Enter the domain name in question: Download the file specified by Apple Deploy the file specified by Apple to a server on the domain in question that is accessible to Apple, then click “Verify”: You will then be able to download the required certificate. 2.3.2. Payment via Apple Pay Generating the certificate and key in the same file: openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts Creating an ApplePayToken with the Apple Pay JS API (Demo at https://applepaydemo.apple.com/apple-pay-js-api) Front end: <script crossoriginsrc="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"> </script> <style> apple-pay-button {--apple-pay-button-width: 250px;--apple-pay-button-height: 100px;--apple-pay-button-border-radius: 99px;--apple-pay-button-padding: 0px 0px;--apple-pay-button-box-sizing: border-box;}</style><apple-pay-button id="btn-card" buttonstyle="white-outline" type="plain" locale="fr-FR"></apple-pay-button><br /><div data-info="gateway-link" class="text-small text-gray-light font-weight-normal ml-1"> <img src="https://docs.centralpay.com/wp-content/uploads/2024/10/paysecure_reassurance_1-fond_blanc.png" alt="CentralPay" style="max-width:200px"></a></div> var request = { countryCode: 'FR', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard', 'amex'], merchantCapabilities: ['supports3DS'], total: { label: 'Your Merchant Name', amount: '10.00' },}var applepayversion = 3;var session = new ApplePaySession(applepayversion, request);session.onvalidatemerchant = event => {// Call your own server to request a new merchant session.console.log("event.validationURL :"+event.validationURL); fetch('/applepay-session').then(res => res.json()) // Parse the response as JSON..then(merchantSession => {session.completeMerchantValidation(merchantSession);}).catch(err => {console.error("Error fetching merchant session : ", err);});};session.onpaymentauthorized = (event) => { var token = event.payment.token; fetch(`https://api.centralpay.net/transaction`, { method: "post", body: JSON.stringify( { applePayToken: token, endUserIp: "127.0.0.1", currency: "EUR", amount: 1000, source="EC", browserUserAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36", merchantTransactionId="1234567890123456789" }), }) .then((response) => { if (response.ok) { return response.json(); } appleSession.completePayment(ApplePaySession.STATUS_FAILURE); }) .then((responseJson) => { // Do something with the response appleSession.completePayment(ApplePaySession.STATUS_SUCCESS); }) .catch((error) => { appleSession.completePayment(ApplePaySession.STATUS_FAILURE); });};session.begin(); Backend: $router->map('GET', '/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface {$APPLE_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $curl = new Curl();$curl->setHeader('Content-Type', 'application/json');$curl->setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); $curl->setOpt($ch, CURLOPT_SSLCERTPASSWD, "thesslpassword"); $curl->setOpt(CURLOPT_POSTFIELDS, '{ merchantIdentifier: "merchant.net.centralpay.test-form", displayName: "MyStore", initiative: "web", initiativeContext: "merchant.net.centralpay.test-form" }' ); $curl->setOpt(CURLOPT_CUSTOMREQUEST, "POST"); $curl->setOpt(CURLOPT_URL, $APPLE_URL);$curl->exec();... return new Laminas\Diactoros\Response\JsonResponse($curl->getResponse());...}); Creating a CardToken with your encrypted Apple Pay token. (Frontend) When making your API call, in addition to the required fields, you must include the “applePayToken” field in JSON format, containing your Apple Pay token, which includes the elements paymentData,paymentMethod, and transactionIdentifier.You can then complete a transaction using your cardToken as usual.Use the CentralPay API’s POST /cardToken endpointRequired fields: curl --location 'https://test-api.centralpay.net/cardToken' \--header 'Origin: https://example.centralpay.net' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx' Creating the transaction: (Backend) Use the /transaction POST endpoint of the CentralPay APIRequired fields: curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789' The cardToken already encapsulates the Apple Pay context and authentication data. Create a transaction using your encrypted Apple Pay token. (Backend) When making your API call, in addition to the required fields, you must include the “applePayToken” field in JSON format, containing your Apple Pay token, which includes the elements paymentData, paymentMethod and transactionIdentifier. Then use the /transaction POST endpoint of the CentralPay API Required fields: curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx' 3. Google Pay (Smart Form) Google Pay is natively integrated into the SmartForm card payment flow (PaymentRequest > paymentMethod[]=TRANSACTION), provided your customer’s device or browser is compatible. No action is required on your part. The service will be fully managed by CentralPay (Google Pay compatibility detection, certificate and token management, PCI-DSS security). No card data passes through the merchant’s system; the payment flow falls within the scope of PCI-DSS SAQ-A. 4. Google Pay (Custom Form) CentralPay enables the integration of Google Pay via the PAYMENT_GATEWAY mode, as required by Google Pay in a multi-merchant PSP environment, without requiring server-side decryption of the token. Requirements 1. Create a Google Pay Business account: Access the Google Pay Business Console Create a Merchant Profile or link an existing one. Please enter your company and business information. 2. Register your domain: In the Google Pay console, go to the “Domains” tab Add your production and test domains (e.g., example.com) Google will ask you to upload a verification file there to confirm your ownership ⚠️ Google Pay provides a domain-specific merchantId.This merchantId is required for all Google Pay Payment Requests.Using a merchantId that is not associated with the domain results in a Google Pay error (Error 11). 3. Implement your Google Pay front-end integration: Implement Google Pay on the front end using Google Pay JS (for websites) or Google Pay Android API (for mobile apps) Collect the Google Pay token (tokenizationData.token) after the user has authorized the payment (PIN, fingerprint, facial recognition, etc.). ℹ️ Google offers an official tutorial for this integration: Google Pay API | Google for Developers 4. Retrieve your CentralPay login credentials: MerchantPublicKey: Log in to your CentralPay Back Office portal → Administration → Technical → Merchant Public Key API Login: Log in to your CentralPay Back Office portal → Administration → Technical → API ID and copy the ID API Pass: Log in to your CentralPay Back Office portal → Administration → Technical → Click on your API ID → Edit → Generate, copy your API pass, and update it Step 1: Configuring Google Pay on the front end ℹ️ The Google Pay button is provided by the official Google Pay SDK.Payment initiation and token generation are entirely controlled by Google Pay (hosted button). 1. Specify the API version: const baseRequest = { apiVersion: 2, apiVersionMinor: 0 }; 2. Use CentralPay as a payment gateway: Configure tokenization as follows: const tokenizationSpecification = { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'centralpay', gatewayMerchantId: 'YOUR_GATEWAY_MERCHANT_ID' } }; Replace YOUR_GATEWAY_MERCHANT_ID with your MerchantPublicKey provided by CentralPay. 3. Specify the types of cards accepted: const allowedCardNetworks = ["AMEX", "MASTERCARD", "VISA"]; 4. Select the payment method: There are two different types: PAN_ONLY and CRYPTOGRAM_3DS ⚠️CentralPay does not allow the use of the PAN_ONLY type because it requires compliance with specific security standards. Only the CRYPTOGRAM_3DS type is allowed. const allowedCardAuthMethods = ["CRYPTOGRAM_3DS"]; 5. Test or production environment: // Environnement de test const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'TEST' }); // Environnement de production const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION' }); Step 2: Retrieving the Google Pay token When an end user authorizes a payment via Google Pay, the API returns a token in JSON format in: paymentData.paymentMethodData.tokenizationData.token This field contains a JSON string representing an object of the following type: { "signature": "MEYCIQDn...", "protocolVersion": "ECv2", "intermediateSigningKey": { "signedKey": "{...}", "signatures": ["MEUCID..."] }, "signedMessage": "{...}" } This block must be sent as-is to the CentralPay API when creating the cardToken in the googlePayToken field. Step 3: Sending the token to CentralPay (creating the cardToken) Make a POST request to CentralPay’s /cardToken endpoint with the following parameters: Required parameters: FieldDescriptionamountAmount in centimes (e.g., 2,500 for €25.00)currencyISO alpha code (e.g., EUR, USD, etc.)googlePayTokenThe complete JSON returned by Google Pay (tokenizationData.token)merchantPublicKeyCentralPay public key available in the back office Example request (x-www-form-urlencoded format): amount=2500currency=EURmerchantPublicKey=abcdef123456...googlePayToken={"signature":"MEYCIQDn...","protocolVersion":"ECv2",...} Do not decrypt the token yourself: CentralPay handles its validation on the server side. Step 4: Creating the transaction Once you have obtained the cardToken, you can initiate a transaction in the standard way via endpoint POST /transaction. Example settings: cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... The cardToken already contains all the authentication information: there is no need to add a cryptogram or a CVV field. Step 5: Testing before deployment The CentralPay test environment allows you to validate your entire Google Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. Test portal Test API Test cards Differences between the test and production environments: The API URLs are different: they use the “test-” prefix Test: https://test-api.centralpay.net/v2/rest/transaction Deployment: https://api.centralpay.net/v2/rest/transaction The API credentials (login + secret) are specific to the test environment.They are not interchangeable with those used in production. The CentralPay public key (merchantPublicKey) is also environment-specific Card Refund Transaction 1. Refund – refund You can refund a Transaction if it is CLEARED via the Refund service or from the Transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds on their card within 3 to 5 business days after the operation. Your payment account is debited immediately, so it must be solvent to perform the operation. You cannot cancel a refund once it has been processed. ⚠️ If the card to which you are attempting to issue the refund has expired or the account has been closed, CentralPay will not be able to process the refund. In this case, we invite you to contact your customer to request up-to-date bank details and proceed with a SEPA transfer from your bank. 2. Credit – credit You can credit a customer’s card without an initial transaction from the Credit service. There are several ways to do this: Tokenize a card via the cardToken service and then enter it into the Credit service Create or search for a Customer with a valid card, then enter their « customerId » and « cardId » into the Credit service ℹ️ This service is only available for specific activities; contact CentralPay for more information. 3. Chargeback – Dispute When a cardholder disputes or reports a transaction to their bank, the network (Visa, Mastercard, Carte Bancaire, etc.) may notify CentralPay to initiate a dispute operation (Dispute).This operation allows you to track the status of the dispute and act according to the type of signal received: fraud alert, information request, or chargeback. Each dispute is represented in the CentralPay back office by a distinct operation (Dispute), linked to the original transaction. Notifications are also available via the webhook DISPUTE_CREATED. For any card payment, a customer can dispute a transaction with their bank within the following timeframes: 120 days from the transaction for Visa and Mastercard networks; 13 months from the operation date for the French Carte Bancaire network. ℹ️ In France, disputes are generally reserved for cases of fraud (stolen, usurped, or misused card).In other European countries, they can also be used in the context of a commercial dispute (product not delivered, non-compliant service, etc.). 1. Fraud Alert FRAUD_NOTICED This status corresponds to a preventive fraud notification transmitted by the network (e.g., TC40 file for Visa).It is triggered when the issuing bank reports that a cardholder claims not to have originated the transaction (stolen, copied, or usurped card). ➡️ No refund is initiated at this stage.➡️ This signal allows you to anticipate a potential chargeback and strengthen your anti-fraud controls. Best practices: Identify the transaction concerned (amount, country, card, date). Check for similar transactions (same card, same account, same IP). Blacklist the card or account to prevent new attempts. Retain proof of authenticity (logs, proof of delivery, consent). Do not contact the cardholder directly (the signal comes from their bank). 2. Information Request RETRIEVAL_NOTICED This status corresponds to a documentary request issued by the cardholder’s bank.It occurs when a customer does not recognize a transaction, without mentioning fraud. The issuing bank then asks CentralPay to request the merchant to provide evidence (invoice, receipt, proof of delivery, etc.). ➡️ A response is expected within 7 days.➡️ If the elements are accepted, the dispute is closed (RETRIEVAL_CLOSE).➡️ If no response is submitted, the cardholder’s bank may trigger a chargeback. 3. Official Chargeback CHARGEBACK_NOTICED A chargeback corresponds to a formal refund request initiated by the issuing bank.It may result from: confirmed fraud (following an FRAUD_NOTICED); an unresolved dispute (following an RETRIEVAL_NOTICED); or another reason recognized by the networks (product not received, incorrect amount, non-compliant service, etc.). When a chargeback is issued: The transaction amount is debited from your payment account to refund the cardholder. Non-refundable fees apply for each dispute received, even if the outcome is favorable. You have 20 calendar days to respond to the dispute by providing supporting documents: Proof of delivery or service execution, Proof of cardholder consent (mandatory for non-3D Secure transactions), Other documents demonstrating the legitimacy of the payment. Failure to respond within the allotted time will result in the dispute being automatically lost. Once your response is submitted, the issuing bank analyzes the provided elements: StatusDescriptionCHARGEBACK_WONThe evidence was deemed sufficient. The transaction amount is re-credited to you. CHARGEBACK_LOSTThe dispute is maintained. The refund to the cardholder becomes final. Confirmation email When a card transaction has been successfully completed, CentralPay can send a payment confirmation email to your customer. To do this, you must enable it by configuring the confirmation email settings in your Point of Sale. This email is sent by default to the email address of the Customer associated with the transaction, but you can enter the receiptEmail value of the transaction if you wish to send it to a different address. Configuration The confirmation email has a standardized format displaying the various payment details; however, you can configure several parameters from the Merchant Portal. Sender email address: Configuration from the Point of Sale Sender name: Configuration from the Point of Sale Your logo: Configuration from the Point of Sale Point of Sale name: Configuration from the Point of Sale Footer text: Configuration from the Configuration Payment confirmation email Create entry Display language: Enter the « endUserLanguage » value in the Transaction request (English by default) Bank statement descriptor The bank statement descriptor is the description that will be displayed on your customers’ bank account statements for each of your card transactions. When a CentralPay Merchant profile is created, a bank statement descriptor is defined automatically using the name of your first Point of Sale: CPAY*PointOfSaleName You can request CentralPay to modify your descriptor; however, it must allow your customers to clearly identify you or access your complaint site. Currency management In the context of international business, your customers may have a card linked to a bank account in a non-Euro currency. Regardless of your integration, these customers will be able to pay you in Euros thanks to the automatic conversion system of the card networks (Visa, Mastercard, American Express). Your customers will bear all currency conversion costs, and you will receive Euros in your CentralPay payment account. In certain cases, CentralPay can allow you to process credit card transactions in different currencies: Euros (EUR), Dollars (USD), Swiss Francs (CHF), and Pounds (GBP). Contact CentralPay if multi-currency transaction management is a requirement for your business. Note that in this case, acquisition costs in foreign currencies (non-EURO) are subject to additional fees and will be deducted from your transaction amounts. ℹ️ Outgoing payments (payout) via SEPA transfer can only be made from available balances in EUROS. Non-EURO balances are paid out via SWIFT transfer, which incurs higher fees. However, it is possible to schedule SWIFT payouts so that they are only executed once a certain threshold is reached, in order to better control transfer costs. Virtual Card Management (VCC) 1. Operation Major OTAs such as Booking.com, Expedia.com, hotels.com, and Agoda.com can collect payments at the time of booking. In such cases, they provide hoteliers not with the guest’s actual card information, but with an alias, a virtual card or VCC. A virtual card, or VCC, is generally issued for restricted use in order to limit the risk of compromise. A virtual card is, in a sense, an alias for an existing card that can only be used starting on a specific date and from a defined MCC. In this case, in the tourism sector, a contract with MCC 7011 (HOTELS) is required in order to charge the card. Thus, even if the card number fell into the hands of a malicious individual, that person would not be able to initiate a charge on the source card. Given the unique nature of the cards issued by these OTAs, it is generally impossible to perform authorization, pre-authorization, or verification requests at the time of the order. If the card can only be charged on the day of the reservation, for example, by an MCC 7011, the issuer, typically MASTERCARD B2B PRODUCT, will return an error code for an invalid transaction (12). ➡️ Booking.com Virtual CardsBooking.com uses virtual cards for certain destinations. Depending on the settings configured on the hotel’s website, a reservation may be made with or without a credit card authorization. If the hotelier has chosen to require a payment method, Booking.com will generate a virtual card and send it to the hotelier or their technical service provider. Following the COVID-19 crisis, Booking.com no longer authorizes charges to its virtual credit cards until one day after the guest checks in. Learn more about how Booking.com virtual cards work ➝ ➡️ Expedia.com Virtual CardsAt Expedia, visitors can choose between paying at the hotel (Hotel Collect) or paying directly when they make their reservation (Expedia Collect). This option is called Expedia Traveler Preference (ETP). If a customer uses the Expedia Collect method, a virtual card will be generated. Learn more about how Expedia.com virtual cards work ➝ 2. Managing Virtual Cards with CentralPay The best way to store a VCC and be able to use it once it becomes available is to create a “Customer” and link the card to that customer. There are two options available: Either the card is chargeable at the time of creation, and a verification request can be made when the customer is created, Either the card cannot be used when the customer is created, and the card must be added without verification. This does not mean that it cannot be used later on. It simply means that it should not be charged until a certain date. Generally, OTAs will have verified the card information beforehand to ensure that it is valid for charging. Thus, creating a Customer in the CentralPay API allows you to tokenize the virtual card, secure its storage, and facilitate its use once the initial acceptance criteria have been met. Callbacks, statuses and hooks 1. Bank Return Codes for Card Transactions When a card transaction (Transaction) is initiated, an authorization request is submitted to the card-issuing bank. It responds with a code, allowing for the interpretation of the authorization’s acceptance, refusal, and the reason for refusal. The cardholder’s bank (also called the « issuing bank ») expresses its refusal based on its own choices, which are entirely independent of CentralPay. CentralPay possesses no additional information if a card is declined and has no means of obtaining it. Main bank return codes: CodeDescriptionA1 – VADS FallbackPSD2 and Soft declineThe bank declines the transaction because it does not have strong authentication (3DS 2.0).It is necessary to re-process this transaction with 3DS to avoid this code.57, 3 and 5Generic Bank RefusalThe bank declines without providing a specific status.This could be an incorrect CVV code or another decision unknown to us.This status does not confirm that the bank will not accept the authorization after further attempts.4, 7, 14, 15, 31, 33, 34, 41, 43, 54, 55, 56, 59, 63, 76Suspicion of Fraud or Card TheftThe issuing bank believes its customer is no longer in possession of the card and that it is a case of identity theft.51, 61Insufficient Funds / Limit ReachedThe card has exceeded the authorized limit amount or does not have sufficient funds.The card may be accepted again later, as limits are calculated on a 7-day rolling basis, so a transaction can certainly be retried the next day.12Invalid TransactionThe bank declines without providing a specific status. This could be:– Simply an invalid transaction– A code 75 from the issuing bank (the card’s PIN code was entered incorrectly too many times).– An incorrect CVV (provided by the ACS during 3DS authentication)– Or another decision unknown to us. Consult the complete list of bank return codes ➝ 2. Card Transaction Statuses Consult Transaction Statuses ➝ Consult Refund Statuses ➝ Consult Credit Statuses ➝ Consult Dispute Statuses ➝ Consult Subscription Statuses ➝ Consult Installment Statuses ➝ 3. Webhooks for Card Transactions Consult Transaction Webhooks ➝ Consult Card Webhooks ➝ Consult Refund Webhooks ➝ Consult Credit Webhooks ➝ Consult Customer Webhooks ➝ Consult Dispute Webhooks ➝ Consult Subscription Webhooks ➝ Consult Installment Statuses ➝
SCT Transaction See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046eefdd2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eefdd2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eefdd2.load(); });
SCT Transaction See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046ef062c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046ef062c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046ef062c.load(); });
Comptes de ME ℹ️ Uniquement réservé aux Mandataires DME et à leurs sous-marchands. Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un mandataire DME). Un mandataire DME peut demander la création de comptes de ME pour les sous-marchands 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 mandataire 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 : Recette Portail Marchand – Comptes de monnaie électronique Production Portail Marchand – Comptes de monnaie électronique 1. Utilisation 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 2. 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 mandataire 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é » 3. Création de comptes de ME Si vous êtes mandataire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos sous-marchands.
EM Accounts ℹ️ Reserved exclusively for EMD Intermediaries and their sub-merchants. EM (Electronic Money) accounts are used to store and exchange funds in a CUSTOM currency (a currency dedicated to an EMD Intermediary). An EMD Intermediary may request the creation of EM accounts for the sub-merchants in its network and then carry out EM fund transfers between these accounts. The holder of an EM account may only receive payments and use their electronic money through the EMD Intermediary. However, they may request a refund of their electronic money at any time and will receive their funds in an ISO currency: either to their bank account via SEPA transfer, or to their bank card, depending on their account settings. You can view the details of your EM accounts via the following access points: Recette Merchant Portal – Electronic Money Accounts Production Merchant Portal – Electronic Money Accounts 1. Usage EM accounts are mainly used to enable individuals to easily receive and exchange funds in the following contexts: C2C marketplaces for products or services Storage and use of gift values within a network of independent merchants 2. Specifics The CMF (Monetary and Financial Code) sets out specific conditions for electronic money. As such, there are two types of EM accounts at CentralPay: Anonymous EM account: This account may be opened without verifying the holder’s identity, provided it is issued to an individual and is limited to a balance or collections of €150 over 30 days. This type of account is particularly useful for occasional use by its holder, or simply to simplify onboarding with the EMD Intermediary. Verified EM account: An anonymous account may subsequently be verified by CentralPay’s compliance teams (KYC procedure) to increase the limits imposed on it; it then becomes « verified ». 3. Creating EM accounts If you are a CentralPay EMD Intermediary, you can request the creation of EM accounts for your sub-merchants.
Exports comptables Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail Marchand. 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 Marchand Fichiers d’export . 1. Export comptable des opérations du compte 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, etc. 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énominationSignificationwallet_ididentifiant du comptewallet_namenom du compteowner_namenom de la sociétévalue_datedate de valeur de l’opérationoperation_idréférence Centralpay de l’opérationoperation_datetimedate d’opérationsource_typetype d’opérationsource_idréférence permettant de lier plusieurs opérationsnaturenature de l’opérationdebit_amountmontant des opérations de type « débit »credit_amountmontant des opérations de type « crédit »currencydevise de l’opérationcustom_referenceréférence personnalisée de l’opérationcustom_labelnom personnalisé de l’opérationthird_party_ididentifiant du destinataire de l’opérationthird_party_labelnom du destinataire de l’opérationthird_party_countrypays du destinataire de l’opérationpayout_numbernuméro du payout Accès : Recette Portail Marchand – Opérations Production Portail Marchand – Opérations 2. Télécharger le rapport financier mensuel Chaque début de mois, en plus de la facture, un relevé de compte est généré, puis mis à disposition dans l’espace sécurisé de votre compte ( Mes comptes Relevés de compte ). Il présente les montants totaux de crédit et de débit réalisés, incluant un détail « dont fonds » et « dont frais » afin de distinguer la nature. Nous vous proposons deux types de relevés : détaillé ou synthétique. - Le relevé détaillé fait apparaitre l'ensemble des opérations de la période sélectionnée.⚠️ Si vous possédez un grand nombre d'opérations, il est possible que celles-ci n'apparaissent pas sur le relevé. Dans ce cas, nous vous conseillons de réaliser un export au format CSV, Excel ou JSON.- Le relevé synthétique regroupe vos opérations par jour et par type d'opération, pour la période sélectionnée. Pour bien comprendre votre relevé de compte détaillé :A) Le total du montant des débits sur votre compte pour la période donnée :– dont fonds : ensemble des débits de nature « fond » (versements sortants, etc.)– dont frais : ensemble des débits de nature « frais » (frais CentralPay, etc.)B) Le total du montant des crédits sur votre compte pour la période donnée :– dont fonds : ensemble des encaissements sur votre compte (= chiffre d’affaires).– dont frais : ensemble des opérations pour compenser des opérations ou ajuster des frais (remboursement de frais, etc.).C) Solde de clôture du mois précédent le relevé.D) Solde de clôture du mois du relevé téléchargé. Accès : Recette Portail Marchand – Documents Production Portail Marchand – Documents
Accounting Exports You can perform several exports of your account in CSV, EXCEL, or JSON formats from your Merchant Portal. To do this, configure your search using the available filters on the desired export page, click « Search » then « Export ». Within seconds, you will receive the file by email and can download it at any time from your Merchant Portal Export Files . 1. Accounting Export of Account Transactions This export includes all debit and credit financial movements that have been made on your account: card authorizations, card transactions, SDD transactions, SCT transactions, transfers, payouts, CentralPay fees, etc. You will have the details of each transaction so that you can easily reconcile it with your invoices or files. The export contains the following data: DesignationMeaningwallet_idaccount identifierwallet_nameaccount nameowner_namecompany namevalue_datetransaction value dateoperation_idCentralPay transaction referenceoperation_datetimetransaction datesource_typetransaction typesource_idreference linking multiple transactionsnaturetransaction naturedebit_amountamount of « debit » type transactionscredit_amountamount of « credit » type transactionscurrencytransaction currencycustom_referencecustom transaction referencecustom_labelcustom transaction namethird_party_idtransaction recipient identifierthird_party_labeltransaction recipient namethird_party_countrytransaction recipient countrypayout_numberpayout number Access: Recette Merchant Portal – Transactions Production Merchant Portal – Transactions 2. Download the Monthly Financial Report At the beginning of each month, in addition to the invoice, an account statement is generated and made available in the secure area of your account ( My Accounts Account Statements ). It presents the total credit and debit amounts made, including a breakdown « of which funds » and « of which fees » to distinguish the nature. We offer two types of statements: detailed or summary.- The detailed statement shows all transactions for the selected period.⚠️ If you have a large number of transactions, they may not appear on the statement. In this case, we recommend performing an export in CSV, Excel, or JSON format.- The summary statement groups your transactions by day and by transaction type, for the selected period. To properly understand your detailed account statement:A) The total amount of debits on your account for the given period:– of which funds: all debits of « fund » nature (outgoing transfers, etc.)– of which fees: all debits of « fee » nature (CentralPay fees, etc.)B) The total amount of credits on your account for the given period:– of which funds: all deposits to your account (= revenue).– of which fees: all transactions to offset transactions or adjust fees (fee refunds, etc.).C) Closing balance of the month preceding the statement.D) Closing balance of the month of the downloaded statement. Access: Recette Merchant Portal – Documents Production Merchant Portal – Documents
Transaction carte récurrente Selon les besoins de votre activité, CentralPay propose plusieurs modes de transactions récurrentes : Abonnement depuis un modèle d’abonnementCentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont. Abonnement piloté par APIVous pilotez le prélèvement de chaque échéance vous-même par API (authentification BRW initiale, puis 3RI), sans recourir au service d’abonnement automatisé par CentralPay 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.2. 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.2 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 Marchand. 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 piloté par API 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.2 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 Marchand » 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.2 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.
Recurring Card Transaction Depending on your business needs, CentralPay offers several recurring transaction modes: Subscription from a subscription templateCentralPay manages the collection of instalments based on a subscription template that you defined in advance. API-driven subscriptionYou manage the collection of each instalment yourself via API (initial BRW authentication, then 3RI), without using CentralPay’s automated subscription service. Installment paymentCentralPay splits an amount due into several transactions and manages their collection, according to the payment terms you provided. Please note: you must first manage the collection of your customer’s card data by creating a Custom Form payment form, create a Customer profile for this customer, and implement the 3DS 2.2 authentication principles. The basic principles of a card transaction are described in the general information section. For a recurring payment, your customer automatically receives an email containing the details of their instalments. This email also includes a link to our Customer Portal, which allows them to view the status of their recurring payments, change their bank card, and cancel a subscription if needed. 1. Subscription from a subscription template 1.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card And perform a 3DS 2.2 BRW authentication Then, the subscription service (Subscription) will allow you to easily initiate a subscription payment based on a subscription template created in advance via the CentralPay API or the Merchant Portal. 1.2. Specific integration cases If the first subscription payment must be higher than the following instalments (e.g., registration fees), you can first initiate a Transaction following your 3DS BRW authentication, then set a start date (startingDate) in the Subscription object. If you simply want to start a subscription on a specific date, you can first perform a verified card imprint following your 3DS BRW authentication, then set a start date (startingDate) in the Subscription object. 2. API-driven subscription 2.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card Perform a 3DS 2.2 BRW authentication Perform an initial Transaction Then, you will be able to initiate the next Transactions yourself using 3DS 3RI authentication. 2.2. Important information To ensure an optimal conversion rate, the amount of the first transaction must be greater than or equal to the amounts of subsequent transactions performed with 3DS 3RI authentication. The CentralPay platform will not consider the generated transactions as « subscriptions »; therefore, the « Merchant Portal » and « Customer Portal » interfaces will display these operations in the same way as a succession of one-off transactions. With this model, the retry automation system will not apply if the collection of one of your transactions fails. 3. Installment payment 3.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card And perform a 3DS 2.2 BRW authentication Then, the installment payment service (Installment) will allow you to easily initiate an installment payment based on the information provided in your request.
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 Smart Form, 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
Reconciliation of a payment request CentralPay offers a service called bankReconciliation that allows you to link one or more SCT transactions to a payment request (PaymentRequest) if you are not using the virtual IBANs designated for SCT transactions. 1. In the event of a reference error on the part of your client When you use payment requests with virtual IBANs assigned to a specific customer, and your customer does not enter the “sepaReference” correctly when making the transfer, CentralPay is unable to automatically match the transfer to the payment request. You can therefore use the bankReconciliation service to map the received SCT Transaction to the payment request that was originally created: amount = transfer amount in centimes wireTransferID = SCT TRANSACTION ID (available in the SCT TRANSACTION hook) paymentRequestBreakdownId = PaymentRequest breakdown ID (available in the PaymentRequest hook) 2. If you are using your own order reference If you want to manage your accounts receivable in CentralPay using the Payment Requests service without using the Smart Form payment page, follow these steps: For each customer: Create a Customer record with a vIBAN, retrieve the vIBAN, and display it in your sales funnel along with your order reference At the same time, create a paymentRequest containing the same order ID (in the “merchantPaymentRequestId” field) and the order amount As soon as you receive a customer transfer, you can identify the associated order using the “description” field in the SCT Transaction. Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId » If a PaymentRequest has the same reference, you associate it with the “bankReconciliation” service If no PaymentRequest has the same reference number, but the transfer was received to a vIBAN Customer that has only one pending PaymentRequest or one with an identical amount, you can reconcile them using a bankReconciliation. If no PaymentRequest has the same reference number and the Customer has multiple PaymentRequests pending settlement or for different amounts, trigger an alert in your system so that your finance department can manually reconcile the transfer (by manually linking it to the correct PaymentRequest via a bankReconciliation). Transfers not associated with a PaymentRequest will thus be easily identifiable As well as unpaid or partially paid PaymentRequests
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 : Créer des transactions SDD individuelles : pour réaliser une ou plusieurs transactions SDD par API en complète autonomie 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). 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 1.1. 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. 1.2. [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 Marchand. 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.
Direct Debit transaction Once you have completed the steps to create and sign a mandate, you can create a SEPA Direct Debit transaction (SDD transaction). Each SDD transaction will be linked to the corresponding mandate. To create SDD transactions, you have several options: Create individual SDD transactions: to process one or more SDD transactions via API completely on your own Create SDD transactions using “Subscription” templates: to process X transactions at a frequency defined by a subscription template (for example, €50 per month for 12 months). Create SDD transactions using the “Installment” payment service: to split a customer receivable into multiple transactions (example: €1,000 to be paid in 3 installments with a down payment of €500). 1. Individual SDD transactions 1.1. Create an “SDDTransaction” Enter the SEPA mandate ID “mandateId” Enter the transaction amount in centimes “amount” Enter “EUR” in the “currency” property Enter your unique transaction ID in the “endToEndIdentification” property Enter the transaction description in the “remittanceInformation” field (this information will appear on your customers’ account statements) Enter your client’s IP address in “endUserIp” Enter your CentralPay point-of-sale ID in the “pointOfSaleId” field Enter the desired transaction date in “requestedCollectionDate” You can then repeat this process for each of your customer’s recurring payment due dates. 1.2. [Optional] Ask the customer to confirm via text message For added security, you can set up a one-time password (OTP) to validate each SDDTransaction: an OTP will then be generated upon creation and sent to your customer via text message. An sddTransactionId will also be generated upon creation. By default, SDDTransactions are validated automatically This step is required only if you have configured OTP validation for the SDDTransaction Get your client’s secret code from them Send it to us, along with the sddTransactionId As a result of this action, the SDDTransaction will be considered validated and will therefore be processed 2. SDD transactions from “subscription” templates 2.1. Creation First, you must create a Customer that contains at least one Mandate. Then, the subscription service (Subscription) will allow you to easily initiate a subscription payment based on a subscription template created in advance via the CentralPay API or the Merchant Portal. 2.2. Specific integration cases If the first subscription payment must be for a higher amount than subsequent payments (e.g., sign-up fee), you can first initiate a one-time SDD transaction, then enter a start date (startingDate) in the Subscription object. If you simply want to start a subscription on a specific date (e.g., the effective date of your contract), you can enter a start date (startingDate) in the Subscription object 3. SDD transaction with “Installment” payment plan 3.1. Creation First, you must create a Customer that contains at least one Mandate. Then, the installment payment service (Installment) will allow you to easily initiate an installment payment based on the information provided in your request.
Retours, statuts et webhooks 1. Codes de retour liés aux transferts Les transferts réalisés via l’API CentralPay (objet Transfer ou Transfer Reversal) sont des opérations internes entre deux porteurs de comptes CentralPay (ex : marchands, clients, partenaires). Ces opérations sont exécutées de manière synchrone ou quasi-immédiate. Contrairement aux transactions cartes ou virements bancaires, il n’y a pas de codes de retour bancaire associés à ces transferts internes. En cas d’échec, l’API retourne une erreur HTTP décrivant la cause du rejet (ex : solde insuffisant, compte inactif, devise incompatible…). Ces erreurs ne sont pas des statuts métier, mais des contrôles d’entrée empêchant la création du transfert. Une fois le transfert accepté, il suit un cycle de vie propre. 2. Statuts liés aux transferts Consultez les Statuts Transfer ➝ Consultez les Statuts Transfer Reversal ➝ Consultez les Statuts Payout (valables également pour PayoutByThirdParty) ➝ 3. Webhooks liés aux transferts Consultez les Webhooks Transfer ➝ Consultez les Webhooks Transfer Reversal ➝ Consultez les Webhooks Payout (valables également pour PayoutByThirdParty) ➝
Responses, statuses, and webhooks 1. Return Codes Related to Transfers Transfers made via the CentralPay API (subject: Transfer or Transfer Reversal) are internal transactions between two CentralPay account holders (e.g., merchants, customers, partners). These transactions are executed synchronously or nearly instantly. Unlike Card Transactions or Bank transfers, there are no bank return codes associated with these internal transfers. If a transfer fails, the API returns an HTTP error describing the reason for the Rejection (e.g., insufficient funds, inactive account, incompatible currency, etc.). These errors are not business statuses, but rather input validations that prevent the transfer from being created. Once the transfer is accepted, it follows its own lifecycle. 2. Articles of association related to transfers View the Transfer Articles of association ➝ View the Transfer Reversal Articles of association ➝ View the Payout Articles of Association (also applicable to PayoutByThirdParty) ➝ 3. Webhooks Related to Transfers Check out Transfer Webhooks ➝ View the Transfer Reversal Webhooks ➝ View the Payout Webhooks (also applicable to PayoutByThirdParty) ➝
SDD return codes Return CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment
SDD return codes Return CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment
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. jQuery(document).ready( function($) { window.live_6ab3046f045e5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Account.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f045e5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f045e5.load(); });
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. jQuery(document).ready( function($) { window.live_6ab3046f04eb2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Account.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f04eb2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f04eb2.load(); });
Compte de Monnaie Électronique limité CentralPay permet la création de comptes de monnaie électronique (Wallets) pour stocker et utiliser des valeurs numériques. Deux parcours complémentaires sont proposés : Création rapide d’un Wallet sans KYC (compte limité) : accessible immédiatement avec des plafonds réglementaires Déplafonnement du Wallet via enrôlement KYC (compte vérifié) : levée des limites après vérification des documents Ce fonctionnement est adapté aux parcours progressifs : un utilisateur peut créer un compte limité pour un premier usage, puis être invité à compléter son profil pour accéder à l’ensemble des fonctionnalités. 1. Création d’un compte de Monnaie Électronique limité CentralPay permet la création de comptes de monnaie électronique utilisables immédiatement, sans collecte de documents, dans un cadre réglementaire strict. Les comptes de monnaie électronique limités sont réservés aux individuels (personnes physiques). Les personnes morales ne peuvent pas disposer de ce type de compte. 1.1. Limites réglementaires Solde maximal : 150 € Encaissement glissant : 150 € sur 30 jours Ce seuil s’appuie sur les dispositions de l’article R561-16 du Code monétaire et financier concernant les comptes de monnaie électronique non vérifiés. ℹ️ Ce type de compte peut ensuite être déplafonné par enrôlement KYC (voir plus bas). 1.2. Étape 1 – Créer un Customer Le Wallet doit être rattaché à un objet Customer représentant l’utilisateur final (voir Profils Clients) 1.3. Étape 2 – Créer un Wallet POST /wallets Champs obligatoires ChampTypeDescriptionNotecustomerIdUUIDIdentifiant du CustomerRequis sauf si merchantId est fournicurrencystring (3)Devise du Wallet (ex. "EUR")ISO 4217 – format 3 lettres Champs optionnels ChampTypeDescriptionreferencestringRéférence métieractivationDatedateDate d’activationexpirationDatedateDate d’expirationadditionalDataobjectDonnées personnalisées (JSON) 1.4. Étapes complémentaires – Gérer un Wallet limité Une fois un Wallet créé, CentralPay vous permet de : le modifier (ex. : ajouter une date d’expiration, une référence, un Merchant) le consulter en détail lister les Wallets existants pour un Customer ou Merchant 2. Modifier un Wallet POST /wallets/{walletId} Ce service permet de mettre à jour certains attributs du Wallet sans le recréer. Champs obligatoires ChampTypeDescriptionNotewalletIdUUIDIdentifiant du Wallet à mettre à jourRequis dans l’URL et/ou le corps de requête Champs optionnels ChampTypeDescriptionNotereferencestringRéférence personnalisée du Wallet—expirationDatedateDate d’expiration du WalletYYYY-MM-DDactivationDatedateDate d’activation du WalletYYYY-MM-DDadditionalDataobjectDonnées métier structurées (clé/valeur JSON)—merchantIdUUIDPour rattacher un Wallet à un Merchant spécifiqueFacultatif – à ne pas confondre avec customerId 3. Consulter un Wallet GET /wallets/{walletId} Ce service permet de récupérer les informations détaillées d’un Wallet existant. Paramètres requis ChampTypeDescriptionNotewalletIdUUID (36)Identifiant du WalletLe Wallet doit appartenir au Merchant connecté ou à l’un de ses sous-marchands Description des champs ChampTypeDescriptionNotecurrencystringDevise du WalletISO 4217 (ex. EUR)available[].amountintSolde disponible en centimesEx. : 10500 = 105,00 €pending[].amountintSolde en attente (transactions en cours)—referencestringRéférence du WalletFacultatifadditionalDataobjectDonnées personnaliséesJSON libre 4. Lister les Wallets d’un Customer GET /wallets Permet d’obtenir la liste des Wallets créés pour un même Customer. Paramètres requis ChampTypeDescriptioncustomerIdUUIDIdentifiant du CustomercurrencystringDevise (ex. "EUR") Paramètres optionnels ChampTypeDescriptionNoteafterstringNe retourner que les Wallets créés après cette dateFormat ISO 8601beforestringNe retourner que les Wallets créés avant cette dateFormat ISO 8601limitstringNombre d’éléments par pageDéfaut : 10pagestringIndex de la pageDéfaut : 1 5. Schéma de création d’un compte de ME limité
Limited Electronic Money Account CentralPay allows users to create electronic money accounts (Wallets) to store and use digital assets. Two complementary options are available: Quickly create a wallet without KYC (limited account): available immediately with regulatory limits Removing the Wallet limit via KYC enrollment (verified account): limits are lifted after document verification. This approach is well-suited to progressive onboarding: a user can create a limited account for their first use, and then be invited to complete their profile to access all features. 1. Creating a limited Electronic Money Account CentralPay allows users to create electronic money accounts that can be used immediately, without the collection of documents, within a strict regulatory framework. Limited electronic money accounts are reserved for individuals (natural persons). Legal entities are not eligible for this type of account. 1.1. Regulatory limits Maximum balance: €150 Rolling cash flow: €150 over 30 days This threshold is based on the provisions of Article R561-16 of the Monetary and Financial Code concerning unaudited electronic money accounts. ℹ️ This type of account can then have its limit removed through KYC enrollment (see below). 1.2. Step 1 – Create a Customer The Wallet must be linked to an object Customer representing the final user (see Customer Profiles) 1.3. Step 2 – Create a Wallet POST /wallets Required fields FieldTypeDescriptionNotecustomerIdUUIDID of the CustomerRequired unless merchantId is providedcurrencystring (3)Wallet currency (e.g., "EUR")ISO 4217 – 3-letter code Optional fields FieldTypeDescriptionreferencestringBusiness referenceactivationDatedateActivation dateexpirationDatedateExpiration dateadditionalDataobjectCustom data (JSON) 1.4. Additional steps – Managing a limited wallet Once you’ve created a Wallet, CentralPay allows you: edit it (e.g., add an expiration date, a reference, or a merchant) view it in detail List the existing wallets for a Customer or Merchant 2. Edit a Wallet POST /wallets/{walletId} This service allows you to update certain attributes of the Wallet without recreating it. Required fields FieldTypeDescriptionNotewalletIdUUIDWallet ID to be updatedRequired in the URL and/or the request body Optional fields FieldTypeDescriptionNotereferencestringCustom Wallet reference—expirationDatedateWallet expiration dateYYYY-MM-DDactivationDatedateActivation Wallet dateYYYY-MM-DDadditionalDataobjectStructured business data (JSON key/value pairs)—merchantIdUUIDTo link a Wallet to a specific MerchantOptional – not to be confused with customerId 3. View a Wallet GET /wallets/{walletId} This service allows you to retrieve detailed information about an existing wallet. Required settings FieldTypeDescriptionNotewalletIdUUID (36)Wallet IDThe Wallet must belong to the connected Merchant or one of its sub-merchants Field descriptions FieldTypeDescriptionNotecurrencystringWallet currencyISO 4217 (e.g., EUR)available[].amountintAvailable balance in centsEx.: 10500 = €105.00 pending[].amountintPending balance (transactions in progress)—referencestringWallet referenceOptionaladditionalDataobjectCustom dataOpen JSON 4. List a Customer’s Wallets GET /wallets Allow to retrieve the list of wallets created for a given Customer. Required settings FieldTypeDescriptioncustomerIdUUIDCustomer IDcurrencystringCurrency (e.g., "EUR") Optional settings FieldTypeDescriptionNoteafterstringPlease return only those wallets created after this dateISO 8601 formatbeforestringPlease return only those Wallets created before that dateISO 8601 formatlimitstringNumber of items per pageDefault: 10pagestringPage indexDefault: 1 5. Steps for creating a limited EM account
FAQ - Protection des données personnelles Gouvernance et responsabilités Responsable du traitement et contact DPO CentralPay, Établissement de Monnaie Électronique (EME), est responsable du traitement pour ses services de paiement.Contact DPO : dpo@centralpay.com (réponse sous 30 jours). Données collectées Quelles données collectons-nous ? Dans le cadre de la fourniture de ses services de paiement et afin de respecter ses obligations légales, CentralPay collecte uniquement les données strictement nécessaires. Ces données varient en fonction du type d’opération (paiement, vérification KYC, lutte contre la fraude, support client). Elles se répartissent en plusieurs catégories : Données d’identification : nom, prénom, civilité, date et lieu de naissance, nationalité, qualité (par exemple représentant légal, dirigeant ou bénéficiaire effectif – UBO). Données de contact : adresse email, numéro de téléphone, adresse postale. Données de paiement : coordonnées bancaires (IBAN, BIC) ; données de carte traitées exclusivement dans un environnement certifié PCI DSS (numéro complet et CVC collectés uniquement pour être tokenisés et jamais exposés en clair), date d’expiration, schéma (Visa, Mastercard…), pays émetteur, 4 derniers chiffres. Données transactionnelles : identifiant de transaction (transactionId), date et heure, montant, devise, statut, référence commande (orderId), historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude : adresse IP, empreinte 3DS (navigateur/appareil), résultats et scores antifraude, statut éventuel de mise en surveillance technique. Données de conformité KYC/LCB-FT : pièces d’identité officielles, justificatifs de domicile, documents légaux de l’entreprise (ex. Kbis, statuts), informations sur les bénéficiaires effectifs (UBO et pourcentages de détention). Données techniques : journaux applicatifs (logs API), événements transmis aux marchands (webhooks), identifiants techniques (customerId, eventId). CentralPay ne collecte aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.), sauf si la loi l’imposait de manière exceptionnelle. Finalités Pourquoi utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Bases légales Sur quelles bases légales reposent nos traitements ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Pendant combien de temps conservons-nous vos données ? CentralPay applique des délais de conservation précis, fondés sur les obligations légales et les besoins opérationnels. À l’issue de ces délais, les données sont soit supprimées, soit anonymisées de façon irréversible. Transactions financières (écritures probatoires) : conservées 10 ans, conformément au Code de commerce. Données personnelles associées aux transactions (email, téléphone, IP, empreintes 3DS, PAN masqué, token de carte, scores fraude) : conservées 24 mois maximum, puis supprimées ou anonymisées. Données de carte (token + métadonnées) : conservées jusqu’à 24 mois après la date d’expiration de la carte. Le PAN complet et le CVC ne sont jamais exposés en clair. Payment Requests (emails/SMS) : conservées 24 mois maximum. Abonnements et paiements fractionnés : conservés pendant la durée de l’abonnement + 5 ans. Comptes bancaires (IBAN/BIC) et mandats SEPA : conservés pendant la durée du mandat + 10 ans (preuve contractuelle). KYC / LCB-FT : données conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF). Journaux techniques et webhooks : conservés 24 mois. Au-delà de ces durées, CentralPay ne conserve que des données anonymisées ou strictement nécessaires au respect d’une obligation légale. Localisation et transferts Où vos données sont-elles traitées ? Les données traitées par CentralPay sont hébergées en priorité dans l’Union européenne, principalement en France, dans des environnements certifiés PCI DSS et ISO 27001. À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Si un transfert hors UE devait être nécessaire à l’avenir (par exemple pour un prestataire SMS ou email), il serait encadré par : une analyse d’impact du transfert, la mise en place des Clauses Contractuelles Types (SCC) de la Commission européenne, des mesures techniques complémentaires (chiffrement, segmentation, contrôle d’accès), et une information transparente de nos clients. Transfert de données hors UE : comment procédons-nous ? À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Toutes les données sont hébergées et traitées dans l’UE, principalement en France et au sein d’infrastructures certifiées (PCI DSS). Si, à l’avenir, un transfert hors UE devait être nécessaire (par exemple pour un prestataire SMS ou email), CentralPay s’engage à : procéder à une analyse d’impact sur le transfert, appliquer les Clauses Contractuelles Types (SCC) de la Commission européenne, mettre en place des mesures techniques supplémentaires (chiffrement, cloisonnement, contrôle d’accès), et informer ses clients en toute transparence. Nature des données Traitons-nous des données sensibles ? Non. CentralPay ne traite aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.).Nous collectons uniquement les informations strictement nécessaires à l’exécution des paiements et au respect de nos obligations légales (LCB-FT, supervision ACPR). Collectons-nous des données de mineurs ? CentralPay fournit ses services exclusivement à des professionnels (B2B). Nous ne collectons donc pas volontairement de données de mineurs.Si, indirectement, un mineur est amené à effectuer un paiement, le traitement reste limité aux données de paiement nécessaires (ex. coordonnées bancaires ou carte), et toujours sous la responsabilité de son représentant légal lorsqu’une vérification est requise. Conformité RGPD Réalisons-nous des analyses d’impact (PIA)? Oui, nous réalisons des AIPD (PIA) pour les traitements susceptibles d’engendrer un risque élevé (ex. KYC, antifraude/3DS, tokenisation carte, analyses longitudinales). Les risques résiduels et mesures de réduction sont documentés. Comment garantissons-nous la minimisation et le privacy by design ? Nous collectons uniquement les champs nécessaires par finalité, cloisonnons les environnements (prod/préprod), nous n’utilisons aucune donnée réelle en test, limitons les payloads webhooks au minimum utile, et appliquons des purges/anonymisations automatiques à l’échéance. Comment CentralPay documente sa conformité RGPD ? Politique RGPD publique (site). Registre des traitements (interne, à jour). PIA sur les traitements à risque (interne). Politiques/procédures (sécurité, purge, incidents, droits). Rapports de contrôle interne (ACPR). Sous-traitants Comment encadrons-nous nos prestataires ? Chaque prestataire est contractuellement encadré (art. 28) : mesures de sécurité, confidentialité, notification d’incident, audibilité, localisation des données, sous-traitance en cascade contrôlée. Due diligence initiale + réévaluation régulière (sécurité, SLA, conformité). Quels prestataires utilisons-nous ? Sur demande et après NDA, nous pouvons fournir la liste à jour par catégorie de nos prestataires (hébergement/cloud, KYC, envoi email/SMS, anti-fraude, support) en indiquant la zone géographique. Comment sélectionnons-nous nos prestataires essentiels ? CentralPay applique une politique d’encadrement des sous-traitants alignée à la fois sur le RGPD (art. 28) et sur le règlement DORA. Lors de la sélection, nous menons une due diligence approfondie couvrant la sécurité (certifications, mesures techniques), la conformité réglementaire (RGPD, DSP2, LCB-FT), la localisation et le régime juridique des données, la solidité financière du prestataire ainsi que les niveaux de service (SLA) proposés. Pour les prestataires critiques, nous examinons en particulier leur intégration dans la chaîne de valeur des services de paiement et leur rôle en matière de résilience opérationnelle. Chaque relation contractuelle inclut des clauses conformes à l’article 28 RGPD (confidentialité, sécurité, notification d’incident, limitation des sous-traitances en cascade) ainsi que, le cas échéant, des Clauses Contractuelles Types (SCC) pour encadrer les transferts hors Union européenne. Conformément à DORA, nous tenons un registre d’information des prestataires TIC et identifions ceux considérés comme prestataires critiques. Ces prestataires font l’objet d’une évaluation renforcée, avec des exigences contractuelles spécifiques en matière de disponibilité, d’intégrité, de continuité et de tests de résilience. Le suivi est assuré au travers de revues régulières (contrôles, rapports d’audit, attestations de conformité type SOC/ISO, questionnaires de sécurité), d’un droit d’audit contractuel et de mécanismes de reporting périodique. Nous intégrons ces évaluations dans notre cartographie des risques TIC et nos comités de suivi DORA. Sécurité et résilience Quelles protections techniques appliquons-nous ? CentralPay protège les données et les systèmes en combinant des mécanismes techniques robustes et conformes aux meilleurs standards internationaux.Les échanges sont sécurisés par un chiffrement systématique : TLS 1.2/1.3 pour les données en transit et AES-256 pour les données au repos, avec une gestion centralisée des clés.Les données de carte sont traitées exclusivement dans un environnement PCI DSS niveau 1, avec collecte en zone dédiée et tokenisation irréversible pour éviter toute exposition du PAN complet.Les accès aux systèmes sont contrôlés par des mécanismes RBAC (role-based access control) et protégés par une authentification forte (MFA), avec des revues régulières des habilitations.Toutes les actions sensibles font l’objet d’une journalisation horodatée et inviolable, intégrée dans un SIEM qui assure la détection et l’alerte en temps réel.L’infrastructure est cloisonnée : segmentation des réseaux, séparation stricte des environnements (production, test, préproduction) et gestion sécurisée des secrets.Enfin, CentralPay teste régulièrement son dispositif à travers des tests de pénétration, des scans de vulnérabilités et des audits externes indépendants. Comment notre organisation garantit la sécurité ? La sécurité ne repose pas uniquement sur la technologie mais aussi sur une organisation et une gouvernance solides.CentralPay applique un cadre de gestion des risques intégrant une cartographie détaillée, des indicateurs de suivi (KRI) et une politique d’appétence au risque validée par la direction.La supervision s’appuie sur le modèle reconnu des trois lignes de défense : les opérations assurent les contrôles de premier niveau, une fonction indépendante de conformité et de contrôle permanent supervise la deuxième ligne, et l’audit interne constitue la troisième ligne.Un comité sécurité et conformité se réunit régulièrement pour piloter la stratégie et mettre à jour les politiques et procédures clés (gestion des accès, incidents, purges, exercice des droits RGPD).Enfin, la culture sécurité est renforcée par des formations régulières des équipes, couvrant la cybersécurité, la protection des données personnelles et les obligations LCB-FT. Que faisons-nous en cas d’incident de sécurité ? CentralPay dispose d’une procédure formalisée de gestion des incidents.En cas d’incident, nous procédons à une détection rapide, une qualification et un confinement immédiat, suivis d’actions de remédiation.Les événements sont intégralement journalisés et investigués (forensic) afin d’identifier la cause et d’éviter leur récurrence.Lorsque la réglementation l’impose, nous notifions la CNIL dans un délai maximum de 72 heures et informons les personnes concernées en cas de risque élevé.Chaque incident donne lieu à un retour d’expérience (REX) et à la mise en place d’un plan d’actions correctives, qui est suivi jusqu’à sa résolution complète. Nos audits de sécurité CentralPay est soumis à plusieurs niveaux de contrôle et de tests de sécurité, à la fois internes et externes : Audits externes réguliers : Certification annuelle PCI DSS niveau 1 sur la collecte et le traitement des données de paiement, Audits indépendants de cybersécurité, Tests de pénétration réalisés par des prestataires tiers pour identifier et corriger les vulnérabilités. Contrôles internes permanents (seconde ligne de défense) : revues des habilitations, scans de vulnérabilités, surveillance des systèmes critiques. Audits périodiques indépendants (troisième ligne de défense) : audit interne et audit externe du dispositif de sécurité, conformité réglementaire (ACPR, DORA). Revue annuelle des politiques : l’ensemble de nos politiques de sécurité, de purge, d’incidents et de gestion des prestataires est revu et validé chaque année par la direction. Tests de résilience conformément à DORA : Plans de Continuité et de Reprise d’Activité (PCA/PRI) testés régulièrement pour valider la capacité à maintenir les services en cas d’incident majeur, Exercices de crise simulant des scénarios de cyberattaque ou d’indisponibilité critique, Tests de charge et de performance sur les infrastructures critiques, Scénarios de bascule et redondance entre environnements pour garantir la disponibilité, Pour les fonctions critiques, recours progressif à des tests de résilience avancés de type “TLPT” (Threat-Led Penetration Testing), exigés par DORA pour les acteurs significatifs. Droits des personnes Quels sont vos droits et comment les exercer ? En application des articles 15 à 22 du RGPD, vous disposez des droits suivants sur vos données personnelles : droit d’accès, droit de rectification, droit à l’effacement, droit à la limitation, droit d’opposition, droit à la portabilité, droit de retrait du consentement. Vous pouvez exercer vos droits en adressant une demande à : dpo@centralpay.com.Nous nous engageons à vous répondre dans un délai de 30 jours maximum, sauf cas exceptionnel justifiant une prolongation. En cas de difficulté, vous pouvez également saisir la CNIL. Comment concilions-nous effacement et obligations légales ? CentralPay respecte le droit à l’effacement prévu par le RGPD, mais certaines données doivent être conservées en raison d’obligations légales.Nous supprimons ou anonymisons toutes les données personnelles qui ne sont plus nécessaires.En revanche, lorsque la loi nous impose de conserver certaines informations (par exemple les écritures comptables pendant 10 ans ou les données KYC pendant 5 ans après la fin de la relation), ces données sont maintenues mais : leur accès est strictement limité, elles ne sont utilisées que pour les finalités imposées par la loi (contrôle ACPR, TRACFIN, obligations probatoires). Ainsi, nous trouvons un équilibre entre le respect des droits des personnes et nos obligations réglementaires. Autres garanties Utilisons-nous des décisions automatisées ou du profilage ? CentralPay n’applique aucune décision entièrement automatisée produisant des effets juridiques ou significatifs sur les personnes, au sens de l’article 22 du RGPD.Nous utilisons en revanche des outils de scoring antifraude qui calculent un niveau de risque sur les transactions. Ces résultats servent uniquement d’aide à la décision : lorsqu’un cas est sensible ou à risque, il est systématiquement revu et validé par un contrôle humain. Utilisons-nous des cookies ou traceurs à des fins publicitaires ? Sur les parcours de paiement et dans les API, CentralPay n’utilise aucun cookie publicitaire ni traceur marketing. Seuls des cookies ou traceurs strictement nécessaires au fonctionnement technique et à la sécurité des parcours (ex. gestion de session, authentification) peuvent être utilisés.À ce stade, aucun mécanisme de consentement via bannière n’est nécessaire, puisque nous n’utilisons pas de cookies optionnels. Comment assurons-nous la résilience et les sauvegardes ? Oui. L’infrastructure est redondée sur deux data centers localisés en France ; les sauvegardes sont chiffrées et externalisées, testées régulièrement (restores) et retiennent les mêmes contrôles d’accès que la production. Avons-nous une politique de purge et d’anonymisation documentée ? Oui, avec délais par objet (transactions/personnelles 24 mois, cartes jusqu’à 24 mois après date d’expiration, KYC 5 ans post-relation, mandats 10 ans, logs 24 mois) et mécanismes (suppression vs anonymisation irréversible), plus traces de purge (logs d’exécution). Nos environnements de test contiennent-ils des données réelles ? CentralPay n’utilise jamais de données personnelles réelles dans ses environnements de test ou de préproduction. Tous nos jeux de données internes (ex. cartes, IBAN, profils clients) sont synthétiques ou fictifs et conformes aux standards PCI DSS. Cependant, les utilisateurs de nos environnements de test (par ex. marchands intégrateurs) peuvent techniquement saisir leurs propres données. Cette pratique est formellement interdite et encadrée par nos conditions d’utilisation. Si un utilisateur insère par erreur des données personnelles dans un environnement de test, celles-ci : ne sont pas utilisées à des fins de traitement de paiement réel, ne sont pas répliquées en production, et font l’objet d’une purge automatique ou manuelle dès leur détection. Comment CentralPay gère-t-il l’accès des équipes support aux données ? Les équipes support de CentralPay n’ont pas d’accès direct et permanent aux données personnelles. L’accès est accordé uniquement en cas de besoin opérationnel (par exemple pour résoudre un incident ou assister un client), et selon les principes suivants : Accès temporaire et justifié : chaque accès est accordé pour une durée limitée et doit être motivé par un ticket ou une demande validée. Principe du moindre privilège : l’agent support ne voit que les données strictement nécessaires pour traiter la demande. Authentification forte (MFA) : tous les accès sont sécurisés par une authentification à plusieurs facteurs. Traçabilité complète : chaque action effectuée par un membre du support est enregistrée et auditée. Revue régulière des habilitations : les droits d’accès sont revus mensuellement pour s’assurer qu’ils restent justifiés. Masquage des données sensibles : les champs sensibles (ex. numéro complet de carte, CVC, IBAN complet) sont systématiquement masqués dans les interfaces, afin que le support ne puisse jamais les visualiser en clair. Offrons-nous des clauses contractuelles spécifiques RGPD à vos clients ? Nos CGU/contrats intègrent les clauses nécessaires (confidentialité, sécurité, coopération incidents, sous-traitance, conservation/purge). Des avenants RGPD sont possibles selon les cas d’usage. Partageons-nous nos politiques et procédures internes ? La Politique RGPD publique est disponible en ligne. Les politiques internes détaillées (procédures incidents, purge, sécurité) ne sont, par défaut, pas partagées.
FAQ - Privacy Policy Governance and Responsibilities Data Controller and DPO Contact CentralPay, an Electronic money Institution (EMI), is the data controller for its payment services.DPO contact: dpo@centralpay.com (response within 30 days). Data Collected What data do we collect? As part of the provision of its payment services and in order to comply with its legal obligations, CentralPay collects only the data that is strictly necessary. This data varies depending on the type of transaction (payment, KYC verification, fraud prevention, customer support). It falls into several categories: Identifying information: last name, first name, title, date and place of birth, nationality, and role (e.g., legal representative, executive, or Beneficial Owner—UBO). Contact information: email address, phone number, mailing address. Payment information: bank account details (IBAN, BIC); card information processed exclusively in a PCI DSS-certified environment (full card number and CVC collected solely for tokenization and never exposed in plain text), expiration date, card brand (Visa, Mastercard, etc.), issuing country, and last 4 digits. Transaction data: transaction ID (transactionId), date and time, amount, currency, status, order ID (orderId), transaction history (one-time payments, recurring payments, split payments, refunds). Security and anti-fraud data: IP address, 3DS fingerprint (browser/device), anti-fraud results and scores, and any technical monitoring status. KYC/AML-CFT compliance data: official identity documents, proof of address, legal documents pertaining to the company (e.g., Commercial register, Articles of association), information on ultimate Beneficial Owners (UBOs and ownership percentages). Technical data: application logs (API logs), events sent to Merchants (webhooks), technical identifiers (customerId, eventId). CentralPay does not collect any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.), unless required to do so by law in exceptional circumstances. Purposes Why do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory requirements: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of anti-fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and disputes. Accounting and tax obligations: retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services; strengthening operational resilience in accordance with the DORA regulation; and continuously improving the customer experience and the security of our systems. Legal Basis What is the legal basis for our data processing? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory obligations: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and Disputes. Accounting and Tax Obligations: Retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services, strengthening operational resilience in accordance with the DORA regulation, and continuously improving the customer experience and the security of our systems. How long do we retain your data? CentralPay follows specific retention periods based on legal requirements and operational needs. At the end of these periods, the data is either deleted or irreversibly anonymized. Financial transactions (supporting documents): retained for 10 years, in accordance with the Commercial Code. Personal data associated with transactions (email, phone number, IP address, 3DS fingerprints, masked PAN, card token, fraud scores): retained for a maximum of 24 months, then deleted or anonymized. Card data (token + metadata): retained for up to 24 months after the card’s expiration date. The full PAN and CVC are never stored in plain text. Payment Requests (emails/text messages): Retained for up to 24 months. Subscriptions and installment payments: retained for the duration of the subscription plus 5 years. Bank Accounts (IBAN/BIC) and SEPA direct debits: retained for the duration of the mandate plus 10 years (contractual evidence). KYC / AML-CFT: Data retained for 5 years after the end of the business relationship (Art. L561-12 of the French Monetary and Financial Code). Technical logs and webhooks: retained for 24 months. Beyond these time periods, CentralPay retains only anonymized data or data that is strictly necessary to comply with a legal obligation. Location and Transfers Where is your data processed? The data processed by CentralPay is primarily hosted in the European Union—mainly in France—in environments certified to PCI DSS and ISO 27001 standards. To date, CentralPay does not transfer personal data outside the European Union.If a transfer outside the EU were to become necessary in the future (for example, to an SMS or email service provider), it would be governed by: an impact analysis of the transfer, the implementation of the European Commission’s Standard Contractual Clauses (SCCs), additional technical measures (encryption, segmentation, access control), and transparent communication with our customers. Data Transfers Outside the EU: How Do We Handle Them? To date, CentralPay does not transfer personal data outside the European Union.All data is hosted and processed within the EU, primarily in France and within certified (PCI DSS) infrastructure. If, in the future, a transfer outside the EU were to be necessary (for example, to an SMS or email service provider), CentralPay undertakes to: conduct an impact analysis of the transfer, apply the European Commission’s Standard Contractual Clauses (SCCs), implement additional technical measures (encryption, segmentation, access control), and keep its customers fully informed. Nature of the Data Do we process sensitive data? No. CentralPay does not process any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.). We collect only the information strictly necessary to process payments and comply with our legal obligations (anti-money laundering and counter-terrorism financing, ACPR supervision). Do we collect data from minors? CentralPay provides its services exclusively to businesses (B2B). We therefore do not knowingly collect data from minors.If, indirectly, a minor is required to make a payment, data processing is limited to the necessary payment information (e.g., bank or card details), and is always carried out under the responsibility of the minor’s legal guardian when verification is required. GDPR Compliance Do we conduct impact assessments (PIA)? Yes, we conduct AIPDs (PIAs) for processing operations that may pose a high risk (e.g., KYC, anti-fraud/3DS, card tokenization, longitudinal analyses). Residual risks and mitigation measures are documented. How do we ensure data minimization and privacy by design? We collect only the fields necessary for each specific purpose, segregate environments (LIVE/pre-production), do not use any real data in testing, limit webhook payloads to the minimum necessary, and automatically purge or anonymize data upon expiration. How does CentralPay document its GDPR compliance? Public GDPR Policy (website). Record of data processing (internal, up-to-date). PIA on High-Risk Processing (Internal). Policies/procedures (security, data deletion, incidents, rights). Internal Control Reports (ACPR). Subcontractors How do we supervise our service providers? Each service provider is subject to contractual requirements (Art. 28): security measures, confidentiality, incident reporting, auditability, data location, and controlled sub-contracting. Initial due diligence + regular reassessment (security, SLA, compliance). Which service providers do we use? Upon request and after signing an NDA, we can provide an up-to-date list of our service providers, organized by category (hosting/cloud, KYC, email/SMS delivery, fraud prevention, support), along with their geographic locations. How do we select our key service providers? CentralPay has a policy for managing subcontractors that complies with both the GDPR (Article 28) and the DORA Regulation. During the selection process, we conduct a thorough due diligence review covering security (certifications, technical measures), regulatory compliance (GDPR, PSD2, AML/CFT), data location and legal framework, the service provider’s financial stability, and the service levels (SLAs) offered. For critical service providers, we examine in particular their integration into the payment services value chain and their role in ensuring operational resilience. Each contractual relationship includes clauses that comply with Article 28 of the GDPR (confidentiality, security, incident notification, and restrictions on cascading subcontracting) as well as, where applicable, Standard Contractual Clauses (SCCs) to govern transfers outside the European Union. In accordance with DORA, we maintain a registry of ICT service providers and identify those considered critical service providers. These service providers are subject to enhanced evaluation, with specific contractual requirements regarding availability, integrity, continuity, and resilience testing. Monitoring is conducted through regular reviews (inspections, audit reports, SOC/ISO-type compliance certifications, security questionnaires), a contractual right to audit, and periodic reporting mechanisms. We perform integration of these assessments into our ICT risk mapping and our DORA monitoring committees. Security and Resilience What technical safeguards do we use? CentralPay protects data and systems by combining robust technical mechanisms that comply with the highest international standards.Communications are secured through systematic encryption: TLS 1.2/1.3 for data in transit and AES-256 for data at rest, with centralized key management.Card data is processed exclusively in a PCI DSS Level 1 environment, with data collection in a dedicated area and irreversible tokenization to prevent any exposure of the full PAN.Access to the systems is controlled by RBAC (role-based access control) mechanisms and protected by strong authentication (MFA), with regular reviews of access privileges.All sensitive actions are logged with a timestamp and cannot be tampered with; this logging is integrated into an SIEM system that provides real-time detection and alerts.The infrastructure is compartmentalized: network segmentation, strict separation of environments (production, testing, pre-production), and secure management of secrets.Finally, CentralPay regularly tests its system through penetration tests, vulnerability scans, and independent external audits. How does our organization ensure safety? Security relies not only on technology but also on strong organization and governance.CentralPay implements a risk management framework that includes detailed risk mapping, key performance indicators (KPIs), and a risk appetite policy approved by management.Oversight is based on the recognized three lines of defense model: operations provide first-line controls, an independent compliance and ongoing monitoring function serves as the second line, and internal audit constitutes the third line.A Security and Compliance Committee meets regularly to steer strategy and update key policies and procedures (access management, incident response, data purges, and the exercise of GDPR rights).Finally, the security culture is reinforced through regular training for teams, covering cybersecurity, personal data protection, and AML/CFT obligations. What should we do in the event of a security incident? CentralPay has a formalized incident management procedure.In the event of an incident, we quickly detect, assess, and immediately contain it, followed by remedial actions.All events are fully logged and investigated (forensically) to identify the cause and prevent recurrence.When required by regulation, we notify the CNIL within a maximum of 72 hours and inform the affected individuals in the event of a high-risk incident.Each incident results in a lessons-learned review and the implementation of a corrective action plan, which is monitored until the issue is fully resolved. Our Security Audits CentralPay is subject to multiple levels of security controls and testing, both internal and external: Regular external audits: Annual PCI DSS Level 1 certification for the collection and processing of payment data, Independent cybersecurity audits, Penetration tests conducted by third-party service providers to identify and fix vulnerabilities. Ongoing internal controls (second line of defense): security clearance reviews, vulnerability scans, and monitoring of critical systems. Periodic independent audits (third line of defense): internal and external audits of the security framework and regulatory compliance (ACPR, DORA). Annual Policy Review: All of our policies regarding security, data purging, incidents, and vendor management are reviewed and approved annually by management. Resilience testing in accordance with DORA: Business Continuity and Disaster Recovery Plans (BCP/DRP) that are regularly tested to verify the ability to maintain services in the event of a major incident, Crisis exercises simulating cyberattack scenarios or critical system outages, Load and performance testing of critical infrastructure, Failover and redundancy scenarios across environments to ensure availability, For critical functions, a gradual shift toward advanced resilience tests such as “TLPT” (Threat-Led Penetration Testing), as required by DORA for significant entities. Human Rights What are your rights, and how can you exercise them? Pursuant to Articles 15 through 22 of the GDPR, you have the following rights regarding your personal data: right of access, right to correction, right to erasure, right to restriction, right to object, right to data portability, right to withdraw consent. You can exercise your rights by sending a request to: dpo@centralpay.com.We are committed to responding to you within a maximum of 30 days, except in exceptional cases that warrant an extension. If you encounter any difficulties, you may also file a complaint with the CNIL. How do we balance data erasure with legal obligations? CentralPay respects the right to erasure as provided for by the GDPR, but certain data must be retained due to legal obligations.We delete or anonymize all personal data that is no longer necessary.However, when the law requires us to retain certain information (for example, accounting records for 10 years or KYC data for 5 years after the end of the relationship), this data is retained, but: access to them is strictly limited, They are used only for purposes required by law (ACPR audits, TRACFIN, evidentiary obligations). In this way, we strike a balance between respecting people’s rights and meeting our regulatory obligations. Other Coverages Do we use automated decisions or profiling? CentralPay does not apply any fully automated decisions that produce legal or significant effects on individuals, as defined in Article 22 of the GDPR.However, we do use anti-fraud scoring tools that calculate a risk level for transactions. These results are used solely as a decision-making aid: when a case is sensitive or high-risk, it is systematically reviewed and validated by a human reviewer. Do we use cookies or trackers for advertising purposes? In payment flows and APIs, CentralPay does not use any advertising cookies or marketing trackers. Only cookies or trackers that are strictly necessary for the technical operation and security of the payment flows (e.g., session management, authentication) may be used. At this point, no banner-based consent mechanism is necessary, since we do not use optional cookies. How do we ensure resilience and backups? Yes. The infrastructure is redundant across two data centers located in France; backups are encrypted and stored off-site, tested regularly (restores), and are subject to the same access controls as the production environment. Do we have a documented policy for data purging and anonymization? Yes, with retention periods by category (transactions/personal data: 24 months; cards: up to 24 months after the expiration date; KYC: 5 years after the relationship ends, power of attorney: 10 years, logs: 24 months) and mechanisms (deletion vs. irreversible anonymization), plus records of data purging (execution logs). Do our test environments contain real data? CentralPay never uses actual personal data in its test or pre-production environments. All of our internal datasets (e.g., cards, IBANs, Customer Profiles) are synthetic or fictitious and comply with PCI DSS standards. However, users of our test environments (e.g., Merchant integrators) can technically enter their own data. This practice is strictly prohibited and governed by our Terms of Use. If a user accidentally enters personal data into a test environment, that data: are not used for actual payment processing, are not replicated in production, and are automatically or manually purged as soon as they are detected. How does CentralPay manage support teams’ access to data? CentralPay’s support teams do not have direct, permanent access to personal data. Access is granted only when necessary for operational purposes (for example, to resolve an incident or assist a customer), and in accordance with the following principles: Temporary and Justified Access: Each access request is granted for a limited period and must be supported by a ticket or an approved request. Principle of least privilege: The support agent sees only the data strictly necessary to process the request. Strong Authentication (MFA): All access is secured through multi-factor authentication. Full traceability: Every action performed by a support team member is logged and audited. Regular review of access permissions: Access rights are reviewed monthly to ensure they remain justified. Masking of Sensitive Data: Sensitive fields (e.g., full card number, CVV, full IBAN) are systematically masked in the interfaces so that support staff can never view them in plain text. Do we provide your customers with specific GDPR-compliant contract terms? Our Terms of Service and contracts include the necessary provisions (confidentiality, security, incident response, subcontracting, data retention and deletion). GDPR addenda may be included depending on the specific use case. Do we share our internal policies and procedures? The public GDPR policy is available online. Detailed internal policies (incident response, data retention, security) are not shared by default.
Glossaire CentralPay 1. Les types d’acteurs DésignationDescriptionActeurToute entité identifiée sur la plateforme CentralPay. Peut être un Profil Marchand, un Point de Vente, un établissement tiers, ou CentralPay.Profil marchandLe Profil Marchand représente techniquement et opérationnellement un marchand dans la plateforme CentralPay. Il est le support de :• Ses comptes : de paiement ou de monnaie électronique ;• Son administration : accès API, profils utilisateurs, services disponibles ;• Sa configuration technique : webhooks, notifications, points de vente, règles d’acceptation, comptes bancaires ;• Son dossier réglementaire : KYC/KYB, LCB-FT, scoring de risque, contractualisation, grille tarifaire…Le Profil Marchand correspond à l’objet API Merchant et est créé automatiquement après validation de son inscription (via l’objet API Merchant-Enrollment).Marchand standardPersonne morale ou autoentreprise cliente de CentralPay, réalisant des opérations d’encaissement pour son propre compte lors de la vente de biens ou de services.Peut être rattaché fonctionnellement à un Partenaire (Technique ou Intégrateur).Dispose d’un Profil Marchand typé STANDARD.Marchand PartenairePersonne morale cliente de CentralPay, disposant d’un Profil Marchand et pouvant relever de l’un des modèles suivants :• Partenaire Technique : opère une solution mutualisée (ex. marketplace, plateforme SaaS) et dispose d’un ou plusieurs Points de Vente ouverts à son nom, auxquels des marchands standards peuvent être rattachés.Dispose d’un Profil Marchand typé TECHNIQUE.• Partenaire Intégrateur : intervient en soutien technique, via des accès délégués par les marchands standards, pour faciliter l’intégration et le RUN (sans mutualisation de point de vente au nom du partenaire).Dispose d’un Profil Marchand typé INTEGRATEUR (le cas échéant).Un Marchand Partenaire peut percevoir des commissions (selon modèle) et/ou être déclaré MOBSP pour accompagner l’entrée en relation des marchands.Marchand MandatairePersonne morale cliente de CentralPay, agissant pour le compte de tiers, dans le cadre de l’un des statuts réglementaires suivants :• Agent PSP : Agent de Prestataire de Services de Paiement de CentralPay, enregistré auprès de l’ACPR (Banque de France) et habilité à agir au nom et pour le compte de CentralPay dans un périmètre défini contractuellement (ex. opérations de débit/crédit et transferts pour compte de tiers).Dispose d’un Profil Marchand typé AGENT.• DME : Distributeur de Monnaie Électronique enregistré/déclaré par CentralPay auprès de l’ACPR (Banque de France) pour un projet impliquant l’émission, la distribution et l’échange de monnaie électronique (devises CUSTOM).Dispose d’un Profil Marchand typé DME.Sous-marchand / ParticipantPersonne morale ou physique cliente d’un Marchand Mandataire de CentralPay (Agent PSP ou DME).• Sous-marchand : agit pour vendre des produits ou services, pour une activité LMNP, • Participant : agit pour des besoins non commerciaux (crowdfunding, wallet personnel, projets collectifs…).Dispose d’un Profil Marchand typé BASIC, avec un périmètre fonctionnel restreint.ClientPersonne physique ou morale qui paie ou donne un ordre de paiement à un Marchand CentralPay (peut aussi être nommé porteur, payeur, débiteur).Peut disposer ou non d’un Profil client (Customer).Note : dans les documents réglementaires ou contractuels de CentralPay, le terme « Client » peut désigner le Marchand lui-même selon le contexte défini dans le document.Profil clientReprésente un client enregistré par un Marchand dans la plateforme CentralPay. Il est le support de :• ses informations personnelles : nom, prénom, email, téléphone, raison sociale…• ses moyens de paiement : cartes, mandats SEPA, IBAN, comptes bancaires…• ses activités : demandes de paiement, historique de paiements…Le Profil client correspond à l’objet API Customer.Profils Utilisateur BOPersonnes physiques disposant d’un accès au Portail Marchand CentralPay pour consulter ou administrer un ou plusieurs Profils Marchand.• Type Legal : représentant légal du Marchand.• Type Natural : autre utilisateur habilité (finance, support, développement…).Le Profil utilisateur BO correspond à l’entité API BO_user.Profils Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur (personne ou système) réalisant des appels API sur un Profil Marchand.Permet la traçabilité des actions et la gestion des autorisations.Le Profil utilisateur API correspond à l’entité API api_user.Point de Vente (ou POS)Représentation d’un site web, d’une boutique physique, ou d’une équipe de vente. Ils permettent de segmenter les opérations du Profil Marchand CentralPay à des fins :• Techniques : pour réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom d’expéditeur des emails de confirmation, logo affiché dans la page de paiement…)• Administratives : pour limiter les droits de consultation ou de modification de vos profils utilisateurs BO à certains points de vente• Comptables : pour filtrer les opérations par point de vente dans le Portail Marchand ou dans les exports de donnéesLe Point de vente correspond à l’objet API PointOfSale. 2. Les types de comptes DésignationDescriptionCompte de paiementCompte ouvert dans les livres de CentralPay au nom d’un Marchand. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, versement des fonds vers un compte bancaire…).Il est représenté par l’objet Wallet type PS dans l’API CentralPay.Compte de monnaie électroniqueCompte ouvert dans les livres de CentralPay au nom d’un Marchand. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distributeur (devises CUSTOM).Il est représenté par l’objet Wallet type EM dans l’API CentralPay.Compte de commissionCompte de paiement secondaire permettant d’isoler les flux de commissions et/ou certains prélèvements de frais (selon modèle).Dans le cadre des modèles Partenaire/Mandataire, ce compte peut recevoir les commissions imputées aux transactions des marchands liés/participants, conformément aux règles contractuelles applicables.Il est représenté par l’objet Wallet type CM dans l’API CentralPay.Compte de réserveCompte de paiement secondaire permettant d’isoler des fonds de réserve CentralPay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de versements sortants.Il est représenté par l’objet Wallet type RS dans l’API CentralPay.Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom d’un Agent. Il est dédié à la réception des fonds liés aux opérations initiées via le modèle Agent, avant leur ventilation / transfert vers les comptes de paiement des Marchands Participants. N’est pas autorisé à réaliser de versements sortants.Il est représenté par l’objet Wallet type CL dans l’API CentralPay.Compte de Traitement CentralPayLe Compte de Traitement désigne un mécanisme interne et transitoire utilisé par CentralPay pour recevoir, identifier et traiter temporairement des fonds liés à une opération de paiement, en vue de leur transmission au bénéficiaire final. Il n’est pas un compte de paiement ouvert pour un client, n’est mis à disposition d’aucun tiers et ne confère aucun droit de disposition.Selon les implémentations techniques, ce mécanisme peut être matérialisé par des objets internes (ex. Wallet type TR) utilisés exclusivement par CentralPay pour le traitement opérationnel. 3. Les dénominations d’objets ou d’opérations DésignationDescriptionFrais 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 (selon les conditions contractuelles applicables).Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP…)Devise CUSTOMDevise de monnaie électronique créée pour un Mandataire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO (ex. EUR).Instruction TechniqueDonnée / événement à finalité strictement technique et commerciale transmis à CentralPay (ex. références de commande, panier, commission, évènements logistiques). Une Instruction Technique n’est pas un ordre de paiement et ne déclenche aucun effet financier automatique : CentralPay reste seul décisionnaire du traitement et, le cas échéant, des mises à disposition de fonds.Date de déblocageDate de mise à disposition différée pouvant être appliquée par CentralPay pour rendre des fonds utilisables par un bénéficiaire (ex. après livraison/expédition), selon la politique de risque et les règles applicables. Elle peut être déterminée à partir d’informations commerciales transmises, sans constituer une instruction de paiement.Compte bancaireCompte bancaire externe lié à : • un Profil Marchand pour réaliser des versements sortants (payout) • ou à un Profil client pour réaliser des prélèvements SEPA ou des versements sortants.Il est représenté par l’objet BankAccount dans l’API CentralPay.Versement sortantVirement sortant d’un compte CentralPay vers un compte bancaire externe. Peut être réalisé par SEPA ou SWIFT.Il est représenté par l’objet Payout dans l’API CentralPay.Autorisation CarteOpé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.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.
CentralPay Glossary 1. Types of Actors LabelDescriptionActorAny entity identified on the CentralPay platform. This may be a Merchant Profile, a Point of Sale (POS), a third-party establishment, or CentralPay. Merchant ProfileThe Merchant Profile technically and operationally represents a merchant on the CentralPay platform. It serves as the basis for: • His accounts: Payment Accounts or Electronic Money Accounts;• Administration: API access, User Profiles, available services;• Its technical configuration: webhooks, notifications, Point of Sale (POS) systems, acceptance rules, Bank Accounts;• Its regulatory documentation: KYC/KYB, AML/CFT, risk scoring, contract management, fee schedule…The Merchant Profile corresponds to the API object ` Merchant ` and is created automatically after the registration is validated (via the API object ` Merchant-Enrollment`).Standard MerchantA legal entity or sole proprietorship that is a CentralPay customer and processes payments on its own account when selling goods or services.May be functionally linked to a Technical Partner or Integration Partner.Has a Merchant Profile of the type STANDARD.Partner MerchantA legal entity that is a CentralPay customer, has a Merchant Profile, and may fall under one of the following models:• Technical Partner: operates a shared solution (e.g., marketplace, SaaS platform) and has one or more Points of Sale (POS) open in its name, to which standard Merchants can be linked.Has a Merchant Profile of type TECHNIQUE.• Integration Partner: provides technical support, via access delegated by standard merchants, to facilitate integration and day-to-day operations (without sharing POSes under the partner’s name).Has a Merchant Profile of the type INTEGRATEUR (if applicable).A Partner Merchant may earn commissions (depending on the model) and/or be registered as a MOBSP to assist merchants during onboarding.Intermediary MerchantA legal entity that is a customer of CentralPay, acting on behalf of third-party accounts, under one of the following regulatory statuses:• PSP Agent: A Payment Service Provider (PSP) agent of CentralPay, registered with the ACPR (Bank of France) and authorized to act in the name and on behalf of CentralPay within a contractually defined scope (e.g., debit/credit transactions and transfers on behalf of third-party accounts).Has a Merchant Profile of the type AGENT.• EMD: Electronic Money Distributor registered/declared by CentralPay with the ACPR (Bank of France) for a project involving the issuance, distribution, and exchange of electronic money (CUSTOM currencies).Has a Merchant Profile of type DME.Sub-merchant / ParticipantA legal entity or individual who is a customer of a CentralPay Intermediary Merchant (PSP Agent or EMD).• Sub-merchant: acts to sell products or services, for an LMNP business, • Participant: acts for non-commercial purposes (crowdfunding, personal wallet, collective projects, etc.).Has a specific Merchant Profile BASIC, with a limited scope of functionality.CustomerA natural or legal person who pays or issues a payment order to a CentralPay Merchant (may also be referred to as the payee, payer, or debtor).May or may not have a Customer Profile (Customer).Note: In CentralPay’s regulatory or contractual documents, the term “Customer” may refer to the Merchant itself, depending on the context defined in the document.Customer ProfileRepresents a customer registered by a Merchant on the CentralPay platform. It contains:• the customer’s personal information: last name, first name, email, phone number, company name, etc.• the customer’s payment methods: cards, SEPA direct debits, IBAN, Bank Accounts, etc.• the customer’s activities: payment requests, payment history, etc..The Customer Profile corresponds to the API object Customer.BO User ProfilesIndividuals with access to the CentralPay Merchant Portal to view or manage one or more Merchant Profiles.• Type Legal: the Merchant’s legal representative.• Type Natural: other authorized user (finance, support, development, etc.).The BO User Profile corresponds to the API entity BO_user.API User ProfilesAn entity created via the CentralPay platform that identifies the user (person or system) making API calls on a Merchant Profile.Enables the tracking of actions and the management of authorizations.The API User Profile corresponds to the API entity api_user.Point of Sale (POS)Representation of a website, a brick-and-mortar store, or a sales team. They enable the segmentation of CentralPay Merchant Profile operations for the following purposes: • Features: to configure different settings for each Point of Sale (POS) (customer notifications, internal notifications, sender name for confirmation emails, logo displayed on the checkout page, etc.)• Administrative: to restrict the rights to view or edit your BO User Profiles to certain Points of Sale (POS)• Accountants: to filter transactions by Point of Sale (POS) in the Merchant Portal or in data exportsThe Point of Sale (POS) corresponds to the API object PointOfSale. 2. Types of Accounts LabelDescriptionPayment AccountAn account opened in CentralPay’s books in a Merchant’s name. This account is used exclusively for payment transactions (collecting payments in ISO currencies, performing Payouts to a Bank Account, etc.). It is represented by the ` Wallet ` object of type ` PS ` in the CentralPay API.Electronic Money AccountAn account opened in CentralPay’s books in the name of a Merchant. This account is used exclusively for the storage and exchange of Electronic money within the distributor’s network (CUSTOM currencies). It is represented by the ` Wallet ` object of type ` EM ` in the CentralPay API.Commission AccountA secondary Payment Account used to segregate commission flows and/or certain fee deductions (depending on the model).Under the Partner/Agent models, this account can receive commissions allocated to transactions by affiliated/participating merchants, in accordance with the applicable contractual rules.It is represented by the object ` Wallet ` of type ` CM ` in the CentralPay API.Reserve AccountA secondary Payment Account used to set aside CentralPay reserve funds (account balance, collateral, or Rolling reserve). It is not authorized to make Payouts. It is represented by the ` Wallet ` object of type ` RS ` in the CentralPay API.« Agent » Collection AccountA Payment Account opened in CentralPay’s books in the name of an Agent. It is used to receive funds related to transactions initiated through the Agent model, prior to their allocation or transfer to the Payment Accounts of Participant Merchants. It is not authorized to make payouts. It is represented by the ` Wallet ` object of type ` CL ` in the CentralPay API.CentralPay Technical Partner AccountThe Technical Partner Account refers to an internal, temporary mechanism used by CentralPay to receive, identify, and temporarily process funds related to a payment transaction, with a view to transferring them to the final Beneficiary. It is not a Payment Account opened for a customer, is not made available to any third party, and does not confer any right of disposal. Depending on the technical implementation, this mechanism may be implemented using internal objects (e.g., Wallet of type TR) used exclusively by CentralPay for operational processing. 3. The names of objects or operations LabelDescriptionCentralPay FeesAll fees owed to CentralPay, deducted from the corresponding transactions, debited from a dedicated Commission Account, or billed at the end of the month (depending on the applicable contractual terms).ISO CurrenciesStandard currencies in accordance with ISO 4217 (e.g., EUR, USD, CHF, GBP…)CUSTOM CurrencyElectronic money created for a CentralPay EMD. The value of the CUSTOM currency is always pegged to that of an ISO currency (e.g., EUR). Technical InstructionData or events for strictly technical and commercial purposes transmitted to CentralPay (e.g., order references, shopping cart, commission, logistics events). A Technical Instruction is not a payment order and does not trigger any automatic financial action: CentralPay retains sole discretion over the processing and, where applicable, the release of funds. Release dateA deferred availability date that CentralPay may apply to make funds available to a Beneficiary (e.g., after delivery/shipment), in accordance with applicable risk policies and rules. It may be determined based on submitted commercial information, without constituting a payment instruction. Bank AccountExternal Bank Account linked to: • a Merchant Profile for making outgoing Payouts (payout) • or a Customer Profile for making SEPA Direct Debits or outgoing Payouts.It is represented by the ` BankAccount ` object in the CentralPay API.Outgoing paymentOutgoing bank transfer from a CentralPay account to an external Bank Account. Can be made via SEPA or SWIFT.It is represented by the » Payout » object in the CentralPay API. Card AuthorizationAn operation to check the availability of funds on a credit card, followed by a hold in anticipation of a Card Transaction (max. 7 days).It is represented by the ` Transaction ` object in the CentralPay API.Card TransactionA debit transaction from a bank card, credited to a CentralPay account.It is represented by the ` Transaction ` object in the CentralPay API.SCT TransactionOperation to receive a SEPA or SWIFT bank transfer credited to a CentralPay account.It is represented by the » sctTransaction » object in the CentralPay API.SDD TransactionA transaction that debits a Bank Account and credits a CentralPay account.It is represented by the ` sddTransaction ` object in the CentralPay API.
Portail Marchand Le Portail Marchand est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre Profil Marchand CentralPay. Les marchands Partenaires et Mandataires peuvent également consulter l’activité des profils de leurs marchands standards et participants. Accès : Recette Portail Marchand Production Portail Marchand 1. Fonctionnalités Le Portail Marchand 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 versement sortant (« payout ») De générer des exports et de télécharger les rapports financiers mensuels Pour les marchands Partenaires et Mandataires uniquement : De créer et de consulter les demandes d’inscription (« merchant-enrollment ») De consulter l »activité des profils marchands standards ou participants associés ℹ️ Les comptes ayant des droits "Basic" (marchands participants de mandataires CentralPay) peuvent uniquement consulter les opérations dont ils sont bénéficiaires (transfer) et gérer leurs paramètres de versement (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 Marchand. 2.1. Gestion des profils utilisateurs « Legal » et « Natural » Lors de la création du Profil Marchand CentralPay, le responsable ayant réalisé l’inscription (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 versements sur compte bancaire Mise à jour des documents de société Paramètres des utilisateurs : Création de nouveaux utilisateurs « Legal » Prochainement 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 ». ℹ️ 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. Accès : Recette Portail Marchand – Gestion des profils utilisateurs BO Recette Portail Marchand – Gestion des profils utilisateurs BO 2.2. Gestion des rôles et droits des profils utilisateurs « Natural » 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 Marchand (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 du Portail Marchand, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API… Standard read only : Prochainement Prochainement 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 Accès : Recette Portail Marchand – Gestion des rôles utilisateurs BO Production Portail Marchand – Gestion des rôles utilisateurs BO 2.3. 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. Accès : Recette Portail Marchand – Gestion des catégories de point de vente Production Portail Marchand – Gestion des catégories de point de vente 3. Liste des types d’opérations visibles sur le Portail Marchand Type d’objetValeurFonctionAUTHORIZATIONDébitAutorisation de blocage d’un montant d’une carte bancaireTRANSACTIONCréditTransaction carteTRANSACTION_CANCELDébitAnnulation de transaction carteREFUNDCréditRemboursement transaction carteREFUND_CANCELDébitAnnulation d’un remboursement transaction carteDISPUTEDébitImpayé suite à la contestation d’une transaction carteDISPUTE_WONCréditAnnulation d’un impayé carteTRANSFERDébitTransfert de fonds entre comptes CentralPayTRANSFER_CANCELCréditAnnulation transfert en attenteTRANSFER_REVERSALCréditRetour d’un transfert validéPAYOUTDébitVirement sortant du compte CentralPayPAYOUT_CANCELCréditAnnulation d’un virement sortantPAYOUT_REVERSALCréditRetour d’un virement sortant validéSCT_TRANSACTIONCréditVirement entrantSCT_TRANSACTION_CANCELDébitAnnulation virement entrant avant son arrivéeSCT_TRANSACTION_REFUNDDébitAnnulation virement entrant après son arrivée par le marchandSCT_TRANSACTION_REVERSALDébitAnnulation virement entrant après son arrivée par CentralPayCREDITDébitCrédit sur carte non lié à une transactionCREDIT_CANCELCréditAnnulation d’un crédit sur carteSDD_TRANSACTIONCréditPrélèvement SEPA d’un compte bancaire externeSDD_TRANSACTION_CANCELDébitAnnulation d’un prélèvement d’un compte externe avant son arrivéeSDD_TRANSACTION_REVERSALDébitRemboursement d’un prélèvement d’un compte externe après son arrivéeDEPOSITCréditChargement d’une somme sur un compte CentralPay Articles Guide : Mes comptes Guide : Mes comptes L’entrée Mes comptes du Portail Marchand CentralPay est l’espace dédié au suivi financier de vos comptes (comptes rattachés à votre Profil Marchand) : consultation des informations de compte, suivi des opérations réalisées et à venir, lecture des soldes historisés, et téléchargement des relevés mensuels officiels. Cette rubrique est particulièrement utile pour les équipes comptables, la direction financière et les personnes en charge du rapprochement et des clôtures. Accéder au Portail Marchand > Mes comptes 1. Sous-entrées disponibles La rubrique Mes comptes se compose de 4 sous-entrées : Vue d’ensemble Opérations (incluant l’onglet Opérations à venir) Solde Relevés de compte ℹ️ Selon votre profil ou votre configuration, l’accès à certaines sous-entrées peut varier. La logique fonctionnelle reste identique. 2. Vue d’ensemble La sous-entrée Vue d’ensemble permet d’identifier rapidement le compte sélectionné et d’obtenir une lecture immédiate de sa situation financière. 2.1. Informations de compte Vous y retrouvez notamment les informations clés du compte : Titulaire du compte IBAN et BIC Devise Type de compte Libellé du compte (sélecteur utile si plusieurs comptes sont rattachés à votre profil marchand) 2.2. Solde temps réel Le bloc Solde temps réel donne une vision instantanée du solde, avec une distinction utile pour la gestion quotidienne : Fonds disponibles (Valeur immédiatement accessible sur votre compte) Débits programmés (Montants des reversements et R-transactions programmés à une date ultérieure) ℹ️ Selon votre configuration, un « solde de compte de réserve » peut également être affiché. 2.3. Évolution sur période Un graphique permet d’observer l’évolution sur une période en combinant : le solde les opérations à venir (vision prévisionnelle) 3. Opérations La sous-entrée Opérations affiche la liste des mouvements affectant le compte, avec un onglet Opérations à venir pour les mouvements attendus mais non encore réalisés. C’est la vue principale pour le rapprochement comptable et la production d’exports. 3.1. Deux notions de date à connaître Pour une lecture comptable fiable, la vue distingue généralement : Date de valeur : date à laquelle l’opération est considérée comme effective sur le plan financier/comptable (très utilisée pour le rapprochement et les clôtures). Date d’opération : date/heure de l’évènement (utile pour investiguer une chronologie ou recouper un historique). ℹ️ Recommandation : pour une clôture ou un rapprochement, partez plutôt de la « date de valeur ». Pour une investigation, la « date d’opération » est souvent plus parlante. 3.2. Rechercher une opération Le moteur de recherche permet de retrouver rapidement une opération à partir d’un critère comptable, d’une référence ou d’un identifiant. Filtres essentiels FiltreÀ quoi ça sertParticularités / Bonnes pratiquesCompteRestreindre l’affichage aux opérations d’un compte spécifique.Indispensable si plusieurs comptes sont rattachés à votre profil. Commencez par sélectionner le compte avant d’appliquer d’autres filtres.Période (date de valeur)Filtrer les opérations sur une période comptable de référence.Base de travail pour les clôtures et le rapprochement. Recommandé : définissez toujours une période avant d’ajouter des critères plus fins (référence, montant, etc.).MontantRechercher une ou plusieurs opérations correspondant à un montant précis.À combiner avec Compte et Période pour éviter trop de résultats, surtout si vous avez un volume d’opérations de même montant important.RéférenceRetrouver une opération via votre référence métier personnalisée (commande, facture, identifiant interne, etc.).Très utile si vos équipes utilisent un identifiant commun entre votre système et CentralPay. Peut aussi servir à regrouper plusieurs lignes liées à un même évènement selon votre paramétrage.Operation IDRechercher une opération via son identifiant CentralPay unique.Le filtre le plus précis : un Operation ID correspond à une ligne unique. À privilégier pour les investigations support/audit lorsque l’identifiant est connu.LibelléRechercher une opération à partir de son intitulé descriptif (recherche par mots-clés).Utile lorsque vous ne disposez pas d’un identifiant (Operation ID, référence). Pratique pour retrouver une opération “à partir de ce qui est visible” dans la liste.TypeIsoler une famille d’opérations (carte, virement, prélèvement, remboursement, contestations, etc.).Idéal pour analyser un périmètre (ex. uniquement les virements entrants) ou préparer un export ciblé avant rapprochement. Filtres avancés Les filtres avancés sont utiles pour les investigations (support/audit), l’analyse de reversements et les exports comptables. Le tableau ci-dessous résume leur objectif et leurs particularités. FiltreÀ quoi ça sertParticularités / Bonnes pratiquesNatureQualifier l’origine comptable et fonctionnelle d’une opération afin de distinguer rapidement les écritures Frais, Fonds et Gestion. Frais : opérations liées aux coûts et commissions débités ou crédités sur le compte, associés à l’utilisation des services (ex. frais d’opérations, commissions, remboursements ou corrections de frais). Fonds : opérations correspondant aux flux financiers qui entrent ou sortent du compte dans le cadre de son activité (ex. transactions clients, versements sortants, remboursements de transaction). Gestion : opérations internes CentralPay réalisées pour ajuster ou sécuriser le solde du compte (ex. mouvements de réserve, gage espèces, ajustements techniques ou écritures de régularisation). Source IDRegrouper des opérations liées entre elles (ex. une autorisation carte, la transaction associée, et son remboursement) afin d’analyser un parcours complet. Le Source ID est un identifiant permettant de regrouper différentes opérations liées. Vous pouvez soit : • cliquer sur « Filtrer par ce Source ID » depuis une opération de la liste des résultats ; • ou renseigner le Source ID dans le moteur de recherche afin d’afficher toutes les opérations rattachées à ce même identifiant. Numéro de payoutRetrouver toutes les opérations liées à un reversement (payout) et en analyser la composition (fonds, frais, ajustements…). Ce filtre regroupe toutes les opérations rattachées à un même reversement (payout), ce qui permet d’en comprendre le détail et la composition. Comment obtenir le numéro de payout ? • Recherchez l’opération de versement sortant (PAYOUT), ouvrez son détail (bouton d’action), puis cliquez sur « Voir les opérations du payout » : le portail applique automatiquement le filtre et affiche les opérations concernées. • À défaut, vous pouvez le déduire depuis la référence du versement sortant : les derniers chiffres correspondent au numéro de payout (ex. PAYOUT-7usge67-153 → numéro de payout = 153). À noter : le détail des opérations d’un versement sortant est disponible uniquement lorsque les payouts automatiques sont activés. Le premier payout automatique peut ne pas afficher le détail attendu (calibrage du mode de calcul). Tiers(Tiers / Type tiers / ID tiers / Pays tiers)Filtrer les opérations selon la contrepartie impliquée (autre que vous), pour analyser des flux par acteur.Le tiers est la personne morale ou physique impliquée dans l’opération autre que vous (par exemple un client, CentralPay, un autre marchand, un compte externe…). Vous pouvez filtrer soit : • par Tiers : nom du tiers (champ libre) ; • par ID tiers : identifiant CentralPay du tiers (par exemple CustomerID ou MerchantID), pour une recherche précise ; • par Type tiers : un des quatre types suivants : Customer, Marchand, CentralPay, Compte externe ; • par Pays tiers : pays dans lequel le tiers est déclaré (par exemple selon la région d’émission de sa carte si c’est un Customer), ce qui peut être utile notamment pour certains besoins de reporting (ex. déclarations de TVA). 3.3. Synthèse débits / crédits La page présente une synthèse des débits et crédits sur la période filtrée (volume et montant), avec une ventilation possible par nature d’opération (frais, fonds, gestion). Cette lecture permet de vérifier rapidement la cohérence d’une période avant export. 3.4. Exports comptables personnalisés Depuis la vue Opérations, vous pouvez générer des exports aux formats CSV, Excel ou JSON. Le principe est simple : Paramétrez votre recherche (compte, période, filtres utiles). Lancez la recherche, puis cliquez sur Exporter. Vous recevez le fichier par email et pouvez le télécharger à tout moment depuis le Portail Marchand (rubrique Fichiers d’export). Voir la documentation : Exports comptables et relevés de compte 4. Solde La sous-entrée Solde fournit une vision historisée des soldes par compte, structurée par date de valeur (lecture « fin de journée »). Vous y retrouvez généralement : Solde de clôture (fin de journée) Opérations à venir (agrégat des mouvements attendus) Solde prévisionnel (solde tenant compte des opérations à venir) ℹ️ Cas d’usage : justifier un solde « à date » (clôture, contrôle interne), ou comparer une situation constatée vs prévisionnelle. 5. Relevés de compte La sous-entrée Relevés de compte donne accès aux relevés mensuels officiels de votre compte CentralPay. Ces documents sont les justificatifs de référence pour la comptabilité et les preuves administratives. Chaque début de mois, en plus de la facture, un relevé de compte est généré et mis à disposition dans l’espace sécurisé : Mes comptes > Relevés de compte. Deux types de relevés peuvent être proposés : Relevé détaillé : fait apparaître l’ensemble des opérations de la période. Relevé synthétique : regroupe les opérations par jour et par type d’opération. ⚠️ Si vous possédez un grand nombre d’opérations, il est possible que toutes n’apparaissent pas sur le relevé détaillé. Dans ce cas, nous vous conseillons de réaliser un export au format CSV, Excel ou JSON. Voir la documentation : Exports comptables et relevés de compte 6. Actions fréquentes 6.1. Clôture mensuelle Allez dans Opérations, filtrez par Compte et Période (date de valeur). Vérifiez la synthèse débits / crédits et la ventilation par nature (frais / fonds / gestion). Générez un export comptable (colonnes adaptées à votre rapprochement). Ou téléchargez directement le relevé mensuel dans Relevés de compte pour archivage et justificatif officiel (1 relevé par compte). 6.2. Rapprochement des opérations liée à un versement sortant (payout) Allez dans Mes comptes > Opérations et, si besoin, sélectionnez d’abord le Compte concerné. Retrouvez l’opération de versement sortant (PAYOUT), ouvrez son détail (bouton d’action), puis cliquez sur « Voir les opérations du payout » : le Portail applique automatiquement le filtre Numéro de payout et affiche uniquement les opérations rattachées à ce versement. Analysez la composition du versement à l’aide du filtre Nature pour distinguer les lignes de Fonds, Frais et Gestion (ajustements), puis vérifiez la cohérence du montant global. Si nécessaire, générez un export (CSV / Excel / JSON) afin d’archiver le détail du payout ou de l’intégrer à votre rapprochement. ℹ️ Alternative : le numéro de payout peut aussi être déduit de la référence du versement sortant (ex. PAYOUT-7usge67-153 → numéro de payout = 153). ⚠️ Le détail des opérations d’un versement sortant est disponible uniquement lorsque les payouts automatiques sont activés. Le premier payout automatique peut ne pas afficher le détail attendu (calibrage du mode de calcul). 6.3. Justifier un solde à date Allez dans Solde pour retrouver le solde de clôture à la date souhaitée. Complétez si nécessaire par le relevé mensuel dans Relevés de compte.
Merchant Portal The Merchant Portal is a web interface connected to CentralPay’s APIs. It allows you to view activity and manage your CentralPay Merchant Profile. Partner and Intermediary merchants can also view the activity of their standard and Participant merchants’ profiles. Access: Recette Merchant Portal Production Merchant Portal 1. Features The Merchant Portal allows you to: To view the accounting transactions for the account To view card payments (« Card Transactions ») View SEPA bank transfer payments (« sctTransaction ») To view SEPA Direct Debit payments (« sddTransaction ») To create and view payment requests (« paymentRequest ») To create and configure Customer Profiles To create and configure Point of Sale (POS) Configure Smart Push notifications (templates, scenarios, etc.) To set up and manage payout settings To generate exports and download monthly financial reports For Partner Merchants and Intermediary Merchants only: To create and view enrollment requests (« merchant-enrollment ») View the activity of standard Merchant Profiles or associated Participants Merchants ℹ️ Accounts with "Basic" privileges (Participant Merchants through CentralPay intermediaries) can only view transactions in which they are the Beneficiaries (transfer) and manage their Payout settings (payout). 2. User Profiles on the Portal They represent individuals who have access to one or more CentralPay accounts as well as to all or some of the Merchant Portal’s services. 2.1. Management of « Legal » and « Natural » User Profiles When creating a CentralPay Merchant Profile, the person responsible for completing the registration (an executive or an individual with delegated authority) is assigned a User Profile known as “Legal.” This person thus has full administrator rights for the account, as well as legal authority to configure the account’s most sensitive settings: Payment Account Settings: Change to the Outgoing IBAN (Payout) Change in the Terms for Bank Account Payouts Updating Corporate Documents User Settings: Creating New « Legal » Users Coming Soon Once the account has been created, you can create as many User Profiles as needed by entering their last name, first name, email address, and user role (which defines the permissions they will have on the account). The User Profiles created in this way are named « Natural. » ℹ️ If you have multiple CentralPay accounts and your teams need access to them, create their User Profiles in one of those accounts, then ask CentralPay to assign those profiles to your other accounts. This will give them a single, centralized point of access for all those accounts. Access: Recette Merchant Portal – BO User Profile Management Recette Merchant Portal – BO User Profile Management 2.2. Managing Roles and Permissions for « Natural » User Profiles The permissions for « Natural » user profiles are governed by their user role. The role includes a list of permissions (read-only, create, edit, delete) that can be configured by service (transactions, payment requests, acceptance rules, etc.). These permissions may vary depending on the selected services. Users with the necessary permissions can create roles for each team in their company; however, predefined roles are available out of the box: Standard Admin: Full access to all Merchant Portal features (except for admin features). Please note that this role includes access to sensitive services such as acceptance rules, whitelists, blacklists, creating Merchant Portal users, creating Merchant Portal user roles, and creating and managing API users… Standard Read-Only: Coming soon Coming Soon Contact CentralPay customer service if you need help creating custom roles. Some important details regarding the roles: Roles can be combined; a user can therefore be assigned multiple roles Role permissions are inheritable; therefore, a user with the permission to create other User Profiles can only assign a role that is the same as or lower than their own. Access: Recette Merchant Portal – BO User Role Management Production Merchant Portal – BO User Role Management 2.3. Managing POS Categories If you need to restrict user access to certain POS locations, you can create categories, assign them to your POS locations, and then assign them to your User Profiles. Example: A user with permissions to create payment requests can only do so for the POS locations in their category. They can also view only the payment requests issued through the POS locations in their category. Contact CentralPay customer service if you need help creating custom POS categories. Access: Recette Merchant Portal – Point of Sale (POS) Category Management Production Merchant Portal – Point of Sale (POS) Category Management 3. List of transaction types visible on the Merchant Portal Object TypeValueFunctionAUTHORIZATIONFlow RateAuthorization to place a hold on a credit card balanceTRANSACTIONCreditCard TransactionTRANSACTION_CANCELFlow RateCard Transaction CancellationREFUNDCreditCard Transaction RefundREFUND_CANCELFlow RateCancellation of a Card Transaction RefundDISPUTEFlow RateUnpaid payment due to a Chargeback on a Card TransactionDISPUTE_WONCreditCancellation of an Unpaid Credit Card BalanceTRANSFERFlow RateTransferring Funds Between CentralPay AccountsTRANSFER_CANCELCreditCancellation of Pending TransferTRANSFER_REVERSALCreditConfirmed return of a transferPAYOUTFlow RateOutgoing bank transfer from the CentralPay accountPAYOUT_CANCELCreditCanceling an Outgoing Bank TransferPAYOUT_REVERSALCreditConfirmed Return of an Outgoing Bank TransferSCT_TRANSACTIONCreditIncoming Bank transferSCT_TRANSACTION_CANCELFlow RateCanceling an Incoming Bank Transfer Before It ArrivesSCT_TRANSACTION_REFUNDFlow RateCancellation of an Incoming Bank Transfer After It Has Been Received by the MerchantSCT_TRANSACTION_REVERSALFlow RateCanceling an Incoming Bank Transfer After It Has Been Processed by CentralPayCREDITFlow RateCard credit not associated with a transactionCREDIT_CANCELCreditCanceling a credit card balanceSDD_TRANSACTIONCreditSEPA Direct Debit from an External Bank AccountSDD_TRANSACTION_CANCELFlow RateCanceling a direct debit from an external account before it is processedSDD_TRANSACTION_REVERSALFlow RateRefund of a debit from an external account after it has been postedDEPOSITCreditDepositing Funds into a CentralPay Account Articles Guide: My Accounts Guide: My Accounts The “My Accounts” section of the CentralPay Merchant Portal is where you can manage your accounts (those linked to your Merchant Profile): view account information, track completed and upcoming transactions, review historical balances, and download official monthly statements. This section is particularly useful for accounting teams, the finance department, and those responsible for account reconciliation and month-end closings. Go to the Merchant Portal > My Accounts 1. Available subentries The » My Accounts » section consists of 4 sub-entries: Overview Transactions (including the » Upcoming Transactions » tab) Balance Account Statements ℹ️ Depending on your profile or settings, access to certain sub-entries may vary. The functional logic remains the same. 2. Overview The « Overview » sub-section allows you to quickly identify the selected account and get an immediate snapshot of its financial status. 2.1. Account Information There you’ll find, among other things, key account information: Account owner IBAN and BIC Currency Account type Account Name (a useful filter if multiple accounts are linked to your Merchant Profile) 2.2. Real-Time Balance The « Real-Time Balance » section provides an instant overview of the balance, with a distinction that is useful for day-to-day management: Available Funds (Amount immediately available in your account) Scheduled Transactions (Scheduled Payouts and R-Transactions Scheduled for a Future Date) ℹ️ Depending on your settings, a "reserve account balance" may also be displayed. 2.3. Changes Over Time A graph allows you to observe trends over a period of time by combining: the balance Upcoming Operations (Forecast) 3. Operations The « Transactions » sub-tab displays a list of transactions affecting the account, with a « Upcoming Transactions » tab for transactions that are expected but have not yet been processed. This is the main view for account reconciliation and generating exports. 3.1. Two Date Concepts You Should Know To ensure reliable accounting data, the view generally distinguishes between: Value date: the date on which a transaction is considered to have taken effect for financial and accounting purposes (widely used for reconciliation and financial closings). Transaction Date: Date and time of the event (useful for investigating a timeline or cross-referencing a history). ℹ️ Recommendation: For closing or reconciliation, it’s best to use the “value date.” For an investigation, the “transaction date” is often more meaningful. 3.2. Search for a transaction The search engine allows you to quickly find a transaction based on an accounting criterion, a reference, or an identifier. Essential Filters FilterWhat is it used for?Key Features / Best PracticesAccountLimit the display to transactions for a specific account.This is essential if you have multiple accounts linked to your profile. Start by selecting the account before applying other filters. Period (value date)Filter transactions by a reference accounting period.Working basis for filtering and matching. Recommended: Always specify a time period before adding more specific criteria (reference, amount, etc.). AmountSearch for one or more transactions that match a specific amount.Combine this with » Account » and » Period » to avoid getting too many results, especially if you have a large number of transactions for the same amount.ReferenceFind a transaction using your custom business reference (order, invoice, internal ID, etc.).This is very useful if your teams use a shared ID between your system and CentralPay. It can also be used to group multiple lines related to the same event, depending on your settings. Operation IDSearch for a transaction using its unique CentralPay ID.The most precise filter: Each Operation ID corresponds to a single row. Best used for support or audit investigations when the ID is known. WordingSearch for a transaction by its descriptive title (keyword search).Useful when you don’t have an identifier (Operation ID, reference). Handy for finding an operation “based on what’s visible” in the list. TypeIdentify a category of transactions (credit cards, Bank transfers, direct debits, refunds, Chargebacks, etc.).Ideal for analyzing a specific scope (e.g., only incoming bank transfers) or preparing a targeted export before reconciliation. Advanced Filters Advanced filters are useful for investigations (support/audit), analysis of payouts, and accounting exports. The table below summarizes their purpose and features. FilterWhat is it used for?Key Features / Best PracticesNatureIdentify the accounting and functional origin of a transaction in order to quickly distinguish between Expense, Fund, and Management journal entries. Fees: Transactions related to costs and commissions debited or credited to the account, associated with the use of services (e.g., transaction fees, commissions, refunds, or fee adjustments). Funds: Transactions corresponding to cash flows entering or leaving the account as part of its activity (e.g., customer transactions, Payouts, refunds). Management: Internal CentralPay transactions carried out to adjust or secure the account balance (e.g., reserve transfers, cash pledges, technical adjustments, or adjusting entries). Source IDGroup related transactions together (e.g., a Card Authorization, the associated transaction, and its Refund) in order to analyze the entire customer journey. The Source ID is an identifier used to group related transactions. You can either: • click “Filter by this Source ID” from a transaction in the results list; • or enter the Source ID in the search bar to display all transactions associated with that identifier. Payout NumberView all transactions related to a payout and analyze their breakdown (funds, fees, adjustments, etc.). This filter groups together all transactions associated with a single Payout, making it easier to understand the details and breakdown of that Payout. How do I get the payout number? • Search for thePayout transaction, open its details (action button), then click “View Payout transactions ”: the portal automatically applies the filter and displays the relevant transactions. • Alternatively, you can derive it from the Payout reference: the last digits correspond to the payout number (e.g., PAYOUT-7usge67-153 → payout number = 153). Please note: Details of a payout are available only when automatic payouts are enabled. The first automatic payout may not display the expected details (due to calculation method calibration). Third Party(Third Party / Third-Party Type / Third-Party ID / Third Country)Filter transactions by the counterparty involved (other than you) to analyze cash flows by party.A third party is any legal entity or individual involved in the transaction other than you (for example, a customer, CentralPay, another Merchant, an external account, etc.). You can filter by either: • By a third party: name of the third party (free-form field); • by third-party ID: the third party’s CentralPay identifier (e.g., CustomerID or MerchantID), for a precise search; • By third-party type: one of the following four types: Customer, Merchant, CentralPay, External Account; • By Third-Party Country: the country in which the third party is registered (for example, based on the region where their card was issued if they are a Customer), which can be particularly useful for certain reporting requirements (e.g., VAT filings). 3.3. Debits and Credits Summary This page provides a summary of debits and credits for the filtered period (volume and amount), with the option to break them down by transaction type (expenses, funds, management). This overview allows you to quickly verify the consistency of a period before exporting the data. 3.4. Custom Accounting Exports From the Operations view, you can generate exports in CSV, Excel, or JSON formats. The process is simple: Set your search criteria (account, time period, useful filters). Start the search, then click Export. You will receive the file via email and can download it at any time from the Merchant Portal (under » Export Files« ). See the documentation: Accounting exports and account statements 4. Balance The « Balance » sub-entry provides a historical view of account balances, organized by value date (end-of-day view). You’ll usually find the following there: Closing Balance (End of Day) Upcoming Transactions (Aggregate of Expected Movements) Projected balance (balance reflecting future transactions) ℹ️ Use case: to verify a “current” balance (for closing the books, internal control), or to compare an actual balance with a projected balance. 5. Account statements The « Account Statements » sub-section provides access to the official monthly statements for your CentralPay account. These documents serve as the primary records for accounting purposes and as official documentation. At the beginning of each month, in addition to the invoice, an account statement is generated and made available in the secure area: My Accounts > Account Statements. Two types of statements may be offered: Detailed statement: Shows all transactions for the period. Summary Statement: Groups transactions by day and by transaction type. ⚠️ If you have a large number of transactions, not all of them may appear on the detailed statement. In this case, we recommend exporting the data in CSV, Excel, or JSON format. See the documentation: Accounting exports and account statements 6. Common Actions 6.1. Monthly Closing Go to » Transactions, » and filter by » Account » and » Period » (value date). Review the summary of debits and credits and the breakdown by category (expenses, funds, and administration). Generate an accounting export (with columns tailored to your reconciliation process). Or download the monthly statement directly from » Account Statements » for your records and as an official document (1 statement per account). 6.2. Reconciliation of transactions related to a payout Go to » My Accounts » > » « Transactions, » and, if necessary, select the relevant account first. Locate the payout transaction (PAYOUT), open its details (action button), then click “View payout transactions ”: the Portal automatically applies the “Payout Number ” filter and displays only the transactions associated with that payout. Analyze the breakdown of the payout using the « Type » filter to distinguish between the » Funds, » » Fees, » and « Management » (adjustments) lines, then verify that the total amount is correct. If necessary, generate an export (CSV / Excel / JSON) to archive the payout details or perform Integration with your reconciliation. ℹ️ Alternative: The payout number can also be derived from the payout reference (e.g., PAYOUT-7usge67-153 → payout number = 153). ⚠️ Transaction details for a payout are available only when automatic payouts are enabled. The first automatic payout may not display the expected details (due to calculation method calibration). 6.3. Justify a balance as of a specific date Go to » Balance » to find the closing balance as of the desired date. If necessary, supplement this with the monthly statement in « Account Statements. »
Marchand standard Le modèle Marchand standard s’adresse aux entreprises (personnes morales) qui souhaitent utiliser la plateforme CentralPay pour encaisser des paiements pour leur propre compte dans le cadre d’une activité de vente de biens ou de services. 1. Description du modèle Ce modèle vous donne accès à l’ensemble des services de Smart Collection, la solution d’encaissement complète proposée par CentralPay. 🔗 Plus d’informations sur Smart Collection Les fonctionnalités incluses sont les suivantes : Le Profil Marchand CentralPayUn profil marchand standard contenant un ou plusieurs comptes de paiement dédiés à votre activité, avec IBAN individuel, suivi des opérations et des versements. Les services liés au compteOutils de gestion, profils utilisateurs, accès API, notifications, reporting… Le service d’encaissement SmartCentralisation de vos flux, routage automatisé, gestion des statuts et des versements. Transactions par carte bancaireAcceptation Visa/Mastercard, 3D Secure, Apple Pay/Google Pay, gestion des remboursements et des contestations. Transactions par virementGénération d’IBAN virtuels, notifications de réception, rapprochements automatiques. Transactions par prélèvement SEPADébits ponctuels ou récurrents, gestion des mandats, suivi des rejets. 2. Frais et commissions Des commissions fixes et variables sont appliquées en fonction des opérations réalisées (transactions, versements, rejets, etc.). Vous pouvez consulter les tarifications publiques sur notre site. Les frais sont débités : Soit directement de votre compte de paiement principal Soit depuis un compte de commission dédié, si celui-ci est activé En cas de solde insuffisant, CentralPay pourra procéder à un prélèvement SEPA sur votre compte bancaire ou vous adresser une demande de virement complémentaire.
Standard Merchant The standard Merchant plan is intended for businesses (legal entities) that wish to use the CentralPay platform to collect payments on their own account as part of their business selling goods or services. 1. Model Description This plan gives you access to all of Smart Collection’s services—the comprehensive payment processing solution offered by CentralPay. 🔗 More information about Smart Collection The included features are as follows: The CentralPay Merchant ProfileA standard Merchant Profile that includes one or more Payment Accounts dedicated to your business, with individual IBANs, transaction tracking, and payout tracking. Account-related services Management tools, user profiles, API access, notifications, reporting… The Smart payment service Centralization of your flows, automated routing, management of statuses and payments. Card Transaction: Accepts Visa and Mastercard, 3D Secure, Apple Pay and Google Pay, and handles refunds and chargebacks. Transactions by bank transfer Generation of virtual IBANs, receipt notifications, automatic reconciliations. SEPA Direct Debit TransactionsOne-time or recurring debits, mandate management, and tracking of rejections. 2. Fees and Commissions Fixed and variable fees are charged based on the types of transactions performed (transactions, payouts, Rejections, etc.). You can view our published fee schedule on our website. Fees are charged: Either directly from your primary Payment Account Or from a dedicated Commission Account, if it is enabled If there are insufficient funds, CentralPay may process a SEPA Direct Debit from your Bank Account or send you a request for an additional Bank transfer.
Transaction par virement Articles Informations générales IBAN Virtuels Transaction par virementsctTransaction Pay by Bank - Initiation de paiement (PIS) Rapprochement à une demande de paiementbankReconciliation R-transaction SCTrefund Virements internationaux Retours, statuts et webhooks Informations générales 1. Fonctionnement 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 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é 1. Consulter l’IBAN Virtuel de ses comptes Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail Marchand Administration Comptes IBAN/BIC : Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 2. 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 Marchand Administration Comptes UUID : Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 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 est CEAYFR22 3. 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 Marchand Administration Comptes UUID : Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 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. 4. 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. Fonctionnement 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 : AutomatiquementSi 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 TransactionSi 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 paiementSi 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 Marchand 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 Pay by Bank - Initiation de paiement (PIS) 1. Fonctionnement Le service d’initiation de paiement (PIS – Payment Initiation Service) permet à vos clients de réaliser un virement bancaire directement depuis leur environnement bancaire, sans avoir à saisir manuellement les coordonnées du bénéficiaire. Cette fonctionnalité repose sur le protocole Open Banking, en conformité avec la DSP2. Chez CentralPay, ce service est proposé sous l’intitulé Pay by Bank et est actuellement accessible uniquement via le formulaire de paiement hébergé (SmartForm), dans le cadre de l’utilisation du service PaymentRequest. ℹ️ Le service est uniquement disponible via le Smart Form (PaymentRequest). Il n’est pas encore possible d’utiliser ce mode de paiement en tant que moyen unique, il est toujours présenté en complément du service de paiement par virement traditionnel. L’expérience de paiement dépend des interfaces de la banque du client payeur. 2. Activation du service L’initiation de paiement n’est pas activée par défaut. Pour en bénéficier, il est nécessaire d’en faire la demande auprès des équipes support de CentralPay. 3. Utilisation via PaymentRequest Pour permettre à vos clients d’initier un virement directement depuis le formulaire de paiement, vous devez : Créer une PaymentRequest selon les modalités habituelles. Inclure le moyen de paiement suivant dans la propriété payment_methods :• PIS Standard « payment_methods » : [« SCT_TRANSACTION_PIS »]• PIS IP « payment_methods » : [« SCT_TRANSACTION_PIS_IP »] Lorsque ce moyen de paiement est présent, le Smart Form proposera à l’utilisateur un choix entre : Le virement bancaire classique (affichage des coordonnées bancaires à recopier) L’initiation de paiement via son environnement bancaire (Pay by Bank) ℹ️ Il n’est pas possible à ce stade de forcer l’utilisation exclusive de l’initiation de paiement. Le formulaire affichera toujours l’alternative avec les coordonnées bancaires classiques. 4. Parcours utilisateur L’utilisateur sélectionne « Pay by Bank » dans le formulaire Il choisit sa banque dans la liste proposée Il est redirigé vers l’environnement de sa banque pour valider l’opération de virement Une fois le paiement initié, il est redirigé vers votre page de retour 5. Suivi et statuts Une fois la PaymentRequest créée, le statut du virement est disponible via l’API comme pour tout autre paiement : Le champ payment_method sera valorisé à SCT_TRANSACTION Le champ status indiquera la progression de l’initiation de paiement (par exemple PENDING, SUCCEEDED, FAILED) ℹ️ Comme pour les virements classiques, la finalisation du paiement dépend de l’exécution effective du virement par la banque du client. Le client peut choisir entre réaliser un virement standard (à J+1) ou un virement immédiat. 6. Liste des banques disponibles par pays ℹ️ En environnement de recette, une banque nommée "Connecteur de test" est affichée pour vous permettre de tester le parcours de bout en bout. Attention : le montant maximum autorisé sur ce connecteur de test est de 20 €. Banques françaises : InstitutionStandardInstantanéAllianz Banque✅ Disponible🚫 Non disponibleArkéa Banking Services✅ Disponible🚫 Non disponibleArkéa Banque Entreprises et Institutionnels✅ Disponible✅ DisponibleArkéa Banque Privée✅ Disponible✅ DisponibleAXA Banque✅ Disponible✅ DisponibleBanque BCP✅ Disponible✅ DisponibleBanque Chalus✅ Disponible✅ DisponibleBanque de Savoie✅ Disponible✅ DisponibleBanque des Territoires✅ Disponible🚫 Non disponibleBanque Européenne Crédit Mutuel✅ Disponible✅ DisponibleBanque Populaire✅ Disponible✅ DisponibleBanque Transatlantique✅ Disponible✅ DisponibleBBVA (Non activé)🚫 Non disponible🚫 Non disponibleBforBank✅ Disponible🚫 Non disponibleBNP Paribas✅ Disponible✅ DisponibleBNP Paribas Entreprises✅ Disponible🚫 Non disponibleBNP Paribas Nouvelle-Calédonie (Non activé)🚫 Non disponible🚫 Non disponibleBoursoBank✅ Disponible✅ DisponibleBRED✅ Disponible✅ DisponibleBTP Banque✅ Disponible✅ DisponibleCaisse d’Épargne Particuliers✅ Disponible✅ DisponibleCaisse d’Épargne Professionnels✅ Disponible✅ DisponibleCCMDirect (Non activé)🚫 Non disponible🚫 Non disponibleCIC✅ Disponible✅ DisponibleCIC Banque Privée✅ Disponible✅ DisponibleCrédit Agricole✅ Disponible✅ DisponibleCrédit Coopératif✅ Disponible✅ DisponibleCrédit Maritime✅ Disponible✅ DisponibleCrédit Mutuel✅ Disponible✅ DisponibleCrédit Mutuel de Bretagne✅ Disponible✅ DisponibleCrédit Mutuel du Sud Ouest✅ Disponible✅ DisponibleFortuneo✅ Disponible✅ DisponibleHello bank!✅ Disponible✅ DisponibleING Wholesale Banking✅ Disponible🚫 Non disponibleLa Banque Postale✅ Disponible✅ DisponibleLCL✅ Disponible✅ DisponibleLouvre Banque Privée✅ Disponible✅ DisponibleManager.one✅ Disponible🚫 Non disponibleMemo Bank✅ Disponible✅ DisponibleMonabanq✅ Disponible✅ DisponibleN26✅ Disponible✅ DisponibleNef Pro✅ Disponible🚫 Non disponibleNeuflize OBC (Non activé)🚫 Non disponible🚫 Non disponiblePalatine✅ Disponible✅ DisponibleQonto✅ Disponible🚫 Non disponibleRevolut✅ Disponible🚫 Non disponibleSociété Générale✅ Disponible✅ Disponible 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 Smart Form, 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 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 Marchand. 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 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 Consultez les Statuts Transaction ➝ Consultez les Statuts Refunds ➝ 3. Webhooks liés aux SCT Transactions Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks Refunds ➝ Consultez les Webhooks Customer ➝
Bank Transfer Transaction Articles General information Virtual IBANs Bank Transfer TransactionsctTransaction Pay by Bank - Payment Initiation (PIS) Reconciliation of a payment requestbankReconciliation SCT R-transactionrefund International wire transfers Responses, statuses, and webhooks General information 1. Operation Bank transfers are the most common method of payment for business transactions. They involve the direct transfer of funds from one account (bank or payment account) to another, without using any additional medium, such as a card. The individual or legal entity requesting the transfer is called the payer (or sender), and the one receiving the money is the payee. Unlike a card payment or a SEPA direct debit, only the sender themselves can initiate a wire transfer. To do so, they log in to their bank’s online banking portal, enter the beneficiary’s bank details (IBAN + BIC + account holder’s name), and then specify an amount and a transfer reference. Some important information: The processing time for a standard transfer with CentralPay is 4 to 24 business hours (compared to 24 to 48 business hours at most traditional banks). Starting in October 2024, it will also be possible to receive instant transfers (processed in <5 seconds). The transfer does not pose a significant financial risk to the receiving merchant, since the sender undergoes strong authentication with their bank and therefore cannot dispute the transaction Issuing banks set a settlement limit for wire transfers that is significantly higher than the limit applied to SEPA direct debit transactions or card payments Depending on the features offered by their bank, the sender can set up a recurring transfer or a deferred transfer 2. Accepted Network Types There are two types of bank transfers: SEPA transfers (or SEPA Credit Transfers): Used for transactions in euros between two member countries of the SEPA area (= 27 European Union countries + the United Kingdom, Monaco, Andorra, the Vatican, Switzerland, Liechtenstein, Norway, Iceland, and San Marino) International wire transfers: Used for international transactions in euros or other currencies via the SWIFT network The fees for SEPA networks are very favorable (just a few tenths of a cent, compared to several tens of euros for SWIFT). SWIFT, however, offers several options for paying these fees: they can be borne by the sender, the recipient, or shared between the two. CentralPay is accessible to all banks in the European Economic Area that use the SEPA networks (via STEP2 for SCT/SDD, as well as TIPS and RT1 for “Instant SCT”). Only transfers made through international networks or in currencies other than the euro are not currently accepted (via the SWIFT network, for example). Virtual IBANs Payment by bank transfer requires the customer making the payment to provide the bank details (IBAN + BIC + account holder’s name), the payment amount, and the transfer reference. If the reference number is missing or formatted incorrectly (whether due to the customer or the customer’s bank’s system), the payee must manually review the received transfer to match it to the correct invoice and customer account. CentralPay allows you to provide a different virtual IBAN to each of your customers (Customer) or on each of your invoices (PaymentRequest). Thus, when a transfer is received, CentralPay automatically identifies the sender and can reconcile the invoice for you based on the virtual IBAN used by your customer, even if there is an error in the reference number. A virtual IBAN is identical in every way to a standard IBAN, which makes the process completely transparent for your customers. With this service, you will be able to: To be notified instantly when a customer has paid you via bank transfer Automate your internal alerts and customer follow-ups (via the notification service) To automate the reconciliation of your payments in your accounting or billing solutions (ERP, etc.) For platforms and marketplaces: to easily identify the merchant receiving the payment and transfer the funds to them You can create CentralPay Virtual IBANs from various services on the platform: From the Customer service department From the SCT Transaction department From the PaymentRequest department ℹ️ Each payment or e-money account comes with its own dedicated virtual IBAN by default 1. Check the virtual IBAN for your accounts You can find the virtual IBAN for your accounts in the Merchant Portal Administration Accounts IBAN/BIC: It is also possible to query the CentralPay API using the /bankAccount endpoint Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts 2. Create a Virtual IBAN for a specific customer You can create a virtual IBAN for a specific customer when creating a new Customer or when updating an existing customer. To do this, you must enter the UUID of the payment account into the “walletIdForIban” field—the account into which you want to receive the funds. You can find it under Merchant Portal Administration Accounts UUID: Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts In return, you will receive the “iban” and “bic” values in field bankAccounts, which make up your Customer‘s virtual IBAN. ℹ️ The BIC for IBANs issued by CentralPay is CEAYFR22 3. Creation of a Virtual IBAN Dedicated to an SCT Transaction Just as with a customer, you can create a virtual IBAN specific to a bank transfer transaction when creating an SCT transaction. ℹ️ As a reminder, CentralPay automatically creates an SCT transaction when you receive a transfer to your primary virtual IBAN or a customer’s virtual IBAN. However, you can create an SCT transaction in advance to assign it a dedicated virtual IBAN and a custom reference, for example. To do this, you must enter the UUID of the payment account into the “ibanWalletId” field, the account into which you want to receive the funds. You can find it under Merchant Portal Administration Accounts UUID: Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts In return, you will receive the “iban” and “bic” values in field bankAccounts, which make up the Virtual IBAN for your SCT Transaction. ℹ️ A virtual IBAN assigned to an SCT transaction is no longer valid once the SCT transaction has been paid in full. However, it is possible to receive multiple smaller transfers to the same IBAN to make up the full amount of the SCT transaction. Please note that if a received transfer exceeds the amount of the SCT Transaction, it will still be accepted. You will need to issue a partial refund to return the overpayment to your customer. 4. Using Virtual IBANs in Payment Requests You can use Customer Virtual IBANs or SCT Transactions through the payment request service if you accept the “SCT Transaction” payment method. You can select the type of Virtual IBAN you want to display in your payment requests from the “Priority Viban” field in your point-of-sale settings. If you select: SCT: The payment request will automatically generate a virtual IBAN specific to the SCT transaction Client: The payment request will use the customer’s virtual IBAN if they already have one; otherwise, it will automatically generate one. ℹ️ For payment requests using a vIBAN submitted exclusively via SCT Transaction: If you cancel the payment request, the associated vIBAN will no longer be accessible. As a result, any transfer received at that vIBAN will be automatically returned to the sender. Bank Transfer Transaction 1. Operation An SCT Transaction is a bank transfer received at one of your CentralPay Virtual IBANs. It can be created in three different ways: AutomaticallyIf you provide a dedicated Virtual IBAN for one of your customers or one of your payment accounts, CentralPay will automatically create the SCT Transaction upon receipt of the transfer. You can then reconcile this SCT Transaction with your order/invoice by retrieving the value from the “description” field (which corresponds to the reference your customer entered in their online banking portal). From the SCT Transaction serviceIf you want to automate the reconciliation of the wire transfer with the transaction, you can: Create an SCT transaction with a dedicated virtual IBAN: this will ensure 100% accurate reconciliation of your transaction. Please note that in this case, your customers will need to add a new payee in their online banking portal for each transfer they send to you. Create an SCT transaction using a Virtual Customer IBAN and retrieve the short reference generated by CentralPay for this transaction: this will allow you to automatically reconcile the transfer with the corresponding customer profile, and potentially track it down to the specific transaction if your customer has correctly entered the reference in their transfer From the Payment Request ServiceIf you would like to have CentralPay display payment information to your customers (amount, IBAN, BIC, reference, etc.), you can create a Payment Request that authorizes payments via SCT Transaction. This option also makes it easy to manage multiple transfers or customer payments made through various payment methods 2. Create a transaction SCT Create an SCT Transaction: Enter an amount in cents (amount) and a currency (currency) If you want to create a Virtual IBAN specifically for the SCT Transaction, enter the UUID of the payment account where you want to receive the funds in the “ibanWalletId” field. You can find this UUID in the Merchant Portal Administration Accounts UUID If you want to use an existing Virtual IBAN (assigned to a customer or a payment account), enter the desired IBAN in the “iban” field You can then retrieve the “sepaReference” value generated by CentralPay and provide it to your customer so that CentralPay can match the transfer to your transaction Or enter your own custom reference in the “merchantSctTransactionId” field to reconcile the transfer yourself using our transaction exports Pay by Bank - Payment Initiation (PIS) 1. Operation The Payment Initiation Service (PIS) allows your customers to make a bank transfer directly from their online banking environment, without having to manually enter the recipient’s details. This feature is based on the Open Banking protocol and complies with PSD2. At CentralPay, this service is offered under the name “Pay by Bank” and is currently available only through the hosted payment form (SmartForm) when using the PaymentRequest service. ℹ️ This service is available only through the Smart Form (PaymentRequest). It is not yet possible to use this payment method as the sole option; it is always offered in addition to the traditional bank transfer payment service. The payment experience depends on the interfaces provided by the paying customer’s bank. 2. Service activation Payment initiation is not enabled by default. To use this feature, you must submit a request to the CentralPay support team. 3. Use via PaymentRequest To allow your customers to initiate a transfer directly from the payment form, you must: Create a PaymentRequest following the usual procedure. Include the following payment method in the `payment_methods` property:• PIS Standard `“payment_methods”`: [“SCT_TRANSACTION_PIS”]• PIS IP `“payment_methods”`: [“SCT_TRANSACTION_PIS_IP”] When this payment method is available, the Smart Form will offer the user a choice between: Standard bank transfer (bank account information displayed for you to copy) Initiating a payment through one’s banking system (Pay by Bank) ℹ️ At this stage, it is not possible to require the exclusive use of the payment initiation feature. The form will always display the option to enter standard bank account information. 4. User journey The user selects “Pay by Bank” on the form. The user selects “Pay by Bank” on the form. He selects his bank from the list provided He is redirected to his bank’s website to confirm the transfer Once the payment is initiated, the user is redirected to your return page 5. Monitoring and status reports Once the PaymentRequest has been created, the status of the transfer is available via the API, just as with any other payment: The payment_method field will be set to SCT_TRANSACTION The “status” field will indicate the progress of the payment initiation (for example, PENDING, SUCCEEDED, FAILED) ℹ️ As with traditional transfers, the completion of the payment depends on the customer’s bank actually processing the transfer. The customer can choose between a standard transfer (D+1) and an immediate transfer. 6. List of available banks by country ℹ️ In the staging environment, a bank named “Test Connector” is displayed to allow you to test the end-to-end flow. Please note: The maximum amount allowed on this test connector is €20. French banks: InstitutionStandardSnapshotAllianz Bank✅ Available🚫 Not availableArkéa Banking Services✅ Available🚫 Not availableArkéa Bank for Businesses and Institutions✅ Available✅ AvailableArkéa Private Bank✅ Available✅ AvailableAXA Bank✅ Available✅ AvailableBCP Bank✅ Available✅ AvailableChalus Bank✅ Available✅ AvailableBank of Savoy✅ Available✅ AvailableBank of Territoires✅ Available🚫 Not availableCrédit Mutuel European Bank✅ Available✅ AvailableBanque Populaire✅ Available✅ AvailableTransatlantic Bank✅ Available✅ AvailableBBVA (Not activated)🚫 Not available🚫 Not availableBforBank✅ Available🚫 Not availableBNP Paribas✅ Available✅ AvailableBNP Paribas Business✅ Available🚫 Not availableBNP Paribas New Caledonia (Not activated)🚫 Not available🚫 Not availableBoursoBank✅ Available✅ AvailableBRED✅ Available✅ AvailableBTP Bank✅ Available✅ AvailableCaisse d’Épargne – Personal Banking✅ Available✅ AvailableCaisse d’Épargne for Professionals✅ Available✅ AvailableCCMDirect (Not activated)🚫 Not available🚫 Not availableCIC✅ Available✅ AvailableCIC Private Bank✅ Available✅ AvailableCrédit Agricole✅ Available✅ AvailableCrédit Coopératif✅ Available✅ AvailableCrédit Maritime✅ Available✅ AvailableCrédit Mutuel✅ Available✅ AvailableCrédit Mutuel of Bretagne✅ Available✅ AvailableCrédit Mutuel of Southwest✅ Available✅ AvailableFortuneo✅ Available✅ AvailableHello bank!✅ Available✅ AvailableING Wholesale Banking✅ Available🚫 Not availableLa Banque Postale✅ Available✅ AvailableLCL✅ Available✅ AvailableLouvre Private Bank✅ Available✅ AvailableManager.one✅ Available🚫 Not availableMemo Bank✅ Available✅ AvailableMonabanq✅ Available✅ AvailableN26✅ Available✅ AvailableNef Pro✅ Available🚫 Not availableNeuflize OBC (Non activé)🚫 Not available🚫 Not availablePalatine✅ Available✅ AvailableQonto✅ Available🚫 Not availableRevolut✅ Available🚫 Not availableSociété Générale✅ Available✅ Available Reconciliation of a payment request CentralPay offers a service called bankReconciliation that allows you to link one or more SCT transactions to a payment request (PaymentRequest) if you are not using the virtual IBANs designated for SCT transactions. 1. In the event of a reference error on the part of your client When you use payment requests with virtual IBANs assigned to a specific customer, and your customer does not enter the “sepaReference” correctly when making the transfer, CentralPay is unable to automatically match the transfer to the payment request. You can therefore use the bankReconciliation service to map the received SCT Transaction to the payment request that was originally created: amount = transfer amount in centimes wireTransferID = SCT TRANSACTION ID (available in the SCT TRANSACTION hook) paymentRequestBreakdownId = PaymentRequest breakdown ID (available in the PaymentRequest hook) 2. If you are using your own order reference If you want to manage your accounts receivable in CentralPay using the Payment Requests service without using the Smart Form payment page, follow these steps: For each customer: Create a Customer record with a vIBAN, retrieve the vIBAN, and display it in your sales funnel along with your order reference At the same time, create a paymentRequest containing the same order ID (in the “merchantPaymentRequestId” field) and the order amount As soon as you receive a customer transfer, you can identify the associated order using the “description” field in the SCT Transaction. Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId » If a PaymentRequest has the same reference, you associate it with the “bankReconciliation” service If no PaymentRequest has the same reference number, but the transfer was received to a vIBAN Customer that has only one pending PaymentRequest or one with an identical amount, you can reconcile them using a bankReconciliation. If no PaymentRequest has the same reference number and the Customer has multiple PaymentRequests pending settlement or for different amounts, trigger an alert in your system so that your finance department can manually reconcile the transfer (by manually linking it to the correct PaymentRequest via a bankReconciliation). Transfers not associated with a PaymentRequest will thus be easily identifiable As well as unpaid or partially paid PaymentRequests SCT R-transaction You can issue a refund for an SCT Transaction if it has been RECEIVED via the Refund service or from the SCT Transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds in their bank account within 24 to 48 business hours after the transaction. Your payment account is debited immediately, so it must have sufficient funds to complete the transaction. You cannot cancel a refund once it has been processed. International wire transfers International bank transfers are processed through the SWIFT network (unlike the SEPA network for European transfers). These transfers can be initiated from a wide range of countries in euros or other currencies. It will soon be possible to accept international wire transfers through the SCT Transaction service. Please contact CentralPay if this service is important to the growth of your business. Responses, statuses, and 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 Consultez les Statuts Transaction ➝ Consultez les Statuts Refunds ➝ 3. Webhooks liés aux SCT Transactions Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks Refunds ➝ Consultez les Webhooks Customer ➝
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. jQuery(document).ready( function($) { window.live_6ab3046f22af9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card Token.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f22af9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f22af9.load(); });
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. jQuery(document).ready( function($) { window.live_6ab3046f23505 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card Token.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f23505", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f23505.load(); });
SCT Transaction Reversal See more about SCT Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f23dbb = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f23dbb", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f23dbb.load(); });
SCT Transaction Reversal See more about SCT Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f2459c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f2459c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f2459c.load(); });
Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB
Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB
Exports de données Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre portail Marchand. 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 Marchand Compte Exports 1. Export des transactions cartes 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énominationSignificationtransaction_creation_datedate de créationtransaction_ididentifiant de transactiontransaction_amountmontanttransaction_currencydevisetransaction_payout_amountvaleur de devise de règlementtransaction_payout_currencydevise de règlementtransaction_commision_amountfrais sur la transactiontransaction_commision_currencydevise des fraistransaction_fee_amountfrais fixes par transactiontransaction_3ds3DS (0=non, 1=oui)transaction_descriptiondescription définie par le marchandtransaction_sourceEC Ecommerce, DP Deposit, MO Mail ordertransaction_bank_coderetour autorisation banquetransaction_statusstatut de la transactiontransaction_authorization_statusstatut de l’autorisationtransaction_authorization_codecode d’autorisationtransaction_capture_statusstatut de la capturetransaction_capture_datedate de la capturetransaction_capture_amountmontant de la capturemerchant_transaction_ididentifiant de transaction marchandpoint_of_sale_ididentifiant du point de ventepoint_of_sale_namenom du point de ventemerchant_ididentifiant marchandmerchant_namenom du marchanddispute_amountmontant de la contestationdispute_currencydevise de la contestationdispute_datedate de la contestationrefund_amountmontant du remboursementrefund_currencydevise du remboursementrefund_datedate du remboursementcard_ididentifiant de la carte de paiementcard_first66 premiers chiffres de la cartecard_last44 derniers chiffres de la cartecard_cardholder_namenom du porteurcard_cardholder_emailemail du porteurcard_typetype de carte (crédit/débit/prepaid)card_productnom du produit carte (Infinite, Gold…)card_product_typecarte consumer ou corporatecard_commercial_brandréseau carte (VISA/Mastercard/CB)card_regioncontinent d’origine de la cartecard_countrypays d’origine de la cartecard_establishment_namenom de l’établissement qui fournit la cartecustomer_ididentifiant clientend_user_ipIP de l’utilisateurend_user_languagelangue de l’utilisateurbrowser_user_agentnavigateur de l’utilisateurreceipt_emailmail de réception de l’utilisateurclearing_numbernuméro de clearingmerchant_category_codeactivité du marchand Accès : Recette Portail Marchand – Transactions Production Portail Marchand – Transactions 2. Export des remboursements cartes 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. Accès : Recette Portail Marchand – Remboursements cartes Production Portail Marchand – Remboursements cartes 3. Export des contestations de transactions cartes 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. Accès : Recette Portail Marchand – Contestations cartes Production Portail Marchand – Contestations cartes 4. Export des abonnements (cartes et SDD) 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. Accès : Recette Portail Marchand – Abonnements Production Portail Marchand – Abonnements
Data Exports You can perform several exports of your account in CSV, EXCEL, or JSON formats from your Merchant Portal. To do this, configure your search using the filters available on the desired export page, click « Search » then « Export ». Within seconds, you will receive the file by email and can download it at any time from your Merchant Portal Account Exports 1. Card Transaction Export This export allows you to obtain the details of card transactions you have processed over a given period.This export simplifies the reading of your card transactions by aggregating authorization and debit operations, and presents additional data specific to card transactions. The export contains the following data: DesignationMeaningtransaction_creation_datecreation datetransaction_idtransaction IDtransaction_amountamounttransaction_currencycurrencytransaction_payout_amountsettlement currency valuetransaction_payout_currencysettlement currencytransaction_commision_amounttransaction feestransaction_commision_currencyfee currencytransaction_fee_amountfixed fees per transactiontransaction_3ds3DS (0=no, 1=yes)transaction_descriptionmerchant-defined descriptiontransaction_sourceEC E-commerce, DP Deposit, MO Mail ordertransaction_bank_codebank authorization responsetransaction_statustransaction statustransaction_authorization_statusauthorization statustransaction_authorization_codeauthorization codetransaction_capture_statuscapture statustransaction_capture_datecapture datetransaction_capture_amountcapture amountmerchant_transaction_idmerchant transaction IDpoint_of_sale_idpoint of sale IDpoint_of_sale_namepoint of sale namemerchant_idmerchant IDmerchant_namemerchant namedispute_amountdispute amountdispute_currencydispute currencydispute_datedispute daterefund_amountrefund amountrefund_currencyrefund currencyrefund_daterefund datecard_idpayment card IDcard_first6first 6 digits of cardcard_last4last 4 digits of cardcard_cardholder_namecardholder namecard_cardholder_emailcardholder emailcard_typecard type (credit/debit/prepaid)card_productcard product name (Infinite, Gold…)card_product_typeconsumer or corporate cardcard_commercial_brandcard network (VISA/Mastercard/CB)card_regioncard origin continentcard_countrycard origin countrycard_establishment_namename of card-issuing institutioncustomer_idcustomer IDend_user_ipuser IPend_user_languageuser languagebrowser_user_agentuser browserreceipt_emailuser reception emailclearing_numberclearing numbermerchant_category_codemerchant activity Access: Recette Merchant Portal – Transactions Production Merchant Portal – Transactions 2. Card Refund Export This export allows you to obtain the details of card refunds you have processed over a given period. Access: Recette Merchant Portal – Card Refunds Production Merchant Portal – Card Refunds 3. Card Transaction Disputes Export This export allows you to obtain the details of card transaction disputes/chargebacks you have received over a given period. Access: Recette Merchant Portal – Chargebacks Production Merchant Portal – Chargebacks 4. Subscriptions Export (Cards and SDD) This export allows you to obtain the details of card and SDD subscriptions you have processed over a given period. Access: Recette Merchant Portal – Subscriptions Production Merchant Portal – Subscriptions
Transaction carte via wallet 1. Apple Pay (Smart Form) Apple Pay est intégré nativement au parcours de paiement carte du SmartForm (PaymentRequest > paymentMethod[]=TRANSACTION) dès que l’appareil de votre client est compatible. Aucune action n’est requise de votre part. Le service est entièrement opéré par CentralPay (détection de l’appareil, gestion des certificats et des tokens Apple, sécurité PCI-DSS). Aucune donnée de carte n’est exposée côté marchand (périmètre PCI-DSS SAQ-A). 2. Apple Pay (Custom Form) 2.1. Prérequis 1. Créer un 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) 2. 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…) 🔐 Certificats requis pour une intégration Apple Pay (https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request)Pour traiter des paiements Apple Pay dans le cadre d’une intégration directe, le marchand doit disposer des éléments suivants :• un certificat Merchant ID Identity ;• un certificat Merchant Payment Processing G2.Le marchand doit veiller à conserver l’ensemble des clés privées utilisées lors de la génération des CSR associées à ces certificats.1. Merchant ID IdentityLa génération d’un CSR basé sur une clé EC (256 bits) est requise.Cette CSR sera générée par Centralpay2. Merchant Payment Processing CertificateÉtapes principales :• Demander le CSR généré par Centralpay• Soumettre le CSR depuis le compte développeur Apple afin d’obtenir le Merchant Payment Processing Certificate.• Installer le certificat sur le même poste macOS ayant servi à la génération de la CSR afin qu’il soit associé à la clé privée.• Exporter l’identité complète au format .p12 (certificat + clé privée).⚠️ Si l’option d’export au format .p12 n’est pas disponible, cela indique qu’une étape du processus n’a pas été correctement réalisée (clé privée manquante ou non associée).Le fichier .p12 constitue un conteneur sécurisé permettant l’exploitation ultérieure de la clé privée associée au certificat, conformément au flux Apple Pay.Notes importantes :• Toute perte de la clé privée nécessite la recréation complète du certificat depuis le portail Apple Developer.• La documentation Apple Pay peut prêter à confusion : l’utilisation d’OpenSSL ne concerne que le certificat Merchant ID Identity, et ne s’applique pas au Merchant Payment Processing Certificate. 2.2. Via token Apple Pay déchiffré CentralPay permet le traitement des paiements par carte effectués via Apple Pay, dans le cadre d’une intégration Custom (hors Smart Form). ℹ️ CentralPay ne prend actuellement en charge que les tokens Apple Pay déchiffrés. Cette méthode implique une responsabilité PCI-DSS importante de votre part (formulaire SAQ-D). Renseignez-vous et assurez-vous d'être en conformité avant de développer ce mode d'intégration. Étape 1 : Déchiffrement du token Apple Pay (Backend) 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 : 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 (Backend) Utilisez l’endpoint POST /cardToken de l’API CentralPay ChampDescriptioncard[number]PAN de la carte extrait du token Apple Paycard[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 PayamountMontant 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]=5454696696312664card[expirationMonth]=12card[expirationYear]=2031onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=applePayTransactionId=3d2b17abed2696ca...amount=2500currency=EURmerchantPublicKey=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 (Backend) Utilisez l’endpoint POST /transaction de l’API CentralPay Champs requis : cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification. Étape 4 : 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 API de test Cartes de test Différences entre environnement de test et de production : Les URLs des API sont différentes : Elles utilisent le préfixe test- 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 CentralPay (merchantPublicKey) est également spécifique à l’environnement 2.3. Via token ApplePay chiffré (hybride) ℹ️ 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. 2.3.1. Paramétrage du compte Apple – Se connecter sur « https://developer.apple.com/« , créer un compte et valider le compte ‘developer’ à 99$) – Aller sur https://developer.apple.com/account/resources/identifiers/list – Dans « App IDs », choisir « Merchant IDs » : Puis cliquer sur le « + » pour ajouter un « Identifier » : Choisir « Merchant IDs » : Renseigner le nom de l’identifier et cliquez sur « Register » : Aller à https://developer.apple.com/account/resources, puis cliquer sur Identifiers Sur Identifier, sélectionner un Merchant IDs en utilisant le filtre en haut à droite Sous « Apple Pay Payment Processing Certificate », cliquer sur « Create Certificate« . Indiquez que ce « Merchant ID » ne sera PAS (No) utilisé uniquement pour la Chine. A ce moment là cliquez sur « Choose File » afin d’envoyer le fichier CSR qui vous a été envoyé par CentralPay(uniquement CentralPay) Vous pouvez télécharger le fichier généré.Il reste à créer le certificat « Apple Pay Merchant Identity Certificate » Pour cela aller à https://developer.apple.com/account/resources, puis cliquer sur Identifiers et enfin cliquer sur l’Identifier que vous voulez éditer.Une fois ouvert, cliquez sur « Create Certificate ». Ajoutez votre certificat : Ajouter le domaine associé Indiquez le nom de domaine en question : Téléchargez le fichier indiqué par Apple Déployez le fichier indiqué par Apple sur un serveur du nom de domaine en question accessible à Apple, puis cliquez sur « Verify » : Vous pourrez alors télécharger le certificat nécessaire. 2.3.2. Paiement via Applepay Génération du certificat et clé dans le même fichier : openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts Création d’un ApplePayToken avec Apple Pay JS API (Démo à https://applepaydemo.apple.com/apple-pay-js-api) Frontend : <script crossorigin src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"> </script> <style> apple-pay-button { --apple-pay-button-width: 250px; --apple-pay-button-height: 100px; --apple-pay-button-border-radius: 99px; --apple-pay-button-padding: 0px 0px; --apple-pay-button-box-sizing: border-box; }</style><apple-pay-button id="btn-card" buttonstyle="white-outline" type="plain" locale="fr-FR"></apple-pay-button><br /><div data-info="gateway-link" class="text-small text-gray-light font-weight-normal ml-1"> <img src="https://docs.centralpay.com/wp-content/uploads/2024/10/paysecure_reassurance_1-fond_blanc.png" alt="CentralPay" style="max-width:200px"></a></div> var request = { countryCode: 'FR', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard', 'amex'], merchantCapabilities: ['supports3DS'], total: { label: 'Your Merchant Name', amount: '10.00' },}var applepayversion = 3;var session = new ApplePaySession(applepayversion, request);session.onvalidatemerchant = event => { // Call your own server to request a new merchant session. console.log("event.validationURL :"+event.validationURL); fetch('/applepay-session') .then(res => res.json()) // Parse the response as JSON. .then(merchantSession => { session.completeMerchantValidation(merchantSession); }) .catch(err => { console.error("Error fetching merchant session : ", err); });};session.onpaymentauthorized = (event) => { var token = event.payment.token; fetch(`https://api.centralpay.net/transaction`, { method: "post", body: JSON.stringify( { applePayToken: token, endUserIp: "127.0.0.1", currency: "EUR", amount: 1000, source="EC", browserUserAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36", merchantTransactionId="1234567890123456789" }), }) .then((response) => { if (response.ok) { return response.json(); } appleSession.completePayment(ApplePaySession.STATUS_FAILURE); }) .then((responseJson) => { // Do something with the response appleSession.completePayment(ApplePaySession.STATUS_SUCCESS); }) .catch((error) => { appleSession.completePayment(ApplePaySession.STATUS_FAILURE); });};session.begin(); Backend : $router->map('GET', '/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface { $APPLE_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $curl = new Curl(); $curl->setHeader('Content-Type', 'application/json'); $curl->setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); $curl->setOpt($ch, CURLOPT_SSLCERTPASSWD, "thesslpassword"); $curl->setOpt(CURLOPT_POSTFIELDS, '{ merchantIdentifier: "merchant.net.centralpay.test-form", displayName: "MyStore", initiative: "web", initiativeContext: "merchant.net.centralpay.test-form" }' ); $curl->setOpt(CURLOPT_CUSTOMREQUEST, "POST"); $curl->setOpt(CURLOPT_URL, $APPLE_URL); $curl->exec(); ... return new Laminas\Diactoros\Response\JsonResponse($curl->getResponse()); ...}); Création de CardToken avec votre token Apple pay chiffré. (Frontend) 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.Utilisez l’endpoint POST /cardToken de l’API CentralPayChamps requis : curl --location 'https://test-api.centralpay.net/cardToken' \--header 'Origin: https://example.centralpay.net' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx' Création de la transaction : (Backend) Utilisez l’endpoint POST /transaction de l’API CentralPayChamps requis : curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789' Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification. Création de Transaction avec votre token Apple pay chiffré. (Backend) 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. Puis utilisez l’endpoint POST /transaction de l’API CentralPay Champs requis : curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx' 3. Google Pay (Smart Form) Google Pay est nativement au parcours de paiement carte du SmartForm (PaymentRequest > paymentMethod[]=TRANSACTION), dès que l’appareil ou le navigateur de votre client est compatible. Aucune action ne sera nécessaire de votre part. Le service sera entièrement opéré par CentralPay (détection de compatibilité Google Pay, gestion des certificats et des tokens, sécurité PCI-DSS). Aucune donnée de carte ne transite côté marchand, le flux relève du périmètre PCI-DSS SAQ-A. 4. Google Pay (Custom Form) CentralPay permet l’intégration de Google Pay via le mode PAYMENT_GATEWAY, tel qu’imposé par Google Pay dans un contexte PSP multi-marchands, sans nécessiter de déchiffrement du token côté serveur. 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é ⚠️ Google Pay fournit un merchantId spécifique au domaine validé.Ce merchantId est obligatoire pour toute Payment Request Google Pay.L’utilisation d’un merchantId non associé au domaine entraîne une erreur Google Pay (Error 11). 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 : 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 et copiez 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 et mettez à jour Étape 1: Configuration de Google Pay côté frontend ℹ️ Le bouton Google Pay est fourni par le SDK officiel Google Pay.L’initiation du paiement et la génération du token sont entièrement contrôlées par Google Pay (hosted button). 1. Définir la version de l’API : const baseRequest = { apiVersion: 2, apiVersionMinor: 0 }; 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. 3.Définir les types de cartes acceptées : const allowedCardNetworks = ["AMEX", "MASTERCARD", "VISA"]; 4. Définir le type de moyen de paiement : Il existe deux type différents : PAN_ONLY et CRYPTOGRAM_3DS ⚠️CentralPay n’autorise pas l’utilisation du type PAN_ONLY car il requiert de respecter des normes de sécurité spécifiques. Seul le type CRYPTOGRAM_3DS est autorisé. const allowedCardAuthMethods = ["CRYPTOGRAM_3DS"]; 5. 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 : ChampDescriptionamountMontant 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=2500currency=EURmerchantPublicKey=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=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... Le cardToken contient déjà toutes les informations d’authentification : pas besoin d’ajouter de cryptogramme ou de champ CVV. Étape 5 : Testing avant mise en production L’environnement de test CentralPay permet de valider l’ensemble de votre intégration Google 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 API de test Cartes de test Différences entre environnement de test et de production : Les URLs des API sont différentes : elles utilisent le préfixe test- 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 testIls ne sont pas interchangeables avec ceux de production La clé publique CentralPay (merchantPublicKey) est également spécifique à l’environnement
Card transaction via wallet 1. Apple Pay (Smart Form) Apple Pay is natively integrated into the SmartForm card payment flow (PaymentRequest > paymentMethod[]=TRANSACTION) as long as your customer’s device is compatible. No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is exposed on the merchant side (PCI-DSS SAQ-A scope). 2. Apple Pay (Custom Form) 2.1. Requirements 1. Create an Apple Developer account: Sign up for the Apple Developer Program Create your Apple Pay merchant credentials (Merchant ID) Generate your Apple Pay processing certificate through the Apple portal Register your domain (Apple Pay Merchant Domain) 2. Device-side integration: Implement Apple Pay on the front end using Apple Pay JS (for websites) or PassKit (for iOS apps) Retrieve the Apple Pay token (ApplePayToken) after the user has confirmed the payment (Face ID, Touch ID, etc.) 🔐 Certificates required for Apple Pay integration (https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request)To process Apple Pay payments through a direct integration, the merchant must have the following:• a Merchant ID Identity certificate;• a Merchant Payment Processing G2 certificate.The merchant must ensure that all private keys used to generate the CSRs associated with these certificates are retained.1. Merchant ID IdentityA CSR based on an EC key (256 bits) must be generated.This CSR will be generated by Centralpay2. Merchant Payment Processing CertificateMain steps:• Request the CSR generated by Centralpay• Submit the CSR through the Apple Developer Account to obtain the Merchant Payment Processing Certificate.• Install the certificate on the same macOS computer used to generate the CSR so that it is associated with the private key.• Export the complete identity in .p12 format (certificate + private key).⚠️ If the option to export in .p12 format is not available, this indicates that a step in the process was not completed correctly (private key is missing or not associated).The .p12 file is a secure container that allows the private key associated with the certificate to be used later, in accordance with the Apple Pay workflow.Important notes:• If you lose your private key, you must completely recreate the certificate through the Apple Developer portal.• The Apple Pay documentation can be confusing: the use of OpenSSL applies only to the Merchant ID Identity certificate and does not apply to the Merchant Payment Processing Certificate. 2.2. Via a decrypted Apple Pay token CentralPay enables the processing of card payments made via Apple Pay as part of a custom integration (excluding Smart Form). ℹ️ CentralPay currently supports only decrypted Apple Pay tokens. This method entails significant PCI-DSS liability on your part (SAQ-D form). Please research this and ensure you are in compliance before developing this integration method. Step 1: Decrypting the Apple Pay token (Backend) The Apple Pay token must be decrypted on your backend using: Your Apple Pay treatment certificate Your private key Apple Documentation: Payment Token Format The result will contain: { "applicationPrimaryAccountNumber": "5454********2664", "applicationExpirationDate": "YYMMDD", "paymentData": { "cryptogram": "base64-cryptogram", "eciIndicator": "05" } } Step 2: Creating the CentralPay cardToken (Backend) Use the /cardToken POST endpoint of the CentralPay API FieldDescriptioncard[number]PAN of the card extracted from the Apple Pay tokencard[expirationMonth]Card expiration month (MM format)card[expirationYear]Card expiration year (YYYY format)onlinePaymentCryptogramCryptogram derived from the Apple Pay token (CAVV)eciIndicatorAuthentication Index Derived from the Apple Pay Token (ECI)applePayTransactionIdApple Pay Transaction IDamountAmount in cents (e.g., 2,500 = €25.00)currencyISO alpha code (e.g., EUR, USD, etc.)merchantPublicKeyPublic key provided by CentralPay ℹ️ Where can I find the merchantPublicKey? Log in to your CentralPay Back Office portal Administration Technical Merchant Public Key Example: card[number]=5454696696312664card[expirationMonth]=12card[expirationYear]=2031onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=applePayTransactionId=3d2b17abed2696ca...amount=2500currency=EURmerchantPublicKey=abcdef123456... The generated cardToken contains all the data needed for Apple Pay authentication. Step 3: Creating the CentralPay Transaction (Backend) Use the /transaction POST endpoint of the CentralPay API Required fields: cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... The cardToken already encapsulates the Apple Pay context and authentication data. Step 4: Testing before deployment The CentralPay test environment allows you to validate your entire Apple Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. Test portal Test API Test cards Differences between the test and production environments: The API URLs are different: They use the “test-” prefix Test: https://test-api.centralpay.net/v2/rest/transaction Deployment: https://api.centralpay.net/v2/rest/transaction The API credentials (login and secret) are specific to the test environment. They are not interchangeable with those used in production. The CentralPay public key (merchantPublicKey) is also environment-specific 2.3. Via an encrypted Apple Pay token (hybrid) ℹ️ If you are interested in this integration method, please contact CentralPay support to learn about the associated deliverables and access procedures. 2.3.1. Apple account settings – Log in on « https://developer.apple.com/« , create an account, and verify your « developer » account for $99) – Go to https://developer.apple.com/account/resources/identifiers/list – Under « App IDs », select « Merchant IDs« : Then click the « + » to add an « Identifier« : Select « Merchant IDs« : Enter your username and click »Register »: Go to https://developer.apple.com/account/resources, then click Identifiers On the “Identify” page, select a Merchant ID using the filter in the upper-right corner Under « Apple Pay Payment Processing Certificate », click « Create Certificate« . Please note that this « Merchant ID » will NOT be used exclusively for China. At that point, click « Choose File » to upload the CSR file that was sent to you by CentralPay (CentralPay only). You can download the generated file.Next, you need to create the “Apple Pay Merchant Identity Certificate.”To do this, go to https://developer.apple.com/account/resources, then click Identifiers and finally click the identifier you want to edit.Once it’s open, click « Create Certificate ». Upload your certificate: Add the associated domain Enter the domain name in question: Download the file specified by Apple Deploy the file specified by Apple to a server on the domain in question that is accessible to Apple, then click “Verify”: You will then be able to download the required certificate. 2.3.2. Payment via Apple Pay Generating the certificate and key in the same file: openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts Creating an ApplePayToken with the Apple Pay JS API (Demo at https://applepaydemo.apple.com/apple-pay-js-api) Front end: <script crossoriginsrc="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"> </script> <style> apple-pay-button {--apple-pay-button-width: 250px;--apple-pay-button-height: 100px;--apple-pay-button-border-radius: 99px;--apple-pay-button-padding: 0px 0px;--apple-pay-button-box-sizing: border-box;}</style><apple-pay-button id="btn-card" buttonstyle="white-outline" type="plain" locale="fr-FR"></apple-pay-button><br /><div data-info="gateway-link" class="text-small text-gray-light font-weight-normal ml-1"> <img src="https://docs.centralpay.com/wp-content/uploads/2024/10/paysecure_reassurance_1-fond_blanc.png" alt="CentralPay" style="max-width:200px"></a></div> var request = { countryCode: 'FR', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard', 'amex'], merchantCapabilities: ['supports3DS'], total: { label: 'Your Merchant Name', amount: '10.00' },}var applepayversion = 3;var session = new ApplePaySession(applepayversion, request);session.onvalidatemerchant = event => {// Call your own server to request a new merchant session.console.log("event.validationURL :"+event.validationURL); fetch('/applepay-session').then(res => res.json()) // Parse the response as JSON..then(merchantSession => {session.completeMerchantValidation(merchantSession);}).catch(err => {console.error("Error fetching merchant session : ", err);});};session.onpaymentauthorized = (event) => { var token = event.payment.token; fetch(`https://api.centralpay.net/transaction`, { method: "post", body: JSON.stringify( { applePayToken: token, endUserIp: "127.0.0.1", currency: "EUR", amount: 1000, source="EC", browserUserAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36", merchantTransactionId="1234567890123456789" }), }) .then((response) => { if (response.ok) { return response.json(); } appleSession.completePayment(ApplePaySession.STATUS_FAILURE); }) .then((responseJson) => { // Do something with the response appleSession.completePayment(ApplePaySession.STATUS_SUCCESS); }) .catch((error) => { appleSession.completePayment(ApplePaySession.STATUS_FAILURE); });};session.begin(); Backend: $router->map('GET', '/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface {$APPLE_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $curl = new Curl();$curl->setHeader('Content-Type', 'application/json');$curl->setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); $curl->setOpt($ch, CURLOPT_SSLCERTPASSWD, "thesslpassword"); $curl->setOpt(CURLOPT_POSTFIELDS, '{ merchantIdentifier: "merchant.net.centralpay.test-form", displayName: "MyStore", initiative: "web", initiativeContext: "merchant.net.centralpay.test-form" }' ); $curl->setOpt(CURLOPT_CUSTOMREQUEST, "POST"); $curl->setOpt(CURLOPT_URL, $APPLE_URL);$curl->exec();... return new Laminas\Diactoros\Response\JsonResponse($curl->getResponse());...}); Creating a CardToken with your encrypted Apple Pay token. (Frontend) When making your API call, in addition to the required fields, you must include the “applePayToken” field in JSON format, containing your Apple Pay token, which includes the elements paymentData,paymentMethod, and transactionIdentifier.You can then complete a transaction using your cardToken as usual.Use the CentralPay API’s POST /cardToken endpointRequired fields: curl --location 'https://test-api.centralpay.net/cardToken' \--header 'Origin: https://example.centralpay.net' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx' Creating the transaction: (Backend) Use the /transaction POST endpoint of the CentralPay APIRequired fields: curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789' The cardToken already encapsulates the Apple Pay context and authentication data. Create a transaction using your encrypted Apple Pay token. (Backend) When making your API call, in addition to the required fields, you must include the “applePayToken” field in JSON format, containing your Apple Pay token, which includes the elements paymentData, paymentMethod and transactionIdentifier. Then use the /transaction POST endpoint of the CentralPay API Required fields: curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx' 3. Google Pay (Smart Form) Google Pay is natively integrated into the SmartForm card payment flow (PaymentRequest > paymentMethod[]=TRANSACTION), provided your customer’s device or browser is compatible. No action is required on your part. The service will be fully managed by CentralPay (Google Pay compatibility detection, certificate and token management, PCI-DSS security). No card data passes through the merchant’s system; the payment flow falls within the scope of PCI-DSS SAQ-A. 4. Google Pay (Custom Form) CentralPay enables the integration of Google Pay via the PAYMENT_GATEWAY mode, as required by Google Pay in a multi-merchant PSP environment, without requiring server-side decryption of the token. Requirements 1. Create a Google Pay Business account: Access the Google Pay Business Console Create a Merchant Profile or link an existing one. Please enter your company and business information. 2. Register your domain: In the Google Pay console, go to the “Domains” tab Add your production and test domains (e.g., example.com) Google will ask you to upload a verification file there to confirm your ownership ⚠️ Google Pay provides a domain-specific merchantId.This merchantId is required for all Google Pay Payment Requests.Using a merchantId that is not associated with the domain results in a Google Pay error (Error 11). 3. Implement your Google Pay front-end integration: Implement Google Pay on the front end using Google Pay JS (for websites) or Google Pay Android API (for mobile apps) Collect the Google Pay token (tokenizationData.token) after the user has authorized the payment (PIN, fingerprint, facial recognition, etc.). ℹ️ Google offers an official tutorial for this integration: Google Pay API | Google for Developers 4. Retrieve your CentralPay login credentials: MerchantPublicKey: Log in to your CentralPay Back Office portal → Administration → Technical → Merchant Public Key API Login: Log in to your CentralPay Back Office portal → Administration → Technical → API ID and copy the ID API Pass: Log in to your CentralPay Back Office portal → Administration → Technical → Click on your API ID → Edit → Generate, copy your API pass, and update it Step 1: Configuring Google Pay on the front end ℹ️ The Google Pay button is provided by the official Google Pay SDK.Payment initiation and token generation are entirely controlled by Google Pay (hosted button). 1. Specify the API version: const baseRequest = { apiVersion: 2, apiVersionMinor: 0 }; 2. Use CentralPay as a payment gateway: Configure tokenization as follows: const tokenizationSpecification = { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'centralpay', gatewayMerchantId: 'YOUR_GATEWAY_MERCHANT_ID' } }; Replace YOUR_GATEWAY_MERCHANT_ID with your MerchantPublicKey provided by CentralPay. 3. Specify the types of cards accepted: const allowedCardNetworks = ["AMEX", "MASTERCARD", "VISA"]; 4. Select the payment method: There are two different types: PAN_ONLY and CRYPTOGRAM_3DS ⚠️CentralPay does not allow the use of the PAN_ONLY type because it requires compliance with specific security standards. Only the CRYPTOGRAM_3DS type is allowed. const allowedCardAuthMethods = ["CRYPTOGRAM_3DS"]; 5. Test or production environment: // Environnement de test const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'TEST' }); // Environnement de production const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION' }); Step 2: Retrieving the Google Pay token When an end user authorizes a payment via Google Pay, the API returns a token in JSON format in: paymentData.paymentMethodData.tokenizationData.token This field contains a JSON string representing an object of the following type: { "signature": "MEYCIQDn...", "protocolVersion": "ECv2", "intermediateSigningKey": { "signedKey": "{...}", "signatures": ["MEUCID..."] }, "signedMessage": "{...}" } This block must be sent as-is to the CentralPay API when creating the cardToken in the googlePayToken field. Step 3: Sending the token to CentralPay (creating the cardToken) Make a POST request to CentralPay’s /cardToken endpoint with the following parameters: Required parameters: FieldDescriptionamountAmount in centimes (e.g., 2,500 for €25.00)currencyISO alpha code (e.g., EUR, USD, etc.)googlePayTokenThe complete JSON returned by Google Pay (tokenizationData.token)merchantPublicKeyCentralPay public key available in the back office Example request (x-www-form-urlencoded format): amount=2500currency=EURmerchantPublicKey=abcdef123456...googlePayToken={"signature":"MEYCIQDn...","protocolVersion":"ECv2",...} Do not decrypt the token yourself: CentralPay handles its validation on the server side. Step 4: Creating the transaction Once you have obtained the cardToken, you can initiate a transaction in the standard way via endpoint POST /transaction. Example settings: cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... The cardToken already contains all the authentication information: there is no need to add a cryptogram or a CVV field. Step 5: Testing before deployment The CentralPay test environment allows you to validate your entire Google Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. Test portal Test API Test cards Differences between the test and production environments: The API URLs are different: they use the “test-” prefix Test: https://test-api.centralpay.net/v2/rest/transaction Deployment: https://api.centralpay.net/v2/rest/transaction The API credentials (login + secret) are specific to the test environment.They are not interchangeable with those used in production. The CentralPay public key (merchantPublicKey) is also environment-specific
R-transaction SCT 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 Marchand. 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é.
SCT R-transaction You can issue a refund for an SCT Transaction if it has been RECEIVED via the Refund service or from the SCT Transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds in their bank account within 24 to 48 business hours after the transaction. Your payment account is debited immediately, so it must have sufficient funds to complete the transaction. You cannot cancel a refund once it has been processed.
R-transaction SDD 1. Remboursement de prélèvement SEPA Vous pouvez rembourser une SDD Transaction si celle-ci est CLEARED via le service Refund ou depuis le détail de la SDD Transaction dans le Portail Marchand. 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é. 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 de paiement 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.
SDD R-Transaction 1. SEPA Direct Debit refund You can refund an SDD transaction if it has been CLEARED using the Refund service or from the SDD transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds in their bank account within 24 to 48 business hours after the transaction. Your payment account is debited immediately, so it must have sufficient funds to complete the transaction. You cannot cancel a refund once it has been processed. 2. SEPA Direct Debit rejections and contests SEPA direct debit rejections and contests are issued by your customers’ banks. They are reflected in your CentralPay payment account as “SDD Transaction Reversal” operations. A SEPA direct debit rejection is issued by the bank before the funds are made available to the creditor (within 2 to 5 days). Here are the main reasons for rejecting SEPA Core direct debits: Insufficient funds: The debtor’s bank account does not have sufficient funds to complete the operation. Account closed: The debtor’s bank account has been closed Incorrect bank account information: The IBAN or BIC provided is incorrect, or the account is not denominated in euros. A debtor may contest a SEPA direct debit up to 13 months after the transaction. This is the primary source of financial risk associated with this payment method. Here are the main reasons for contesting SEPA Core direct debits: Transaction contested (within a maximum of 8 weeks): The SEPA direct debit is valid, but the customer contests the transaction with their bank for any reason. The transaction is fully refunded, and a contestation fee applies to the creditor. The deadline is 70 days for banks outside the European Union or the European Economic Area. Dispute due to lack of authorization (within 13 months max): The SEPA direct debit is invalid (lack of authorization, incorrect signatory, etc.), and the customer disputes the transactions. The transactions are fully refunded, and dispute fees apply to the creditor. For more information, see the complete list of SEPA direct debit rejection and contested payment codes.
Déplafonner un compte de Monnaie Électronique Un Wallet peut être converti en compte vérifié (limites levées) via un enrôlement complet, déclenché par l’API. 1. Étape 1 – Créer un enrôlement POST /merchant-enrollments Vous devez inclure le walletId du Wallet limité existant. Champs obligatoires ChampTypeDescriptionNotewalletIdUUIDLien avec le Wallet ME à déplafonnerUUID valideprofile[firstname][value]string (255)PrénomAlpha + -profile[lastname][value]string (255)NomAlpha + -profile[email][value]string (255)Email de contact—profile[phone][value]string (15)Téléphone international—profile[birthday][value]date (YYYY-MM-DD)Date de naissanceEntre 18 et 110 ansprofile[place_of_birth][value]string (255)Lieu de naissance—profile[country_of_birth][country]string (3)Pays de naissanceISO 3166-1 alpha-3languagestring (3)"fr" ou "en"—accountTypestring"BASIC"—typestring"INDIVIDUAL"—activitySectorUUID (36)Secteur d’activitéGET /api/nauth/enrollment-claim/activity-sectorfeeScheduleUUID (36)Grille tarifairePOST /api/merchant-enrollment/fee-scheduleturnoverUUID (36)CA annuel attenduPOST /api/nauth/enrollment-claim/turnoverworkflowDefinitionUUIDModèle de workflowfournie par CentralPayprofileWorkflowDefinitionUUIDModèle de profilfournie par CentralPayworkflowModestring"SEQUENTIAL"RequisallowedEmailCommunicationbooleanConsentement à recevoir des emailstrue ou false Champs facultatifs ChampTypeDescriptionsendClaimEmailbooleanEnvoi de l’e-mail d’enrôlement (défaut : true)sendProfileCreationEmailbooleanEmail après profil complétésendAccountCreationEmailbooleanEmail à l’ouverture du compte vérifiécustomReferencestringRéférence internetechnicalContact, administrativeContact, financialContactstring(255)Contacts métiersaddSecurityReferencebooleanAffiche une référence sécurité (pour STANDARD, PARTNER, RESELLER)hookUUIDHook techniquebirthdayConfirmation[value]dateSi affilié à un agent 2. Étape 2 – Compléter un enrôlement KYC (via autocomplete) Pour accélérer le processus d’enrôlement, vous pouvez compléter d’un seul coup toutes les données attendues en appelant : POST /merchant-enrollment/{uuid}/autocomplete Adresse de résidence ChampTypeObligatoireDescriptionNoteaddress[nameLine1]string✅ OuiNuméro et nom de rue—address[locality]string✅ OuiVille de résidence—address[postalCode]string✅ OuiCode postal—address[country]string✅ OuiPays de résidenceISO 3166-1 alpha-3 Document d’identité ChampTypeObligatoireDescriptionNoteidentityDocument[type]string✅ OuiType de documentIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]fichier✅ OuiRecto ou scan principalJPG, JPEG ou PNGidentityDocument[documents][1]fichier✅ Oui, si IDENTITY_CARDVerso ou page complémentaireJPG, JPEG ou PNGidentityDocument[issuingCountry]string✅ OuiPays émetteurISO 3166-1 alpha-3identityDocument[expiryDate]string❌ NonDate d’expirationFormat YYYY-MM-DDidentityDocument[checkId]string❌ NonID de contrôle (Onfido)—identityDocument[documentNumber]string❌ NonNuméro du document—identityDocument[mrzLine1]string❌ NonLigne MRZ 1—identityDocument[mrzLine2]string❌ NonLigne MRZ 2— Cas particuliers ChampObligatoireConditionDescriptionidentityDocument[proofOfIdentityDocument]✅ Ouisi type = IDENTITY_DOCUMENT_RECEIPTJustificatif visuel du récépisséidentityDocument[proofOfIdentityDocuments][*]✅ OuiidemPlusieurs fichiers si applicableidentityDocument[proofOfIdentityDocumentExpiryDate]✅ Ouisi fichier proofOfIdentityDocument fourniFormat YYYY-MM-DD Données bancaires (facultatif mais recommandé) ChampTypeObligatoireDescriptionNoteiban[value]string❌ NonIBAN à vérifierFormat IBAN validebic[value]string❌ NonCode BIC/SWIFT—ibanDocument[document]fichier❌ NonJustificatif bancaire (RIB, relevé)JPG, JPEG ou PNG Données KYC complémentaires (riskData) Tous les champs suivants sont requis sauf mention contraire. ChampTypeObligatoireDescriptionNoteriskData[isPep]bool✅ OuiPersonne politiquement exposée ?défaut : falseriskData[isInSanctionList]bool✅ OuiAppartient à une liste de sanctions ?défaut : falseriskData[residentAlpha3Code]string✅ OuiPays de résidenceISO 3166-1 alpha-3riskData[isHighRiskResident]bool✅ OuiPays de résidence à risque ?—riskData[nationalityAlpha3Code]string✅ OuiNationalitéISO 3166-1 alpha-3riskData[isHighRiskNationality]bool✅ OuiNationalité à risque ?—riskData[isHighRiskMCCActivitySector]bool✅ OuiSecteur MCC à risque ?—riskData[MCCActivitySector]int✅ OuiCode MCC (NAF ou secteur)—riskData[monthlyLimit]int✅ OuiLimite mensuelle déclarée (en centimes)Ex. 150000 = 1500,00 €riskData[monthlyLimitCurrencyAlphabeticCode]string✅ OuiDevise (ex. EUR)ISO 4217riskData[isCrossBorderPayment]bool❌ NonPaiements transfrontaliers ?Défaut : trueriskData[declaredMonthlyRevenue]int❌ NonRevenus déclarés (en centimes)—riskData[verifiedMonthlyRevenue]int✅ Oui, si full KYCRevenus vérifiés— Documents complémentaires (si requis) ChampTypeObligatoireDescriptionNoteproofOfAddressDocument[documents][0]fichier✅ Oui, si profil à risqueJustificatif de domicileJPG, JPEG ou PNGincomeDocument[document]fichier✅ Oui, si full KYC requisJustificatif de revenus (1 doc)JPG, JPEG ou PNGincomeDocument[documents][*]fichier✅ Oui, si full KYC requisPlusieurs fichiers possiblesJPG, JPEG ou PNG Autres documents (si nécessaires à la levée de limite) ChampTypeDescriptionNotesadditionalDocuments[X]['type']stringType du document transmisEx. : UBO_DECLARATION, PROOF_OF_VAT_REGISTRATION, LICENSING_AGREEMENT, etc.additionalDocuments[X]['documents'][X]fichierFichier transmisFormat : JPG, JPEG, PNG ℹ️ La liste complète des types de document acceptés est documentée dans l'Open API. Données libres (obligatoire même vide) ChampTypeObligatoireDescriptionmetaDataJSON object✅ OuiMétadonnées libres, au format {"key": "value"} (peut être vide) 3. Étape 3 – Corriger un enrôlement rejeté (autoupdate) Lorsque le service conformité refuse un ou plusieurs documents (ex. : carte d’identité floue, pièce expirée), vous pouvez soumettre uniquement les éléments refusés via une requête d’auto-mise à jour. POST /merchant-enrollment/{uuid}/autoupdate Correction de document d’identité ChampTypeObligatoireDescriptionNoteidentityDocument[type]string✅ OuiType de document à corrigerIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]fichier✅ OuiRecto du document (ou fichier unique)JPG, JPEG ou PNGidentityDocument[documents][1]fichier✅ Oui, si type = IDENTITY_CARDVerso de la CNIJPG, JPEG ou PNGidentityDocument[issuingCountry]string✅ Oui, si document transmisPays émetteurISO 3166-1 alpha-3 Document d’identité complémentaire (si requis) ChampTypeObligatoireDescriptioncomplementaryIdentityDocument[documents][0]fichier✅ Oui, si exigéScan ou photo supplémentairecomplementaryIdentityDocument[expiryDate]string✅ OuiDate d’expiration (YYYY-MM-DD)complementaryIdentityDocument[documentNumber]string✅ OuiNuméro du documentcomplementaryIdentityDocument[mrzLine1]string✅ OuiMRZ ligne 1complementaryIdentityDocument[mrzLine2]string✅ OuiMRZ ligne 2complementaryIdentityDocument[issuingCountry]string✅ OuiPays émetteur (ISO alpha-3) Documents de revenus ChampTypeObligatoireDescriptionincomeDocument[document]fichier✅ Oui, si requisFichier unique JPG/JPEG/PNGincomeDocument[documents][*]fichier✅ Oui, si multiples attendusPlusieurs documents par index ([0], [1], etc.) Compléments d’information personnelle ChampTypeObligatoireDescriptionprofile[firstname][value]string❌ NonPrénomprofile[lastname][value]string❌ NonNomprofile[birthday][value]string❌ NonDate de naissanceprofile[place_of_birth][value]string❌ NonLieu de naissanceprofile[country_of_birth][country]string❌ NonPays de naissance (ISO 3166-1 alpha-3) Correction d’adresse (si refusée) ChampTypeObligatoireDescriptionprofile[address][nameLine1]string❌ NonAdresse – ligne 1profile[address][postalCode]string❌ NonCode postalprofile[address][country]string❌ NonPays (ISO alpha-3)profile[address][locality]string❌ NonVille Mise à jour des données KYC (riskData) Tous les champs suivants sont requis sauf mention contraire. Ils doivent être renvoyés à l’identique ou mis à jour si modifiés dans le cadre de la correction. ChampTypeObligatoireDescriptionNoteriskData[isPep]boolean✅ OuiPEP ?défaut : falseriskData[isInSanctionList]boolean✅ OuiSur une liste de sanctions ?défaut : falseriskData[residentAlpha3Code]string✅ OuiPays de résidenceISO alpha-3riskData[isHighRiskResident]boolean✅ OuiPays de résidence à risque ?—riskData[nationalityAlpha3Code]string✅ OuiNationalitéISO alpha-3riskData[isHighRiskNationality]boolean✅ OuiNationalité à risque ?—riskData[isHighRiskMCCActivitySector]boolean✅ OuiSecteur à risque ?—riskData[MCCActivitySector]int✅ OuiCode MCC métier—riskData[monthlyLimit]int✅ OuiLimite mensuelle (en centimes)[0 ; 190000]riskData[monthlyLimitCurrencyAlphabeticCode]string✅ OuiDevise (ex. EUR)ISO 4217riskData[isCrossBorderPayment]boolean❌ NonPaiements transfrontaliersdéfaut : trueriskData[declaredMonthlyRevenue]int❌ NonRevenus déclarés—riskData[verifiedMonthlyRevenue]int✅ Oui, si full KYCRevenus vérifiés (centimes) Documents additionnels (optionnels ou exigés) ChampTypeObligatoireDescriptionadditionalDocuments[X]['type']string✅ Oui, si documents attendusType du justificatifadditionalDocuments[X]['documents'][X]fichier✅ OuiFichiers associés (JPG, JPEG, PNG) Autres champs ChampTypeObligatoireDescriptionfullKycboolean❌ NonPermet d’imposer un KYC complet ou simplifié (true / false) 4. Étape 4 – Suivre le statut d’un enrôlement Une fois un enrôlement créé et complété, vous pouvez à tout moment interroger son statut pour : Vérifier l’état d’avancement (ON_GOING, ACCEPTED, REFUSED) Suivre les étapes en attente dans le workflow Extraire les données de profil déjà soumises Récupérer un enrôlement GET /merchant-enrollment/{enrolmentId} Paramètres requis ChampTypeObligatoireDescriptionNoteenrolmentIdUUID (36)✅ OuiIdentifiant de l’enrôlement retourné lors de la création (POST /merchant-enrollments)Format UUID standard ℹ️ L’enrôlement doit appartenir à l’espace autorisé par vos identifiants API (marchand ou sous-marchand). Champs principaux de la réponse ChampTypeDescriptionuuidUUIDIdentifiant unique de l’enrôlementworkflow.statusstringStatut du processus (ON_GOING, ACCEPTED, REFUSED)workflow_modestring"SEQUENTIAL" ou "CONTINUAL"workflow.activities[]tableauListe des activités (étapes) encore à compléterprofile[...]objetDonnées de profil déjà soumises, avec leur statutconformity_statusstringÉtat de conformité global (ON_GOING, REVIEW, APPROVED, etc.)created_atdatetimeDate de création de l’enrôlementactivity_sector.namestringSecteur déclaré dans l’enrôlement À surveiller Tant qu’une activité a un state = TODO, l’enrôlement est incomplet Lorsqu’aucune activité n’est en attente et que le workflow.status = ACCEPTED, l’utilisateur est validé En cas de workflow.status = REFUSED, aucun Wallet vérifié ne sera généré 5. Schéma de validation KYC d’un compte de ME
Remove the limit on an Electronic Money Account A Wallet can be converted into a verified account (with limits removed) via a full onboarding process triggered by the API. 1. Step 1 – Create an enrollment POST /merchant-enrollments You must include the walletId from the existing limited wallet. Required fields FieldTypeDescriptionNotewalletIdUUIDLink to the EM Wallet to remove the limitValid UUIDprofile[firstname][value]string (255)First nameAlpha + -profile[lastname][value]string (255)NameAlpha + -profile[email][value]string (255)Contact email—profile[phone][value]string (15)International phone—profile[birthday][value]date (YYYY-MM-DD)Date of birthBetween 18 and 110 years oldprofile[place_of_birth][value]string (255)Birthplace—profile[country_of_birth][country]string (3)Country of birthISO 3166-1 alpha-3languagestring (3)"fr" or "en"—accountTypestring"BASIC"—typestring"INDIVIDUAL"—activitySectorUUID (36)Activity sectorGET /api/nauth/enrollment-claim/activity-sectorfeeScheduleUUID (36)Price gridPOST /api/merchant-enrollment/fee-scheduleturnoverUUID (36)Expected annual revenuePOST /api/nauth/enrollment-claim/turnoverworkflowDefinitionUUIDWorkflow templateprovided by CentralPayprofileWorkflowDefinitionUUIDProfile templateprovided by CentralPayworkflowModestring"SEQUENTIAL"RequiredallowedEmailCommunicationbooleanConsentement à recevoir des emailstrue or false Optional fields FieldTypeDescriptionsendClaimEmailbooleanSending the enrollment email (default: true)sendProfileCreationEmailbooleanEmail after profile completionsendAccountCreationEmailbooleanEmail upon opening a verified accountcustomReferencestringInternal referencetechnicalContact, administrativeContact, financialContactstring(255)Business contactsaddSecurityReferencebooleanDisplays a safety reference (for STANDARD, PARTNER, RESELLER)hookUUIDTechnical hookbirthdayConfirmation[value]dateIf affiliated with an agent 2. Step 2 – Complete a KYC enrollment (via autocomplete) To speed up the enrollment process, you can fill out all the required information at once by calling: POST /merchant-enrollment/{uuid}/autocomplete Residential address FieldTypeRequiredDescriptionNoteaddress[nameLine1]string✅ YesStreet number and name—address[locality]string✅ YesCity of residence—address[postalCode]string✅ YesPostal code—address[country]string✅ YesCountry of residenceISO 3166-1 alpha-3 Identification document FieldTypeRequiredDescriptionNoteidentityDocument[type]string✅ YesDocument typeIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]file✅ YesFront side or main scanJPG, JPEG or PNGidentityDocument[documents][1]file✅ Yes, if IDENTITY_CARDBack side or additional pageJPG, JPEG or PNGidentityDocument[issuingCountry]string✅ YesIssuing countryISO 3166-1 alpha-3identityDocument[expiryDate]string❌ NoExpiration dateFormat YYYY-MM-DDidentityDocument[checkId]string❌ NoControl ID (Onfido)—identityDocument[documentNumber]string❌ NoDocument number—identityDocument[mrzLine1]string❌ NoMRZ 1 Line—identityDocument[mrzLine2]string❌ NoMRZ 2 Line— Special cases FieldRequiredConditionDescriptionidentityDocument[proofOfIdentityDocument]✅ Yesif type = IDENTITY_DOCUMENT_RECEIPTVisual proof of receiptidentityDocument[proofOfIdentityDocuments][*]✅ YeslikewiseMultiple files, if applicableidentityDocument[proofOfIdentityDocumentExpiryDate]✅ Yesif file proofOfIdentityDocument providedFormat YYYY-MM-DD Banking information (optional but recommended) FieldTypeRequiredDescriptionNoteiban[value]string❌ NoIBAN to be verifiedValid IBAN formatbic[value]string❌ NoBIC/SWIFT code—ibanDocument[document]file❌ NoProof of bank information (bank account details, statement)JPG, JPEG or PNG Additional KYC data (riskData) All of the following fields are required unless otherwise noted. FieldTypeRequiredDescriptionNoteriskData[isPep]bool✅ YesPolitically exposed person?default: falseriskData[isInSanctionList]bool✅ YesIs it on a sanctions list?default: falseriskData[residentAlpha3Code]string✅ YesCountry of residenceISO 3166-1 alpha-3riskData[isHighRiskResident]bool✅ YesCountry of residence at risk?—riskData[nationalityAlpha3Code]string✅ YesNationalityISO 3166-1 alpha-3riskData[isHighRiskNationality]bool✅ YesNationality at risk?—riskData[isHighRiskMCCActivitySector]bool✅ YesIs the MCC sector at risk?—riskData[MCCActivitySector]int✅ YesMCC code (NAF or sector)—riskData[monthlyLimit]int✅ YesReported monthly limit (in centimes)E.g., 150000 = €1,500.00riskData[monthlyLimitCurrencyAlphabeticCode]string✅ YesCurrency (e.g., EUR)ISO 4217riskData[isCrossBorderPayment]bool❌ NoCross-border payments?Default: trueriskData[declaredMonthlyRevenue]int❌ NoReported income (in centimes)—riskData[verifiedMonthlyRevenue]int✅ Yes, if full KYCVerified incomes— Additional documents (if required) FieldTypeRequiredDescriptionNoteproofOfAddressDocument[documents][0]file✅ Yes, if the profile is at riskProof of addressJPG, JPEG or PNGincomeDocument[document]file✅ Yes, if full KYC is requiredProof of income (1 document)JPG, JPEG or PNGincomeDocument[documents][*]file✅ Yes, if full KYC is requiredMultiple files allowedJPG, JPEG or PNG Other documents (if necessary to lift the limit) FieldTypeDescriptionNotesadditionalDocuments[X]['type']stringType of document submittedEx: UBO_DECLARATION, PROOF_OF_VAT_REGISTRATION, LICENSING_AGREEMENT, etc. additionalDocuments[X]['documents'][X]fileFiles submittedFile format: JPG, JPEG, PNG ℹ️ The complete list of accepted document types is documented in the Open API. Open data (required, even if empty) FieldTypeRequiredDescriptionmetaDataJSON object✅ YesOpen metadata, in {"key": "value"} format (may be empty) 3. Step 3 – Correcting a failed enrollment (autoupdate) If the compliance department rejects one or more documents (e.g., a blurry ID card, an expired document), you can submit only the rejected items via a self-update request. POST /merchant-enrollment/{uuid}/autoupdate Correction of an identification document FieldTypeRequiredDescriptionNoteidentityDocument[type]string✅ YesType of document to be correctedIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]file✅ YesFront side of the document (or single file)JPG, JPEG or PNGidentityDocument[documents][1]file✅ Yes, if type = IDENTITY_CARDBack side of the NICJPG, JPEG or PNGidentityDocument[issuingCountry]string✅ Yes, if the document is submittedIssuing countryISO 3166-1 alpha-3 Additional identification document (if required) FieldTypeRequiredDescriptioncomplementaryIdentityDocument[documents][0]file✅ Yes, if requiredAdditional scan or photocomplementaryIdentityDocument[expiryDate]string✅ YesExpiration date (YYYY-MM-DD)complementaryIdentityDocument[documentNumber]string✅ YesDocument numbercomplementaryIdentityDocument[mrzLine1]string✅ YesMRZ Line 1complementaryIdentityDocument[mrzLine2]string✅ YesMRZ Line 2complementaryIdentityDocument[issuingCountry]string✅ YesIssuing country (ISO alpha-3) Income documents FieldTypeRequiredDescriptionincomeDocument[document]file✅ Yes, if requiredSingle JPG/JPEG/PNG fileincomeDocument[documents][*]file✅ Yes, if multiple are expectedMultiple documents by index ([0], [1], etc.) Additional personal information FieldTypeRequiredDescriptionprofile[firstname][value]string❌ NoFirst nameprofile[lastname][value]string❌ NoNameprofile[birthday][value]string❌ NoDate of birthprofile[place_of_birth][value]string❌ NoBirthplaceprofile[country_of_birth][country]string❌ NoCountry of birth (ISO 3166-1 alpha-3) Address correction (if rejected) FieldTypeRequiredDescriptionprofile[address][nameLine1]string❌ NoAddress – line 1profile[address][postalCode]string❌ NoPostal codeprofile[address][country]string❌ NoCountry (ISO alpha-3)profile[address][locality]string❌ NoCity Updating KYC data (riskData) All of the following fields are required unless otherwise noted. They must be returned exactly as they are or updated if changed as part of the correction. FieldTypeRequiredDescriptionNoteriskData[isPep]boolean✅ YesPEP?default: falseriskData[isInSanctionList]boolean✅ YesOn a sanctions list?default: falseriskData[residentAlpha3Code]string✅ YesCountry of residenceISO alpha-3riskData[isHighRiskResident]boolean✅ YesCountry of residence at risk?—riskData[nationalityAlpha3Code]string✅ YesNationalityISO alpha-3riskData[isHighRiskNationality]boolean✅ YesNationality at risk?—riskData[isHighRiskMCCActivitySector]boolean✅ YesHigh-risk area?—riskData[MCCActivitySector]int✅ YesMCC business code—riskData[monthlyLimit]int✅ YesMonthly limit (in centimes)[0 ; 190000]riskData[monthlyLimitCurrencyAlphabeticCode]string✅ YesCurrency (e.g., EUR)ISO 4217riskData[isCrossBorderPayment]boolean❌ NoCross-border paymentsdefault: trueriskData[declaredMonthlyRevenue]int❌ NoReported incomes—riskData[verifiedMonthlyRevenue]int✅ Yes, if full KYCVerified incomes (centimes) Additional documents (optional or required) FieldTypeRequiredDescriptionadditionalDocuments[X]['type']string✅ Yes, if the documents are expectedType of proofadditionalDocuments[X]['documents'][X]file✅ YesRelated files (JPG, JPEG, PNG) Other fields FieldTypeRequiredDescriptionfullKycboolean❌ NoAllows you to require full or simplified KYC (true / false) 4. Step 4 – Track the status of an enrollment Once an enrollment has been created and completed, you can check its status at any time to: Check the status (ON_GOING, ACCEPTED, REFUSED) Track pending steps in the workflow Extract previously submitted profile data Retrieve an enrollment GET /merchant-enrollment/{enrolmentId} Required settings FieldTypeRequiredDescriptionNoteenrolmentIdUUID (36)✅ YesEnrollment ID returned upon creation (POST /merchant-enrollments)Standard UUID format ℹ️ The enrollment must belong to the scope authorized by your API credentials (merchant or sub-merchant). Main fields in the response FieldTypeDescriptionuuidUUIDUnique enrollment IDworkflow.statusstringProcess status (ON_GOING, ACCEPTED, REFUSED)workflow_modestring"SEQUENTIAL" or "CONTINUAL"workflow.activities[]tableList of activities (steps) still to be completedprofile[...]objectProfile data that has already been submitted, with their statusconformity_statusstringOverall compliance status (ON_GOING, REVIEW, APPROVED, etc.)created_atdatetimeEnrollment creation dateactivity_sector.namestringSector reported on the enrollment form Keep an eye on As long as an activity has a state = TODO, enrollment is incomplete When there are no pending activities and workflow.status = ACCEPTED, the user is approved In case of workflow.status = REFUSED, no verified wallet will be generated 5. KYC verification process for a ME account
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 : Soit via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre profil Marchand CentralPay : Recette Portail Client Production Portail Client Ou 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 Marchand : Compte Customer Détail CustomerId Portail Client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId] Portail Client de PROD : https://customer.centralpay.net/customer/?uuid=[CustomerId]
Customer Portal The CentralPay Customer Portal is the interface for Customer Profiles (Customer). It allows your customers to: View their payment history To manage their ongoing transactions (updating their default payment method, canceling a subscription, etc.) But also to get in touch with you if you have any questions about a transaction (contact form) This portal is primarily used by customers to manage recurring payments. CentralPay’s compliance teams may require that the URL for this portal be included in the footer or the terms and conditions of your e-commerce site. To log in, your customers have two options: Either through the Customer Portal homepage, by entering the details of one of their payments made using your CentralPay Merchant Profile: Recette Customer Portal Production Customer Portal Ou 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 Marchand : Compte Customer Détail CustomerId Sandbox Customer Portal: https://test-customer.centralpay.net/customer/?uuid=[CustomerId] LIVE Customer Portal: https://customer.centralpay.net/customer/?uuid=[CustomerId]
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èvementsddTransaction R-transaction SDDrefund / sddTransactionReversal Retours, statuts et webhooks Informations générales 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 profil Marchand CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail Marchand en utilisant un profil avec des droits Admin : Administration Mon profil marchand 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 1.1. 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. 1.2. 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 1.3. 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) 3. Modification d’un mandat SEPA existant 3.1. Modifications possibles sans nécessité de nouveau mandat Certaines données peuvent être mises à jour sans exiger la signature d’un nouveau mandat SEPA, sous réserve d’informer correctement le débiteur : Changement de nom du créancier (modification de la structure juridique prélevant) Changement de l’Identifiant Créancier SEPA (ICS) Changement de la Référence Unique de Mandat (RUM) Changement de compte / IBAN du débiteur au sein d’une même banque Changement de compte / IBAN du débiteur suite à un changement de banque Endpoints associés : Modifier un IBAN débiteurPOST /bankAccount/{bankAccountId}Permet de mettre à jour l’IBAN d’un compte bancaire débiteur lié à un mandat SEPA existant. Modifier une RUMCette opération n’est pas possible via les API CentralPay. Une modification de la RUM nécessite la création d’un nouveau mandat (migration). Modifier le nom du créancierEn cas de changement de la structure juridique réalisant les prélèvements, un nouveau Profil Marchand CentralPay (Merchant) doit être créé. Les mandats existants devront alors être redéclarés sous ce nouveau profil via un processus de migration. 3.2. Modifications nécessitant un nouveau mandat Les modifications suivantes imposent la création d’un nouveau mandat SEPA, car elles impliquent une nouvelle autorisation du débiteur : Changement de nom du débiteur Changement de la date de signature du mandat Changement de type de mandat : passage de SDD Core à SDD B2BNB : Ce cas d’usage n’est pas disponible dans les services CentralPay Changement de la fréquence de prélèvement : passage de ponctuel à récurrent 3.3. Communication des modifications Les notifications de modifications doivent obligatoirement être transmises : Par le créancier au débiteur, pour toute modification initiée par le créancier (ICS, RUM, IBAN, etc.) Par le débiteur au créancier, avec présentation d’un justificatif (ex : RIB ou pièce d’identité) pour les changements d’IBAN ou de données personnelles 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 : Créer des transactions SDD individuelles : pour réaliser une ou plusieurs transactions SDD par API en complète autonomie 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). 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 1.1. 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. 1.2. [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 Marchand. 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 Vous pouvez rembourser une SDD Transaction si celle-ci est CLEARED via le service Refund ou depuis le détail de la SDD Transaction dans le Portail Marchand. 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é. 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 de paiement 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. 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) : ContestationsMD06 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 banqueMS02Raison non communiquée (peut inclure des contestations ou des rejets)RejetsAM04 Provisions insuffisantesTout autre codeRejets techniques divers (compte clôturé, bloqué, IBAN non atteignable…) 👉 Consultez la liste complète des codes de rejet SDD ➝ 2. Statuts liés aux prélèvements SEPA Consultez les Statuts des SDD Transaction ➝ Consultez les Statuts des Mandates ➝ Consultez les Statuts des bankAccount ➝ (à venir) Consultez les Statuts des Subscription ➝ Consultez les Statuts des Installment ➝ 3. Webhooks liés aux prélèvements SEPA Consultez les Webhooks des SDD Transaction ➝ Consultez les Webhooks des Mandates ➝ Consultez les Webhooks des bankAccount ➝ Consultez les Webhooks des Customer ➝ Consultez les Webhooks des Subscription ➝ Consultez les Webhooks des Installment ➝
SEPA direct debit transaction Articles General information SEPA Creditor ID Bank account statement Creating a SEPA direct debit mandate Direct Debit transactionsddTransaction SDD R-Transactionrefund / sddTransactionReversal Responses, statuses, and webhooks General information The SEPA Direct Debit (or “SDD”) allows a creditor (merchant) to collect an amount owed directly from the debtor’s (customer’s) account. It is primarily intended for recurring payments (subscriptions or installment payments) but may, in certain cases, be used for one-time payments (for example, to settle invoices between businesses). Since it is issued at the creditor’s initiative, it requires prior authorization from the debtor. The merchant therefore prepares a “SEPA Direct Debit Mandate” specifying the terms of the direct debit and the bank details of both parties, which the debtor must sign. 1. The two types of SEPA direct debits There are two types of SEPA direct debits: The SEPA “CORE” direct debit: the most widely used type, it allows creditors to debit the accounts of both individuals and legal entities. The SEPA direct debit mandate is drawn up and signed by both parties without any specific restrictions. However, the debtor is protected and may dispute a CORE direct debit with their bank within 8 weeks without providing a reason. The SEPA “B2B” direct debit: reserved for direct debits between businesses. The SEPA direct debit mandate is printed, signed, and then must be submitted by the debtor to their bank. The onboarding process thus requires significant action on the part of the debtor and validation by their bank. However, direct debits initiated using this type of mandate cannot be disputed. CentralPay does not offer this “B2B” SEPA direct debit service 2. Risks of rejections and contests Since the SEPA Direct Debit is a payment method in which transactions are initiated without strong customer authentication, the risks of rejections and disputes must be taken into account. 👉 See the “R-Transaction SDD” section to learn more about SDD rejections and disputes 3. Important information The SEPA Direct Debit can be used with the vast majority of “checking” accounts in SEPA countries and some in the European Economic Area outside the SEPA zone. This depends on the connectivity of the payees’ banks to the SEPA networks. Special accounts, such as “savings accounts,” are not accessible. SEPA transactions are processed in euros (€) only SEPA transactions are processed on business days only (excluding weekends and holidays). As a result, the time it takes for funds to be received ranges from 2 to 5 days from the date the transaction is initiated. The creditor must notify the debtor of upcoming debits at least 14 days in advance, either by sending a payment schedule, a notice, or an invoice A SEPA direct debit mandate is valid for 36 months after the last transaction processed under that mandate In the case of a SEPA direct debit from a business’s (legal entity’s) bank account, the creditor must ensure that the SEPA direct debit mandate is addressed to and signed by the executive or an authorized representative (manager, accounting department, etc.). The SEPA Direct Debit is particularly well-suited for recurring transactions ranging from 20 to 200 EUR for individual payers and from 20 to 2,000 EUR for corporate payers SEPA Creditor ID The SEPA Creditor Identifier (ICS) is a unique reference number that identifies each direct debit issuer. In France, it consists of 13 alphanumeric characters, the first two of which represent the ISO country code (FR for France). Having an ICS is a mandatory requirement for making direct debits. The creditor must apply to their bank for an ICS. The creditor then retains their ICS, even if they switch banks. Please provide your ICS to CentralPay when you first sign up so that our teams can enter it into your account. Bank account statement To process a SEPA direct debit transaction, you must first create your customer’s (the payer’s) profile and enter their bank account information on the CentralPay platform. 1. Create a “Customer” client profile Collect your customer’s information (email, last name, first name, etc.) Create a Customer client profile Retrieve property customerId from the Customer creation response 2. Create a « bankAccount » bank account Collect your customer’s bank account information (IBAN, BIC, account holder’s name, etc.) Create a bankAccount by entering your client’s customerId Retrieve bankAccountId and identityId from the creation response bankAccount Creating a SEPA direct debit mandate After registering the customer’s bank account bankAccount and linking it to their “Customer” profile, you can create a SEPA mandate “mandate” and collect your customer’s electronic signature using a one-time password (OTP) sent via text message. Prerequisite: You must retrieve the creditorBankAccountId from your CentralPay Merchant Profile that corresponds to your ICS. You can find it in your Merchant Portal by using a profile with Admin privileges: Administration My Merchant Profile Bank accounts Locate the row containing your ICS in the “IBAN” column, then copy the associated UUID. 1. Creating and signing a new SEPA mandate 1.1. Create a SEPA direct debit: Create a « Mandate » Enter your « creditorBankAccountId » Enter your customer’s « CustomerId » Enter your Unique Mandate Reference (RUM) Specify the type of payment you want to create in the “paymentType” property Enter your customer’s phone number in the “debtorPhone” property Enter your customer’s email address in the “debtorEmail” property Specify your customer’s bank account by entering their “bankAccountId” in the “debtorBankAccountId” property. Once the SEPA direct debit has been set up: Un « mandateId » sera généré The mandate status will be PENDING A 6-digit code (OTP) will be sent to your customer via text message (valid for 15 minutes). You can have the OTP resent. 1.2. Sign a SEPA direct debit authorization: Sign the « Mandate » Collect the 6-digit code from your customer and enter it in the “otp” property Enter the “mandateId” generated when the mandate was created Enter your client’s IP address in the “endUserIp” property The mandate status will then change to “ACTIVE,” and the SEPA mandate in PDF format will be emailed to the customer. 1.3. Flowchart for bank account registration and power of attorney creation 2. Declaration of an existing mandate (migration) When migrating payment orders that were previously created with another payment service provider, you can disable the SMS OTP signature feature and the option to send SEPA payment orders via email. If this applies to you, please contact our team for more details about this process. Requirements: Direct debits must have been set up using your SEPA Creditor Identifier (ICS) Power of attorney documents must have been created using your current legal entity The payment orders must have been duly signed and accepted by your debtors Accounts must still be active (less than 36 months since the last transaction) 3. Modifying an existing SEPA mandate 3.1. Possible changes that do not require a new mandate Certain information may be updated without requiring the signing of a new SEPA direct debit mandate, provided that the debtor is properly notified: Change in the creditor’s name (change in the legal structure of the entity making the deduction) Change to the SEPA Creditor Identifier (ICS) Change to the Unique Mandate Reference (RUM) Change of account or IBAN for the payer within the same bank Change of account/IBAN of the payer following a change of bank Related endpoints: Edit a Debit Account IBANPOST /bankAccount/{bankAccountId}Allows you to update the IBAN of a debit account linked to an existing SEPA mandate. Modifying a RUMThis operation is not possible via the CentralPay APIs. Modifying a RUM requires creating a new mandate (migration). Change the Creditor’s NameIf there is a change in the legal structure responsible for processing direct debits, a new CentralPay Merchant Profile (Merchant) must be created. Existing mandates will then need to be re-registered under this new profile through a migration process. 3.2. Changes that require a new mandate The following changes require the creation of a new SEPA direct debit mandate, as they involve a new authorization from the payer: Change of the debtor’s name Change in the date of signing the mandate Change in mandate type: transition from SDD Core to SDD B2BNote: This use case is not available in CentralPay services Change in the sampling frequency: from one-time to recurring 3.3. Notification of changes Notifications of changes must be submitted: From the creditor to the debtor, for any changes initiated by the creditor (ICS, RUM, IBAN, etc.) By the debtor to the creditor, with submission of supporting documentation (e.g., bank account information or identification) for changes to the IBAN or personal information Direct Debit transaction Once you have completed the steps to create and sign a mandate, you can create a SEPA Direct Debit transaction (SDD transaction). Each SDD transaction will be linked to the corresponding mandate. To create SDD transactions, you have several options: Create individual SDD transactions: to process one or more SDD transactions via API completely on your own Create SDD transactions using “Subscription” templates: to process X transactions at a frequency defined by a subscription template (for example, €50 per month for 12 months). Create SDD transactions using the “Installment” payment service: to split a customer receivable into multiple transactions (example: €1,000 to be paid in 3 installments with a down payment of €500). 1. Individual SDD transactions 1.1. Create an “SDDTransaction” Enter the SEPA mandate ID “mandateId” Enter the transaction amount in centimes “amount” Enter “EUR” in the “currency” property Enter your unique transaction ID in the “endToEndIdentification” property Enter the transaction description in the “remittanceInformation” field (this information will appear on your customers’ account statements) Enter your client’s IP address in “endUserIp” Enter your CentralPay point-of-sale ID in the “pointOfSaleId” field Enter the desired transaction date in “requestedCollectionDate” You can then repeat this process for each of your customer’s recurring payment due dates. 1.2. [Optional] Ask the customer to confirm via text message For added security, you can set up a one-time password (OTP) to validate each SDDTransaction: an OTP will then be generated upon creation and sent to your customer via text message. An sddTransactionId will also be generated upon creation. By default, SDDTransactions are validated automatically This step is required only if you have configured OTP validation for the SDDTransaction Get your client’s secret code from them Send it to us, along with the sddTransactionId As a result of this action, the SDDTransaction will be considered validated and will therefore be processed 2. SDD transactions from “subscription” templates 2.1. Creation First, you must create a Customer that contains at least one Mandate. Then, the subscription service (Subscription) will allow you to easily initiate a subscription payment based on a subscription template created in advance via the CentralPay API or the Merchant Portal. 2.2. Specific integration cases If the first subscription payment must be for a higher amount than subsequent payments (e.g., sign-up fee), you can first initiate a one-time SDD transaction, then enter a start date (startingDate) in the Subscription object. If you simply want to start a subscription on a specific date (e.g., the effective date of your contract), you can enter a start date (startingDate) in the Subscription object 3. SDD transaction with “Installment” payment plan 3.1. Creation First, you must create a Customer that contains at least one Mandate. Then, the installment payment service (Installment) will allow you to easily initiate an installment payment based on the information provided in your request. SDD R-Transaction 1. SEPA Direct Debit refund You can refund an SDD transaction if it has been CLEARED using the Refund service or from the SDD transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds in their bank account within 24 to 48 business hours after the transaction. Your payment account is debited immediately, so it must have sufficient funds to complete the transaction. You cannot cancel a refund once it has been processed. 2. SEPA Direct Debit rejections and contests SEPA direct debit rejections and contests are issued by your customers’ banks. They are reflected in your CentralPay payment account as “SDD Transaction Reversal” operations. A SEPA direct debit rejection is issued by the bank before the funds are made available to the creditor (within 2 to 5 days). Here are the main reasons for rejecting SEPA Core direct debits: Insufficient funds: The debtor’s bank account does not have sufficient funds to complete the operation. Account closed: The debtor’s bank account has been closed Incorrect bank account information: The IBAN or BIC provided is incorrect, or the account is not denominated in euros. A debtor may contest a SEPA direct debit up to 13 months after the transaction. This is the primary source of financial risk associated with this payment method. Here are the main reasons for contesting SEPA Core direct debits: Transaction contested (within a maximum of 8 weeks): The SEPA direct debit is valid, but the customer contests the transaction with their bank for any reason. The transaction is fully refunded, and a contestation fee applies to the creditor. The deadline is 70 days for banks outside the European Union or the European Economic Area. Dispute due to lack of authorization (within 13 months max): The SEPA direct debit is invalid (lack of authorization, incorrect signatory, etc.), and the customer disputes the transactions. The transactions are fully refunded, and dispute fees apply to the creditor. For more information, see the complete list of SEPA direct debit rejection and contested payment codes. Responses, statuses, and webhooks 1. Refunds related to SEPA direct debits When an SDD (SEPA Direct Debit) transaction is rejected, your customer’s bank sends a rejection code that identifies the cause. It is important to distinguish between rejections (initiated by the bank, which are received quickly) and contests (initiated by the customer, which may be received several weeks or months after the transaction): DisputesMD06 Transaction disputed by the debtor (may be received up to 8 weeks after the transaction)MD01 Dispute due to lack of mandate (may be received up to 13 months after the transaction)SL01 Merchant ICS blacklisted by the customer via their bankMS02Reason not provided (may include disputes or rejections)RejectionsAM04 Insufficient provisionsAny other codeVarious technical rejections (account closed, frozen, unreachable IBAN, etc.) 👉 View the complete list of SDD rejection codes ➝ 2. Statuses related to SEPA direct debits Consult SDD Transaction statuses ➝ Consult Mandates statuses ➝ Consult bankAccount statuses ➝ (coming soon) Consult Subscription statuses ➝ Consult Installment statuses ➝ 3. Webhooks related to SEPA direct debits Consult SDD Transaction Webhooks ➝ Consult Mandates Webhooks ➝ Consult bankAccount Webhooks ➝ Consult Customer Webhooks ➝ Consult Subscription Webhooks ➝ Consult Installment Webhooks ➝
CARD Transaction Articles Transaction Card Credit Disputes Transaction See more about card transactions jQuery(document).ready( function($) { window.live_6ab3046da9c4d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046da9c4d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046da9c4d.load(); }); 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). jQuery(document).ready( function($) { window.live_6ab3046e02f78 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02f78", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02f78.load(); }); Credit See more about Credit jQuery(document).ready( function($) { window.live_6ab3046e7a4a3 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e7a4a3", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e7a4a3.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046e95db9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Dispute.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e95db9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e95db9.load(); });
CARD Transaction Articles Transaction Card Credit Disputes Transaction See more about card transactions jQuery(document).ready( function($) { window.live_6ab3046daa42e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046daa42e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046daa42e.load(); }); 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). jQuery(document).ready( function($) { window.live_6ab3046e037a7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e037a7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e037a7.load(); }); Credit See more about Credit jQuery(document).ready( function($) { window.live_6ab3046e7ac35 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e7ac35", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e7ac35.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046e9656d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Dispute.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e9656d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e9656d.load(); });
Webhooks Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (events) qui surviennent sur votre profil Marchand 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’un évènement intervient sur votre profil Marchand CentralPay. Par exemple, une transaction réussie ou échouée, la création d’un nouvel abonnement (subscription), 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. Consultez la liste des webhooks dans la rubrique : Développeurs Webhook notifications
Webhooks Webhooks let you send HTTP notifications to the URLs of your choice based on events (events) that occur on your CentralPay Merchant profile. These events correspond to the creation, data change, or status change of a CentralPay API object. The service therefore lets you notify your information system in real time as soon as an event occurs on your CentralPay Merchant profile. For example, a successful or failed transaction, the creation of a new subscription (subscription), a new Customer (customer), the receipt of an unpaid payment… Webhooks are grouped into two categories: Related to Points of Sale (« POS ») Related to « Accounts » The remote server must confirm successful receipt of the request by returning a 2XX code. Otherwise, a new request will be sent every 5 min for 2h. To ensure hooks are received correctly, we recommend using the Webhook Site service. Enter the URL provided by the site and the email address, then run your tests. Once you are satisfied with the hook responses, you can replace the email address and the URL with your own and run a new test. See the list of webhooks in: Developers Webhook notifications
R-transaction carte 1. Remboursement – refund 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 Marchand. 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é. ⚠️ Si la carte sur laquelle vous tentez d'effectuer le remboursement est expirée ou que le compte a été clôturé, CentralPay ne pourra réaliser de remboursement. Dans ce cas, nous vous invitons à vous rapprocher de votre client pour lui demander un RIB à jour et procéder à un virement SEPA depuis votre banque. 2. Crédit – credit 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 ℹ️ Ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus. 3. Contestation – Dispute Lorsqu’un porteur de carte conteste ou signale une transaction auprès de sa banque, le réseau (Visa, Mastercard, Carte Bancaire, etc.) peut notifier CentralPay afin d’initier une opération de contestation (Dispute).Cette opération permet de suivre l’état du litige et d’agir selon le type de signal reçu : alerte de fraude, demande d’information, ou chargeback. Chaque contestation est représentée dans le backoffice CentralPay par une opération distincte (Dispute), liée à la transaction d’origine. Les notifications sont également disponibles via le webhook DISPUTE_CREATED. Pour tout paiement par carte, un client peut contester une transaction auprès de sa banque dans les délais suivants : 120 jours à compter de la transaction pour les réseaux Visa et Mastercard ; 13 mois à compter de la date d’opération pour le réseau français Carte Bancaire. ℹ️ En France, la contestation est en principe réservée aux cas de fraude (carte volée, usurpée, utilisation abusive).Dans d’autres pays européens, elle peut également être utilisée dans le cadre d’un litige commercial (produit non livré, service non conforme, etc.). 1. Alerte de fraude FRAUD_NOTICED Ce statut correspond à une notification préventive de fraude transmise par le réseau (ex. : fichier TC40 pour Visa).Il est déclenché lorsque la banque émettrice signale qu’un porteur affirme ne pas être à l’origine de la transaction (carte volée, copiée ou usurpée). ➡️ Aucun remboursement n’est initié à ce stade.➡️ Ce signal vous permet d’anticiper un chargeback potentiel et de renforcer vos contrôles antifraude. Bonnes pratiques : Identifier la transaction concernée (montant, pays, carte, date). Vérifier les transactions similaires (même carte, même compte, même IP). Mettre la carte ou le compte en liste noire pour éviter de nouvelles tentatives. Conserver les preuves d’authenticité (logs, preuves de livraison, consentement). Ne pas contacter directement le porteur (le signal vient de sa banque). 2. Demande d’information RETRIEVAL_NOTICED Ce statut correspond à une demande documentaire émise par la banque du porteur.Il intervient lorsqu’un client ne reconnaît pas une transaction, sans parler de fraude. La banque émettrice demande alors à CentralPay de solliciter le marchand pour fournir des éléments de preuve (facture, reçu, preuve de livraison, etc.). ➡️ Une réponse est attendue sous 7 jours.➡️ Si les éléments sont acceptés, la contestation est clôturée (RETRIEVAL_CLOSE).➡️ Si aucune réponse n’est transmise, la banque du porteur peut déclencher un chargeback. 3. Contestation officielle CHARGEBACK_NOTICED Le chargeback correspond à une demande de remboursement formelle initiée par la banque émettrice.Il peut résulter : d’une fraude confirmée (suite à un FRAUD_NOTICED) ; d’un litige non résolu (suite à un RETRIEVAL_NOTICED) ; ou d’un autre motif reconnu par les réseaux (produit non reçu, montant incorrect, service non conforme, etc.). Lorsqu’un chargeback est émis : Le montant de la transaction est débité de votre compte de paiement afin de rembourser le porteur. Des frais non remboursables s’appliquent pour chaque contestation reçue, même en cas d’issue favorable. Vous disposez d’un délai de 20 jours calendaires pour répondre à la contestation en fournissant les éléments justificatifs : Preuve de livraison ou d’exécution du service, Preuve du consentement du porteur (obligatoire pour les transactions non 3-D Secure), Autres pièces démontrant la légitimité du paiement. À défaut de réponse dans le délai imparti, la contestation sera automatiquement perdue. Une fois votre réponse transmise, la banque émettrice analyse les éléments fournis : StatutDescriptionCHARGEBACK_WONLes preuves ont été jugées suffisantes. Le montant de la transaction vous est recrédité.CHARGEBACK_LOSTLa contestation est maintenue. Le remboursement au porteur devient définitif.
Card Refund Transaction 1. Refund – refund You can refund a Transaction if it is CLEARED via the Refund service or from the Transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds on their card within 3 to 5 business days after the operation. Your payment account is debited immediately, so it must be solvent to perform the operation. You cannot cancel a refund once it has been processed. ⚠️ If the card to which you are attempting to issue the refund has expired or the account has been closed, CentralPay will not be able to process the refund. In this case, we invite you to contact your customer to request up-to-date bank details and proceed with a SEPA transfer from your bank. 2. Credit – credit You can credit a customer’s card without an initial transaction from the Credit service. There are several ways to do this: Tokenize a card via the cardToken service and then enter it into the Credit service Create or search for a Customer with a valid card, then enter their « customerId » and « cardId » into the Credit service ℹ️ This service is only available for specific activities; contact CentralPay for more information. 3. Chargeback – Dispute When a cardholder disputes or reports a transaction to their bank, the network (Visa, Mastercard, Carte Bancaire, etc.) may notify CentralPay to initiate a dispute operation (Dispute).This operation allows you to track the status of the dispute and act according to the type of signal received: fraud alert, information request, or chargeback. Each dispute is represented in the CentralPay back office by a distinct operation (Dispute), linked to the original transaction. Notifications are also available via the webhook DISPUTE_CREATED. For any card payment, a customer can dispute a transaction with their bank within the following timeframes: 120 days from the transaction for Visa and Mastercard networks; 13 months from the operation date for the French Carte Bancaire network. ℹ️ In France, disputes are generally reserved for cases of fraud (stolen, usurped, or misused card).In other European countries, they can also be used in the context of a commercial dispute (product not delivered, non-compliant service, etc.). 1. Fraud Alert FRAUD_NOTICED This status corresponds to a preventive fraud notification transmitted by the network (e.g., TC40 file for Visa).It is triggered when the issuing bank reports that a cardholder claims not to have originated the transaction (stolen, copied, or usurped card). ➡️ No refund is initiated at this stage.➡️ This signal allows you to anticipate a potential chargeback and strengthen your anti-fraud controls. Best practices: Identify the transaction concerned (amount, country, card, date). Check for similar transactions (same card, same account, same IP). Blacklist the card or account to prevent new attempts. Retain proof of authenticity (logs, proof of delivery, consent). Do not contact the cardholder directly (the signal comes from their bank). 2. Information Request RETRIEVAL_NOTICED This status corresponds to a documentary request issued by the cardholder’s bank.It occurs when a customer does not recognize a transaction, without mentioning fraud. The issuing bank then asks CentralPay to request the merchant to provide evidence (invoice, receipt, proof of delivery, etc.). ➡️ A response is expected within 7 days.➡️ If the elements are accepted, the dispute is closed (RETRIEVAL_CLOSE).➡️ If no response is submitted, the cardholder’s bank may trigger a chargeback. 3. Official Chargeback CHARGEBACK_NOTICED A chargeback corresponds to a formal refund request initiated by the issuing bank.It may result from: confirmed fraud (following an FRAUD_NOTICED); an unresolved dispute (following an RETRIEVAL_NOTICED); or another reason recognized by the networks (product not received, incorrect amount, non-compliant service, etc.). When a chargeback is issued: The transaction amount is debited from your payment account to refund the cardholder. Non-refundable fees apply for each dispute received, even if the outcome is favorable. You have 20 calendar days to respond to the dispute by providing supporting documents: Proof of delivery or service execution, Proof of cardholder consent (mandatory for non-3D Secure transactions), Other documents demonstrating the legitimacy of the payment. Failure to respond within the allotted time will result in the dispute being automatically lost. Once your response is submitted, the issuing bank analyzes the provided elements: StatusDescriptionCHARGEBACK_WONThe evidence was deemed sufficient. The transaction amount is re-credited to you. CHARGEBACK_LOSTThe dispute is maintained. The refund to the cardholder becomes final.
Virements internationaux 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é.
International wire transfers International bank transfers are processed through the SWIFT network (unlike the SEPA network for European transfers). These transfers can be initiated from a wide range of countries in euros or other currencies. It will soon be possible to accept international wire transfers through the SCT Transaction service. Please contact CentralPay if this service is important to the growth of your business.
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) : ContestationsMD06 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 banqueMS02Raison non communiquée (peut inclure des contestations ou des rejets)RejetsAM04 Provisions insuffisantesTout autre codeRejets techniques divers (compte clôturé, bloqué, IBAN non atteignable…) 👉 Consultez la liste complète des codes de rejet SDD ➝ 2. Statuts liés aux prélèvements SEPA Consultez les Statuts des SDD Transaction ➝ Consultez les Statuts des Mandates ➝ Consultez les Statuts des bankAccount ➝ (à venir) Consultez les Statuts des Subscription ➝ Consultez les Statuts des Installment ➝ 3. Webhooks liés aux prélèvements SEPA Consultez les Webhooks des SDD Transaction ➝ Consultez les Webhooks des Mandates ➝ Consultez les Webhooks des bankAccount ➝ Consultez les Webhooks des Customer ➝ Consultez les Webhooks des Subscription ➝ Consultez les Webhooks des Installment ➝
Responses, statuses, and webhooks 1. Refunds related to SEPA direct debits When an SDD (SEPA Direct Debit) transaction is rejected, your customer’s bank sends a rejection code that identifies the cause. It is important to distinguish between rejections (initiated by the bank, which are received quickly) and contests (initiated by the customer, which may be received several weeks or months after the transaction): DisputesMD06 Transaction disputed by the debtor (may be received up to 8 weeks after the transaction)MD01 Dispute due to lack of mandate (may be received up to 13 months after the transaction)SL01 Merchant ICS blacklisted by the customer via their bankMS02Reason not provided (may include disputes or rejections)RejectionsAM04 Insufficient provisionsAny other codeVarious technical rejections (account closed, frozen, unreachable IBAN, etc.) 👉 View the complete list of SDD rejection codes ➝ 2. Statuses related to SEPA direct debits Consult SDD Transaction statuses ➝ Consult Mandates statuses ➝ Consult bankAccount statuses ➝ (coming soon) Consult Subscription statuses ➝ Consult Installment statuses ➝ 3. Webhooks related to SEPA direct debits Consult SDD Transaction Webhooks ➝ Consult Mandates Webhooks ➝ Consult bankAccount Webhooks ➝ Consult Customer Webhooks ➝ Consult Subscription Webhooks ➝ Consult Installment Webhooks ➝
Retours, statuts et webhooks 1. Codes de retour liés à la création de profil marchand La création d’un profil marchand via l’API d’enrôlement déclenche un processus automatisé permettant à CentralPay de collecter et valider les informations nécessaires à l’ouverture du profil. En cas d’échec, une réponse d’erreur HTTP est retournée immédiatement à l’appel API, précisant le champ en erreur et la nature du rejet (donnée manquante, incohérente ou invalide). ⚠️ Il n'existe pas de table de codes de retour centralisée pour ces erreurs, car elles sont liées aux validations dynamiques effectuées par champ. L'erreur retournée est toujours structurée dans le corps de réponse et permet de corriger précisément le point bloquant. 2. Statuts liés aux enrôlements Consultez les Statuts Merchant Enrollment ➝ 3. Webhooks liés aux enrôlements Consultez les Webhooks d’Onboarding ➝
Responses, articles of association, and webhooks 1. Return codes related to creating a merchant profile Creating a merchant profile via the enrollment API triggers an automated process that allows CentralPay to collect and validate the information needed to open the profile. If the request fails, an HTTP error response is immediately returned to the API call, specifying the field that caused the error and the nature of the rejection (missing, inconsistent, or invalid data). ⚠️ There is no centralized table of return codes for these errors, because they are linked to the dynamic validations performed on a per-field basis. The error returned is always structured within the response body and allows you to precisely correct the issue causing the blockage. 2. Articles of association related to enrollments View the Merchant Enrollment Terms and Conditions ➝ 3. Webhooks related to enrollments View the Onboarding Webhooks ➝
Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill
Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill
Marchand Partenaire CentralPay propose deux modèles distincts pour les partenaires souhaitant accompagner des marchands CentralPay dans leur intégration technique : le Partenaire Technique et le Partenaire Intégrateur. Dans les deux cas, les marchands restent en relation contractuelle directe avec CentralPay ; les modalités d’accès API, de mutualisation et de facturation diffèrent selon le modèle. Selon la nature de leur activité, ces partenaires peuvent également être immatriculés à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) afin d’encadrer juridiquement certaines activités de présentation et d’accompagnement des marchands lors de leur entrée en relation avec CentralPay. Ce statut ne confère aucun droit d’accès aux fonds ni aucun pouvoir d’exécution d’opérations de paiement. 1. Partenaire Intégrateur Le Partenaire Intégrateur est un prestataire technique mandaté par un ou plusieurs marchands standards. Il intervient en leur nom et pour leur compte, afin de faciliter leur connexion aux services CentralPay. Chaque marchand standard dispose de son propre point de vente (POS), de son propre profil Marchand CentralPay, et signe directement ses documents de souscription et son contrat (CCSP) avec CentralPay. L’Intégrateur ne détient aucun droit contractuel sur les comptes ou fonds du marchand. 1.1. Responsabilités et fonctionnement L’Intégrateur utilise les accès API délégués par chaque marchand (identifiants dédiés “Intégrateur”), dans le cadre d’un mandat contractuel entre l’Intégrateur et le marchand Il peut réaliser des actions techniques nécessaires à l’intégration et au RUN (paramétrage, suivi d’Instructions Techniques, maintenance), exclusivement via ces accès, sans pouvoir consulter les soldes ni initier / modifier / annuler une opération de paiement Les parcours sont généralement réalisés en “1 pour 1” : un client (payeur) règle un seul marchand, chaque marchand conservant son environnement et ses accès propres 1.2. Facturation Chaque marchand est facturé directement par CentralPay au titre des services souscrits dans son CCSP Le Partenaire Intégrateur n’intervient à aucun moment dans les flux financiers 1.3. Pour aller plus loin sur le modèle d’Intégrateur Le Partenaire Intégrateur intervient exclusivement en soutien technique des marchands standards, sans jamais agir comme intermédiaire de paiement ni représentant de CentralPay. Son rôle se limite à l’intégration, au support fonctionnel de niveau 1 et à la maintenance des interfaces Chaque marchand conserve l’entière maîtrise de son profil Marchand CentralPay : encaissements, versements, solde, paramétrage des accès API, gestion documentaire et contractuelle CentralPay peut mettre à disposition de l’intégrateur un accès portail strictement limité à l’administration technique (suivi d’Instructions Techniques, paramétrages, opérations nécessaires au RUN). Cet accès n’autorise pas la consultation des soldes, ni la manipulation de transactions financières, ni l’initiation/modification/annulation d’opérations de paiement, ni la modification d’IBAN ou de paramètres financiers Pour permettre la connexion, le marchand délègue à l’intégrateur des identifiants dédiés, avec des droits strictement limités et révocables à tout moment. Toutes les actions techniques sont réalisées via ces identifiants, sous la responsabilité du marchand Si le Partenaire Intégrateur est immatriculé à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) et qu’un cadre contractuel distinct le prévoit, il peut accompagner le marchand dans son entrée en relation (ex. : transmission d’un lien d’inscription, assistance à la constitution du dossier). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture de compte et des contrôles réglementaires À défaut, le Partenaire Intégrateur peut orienter le marchand vers CentralPay pour toute question contractuelle, tarifaire ou réglementaire liée aux services de paiement 2. Partenaire Technique Le Partenaire Technique est un acteur qui développe une solution mutualisée (ex. : marketplace, plateforme SaaS), à destination de plusieurs marchands standards. Il opère depuis un ou plusieurs points de vente ouverts à son nom dans CentralPay, auxquels des marchands peuvent être rattachés. Les opérations sont traitées par CentralPay au moyen d’un mécanisme interne de “Compte de Traitement” (utilisé par CentralPay pour recevoir et traiter temporairement les fonds en vue de leur transmission au bénéficiaire final). Le Partenaire Technique n’y dispose d’aucun droit de disposition : il transmet uniquement des données commerciales et conserve une visibilité sur les flux rattachés à ses points de vente, sans jamais pouvoir déclencher un transfert. 2.1. Responsabilités et fonctionnement Le Partenaire Technique dispose de ses propres accès API délivrés par CentralPay Il peut transmettre des Instructions Techniques (données commerciales, panier, commission, références, évènements logistiques…), et suivre les transactions rattachées aux marchands liés à ses points de vente Il n’a aucun accès aux fonctionnalités de transfert (notamment l’endpoint transfer) et ne peut pas accéder aux soldes ni effectuer de versements : CentralPay décide et exécute les opérations et mises à disposition de fonds Dans ce cadre, CentralPay peut gérer des paiements en mode “1 pour X” : un client (payeur) peut régler plusieurs marchands simultanément, CentralPay assurant ensuite la ventilation/mise à disposition au bénéfice des marchands 2.2. Facturation Le Partenaire Technique est facturé par CentralPay en fonction des opérations réalisées via son (ou ses) point(s) de vente, conformément aux conditions prévues au CCSP et aux documents de souscription applicables Lorsqu’une commission est prévue, CentralPay peut, sur la base des données commerciales transmises et selon les règles contractuelles, ventiler les flux : la part de commission est alors créditée sur le compte de commission du Partenaire Technique, sans que celui-ci ne détienne de fonds de tiers Pour aller plus loin sur le modèle de Partenaire Technique Le Partenaire Technique développe une solution mutualisée (ex. : marketplace, plateforme SaaS) intégrant CentralPay. Il opère depuis un ou plusieurs points de vente ouverts à son nom, qui accueillent les transactions de marchands standards associés Chaque marchand associé contracte directement avec CentralPay (CCSP et documents de souscription) et dispose de son propre profil Marchand CentralPay Le Partenaire Technique transmet à CentralPay les données commerciales des transactions (montant commercial, références, commission, évènements logistiques…). Ces données ne déclenchent aucun effet financier automatique : CentralPay analyse, contrôle, puis décide de traiter l’opération et d’initier les mises à disposition nécessaires CentralPay peut décider d’appliquer une retenue temporaire et/ou une date de déblocage pour la mise à disposition des fonds au bénéfice d’un marchand (ex. : jusqu’à une livraison/expédition), selon sa politique de risque, les règles des réseaux et ses obligations réglementaires Le Partenaire Technique ne détient jamais de fonds de tiers, ne donne aucun ordre de paiement, et ne peut intervenir dans les versements ou la tenue de compte. Il n’agit ni pour compte de tiers ni au nom de CentralPay L’accès du Partenaire Technique est limité à une vue et à des fonctionnalités strictement nécessaires à la transmission et au suivi d’Instructions Techniques ; il n’existe aucun accès au “Compte de Traitement” en tant que compte (pas de droit d’exécution, pas de droit de disposition, pas d’accès aux soldes) En cas d’immatriculation ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) et si un cadre contractuel distinct le prévoit, le Partenaire Technique peut accompagner les marchands dans leur entrée en relation (transmission de lien d’inscription, assistance documentaire), sous réserve de validation préalable par CentralPay 3. Règles de conformité communes Pour les deux modèles : Le Partenaire n’est pas prestataire de services de paiement, ne dispose d’aucun pouvoir d’exécution d’opérations de paiement et ne détient aucun fonds de tiers dans le cadre des services de paiement Les comptes, la mise à disposition des fonds, les versements et la protection des fonds sont gérés et encadrés par CentralPay, en sa qualité de PSP Aucune délégation réglementaire d’exécution de service de paiement (type agent PSP) n’est accordée à ces partenaires 3.1. Relation contractuelle avec les marchands Le Partenaire (technique ou intégrateur) conserve sa propre relation commerciale avec ses utilisateurs et reste responsable des services proposés sur sa plateforme. Il définit librement les conditions générales d’utilisation applicables à ses services. De leur côté, les marchands associés : Ouvrent leur propre profil Marchand CentralPay, lors d’un parcours d’enrôlement individualisé Signent directement avec CentralPay le CCSP et les documents de souscription applicables (dont la désignation éventuelle d’un partenaire) Reconnaissent que le partenaire pourra réaliser certaines actions techniques dans le cadre de son intégration (ex. : transmission d’une commande, remontée de panier, suivi d’Instructions Techniques), sans que cela ne constitue un ordre de paiement ni un accès aux fonds CentralPay agit alors directement auprès du marchand associé pour : la création et la gestion de son compte (signature électronique, affectation des POS, rattachement au partenaire) le traitement réglementaire des justificatifs transmis (KYC/KYB, lutte contre le blanchiment et le financement du terrorisme) la mise à jour documentaire ou les vérifications complémentaires nécessaires à la bonne exécution des services de paiement L’ensemble de cette organisation repose sur un dispositif contractuel strictement balisé : Le partenaire signe un contrat dédié avec CentralPay, encadrant son rôle et ses droits d’accès (API/portail) et, le cas échéant, les modalités de commissionnement Les marchands associés signent directement leurs documents contractuels CentralPay (CCSP et souscription), dans lesquels leur association au partenaire peut être précisée Les conditions générales du partenaire s’appliquent uniquement à l’usage de sa propre plateforme. Elles ne peuvent ni interférer avec les services de paiement CentralPay, ni se substituer aux documents contractuels CentralPay 4. Déclaration ORIAS (IOBSP / “MOBSP”) Un Partenaire Intégrateur ou un Partenaire Technique peut, si son activité le nécessite, être immatriculé à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”). Ce statut est distinct de celui d’agent de prestataire de services de paiement (au sens de l’article L.523-1 du Code monétaire et financier). Cette immatriculation peut permettre, selon le cadre contractuel applicable : De présenter les services de CentralPay et d’assister le marchand dans ses démarches d’entrée en relation D’accompagner la constitution du dossier (sans jamais se substituer aux contrôles réglementaires réalisés par CentralPay) Ce statut ne modifie en rien les restrictions précédemment énoncées : il ne confère aucun droit sur les fonds et aucun pouvoir d’exécution d’opérations de paiement. CentralPay demeure seul responsable de l’entrée en relation, des contrôles réglementaires et de l’exécution des services de paiement. Articles Déclaration MOBSP (Orias) Déclaration MOBSP (Orias) ℹ️ 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 : Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN 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 Allez sur le site de l’ORIAS Faites défiler vers le bas jusqu’à voir la section Comment ça marche ? Cliquez sur S’inscrire Vous serez redirigé vers le formulaire d’inscription. 2.2. Saisir les informations Entrez votre numéro SIREN Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique Saisissez les informations de votre représentant légal Saisissez les coordonnées de votre représentant légal Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un Entrez l’adresse de votre entreprise 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. Retournez sur le site de l’ORIAS Cliquez sur Connexion / Login Saisissez votre identifiant et votre mot de passe provisoire depuis votre email 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 Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît Choisissez Activité IOB Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP) Cliquez sur Soumettre 3.2. Fournissez des informations complémentaires 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. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds 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 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 Cliquez sur Aller à l’étape « Pièces justificatives » 3.3. Fournissez vos documents justificatifs Soumettez votre KBIS Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1 Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2. Cliquez sur Aller à l’étape suivante 3.4. Payez votre inscription La dernière étape consiste à payer votre inscription. 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 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) Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription 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.
Partner Merchant CentralPay offers two distinct models for partners wishing to assist CentralPay merchants with their technical integration: the Technical Partner and the Integration Partner. In both cases, merchants remain in a direct contractual relationship with CentralPay; the terms regarding API access, resource sharing, and billing differ depending on the model. Depending on the nature of their business, these partners may also be registered with ORIAS asIOBSPs (intermediaries—“MOBSPs”) in order to provide a legal framework for certain activities involving the introduction andsupport of merchants during onboarding with CentralPay. This article of association does not confer any right of access to funds or any authority to execute payment transactions. 1. Integration Partner An Integration Partner is a technical service provider contracted by one or more standard merchants. It acts on their behalf and for their account to facilitate their connection to CentralPay services. Each standard merchant has its own Point of Sale (POS), its own CentralPay Merchant Profile, and signs its application documents and contract (CCSP) directly with CentralPay. The Integrator has no contractual rights to the merchant’s accounts or funds. 1.1. Responsibilities and Operations The Integrator uses the API access credentials delegated by each Merchant (dedicated “Integrator” credentials) under a contractual agreement between the Integrator and the Merchant He or she may perform the technical tasks necessary for Integration and RUN (configuration, following technical instructions, maintenance), exclusively through these access points, without being able to view account balances or initiate, modify, or cancel a payment transaction. Transactions are generally conducted on a “one-to-one” basis: a customer (Payer) pays a single Merchant, with each Merchant retaining its own environment and access points. 1.2. Billing Each Merchant is billed directly by CentralPay for the services subscribed to in their CCSP The Integration Partner does not get involved in the financial flows at any time 1.3. To learn more about the Integrator model The Integration Partner provides technical support exclusively to standard merchants and never acts as a payment intermediary or representative of CentralPay. Its role is limited to integration, Level 1 functional support, and interface maintenance. Each merchant retains full control over their CentralPay Merchant Profile: collections, payouts, balance, API access settings, and document and contract management CentralPay may provide the integrator with portal access strictly limited to technical administration (monitoring of Technical Instructions, configuration settings, and operations necessary for RUN). This access does not allow the viewing of balances, the manipulation of financial transactions, the initiation, modification, or cancellation of payment transactions, or the modification of IBANs or financial parameters. To enable the connection, the merchant provides the integrator with dedicated credentials, which have strictly limited permissions and can be revoked at any time. All technical actions are performed using these credentials, under the merchant’s responsibility. If the Integration Partner is registered with ORIAS as an IOBSP (Intermediary – “MOBSP”) and a separate contractual framework provides for it, they may assist the Merchant in onboarding (e.g., providing a registration link, assisting with the onboarding process). CentralPay retains sole discretion regarding onboarding, account opening, and regulatory compliance checks. Otherwise, the Integration Partner may refer the Merchant to CentralPay for any contractual, pricing, or regulatory questions related to payment services 2. Technical Partner A Technical Partner is an entity that develops a shared solution (e.g., marketplace, SaaS platform) intended for multiple standard merchants. It operates through one or more Points of Sale (POS) registered under its name in CentralPay, to which merchants can be linked. Transactions are processed by CentralPay through an internal “Technical Partner Account” mechanism (used by CentralPay to temporarily receive and process funds prior to their transfer to the final Beneficiary). The Technical Partner has no right to dispose of these funds: it merely transmits commercial data and maintains visibility into the cash flows associated with its POSes, without ever being able to initiate a transfer. 2.1. Responsibilities and Operations The Technical Partner has its own API credentials issued by CentralPay It can transmit technical instructions (sales data, shopping cart, commission, product codes, logistics events, etc.) and track transactions associated with Merchants linked to its Point of Sale (POS) locations He has no access to transfer features (including the endpoint transfer) and cannot view balances or make Payouts: CentralPay decides on and executes transactions and fund transfers. In this context, CentralPay can process “1-for-X” payments: a customer (payer) can pay multiple Merchants simultaneously, and CentralPay then handles the allocation and disbursement of funds to the Merchants. 2.2. Billing CentralPay bills the Technical Partner based on the transactions processed through its Point of Sale (POS) systems, in accordance with the terms set forth in the CCSP and the applicable subscription documents. When a commission is applicable, CentralPay may, based on the transaction data provided and in accordance with the terms of the agreement, allocate the funds: the commission portion is then credited to the Technical Partner’s Commission Account, without the Technical Partner holding any third-party funds To learn more about the Technical Partner model The Technical Partner develops a shared solution (e.g., marketplace, SaaS platform) that integrates CentralPay. It operates through one or more Points of Sale (POS) registered in its name, which process transactions from affiliated standard merchants. Each participating merchant enters into a contract directly with CentralPay (CCSP and subscription documents) and has its own CentralPay Merchant Profile The Technical Partner transmits transaction data (transaction amount, reference numbers, commission, logistics events, etc.) to CentralPay. This data does not trigger any automatic financial action: CentralPay analyzes and verifies the data, then decides whether to process the transaction and initiate the necessary fund transfers. CentralPay may decide to impose a temporary hold and/or set a Release date for the funds to be made available to a Merchant (e.g., pending delivery or shipment), in accordance with its risk policy, network rules, and regulatory obligations. The Technical Partner never holds third-party funds, does not issue any payment orders, and cannot intervene in payouts or account management. It acts neither on behalf of third parties nor in the name of CentralPay. The Technical Partner’s access is limited to the views and features strictly necessary for the transmission and tracking of Technical Instructions; there is no access to the “Technical Partner Account” as an account (no right of execution, no right of disposal, no access to balances) In the event of ORIAS registration as an IOBSP (intermediary – “MOBSP”) and if a separate contractual framework so provides, the Technical Partner may assist merchants in onboarding (providing a registration link, assisting with documentation), subject to prior approval by CentralPay 3. Common Compliance Rules For both models: The Partner is not a Payment Service Provider (PSP), has no authority to execute payment transactions, and does not hold any third-party funds in connection with payment services Accounts, the provision of funds, payouts, and the protection of funds are managed and overseen by CentralPay in its capacity as a payment service provider (PSP) No regulatory delegation of authority to provide payment services (such as a PSP agent) is granted to these partners 3.1. Contractual Relationship with Merchants The Partner (whether a technical partner or integration partner) maintains its own business relationship with its users and remains responsible for the services offered on its platform. It is free to define the terms and conditions of use applicable to its services. For their part, the affiliated merchants: Create their own CentralPay Merchant Profile as part of a personalized Enrollment process Sign the CCSP and the applicable subscription documents (including the designation of a partner, if applicable) directly with CentralPay Acknowledge that the partner may perform certain technical actions as part of its integration (e.g., submitting an order, submitting a shopping cart, following technical instructions), without this constituting a payment order or access to funds CentralPay then works directly with the affiliated Merchant to: creating and managing their account (electronic signature, POS assignment, linking to a partner) the regulatory processing of submitted supporting documents (KYC/KYB, anti-money laundering and counter-terrorism financing) updating documentation or conducting additional verifications necessary for the proper execution of payment services This entire organization is based on a strictly defined contractual framework: The partner signs a dedicated contract with CentralPay that outlines its role and access rights (API/portal) and, if applicable, the commission terms. Affiliated merchants sign their CentralPay contractual documents (CCSP and subscription) directly, in which their affiliation with the partner may be specified The partner’s terms and conditions apply solely to the use of its own platform. They may not interfere with CentralPay’s payment services or supersede CentralPay’s contractual documents. 4. ORIAS Declaration (IOBSP / “MOBSP”) An Integration Partner or a Technical Partner may, if required by its business activities, be registered with ORIAS as an IOBSP (intermediary—“MOBSP”). This status is distinct from thatof a Payment Service Provider (PSP) agent (as defined in Article L.523-1 of the Monetary and Financial Code). Depending on the applicable contractual framework, this registration may allow for: To present CentralPay’s services and assist the Merchant with the Onboarding process To assist with the preparation of the application (without ever replacing the regulatory reviews conducted by CentralPay) This status does not alter the restrictions set forth above in any way: it does not confer any rights to the funds or any authority to execute payment transactions. CentralPay remains solely responsible for onboarding, conducting regulatory checks, and executing payment services. Articles MOBSP (Orias) Declaration MOBSP (Orias) Declaration ℹ️ Before reading this page, please see the section on onboarding for partners. CentralPay partners based in France operate as intermediaries in banking and payment services (IOBSP), specifically as Intermediaries for Banking and Payment Services (MOBSP). To become a CentralPay MOBSP partner, you must register with ORIAS. CentralPay will then need to register you as its Intermediary. Your part of the process can be completed in a few hours, while CentralPay’s part takes a few days. ORIAS, for its part, may take up to two months to review your application. Although this process is your responsibility, CentralPay can assist you if needed. Please contact our customer service department if you need help. 1. Prepare your data 1.1. Get your certificate of appointment After signing your partnership agreement with CentralPay: Send an email to our customer service department that includes your company name and SIREN number CentralPay will respond with your authorization certificate. You will need this document for step 3.3. 1.2. Gather your supporting documents During Step 3.3 of the registration process, you will need to provide the following supporting documents: Commercial register issued within the last three months Proof of professional qualifications: a degree from an accredited business or management school; an RNCP certification (NCF 122, 128, 313, or 314, levels 7 through 5); or recognition by the CIEP for foreign degrees If you do not have proof of professional competence accepted by Orias, please send an email to our customer service department. CentralPay can help you complete the necessary training. See the attached image, which refers to the Level III – IOBSP category (Level 3). 2. Create your ORIAS account 2.1. Access the form Go to the ORIAS website Scroll down until you see the » How Does It Work? » section . Click » Sign Up« You will be redirected to the registration form. 2.2. Enter the information Enter your SIREN number Enter your business information. Be sure to register as a legal entity. Enter your legal representative’s information Enter the contact information for your legal representative Enter your company’s contact information, including your website if you have one Enter your business address Check all the information you’ve entered, then click » Submit. » 2.3. Log in to your ORIAS account Check your inbox for an email from ORIAS (no-reply-orias@orias.fr). The email contains your username and a temporary password. Return to the ORIAS website Click » Sign In » / » Login » Enter your username and the temporary password provided in your email Follow the instructions on your screen to change your password, then save it After saving your new password, you will be redirected to your ORIAS account page 3. Submit a new registration request 3.1. Register Your Business Click » New Registration » to begin the registration process; a form will appear Select IOB Activity Next, select » Non-Exclusive Intermediary for Banking Transactions and Payment Services (MOBSP)« Click Submit 3.2. Please provide additional information 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 If a different registration type is specified, use your browser’s Back button to return to the previous page and try again. For the first question, select the answer: » I declare that I am not entrusted with any funds. » For the second question, select the answer: » Minor, » indicating to ORIAS that financial services are not your company’s primary business activity For the third question, select the answer: Yes, indicating to ORIAS that your company offers credit (or other banking and payment services) solely as a secondary service Click » Go to the ‘Supporting documents’ step » 3.3. Please provide your supporting documents Submit your Commercial register Submit your authorization form, which is the authorization certificate from Step 1.1 Submit your Professional Competency for « you » (Level I IOBSP), which serves as your proof of professional competence for Step 1.2. Click « Go to the next step« 3.4. Pay your registration fee The final step is to pay your registration fee. Please note that you are paying for registration as a non-exclusive Intermediary for banking transactions and payment services. Your registration cannot be finalized without paying the fee. Choose to pay with your credit card, or click » Select another payment method » to pay by Bank transfer or check. After you’ve paid, click » Download Invoice » to download your receipt Click » Complete Registration » to finalize your registration You will receive your ORIAS registration number by email, confirming that your registration is complete. Please email this number to CentralPay’s customer service department. 4. CentralPay registers you as a MOBSP After you email your Orias registration number to CentralPay, CentralPay will register you as a non-exclusive Intermediary for banking operations and payment services (MOBSP). 5. ORIAS reviews your application ORIAS will review your documents and application to ensure that your file is fully compliant. ORIAS will notify you of its final decision via email. If your application is approved, the email will also include the date on which your MOBSP status will take effect. Please feel free to contact ORIAS by phone (09.69.32.59.73) or email (contact@orias.fr) if you do not receive the information regarding your application in a timely manner. 6. Update your legal notices After receiving approval from ORIAS and becoming a MOBSP, be sure to update your legal notices. Add something similar to the following example to the footer of your website, to your legal notices page, and anywhere else you distribute or sell payment services. [Company Name], a company registered with the Trade and Companies Register (RCS) of [City of Registration] under number [RCS number], and listed in the Single Register of Insurance Intermediaries, Banking and Finance under registration number [ORIAS registration number] as a non-exclusive Intermediary for banking transactions and payment services.
SCT Transaction Refund See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f43d3e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f43d3e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f43d3e.load(); });
SCT Transaction Refund See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f44638 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f44638", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f44638.load(); });
Portail d'inscription Le portail d’inscription permet la création d’un profil Marchand CentralPay en assurant les étapes d’entrée en relation : 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 marchands Mandataires, il permet donc de créer facilement des Profils Marchands Participants 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’inscription à l’un de vos futurs participants, vous pouvez utiliser le service de demande d’enrôlement. Accès : Recette Portail d’Inscription Production Portail d’Inscription
Onboarding Portal The Onboarding Portal enables the creation of a CentralPay Merchant Profile by handling the steps involved in Onboarding: from creating the User Profile to signing the contract, including the collection of KYC/KYB information. It interfaces with CentralPay’s Onboarding API. For Intermediary Merchants, this makes it easy to create Participant Merchant Profiles through a portal hosted by CentralPay, thereby avoiding the need for a full Integration of the Onboarding API. To send a registration link to one of your future participants, you can use the Enrollment request service. Access: Recette Onboarding Portal Production Onboarding Portal
SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade
SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade
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 Consultez les Statuts Transaction ➝ Consultez les Statuts Refunds ➝ 3. Webhooks liés aux SCT Transactions Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks Refunds ➝ Consultez les Webhooks Customer ➝
Responses, statuses, and 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 Consultez les Statuts Transaction ➝ Consultez les Statuts Refunds ➝ 3. Webhooks liés aux SCT Transactions Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks Refunds ➝ Consultez les Webhooks Customer ➝
Email de confirmation 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. 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 Marchand. Adresse email de l’expéditeur : Paramètrage depuis le point de vente Nom de l’expéditeur : Paramètrage depuis le point de vente Votre logo : Paramètrage depuis le point de vente Nom du point de vente : Paramètrage depuis le point de vente Texte de pied de page : Paramétrage depuis l’entrrée Configuration Email confirmation paiement Créer Langue d’affichage : Renseigner la valeur « endUserLanguage » dans la requête de Transaction (anglais par défaut)
Confirmation email When a card transaction has been successfully completed, CentralPay can send a payment confirmation email to your customer. To do this, you must enable it by configuring the confirmation email settings in your Point of Sale. This email is sent by default to the email address of the Customer associated with the transaction, but you can enter the receiptEmail value of the transaction if you wish to send it to a different address. Configuration The confirmation email has a standardized format displaying the various payment details; however, you can configure several parameters from the Merchant Portal. Sender email address: Configuration from the Point of Sale Sender name: Configuration from the Point of Sale Your logo: Configuration from the Point of Sale Point of Sale name: Configuration from the Point of Sale Footer text: Configuration from the Configuration Payment confirmation email Create entry Display language: Enter the « endUserLanguage » value in the Transaction request (English by default)
Paiements récurrents Articles Abonnementsubscription Fractionnéinstallment Abonnement 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 Marchand. 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 : Recette Portail Marchand – Modèles d’abonnements Production Portail Marchand – Modèles d’abonnements 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 Marchand. Accès : Recette Portail Marchand – Paramétrages d’abonnements Production Portail Marchand – Paramétrages d’abonnements 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 Marchand 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é 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 Marchand : Accès : Recette Portail Marchand – Paramétrages Paiements Fractionnés Production Portail Marchand – Paramétrages Paiements Fractionnés 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
Recurring payments Articles Subscriptionsubscription Installmentinstallment Subscription The subscription service allows you to automatically process recurring transactions on your customer profiles based on a subscription template defined in advance via the CentralPay API or the Merchant Portal. You can then add due dates or modify the amounts on the fly using the Invoice & Invoice Item services. This service allows you to generate either card transactions or SDD (SEPA Direct Debit) transactions. Useful definitions for this section:– SubscriptionModel : subscription template (specifying the subscription amount and frequency)– Subscription : subscription appplied to a customer– Invoice : invoice, use this option if you need to change the amount within a subscription plan– InvoiceItem : line item or item included in the invoice. An invoice may contain multiple line items or items ℹ️ The "Subscription" service is not the only way to process recurring transaction.Visit the Recurring card transactions page or the Direct debit transactions page for details by payment method. 1. Create a subscription template (subscriptionModel) Access: Recette Merchent Portal – Subscription templates Production Merchent Portal – Subscription templates The subcriptionModel allows you to create different types of subscriptions based on the services you offer. For example, if you have two types of subscription plans available—one that includes the basic features of your service and the other that includes advanced features, you will need to create two models: One for the “basic” subscription plan One for the “advanced” subscription plan Each “SubscriptionModel” has a unique ID. You will provide this ID in your API requests when you want to apply a subscription to a customer based on that model. You can use the following attributes: amount : amount to be entered in centimes intervalUnit : DAY / WEEK / MONTH / YEAR (day / week / month / year) intervalCount : the number of « intervalUnit » units between two due dates (e.g., if intervalUnit = DAY and intervalCount = 10, then there will be a transaction every 10 days) iterationCount: number of installments (note that the first transaction is not included in this parameter; it is therefore added to this number) Example: amount = 3000 intervalUnit = DAY intervalCount = 3 iterationCount = 3 This means your subscription template will be set up to bill your customer 30.00 EUR every 3 days for 4 billing cycles (for a total subscription period of 12 days). 2. Create a subscription (subscription) To create a subscription, you must first create a Customer that contains at least: A Card (if you wish to make card transactions) Or a Mandate (if you wish to make card transactions via SEPA direct debit) You can then create a Subscription: Depending on your preferred payment method: for card transactions : enter the customer profile ID « customerId » for transactions via SEPA direct debit : enter the mandate SEPA direct debit ID « mandateId » an enter the desired transaction date in “requestedCollectionDate” for transactions between CentralPay accounts : enter the sender’s account ID “walletId” Enter the subscription template ID « subscriptionModelId Enter your client’s IP address in “endUserIp” Enter your CentralPay point-of-sale ID in the “pointOfSaleId” field Please note that when a subscription is created, your customer automatically receives an email containing the details of their payment schedule. This email also includes a link to our Customer Portal, where they can view the status of their recurring payments, update their credit card or SEPA direct debit information, and cancel a subscription if necessary. ℹ️ Customers can cancel their subscription at any time through the customer portal provided to them. Be sure to subscribe to the subscription cancellation webhooks. If your subscription includes a minimum commitment period, it is best to use the recurring payment method or ask CentralPay not to share the link to the customer portal. Automating retries in case of failure If a payment fails to be debited, CentralPay will make additional debit attempts based on the settings defined in the Merchant Portal. Access: Recette Merchent Portal – Subscription settings Production Merchent Portal – Subscription settings Field behavior: Transaction time: the time at which the direct debit payments will be processed by CentralPay Selection of a value between 4 and 23 First failed invoice payment: What to do in the event of a first failed direct debit Try again in 1, 3, 5, or 7 days = a new attempt to process the transaction on day+X after the initial transaction Stop = the system will immediately perform the final action, without considering the subsequent actions. Second failed invoice payment: What to do in the event of a second failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will immediately perform the final action, without considering the subsequent actions. Third failed invoice payment: What to do in the event of a third failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will immediately perform the final action, without considering the subsequent actions. Final action: What to do if the previous actions failed. CANCELED = Subscription cancelation (changing the subscription status to CANCELED) FAILURE = Subscription failure (subscription status changed to FAILURE) UNPAID = Unpaid subscription (subscription status changed to FAILURE + SUBSCRIPTION_UNPAID hook sent) 4. Subscription cancellation functions There are two ways to cancel a subscription via the API, the Merchant Portal, or the Customer Portal: Cancel: the subscription is canceled immediately Cancel at the end of the billing period: The subscription will be canceled at the end of the current billing period (so that the subscriber can continue to use your service during their last paid period). When using the API, you must fill in the “atPeriodEnd” field. Note: During this time, you can reactivate your subscription using the “reactivate” feature in Subscriptions. ℹ️ Subscriptions for which all payments have been made automatically change to CANCELED status. 5. Change the amount of a subscription payment CentralPay creates an invoice for each billing cycle of a subscription, based on the associated subscription model (subscriptionModel). You can take manual actions at any time to modify the billing dates (invoices) for a subscription. Below is a list of possible actions: Modify the amount of an invoice installment: The invoiceItem service allows you to modify the amount of an invoice installment by entering a positive or negative amount that will be added to the original installment amount. The invoiceItem will be applied to the next subscription installment, whether it is created manually or automatically. You can also specify a particular installment in your request by providing an invoiceId. Create an additional payment due date: so-called “recurring” payment due dates (invoices) are created automatically based on your subscription model. You can create additional one-time payment due dates for your subscription by creating an invoice. Delete an unprocessed invoiceItem: if it is not yet linked to an invoice Close an upcoming payment due date: if you do not want CentralPay to process a payment (and/or its automatic retry attempts), you can close it using the “close” feature on the invoice. If necessary, you can reopen this payment due date using the “reopen” feature on the invoice if it has not been paid or if there are still scheduled retry attempts remaining. Forcing a payment due: transactions are processed automatically by the subscription service; however, you can initiate the transaction in advance or retry it manually using the “pay” feature on the invoice. These “manual” payments are not tracked by the automated retry system. This action can be performed on a closed invoice. 6. Complete guide to creating a subscription Installment Installment payments allows you to split the payment of an invoice into several installments. CentralPay then charges the customer’s card according to a payment schedule defined during the first transaction. It can be used to offer your customer a payment plan or to automate a “down payment/balance” type of payment. Unlike subscriptions, a customer cannot cancel an installment payment from the customer portal. CentralPay helps you collect payments owed by your customers through a system of automated retries in the event of a failed direct debit. However, CentralPay does not guarantee the collection of these amounts through credit or a receivables financing system. ℹ️ The "Installment" is not the only way to process recurring transactions.Visit the Recurring card transactions page or the Direct debit transactions page for details by payment method. 1. Create an installment payment First, you must create a Customer that contains at least: A Card (if you wish to make card transactions) Or a Mandate (if you wish to make card transactions via SEPA direct debit) Next, the Installment service will allow you to easily set up an installment payment based on the information provided in your request. Then you can create an Installment: Depending on your preferred payment method: for card transactions : enter the customer profile ID « customerId » for transactions via SEPA direct debit: enter the SEPA direct debit mandate ID « mandateId » and enter the desired transaction date in « requestedCollectionDate » Enter the amount in centimes « amounts » Enter the currency in ISO “currency” format Enter your client’s IP address in “endUserIp” Enter the installment settings « iterationCount », « IntervalCount » and « intervalUnit » With this service, you can also: d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements to specify a deposit amount that will be deducted from the total amount (depositAmount). This deposit can also be set for a specific date (depositStartingDate) to set a start date for the installment plan (startingDate): for example, if you want the down payment to be paid immediately and the first installments to be debited starting on a certain date Please note that when a installment payment is created, your customer automatically receives an email containing the details of their payment schedule. This email also includes a link to our Customer Portal, where they can view the status of their recurring payments and update their credit card or SEPA direct debit information if necessary. 2. Example of installment payment You want to bill your customer €1,000, divided into 3 monthly payments starting on July 5, 2024, with a down payment of €200 on June 28, 2024, and add an additional fee of €10: amount =100000 depositAmount = 20000 feeAmount = 1000 currency = EUR intervalUnit = MONTH intervalCount = 1 iterationCount = 3 depositStartingDate = 2024-06-28 startingDate = 2024-07-05 The split plan will be as follows: June 28, 2024 = €200.00 (deposit) July 05, 2024 = €276,68 (first installment + rounding adjustments + additional fees) August 05, 2024 = €276,66 (second installment) September 05, 2024 = €276,66 (third installment) ℹ️ The rounding are applied to the first payment (excluding deposit). 3. Automating retries in case of failure If a payment fails to be debited, CentralPay will make additional debit attempts based on the settings defined in the Merchant Portal: Access: Recette Merchent Portal – Installment Payment Settings Production Merchent Portal – Installment Payment Settings Field behavior: Transaction time: the time at which the direct debit payments will be processed by CentralPay Selection of a value between 4 and 23 First payment failure: What to do in the event of a first failed direct debit Try again in 1, 3, 5, or 7 days = a new attempt to process the transaction on day+X after the initial transaction Stop = the system will not another attempt to process the payment Second payment failure: What to do in the event of a second failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a second attempt to process the payment Third payment failure: What to do in the event of a third failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a third attempt to process the payment. Fourth payment failure: What to do in the event of a fourth failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a fourth attempt to process the payment
Charge jQuery(document).ready( function($) { window.live_6ab3046f4a6c9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Charge.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4a6c9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4a6c9.load(); });
Charge jQuery(document).ready( function($) { window.live_6ab3046f4ab26 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Charge.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4ab26", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4ab26.load(); });
Marchand Mandataire Agent de Prestataire de Services de Paiement (Agent PSP) ou Distributeur de Monnaie Électronique (DME) Certains projets nécessitent un cadre réglementaire spécifique permettant à des mandataires d’agir au nom et pour le compte de CentralPay, établissement agréé et supervisé par l’ACPR. Deux statuts principaux peuvent être mobilisés en France : L’Agent de Prestataire de Services de Paiement (Agent PSP), pour les projets nécessitant une gestion active des flux de paiement (encaissements, transferts, versements), dans le strict cadre d’un mandat et sous la responsabilité de CentralPay Le Distributeur de Monnaie Électronique (DME), pour des projets reposant sur des mécanismes de valeur stockée / monnaie électronique (plateformes C2C, titres prépayés, réseaux fermés, etc.), dans le cadre d’un contrat de distribution Ces modèles peuvent offrir une autonomie opérationnelle importante au mandataire, mais s’accompagnent de contraintes réglementaires fortes et d’une supervision permanente, sous la responsabilité de CentralPay. 1. Agent de Prestataire de Services de Paiement (Agent PSP) 1.1. Cas d’usage typiques Plateformes B2B avec flux financiers complexes Outils de gestion financière ou de trésorerie pour tiers Solutions SaaS intégrant l’encaissement et la mise à disposition de fonds à des bénéficiaires 1.2. Rôle de l’Agent L’Agent PSP agit en tant que représentant réglementaire de CentralPay pour la fourniture de services de paiement, au nom et pour le compte de CentralPay, dans les limites du mandat et des droits techniques configurés. Fonctionnalités (selon périmètre contractuel et habilitations) : Mise en relation commerciale et promotion des services CentralPay auprès des utilisateurs finaux (les “Participants”) Accompagnement des Participants à l’ouverture de comptes CentralPay (parcours CentralPay et/ou parcours piloté par l’Agent, selon modèle retenu) Ouverture, au nom de l’Agent, de comptes techniques dédiés à la ségrégation des flux (ex. compte de collecte et compte de commission), sans que l’Agent ne devienne propriétaire des fonds des Participants Transmission à CentralPay des demandes/instructions nécessaires à la bonne exécution des services (ex. affectation des fonds, demandes de versement, demandes de remboursement), CentralPay restant seul exécutant Gestion du support de premier niveau (N1) et traitement opérationnel défini comme prestation externalisée, avec escalade vers CentralPay lorsque requis 1.3. Les 3 options du modèle Agent (délégation KYC/KYB) Le modèle Agent de CentralPay prévoit trois niveaux de délégation en matière d’inscription et de contrôles KYC/KYB. Une seule option est applicable à la fois, et le niveau retenu est formalisé contractuellement : Option A – Agent simple (absence de délégation de contrôle) : l’Agent agit comme Agent PSP déclaré mais sans délégation KYC/KYB. Il se limite à la mise en relation commerciale et oriente les Participants vers les parcours/outils fournis par CentralPay. Il ne reçoit aucun mandat pour collecter des pièces justificatives ni effectuer des contrôles. Option B – Agent collecteur (délégation de la complétude administrative) : l’Agent est mandaté pour constituer le dossier administratif du Participant pour le compte de CentralPay. Il collecte les pièces et réalise des vérifications strictement formelles de complétude (lisibilité, validité apparente, cohérence documentaire). Il ne réalise pas d’analyse de risque, ni filtrage sanctions/PPE, ni analyse approfondie ; la décision d’entrée en relation demeure celle de CentralPay. Option C – Agent délégataire de contrôle (délégation de niveau 1) : option réservée aux Agents disposant d’une organisation conformité dédiée et expressément validée par CentralPay. L’Agent peut collecter les pièces KYC/KYB, vérifier la complétude/cohérence et assurer un contrôle de vigilance de niveau 1 exclusivement formel et administratif. Il peut également participer au traitement des alertes de niveau 1 (collecte/qualification administrative/transmission), selon des procédures strictes. CentralPay conserve la décision finale et peut révoquer l’option à tout moment en cas de défaillance. 1.4. CentralPay reste responsable CentralPay reste pleinement responsable des services fournis aux Participants L’Agent agit dans le strict cadre du mandat qui lui est confié, et selon les habilitations techniques mises en place Toute activité réalisée via la plateforme est auditable, traçable et documentée 1.5. Contraintes réglementaires Signature d’un contrat d’Agent et de ses documents associés Enregistrement officiel en tant qu’Agent sur le registre de l’ACPR (via CentralPay) Évaluation de la capacité organisationnelle du mandataire et exigences renforcées (conformité, sécurité, confidentialité, continuité, contrôle interne) Reporting périodique à CentralPay (volume d’activité, incidents, qualité de service) et possibilité d’audit sur pièce ou sur site Formations obligatoires des équipes opérationnelles, selon le périmètre de délégation 2. Distributeur de Monnaie Électronique (DME) 2.1. Cas d’usage typiques Plateformes de vente entre particuliers (C2C) Réseaux d’enseignes prépayées ou de bons cadeaux Programmes de fidélité à valeur monétaire stockée 2.2. Rôle du DME Le DME agit pour le compte de CentralPay dans la mise à disposition et la gestion opérationnelle de la monnaie électronique, dans les limites prévues par le contrat de distribution et les règles définies par CentralPay. Fonctionnalités : Mise en relation de CentralPay avec les utilisateurs finaux (les “sous-marchands” / utilisateurs de monnaie électronique) Transmission à CentralPay des instructions de chargement (montant, bénéficiaire, commission), CentralPay restant seul émetteur/exécutant Visualisation et suivi des opérations via un dispositif de suivi dédié (ex. vue consolidée / compte centralisateur selon modèle), sans droit de disposition sur les fonds Transmission des demandes/instructions permettant la circulation de monnaie électronique entre utilisateurs dans un cadre défini (réseau fermé, règles contractuelles), sous contrôle de CentralPay Transmission des demandes de remboursement de monnaie électronique à la demande de l’utilisateur, selon les règles applicables Détention d’un compte de commission pour percevoir les frais définis dans ses CGU 2.3. Limites fonctionnelles Le DME ne détient jamais les fonds : il agit comme intermédiaire et ne peut pas conserver, stocker ou utiliser les fonds collectés Il n’est pas autorisé à créer/émettre lui-même de la monnaie électronique Il ne peut pas offrir de services de paiement non explicitement autorisés dans le cadre contractuel défini par CentralPay Il ne peut pas sous-traiter son activité, sauf accord explicite de CentralPay 2.4. Contraintes réglementaires Signature d’un contrat de distribution avec CentralPay Déclaration / formalités de mise en conformité réalisées sous l’initiative et la responsabilité de CentralPay, selon la réglementation applicable Mise en conformité organisationnelle : dispositifs internes de sécurité, confidentialité, gestion des incidents, continuité d’activité Supervision permanente par CentralPay, incluant : Contrôle de l’usage de l’API / des habilitations Reporting régulier sur l’activité Formation obligatoire des équipes du DME Validation des CGU utilisées auprès des utilisateurs Articles Déclaration Agent PSP (ACPR) Déclaration Distributeur ME (ACPR) Déclaration Agent PSP (ACPR) Rôle de l’ACPR L’ACPR (Autorité de Contrôle Prudentiel et de Résolution), adossée à la Banque de France, tient le registre des prestataires régulés et de leurs agents. Dans le cadre d’un modèle Agent PSP, CentralPay (établissement agréé) constitue et dépose la notification/dossier d’enregistrement de l’Agent et demeure l’unique interlocuteur de l’ACPR. Le futur Agent ne peut pas déposer de dossier directement auprès de l’ACPR : les échanges sont pilotés par CentralPay, avec le concours de l’Agent (transmission de pièces, réponses aux questions, éléments d’organisation). Étapes de déclaration d’un Agent ÉtapeDescription1. Cadrage & pré-qualificationAnalyse du modèle, du périmètre fonctionnel et des responsabilités ; validation juridique & conformité côté CentralPay2. Constitution du dossierCollecte des pièces société/dirigeants, éléments d’organisation (process, contrôles, sécurité), CGU Agent/Participants, prévisions d’activité3. Dépôt / échanges ACPRDépôt réalisé par CentralPay ; réponses aux demandes complémentaires pilotées par CentralPay avec l’aide de l’Agent4. Enregistrement & activationÀ l’issue de l’enregistrement sur le registre public, CentralPay peut activer l’Agent en production (avant cela, l’activité reste bloquée) 1. Responsabilités de l’Agent En tant qu’Agent PSP, l’Agent agit au nom et pour le compte de CentralPay dans le périmètre défini contractuellement. CentralPay reste pleinement responsable de la fourniture des services de paiement et de la conformité réglementaire ; toutefois, l’Agent doit appliquer strictement les procédures et exigences opérationnelles fixées par CentralPay, notamment en matière de LCB-FT et de lutte contre la fraude. L’Agent est notamment responsable de : La compréhension de l’activité de ses marchands/Participants et de la cohérence économique des opérations initiées via son modèle La mise en œuvre des dispositifs opérationnels attendus (process internes, contrôles, traçabilité, gestion des incidents) et du respect des consignes CentralPay La lutte contre la fraude (détection, escalade, coopération) et le respect des obligations de vigilance dans le périmètre confié La coopération avec CentralPay en cas de demande d’information (contrôles, audit, questions ACPR), et la transmission rapide des pièces demandées L’Agent doit signer : Un Contrat d’Agent PSP avec CentralPay (mandat / externalisation / supervision / flux) Le CCSP (Contrat Cadre de Services de Paiement) applicable à l’Agent en sa qualité de client professionnel de CentralPay (accès plateforme, services souscrits) Des CGU Agent (ou documentation équivalente) encadrant sa relation avec ses Participants, incluant les mentions nécessaires sur les parcours, la ventilation, les dates de déblocage et les éventuelles demandes de versements Selon le périmètre retenu (et les annexes applicables), certaines fonctions peuvent être déléguées à l’Agent (ex. collecte et contrôles formels KYC/KYB). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture/maintien des comptes et des décisions réglementaires. 2. Devenir Partenaire Agent CentralPay Le processus d’enregistrement d’un Agent dépend de la complétude du dossier, du niveau de délégation opérationnelle et des échanges avec l’ACPR. En pratique, il s’étale généralement sur plusieurs semaines et peut être prolongé si des pièces complémentaires sont demandées. 2.1. Résumé des étapes ÉtapeDétails1. Compréhension du modèle– Cadrage du périmètre et des responsabilités– Description des flux & cas d’usage– Validation par les équipes Juridique & Conformité de CentralPay2. Offre commerciale– Présentation par CentralPay– Alignement sur le périmètre (technique, opérationnel, conformité)3. Contractualisation– Signature du Contrat d’Agent– Signature/acceptation du CCSP applicable à l’Agent4. Test & intégration– Accès sandbox– Intégration technique & recette– Vérification des parcours (onboarding/consentement/affichages)5. Instruction ACPR– Collecte des éléments réglementaires– Constitution et dépôt du dossier auprès de l’ACPR par CentralPay– Gestion des questions / compléments6. Mise en production– Activation en production après enregistrement– Tests en environnement de recette / production encadrée 2.2. Pièces à fournir à CentralPay Phase 1 – Pré-constitution du dossier CGU Agent / documentation contractuelle Participants (parcours, consentements, information “agent”, ventilation/commission, dates de déblocage, modalités de remboursement) Définition des activités régulées, services associés, modèle d’affaires Organigramme (y compris répartition des effectifs par service) et description des rôles clés Structure de l’actionnariat / gouvernance Flux prévisionnels sur 3 ans confiés à CentralPay (volumes, montants, typologies) Nombre d’enrôlements prévisionnels sur 3 ans Cas de reprise de KYC existant (migration) le cas échéant Phase 2 – Déclaration auprès du régulateur Signature du Contrat d’Agent (préalable au dépôt du dossier) CentralPay collecte et dépose les pièces suivantes (liste indicative) : Kbis < 3 mois de la société et, le cas échéant, des sociétés de tête/dirigeantes Statuts à jour signés Pièces d’identité couleur des dirigeants CV des dirigeants datés et signés Casier judiciaire des dirigeants (si demandé) Déclarations de non-condamnation des dirigeants Répartition de la détention des parts / actionnariat Kbis des personnes morales actionnaires (si applicable) + organigramme de groupe (si applicable) PV d’AG récents (fusion, perte > 50% du capital, changement direction, etc.) Registre des bénéficiaires effectifs (si demandé) Peuvent également être demandés par l’ACPR : Bilans et comptes de résultat récents États financiers en cours ou de l’année précédente Toute pièce jugée utile par le régulateur 2.3. Délais d’instruction Instruction par CentralPay : généralement ~2 semaines à compter de la réception d’un dossier complet Délai ACPR : variable ; peut aller jusqu’à ~2 mois, avec premières questions sous 30 jours en général 2.4. Fin d’instruction L’Agent peut démarrer l’activité uniquement après enregistrement effectif (publication sur le registre public) Avant enregistrement, CentralPay n’active pas l’Agent en production et peut maintenir les comptes de l’Agent bloqués (IN/OUT) L’Agent est référencé dans les registres publics avec un numéro/identifiant d’enregistrement pouvant devoir figurer dans certaines communications/mentions 2.5. Particularité – Agents Télécom SVA (numéros surtaxés) Obligation de fournir un récapitulatif des minutes par opérateur Transmission du détail de répartition des encaissements (ventilation) à CentralPay CentralPay met en place des contrôles complémentaires afin de s’assurer que les marchands/Participants sont correctement crédités 3. Traitement des flux agent Cette section définit les règles applicables au traitement et au contrôle des flux financiers dans un modèle Agent. Elle précise les responsabilités, la structure des comptes et les contrôles complémentaires mis en œuvre afin de répondre aux exigences légales et prudentielles. 3.1. Responsabilité de l’établissement Conformément au Code monétaire et financier (CMF), l’Agent agit au nom et pour le compte de CentralPay. CentralPay demeure pleinement responsable du respect des obligations réglementaires, notamment en matière de LCB-FT, de sécurité et de protection des fonds. CentralPay met en place un dispositif de contrôle interne couvrant l’ensemble du cycle des flux, y compris ceux traités dans le cadre de ses Agents (supervision, auditabilité, traçabilité). 3.2. Comptes opérationnels des agents Pour les besoins de ségrégation des flux, CentralPay met à disposition (dans ses livres) : Compte de Collecte : compte de transit destiné à recevoir les fonds liés aux opérations initiées via le modèle Agent, et à permettre leur affectation/ventilation vers les comptes des Participants Compte de Commission : destiné à recevoir la rémunération revenant à l’Agent (commissions) et à régler les frais dus à CentralPay Compte de paiement Agent (optionnel) : destiné aux opérations courantes de l’Agent pour son compte propre (approvisionnement, paiement de factures SaaS, etc.), distinct des flux tiers et des commissions 3.3. Traitement des opérations Lorsqu’un Agent initie une transaction pour le compte d’un ou plusieurs Participants : L’Agent transmet à CentralPay les informations nécessaires à la ventilation (part des Participants, commission Agent, références), soit directement dans la transaction, soit au plus tard en fin de journée via un traitement par lot lorsque cela est objectivement nécessaire. CentralPay exécute ensuite, sous sa responsabilité, les opérations d’affectation/ventilation et, le cas échéant, les mouvements nécessaires (dont la commission vers le compte de commission), conformément au cadre contractuel et aux contrôles réglementaires. Le Compte de Collecte doit rester un compte de transit : l’Agent ne doit pas conserver passivement des fonds de tiers au-delà des délais strictement nécessaires au traitement (pas de “trésorerie flottante”). Les modalités de versement sortant (Payout) sont encadrées par CentralPay ; le Compte de Collecte n’a pas vocation à servir de compte de versement sortant “libre”. 3.4. Dates de déblocage et montants prévisionnels Fonctionnement Selon le modèle contractuel, l’Agent peut transmettre ou paramétrer (en qualité d’intermédiaire mandaté par le Participant) une date de déblocage (endpoint API : EscrowDate) correspondant à un évènement contractuel objectivable (ex. livraison/expédition/fin de prestation). Cette date ne produit aucun effet financier automatique : CentralPay demeure seule décisionnaire de la mise à disposition des fonds (acceptation, refus, report, encadrement). Jusqu’à la date de déblocage : Les fonds restent protégés et indisponibles (ni accessibles à l’Agent, ni utilisables par le Participant) Le Participant peut visualiser l’opération sous forme d’opération à venir ou de montant prévisionnel, avec affichage de la date de disponibilité, sans constituer un crédit au solde disponible Conditions de conformité L’usage des dates de déblocage est autorisé uniquement si : Information claire : l’Agent doit expliquer à ses Participants comment fonctionne la date de déblocage (principes, délais, exceptions). Affichage transparent : l’interface Participant doit indiquer la date de l’opération, la date de disponibilité prévue et un statut “indisponible avant cette date”. Mentions dans les CGU Agent : les CGU signées par les Participants doivent préciser : Que la date de déblocage correspond à la date contractuelle à laquelle les fonds deviennent utilisables. Qu’il est impossible pour le Participant d’utiliser ces fonds avant cette date. Que CentralPay peut refuser, différer, suspendre ou encadrer la mise à disposition au regard de ses obligations réglementaires, de sa politique de risque et des règles des réseaux de paiement. Gestion des exceptions : en cas d’annulation, de remboursement, d’impayé ou de litige : Si la transaction source est annulée/remboursée, les fonds ne seront pas mis à disposition. En cas d’impayé (ex. chargeback carte) ou de risque, CentralPay peut retenir/ajuster les montants en attente ou compenser lors de règlements ultérieurs. La date de déblocage peut être reportée (litige/incident) ; le Participant doit être informé via son interface/notifications. Ce mécanisme ne constitue ni un séquestre au sens du droit civil, ni un service de conservation fiduciaire : il s’agit d’une mise à disposition différée sous contrôle exclusif de CentralPay. 3.5. Gestion des versements sortants Fonctionnement CentralPay peut mettre à disposition des Participants (et, selon les habilitations, à l’Agent agissant comme intermédiaire mandaté) différents modes de gestion des versements sortants : Versements sortants automatisés (paramétrage de règles/plannings, lorsque prévu contractuellement) Versements sortants ponctuels (demande via portail/API selon les droits accordés) Conditions de conformité Lorsque l’Agent est autorisé à transmettre des demandes de versement sortant pour le compte de ses Participants, il doit recueillir leur consentement et décrire clairement le mode de fonctionnement dans les CGU Agent. CentralPay demeure seule responsable de l’exécution et peut refuser, suspendre ou encadrer ces demandes conformément à ses obligations. À retenirLe dispositif présenté garantit :- La séparation stricte des flux tiers / commissions / compte propre- L’absence de droit de disposition de l’Agent sur les fonds de tiers- La traçabilité complète des opérations (auditabilité)- La supervision active par CentralPay- La conformité aux exigences du CMF et aux attentes de supervision Le respect de ce dispositif est obligatoire. Toute anomalie (fraude, incident, incohérence de ventilation, non-respect des procédures) doit être signalée immédiatement à votre Account Manager CentralPay. Déclaration Distributeur ME (ACPR) 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 sous-marchands 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 1. Responsabilité du mandataire 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 Électronique 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. 2. Devenir mandataire 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. 2.1. Résumé des étapes Compréhension du modèle Explication des services apportés par le mandataire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du mandataire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le mandataire Test & Intégration Mise en place de la sandbox Réunion de lancement de projet avec l’équipe technique Phase d’intégration technique Instruction du dossier ACPR Collecte des éléments nécessaires à la constitution du dossier Préparation du dossier Présentation du dossier Mise en production Validation de la recette Mise en production 2.2. Pièces à fournir à CentralPay Prochainement
Intermediary Merchant Payment Service Provider Agent (PSP Agent) or Electronic Money Distributor (EMD) Certain projects require a specific regulatory framework that allows intermediaries to act in the name and on behalf of CentralPay, an institution authorized and supervised by the ACPR. Two main legal statuses can be utilized in France: Payment Service Provider (PSP) Agent, for projects requiring active management of payment flows (collections, transfers, Payouts), strictly within the scope of a mandate and under the responsibility of CentralPay The Electronic Money Distributor (EMD), for projects based on stored-value/Electronic money mechanisms (C2C platforms, prepaid cards, closed networks, etc.), under a distribution agreement These models can provide the intermediary with a high degree of operational autonomy, but they come with strict regulatory constraints and ongoing supervision, under the responsibility of CentralPay. 1. Payment Service Provider Agent (PSP Agent) 1.1. Typical Use Cases B2B platforms with complex financial flows Financial or cash management tools for third parties SaaS solutions that integrate payment collection and the distribution of funds to beneficiaries 1.2. Role of the Agent The PSP Agent acts as CentralPay’s regulatory representative for the provision of payment services, in the name and on behalf of CentralPay, within the limits of the configured mandate and technical rights. Features (depending on the scope of the contract and user permissions): Business development and promotion of CentralPay services to end users (the “Participants”) Assisting participants in opening CentralPay accounts (via the CentralPay process and/or the agent-guided process, depending on the selected model) Opening, on behalf of the Agent, special accounts dedicated to segregating cash flows (e.g., a Collection Account and a Commission Account), without the Agent becoming the owner of the Participants’ funds Submission to CentralPay of the requests/instructions necessary for the proper performance of services (e.g., allocation of funds, payout requests, refund requests), with CentralPay acting as the sole executor First-level (L1) support management and operational processing provided as an outsourced service, with escalation to CentralPay as needed 1.3. The 3 options in the Agent model (KYC/KYB delegation) CentralPay’s Agent model provides for three levels of delegation regarding registration and KYC/KYB checks. Only one option may be applied at a time, and the selected level is formalized in a contract: Option A – Basic Agent (no delegation of control): The Agent acts as a registered PSP Agent but without KYC/KYB delegation. The Agent is limited to establishing business connections and directs Participants to the processes and tools provided by CentralPay. The Agent is not authorized to collect supporting documents or perform any checks. Option B – Collection Agent (delegation of administrative completeness verification): The Agent is authorized to compile the Participant’s administrative file on behalf of CentralPay. The Agent collects the documents and performs strictly formal checks for completeness (legibility, apparent validity, and consistency of the documents). The Agent does not conduct risk analysis, sanctions/PPE screening, or in-depth analysis; the decision for onboarding remains with CentralPay. Option C – Delegated Compliance Officer (Level 1 delegation): This option is reserved for Agents with a dedicated compliance organization that has been expressly approved by CentralPay. The Agent may collect KYC/KYB documents, verify their completeness and consistency, and perform Level 1 due diligence that is exclusively formal and administrative in nature. The Agent may also participate in the handling of Level 1 alerts (collection, administrative assessment, and transmission) in accordance with strict procedures. CentralPay retains the final decision-making authority and may revoke this option at any time in the event of non-compliance. 1.4. CentralPay remains responsible CentralPay remains fully responsible for the services provided to Participants The Agent acts strictly within the scope of the mandate entrusted to him or her and in accordance with the technical authorizations that have been established Every activity carried out through the platform is auditable, traceable, and documented 1.5. Regulatory Requirements Signing an Agent Agreement and Related Documents Official registration as an Agent in the ACPR registry (via CentralPay) Assessment of the intermediary’s organizational capacity and enhanced requirements (compliance, security, confidentiality, business continuity, internal control) Periodic reporting to CentralPay (business volume, incidents, service quality) and the option for document-based or on-site audits Mandatory training for operational teams, based on the scope of delegation 2. Electronic Money Distributor (EMD) 2.1. Typical Use Cases Peer-to-Peer (C2C) Sales Platforms Prepaid card or gift card networks Stored-Value Loyalty Programs 2.2. Role of the EMD The EMD acts on behalf of CentralPay in the provision and operational management of Electronic money, within the limits set forth in the distribution agreement and the rules established by CentralPay. Features: Connecting CentralPay with end users (the “Sub-merchants” / Electronic money users) Transmission of payment instructions (amount, Beneficiary, fee) to CentralPay, with CentralPay acting as the sole issuer and executor Viewing and tracking transactions through a dedicated monitoring system (e.g., consolidated view/centralized account based on the model), without the right to dispose of the funds Transmission of requests/instructions enabling the transfer of Electronic money between users within a defined framework (closed network, contractual rules), under CentralPay’s control Submission of requests for refund of electronic money at the user’s request, in accordance with applicable rules Maintenance of a Commission Account to collect the fees specified in its Terms of Service 2.3. Functional Limitations The EMD never holds the funds: it acts as an intermediary and cannot retain, store, or use the funds collected It is not permitted to create or issue Electronic money on its own It may not offer payment services that are not explicitly authorized under the contractual framework established by CentralPay He may not subcontract his business activities unless expressly authorized by CentralPay 2.4. Regulatory Requirements Signing of a Distribution Agreement with CentralPay Declaration / compliance procedures carried out on the initiative and under the responsibility of CentralPay, in accordance with applicable regulations Organizational Compliance: Internal Security Measures, Confidentiality, Incident Management, Business Continuity Continuous monitoring by CentralPay, including: Monitoring API Usage / Permissions Regular reports on business activity Mandatory Training for EMD Teams Validation of the Terms of Service provided to users Articles PSP Agent Declaration (ACPR) ME Distributor Declaration (ACPR) PSP Agent Declaration (ACPR) Role of the ACPR The ACPR (Prudential Supervision and Resolution Authority), which operates under the auspices of the Banque de France, maintains a registry of regulated service providers and their agents. Under the PSP Agent model, CentralPay (an authorized institution) prepares and files the Agent’s notification/registration application and serves as the sole point of contact for the ACPR. Prospective agents cannot submit applications directly to the ACPR: all communications are managed by CentralPay, with the agent’s assistance (submitting documents, answering questions, and providing organizational details). Steps for Registering an Agent StepDescription1. Scope Definition & Pre-qualificationAnalysis of the model, functional scope, and responsibilities; legal validation and compliance on the CentralPay side2. Compiling the FileCollection of company and executive documents, organizational information (processes, controls, security), Terms of Use for Agents and Participants, and business forecasts3. Deposits / ACPR ExchangesDeposit processed by CentralPay; responses to additional requests managed by CentralPay with the assistance of the Agent4. Registration & ActivationOnce the entry has been made in the public registry, CentralPay can activate the Agent in production (until then, the activity remains suspended) 1. Responsibilities of the Agent Asa PSP Agent, the Agent acts in the name and on behalf of CentralPay within the scope defined in the contract. CentralPay remains fully responsible for the provision of payment services and regulatory compliance; however, the Agent must strictly adhere to the operational procedures and requirements established by CentralPay, particularly with regard to AML/CFT and fraud prevention. The Agent is responsible, in particular, for: An understanding of the activities of its merchants/participants and the economic soundness of the transactions initiated through its model Implementation of the expected operational procedures (internal processes, controls, traceability, incident management) and compliance with CentralPay guidelines Fraud prevention (detection, escalation, cooperation) and compliance with due diligence obligations within the assigned scope Cooperation with CentralPay in response to requests for information (inspections, audits, ACPR inquiries), and the prompt submission of requested documents The agent must sign: A PSP Agent Agreement with CentralPay (mandate / outsourcing / supervision / payment flows) The CCSP (Payment Services Framework Agreement) applicable to the Agent in its capacity as a business customer of CentralPay (platform access, subscribed services) Agent Terms of Service (or equivalent documentation) governing the Agent’s relationship with its Participants, including the necessary details regarding payment plans, allocation, Release dates, and any requests for Payouts Depending on the scope of authority (and the applicable appendices), certain functions may be delegated to the Agent (e.g., KYC/KYB data collection and formal checks). CentralPay retains sole decision-making authority regarding onboarding, the opening and maintenance of accounts, and regulatory decisions. 2. Become a CentralPay Partner The process for registering an Agent depends on the completeness of the application, the level of operational delegation, and communication with the ACPR. In practice, it generally takes several weeks and may be extended if additional documents are requested. 2.1. Summary of the Steps StepDetails1. Understanding the Model– Defining the scope and responsibilities– Description of workflows and use cases– Approval by CentralPay’s Legal and Compliance teams2. Commercial Offer– Presentation by CentralPay– Alignment with the scope (technical, operational, compliance)3. Formalization in a Contract– Signing of the Agent Agreement– Signing/acceptance of the CCSP applicable to the Agent4. Testing & Integration– Sandbox access– Technical integration & acceptance testing– Verification of user flows (onboarding/consent/disclosures)5. ACPR Directive– Collection of regulatory documents– Preparation and submission of the application to the ACPR by CentralPay– Handling of questions and requests for additional information6. Deployment– Deployment to production after registration– Testing in the Sandbox / supervised production 2.2. Documents to Submit to CentralPay Phase 1 – Preliminary Compilation of the Case File Agent Terms of Service / Contractual Documentation for Participants (program details, consents, “agent” information, breakdown/commission, Release dates, refund terms) Definition of Regulated Activities, Related Services, and Business Model Organizational Chart (including a breakdown of staff by department) and descriptions of key roles Shareholder Structure / Corporate Governance 3-Year Forecast Transactions Entrusted to CentralPay (volumes, amounts, types) Projected number of enrollments over 3 years Scenario involving the reuse of existing KYC data (migration), if applicable Phase 2 – Filing with the regulator Signing of the Agent Agreement (prior to submitting the application) CentralPay collects and deposits the following items (indicative list): A Commercial register extract less than 3 months old for the company and, if applicable, for its parent or controlling companies Signed, up-to-date Articles of association Color copies of executives’ identity documents Resumes of executives, dated and signed Criminal Records of Executives (if requested) Declarations of No Criminal Convictions by Executives Breakdown of Share Ownership / Shareholder Structure Commercial register for shareholder corporations (if applicable) + group organizational chart (if applicable) Recent General Meeting Minutes (merger, loss of more than 50% of the capital, change in management, etc.) Register of Beneficial Owners (if requested) The ACPR may also request the following: Recent Balance Sheets and Income Statements Current or prior year financial statements Any document deemed useful by the regulator 2.3. Processing Times Processing time by CentralPay: typically ~2 weeks from receipt of a complete application ACPR processing time: varies; can take up to ~2 months, with initial questions typically received within 30 days 2.4. End of Investigation The Agent may begin the activity only after it has been effectively registered (published in the public registry) Prior to registration, CentralPay does not activate the Agent in production and may keep the Agent’s accounts blocked (IN/OUT) The Agent is listed in public records with a registration number or identifier that may need to be included in certain communications or disclosures. 2.5. Special Feature – Telecom Agents for Value-Added Services (premium-rate numbers) Requirement to Provide a Summary of the Minutes by Operator Submission of detailed breakdown of receipts (breakdown) to CentralPay CentralPay implements additional controls to ensure that Merchants/Participants are properly credited 3. Processing Agent Workflows This section defines the rules governing the processing and control of financial flows in an Agent model. It specifies the responsibilities, the account structure, and the additional controls implemented to meet legal and prudential requirements. 3.1. Responsibility of the Institution In accordance with the Monetary and Financial Code (CMF), the Agent acts in the name and on behalf of CentralPay. CentralPay remains fully responsible for compliance with regulatory obligations, particularly with regard to anti-money laundering and counter-terrorism financing (AML/CTF), security, and the protection of funds. CentralPay has implemented an internal control system that covers the entire transaction cycle, including transactions processed through its agents (supervision, auditability, traceability). 3.2. Employee Operating Accounts To facilitate the segregation of funds, CentralPay provides (in its records): Collection Account: a transit account used to receive funds related to transactions initiated through the Agent model, and to facilitate their allocation or distribution to Participants’ accounts Commission Account: intended to receive the Agent’s compensation (commissions) and to pay fees owed to CentralPay Agent Payment Account (optional): intended for the Agent’s day-to-day transactions on its own account (funding, payment of SaaS invoices, etc.), separate from third-party transactions and commissions 3.3. Processing Transactions When an Agent initiates a transaction on behalf of one or more Participants: The Agent provides CentralPay with the information needed for allocation (Participants’ shares, Agent’s commission, reference numbers), either directly as part of the transaction or, at the latest, by the end of the day via batch processing when objectively necessary. CentralPay then carries out, under its own responsibility, the allocation and breakdown processes and, where applicable, the necessary transactions (including the transfer of commissions to the Commission Account), in accordance with the contractual framework and regulatory controls. The Collection Account must remain a transit account: the Agent must not passively hold third-party funds beyond the time strictly necessary for processing (no “floating cash”). Payout procedures (Payout) are managed by CentralPay; the Collection Account is not intended to serve as a “general-purpose” payout account. 3.4. Release dates and estimated amounts How It Works Depending on the contract model, the Agent may submit or configure (as an intermediary authorized by the Participant) a release date (API endpoint: EscrowDate) corresponding to a verifiable contractual event (e.g., delivery, shipment, or completion of services). This date does not trigger any automatic financial consequences: CentralPay retains sole discretion over the release of funds (approval, Refusal, postponement, or other measures). Until the release date: The funds remain protected and unavailable (neither accessible to the Agent nor usable by the Participant) The Participant can view the transaction asan upcoming transaction or a projected amount, with the availability date displayed, without it being credited to the Available balance Compliance Requirements The use of release dates is permitted only if: Clear information: The Agent must explain to its Participants how the Release date works (principles, timeframes, exceptions). Transparent display: The Participant interface must show the transaction date, the expected availability date, and a status of “unavailable before this date.” Provisions in the Agent Terms of Use: The Terms of Use signed by the Participants must specify: The release date corresponds to the contractual date on which the funds become available. That the Participant may not use these funds before that date. CentralPay may refuse, delay, suspend, or restrict the provision of services in accordance with its regulatory obligations, risk policy, and payment network rules. Exception Handling: In the event of a cancellation, refund, unpaid balance, or dispute: If the source transaction is reversed or subject to a refund, the funds will not be made available. In the event of an unpaid transaction (e.g., a credit card chargeback) or a risk, CentralPay may withhold or adjust pending amounts or offset them against future payments. The release date may be postponed (due to a Dispute or incident); the Participant must be notified via their interface or notifications. This mechanism is neither an escrow arrangement under civil law nor a fiduciary custody service: it is a deferred release of funds under the exclusive control of CentralPay. 3.5. Outgoing Payout Management How It Works CentralPay can provide Participants (and, depending on their authorizations, the Agent acting as an authorized intermediary) with various methods for managing Payouts: Automated Payouts (setting up rules/schedules, when provided for in the contract) One-time Payouts (request via portal/API depending on granted permissions) Compliance Requirements When the Agent is authorized to submit payout requests on behalf of its Participants, it must obtain their consent and clearly describe the process in the Agent Terms of Service. CentralPay remains solely responsible for the execution of such requests and may face refusals, suspend them, or regulate them in accordance with its obligations. Key pointsThe system described guarantees:- Strict separation of third-party funds, commissions, and Own accounts- The Agent has no right to dispose of third-party funds- Complete traceability of transactions (auditability)- Active oversight by CentralPay- Compliance with CMF requirements and supervisory expectations Compliance with this policy is mandatory. Any irregularities (fraud, incidents, inconsistencies in allocation, or failure to follow procedures) must be reported immediately to your CentralPay Account Manager. ME Distributor Declaration (ACPR) Electronic money issuers such as CentralPay may authorize Electronic Money Distributors (EMDs) to collect funds and facilitate transactions for the purchase and refund of electronic money within a defined network of Sub-merchants. The registration process for an Electronic Money Distributor consists of two steps: Preparation of the tax return: handled by CentralPay with the assistance of its future EMD Processing of the application by the ACPR: handled by CentralPay. It does not require any specific approval from the ACPR. 1. Responsibilities of the EMD Intermediary CentralPay handles all complex processes or those requiring specialized expertise. However, you remain responsible for ensuring a high standard of compliance with AML/CFT (Anti-Money Laundering and Counter-Terrorist Financing) rules. As such, you must provide CentralPay with assurance regarding the conditions under which transactions processed through you are carried out, including: The Economic Reality of the Transaction The Fight Against Fraud Regulated institutions that use distributors remain responsible for the transactions carried out by those distributors. A clear legal framework has therefore been established. To qualify as an Electronic money Distributor, the following requirements must be met: The execution of an Electronic money Distribution Framework Agreement that defines the relationship between the parties Terms of Use for Electronic Money In the event that an EMD internalizes certain functions assigned to CentralPay as part of its regulatory obligations, a contract for Outsourced Essential Services must be signed. This is the case, for example, if the agent handles KYC management in-house or develops management interfaces that would prevent CentralPay from providing the service without the assistance of the PSEE. 2. Become an EMD Intermediary Becoming a CentralPay distributor involves following a series of steps that take several weeks to complete. Here is a guide to help you better understand the issues related to the acceptance and subsequent processing of distributors’ filing documents. 2.1. Summary of the Steps Understanding the Model Explanation of the services provided by the intermediary Defining Its Business Model Approval by CentralPay’s Risk & Compliance Department Sales Offer Overview Validation Approval of the intermediary by CentralPay’s Risk & Compliance Department Approval of the commercial proposal and pricing terms by the intermediary Test & Intégration Setting Up the Sandbox Project Kickoff Meeting with the Technical Team Technical Integration Phase Review of the ACPR File Gathering the information needed to compile the file Preparing the Application Overview of the Case Go-Live Acceptance Testing Go-Live 2.2. Documents to Submit to CentralPay Coming Soon
SCT transaction Refund Reversal See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f4d2fa = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4d2fa", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4d2fa.load(); });
SCT transaction Refund Reversal See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f4db1b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4db1b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4db1b.load(); });
Bank Reconciliation See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f4e2ea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation wireTransfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4e2ea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4e2ea.load(); });
Bank Reconciliation See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f4eb2d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation wireTransfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4eb2d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4eb2d.load(); });
Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_TRANSACTION_ID ErrorComponent possible values« C »THREE_DS_SDK« S »THREE_DS_SERVER« D »DIRECTORY_SERVER« A »ACCESS_CONTROL_SERVER
Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_TRANSACTION_ID ErrorComponent possible values« C »THREE_DS_SDK« S »THREE_DS_SERVER« D »DIRECTORY_SERVER« A »ACCESS_CONTROL_SERVER
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 profil Marchand CentralPay 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.
Bank statement descriptor The bank statement descriptor is the description that will be displayed on your customers’ bank account statements for each of your card transactions. When a CentralPay Merchant profile is created, a bank statement descriptor is defined automatically using the name of your first Point of Sale: CPAY*PointOfSaleName You can request CentralPay to modify your descriptor; however, it must allow your customers to clearly identify you or access your complaint site.
Authentification 3DS 2.2 Articles Transaction initiée par le porteur (CIT – BRW) Transaction initiée par le marchand (MIT – 3RI) Optimiser le taux de Frictionless FAQ – 3DS 2.2 Transaction initiée par le porteur (CIT – BRW) Le flux BRW (Browser) s’applique aux transactions initiées par le client (CIT — Customer-Initiated Transaction) : le titulaire de la carte est présent et valide lui-même le paiement. Cette CIT authentifiée sert aussi de socle aux transactions MIT futures. 👉 Pour une transaction initiée par le marchand sans le porteur (facturation récurrente, montant variable, usage-based, frais ponctuels), consultez la documentation du flux 3RI. ❌ Attention au choix du flux : utiliser le BRW pour une transaction initiée par le marchand (MIT) entraîne une non-conformité, une friction inutile et une réduction importante du taux de conversion. 1. Les grandes étapes du flux BRW Le flux BRW enchaîne cinq étapes côté API, dont deux conditionnelles : versioning (la carte est-elle authentifiable ?) → 3DS Method (si nécessaire) → authentification → challenge (si la banque l’exige) → résultat, avant de réaliser la transaction. ℹ️ Tout le processus doit se dérouler sur une seule et même page web, sans redirection vers une page bancaire, grâce à une solution d'iframe. C'est une contrainte du process bancaire. Pour accélérer votre intégration du flux BRW, vous pouvez partir d’une application d’exemple complète (PHP / Twig) qui rejoue toute la séquence décrite sur cette page : formulaire de paiement CUSTOM, versioning, 3DS Method en iframe, authentication, gestion du challenge, results puis transaction, le tout sur une seule et même page, conformément à la contrainte bancaire. 👉 Télécharger le code d’exemple · Voir la démo en ligne Avant de lancer le code d'exemple, renseignez vos identifiants dans le fichier .env (API_USER, API_PASSWORD, POS_UUID) et faites pointer HOST_CENTRALPAY_API_CORE vers l'environnement de test https://test-api.centralpay.net/v2/rest/. 2. Versioning Le versioning est la première étape : il interroge le réseau de la carte pour savoir si elle peut être authentifiée en 3DS 2.2, et récupère les éléments techniques nécessaires à la suite. Concrètement, vous adressez à l’API CentralPay le PAN de la carte (Primary Account Number, le numéro à 16 chiffres). Exemple (curl) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'acctNumber=4000001000000067' Comprendre la réponse. Une carte est dite « enrôlée » lorsque la banque qui l’a émise participe au protocole 3DS 2.2 pour cette carte. C’est la banque émettrice qui en décide : ni vous ni CentralPay ne pouvez enrôler une carte. Le versioning sert justement à savoir si c’est le cas. Carte non enrôlée → le versioning retourne une erreur 404 : l’authentification 3DS 2.2 est impossible pour cette carte. Prévoyez un repli (basculement en 3DS1 si supporté, ou refus du paiement selon votre politique de risque). Carte enrôlée → vous recevez un identifiant d’opération, le threeDSServerTransID (généré par CentralPay et conservé jusqu’au résultat final), ainsi que, le cas échéant, les données nécessaires au « 3DS Method » (une URL + une donnée encodée en base64). Pour une carte enrôlée, deux réponses sont possibles : Version 1 (la plus fréquente) — un 3DS Method est attendu : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": "https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm": { "threeDSMethodData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJhbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2MtZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails": null } Les champs threeDSMethodURL et threeDSMethodData sont renseignés : passez à l’étape 3. 3DS Method. Version 2 — pas de 3DS Method : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Seul threeDSServerTransID est renseigné (les champs 3DS Method sont vides) : passez directement à l’étape 4. Authentification. 3. 3DS Method À quoi ça sert ? Le 3DS Method permet à la banque du porteur — via son ACS (Access Control Server, le serveur de la banque émettrice qui authentifie le porteur) — de collecter discrètement des informations techniques sur le navigateur du client, avant l’authentification. Ces informations enrichissent son analyse de risque et augmentent les chances d’une authentification frictionless (sans challenge pour le porteur). Quand l’exécuter ? Uniquement si le versioning a renvoyé une valeur pour threeDSMethodURL et threeDSMethodData (cas « Version 1 » ci-dessus). Sinon, passez directement à l’authentification. Comment ? Chargez l’threeDSMethodURL dans une iframe invisible (masquée à l’écran : cet échange est purement technique et ne doit rien afficher au porteur) et postez-y le champ threeDSMethodData. C’est le navigateur du porteur qui effectue cet appel vers la banque, en arrière-plan. 4. Authentification (BRW) L’appel est adressé à l’URL 3ds2/authentication de l’API CentralPay. Cette requête transmet les données contextuelles liées au porteur et à son navigateur, qui permettent à la banque de décider si une authentification active (challenge) est nécessaire. Exemple (curl) : 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' 💡 deviceChannel=02 indique le canal navigateur, propre au flux BRW. Les paramètres browser* (caractéristiques du navigateur du porteur) sont donc obligatoires ici.Pour augmenter le taux d'authentification Frictionless, enrichissez cette requête avec les données contextuelles du porteur → voir Optimiser le taux de Frictionless Champs à préciser selon l’objet de la CIT. Le champ threeDSRequestorAuthenticationInd est obligatoire : il indique la nature de l’authentification. Une CIT BRW peut servir soit à authentifier un paiement (messageCategory=01, PA), soit à authentifier une carte ou son porteur sans débit (messageCategory=02, NPA) — par exemple pour enregistrer une carte, la mettre à jour ou en vérifier le porteur. Les deux champs se renseignent de façon cohérente : threeDSRequestorAuthenticationIndObjet de la CITmessageCategoryChamps requis en plus01 — PaymentPaiement unitaire (ponctuel)01 (PA)—02 — RecurringPaiement récurrent (abonnement)01 (PA)recurringExpiry, recurringFrequency03 — InstalmentPaiement échelonné (en plusieurs fois)01 (PA)recurringExpiry, recurringFrequency, purchaseInstalData04 — Add cardEnregistrement / empreinte d’une carte pour usage futur, sans débit02 (NPA)—05 — Maintain cardMise à jour des informations d’une carte déjà enregistrée (ex. renouvellement)02 (NPA)—06 — Cardholder verificationVérification du porteur dans le cadre de l’ID&V d’un token EMV02 (NPA)— recurringExpiry → date après laquelle plus aucune autorisation ne sera effectuée (format YYYYMMDD). recurringFrequency → nombre minimum de jours entre deux autorisations (1 à 999). purchaseInstalData → nombre maximum d’autorisations (échéances) prévues pour le paiement échelonné (1 à 999). ℹ️ Les cas 04, 05 et 06 sont des authentifications hors paiement : aucun montant ni champ de récurrence n'est requis. Elles ne préparent pas forcément une MIT — ce sont souvent une fin en soi (enregistrer, vérifier ou maintenir une carte). La carte ainsi authentifiée pourra ensuite servir à des transactions CIT (porteur présent) comme MIT (3RI). La réponse contient un statut d’authentification (transStatus) qui détermine la suite à donner : ❌ Pas d’autorisation — ne pas effectuer la transaction Statut (transStatus)SignificationNNon authentifié / compte non vérifié. Transaction refusée.UAuthentification / vérification impossible (problème technique ou autre).RAuthentification / vérification rejetée. L’émetteur demande de ne pas tenter d’autorisation.IInformation seulement. Reconnaissance de la préférence du demandeur pour le challenge 3DS. ✅ Autorisation sans challenge Statut (transStatus)SignificationYAuthentification réussie.ATentative effectuée. Non authentifié / vérifié, mais une preuve de tentative est fournie. 🔐 Autorisation après challenge Statut (transStatus)SignificationCChallenge requis : le porteur doit s’authentifier activement (voir étape 5), via les messages CReq/CRes (Challenge Request / Response).DChallenge requis. Authentification découplée confirmée. Exemples de réponses : C — Challenge requis : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "C", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge", "acsChallengeMandated": "Y", "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Y — Authentification réussie (challenge non nécessaire) : { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Les champs requis pour la transaction sont présents : threeDSServerTransID, transStatus, authenticationValue (le cavv — Cardholder Authentication Verification Value, le cryptogramme qui prouve l’authentification) et eci (Electronic Commerce Indicator, qui indique le niveau d’authentification obtenu et conditionne le transfert de responsabilité en cas de fraude). Le xid n’est pas fourni : c’est une référence libre destinée aux marchands. N — Transaction refusée : { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } 5. Challenge Le challenge est l’étape où le porteur s’authentifie activement auprès de sa banque (code à usage unique reçu par SMS, validation dans l’application bancaire, biométrie…). Il n’a lieu que si l’authentification a renvoyé transStatus = C. Une iframe doit soumettre un formulaire à l’acsURL retournée à l’étape 4. Le seul paramètre envoyé est creq, dont la valeur est le base64EncodedChallengeRequest issu de l’authentification. À la fin du challenge, l’URL que vous avez fournie (notificationURL) est appelée par la banque. En environnement de test, le challenge s’affiche sous forme d’un OTP (One-Time Password, code à usage unique) ; en production, c’est la fenêtre de l’ACS de la banque qui s’affiche : OTP de test : 1234 → Y (simule un challenge réussi – Authentification réussie) 4444 → A (simule un challenge réussi – Non authentifié / vérifié, mais une preuve de tentative est fournie.) 1111 → N (simule un challenge échoué – Non authentifié / compte non vérifié) 2222 → R (simule un challenge échoué – Authentification / vérification rejetée) 3333 → U (simule un challenge échoué – Authentification / vérification impossible (problème technique ou autre) 6. Réponse du challenge À l’issue du challenge, le résultat est transmis dans le paramètre cres, encodé en base64. Décodez-le pour lire le statut. Exemple en PHP : $retour = json_decode(base64_decode($_POST['cres']), true); Si le statut est Y ou A, le challenge est validé et le paiement est autorisé : appelez GET /results (étape 7) pour récupérer les données 3DS nécessaires à la transaction. Toute autre valeur signifie que le challenge a échoué : le paiement est refusé. 7. Résultat Cette étape récupère les données 3DS définitives à reporter dans la transaction. Adressez le threeDSServerTransID de l’authentification. ℹ️ Si l'authentification a directement retourné transStatus = Y (sans challenge), les données 3DS y figurent déjà : cette étape n'est pas nécessaire. Appel : curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' Réponse : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 🔁 Préparer les MIT futures (3RI). Si cette CIT doit servir de référence à des paiements ultérieurs initiés par le marchand, conservez l'acsTransID de la séquence d'authentification : il sera requis comme threeDSReqPriorRef côté 3RI. 8. Transaction Données à renseigner pour valider une transaction authentifiée en 3DS 2.2 : 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci (obligatoire si disponible) 3ds[xid] = paramètre custom, référence libre destinée aux marchands Exemple (curl) : 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' Étape suivante : pour les transactions ultérieures initiées par le marchand (MIT), voir 3DS 2.2 – 3RI. Transaction initiée par le marchand (MIT – 3RI) Le flux 3RI (3DS Requestor Initiated) s’applique aux transactions initiées par le marchand (MIT — Merchant-Initiated Transaction) : le marchand déclenche le débit sans intervention du porteur, dans le cadre d’un mandat préexistant, sur la base d’une transaction CIT authentifiée antérieurement. Il couvre l’ensemble des cas MIT : facturations récurrentes, montants variables, modèles usage-based, frais ponctuels, débits différés (no-show, pénalités), pas seulement les abonnements à montant fixe. 👉 Si le porteur est présent et valide lui-même le paiement, utilisez le flux BRW. Pour le cadre contractuel, les exemptions d’authentification (SCA) et la durée de validité d’une CIT, consultez la page Bonnes pratiques — Merchant Initiated Transaction (MIT). 1. Prérequis : une transaction CIT déjà authentifiée Le porteur étant absent, le 3RI ne ré-authentifie personne : il réutilise la preuve d’authentification produite lors d’une transaction CIT (porteur présent) réalisée précédemment via le flux BRW. Lors de cette CIT, le serveur de la banque émettrice qui a authentifié le porteur — l’ACS (Access Control Server) — a généré un identifiant unique pour cette authentification : l’acsTransID. C’est ce acsTransID que vous rattacherez à chacune de vos MIT, pour prouver à la banque que la carte a bien été authentifiée une première fois avec le consentement du porteur. ⚠️ Conservez l'acsTransID de la CIT. Sans CIT authentifiée préalable — et donc sans acsTransID — une transaction 3RI ne peut pas aboutir. Si vous n'en avez pas, réalisez d'abord une CIT en BRW pour authentifier et tokeniser la carte. 2. Authentification (3RI) L’appel est adressé à l’URL 3ds2/authentication de l’API CentralPay, comme pour le flux BRW, mais avec deux différences clés : Le canal est différent. deviceChannel=03 indique une transaction initiée par le marchand (3RI), sans navigateur du porteur. Les paramètres browser* du flux BRW sont donc inutiles ici. On référence la CIT. L’acsTransID conservé à l’étape 1 est placé dans le champ threeDSReqPriorRef, qui désigne « l’authentification précédente à laquelle se rattache cette transaction ». Identification de la carte. Le porteur étant absent, on ne saisit pas de carte en séance : on référence la carte déjà stockée sur le client (Customer) en transmettant customerId + cardId. 💡 N'envoyez qu'une seule source de carte. Combiner deux sources (par ex. cardId + un token, ou un PAN + un token) déclenche l'erreur « There is no unique source of card » (voir la FAQ). Exemple (curl) : 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=01' \ --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=1' \ --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=375d90ad-3873-498b-9133-380cbbc8d99d' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeRIInd=01' 2.1. Explication des principaux paramètres ParamètreDescriptiondeviceChannel03 → 3DS Requestor Initiated (transaction initiée par le marchand, sans navigateur du porteur)messageCategory01 → PA (Payment Authentication) = Authentification rattachée à un paiement (ex. transaction récurrente)02 → NPA (Non-Payment Authentication) = authentification hors paiement (ex. enregistrement ou vérification d’une carte sans débit).threeDSReqPriorRefdoit contenir l’acsTransID de la transaction CIT (BRW) précédente (voir étape 1)purchaseAmountmontant de l’achat courantpurchaseCurrencymonnaie au format ISOpurchaseExponentunité mineure de la monnaie courantepurchaseDatedate de l’achatrecurringExpirydate après laquelle plus aucune autorisation ne pourra être effectuéerecurringFrequencynombre de jours minimum entre deux autorisationsacctTypetype de compte (03 = debit)chAccAgeIndancienneté du compte du titulaire auprès du demandeur 3DS : 01 → pas de compte02 → créé durant la transaction03 → moins de 30 jours04 → entre 30 et 60 jours05 → plus de 60 jourschAccChangedate de dernière modification du compte du titulaire (format YYYYMMDD)chAccDatedate d’ouverture du compte du titulaire (format YYYYMMDD)nbPurchaseAccountnombre d’achats effectués avec ce compte au cours des six derniers moispaymentAccAgedate d’inscription du compte de paiement sur le compte du titulairepaymentAccIndancienneté de l’inscription du compte de paiement :01 → pas de compte02 → créé durant la transaction03 → moins de 30 jours04 → entre 30 et 60 jours05 → plus de 60 joursthreeDSReqPriorAuthMethodMéthode d’authentification de la CIT initiale : 01 → si frictionless02 → si le porteur a relevé un challenge03 → AVS04 → autrethreeDSReqPriorAuthTimestampdate et heure (UTC) de l’authentification précédente (format YYYYMMDDHHMM)threeDSRequestorDecReqIndN → ne pas utiliser l’authentification découpléethreeDSRequestorAuthenticationInd02 → transaction récurrentethreeRIIndType de transaction 3RI :01 → transaction récurrente02 → transaction échelonnée03 → ajout de carte04 → maintenance05 → vérification de compte06 → expédition fractionnée/différée07 → rechargement08 → vente par correspondance09 → vente par téléphone10 → vérification statut whitelist11 → autre paiement Exemple de réponse : { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } Ici, threeDSServerTransID est l’identifiant de l’opération généré par CentralPay (à reporter dans la transaction), et eci (Electronic Commerce Indicator) indique le niveau d’authentification obtenu, qui conditionne le transfert de responsabilité en cas de fraude. 2.2. Statuts retournés (transStatus) et conduite à tenir L’objectif est d’obtenir une authentification sans friction (frictionless), c’est-à-dire un transStatus = Y. Tentez systématiquement le 3RI, puis agissez selon le transStatus retourné. ℹ️ Le support du 3RI dépend du scheme de la carte et de la version 3DS de la banque émettrice : il n'est jamais garanti à l'avance. D'où la conduite « best effort » ci-dessous — vous tentez le 3RI, et vous ne vous appuyez sur son résultat que s'il est positif. ✅ Authentification réussie — exploitez le résultat (transfert de responsabilité) Statut (transStatus)SignificationYAuthentification réussie.ATentative effectuée. Non authentifié / vérifié, mais une preuve de tentative est fournie. → Réalisez la transaction en transmettant les données 3DS issues du 3RI (voir étape 3). Le transfert de responsabilité vers l’émetteur s’applique. ⚠️ 3RI non abouti — réalisez la transaction sans authentification (« best effort ») Statut (transStatus)SignificationNNon authentifié / compte non vérifié.UAuthentification / vérification impossible (problème technique ou autre).IInformation seulement.C / DChallenge demandé (impossible en MIT car porteur absent — voir note ci-dessous). → Vous pouvez réaliser la transaction classique sans les données 3RI : le Customer (customerId + cardId) assure le chaînage automatique à la CIT initiale. Attention : dans ce cas, le transfert de responsabilité ne s’applique pas (risque de contestation accru) et le risque de refus de l’autorisation est plus élevé. ⚠️ Challenge en MIT (C / D). Un challenge suppose la présence du porteur, par définition absent en MIT. Deux cas : si le porteur peut revenir (ex. abonnement avec espace client), rejouez une CIT en BRW pour réauthentifier la carte ; sinon, traitez-le comme un 3RI non abouti et réalisez la transaction sans authentification (best effort). Voir Bonnes pratiques — MIT. ❌ Refus explicite — ne pas tenter la transaction Statut (transStatus)SignificationRAuthentification rejetée : l’émetteur demande de ne pas tenter l’autorisation. → N’effectuez pas la transaction, même sans 3RI. 3. Transaction Une fois l’authentification 3RI réussie (Y ou A), renseignez les données 3DS suivantes dans l’appel transaction : 3ds[threeDSServerTransID] = threeDSServerTransID généré par l’authentification 3RI (pas celui d’une transaction précédente) 3ds[status] = transStatus 3ds[eci] = eci (obligatoire si disponible) 3ds[xid] = paramètre custom, référence libre destinée aux marchands ⚠️ N'envoyez pas 3ds[cavv] en 3RI. Le cavv (Cardholder Authentication Verification Value, le cryptogramme qui prouve l'authentification) est propre au flux BRW ; il est absent de la réponse 3RI et ne doit pas être transmis ici. Exemple (curl) : 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' ℹ️ Cas « best effort » (3RI non abouti). Si le 3RI n'a pas abouti (transStatus autre que Y/A, et hors R), réalisez la même transaction sans l'objet 3ds[...] : le Customer (customerId + cardId) suffit à chaîner l'opération à la CIT initiale. Le transfert de responsabilité ne s'applique alors pas. À lire aussi : Bonnes pratiques — Merchant Initiated Transaction (MIT) pour le cadre contractuel, le mandat et les exemptions d’authentification (SCA). Optimiser le taux de Frictionless Qu’est-ce que le frictionless ? Une authentification est dite frictionless lorsque la banque du porteur valide l’opération sans aucune interaction de sa part (pas de challenge : ni code à usage unique, ni validation dans l’application bancaire). La banque authentifie « en silence », sur la base des données reçues et de sa propre analyse de risque (Risk-Based Authentication). Son intérêt est double : Meilleure conversion : aucune étape supplémentaire pour le porteur, donc moins d’abandons. Responsabilité transférée : comme pour une authentification avec challenge réussie, un frictionless réussi (transStatus = Y) reporte la responsabilité en cas de fraude vers la banque émettrice. C’est ce qui le distingue d’un paiement sans 3DS. ℹ️ La décision finale appartient toujours à la banque émettrice. Aucun levier ne garantit le frictionless : l'émetteur peut imposer un challenge quelle que soit votre intégration. Les pistes ci-dessous maximisent les chances de frictionless, elles ne le forcent pas. Levier 1 — Enrichir les données d’authentification C’est le levier le plus important. Plus la requête d’authentification (3ds2/authentication) contient de données contextuelles fiables sur le porteur, mieux la banque évalue le risque et plus elle accorde un frictionless. À l’inverse, une requête minimale (montant + données navigateur seulement) prive la banque des éléments qui lui permettraient de se passer du challenge. Tous les champs ci-dessous sont acceptés par l’API aussi bien en BRW qu’en 3RI, et sont marqués Recommended ou Conditional (à envoyer dès que l’information est disponible) : Coordonnées du porteur ChampRôleemailadresse e-mail du porteur (conditionnel : à envoyer sauf restriction locale)homePhone / mobilePhone / workPhonenuméros de téléphone du porteur (indicatif [cc] + numéro [subscriber])deliveryEmailAddresse-mail de livraison (pour une livraison électronique) Adresse de facturation et de livraison ChampRôlebillAddrLine1/2/3, billAddrCity, billAddrPostCode, billAddrState, billAddrCountryadresse de facturationshipAddrLine1/2/3, shipAddrCity, shipAddrPostCode, shipAddrState, shipAddrCountryadresse de livraisonshipAddressUsageIndancienneté d’utilisation de l’adresse de livraison Historique du compte client ChampRôlechAccAgeInd, chAccDate, chAccChangeancienneté et dernière modification du compte du porteur chez le marchandpaymentAccAge, paymentAccIndancienneté de l’enregistrement du moyen de paiementnbPurchaseAccountnombre d’achats sur les six derniers moisprovisionAttemptsDaynombre de tentatives d’ajout de carte sur 24 hpreOrderDate, preOrderPurchaseIndinformations de pré-commande, le cas échéant 💡 La consigne pratique : transmettez tout ce dont vous disposez de fiable. Une donnée incohérente (adresse erronée) est contre-productive ; une donnée fiable absente est une occasion manquée de frictionless. Levier 2 — Exécuter le 3DS Method Lorsque le versioning le propose, exécutez systématiquement le 3DS Method : il permet à la banque de collecter en arrière-plan l’empreinte technique du navigateur du porteur, ce qui nourrit directement son analyse de risque. Le sauter revient à priver la banque d’informations qui favorisent le frictionless. Voir la procédure sur la page BRW. Levier 3 — Exprimer une préférence et signaler les exemptions Le champ threeDSRequestorChallengeInd (optionnel, flux BRW) permet d’indiquer à la banque votre préférence en matière de challenge, et de signaler qu’une exemption s’applique : ValeurSignification01Pas de préférence02Pas de challenge souhaité03Challenge souhaité (préférence du marchand)04Challenge souhaité (obligation)05Pas de challenge — analyse de risque transactionnelle (TRA) déjà réalisée06Pas de challenge — partage de données uniquement07Pas de challenge — authentification forte (SCA) déjà réalisée08Pas de challenge — exemption « bénéficiaire de confiance » (whitelist)09Pas de challenge — invitation au whitelisting si un challenge est requis ⚠️ Les valeurs 05, 07 et 08 déclarent qu'une exemption s'applique. Ne les utilisez que si l'exemption correspondante s'applique réellement à votre configuration : déclarer à tort une exemption engage votre responsabilité et peut entraîner un soft decline (voir FAQ). En cas de doute, conservez 01 ou 02. Le champ whiteListStatus permet par ailleurs de communiquer le statut « bénéficiaire de confiance » du marchand (Y = marchand whitelisté par le porteur, N, E, P, R, U). Lorsqu’un porteur ajoute votre enseigne à sa liste de confiance auprès de sa banque, ses paiements suivants passent plus facilement en frictionless. Levier 4 — Bien implémenter les transactions initiées par le marchand (MIT) Une fois une transaction CIT initiale authentifiée, les transactions ultérieures initiées par le marchand (MIT) s’effectuent via le flux 3RI et sortent du champ de l’authentification forte. C’est l’un des moyens les plus directs de supprimer la friction sur les paiements récurrents, échelonnés ou ultérieurs : authentifier une fois (CIT), réutiliser ensuite (MIT). Ce qui reste hors de votre contrôle Même avec des données complètes et une exemption demandée, l’émetteur peut décider d’un challenge (step-up). Si vous tentez une autorisation sans authentification (via exemption) et que l’émetteur la refuse, vous recevez un soft decline : il faut alors rejouer l’opération avec authentification. Voir l’entrée correspondante dans la FAQ. FAQ – 3DS 2.2 Choix du flux Dois-je utiliser le flux BRW ou le flux 3RI ? Le critère est qui initie la transaction et si le porteur est présent, pas le rang de la transaction : BRW → transaction initiée par le client (CIT), porteur présent qui valide lui-même le paiement. À utiliser pour la première authentification d’une carte comme pour tout paiement où le client agit en séance. 3RI → transaction initiée par le marchand (MIT), porteur absent, sur la base d’une CIT authentifiée antérieure (référencée via threeDSReqPriorRef). Voir la vue d’ensemble de la section et la page MIT. Puis-je utiliser le flux BRW pour mes transactions récurrentes / initiées par le marchand ? Non. Le BRW suppose un navigateur et un porteur présents. L’employer pour des MIT entraîne friction inutile, soft declines et non-conformité DSP2. Pour ces transactions, utilisez le 3RI, qui s’appuie sur l’acsTransID de la CIT initiale. Une MIT peut toutefois être exceptionnellement requalifiée en CIT par l’émetteur ; dans ce cas, rejouez une CIT (BRW) avec le porteur. Environnement de test Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ? 👉 Consultez la liste des cartes de test de l’environnement RCT. Erreurs et statuts d’authentification 3DS Mon versioning retourne une erreur 404 « Card account number not found in card ranges from Directory Server ». Que faire ? La carte utilisée n’est pas enrôlée 3DS 2.2 : la transaction ne peut pas se faire en 3DS 2.2. Nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce type de carte. La requête Result retourne transStatus = U. Comment l’interpréter ? La valeur U signifie que l’authentification / vérification n’a pas pu se faire (problème technique ou autre). Côté SmartForm : lors du challenge, seules les valeurs Y et A valident le challenge et permettent de continuer le paiement. Les autres valeurs font échouer le challenge et le paiement. Côté CustomForm : le comportement peut différer. Vous pouvez utiliser la valeur U pour retenter un challenge ; en cas de nouvel échec, basculer en 3DS1, ou considérer le paiement comme refusé. Ces différents traitements sont possibles. SmartForm vs CustomForm : le SmartForm est la page de paiement hébergée par Après soumission du formulaire à l’acsURL, le client revient sans CRES mais avec un paramètre ERROR (base64) et un THREEDSSESSIONDATA vide. Que faire ? Vérifiez que tout votre process 3DS2 se déroule sur une seule et même page via la solution d’iframe. Si le processus est conforme, 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, grâce à la solution d’iframe. Erreur 303 « acquirerBIN, acquirerMerchantID not recognized » lors de l’authentification. Que faire ? Il s’agit soit d’un contrat qui n’est pas 3DS2, soit d’un autre problème. Dans ce dernier cas, contactez le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations utiles. Erreur 203 « Validation of 3DS Requestor Authentication data failed […] » pour le champ merchant.merchantName. Que signifie-t-elle ? L’erreur 203 signale un caractère invalide dans le paramètre merchant.merchantName. Erreur « There is no unique source of card » dans la clé card data. Que signifie-t-elle ? Cette erreur, commune à toute la plateforme, survient lorsque vous envoyez les informations de carte deux fois : par exemple un cardToken et un cardId, ou un PAN et un cardToken. N’envoyez qu’une seule source de carte. Autorisation bancaire L’API transaction retourne « Soft Decline » alors que threeDSServerTransID est bien celui retourné par le CRES. Que faire ? Le soft decline (code A1) est renvoyé par la banque lorsque le 3DS n’est pas présent dans la transaction. Vérifiez qu’aucun champ 3ds[...] n’est manquant — voir les données à transmettre sur la page BRW, étape Transaction. Codes retour banque 5 et 12 (hors 3DS) Ces codes proviennent de l’autorisation bancaire et ne sont pas spécifiques au 3DS. Code 5 : la banque refuse sans donner de statut particulier (CVV erroné ou autre décision que nous ne connaissons pas). Ce statut ne permet pas d’affirmer que la banque refusera l’autorisation après d’autres tentatives. Code 12 : la banque refuse sans donner de statut particulier. Causes possibles : transaction invalide ; CAVV erroné ou invalide (le CAVV est le cryptogramme d’authentification fourni par l’ACS lors du 3DS, à ne pas confondre avec le CVV) ; ou autre décision que nous ne connaissons pas.
3DS 2.2 authentication Articles Transaction Initiated by the Holder (CIT – BRW) Merchant-initiated transaction (MIT – 3RI) Optimize the Frictionless Rate FAQ – 3DS 2.2 Transaction Initiated by the Holder (CIT – BRW) The BRW (Browser) flow applies to Customer-Initiated Transactions (CIT): the cardholder is present and authorizes the payment personally. This authenticated CIT also serves as the foundation for future MIT transactions. 👉 For a transaction initiated by the merchant without the cardholder (recurring billing, variable amounts, usage-based charges, one-time fees), see the 3RI flow documentation. ❌ Be careful when choosing the payment flow: Using BRW for a merchant-initiated transaction (MIT) results in non-compliance, unnecessary friction, and a significant drop in the conversion rate. 1. The main steps in the BRW workflow The BRW flow consists of five steps on the API side, two of which are conditional: versioning (is the card authenticatable?) → 3DS Method (if necessary) → authentication → challenge (if required by the bank) → result, before completing the transaction. ℹ️ The entire process must take place on a single web page, without being redirected to a bank page, using an iframe solution. This is a requirement of the banking process. To speed up your integration of the BRW flow, you can start with a complete sample application (PHP/Twig) that replicates the entire sequence described on this page: CUSTOM payment form, versioning, 3DS Method in an iframe, authentication, challenge handling, results, and then the transaction, all on a single page, in accordance with banking requirements. 👉 Download the sample code · View the online demo Before running the sample code, enter your credentials in the file .env (API_USER, API_PASSWORD, POS_UUID) and point it HOST_CENTRALPAY_API_CORE to the test environment https://test-api.centralpay.net/v2/rest/. 2. Versioning The versioning is the first step: it queries the card network to determine whether the card can be authenticated using 3DS 2.2, and retrieves the technical information needed for the rest of the process. Specifically, you send the card’s PAN (Primary Account Number, the 16-digit number) to the CentralPay API. Sample (curl) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'acctNumber=4000001000000067' Understanding the response. A card is said to be “enrolled” when the bank that issued it participates in the 3DS 2.2 protocol for that card. This is determined by the issuing bank: neither you nor CentralPay can enroll a card. Versioning is used precisely to determine whether this is the case. Card not enrolled → versioning return a 404 error: the 3DS 2.2 authentification is impossible for this card. Plan for a fallback (switch to 3DS1 if supported, or decline the payment according to your risk policy). Card enrolled → you receive a transaction ID, the threeDSServerTransID (generated by CentralPay and retained until the final result is available), as well as, if applicable, the data required for the “3DS Method” (a URL and data encoded in Base64). For a rolled-up card, there are two possible answers: Version 1 (the most common) — a 3DS Method is expected: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": "https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm": { "threeDSMethodData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJhbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2MtZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails": null } The threeDSMethodURL and threeDSMethodData field have been filled in: proceed to step 3. 3DS Method. Version 2 — no 3DS Method: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Only threeDSServerTransID is filled in (the 3DS Method fields are empty): proceed directly to Step 4. Authentication. 3. 3DS Method What is it used for? The 3DS Method allows the cardholder’s bank — via its ACS (Access Control Server, the issuing bank’s server that authenticates the cardholder) — to discreetly collect technical information about the customer’s browser, before authentication. This information enhances the bank’s risk analysis and increases the likelihood of frictionless authentication (without requiring the cardholder to complete a challenge). When should this be executed? Only if versioning returned a value for threeDSMethodURL and threeDSMethodData (the “Version 1” case above). Otherwise, proceed directly to authentication. How? Load the threeDSMethodURL into an invisible iframe (hidden from view: this exchange is purely technical and should not display anything to the user) and post the threeDSMethodData field there. The user’s browser makes this call to the bank in the background. 4. (BRW) Authentification The request is sent to the CentralPay API URL 3ds2/authentication. This request transmits contextual data related to the cardholder and their browser, which allows the bank to determine whether active authentication (challenge) is required. Sample (curl) : 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' 💡 deviceChannel=02 indicates the browser channel, specific to the BRW feed. The browser* (the cardholder's browser characteristics) are therefore required here.To increase the frictionless authentication rate, enrich this request with contextual data about the cardholder → see Optimizing the Frictionless Rate Fields to be specified based on the purpose of the CIT. Field threeDSRequestorAuthenticationInd is required: it specifies the type of authentication. A CIT BRW can be used to authenticate a payment (messageCategory=01, PA), or to authenticate a card or its holder without a charge (messageCategory=02, NPA) — for example, to register a card, update it, or verify the cardholder. Both fields must be filled out consistently: threeDSRequestorAuthenticationIndPurpose of the CITmessageCategoryAdditional required fields01 — PaymentPer-unit payment (one-time)01 (PA)—02 — RecurringRecurring payment (subscription)01 (PA)recurringExpiry, recurringFrequency03 — InstalmentInstallment payments (in several payments)01 (PA)recurringExpiry, recurringFrequency, purchaseInstalData04 — Add cardRegistering/encoding a card for future use, with no charge02 (NPA)—05 — Maintain cardUpdating the information for an already registered card (e.g., renewal)02 (NPA)—06 — Cardholder verificationCardholder verification as part of the ID&V process for an EMV token02 (NPA)— recurringExpiry → the date after which no further authorizations will be issued (format YYYYMMDD). recurringFrequency → minimum number of days between two authorizations (1 to 999). purchaseInstalData → maximum number of authorizations (due dates) specified for installment payments (1 to 999). ℹ️ Cases 04, 05, and 06 are non-payment authentications: no amount or recurrence field is required. They do not necessarily lead to an MIT transaction — they are often an end in themselves (to register, verify, or maintain a card). The card authenticated in this way can then be used for both CIT (cardholder present) and MIT (3RI) transactions. The response contains an authentication status (transStatus) that determines the next steps: ❌ No authorization — do not complete the transaction Status (transStatus)MeaningNNon authenticated/unverified account. Transaction declined. UAuthentication/verification failed (technical issue or other problem).RAuthentication/verification declined. The sender requests that you do not attempt to obtain authorization. IFor informational purposes only. Acknowledgment of the applicant’s preference for the 3DS Challenge. ✅ Authorization without challenge Status (transStatus)MeaningYAuthentication successful.AAttempt made. Not authenticated/verified, but a proof of the attempt is provided. 🔐 Authorization after challenge Status (transStatus)MeaningCChallenge required: the owner must actively authenticate (see step 5) using CReq/CRes (Challenge Request/Response) messages.DChallenge required. Decoupled authentication confirmed. Sample of responses: C — Challenge required: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "C", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge", "acsChallengeMandated": "Y", "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Y — Authentication successful (no challenge required): { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } The required fields for the transaction are present: threeDSServerTransID, transStatus, authenticationValue (the CAVV — Cardholder Authentication Verification Value, the security code that verifies authentication) and eci (Electronic Commerce Indicator, which indicates the level of authentication achieved and determines the transfer of liability in the event of fraud). The xid is not provided: it is an optional reference intended for merchants. N — Transaction declined: { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } 5. Challenge The challenge is the step in which the cardholder actively authenticates themselves with their bank (one-time code received via text message, validation in the banking app, biometrics, etc.). It occurs only if the authentication returned transStatus = C. An iframe must submit a form to the acsURL page returned in step 4. The only parameter sent is creq, whose value is the base64EncodedChallengeRequest obtained from authentication. At the end of the challenge, the URL you provided (notificationURL) is called by the bank. In a test environment, the challenge appears as an OTP (One-Time Password); in production, the bank’s ACS window appears: Test OTP: 1234 → Y (simulates a successful challenge – Authentication successful) 4444 → A (simulates a successful challenge – Not authenticated/verified, but a proof of the attempt is provided.) 1111 → N (simulates a failed challenge – No authenticated/unverified account) 2222 → R (simulates a failed challenge – Authentication/verification declined) 3333 → U (simulates a failed challenge – Authentication/verification failed (technical issue or other problem) 6. Challenge response Once the challenge is complete, the result is returned in the cres parameter, encoded in Base64. Decode it to read the status. Example in PHP: $retour = json_decode(base64_decode($_POST['cres']), true); If the status is Y or A, the challenge is validated and the payment is authorized: call GET /results (step 7) to retrieve the 3DS data required for the transaction. Any other value means the challenge failed: the payment was declined. 7. Result This step retrieves the final 3DS data to be included in the transaction. Send the threeDSServerTransID authentication request. ℹ️ If the authentication returned transStatus = Y directly (without a challenge), the 3DS data is already included: this step is not necessary. Call: curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' Response: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 🔁 Prepare for future MITs (3RI). If this CIT is to serve as a reference for subsequent payments initiated by the merchant, retain the acsTransID from the authentication sequence: it will be required as threeDSReqPriorRef on the 3RI side. 8. Transaction Information required to validate a transaction authenticated using 3DS 2.2: 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci (required if available) 3ds[xid] = custom parameter, free-form reference for merchants Sample (curl) : 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' Next step: For subsequent merchant-initiated transactions (MIT), see 3DS 2.2 – 3RI. Merchant-initiated transaction (MIT – 3RI) The 3RI (3DS Requestor Initiated) flow applies to merchant-initiated transactions (MIT): the merchant initiates the debit without the cardholder’s involvement, under a pre-existing authorization, based on a previously authenticated CIT transaction. It covers all MIT scenarios: recurring billing, variable amounts, usage-based templates, one-time fees, and deferred debits (no-shows, penalties), not just fixed-rate subscriptions. 👉 If the cardholder is present and authorizes the payment themselves, use the BRW flow. For information on the contractual framework, Strong Customer Authentication (SCA) exemptions, and the validity period of a CIT, see the Best Practices — Merchant Initiated Transaction (MIT) page. 1. Prerequisite: a CIT transaction that has already been authenticated Since the cardholder is absent, the 3RI does not re-authenticate anyone: it reuses the authentication proof generated during a previous CIT transaction (with the cardholder present) carried out via the BRW flow. During this CIT, the issuing bank’s server that authenticated the cardholder — the ACS (Access Control Server) — generated a unique identifier for this authentication: theacsTransID. This is the acsTransID that you will associate with each of your MITs to prove to the bank that the card was indeed authenticated for the first time with the cardholder’s consent. ⚠️ Keep the acsTransID from the CIT. Without a previously authenticated CIT — and therefore without acsTransID — a 3RI transaction cannot be completed. If you don't have one, first perform a CIT in BRW to authenticate and tokenize the card. 2. (3RI) Authentication The request is sent to the CentralPay API URL 3ds2/authentication, just like for the BRW flow, but with two key differences: The channel is different. deviceChannel=03 Indicates a transaction initiated by the merchant (3RI), without the cardholder using a browser. The browser* parameters in the BRW flow are therefore unnecessary here. The CIT is referenced. The acsTransID value retained in step 1 is placed in the threeDSReqPriorRef field, which refers to “the previous authentication associated with this transaction.” Card identification. Since the cardholder is not present, no card is scanned during the session: the card already stored for the customer (Customer) is referenced by transmitting customerId + cardId. 💡 Send only one card source. Combining two sources (e.g., cardId + a token, or a PAN + a token) triggers the error “There is no unique source of card” (see the FAQ). Sample (curl) : 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=01' \ --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=1' \ --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=375d90ad-3873-498b-9133-380cbbc8d99d' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeRIInd=01' 2.1. Explanation of the main parameters ParametersDescriptiondeviceChannel03 → 3DS Requestor Initiated (transaction initiated by the merchant, without the cardholder using a browser)messageCategory01 → PA (Payment Authentication) = Authentication associated with a payment (e.g., recurring transaction)02 → NPA (Non-Payment Authentication) = authentication that does not involve a payment (e.g., registration or card verification without a charge).threeDSReqPriorRefmust contain the acsTransID from the previous CIT (BRW) transaction (see step 1)purchaseAmountamount of the current purchasepurchaseCurrencycurrency in ISO formatpurchaseExponentminor unit of the current currencypurchaseDatedate of purchaserecurringExpirythe date after which no further authorizations may be issuedrecurringFrequencyminimum number of days between two authorizationsacctTypeaccount type (03 = debit)chAccAgeIndlength of time the account holder has had an account with the 3DS requester:01 → no account02 → created during the transaction03 → less than 30 days04 → between 30 and 60 days05 → more than 60 dayschAccChangedate of the last change to the account holder’s account (format YYYYMMDD)chAccDateaccount holder’s account opening date (format YYYYMMDD)nbPurchaseAccountnumber of purchases made with this account over the past six monthspaymentAccAgedate the payment account was credited to the account holder’s accountpaymentAccIndlenght of time the payment account has been registered:01 → no account02 → created during the transaction03 → less than 30 days04 → between 30 ans 60 days05 → more than 60 daysthreeDSReqPriorAuthMethodInitial CIT Authentication Method: 01 → if frictionless02 → if the cardholder has completed a challenge03 → AVS04 → otherthreeDSReqPriorAuthTimestampdate and time (UTC) of the previous authentication (format YYYYMMDDHHMM)threeDSRequestorDecReqIndN → do not use decoupled authenticationthreeDSRequestorAuthenticationInd02 → recurring transactionthreeRIIndType of 3RI transaction:01 → recurring transaction02 → installment transaction03 → add a card04 → maintenance05 → account verification06 → split/delayed shipment07 → recharging08 → mail-order sales09 → telephone sales10 check whitelist status11 → other payment Sample of response: { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } Here, threeDSServerTransID is the transaction ID generated by CentralPay (to be included in the transaction), and eci (Electronic Commerce Indicator) indicates the level of authentication achieved, which determines the transfer of liability in the event of fraud. 2.2. Returned statuses (transStatus) and recommended course of action The goal is to achieve frictionless authentication, that is, a transStatus = Y. Always try the 3RI first, then proceed according to the transStatus returned. ℹ️ Support for 3RI depends on the card's scheme and the issuing bank's 3DS version: it is never guaranteed in advance. Hence the “best effort” approach described below — you attempt 3RI, and you only rely on the result if it is positive. ✅ Authentication successful — use the results (transfer of responsibility) Status (transStatus)MeaningYAuthentication successful.AAttempt made. Not authenticated/verified, but a proof of the attempt is provided. → Complete the transaction by submitting the 3DS data from the 3RI (see Step 3). Liability shifts to the issuer. ⚠️ 3RI failed — complete the transaction without authentication (“best effort”) Status (transStatus)MeaningNNot authenticated/unverified account.UAuthentication/verification failed (technical issue or other problem).IFor informational purposes only.C / DChallenge requested (not possible in MIT because the cardholder is absent — see note below). → You can perform the standard transaction without the 3RI data: the Customer (customerId + cardId) ensures automatic linking to the initial CIT. Please note: In this case, the transfer of responsibility does not apply (increased risk of dispute), and the risk of authorization denial is higher. ⚠️ MIT Challenge (C / D). A challenge requires the cardholder to be present, which, by definition, is not the case with MIT. There are two scenarios: if the cardholder can return (e.g., subscription with a customer portal), reprocess a CIT in BRW to re-authenticate the card; otherwise, treat it as an unsuccessful 3RI and complete the transaction without authentication (best effort). See Best Practices — MIT. ❌ Explicit refusal — do not attempt the transaction Status (transStatus)MeaningRAuthentication declined: the sender requests that you do not attempt to obtain authorization. → Do not complete the transaction, even without a 3RI. 3. Transaction Once 3RI authentication is successful (Y or A), enter the following 3DS data in the transaction call: 3ds[threeDSServerTransID] = threeDSServerTransID generated by 3RI authentication (not the one from a previous transaction) 3ds[status] = transStatus 3ds[eci] = eci (required if available) 3ds[xid] = custom parameter, free-form reference for merchants ⚠️ Do not send 3ds[cavv] in3RI. The cavv (Cardholder Authentication Verification Value, the cryptogram that verifies authentication) is specific to the BRW stream; it is not included in the 3RI response and should not be transmitted here. Sample (curl) : 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' ℹ️ « best effort » case (3RI not completed). If the 3RI is not completed (transStatus other than Y/A, and excluding R), perform the same transaction without the subject 3ds[...] : the Customer (customerId + cardId) is sufficient to link the operation to the initial CIT. In that case, the transfer of liability does not apply. See also: Best Practices — Merchant-Initiated Transactions (MIT) for the contractual framework, mandate, and Strong Customer Authentication (SCA) exemptions. Optimize the Frictionless Rate What is “frictionless”? Authentication is considered “frictionless” when the cardholder’s bank approves the transaction without any interaction on the cardholder’s part (no challenge: no one-time code and no confirmation in the banking app). The bank authenticates “silently,” based on the data received and its own risk analysis (Risk-Based Authentication). It serves two purposes: Better conversion: no extra steps for the carrier, so fewer dropouts. Liability Shift: As with successful challenge-based authentication, a successful frictionless transaction (transStatus = Y) shifts liability for fraud to the card issuer. This is what distinguishes it from a payment without 3DS. ℹ️ The final decision always rests with the issuer bank. No approach guarantees a frictionless experience: the issuer may require verification regardless of your integration. The strategies below maximize the chances of a frictionless experience; they do not guarantee it. Lever 1 — Enhance authentication data This is the most important lever. The more reliable contextual data about the user that the authentication request (3ds2/authentication) contains, the better the bank can evaluate the risk and the more likely it is to provide frictionless access. Reverse, a minimal request (amount + browser data only) deprives the bank of the information it would need to bypass the challenge. All of the fields below are accepted by the API in both BRW and 3RI formats and are marked as “Recommended” or “Conditional” (to be submitted as soon as the information is available): Contact information for the cardholder FieldRoleemailcardholder’s email address (conditional: to be sent unless restricted by local regulations)homePhone / mobilePhone / workPhonecardholder’s phone numbers (area code [cc] + number [subscriber])deliveryEmailAddressdelivery email (for electronic delivery) Billing and shipping address FieldRolebillAddrLine1/2/3, billAddrCity, billAddrPostCode, billAddrState, billAddrCountrybilling addressshipAddrLine1/2/3, shipAddrCity, shipAddrPostCode, shipAddrState, shipAddrCountryshipping addressshipAddressUsageIndlength of time the shipping address has been in use Customer account history FieldRolechAccAgeInd, chAccDate, chAccChangethe account holder’s account age and the date of the last change made to the account with the merchantpaymentAccAge, paymentAccIndlength of time the payment method has been registerednbPurchaseAccountnumber of purchases over the past six monthsprovisionAttemptsDayNumber of attempts to add a card in a 24-hour periodpreOrderDate, preOrderPurchaseIndpre-order information, if applicable 💡 Practical tip: Share all the reliable information you have. Inconsistent data (such as an incorrect address) is counterproductive; missing reliable data is a missed opportunity for a frictionless experience. Lever 2 — Run the 3DS Method Whenever versioning allows it, always run the 3DS Method: it enables the bank to collect the technical fingerprint of the cardholder’s browser in the background, which directly feeds into its risk analysis. Skipping this step deprives the bank of information that promotes a frictionless experience. See the procedure on the BRW page. Lever 3 — Expressing a preference and reporting exemptions The threeDSRequestorChallengeInd field (optional, BRW flow) allows you to indicate your challenge preference to the bank and to specify that an exemption applies: ValueMeaning01No preference02No challenge desired03Desired challenge (merchant’s preference)04Desired challenge (required)05No challenge — transactional risk analysis (TRA) already completed06No challenge — data sharing only07No challenge — strong customer authentication (SCA) already completed08No challenge — “trusted beneficiary” exemption (whitelist)09No challenge — invitation to whitelist if a challenge is required ⚠️ The values 05, 07 and 08 indicate that an exemption applies. Use them only if the corresponding exemption actually applies to your configuration: incorrectly declaring an exemption makes you liable and may result in a soft decline (see FAQ). If in doubt, use 01 or 02. The field whiteListStatus also allows you to indicate the merchant’s « trusted beneficiary » status (Y = merchant whitelisted by the cardholder, N, E, P, R, U). When a cardholder adds your merchant to their trusted list with their bank, their subsequent payments go through more smoothly and frictionless. Lever 4 — Properly implement merchant-initiated transactions (MIT) Once an initial CIT transaction has been authenticated, subsequent transactions initiated by the merchant (MIT) are processed via the 3RI flow and are no longer subject to strong authentication. This is one of the most direct ways to reduce friction in recurring, installment, or future payments: authenticate once (CIT), then reuse (MIT). What’s beyond your control Even with complete data and a requested exemption, the issuer may decide to issue a challenge (step-up). If you attempt an authorization without authentication (via exemption) and the issuer denies it, you will receive a soft decline: you must then retry the transaction with authentication. See the corresponding entry in the FAQ. FAQ – 3DS 2.2 Selecting a flow Should I use the BRW feed or the 3RI feed? The criterion is who initiates the transaction and if the cardholder is present, not the order of the transaction: BRW → customer-initiated transaction (CIT), where the cardholder is present and authorizes the payment personally. Use this for the initial authentication of a card as well as for any payment where the customer is present during the transaction. 3RI → merchant-initiated transaction (MIT), with the cardholder absent, based on a previously authenticated CIT (referenced via threeDSReqPriorRef). See the section overview and the MIT page. Can I use the BRW feed for my recurring or Merchant-initiated transactions? No. The BRW assumes that both a browser and a cardholder are present. Using it for MITs results in unnecessary friction, soft declines, and PSD2 non-compliance. For these transactions, use the 3RI, which relies on the acsTransID from the initial CIT. However, an MIT may, in exceptional cases, be reclassified as a CIT by the issuer; in this case, reprocess a CIT (BRW) with the cardholder. Test environment Are there any test cards for 3DS2 transactions in a Sandbox environment? 👉 View the list of test maps for the RCT environment. 3DS authentication errors and statuses My versioning is returning a 404 error: « Card account number not found in card ranges from Directory Server. » What should I do? The card being used is not enrolled in 3DS 2.2: the transaction cannot be processed using 3DS 2.2. We recommend switching to a 3DS1 payment for this type of card. The Result query returns » transStatus = U. » How should this be interpreted? The value U means that authentication/verification could not be completed (due to a technical issue or other problem). Regarding SmartForm: during the challenge, only the values Y and A pass the challenge and allow the payment to proceed. Any other values cause the challenge and the payment to fail. Regarding CustomForm : the behavior may vary. You can use the value U to retry a challenge; if it fails again, switch to 3DS1, or treat the payment as declined. These different handling options are possible. SmartForm vs. CustomForm : SmartForm is the payment page hosted by After submitting the form toacsURL, the customer returns without a CRES but with a » ERROR » (base64) parameter and an empty » THREEDSSESSIONDATA. » What should be done? Verify that your entire 3DS2 process takes place on a single page using the iframe solution. If the process is compliant, contact technical support with the necessary information. ℹ️ As a reminder, all steps of the form are completed on a single page, without being redirected to a bank page or any other page, thanks to the iframe solution. Error 303: « acquirerBIN, acquirerMerchantID not recognized » during authentication. What should I do? This is either a contract that is not 3DS2 or another issue. In the second case, contact technical support and provide the electronic payment contract number (if known) and any other relevant information. Error 203: “Validation of 3DS Requestor Authentication data failed […]” for the “ merchant.merchantName ” field. What does this mean? Error 203 indicates an invalid character in parameter merchant.merchantName. « There is no unique source of card » error in the key ` card data`. What does this mean? This error, which is common across the entire platform, happens when you send card information twice: for example a cardToken and a cardId, or a PAN and a cardToken. Send only one set of card information. Bank Authorization The transaction API returns « Soft Decline, » even though » threeDSServerTransID » is indeed the status returned by CRES. What should I do? The bank returns a “soft decline” (code A1) when 3DS is not included in the transaction. Verify that no 3ds[...] fields are missing — see the data to be transmitted on the BRW page, under the “Transaction” step. Bank return codes 5 and 12 (excluding 3DS) These codes come from the bank authorization and are not specific to 3DS. Code 5: The bank declines the transaction without providing a specific reason (incorrect CVV or another reason we are unaware of). This status does not indicate that the bank will decline authorization after further attempts. Code 12: The bank declines the transaction without providing a specific status. Possible causes: invalid transaction; incorrect or invalid CAVV (the CAVV is the authentication code provided by the ACS during 3DS; not to be confused with the CVV); or another reason unknown to us.
Parcours d'entrée en relation CentralPay propose plusieurs modes d’entrée en relation, selon votre situation : Vous êtes un marchand standard, partenaire ou mandataire en relation directe avec CentralPay Vous êtes un marchand participant d’un mandataire, ou un marchand standard rattaché à un partenaire technique utilisant la solution CentralPay Ce guide détaille les différentes étapes, selon votre profil. Certaines étapes peuvent être adaptées ou simplifiées selon les modalités de votre intégration. 1. Marchands en direct Le parcours d’entrée en relation comporte six étapes principales. 1.1. Qualification de votre projet Nos équipes commerciales échangent avec vous pour analyser votre projet : Parcours de paiement envisagé (web, mobile, point de vente, récurrent…) Moyens de paiement souhaités (carte, virement, SEPA, Pay By Bank…) Méthodes d’intégration (API, portail, connecteur) Typologie de vos clients finaux (B2B, B2C, abonnements…) Volumétrie estimée (fréquence et montants) 1.2. Pré-analyse conformité de votre projet Sur la base des informations fournies, notre service conformité effectue une pré-analyse réglementaire visant à : Vérifier la compatibilité de votre activité avec notre cadre réglementaire Identifier les points de vigilance potentiels (secteur sensible, flux complexes…) Prédéfinir les éventuelles garanties ou conditions particulières 1.3. Signature du contrat cadre Une fois cette pré-analyse validée, vous êtes invité à signer le contrat cadre de services de paiement ou de monnaie électronique. Voir le contrat cadre de services de paiement Un représentant légal peut désigner un mandataire pour signer à sa place (modèle de délégation disponible sur demande) 1.4. Lancement de l’intégration Après signature du contrat : Vous recevez vos accès à l’environnement de test Vous accédez aux documentations techniques CentralPay Si vous bénéficiez d’un accompagnement personnalisé, une réunion d’onboarding est organisée pour configurer vos premiers paramétrages (notifications, versements, droits utilisateurs…). 1.5. Création du profil Marchand CentralPay Le représentant légal reçoit un lien d’inscription sécurisé pour créer le profil : Il complète les informations juridiques Il valide les Conditions Générales d’Utilisation L’analyse de conformité complète est alors déclenchée Cette analyse peut donner lieu à : Des demandes de documents complémentaires (KYC/KYB, contrats, justificatifs…) Un refus d’ouverture si les critères réglementaires ne sont pas remplis Une validation du profil, menant à son ouverture 1.6. Mise en production Une fois l’ensemble des étapes validées, y compris l’intégration et les éventuelles factures initiales : Une date de mise en production est convenue Votre profil est débloqué Vous pouvez encaisser vos premières transactions 2. Marchands liés à un partenaire technique Si vous êtes un marchand intégré via un partenaire technique ou mandataire de CentralPay, le parcours est simplifié. Vous entrez directement à l’étape 5 : Création du profil Marchand CentralPay. 2.1. Étape unique : Création du profil et validation réglementaire Vous recevez un lien d’inscription transmis par votre partenaire ou directement par CentralPay. Ce lien vous permet de : Compléter les informations relatives à votre structure Décrire précisément votre activité, la typologie de vos clients finaux et la volumétrie estimée de vos opérations Valider les Conditions Générales d’Utilisation et signer le contrat cadre Les aspects techniques (intégration, parcours, moyens de paiement) sont déjà définis dans le cadre de la convention signée avec le partenaire technique ou le mandataire. L’analyse de conformité complète de CentralPay reste obligatoire avant validation du profil.
Onboarding Path CentralPay offers several ways of onboarding, depending on your situation: You are a standard merchant, partner, or intermediary working directly with CentralPay You are a Participant Merchant through an Intermediary, or a standard merchant affiliated with a Technical Partner using the CentralPay solution This guide outlines the various steps based on your profile. Some steps may be adapted or simplified depending on the specifics of your Integration process. 1. Online Merchants The onboarding process consists of six main steps. 1.1. Project Eligibility Our sales teams will work with you to analyze your project: Proposed payment channels (web, mobile, Point of Sale (POS), recurring, etc.) Preferred payment methods (credit card, Bank transfer, SEPA, Pay By Bank, etc.) Integration Methods (API, Portal, Connector) Profile of Your End Customers (B2B, B2C, subscriptions, etc.) Estimated volume (frequency and amounts) 1.2. Preliminary Compliance Analysis of Your Project Based on the information provided, our compliance department conducts a preliminary regulatory analysis aimed at: Check whether your business is compatible with our regulatory framework Identify potential areas of concern (sensitive sectors, complex flows, etc.) Specify any warranties or special conditions in advance 1.3. Signing of the Master Agreement Once this preliminary analysis has been approved, you will be asked to sign the Payment Services Framework Agreement or Electronic money agreement. View the Payment Services Framework Agreement A legal representative may designate an intermediary to sign on their behalf (sample delegation form available upon request) 1.4. Launch of the Integration After signing the contract: You will receive your login credentials for the test environment You can access the CentralPay technical documentation If you are receiving personalized support, an onboarding meeting will be scheduled to set up your initial settings (notifications, Payouts, user permissions, etc.). 1.5. Creating a CentralPay Merchant Profile The legal representative receives a secure registration link to create the profile: It supplements the legal information He accepts the Terms and Conditions of Use The comprehensive compliance analysis is then initiated This analysis may lead to: Requests for additional documents (KYC/KYB, contracts, supporting documents, etc.) A refusal to open the account if the regulatory criteria are not met Profile validation, leading to its activation 1.6. Go-Live Once all steps have been validated, including Integration and any initial invoices: A go-live date has been agreed upon Your profile has been unlocked You can cash out your first transactions 2. Merchants affiliated with a Technical Partner If you are a merchant integrated through a CentralPay Technical Partner or Intermediary Merchant, the process is simplified. You’ll go directly to Step 5: Creating a CentralPay Merchant Profile. 2.1. Single Step: Profile Creation and Regulatory Approval You will receive a registration link sent by your partner or directly from CentralPay. This link allows you to: Please complete the information about your organization Describe your business in detail, the types of end customers you serve, and the estimated volume of your operations Accept the Terms and Conditions of Use and sign the framework agreement The technical aspects (integration, user flow, payment methods) have already been defined as part of the agreement signed with the Technical Partner or Intermediary. CentralPay’s comprehensive compliance review remains mandatory before the profile can be approved.
ClearedOperation jQuery(document).ready( function($) { window.live_6ab3046f561f5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_ClearedOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f561f5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f561f5.load(); });
ClearedOperation jQuery(document).ready( function($) { window.live_6ab3046f56669 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_ClearedOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f56669", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f56669.load(); });
Développeurs Articles How to use the swagger Authentication 3DS 2.2 Attachment Balance Histories BankAccount Card token CARD Transaction Charge ClearedOperation CpayUser Credit Customer Deposit Deposits Event Exchange Identity Info Installment Payment MerchantInfo MID Movement Origin PIS Payment Request Payout Point Of Sale Refund PendingOperation Regularisation RIB SCT Transaction SDD Transaction Scenario SourceType Subscription Transfer TransferReversal Wallet Blacklist WhiteList Onboarding Object status Webhook notifications 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 RCT (test) Api login and password. You can also use our test login : Doctest:4I9HJRTdDon’t use your Production login for the tests, you’ll get a 401 error. 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. Authentication 3DS 2.2 See more about 3DS 2.2 jQuery(document).ready( function($) { window.live_6ab3046e02024 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_3D-Secure 2.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02024", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02024.load(); }); Attachment jQuery(document).ready( function($) { window.live_6ab3046e8e8b8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Attachment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e8e8b8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e8e8b8.load(); }); Balance Histories jQuery(document).ready( function($) { window.live_6ab3046eb4182 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Balance Histories.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eb4182", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eb4182.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046f045e5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Account.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f045e5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f045e5.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046f22af9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card Token.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f22af9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f22af9.load(); }); CARD Transaction Transaction See more about card transactions jQuery(document).ready( function($) { window.live_6ab3046da9c4d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046da9c4d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046da9c4d.load(); }); 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). jQuery(document).ready( function($) { window.live_6ab3046e02f78 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02f78", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02f78.load(); }); Credit See more about Credit jQuery(document).ready( function($) { window.live_6ab3046e7a4a3 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e7a4a3", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e7a4a3.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046e95db9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Dispute.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e95db9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e95db9.load(); }); Charge jQuery(document).ready( function($) { window.live_6ab3046f4a6c9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Charge.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4a6c9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4a6c9.load(); }); ClearedOperation jQuery(document).ready( function($) { window.live_6ab3046f561f5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_ClearedOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f561f5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f561f5.load(); }); CpayUser jQuery(document).ready( function($) { window.live_6ab3046f58a01 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_CpayUser.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f58a01", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f58a01.load(); }); Credit jQuery(document).ready( function($) { window.live_6ab3046f58ea6 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f58ea6", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f58ea6.load(); }); Customer See more about Customer jQuery(document).ready( function($) { window.live_6ab3046f5972c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Customer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5972c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5972c.load(); }); Deposit jQuery(document).ready( function($) { window.live_6ab3046f59bee = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f59bee", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f59bee.load(); }); Deposits jQuery(document).ready( function($) { window.live_6ab3046f5a085 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposits.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5a085", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5a085.load(); }); Event jQuery(document).ready( function($) { window.live_6ab3046f5a6db = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Event.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5a6db", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5a6db.load(); }); Exchange jQuery(document).ready( function($) { window.live_6ab3046f5ab7e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Exchange.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5ab7e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5ab7e.load(); }); Identity jQuery(document).ready( function($) { window.live_6ab3046f5b056 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Identity.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5b056", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5b056.load(); }); Info jQuery(document).ready( function($) { window.live_6ab3046f5b4f4 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Info.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5b4f4", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5b4f4.load(); }); Installment Payment See more about Installment Payment jQuery(document).ready( function($) { window.live_6ab3046f5bc96 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Installment Payment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5bc96", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5bc96.load(); }); MerchantInfo jQuery(document).ready( function($) { window.live_6ab3046f5c0f8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5c0f8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5c0f8.load(); }); MID jQuery(document).ready( function($) { window.live_6ab3046f5c790 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_MID.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5c790", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5c790.load(); }); Movement jQuery(document).ready( function($) { window.live_6ab3046f5cc30 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Movement.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5cc30", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5cc30.load(); }); Origin See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046f5d3ff = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Origin.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5d3ff", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5d3ff.load(); }); PIS See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046f5dba1 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PIS.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5dba1", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5dba1.load(); }); Payment Request See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046f5e31c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payment Request.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5e31c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5e31c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f5e32b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PaymentRequestHistory.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5e32b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5e32b.load(); }); Payout See more about Payout jQuery(document).ready( function($) { window.live_6ab3046f5eb57 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payout.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5eb57", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5eb57.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f5eb66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant Payout Setup.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5eb66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5eb66.load(); }); Point Of Sale jQuery(document).ready( function($) { window.live_6ab3046f5f073 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Point Of Sale.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5f073", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5f073.load(); }); Refund See more about Refund for Card Transaction See more about Refund for SCT Transaction See more about Refund for SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046f5fe48 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5fe48", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5fe48.load(); }); PendingOperation jQuery(document).ready( function($) { window.live_6ab3046f60340 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PendingOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f60340", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f60340.load(); }); Regularisation jQuery(document).ready( function($) { window.live_6ab3046f607c4 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Regularisation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f607c4", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f607c4.load(); }); RIB jQuery(document).ready( function($) { window.live_6ab3046f60bf5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Rib.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f60bf5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f60bf5.load(); }); SCT Transaction SCT Transaction See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046eefdd2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eefdd2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eefdd2.load(); }); SCT Transaction Reversal See more about SCT Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f23dbb = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f23dbb", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f23dbb.load(); }); SCT Transaction Refund See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f43d3e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f43d3e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f43d3e.load(); }); SCT transaction Refund Reversal See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f4d2fa = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4d2fa", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4d2fa.load(); }); Bank Reconciliation See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f4e2ea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation wireTransfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4e2ea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4e2ea.load(); }); Bank Reconciliation external See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f61bc6 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation external.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f61bc6", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f61bc6.load(); }); SDD Transaction Mandate See more about Mandate jQuery(document).ready( function($) { window.live_6ab3046f628b5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Mandate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f628b5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f628b5.load(); }); SDD Transaction See more about SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046f6330d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6330d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6330d.load(); }); SDD Transaction Reversal See more about SDD Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f63bac = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f63bac", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f63bac.load(); }); SDD Transaction Refund jQuery(document).ready( function($) { window.live_6ab3046f64050 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64050", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64050.load(); }); SDD Transaction Refund Reversal jQuery(document).ready( function($) { window.live_6ab3046f644a9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f644a9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f644a9.load(); }); Scenario jQuery(document).ready( function($) { window.live_6ab3046f64a11 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Scenario.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64a11", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64a11.load(); }); SourceType jQuery(document).ready( function($) { window.live_6ab3046f64e68 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SourceType.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64e68", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64e68.load(); }); Subscription Subscription Model See more about Subscription Model jQuery(document).ready( function($) { window.live_6ab3046f65a21 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription Model.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f65a21", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f65a21.load(); }); Subscription See more about Subscription jQuery(document).ready( function($) { window.live_6ab3046f662f1 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f662f1", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f662f1.load(); }); Invoice See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046f66b11 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f66b11", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f66b11.load(); }); InvoiceItem See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046f67318 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice Item.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f67318", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f67318.load(); }); Transfer jQuery(document).ready( function($) { window.live_6ab3046f678e9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f678e9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f678e9.load(); }); TransferReversal jQuery(document).ready( function($) { window.live_6ab3046f67d0b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f67d0b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f67d0b.load(); }); Wallet jQuery(document).ready( function($) { window.live_6ab3046f682e7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Wallet.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f682e7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f682e7.load(); }); Blacklist jQuery(document).ready( function($) { window.live_6ab3046f6880d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Blacklist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6880d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6880d.load(); }); WhiteList jQuery(document).ready( function($) { window.live_6ab3046f68dea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Whitelist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f68dea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f68dea.load(); }); Onboarding Create Enrollement jQuery(document).ready( function($) { window.live_6ab3046f69912 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Create enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69912", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69912.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69921 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_User.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69921", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69921.load(); }); Complete enrollment jQuery(document).ready( function($) { window.live_6ab3046f69f7c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f7c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f7c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69f8b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete additional enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f8b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f8b.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69f97 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f97", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f97.load(); }); Update enrollment jQuery(document).ready( function($) { window.live_6ab3046f6a5ea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Update enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6a5ea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6a5ea.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f6a5f9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Rollback enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6a5f9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6a5f9.load(); }); Search enrollement jQuery(document).ready( function($) { window.live_6ab3046f6ac09 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Search enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6ac09", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6ac09.load(); }); Enrollment Details jQuery(document).ready( function($) { window.live_6ab3046f6b1c8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment details.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b1c8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b1c8.load(); }); E-money jQuery(document).ready( function($) { window.live_6ab3046f6b79e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autocomplete.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b79e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b79e.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f6b7ad = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autoupdate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b7ad", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b7ad.load(); }); Misc jQuery(document).ready( function($) { window.live_6ab3046f6bbc3 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Configuration.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6bbc3", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6bbc3.load(); }); Object status MERCHANT-ENROLLMENT status This page lists the possible values returned by the status field in the EnrollmentWorkflow object. These statuses indicate the current state of a merchant onboarding process initiated through CentralPay’s API or user portal. 📌 Status List StatusDescriptionAPI_CALLThe enrollment was initiated via API. The workflow has been created but no validation has occurred yet.VALIDATIONThe onboarding request is currently under validation (e.g., verifying provided data and uploaded documents).ON_GOINGThe process is ongoing. The merchant is expected to provide more information or complete additional steps.OVERRIDECentralPay has overridden a previous decision and resumed processing the enrollment.REFUSEDThe enrollment request has been refused. CentralPay may have detected a regulatory issue, risk, or missing eligibility requirement.ACCEPTEDThe merchant enrollment is complete and validated. The merchant can now use their CentralPay account. 🔁 Status Flow Overview ✅ Standard Status Flow API_CALL → VALIDATION → ON_GOING → ACCEPTED This is the default progression for a successful enrollment: API_CALL – The enrollment has been created via API. No validation has started yet. VALIDATION – CentralPay is verifying the submitted information and documents. ON_GOING – The merchant is expected to provide additional data or complete onboarding steps. ACCEPTED – The enrollment has been approved. The merchant can now use their CentralPay account. ❌ Alternative Flow – Rejection API_CALL → VALIDATION → REFUSED or API_CALL → VALIDATION → ON_GOING → REFUSED The enrollment is rejected during the process, either early on or after attempted completion. Common reasons include: Invalid or non-compliant documents Ineligible merchant activity Excessive financial or regulatory risk 🔁 Manual Override After Refusal REFUSED → OVERRIDE → VALIDATION / ON_GOING If new or corrected information is provided, a CentralPay operator may resume the process after an initial refusal. The OVERRIDE status indicates that a manual decision has been made to re-open the enrollment flow. 💬 Notes An Agent or DME may retrieve the enrollment status via API to track progress. CentralPay sends webhooks to the configured endpoint when the enrollment status changes (e.g., ACCEPTED, REFUSED). Once the enrollment is ACCEPTED, the merchant’s profile becomes active, and their account is ready for use. TRANSFER status This page lists and describes the status values associated with the Transfer object. These statuses reflect the progression of a fund transfer operation created via the /transfer endpoint in CentralPay’s API. Status values StatusDescriptionCREATEDThe transfer has been successfully created and registered. It has not yet been executed.SCHEDULEDThe transfer is scheduled for automatic execution at a defined date/time.PENDINGThe transfer is being processed. Execution is in progress but not yet finalized.CANCELEDThe transfer was canceled before execution. No movement of funds occurred.PROCESSEDThe transfer was processed by CentralPay. Funds have been deducted from the source wallet.DONEThe transfer was successfully completed and the funds have been credited to the target account or wallet.FAILEDThe transfer could not be executed due to an error. No debit occurred or the operation was reversed.REVERSEDThe transfer was previously executed but has since been reversed. Funds were returned to the source wallet. Status lifecycle ✅ Standard flow CREATED → SCHEDULED → PENDING → PROCESSED → DONE This is the typical status flow when the transfer is executed successfully. ⚠️ Alternative flow (error or cancellation) CREATED → CANCELED If the transfer is canceled before execution. CREATED → SCHEDULED → PENDING → FAILED If the transfer encounters an error during processing (e.g., insufficient funds, invalid wallet, technical issue). DONE → REVERSED If the transfer was previously executed but later reversed (e.g., manual operation or compliance reversal). Notes Only CREATED or SCHEDULED transfers may be canceled manually. A FAILED status usually indicates validation errors (e.g. insufficient funds, inactive wallet, invalid beneficiary). The REVERSED status applies when a reversal is triggered using the /transferReversal endpoint. Status fields are returned in the status property of the Transfer JSON object and may be monitored using the API or relevant webhooks. TRANSFER REVERSAL status This page provides the list of statuses associated with the Transfer Reversal object, accessible via the /transferReversal endpoint. A Transfer Reversal allows you to cancel or refund a previously created transfer, typically used to revert funds between wallets when an operation is aborted or updated after execution. 📌 Status List StatusDescriptionPENDINGThe reversal has been requested but not yet processed.IN_PROGRESSThe reversal request is currently being executed.DONEThe reversal has been successfully completed.REFUSEDThe reversal has been refused. This may be due to authorization failure, insufficient funds, or policy restrictions.CANCELEDThe reversal request was canceled before being processed. These statuses are returned in the status field of the Transfer Reversal object and can be queried through the API to track reversal lifecycle. 🔁 Status Flow Overview ✅ Standard Status Flow PENDING → IN_PROGRESS → DONE This is the expected successful path for a properly submitted reversal. ❌ Alternate Outcomes Rejected during or after processing: PENDING → REFUSEDPENDING → IN_PROGRESS → REFUSED Cancellation before processing: PENDING → CANCELED 🔍 Notes A reversal can only be initiated if the original transfer is eligible. Once DONE, the reversal is final and reflected in both wallets. Status changes can be tracked via webhook notifications if configured. 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 ExplanationACTIVEUNPAIDPayment 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, PIS 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 » StatusDescriptionSUCCESSThe 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 » StatutDescriptionCLEAREDProcessed refund.UNCLEAREDRefund pending processing.FAILURERefund in error.CANCELEDRefund cancelled, either by you or by your customer via the customer portal. CREDIT status Status « Credit » StatusDescriptionCLEAREDCredit processed.UNCLEAREDCredit pending processingFAILURECredit in error.CANCELEDCredit cancelled, either by you or by your Customer via the customer portal. DISPUTES status Status « Disputes » StatutDescriptionFRAUD_NOTICEDA preventive fraud alert sent by the issuer via the card scheme (e.g., Visa TC40). It is not a formal dispute nor a refund. Use it to anticipate controls and block similar attempts.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 » StatusDescriptionACCEPTEDThe 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.CANCELEDThe subscription has been canceled either by you or by your Customer via the customer portal. INSTALLMENT status Status « Subscription » StatusDescriptionACTIVEThe 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 » StatutDescriptionACTIVEPending 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 » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable. BANK ACCOUNT status StatusDescriptionACCEPTEDThe 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.CANCELEDThe bank account is no longer usable (closed account, fraud, …). PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELEDThe payout has been canceled (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 » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded. Webhook notifications The PAYMENT-ACCOUNT object PAYMENT_ACCOUNT_STATUS_UPDATEDWhen a payment account is updated { "blockConfigurationId": "e09287a2-xxxx-xxxx-xxxx-02e4d8a90f84", "blockReason": "ACCOUNT_DUPLICATE", "blockStatus": "IN_OUT", "creationDate": "2026-04-16T09:03:48.171329+02:00", "enrollmentUuid": "af5c4ccb-xxxx-xxxx-xxxx-3365ebad820c", "merchantUuid": "aa23c0d6-xxxx-xxxx-xxxx-0765feacc9f1" } The MERCHANT-ENROLLMENT object Prochainement The WALLETS object WALLET_CREATEDWhen a wallet is created { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } WALLET_UPDATEDWhen a wallet is updated { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } The BANKACCOUNT object BANKACCOUNT_ACCEPTEDWhen 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_PENDINGWhen 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_UPDATEDWhen 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": [] } BANKACCOUNT_REFUSEDWhen a Bank account is refused { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "refusalComment": "The bank details do not match the name of the company, SC CONNECTING FIRST.", "refusalReason": "IBAN_INVALID", "status": "REFUSED", "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": [] } BANKACCOUNT_CANCELEDWhen a Bank account is canceled { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "status": "CANCELED", "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_UPDATEDWhen 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_CREATEDWhen 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_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen 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": [] } } CREDIT_CLEAREDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_CLEARED", "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": "CLEARED", "transactionTransfers": [] } } CREDIT_SETTLEDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_SETTLED", "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": "CLEARED", "transactionTransfers": [] } } The CUSTOMER object CUSTOMER_CREATEDWhen 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_UPDATEDWhen 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_OTPWhen 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_CREATEDWhen 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_UPDATEDWhen a deposit is updated The DISPUTE object DISPUTE_UPDATEDWhen 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_CREATEDWhen a dispute is created The INSTALLMENT object INSTALLMENTPAYMENT_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVATEDWhen an installment is activated INSTALLMENTPAYMENT_FAILUREWhen an installment failed to be paid INSTALLMENTPAYMENT_PAIDWhen 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_UNPAIDWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_CREATEDWhen 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_UPDATEDAn 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_DOCUMENTSSome 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_DOCUMENTSSome 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_CREATEDThe 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_UPDATEDThe account has been update. You receive those elements ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTEDAdditionnal 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_UPDATEDAdditionnal documents or information have been provided by the account holder in one ongoing onboarding. ONBOARDING_ENROLLMENT_WORKFLOW_RESETThe 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_RESULTThe 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_CREATEDWhen an enrollement is created The PAYMENT REQUEST object PAYMENTREQUEST_CREATEDHappen 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_CANCELEDHappen 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_CLOSEDHappen 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_PAIDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_SUCCEEDEDHappen when the SDD transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } The PAYOUT object PAYOUT_CREATEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_PAIDWhen 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_CREATEDWhen a payout reversal has been created The REFUND object REFUND_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen a refund is updated REFUND_CLEAREDWhen a refund is cleared REFUND_SETTLEDWhen a refund is settled The SCT Transaction object SCT_TRANSACTION_CREATEDWhen 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_UPDATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen 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_CREATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen a sct transaction refund is cancelled SCT_TRANSACTION_REFUNDED_RECEIVED,When a sct transaction refund is received SCT_TRANSACTION_REFUNDEDWhen a sct transaction reversal is created The SDD TRANSACTION object SDDTRANSACTION_CREATEDWhen 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_CLEAREDWhen 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_VALIDATEDWhen 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_CANCELEDWhen 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_RENEWOTPWhen 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_CREATEDWhen a SDD Transaction reversal is created The MANDATE object MANDATE_CREATEDWhen 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_SIGNEDWhen 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_OBSOLETEDWhen 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_RENEWOTPWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVEWhen a Subscription is active SUBSCRIPTION_FAILUREWhen 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_UNPAIDWhen a Subscription is unpaid SUBSCRIPTION_REACTIVATEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_DELETEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CLOSEDWhen 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_REOPENWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_SUCCEEDEDWhen 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_CANCELEDWhen 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_CAPTUREDWhen 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_CLEAREDWhen a transaction is sent to the clearing and will be debited { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_CLEARED", "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_SETTLEDWhen a transaction has been sent to the clearing and has been credit to the merchant { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_SETTLED", "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_EXPIREDWhen 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_UPDATEDWhen 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_DISPUTEDWhen 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_FAILEDWhen 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_FRAUDULENTWhen 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_ACCEPTEDWhen a transaction is refused because entering an acceptance rule TRANSACTION_REFUNDEDWhen 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_RISKYWhen a transaction is refused because of its risk score exceed the limit TRANSACTION_THREEDS_AUTH_FAILEDWhen a transaction is declined because the card holder failed to authenticate himself during the 3DS process The TRANSFER REVERSAL object TRANSFERREVERSAL_SUCCEEDEDWhen 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_UPDATEDWhen 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_SUCCEEDEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_CREATEDWhen a wire transfer is created WIRETRANSFER_UPDATEDWhen a wire transfer is updated WIRETRANSFER_RECEIVEDWhen a wire transfer is received WIRETRANSFER_CANCELEDWhen a wire transfer is cancelled Resources by type Codes HTTP Codes Find below the list of HTTP return codes: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident. Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency 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 CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_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: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
Developers Articles How to use the swagger Authentication 3DS 2.2 Attachment Balance Histories BankAccount Card token CARD Transaction Charge ClearedOperation CpayUser Credit Customer Deposit Deposits Event Exchange Identity Info Installment Payment MerchantInfo MID Movement Origin PIS Payment Request Payout Point Of Sale Refund PendingOperation Regularisation RIB SCT Transaction SDD Transaction Scenario SourceType Subscription Transfer TransferReversal Wallet Blacklist WhiteList Onboarding Object status Webhook notifications 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 RCT (test) Api login and password. You can also use our test login : Doctest:4I9HJRTdDon’t use your Production login for the tests, you’ll get a 401 error. 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. Authentication 3DS 2.2 See more about 3DS 2.2 jQuery(document).ready( function($) { window.live_6ab3046e02762 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_3D-Secure 2.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e02762", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e02762.load(); }); Attachment jQuery(document).ready( function($) { window.live_6ab3046e8ee5e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Attachment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e8ee5e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e8ee5e.load(); }); Balance Histories jQuery(document).ready( function($) { window.live_6ab3046eb45d9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Balance Histories.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eb45d9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eb45d9.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046f04eb2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Account.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f04eb2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f04eb2.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046f23505 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card Token.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f23505", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f23505.load(); }); CARD Transaction Transaction See more about card transactions jQuery(document).ready( function($) { window.live_6ab3046daa42e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046daa42e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046daa42e.load(); }); 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). jQuery(document).ready( function($) { window.live_6ab3046e037a7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Card.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e037a7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e037a7.load(); }); Credit See more about Credit jQuery(document).ready( function($) { window.live_6ab3046e7ac35 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e7ac35", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e7ac35.load(); }); 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. jQuery(document).ready( function($) { window.live_6ab3046e9656d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Dispute.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046e9656d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046e9656d.load(); }); Charge jQuery(document).ready( function($) { window.live_6ab3046f4ab26 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Charge.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4ab26", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4ab26.load(); }); ClearedOperation jQuery(document).ready( function($) { window.live_6ab3046f56669 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_ClearedOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f56669", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f56669.load(); }); CpayUser jQuery(document).ready( function($) { window.live_6ab3046f9bcb2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_CpayUser.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9bcb2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9bcb2.load(); }); Credit jQuery(document).ready( function($) { window.live_6ab3046f9c1de = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9c1de", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9c1de.load(); }); Customer See more about Customer jQuery(document).ready( function($) { window.live_6ab3046f9ca96 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Customer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9ca96", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9ca96.load(); }); Deposit jQuery(document).ready( function($) { window.live_6ab3046f9cf68 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9cf68", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9cf68.load(); }); Deposits jQuery(document).ready( function($) { window.live_6ab3046f9d41d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposits.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9d41d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9d41d.load(); }); Event jQuery(document).ready( function($) { window.live_6ab3046f9d8d5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Event.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9d8d5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9d8d5.load(); }); Exchange jQuery(document).ready( function($) { window.live_6ab3046f9dd7a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Exchange.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9dd7a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9dd7a.load(); }); Identity jQuery(document).ready( function($) { window.live_6ab3046f9e22c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Identity.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9e22c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9e22c.load(); }); Info jQuery(document).ready( function($) { window.live_6ab3046f9e6cd = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Info.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9e6cd", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9e6cd.load(); }); Installment Payment See more about Installment Payment jQuery(document).ready( function($) { window.live_6ab3046f9ee66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Installment Payment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9ee66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9ee66.load(); }); MerchantInfo jQuery(document).ready( function($) { window.live_6ab3046f9f336 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9f336", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9f336.load(); }); MID jQuery(document).ready( function($) { window.live_6ab3046f9f842 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_MID.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9f842", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9f842.load(); }); Movement jQuery(document).ready( function($) { window.live_6ab3046f9fd6b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Movement.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9fd6b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9fd6b.load(); }); Origin See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046fa0769 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Origin.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa0769", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa0769.load(); }); PIS See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046fa0f23 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PIS.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa0f23", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa0f23.load(); }); Payment Request See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046fa16d0 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payment Request.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa16d0", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa16d0.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fa16df = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PaymentRequestHistory.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa16df", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa16df.load(); }); Payout See more about Payout jQuery(document).ready( function($) { window.live_6ab3046fa25da = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payout.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa25da", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa25da.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fa25ee = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant Payout Setup.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa25ee", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa25ee.load(); }); Point Of Sale jQuery(document).ready( function($) { window.live_6ab3046fa2b01 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Point Of Sale.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa2b01", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa2b01.load(); }); Refund See more about Refund for Card Transaction See more about Refund for SCT Transaction See more about Refund for SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046fa394c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa394c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa394c.load(); }); PendingOperation jQuery(document).ready( function($) { window.live_6ab3046fa3e89 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PendingOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa3e89", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa3e89.load(); }); Regularisation jQuery(document).ready( function($) { window.live_6ab3046fa430d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Regularisation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa430d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa430d.load(); }); RIB jQuery(document).ready( function($) { window.live_6ab3046fa47e9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Rib.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa47e9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa47e9.load(); }); SCT Transaction SCT Transaction See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046ef062c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046ef062c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046ef062c.load(); }); SCT Transaction Reversal See more about SCT Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f2459c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f2459c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f2459c.load(); }); SCT Transaction Refund See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f44638 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f44638", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f44638.load(); }); SCT transaction Refund Reversal See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f4db1b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4db1b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4db1b.load(); }); Bank Reconciliation See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f4eb2d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation wireTransfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4eb2d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4eb2d.load(); }); Bank Reconciliation external See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046fa59db = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation external.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa59db", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa59db.load(); }); SDD Transaction Mandate See more about Mandate jQuery(document).ready( function($) { window.live_6ab3046fa65f7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Mandate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa65f7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa65f7.load(); }); SDD Transaction See more about SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046fa6e0c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa6e0c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa6e0c.load(); }); SDD Transaction Reversal See more about SDD Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046fa762c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa762c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa762c.load(); }); SDD Transaction Refund jQuery(document).ready( function($) { window.live_6ab3046fa7a9d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa7a9d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa7a9d.load(); }); SDD Transaction Refund Reversal jQuery(document).ready( function($) { window.live_6ab3046fa7ef7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa7ef7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa7ef7.load(); }); Scenario jQuery(document).ready( function($) { window.live_6ab3046fa832c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Scenario.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa832c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa832c.load(); }); SourceType jQuery(document).ready( function($) { window.live_6ab3046fa885d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SourceType.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa885d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa885d.load(); }); Subscription Subscription Model See more about Subscription Model jQuery(document).ready( function($) { window.live_6ab3046fa9359 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription Model.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa9359", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa9359.load(); }); Subscription See more about Subscription jQuery(document).ready( function($) { window.live_6ab3046fa9b63 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa9b63", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa9b63.load(); }); Invoice See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046faa31a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faa31a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faa31a.load(); }); InvoiceItem See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046faab1c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice Item.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faab1c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faab1c.load(); }); Transfer jQuery(document).ready( function($) { window.live_6ab3046faaf58 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faaf58", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faaf58.load(); }); TransferReversal jQuery(document).ready( function($) { window.live_6ab3046fab358 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fab358", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fab358.load(); }); Wallet jQuery(document).ready( function($) { window.live_6ab3046fab777 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Wallet.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fab777", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fab777.load(); }); Blacklist jQuery(document).ready( function($) { window.live_6ab3046fabb58 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Blacklist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fabb58", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fabb58.load(); }); WhiteList jQuery(document).ready( function($) { window.live_6ab3046fabf09 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Whitelist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fabf09", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fabf09.load(); }); Onboarding Create Enrollement jQuery(document).ready( function($) { window.live_6ab3046fac75c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Create enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fac75c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fac75c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fac76b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_User.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fac76b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fac76b.load(); }); Complete enrollment jQuery(document).ready( function($) { window.live_6ab3046facc57 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc57", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc57.load(); }); jQuery(document).ready( function($) { window.live_6ab3046facc66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete additional enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc66.load(); }); jQuery(document).ready( function($) { window.live_6ab3046facc71 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc71", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc71.load(); }); Update enrollment jQuery(document).ready( function($) { window.live_6ab3046fad152 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Update enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad152", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad152.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fad160 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Rollback enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad160", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad160.load(); }); Search enrollement jQuery(document).ready( function($) { window.live_6ab3046fad639 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Search enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad639", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad639.load(); }); Enrollment Details jQuery(document).ready( function($) { window.live_6ab3046fad9ff = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment details.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad9ff", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad9ff.load(); }); E-money jQuery(document).ready( function($) { window.live_6ab3046fade0c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autocomplete.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fade0c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fade0c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fade1a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autoupdate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fade1a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fade1a.load(); }); Misc jQuery(document).ready( function($) { window.live_6ab3046fae419 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Configuration.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fae419", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fae419.load(); }); Object status MERCHANT-ENROLLMENT status This page lists the possible values returned by the status field in the EnrollmentWorkflow object. These statuses indicate the current state of a merchant onboarding process initiated through CentralPay’s API or user portal. 📌 Status List StatusDescriptionAPI_CALLThe enrollment was initiated via API. The workflow has been created but no validation has occurred yet.VALIDATIONThe onboarding request is currently under validation (e.g., verifying provided data and uploaded documents).ON_GOINGThe process is ongoing. The merchant is expected to provide more information or complete additional steps.OVERRIDECentralPay has overridden a previous decision and resumed processing the enrollment.REFUSEDThe enrollment request has been refused. CentralPay may have detected a regulatory issue, risk, or missing eligibility requirement.ACCEPTEDThe merchant enrollment is complete and validated. The merchant can now use their CentralPay account. 🔁 Status Flow Overview ✅ Standard Status Flow API_CALL → VALIDATION → ON_GOING → ACCEPTED This is the default progression for a successful enrollment: API_CALL – The enrollment has been created via API. No validation has started yet. VALIDATION – CentralPay is verifying the submitted information and documents. ON_GOING – The merchant is expected to provide additional data or complete onboarding steps. ACCEPTED – The enrollment has been approved. The merchant can now use their CentralPay account. ❌ Alternative Flow – Rejection API_CALL → VALIDATION → REFUSED or API_CALL → VALIDATION → ON_GOING → REFUSED The enrollment is rejected during the process, either early on or after attempted completion. Common reasons include: Invalid or non-compliant documents Ineligible merchant activity Excessive financial or regulatory risk 🔁 Manual Override After Refusal REFUSED → OVERRIDE → VALIDATION / ON_GOING If new or corrected information is provided, a CentralPay operator may resume the process after an initial refusal. The OVERRIDE status indicates that a manual decision has been made to re-open the enrollment flow. 💬 Notes An Agent or DME may retrieve the enrollment status via API to track progress. CentralPay sends webhooks to the configured endpoint when the enrollment status changes (e.g., ACCEPTED, REFUSED). Once the enrollment is ACCEPTED, the merchant’s profile becomes active, and their account is ready for use. TRANSFER status This page lists and describes the status values associated with the Transfer object. These statuses reflect the progression of a fund transfer operation created via the /transfer endpoint in CentralPay’s API. Status values StatusDescriptionCREATEDThe transfer has been successfully created and registered. It has not yet been executed.SCHEDULEDThe transfer is scheduled for automatic execution at a defined date/time.PENDINGThe transfer is being processed. Execution is in progress but not yet finalized.CANCELEDThe transfer was canceled before execution. No movement of funds occurred.PROCESSEDThe transfer was processed by CentralPay. Funds have been deducted from the source wallet.DONEThe transfer was successfully completed and the funds have been credited to the target account or wallet.FAILEDThe transfer could not be executed due to an error. No debit occurred or the operation was reversed.REVERSEDThe transfer was previously executed but has since been reversed. Funds were returned to the source wallet. Status lifecycle ✅ Standard flow CREATED → SCHEDULED → PENDING → PROCESSED → DONE This is the typical status flow when the transfer is executed successfully. ⚠️ Alternative flow (error or cancellation) CREATED → CANCELED If the transfer is canceled before execution. CREATED → SCHEDULED → PENDING → FAILED If the transfer encounters an error during processing (e.g., insufficient funds, invalid wallet, technical issue). DONE → REVERSED If the transfer was previously executed but later reversed (e.g., manual operation or compliance reversal). Notes Only CREATED or SCHEDULED transfers may be canceled manually. A FAILED status usually indicates validation errors (e.g. insufficient funds, inactive wallet, invalid beneficiary). The REVERSED status applies when a reversal is triggered using the /transferReversal endpoint. Status fields are returned in the status property of the Transfer JSON object and may be monitored using the API or relevant webhooks. TRANSFER REVERSAL status This page provides the list of statuses associated with the Transfer Reversal object, accessible via the /transferReversal endpoint. A Transfer Reversal allows you to cancel or refund a previously created transfer, typically used to revert funds between wallets when an operation is aborted or updated after execution. 📌 Status List StatusDescriptionPENDINGThe reversal has been requested but not yet processed.IN_PROGRESSThe reversal request is currently being executed.DONEThe reversal has been successfully completed.REFUSEDThe reversal has been refused. This may be due to authorization failure, insufficient funds, or policy restrictions.CANCELEDThe reversal request was canceled before being processed. These statuses are returned in the status field of the Transfer Reversal object and can be queried through the API to track reversal lifecycle. 🔁 Status Flow Overview ✅ Standard Status Flow PENDING → IN_PROGRESS → DONE This is the expected successful path for a properly submitted reversal. ❌ Alternate Outcomes Rejected during or after processing: PENDING → REFUSEDPENDING → IN_PROGRESS → REFUSED Cancellation before processing: PENDING → CANCELED 🔍 Notes A reversal can only be initiated if the original transfer is eligible. Once DONE, the reversal is final and reflected in both wallets. Status changes can be tracked via webhook notifications if configured. 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 ExplanationACTIVEUNPAIDPayment 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, PIS 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 » StatusDescriptionSUCCESSThe 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 » StatutDescriptionCLEAREDProcessed refund.UNCLEAREDRefund pending processing.FAILURERefund in error.CANCELEDRefund cancelled, either by you or by your customer via the customer portal. CREDIT status Status « Credit » StatusDescriptionCLEAREDCredit processed.UNCLEAREDCredit pending processingFAILURECredit in error.CANCELEDCredit cancelled, either by you or by your Customer via the customer portal. DISPUTES status Status « Disputes » StatutDescriptionFRAUD_NOTICEDA preventive fraud alert sent by the issuer via the card scheme (e.g., Visa TC40). It is not a formal dispute nor a refund. Use it to anticipate controls and block similar attempts.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 » StatusDescriptionACCEPTEDThe 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.CANCELEDThe subscription has been canceled either by you or by your Customer via the customer portal. INSTALLMENT status Status « Subscription » StatusDescriptionACTIVEThe 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 » StatutDescriptionACTIVEPending 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 » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable. BANK ACCOUNT status StatusDescriptionACCEPTEDThe 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.CANCELEDThe bank account is no longer usable (closed account, fraud, …). PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELEDThe payout has been canceled (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 » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded. Webhook notifications The PAYMENT-ACCOUNT object PAYMENT_ACCOUNT_STATUS_UPDATEDWhen a payment account is updated { "blockConfigurationId": "e09287a2-xxxx-xxxx-xxxx-02e4d8a90f84", "blockReason": "ACCOUNT_DUPLICATE", "blockStatus": "IN_OUT", "creationDate": "2026-04-16T09:03:48.171329+02:00", "enrollmentUuid": "af5c4ccb-xxxx-xxxx-xxxx-3365ebad820c", "merchantUuid": "aa23c0d6-xxxx-xxxx-xxxx-0765feacc9f1" } The MERCHANT-ENROLLMENT object Prochainement The WALLETS object WALLET_CREATEDWhen a wallet is created { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } WALLET_UPDATEDWhen a wallet is updated { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } The BANKACCOUNT object BANKACCOUNT_ACCEPTEDWhen 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_PENDINGWhen 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_UPDATEDWhen 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": [] } BANKACCOUNT_REFUSEDWhen a Bank account is refused { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "refusalComment": "The bank details do not match the name of the company, SC CONNECTING FIRST.", "refusalReason": "IBAN_INVALID", "status": "REFUSED", "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": [] } BANKACCOUNT_CANCELEDWhen a Bank account is canceled { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "status": "CANCELED", "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_UPDATEDWhen 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_CREATEDWhen 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_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen 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": [] } } CREDIT_CLEAREDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_CLEARED", "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": "CLEARED", "transactionTransfers": [] } } CREDIT_SETTLEDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_SETTLED", "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": "CLEARED", "transactionTransfers": [] } } The CUSTOMER object CUSTOMER_CREATEDWhen 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_UPDATEDWhen 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_OTPWhen 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_CREATEDWhen 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_UPDATEDWhen a deposit is updated The DISPUTE object DISPUTE_UPDATEDWhen 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_CREATEDWhen a dispute is created The INSTALLMENT object INSTALLMENTPAYMENT_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVATEDWhen an installment is activated INSTALLMENTPAYMENT_FAILUREWhen an installment failed to be paid INSTALLMENTPAYMENT_PAIDWhen 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_UNPAIDWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_CREATEDWhen 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_UPDATEDAn 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_DOCUMENTSSome 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_DOCUMENTSSome 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_CREATEDThe 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_UPDATEDThe account has been update. You receive those elements ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTEDAdditionnal 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_UPDATEDAdditionnal documents or information have been provided by the account holder in one ongoing onboarding. ONBOARDING_ENROLLMENT_WORKFLOW_RESETThe 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_RESULTThe 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_CREATEDWhen an enrollement is created The PAYMENT REQUEST object PAYMENTREQUEST_CREATEDHappen 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_CANCELEDHappen 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_CLOSEDHappen 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_PAIDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_SUCCEEDEDHappen when the SDD transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } The PAYOUT object PAYOUT_CREATEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_PAIDWhen 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_CREATEDWhen a payout reversal has been created The REFUND object REFUND_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen a refund is updated REFUND_CLEAREDWhen a refund is cleared REFUND_SETTLEDWhen a refund is settled The SCT Transaction object SCT_TRANSACTION_CREATEDWhen 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_UPDATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen 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_CREATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen a sct transaction refund is cancelled SCT_TRANSACTION_REFUNDED_RECEIVED,When a sct transaction refund is received SCT_TRANSACTION_REFUNDEDWhen a sct transaction reversal is created The SDD TRANSACTION object SDDTRANSACTION_CREATEDWhen 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_CLEAREDWhen 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_VALIDATEDWhen 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_CANCELEDWhen 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_RENEWOTPWhen 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_CREATEDWhen a SDD Transaction reversal is created The MANDATE object MANDATE_CREATEDWhen 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_SIGNEDWhen 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_OBSOLETEDWhen 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_RENEWOTPWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVEWhen a Subscription is active SUBSCRIPTION_FAILUREWhen 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_UNPAIDWhen a Subscription is unpaid SUBSCRIPTION_REACTIVATEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_DELETEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CLOSEDWhen 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_REOPENWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_SUCCEEDEDWhen 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_CANCELEDWhen 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_CAPTUREDWhen 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_CLEAREDWhen a transaction is sent to the clearing and will be debited { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_CLEARED", "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_SETTLEDWhen a transaction has been sent to the clearing and has been credit to the merchant { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_SETTLED", "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_EXPIREDWhen 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_UPDATEDWhen 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_DISPUTEDWhen 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_FAILEDWhen 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_FRAUDULENTWhen 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_ACCEPTEDWhen a transaction is refused because entering an acceptance rule TRANSACTION_REFUNDEDWhen 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_RISKYWhen a transaction is refused because of its risk score exceed the limit TRANSACTION_THREEDS_AUTH_FAILEDWhen a transaction is declined because the card holder failed to authenticate himself during the 3DS process The TRANSFER REVERSAL object TRANSFERREVERSAL_SUCCEEDEDWhen 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_UPDATEDWhen 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_SUCCEEDEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_CREATEDWhen a wire transfer is created WIRETRANSFER_UPDATEDWhen a wire transfer is updated WIRETRANSFER_RECEIVEDWhen a wire transfer is received WIRETRANSFER_CANCELEDWhen a wire transfer is cancelled Resources by type Codes HTTP Codes Find below the list of HTTP return codes: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident. Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency 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 CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_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: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
Gestion des marchands Articles Informations générales Demande d'enrôlementmerchant-enrollment Compléter un enrôlementmerchant-enrollment Validation d'un enrôlement Compte de Monnaie Électronique limitécustomer / wallets Déplafonner un compte de Monnaie Électroniquemerchant-enrollment Retours, statuts et webhooks Informations générales Cette section explique le fonctionnement de la création de comptes CentralPay, qu’il s’agisse de comptes de paiement ou de comptes de monnaie électronique, ainsi que les méthodes disponibles pour initier un enrôlement utilisateur via nos outils (portail ou API), en fonction du modèle de partenariat. 1. Types de comptes CentralPay permet l’ouverture de deux types de comptes réglementés : Type de compteDescriptionExemples d’usageCompte de paiementCompte de paiement au sens de l’article L314-1 du Code monétaire et financier.Encaissement par carte, virement ou SEPA.Compte de monnaie électroniqueCompte prépayé en euros émis par CentralPay, selon les règles des Établissements de Monnaie Électronique.Wallets, marketplaces C2C, cashback, titres. L’attribution du type de compte dépend du modèle économique du marchand et de son éventuelle gestion par un mandataire (DME ou Agent). 2. Fonctionnement global de l’enrôlement L’ouverture d’un compte passe systématiquement par une procédure d’enrôlement incluant : La création d’une demande d’enrôlement : initiation d’un dossier contenant les premières informations (email, nom, prénom) La complétion de l’enrôlement : soumission par l’utilisateur des informations réglementaires et des justificatifs (KYC/KYB) La validation de l’enrôlement : analyse par CentralPay, pouvant aboutir à une ouverture de compte, une demande complémentaire ou un refus 3. Deux interfaces possibles InterfaceDescriptionPublic concernéPortail d’enrôlement CentralPayInterface hébergée par CentralPay, accessible via lien personnalisé.Tous types d’utilisateursAPI d’enrôlementInterface technique permettant à un mandataire d’initier ou compléter des enrôlements via API.Mandataires autorisés selon leur statut 4. Conformité et réglementation Afin de respecter le cadre réglementaire applicable aux Prestataires de Services de Paiement, la répartition des rôles est strictement encadrée : CentralPay initie seul la contractualisation avec l’utilisateur Le partenaire technique ne peut pas inciter, conseiller ni initier une ouverture de compte Le partenaire technique n’intervient pas dans la collecte de justificatifs Seuls les partenaires enregistrés comme MOBSP, ou les mandataires Agent ou DME peuvent intervenir dans les étapes d’enrôlement élargies Modèle partenairePeut initier une demande d’enrôlementPeut compléter un enrôlement (API)Peut transmettre des justificatifs KYCPartenaire TechniqueOui*❌ Non❌ NonMandataire DMEOui, via API ou portail✅ Oui✅ OuiMandataire AgentOui, via API ou portail✅ Oui✅ Oui (KYC Niveau 1 ou plus si mandat) ℹ️ Le partenaire technique peut créer une demande d'enrôlement contenant uniquement les données de contact (email, nom, prénom, raison sociale), sans envoyer lui-même de lien d'enrôlement. CentralPay reste seul décideur de la suite du processus. Demande d'enrôlement 1. Méthodes de création d’une demande d’enrôlement 1.1. Depuis le portail Marchand CentralPay Un utilisateur connecté au portail CentralPay peut initier une demande d’enrôlement depuis le menu : Plateforme > Enrôlements > Créer Recette Portail Marchand – Onboarding Production Portail Marchand – Onboarding Il peut alors renseigner manuellement les champs décrits plus bas (dans le détail de l’appel API). Une fois la demande enregistrée, un lien de redirection vers le portail d’onboarding est généré automatiquement et peut être : Envoyé automatiquement par e-mail via le Mailer CentralPay (sélectionner OUI dans le champ « Envoyer des emails à l’adresse ci-dessus ») Ou copié manuellement pour un envoi par un autre canal (chat, SMS, etc.) 1.2. Depuis l’API : POST /merchant-enrollments L’enrôlement peut aussi être initié automatiquement via l’API, en appelant : POST /merchant-enrollments L’appel permet de générer un identifiant d’enrôlement (UUID) et d’initier un parcours d’onboarding complet, qui pourra être poursuivi : Soit via le portail Marchand Soit entièrement via les endpoints API (voir partie « Compléter un enrôlement par API ») Si aucun lien direct (enrollment_url) n’est retourné par l'API, par défaut, la plateforme CentralPay envoie un e-mail à l'adresse définie dans profile[email][value].Pour désactiver cet envoi : "sendClaimEmail": falseSi vous désactivez l'envoi, vous pouvez transmettre manuellement l'URL d’accès à l'interface onboarding en reconstituant :- En RCT : https://test-onboarding.centralpay.net/token/profile/[UUID]- En PROD : https://onboarding.centralpay.net/token/profile/[UUID]Note : [UUID] est l’identifiant retourné dans la réponse à POST /merchant-enrollments. 2. Créer une demande d’enrôlement depuis l’API (Merchant Enrollment) 🇫🇷 Enrôlement simplifié via SIREN (France uniquement)CentralPay permet de pré-remplir automatiquement certaines informations pour les sociétés françaises disposant d’un numéro SIREN :1. Appeler l'endpoint : POST /api/legal-entity/siren2. Fournir le champ : { "siren": "123456789" }3. Si les informations sont valides, un UUID est retourné. Il doit être utilisé comme identityBadge dans la création d’enrôlement pour déclencher le parcours simplifié. 2.1. Champs requis ChampTypeObligatoireDescriptionprofile[firstname][value]string (255)✅ OuiPrénom du titulaire. Validation : caractères alphabétiques et tirets (-). Depuis la version 1.15.0profile[lastname][value]string (255)✅ OuiNom du titulaire. Validation : caractères alphabétiques et tirets (-). Depuis la version 1.15.0profile[email][value]string (255)✅ OuiAdresse email de contact. Depuis la version 1.15.0profile[phone][value]string✅ OuiNuméro de téléphone international. Depuis la version 1.15.0languagestring✅ OuiLangue préférée du marchand. Note : utilisez GET /api/locale pour les valeurs disponibles.accountTypeenum✅ OuiType de profil marchand à créer. Note : utilisez GET /api/merchant-enrollment/account-type.activitySectorUUID (36)✅ OuiSecteur d’activité du marchand. Note : utilisez GET /api/nauth/enrollment-claim/activity-sector.activityAgeUUID (36)✅ Oui, si type = LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSAncienneté de l’activité. Note : utilisez GET /api/nauth/enrollment-claim/activity-age.feeScheduleUUID (36)✅ OuiGrille tarifaire à appliquer. Note : obtenez les identifiants via POST /api/merchant-enrollment/fee-schedule.identityBadgeUUID✅ Oui, si enrôlement via SIRENIdentifiant SIREN (activant le parcours simplifié).contractUUID✅ Oui, si accountType = STANDARDContrat à appliquer. Note : utilisez GET /api/merchant-enrollment/contract. 2.2. Champs avancés (optionnels) Personnalisation du parcours ChampValeur par défautDescriptionworkflowModeSEQUENTIALMode de déroulement du parcours (seul le mode SEQUENTIAL est désormais disponible).Note : valeurs valides : SEQUENTIALtype—Type juridique : INDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITY.Note : conditionne la structure du parcours.subType—Sous-type recommandé selon type.Note :Pour INDIVIDUAL_WITH_STATUS : SOLE_TRADER, MERCHANT, ARTISANPour LEGAL_ENTITY : ASSOCIATION, PUBLIC, COMMERCIAL, EIG, CIVILturnoverIsFixedfalseSi true, verrouille la déclaration de chiffre d’affaires.Note : facultatif Paramètres de communication ChampValeur par défautDescriptionsendClaimEmailtrueEnvoie l’e-mail d’enrôlement avec le lien portail.allowedEmailCommunicationtrueSi false, désactive tous les envois d’e-mails pendant le parcours d’onboarding.sendProfileCreationEmailfalseEnvoie un email à l’utilisateur une fois le profil complété.sendAccountCreationEmailtrueEnvoie un email une fois le profil Marchand CentralPay activé. Données personnelles Tous les champs ci-dessous sont facultatifs mais permettent de pré-renseigner la constitution du profil utilisateur du futur titulaire du compte. ChampTypeDescriptionprofile[nationality][country]string (3)Nationalité (format ISO 3166-1 alpha-3).profile[birthday][value]dateDate de naissance.Validation : ≥ 18 ans, ≤ 110 ansprofile[place_of_birth][value]stringLieu de naissance.profile[country_of_birth][country]string (3)Pays de naissance (ISO 3166-1 alpha-3).birthdayConfirmation[value]dateRequis uniquement si le marchand est affilié à un agent.Format : YYYY-MM-DD Adresse (optionnelle) Ces champs peuvent être fournis pour pré-remplir l’adresse du titulaire. ChampTypeDescriptionprofile[address][nameLine1]string(255)Ligne 1 de l’adresse.Contraintes : ^[a-zA-Z0-9\\p{L} ´'\\-]{1,255}$profile[address][locality]string(255)Ville.profile[address][postalCode]string(20)Code postal.profile[address][country]string(3)Pays (ISO 3166-1 alpha-3). Autres options ChampTypeDescriptioncontractUUID (36)Contrat à appliquer.Obligatoire si accountType = STANDARD.Note : GET /api/merchant-enrollment/contractcguUUID (36)CGU à appliquer.Note : POST /api/merchant-enrollment/cguDepuis version 1.18.0customReferencestring (100)Référence personnalisée (usage interne).payoutProfileUUID (36)Profil de versement à associer.Note : POST /api/merchant-enrollment/payout-profileadministrativeContactstring (255)Contact administratif référent.Depuis version 1.18.0technicalContactstring (255)Contact technique.Depuis version 1.18.0financialContactstring (255)Contact financier.Depuis version 1.18.0addSecurityReferenceboolAffiche une référence de sécurité lors de la validation du contrat.Uniquement valable pour : STANDARD, PARTNER, RESELLER.Défaut : falsehookUUIDIdentifiant de webhook à notifier.Note : voir onglet Full API reference pour obtenir les valeurs possibles. Compléter un enrôlement Une fois la demande d’enrôlement créée, le titulaire du futur compte peut finaliser son parcours de deux manières : via le portail CentralPay ou par intégration complète à l’API. 1. Option 1 – Compléter l’enrôlement via le portail CentralPay Le lien d’accès à l’onboarding (généré ou reconstruit lors de la création d’enrôlement) permet au futur titulaire de compte de renseigner ses informations et d’uploader les documents demandés depuis l’interface CentralPay, de manière autonome. Vous êtes notifié automatiquement à chaque étape de l’enrôlement ou uniquement à sa finalisation (selon votre paramétrage webhook) Une fois le parcours complété par l’utilisateur, les données sont transmises aux équipes conformité de CentralPay pour validation Dans certains cas, des documents complémentaires pourront être requis par les analystes CentralPay 2. Option 2 – Compléter l’enrôlement par API Il est également possible de piloter l’ensemble du parcours d’enrôlement via API, étape par étape. Le processus suit 4 grandes phases : Compléter le profil Déterminer le workflow Compléter le workflow Finaliser l’enrôlement 2.1. Compléter le profil Statut du profil Un profil commence toujours avec un statut workflow.status = « ON_GOING ». Pour être considéré comme complété, ce statut doit devenir ACCEPTED. ⚠️ En mode SEQUENTIAL, ce statut peut revenir à ON_GOING lors du déblocage de questions supplémentaires. Il convient de le recontrôler à chaque étape. Obtenir la première activité à compléter Récupérer l’activityUuid via : GET /api/nauth/merchant-enrollment/{enrollmentId} Parcourir : profile.workflow.activities[0].uuid Puis interroger : GET /api/nauth/profile/{activityUuid}/activity Soumettre les données Envoyer les données attendues via un formulaire : POST /api/nauth/profile/{activityUuid}/activityContent-Type : multipart/form-data Exemple de champs attendus (activité « Identity Informations ») : ChampTypeContraintesfirstname[value]string255 caractèreslastname[value]string255 caractèresmail[value]stringEmail validephone[value]stringNuméro international (min. 10 caractères)birthday[value]stringDate au format YYYY-MM-DD, entre 18 et 110 ansplace_of_birth[value]string—country_of_birth[country]stringISO 3166-1 alpha-3 Autres types d’activité possibles : Domiciliations : informations d’adresse Pièce d’identité : type (IDENTITY_CARD, PASSPORT) + documents (2 fichiers pour carte, 1 pour passeport) Répétez ce processus tant que le statut d’une activité reste « TODO ». 2.2. Déterminer le workflow Cette étape débloque la suite du parcours (collecte de documents, justificatifs, etc.). POST /api/merchant-enrollment/{enrollmentUuid}/activity/{uuid} Payload attendu : ChampTypeObligatoireNotestypeEnum✅ OuiINDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITYbankAccountInEEACountrybool✅ Oui—turnoverUUID (36)✅ OuiPOST /api/nauth/enrollment-claim/turnovercompanyNamestring(255)Oui, si LEGAL_ENTITY—activityAgeUUID (36)Oui, si LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSGET /api/nauth/enrollment-claim/activity-agesubTypeENUMRecommandéDépend du type (voir détails ci-dessous)isCompanyboolOui, si LEGAL_ENTITY— Si vous avez utilisé un identityBadge (enrôlement via SIREN), cette étape est automatiquement sautée : le workflow est déjà déterminé. 2.3. Compléter le workflow Chaque étape du workflow suit la même logique que celle du profil. Types de step possibles : FORM : champs à renseigner via key[value] API_CALL : traitement externe VALIDATION : action manuelle par les équipes CentralPay ENDED : étape finalisée Exemple : pour le champ company_legal_status, il faut envoyer company_legal_status[value]. Les endpoints utilisés sont : POST /api/merchant-enrollment/{merchantUuid}/activity/{uuid} POST /api/merchant-enrollment/{uuid}/complete Validation d'un enrôlement Une fois toutes les étapes du profil et du workflow complétées (que ce soit via le portail d’onboarding CentralPay ou par API), l’enrôlement entre en phase de vérification par les équipes conformité de CentralPay. 1. Vérification par le service conformité Les analystes procèdent à une analyse complète des informations et documents collectés au cours du parcours. Cette étape peut mener à l’une des décisions suivantes : 1.1 Validation de l’enrôlement Si les éléments fournis sont complets, lisibles et conformes aux obligations réglementaires, l’enrôlement est validé. CentralPay procède alors automatiquement à la création : Du profil Marchand CentralPay (Merchant) Du compte de paiement (Wallet) Du profil utilisateur légal du profil Marchand CentralPay (BO User) ℹ️ Ces entités sont accessibles immédiatement depuis vos outils de supervision (portail ou API). 1.2. Demande de compléments Si certaines pièces sont manquantes, floues, expirées ou incohérentes, une demande de documents complémentaires peut être émise par le service conformité. Cette demande est : Soit transmise par email directement au futur titulaire du compte Soit affichée dans le portail d’onboarding CentralPay, si la demande le permet ℹ️ L’utilisateur pourra compléter les pièces demandées pour relancer la vérification. 1.3. Refus de l’enrôlement Dans certains cas (documents non valides, identité invalide, incohérences non résolues, risque trop élevé), l’ouverture du compte peut être refusée. Aucune entité CentralPay (BO User, Wallet, Merchant) n’est alors créée. 2. Notifications via webhook Quel que soit le scénario de sortie (validation, complément ou refus), vous êtes notifié en temps réel via les webhooks configurés. Cela vous permet de : Suivre les enrôlements au fil de l’eau Adapter votre UX si l’enrôlement est refusé ou en attente Déclencher des actions internes (création CRM, attribution, etc.) Compte de Monnaie Électronique limité CentralPay permet la création de comptes de monnaie électronique (Wallets) pour stocker et utiliser des valeurs numériques. Deux parcours complémentaires sont proposés : Création rapide d’un Wallet sans KYC (compte limité) : accessible immédiatement avec des plafonds réglementaires Déplafonnement du Wallet via enrôlement KYC (compte vérifié) : levée des limites après vérification des documents Ce fonctionnement est adapté aux parcours progressifs : un utilisateur peut créer un compte limité pour un premier usage, puis être invité à compléter son profil pour accéder à l’ensemble des fonctionnalités. 1. Création d’un compte de Monnaie Électronique limité CentralPay permet la création de comptes de monnaie électronique utilisables immédiatement, sans collecte de documents, dans un cadre réglementaire strict. Les comptes de monnaie électronique limités sont réservés aux individuels (personnes physiques). Les personnes morales ne peuvent pas disposer de ce type de compte. 1.1. Limites réglementaires Solde maximal : 150 € Encaissement glissant : 150 € sur 30 jours Ce seuil s’appuie sur les dispositions de l’article R561-16 du Code monétaire et financier concernant les comptes de monnaie électronique non vérifiés. ℹ️ Ce type de compte peut ensuite être déplafonné par enrôlement KYC (voir plus bas). 1.2. Étape 1 – Créer un Customer Le Wallet doit être rattaché à un objet Customer représentant l’utilisateur final (voir Profils Clients) 1.3. Étape 2 – Créer un Wallet POST /wallets Champs obligatoires ChampTypeDescriptionNotecustomerIdUUIDIdentifiant du CustomerRequis sauf si merchantId est fournicurrencystring (3)Devise du Wallet (ex. "EUR")ISO 4217 – format 3 lettres Champs optionnels ChampTypeDescriptionreferencestringRéférence métieractivationDatedateDate d’activationexpirationDatedateDate d’expirationadditionalDataobjectDonnées personnalisées (JSON) 1.4. Étapes complémentaires – Gérer un Wallet limité Une fois un Wallet créé, CentralPay vous permet de : le modifier (ex. : ajouter une date d’expiration, une référence, un Merchant) le consulter en détail lister les Wallets existants pour un Customer ou Merchant 2. Modifier un Wallet POST /wallets/{walletId} Ce service permet de mettre à jour certains attributs du Wallet sans le recréer. Champs obligatoires ChampTypeDescriptionNotewalletIdUUIDIdentifiant du Wallet à mettre à jourRequis dans l’URL et/ou le corps de requête Champs optionnels ChampTypeDescriptionNotereferencestringRéférence personnalisée du Wallet—expirationDatedateDate d’expiration du WalletYYYY-MM-DDactivationDatedateDate d’activation du WalletYYYY-MM-DDadditionalDataobjectDonnées métier structurées (clé/valeur JSON)—merchantIdUUIDPour rattacher un Wallet à un Merchant spécifiqueFacultatif – à ne pas confondre avec customerId 3. Consulter un Wallet GET /wallets/{walletId} Ce service permet de récupérer les informations détaillées d’un Wallet existant. Paramètres requis ChampTypeDescriptionNotewalletIdUUID (36)Identifiant du WalletLe Wallet doit appartenir au Merchant connecté ou à l’un de ses sous-marchands Description des champs ChampTypeDescriptionNotecurrencystringDevise du WalletISO 4217 (ex. EUR)available[].amountintSolde disponible en centimesEx. : 10500 = 105,00 €pending[].amountintSolde en attente (transactions en cours)—referencestringRéférence du WalletFacultatifadditionalDataobjectDonnées personnaliséesJSON libre 4. Lister les Wallets d’un Customer GET /wallets Permet d’obtenir la liste des Wallets créés pour un même Customer. Paramètres requis ChampTypeDescriptioncustomerIdUUIDIdentifiant du CustomercurrencystringDevise (ex. "EUR") Paramètres optionnels ChampTypeDescriptionNoteafterstringNe retourner que les Wallets créés après cette dateFormat ISO 8601beforestringNe retourner que les Wallets créés avant cette dateFormat ISO 8601limitstringNombre d’éléments par pageDéfaut : 10pagestringIndex de la pageDéfaut : 1 5. Schéma de création d’un compte de ME limité Déplafonner un compte de Monnaie Électronique Un Wallet peut être converti en compte vérifié (limites levées) via un enrôlement complet, déclenché par l’API. 1. Étape 1 – Créer un enrôlement POST /merchant-enrollments Vous devez inclure le walletId du Wallet limité existant. Champs obligatoires ChampTypeDescriptionNotewalletIdUUIDLien avec le Wallet ME à déplafonnerUUID valideprofile[firstname][value]string (255)PrénomAlpha + -profile[lastname][value]string (255)NomAlpha + -profile[email][value]string (255)Email de contact—profile[phone][value]string (15)Téléphone international—profile[birthday][value]date (YYYY-MM-DD)Date de naissanceEntre 18 et 110 ansprofile[place_of_birth][value]string (255)Lieu de naissance—profile[country_of_birth][country]string (3)Pays de naissanceISO 3166-1 alpha-3languagestring (3)"fr" ou "en"—accountTypestring"BASIC"—typestring"INDIVIDUAL"—activitySectorUUID (36)Secteur d’activitéGET /api/nauth/enrollment-claim/activity-sectorfeeScheduleUUID (36)Grille tarifairePOST /api/merchant-enrollment/fee-scheduleturnoverUUID (36)CA annuel attenduPOST /api/nauth/enrollment-claim/turnoverworkflowDefinitionUUIDModèle de workflowfournie par CentralPayprofileWorkflowDefinitionUUIDModèle de profilfournie par CentralPayworkflowModestring"SEQUENTIAL"RequisallowedEmailCommunicationbooleanConsentement à recevoir des emailstrue ou false Champs facultatifs ChampTypeDescriptionsendClaimEmailbooleanEnvoi de l’e-mail d’enrôlement (défaut : true)sendProfileCreationEmailbooleanEmail après profil complétésendAccountCreationEmailbooleanEmail à l’ouverture du compte vérifiécustomReferencestringRéférence internetechnicalContact, administrativeContact, financialContactstring(255)Contacts métiersaddSecurityReferencebooleanAffiche une référence sécurité (pour STANDARD, PARTNER, RESELLER)hookUUIDHook techniquebirthdayConfirmation[value]dateSi affilié à un agent 2. Étape 2 – Compléter un enrôlement KYC (via autocomplete) Pour accélérer le processus d’enrôlement, vous pouvez compléter d’un seul coup toutes les données attendues en appelant : POST /merchant-enrollment/{uuid}/autocomplete Adresse de résidence ChampTypeObligatoireDescriptionNoteaddress[nameLine1]string✅ OuiNuméro et nom de rue—address[locality]string✅ OuiVille de résidence—address[postalCode]string✅ OuiCode postal—address[country]string✅ OuiPays de résidenceISO 3166-1 alpha-3 Document d’identité ChampTypeObligatoireDescriptionNoteidentityDocument[type]string✅ OuiType de documentIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]fichier✅ OuiRecto ou scan principalJPG, JPEG ou PNGidentityDocument[documents][1]fichier✅ Oui, si IDENTITY_CARDVerso ou page complémentaireJPG, JPEG ou PNGidentityDocument[issuingCountry]string✅ OuiPays émetteurISO 3166-1 alpha-3identityDocument[expiryDate]string❌ NonDate d’expirationFormat YYYY-MM-DDidentityDocument[checkId]string❌ NonID de contrôle (Onfido)—identityDocument[documentNumber]string❌ NonNuméro du document—identityDocument[mrzLine1]string❌ NonLigne MRZ 1—identityDocument[mrzLine2]string❌ NonLigne MRZ 2— Cas particuliers ChampObligatoireConditionDescriptionidentityDocument[proofOfIdentityDocument]✅ Ouisi type = IDENTITY_DOCUMENT_RECEIPTJustificatif visuel du récépisséidentityDocument[proofOfIdentityDocuments][*]✅ OuiidemPlusieurs fichiers si applicableidentityDocument[proofOfIdentityDocumentExpiryDate]✅ Ouisi fichier proofOfIdentityDocument fourniFormat YYYY-MM-DD Données bancaires (facultatif mais recommandé) ChampTypeObligatoireDescriptionNoteiban[value]string❌ NonIBAN à vérifierFormat IBAN validebic[value]string❌ NonCode BIC/SWIFT—ibanDocument[document]fichier❌ NonJustificatif bancaire (RIB, relevé)JPG, JPEG ou PNG Données KYC complémentaires (riskData) Tous les champs suivants sont requis sauf mention contraire. ChampTypeObligatoireDescriptionNoteriskData[isPep]bool✅ OuiPersonne politiquement exposée ?défaut : falseriskData[isInSanctionList]bool✅ OuiAppartient à une liste de sanctions ?défaut : falseriskData[residentAlpha3Code]string✅ OuiPays de résidenceISO 3166-1 alpha-3riskData[isHighRiskResident]bool✅ OuiPays de résidence à risque ?—riskData[nationalityAlpha3Code]string✅ OuiNationalitéISO 3166-1 alpha-3riskData[isHighRiskNationality]bool✅ OuiNationalité à risque ?—riskData[isHighRiskMCCActivitySector]bool✅ OuiSecteur MCC à risque ?—riskData[MCCActivitySector]int✅ OuiCode MCC (NAF ou secteur)—riskData[monthlyLimit]int✅ OuiLimite mensuelle déclarée (en centimes)Ex. 150000 = 1500,00 €riskData[monthlyLimitCurrencyAlphabeticCode]string✅ OuiDevise (ex. EUR)ISO 4217riskData[isCrossBorderPayment]bool❌ NonPaiements transfrontaliers ?Défaut : trueriskData[declaredMonthlyRevenue]int❌ NonRevenus déclarés (en centimes)—riskData[verifiedMonthlyRevenue]int✅ Oui, si full KYCRevenus vérifiés— Documents complémentaires (si requis) ChampTypeObligatoireDescriptionNoteproofOfAddressDocument[documents][0]fichier✅ Oui, si profil à risqueJustificatif de domicileJPG, JPEG ou PNGincomeDocument[document]fichier✅ Oui, si full KYC requisJustificatif de revenus (1 doc)JPG, JPEG ou PNGincomeDocument[documents][*]fichier✅ Oui, si full KYC requisPlusieurs fichiers possiblesJPG, JPEG ou PNG Autres documents (si nécessaires à la levée de limite) ChampTypeDescriptionNotesadditionalDocuments[X]['type']stringType du document transmisEx. : UBO_DECLARATION, PROOF_OF_VAT_REGISTRATION, LICENSING_AGREEMENT, etc.additionalDocuments[X]['documents'][X]fichierFichier transmisFormat : JPG, JPEG, PNG ℹ️ La liste complète des types de document acceptés est documentée dans l'Open API. Données libres (obligatoire même vide) ChampTypeObligatoireDescriptionmetaDataJSON object✅ OuiMétadonnées libres, au format {"key": "value"} (peut être vide) 3. Étape 3 – Corriger un enrôlement rejeté (autoupdate) Lorsque le service conformité refuse un ou plusieurs documents (ex. : carte d’identité floue, pièce expirée), vous pouvez soumettre uniquement les éléments refusés via une requête d’auto-mise à jour. POST /merchant-enrollment/{uuid}/autoupdate Correction de document d’identité ChampTypeObligatoireDescriptionNoteidentityDocument[type]string✅ OuiType de document à corrigerIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]fichier✅ OuiRecto du document (ou fichier unique)JPG, JPEG ou PNGidentityDocument[documents][1]fichier✅ Oui, si type = IDENTITY_CARDVerso de la CNIJPG, JPEG ou PNGidentityDocument[issuingCountry]string✅ Oui, si document transmisPays émetteurISO 3166-1 alpha-3 Document d’identité complémentaire (si requis) ChampTypeObligatoireDescriptioncomplementaryIdentityDocument[documents][0]fichier✅ Oui, si exigéScan ou photo supplémentairecomplementaryIdentityDocument[expiryDate]string✅ OuiDate d’expiration (YYYY-MM-DD)complementaryIdentityDocument[documentNumber]string✅ OuiNuméro du documentcomplementaryIdentityDocument[mrzLine1]string✅ OuiMRZ ligne 1complementaryIdentityDocument[mrzLine2]string✅ OuiMRZ ligne 2complementaryIdentityDocument[issuingCountry]string✅ OuiPays émetteur (ISO alpha-3) Documents de revenus ChampTypeObligatoireDescriptionincomeDocument[document]fichier✅ Oui, si requisFichier unique JPG/JPEG/PNGincomeDocument[documents][*]fichier✅ Oui, si multiples attendusPlusieurs documents par index ([0], [1], etc.) Compléments d’information personnelle ChampTypeObligatoireDescriptionprofile[firstname][value]string❌ NonPrénomprofile[lastname][value]string❌ NonNomprofile[birthday][value]string❌ NonDate de naissanceprofile[place_of_birth][value]string❌ NonLieu de naissanceprofile[country_of_birth][country]string❌ NonPays de naissance (ISO 3166-1 alpha-3) Correction d’adresse (si refusée) ChampTypeObligatoireDescriptionprofile[address][nameLine1]string❌ NonAdresse – ligne 1profile[address][postalCode]string❌ NonCode postalprofile[address][country]string❌ NonPays (ISO alpha-3)profile[address][locality]string❌ NonVille Mise à jour des données KYC (riskData) Tous les champs suivants sont requis sauf mention contraire. Ils doivent être renvoyés à l’identique ou mis à jour si modifiés dans le cadre de la correction. ChampTypeObligatoireDescriptionNoteriskData[isPep]boolean✅ OuiPEP ?défaut : falseriskData[isInSanctionList]boolean✅ OuiSur une liste de sanctions ?défaut : falseriskData[residentAlpha3Code]string✅ OuiPays de résidenceISO alpha-3riskData[isHighRiskResident]boolean✅ OuiPays de résidence à risque ?—riskData[nationalityAlpha3Code]string✅ OuiNationalitéISO alpha-3riskData[isHighRiskNationality]boolean✅ OuiNationalité à risque ?—riskData[isHighRiskMCCActivitySector]boolean✅ OuiSecteur à risque ?—riskData[MCCActivitySector]int✅ OuiCode MCC métier—riskData[monthlyLimit]int✅ OuiLimite mensuelle (en centimes)[0 ; 190000]riskData[monthlyLimitCurrencyAlphabeticCode]string✅ OuiDevise (ex. EUR)ISO 4217riskData[isCrossBorderPayment]boolean❌ NonPaiements transfrontaliersdéfaut : trueriskData[declaredMonthlyRevenue]int❌ NonRevenus déclarés—riskData[verifiedMonthlyRevenue]int✅ Oui, si full KYCRevenus vérifiés (centimes) Documents additionnels (optionnels ou exigés) ChampTypeObligatoireDescriptionadditionalDocuments[X]['type']string✅ Oui, si documents attendusType du justificatifadditionalDocuments[X]['documents'][X]fichier✅ OuiFichiers associés (JPG, JPEG, PNG) Autres champs ChampTypeObligatoireDescriptionfullKycboolean❌ NonPermet d’imposer un KYC complet ou simplifié (true / false) 4. Étape 4 – Suivre le statut d’un enrôlement Une fois un enrôlement créé et complété, vous pouvez à tout moment interroger son statut pour : Vérifier l’état d’avancement (ON_GOING, ACCEPTED, REFUSED) Suivre les étapes en attente dans le workflow Extraire les données de profil déjà soumises Récupérer un enrôlement GET /merchant-enrollment/{enrolmentId} Paramètres requis ChampTypeObligatoireDescriptionNoteenrolmentIdUUID (36)✅ OuiIdentifiant de l’enrôlement retourné lors de la création (POST /merchant-enrollments)Format UUID standard ℹ️ L’enrôlement doit appartenir à l’espace autorisé par vos identifiants API (marchand ou sous-marchand). Champs principaux de la réponse ChampTypeDescriptionuuidUUIDIdentifiant unique de l’enrôlementworkflow.statusstringStatut du processus (ON_GOING, ACCEPTED, REFUSED)workflow_modestring"SEQUENTIAL" ou "CONTINUAL"workflow.activities[]tableauListe des activités (étapes) encore à compléterprofile[...]objetDonnées de profil déjà soumises, avec leur statutconformity_statusstringÉtat de conformité global (ON_GOING, REVIEW, APPROVED, etc.)created_atdatetimeDate de création de l’enrôlementactivity_sector.namestringSecteur déclaré dans l’enrôlement À surveiller Tant qu’une activité a un state = TODO, l’enrôlement est incomplet Lorsqu’aucune activité n’est en attente et que le workflow.status = ACCEPTED, l’utilisateur est validé En cas de workflow.status = REFUSED, aucun Wallet vérifié ne sera généré 5. Schéma de validation KYC d’un compte de ME Retours, statuts et webhooks 1. Codes de retour liés à la création de profil marchand La création d’un profil marchand via l’API d’enrôlement déclenche un processus automatisé permettant à CentralPay de collecter et valider les informations nécessaires à l’ouverture du profil. En cas d’échec, une réponse d’erreur HTTP est retournée immédiatement à l’appel API, précisant le champ en erreur et la nature du rejet (donnée manquante, incohérente ou invalide). ⚠️ Il n'existe pas de table de codes de retour centralisée pour ces erreurs, car elles sont liées aux validations dynamiques effectuées par champ. L'erreur retournée est toujours structurée dans le corps de réponse et permet de corriger précisément le point bloquant. 2. Statuts liés aux enrôlements Consultez les Statuts Merchant Enrollment ➝ 3. Webhooks liés aux enrôlements Consultez les Webhooks d’Onboarding ➝
Merchant management Articles General information Enrollment requestmerchant-enrollment Complete an enrollmentmerchant-enrollment Enrollment validation Limited Electronic Money Accountcustomer / wallets Remove the limit on an Electronic Money Accountmerchant-enrollment Responses, articles of association, and webhooks General information This section explains how to create CentralPay accounts, whether payment accounts or e-money accounts, as well as the methods available for initiating user onboarding through our tools (portal or API), depending on the partnership model. 1. Types of accounts CentralPay allows users to open two types of regulated accounts: Account typeDescriptionSamples of usePayment accountPayment account as defined in article L314-1 of the Monetary and Financial Code.Payment by credit card, bank transfer, or SEPA.E-money accountA prepaid account in euros issued by CentralPay, in accordance with the regulations governing electronic money institutions.Wallets, marketplaces C2C, cashback, titles. The assignment of an account type depends on the merchant’s business model and whether the account is managed by an agent (DME or Agent). 2. General enrollment process Opening an account always involves a registration process that includes: Creating an enrollment request: starting a file containing basic information (email, last name, first name) Completion of the registration process: submission by the user of required information and supporting documents (KYC/KYB) Enrollment validation: review by CentralPay, which may result in account opening, a request for additional information, or a rejection 3. Two possible interfaces InterfaceDescriptionTarget audienceCentralPay enrollment portalInterface hosted by CentralPay, accessible via a personalized link.All types of usersEnrollment APIA technical interface that allows an intermediary to initiate or complete enrollments via API.Authorized intermediary by status 4. Compliance and regulation In order to comply with the regulatory framework applicable to Payment Service Providers (PSP), the division of roles is strictly regulated: CentralPay is the only party that initiates the contract process with the user The technical partner may not encourage, advise, or initiate the opening of an account The technical partner does not participate in the collection of supporting documents Only partners registered as MOBSPs, or Agent or EMD representatives, may participate in the expanded enrollment steps Partner modelCan initiate an enrollment requestCan complete an enrollment (API)Can submit KYC documentationTechnical PartnerYes*❌ No❌ NoEMD IntermediaryYes, via API or portal✅ Yes✅ YesPSP IntermediaryYes, via API or portal✅ Yes✅ Yes (Level 1 KYC or higher if mandate) ℹ️ The technical partner can create an enrollment request containing only contact information (email, last name, first name, company name), without sending an enrollment link themselves. CentralPay retains sole discretion over the rest of the process. Enrollment request 1. Methods for creating an enrollment request 1.1. From the CentralPay Merchant Portal A user logged into the CentralPay portal can initiate an enrollment request from the menu: Plateform > Enrollments > Create Recette Merchent Portal – Onboarding Production Merchent Portal – Onboarding They can then manually fill in the fields described below (in the API call details). Once the request is saved, a redirect link to the onboarding portal is automatically generated and can be: Sent automatically via email through the CentralPay Mailer (select “YES” in the “Send emails to the address above” field) Or copied manually to be sent via another channel (chat, text message, etc.) 1.2. From the API: POST /merchant-enrollments Enrollment can also be initiated automatically via the API by calling: POST /merchant-enrollments This call generates an enrollment ID (UUID) and initiates a complete onboarding process, which can be continued: Either via the Merchant Portal Either entirely via API endpoints (see the “Complete an Enrollment via API” section) If no direct link (enrollment_url) is returned by the API, by default, the CentralPay platform sends an email to the address specified in profile[email][value].To disable this email: "sendClaimEmail": falseIf you disable this email, you can manually provide the URL to access the onboarding interface by constructing it as follows:- In Sandbox: https://test-onboarding.centralpay.net/token/profile/[UUID]- En LIVE: https://onboarding.centralpay.net/token/profile/[UUID]Note: [UUID] is the identifier returned in the response to POST /merchant-enrollments. 2. Create an enrollment request via the API (Merchant Enrollment) 🇫🇷 Simplified enrollment via SIREN (France only)CentralPay automatically pre-fills certain information for French companies with a SIREN number:1. Call the endpoint: POST /api/legal-entity/siren2. Provide the following: { "siren": "123456789" }3. If the information is valid, a UUID is returned. It must be used as identityBadge in the registration creation process to trigger the simplified workflow. 2.1. Required fields FieldTypeRequiredDescriptionprofile[firstname][value]string (255)✅ YesAccount holder’s first name. Validation: alphabetic characters and hyphens (-). Since version 1.15.0 profile[lastname][value]string (255)✅ YesAccount holder’s last name. Validation: alphabetic characters and hyphens (-). Since version 1.15.0 profile[email][value]string (255)✅ YesContact email address. Since version 1.15.0profile[phone][value]string✅ YesInternational phone number. Since version 1.15.0languagestring✅ YesMerchant’s preferred language. Note: Use GET /api/locale for the available values.accountTypeenum✅ YesType of merchant profile to create. Note: Use GET /api/merchant-enrollment/account-type.activitySectorUUID (36)✅ YesMerchant’s industry sector. Note: Use GET /api/nauth/enrollment-claim/activity-sector.activityAgeUUID (36)✅ Yes, if type = LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSLength of time in business. Note: Use GET /api/nauth/enrollment-claim/activity-age.feeScheduleUUID (36)✅ YesPricing schedule to be applied. Note: Obtain the login credentials via POST /api/merchant-enrollment/fee-schedule.identityBadgeUUID✅ Yes, if enrolled via SIRENSIREN ID (which activates the simplified process).contractUUID✅ Yes, if accountType = STANDARDContract to be applied. Note: Use GET /api/merchant-enrollment/contract. 2.2. Advanced fields (optional) Customizing the experience FieldDefault valueDescriptionworkflowModeSEQUENTIALCourse mode (only mode SEQUENTIAL is now available).Note: Valid values: SEQUENTIALtype—Legal type: INDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITY.Note: Determines the structure of the process.subType—Recommended subtype according to type.Note:For INDIVIDUAL_WITH_STATUS : SOLE_TRADER, MERCHANT, ARTISANFor LEGAL_ENTITY : ASSOCIATION, PUBLIC, COMMERCIAL, EIG, CIVILturnoverIsFixedfalseIf true, locks the revenue report.Note: optional Communication settings FieldDefault valueDescriptionsendClaimEmailtrueSend the registration email with the portal link.allowedEmailCommunicationtrueIf false, disable all email sends during the onboarding process.sendProfileCreationEmailfalseSend an email to the user once the profile is completed.sendAccountCreationEmailtrueSend an email once the CentralPay Merchant profile has been activated. Personal data All of the fields below are optional, but they allow you to pre-fill the user profile for the future account holder. FieldTypeDescriptionprofile[nationality][country]string (3)Nationality (ISO 3166-1 alpha-3 format).profile[birthday][value]dateDate of birth.Validation: ≥ 18 years old, ≤ 110 years oldprofile[place_of_birth][value]stringBirthplace.profile[country_of_birth][country]string (3)Country of birth (ISO 3166-1 alpha-3).birthdayConfirmation[value]dateRequired only if the merchant is affiliated with an agent.Format: YYYY-MM-DD Address (optional) These fields can be filled in to pre-fill the account owner’s address. FieldTypeDescriptionprofile[address][nameLine1]string(255)Line 1 of the address.Constraints: ^[a-zA-Z0-9\\p{L} ´'\\-]{1,255}$profile[address][locality]string(255)City.profile[address][postalCode]string(20)Postal code.profile[address][country]string(3)Country (ISO 3166-1 alpha-3). Other options FieldTypeDescriptioncontractUUID (36)Contract to be applied.Required if accountType = STANDARD.Note: GET /api/merchant-enrollment/contractcguUUID (36)Terms of Service apply.Note: POST /api/merchant-enrollment/cguSince version 1.18.0customReferencestring (100)Custom reference (for internal use).payoutProfileUUID (36)Payment profile to be linked.Note: POST /api/merchant-enrollment/payout-profileadministrativeContactstring (255)Primary administrative reference.Since version 1.18.0technicalContactstring (255)Technical contact.Since version 1.18.0financialContactstring (255)Financial contact.Since version 1.18.0addSecurityReferenceboolDisplays a security reference when the contract is approved.Valid only for: STANDARD, PARTNER, RESELLER.Default: falsehookUUIDWebhook ID to be notified.Note: See the “Full API Reference” tab for possible values. Complete an enrollment Once the enrollment request has been created, the future account owner can complete the process in one of two ways: via the CentralPay portal or via full API integration. 1. Option 1 – Complete the enrollment via the CentralPay Portal The onboarding link (generated or recreated when the enrollment is created) allows the future account owner to enter their information and upload the required documents through the CentralPay interface on their own. You will be notified automatically at each step of the enrollment process or only upon its completion (depending on your webhook settings) Once the user has completed the process, the data is sent to CentralPay’s compliance teams for validation In some cases, CentralPay analysts may request additional documents 2. Option 2 – Complete the enrollment via API It is also possible to control the entire enrollment process via API, step by step. The process consists of four main phases: Complete the profile Determine the workflow Complete the workflow Complete the enrollment 2.1. Complete the profile Profile status A profile always starts with the status workflow.status = “ON_GOING”. To be considered complete, this status must change to ACCEPTED. ⚠️ In SEQUENTIAL mode, this status may revert to ON_GOING when additional questions are unlocked. It should be checked again at each step. Get the first activity to complete Retrieve activityUuid via : GET /api/nauth/merchant-enrollment/{enrollmentId} Browse: profile.workflow.activities[0].uuid Then ask: GET /api/nauth/profile/{activityUuid}/activity Submit the data Send the expected data via a form: POST /api/nauth/profile/{activityUuid}/activityContent-Type : multipart/form-data Example of expected fields (the “Identity Information” activity): FieldTypeConstraintsfirstname[value]string255 characterslastname[value]string255 charactersmail[value]stringValid email addressphone[value]stringInternational number (at least 10 characters)birthday[value]stringDate in the format YYYY-MM-DD, between 18 and 110 years oldplace_of_birth[value]string—country_of_birth[country]stringISO 3166-1 alpha-3 Autres types d’activité possibles : Registered addresses: address information Identity document: type (IDENTITY_CARD, PASSPORT) + documents (2 files for an ID card, 1 for a passport) Repeat this process as long as an activity’s status remains “TODO.” 2.2. Determine the workflow This step unlocks the next part of the process (collecting documents, supporting evidence, etc.). POST /api/merchant-enrollment/{enrollmentUuid}/activity/{uuid} Expected payload: FieldTypeRequiredNotestypeEnum✅ YesINDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITYbankAccountInEEACountrybool✅ Yes—turnoverUUID (36)✅ YesPOST /api/nauth/enrollment-claim/turnovercompanyNamestring(255)Yes, if LEGAL_ENTITY—activityAgeUUID (36)Yes, if LEGAL_ENTITY or INDIVIDUAL_WITH_STATUSGET /api/nauth/enrollment-claim/activity-agesubTypeENUMRecommendedDepends on type (see details below)isCompanyboolYes, if LEGAL_ENTITY— If you used a identityBadge (enrollment via SIREN), this step is automatically skipped: the workflow has already been determined. 2.3. Complete the workflow Each step in the workflow follows the same logic as the profile. Possible types of step: FORM : fields to be filled in via key[value] API_CALL : external treatment VALIDATION : manual action by the CentralPay teams ENDED : step completed Example: for the field company_legal_status, you must send company_legal_status[value]. The endpoints used are: POST /api/merchant-enrollment/{merchantUuid}/activity/{uuid} POST /api/merchant-enrollment/{uuid}/complete Enrollment validation Once all profile and workflow steps have been completed (whether via the CentralPay onboarding portal or via API), the enrollment enters the verification phase, which is handled by CentralPay’s compliance teams. 1. Review by the compliance department Analysts conduct a comprehensive analysis of the information and documents collected throughout the process. This step may lead to one of the following decisions: 1.1 Enrollment validation If the information provided is complete, legible, and in compliance with regulatory requirements, the enrollment is approved. CentralPay then automatically creates: Of the CentralPay Merchant Profile (Merchant) Of the payment account (Wallet) Of the legal user profile for the CentralPay Merchant Profile (BO User). ℹ️ These entities are immediately accessible from your monitoring tools (portal or API). 1.2. Additional information requested If certain documents are missing, unclear, expired, or inconsistent, the compliance department may request additional documentation. This request is: Either sent by email directly to the future account owner Either displayed in the CentralPay onboarding portal, if the request allows it ℹ️ The user can submit the requested documents to restart the verification process. 1.3. Refusal of enrollment In certain cases (invalid documents, invalid identity, unresolved inconsistencies, or excessive risk), the account opening request may be denied. No CentralPay entity (BO User, Wallet, Merchant) is created at that point. 2. Notifications via webhook Regardless of the outcome (approval, request for additional information, or rejection), you will be notified in real time via the configured webhooks. This allows you to: Track enrollments in real time Adjust your UX if enrollment is denied or pending Trigger internal actions (CRM creation, assignment, etc.) Limited Electronic Money Account CentralPay allows users to create electronic money accounts (Wallets) to store and use digital assets. Two complementary options are available: Quickly create a wallet without KYC (limited account): available immediately with regulatory limits Removing the Wallet limit via KYC enrollment (verified account): limits are lifted after document verification. This approach is well-suited to progressive onboarding: a user can create a limited account for their first use, and then be invited to complete their profile to access all features. 1. Creating a limited Electronic Money Account CentralPay allows users to create electronic money accounts that can be used immediately, without the collection of documents, within a strict regulatory framework. Limited electronic money accounts are reserved for individuals (natural persons). Legal entities are not eligible for this type of account. 1.1. Regulatory limits Maximum balance: €150 Rolling cash flow: €150 over 30 days This threshold is based on the provisions of Article R561-16 of the Monetary and Financial Code concerning unaudited electronic money accounts. ℹ️ This type of account can then have its limit removed through KYC enrollment (see below). 1.2. Step 1 – Create a Customer The Wallet must be linked to an object Customer representing the final user (see Customer Profiles) 1.3. Step 2 – Create a Wallet POST /wallets Required fields FieldTypeDescriptionNotecustomerIdUUIDID of the CustomerRequired unless merchantId is providedcurrencystring (3)Wallet currency (e.g., "EUR")ISO 4217 – 3-letter code Optional fields FieldTypeDescriptionreferencestringBusiness referenceactivationDatedateActivation dateexpirationDatedateExpiration dateadditionalDataobjectCustom data (JSON) 1.4. Additional steps – Managing a limited wallet Once you’ve created a Wallet, CentralPay allows you: edit it (e.g., add an expiration date, a reference, or a merchant) view it in detail List the existing wallets for a Customer or Merchant 2. Edit a Wallet POST /wallets/{walletId} This service allows you to update certain attributes of the Wallet without recreating it. Required fields FieldTypeDescriptionNotewalletIdUUIDWallet ID to be updatedRequired in the URL and/or the request body Optional fields FieldTypeDescriptionNotereferencestringCustom Wallet reference—expirationDatedateWallet expiration dateYYYY-MM-DDactivationDatedateActivation Wallet dateYYYY-MM-DDadditionalDataobjectStructured business data (JSON key/value pairs)—merchantIdUUIDTo link a Wallet to a specific MerchantOptional – not to be confused with customerId 3. View a Wallet GET /wallets/{walletId} This service allows you to retrieve detailed information about an existing wallet. Required settings FieldTypeDescriptionNotewalletIdUUID (36)Wallet IDThe Wallet must belong to the connected Merchant or one of its sub-merchants Field descriptions FieldTypeDescriptionNotecurrencystringWallet currencyISO 4217 (e.g., EUR)available[].amountintAvailable balance in centsEx.: 10500 = €105.00 pending[].amountintPending balance (transactions in progress)—referencestringWallet referenceOptionaladditionalDataobjectCustom dataOpen JSON 4. List a Customer’s Wallets GET /wallets Allow to retrieve the list of wallets created for a given Customer. Required settings FieldTypeDescriptioncustomerIdUUIDCustomer IDcurrencystringCurrency (e.g., "EUR") Optional settings FieldTypeDescriptionNoteafterstringPlease return only those wallets created after this dateISO 8601 formatbeforestringPlease return only those Wallets created before that dateISO 8601 formatlimitstringNumber of items per pageDefault: 10pagestringPage indexDefault: 1 5. Steps for creating a limited EM account Remove the limit on an Electronic Money Account A Wallet can be converted into a verified account (with limits removed) via a full onboarding process triggered by the API. 1. Step 1 – Create an enrollment POST /merchant-enrollments You must include the walletId from the existing limited wallet. Required fields FieldTypeDescriptionNotewalletIdUUIDLink to the EM Wallet to remove the limitValid UUIDprofile[firstname][value]string (255)First nameAlpha + -profile[lastname][value]string (255)NameAlpha + -profile[email][value]string (255)Contact email—profile[phone][value]string (15)International phone—profile[birthday][value]date (YYYY-MM-DD)Date of birthBetween 18 and 110 years oldprofile[place_of_birth][value]string (255)Birthplace—profile[country_of_birth][country]string (3)Country of birthISO 3166-1 alpha-3languagestring (3)"fr" or "en"—accountTypestring"BASIC"—typestring"INDIVIDUAL"—activitySectorUUID (36)Activity sectorGET /api/nauth/enrollment-claim/activity-sectorfeeScheduleUUID (36)Price gridPOST /api/merchant-enrollment/fee-scheduleturnoverUUID (36)Expected annual revenuePOST /api/nauth/enrollment-claim/turnoverworkflowDefinitionUUIDWorkflow templateprovided by CentralPayprofileWorkflowDefinitionUUIDProfile templateprovided by CentralPayworkflowModestring"SEQUENTIAL"RequiredallowedEmailCommunicationbooleanConsentement à recevoir des emailstrue or false Optional fields FieldTypeDescriptionsendClaimEmailbooleanSending the enrollment email (default: true)sendProfileCreationEmailbooleanEmail after profile completionsendAccountCreationEmailbooleanEmail upon opening a verified accountcustomReferencestringInternal referencetechnicalContact, administrativeContact, financialContactstring(255)Business contactsaddSecurityReferencebooleanDisplays a safety reference (for STANDARD, PARTNER, RESELLER)hookUUIDTechnical hookbirthdayConfirmation[value]dateIf affiliated with an agent 2. Step 2 – Complete a KYC enrollment (via autocomplete) To speed up the enrollment process, you can fill out all the required information at once by calling: POST /merchant-enrollment/{uuid}/autocomplete Residential address FieldTypeRequiredDescriptionNoteaddress[nameLine1]string✅ YesStreet number and name—address[locality]string✅ YesCity of residence—address[postalCode]string✅ YesPostal code—address[country]string✅ YesCountry of residenceISO 3166-1 alpha-3 Identification document FieldTypeRequiredDescriptionNoteidentityDocument[type]string✅ YesDocument typeIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]file✅ YesFront side or main scanJPG, JPEG or PNGidentityDocument[documents][1]file✅ Yes, if IDENTITY_CARDBack side or additional pageJPG, JPEG or PNGidentityDocument[issuingCountry]string✅ YesIssuing countryISO 3166-1 alpha-3identityDocument[expiryDate]string❌ NoExpiration dateFormat YYYY-MM-DDidentityDocument[checkId]string❌ NoControl ID (Onfido)—identityDocument[documentNumber]string❌ NoDocument number—identityDocument[mrzLine1]string❌ NoMRZ 1 Line—identityDocument[mrzLine2]string❌ NoMRZ 2 Line— Special cases FieldRequiredConditionDescriptionidentityDocument[proofOfIdentityDocument]✅ Yesif type = IDENTITY_DOCUMENT_RECEIPTVisual proof of receiptidentityDocument[proofOfIdentityDocuments][*]✅ YeslikewiseMultiple files, if applicableidentityDocument[proofOfIdentityDocumentExpiryDate]✅ Yesif file proofOfIdentityDocument providedFormat YYYY-MM-DD Banking information (optional but recommended) FieldTypeRequiredDescriptionNoteiban[value]string❌ NoIBAN to be verifiedValid IBAN formatbic[value]string❌ NoBIC/SWIFT code—ibanDocument[document]file❌ NoProof of bank information (bank account details, statement)JPG, JPEG or PNG Additional KYC data (riskData) All of the following fields are required unless otherwise noted. FieldTypeRequiredDescriptionNoteriskData[isPep]bool✅ YesPolitically exposed person?default: falseriskData[isInSanctionList]bool✅ YesIs it on a sanctions list?default: falseriskData[residentAlpha3Code]string✅ YesCountry of residenceISO 3166-1 alpha-3riskData[isHighRiskResident]bool✅ YesCountry of residence at risk?—riskData[nationalityAlpha3Code]string✅ YesNationalityISO 3166-1 alpha-3riskData[isHighRiskNationality]bool✅ YesNationality at risk?—riskData[isHighRiskMCCActivitySector]bool✅ YesIs the MCC sector at risk?—riskData[MCCActivitySector]int✅ YesMCC code (NAF or sector)—riskData[monthlyLimit]int✅ YesReported monthly limit (in centimes)E.g., 150000 = €1,500.00riskData[monthlyLimitCurrencyAlphabeticCode]string✅ YesCurrency (e.g., EUR)ISO 4217riskData[isCrossBorderPayment]bool❌ NoCross-border payments?Default: trueriskData[declaredMonthlyRevenue]int❌ NoReported income (in centimes)—riskData[verifiedMonthlyRevenue]int✅ Yes, if full KYCVerified incomes— Additional documents (if required) FieldTypeRequiredDescriptionNoteproofOfAddressDocument[documents][0]file✅ Yes, if the profile is at riskProof of addressJPG, JPEG or PNGincomeDocument[document]file✅ Yes, if full KYC is requiredProof of income (1 document)JPG, JPEG or PNGincomeDocument[documents][*]file✅ Yes, if full KYC is requiredMultiple files allowedJPG, JPEG or PNG Other documents (if necessary to lift the limit) FieldTypeDescriptionNotesadditionalDocuments[X]['type']stringType of document submittedEx: UBO_DECLARATION, PROOF_OF_VAT_REGISTRATION, LICENSING_AGREEMENT, etc. additionalDocuments[X]['documents'][X]fileFiles submittedFile format: JPG, JPEG, PNG ℹ️ The complete list of accepted document types is documented in the Open API. Open data (required, even if empty) FieldTypeRequiredDescriptionmetaDataJSON object✅ YesOpen metadata, in {"key": "value"} format (may be empty) 3. Step 3 – Correcting a failed enrollment (autoupdate) If the compliance department rejects one or more documents (e.g., a blurry ID card, an expired document), you can submit only the rejected items via a self-update request. POST /merchant-enrollment/{uuid}/autoupdate Correction of an identification document FieldTypeRequiredDescriptionNoteidentityDocument[type]string✅ YesType of document to be correctedIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]file✅ YesFront side of the document (or single file)JPG, JPEG or PNGidentityDocument[documents][1]file✅ Yes, if type = IDENTITY_CARDBack side of the NICJPG, JPEG or PNGidentityDocument[issuingCountry]string✅ Yes, if the document is submittedIssuing countryISO 3166-1 alpha-3 Additional identification document (if required) FieldTypeRequiredDescriptioncomplementaryIdentityDocument[documents][0]file✅ Yes, if requiredAdditional scan or photocomplementaryIdentityDocument[expiryDate]string✅ YesExpiration date (YYYY-MM-DD)complementaryIdentityDocument[documentNumber]string✅ YesDocument numbercomplementaryIdentityDocument[mrzLine1]string✅ YesMRZ Line 1complementaryIdentityDocument[mrzLine2]string✅ YesMRZ Line 2complementaryIdentityDocument[issuingCountry]string✅ YesIssuing country (ISO alpha-3) Income documents FieldTypeRequiredDescriptionincomeDocument[document]file✅ Yes, if requiredSingle JPG/JPEG/PNG fileincomeDocument[documents][*]file✅ Yes, if multiple are expectedMultiple documents by index ([0], [1], etc.) Additional personal information FieldTypeRequiredDescriptionprofile[firstname][value]string❌ NoFirst nameprofile[lastname][value]string❌ NoNameprofile[birthday][value]string❌ NoDate of birthprofile[place_of_birth][value]string❌ NoBirthplaceprofile[country_of_birth][country]string❌ NoCountry of birth (ISO 3166-1 alpha-3) Address correction (if rejected) FieldTypeRequiredDescriptionprofile[address][nameLine1]string❌ NoAddress – line 1profile[address][postalCode]string❌ NoPostal codeprofile[address][country]string❌ NoCountry (ISO alpha-3)profile[address][locality]string❌ NoCity Updating KYC data (riskData) All of the following fields are required unless otherwise noted. They must be returned exactly as they are or updated if changed as part of the correction. FieldTypeRequiredDescriptionNoteriskData[isPep]boolean✅ YesPEP?default: falseriskData[isInSanctionList]boolean✅ YesOn a sanctions list?default: falseriskData[residentAlpha3Code]string✅ YesCountry of residenceISO alpha-3riskData[isHighRiskResident]boolean✅ YesCountry of residence at risk?—riskData[nationalityAlpha3Code]string✅ YesNationalityISO alpha-3riskData[isHighRiskNationality]boolean✅ YesNationality at risk?—riskData[isHighRiskMCCActivitySector]boolean✅ YesHigh-risk area?—riskData[MCCActivitySector]int✅ YesMCC business code—riskData[monthlyLimit]int✅ YesMonthly limit (in centimes)[0 ; 190000]riskData[monthlyLimitCurrencyAlphabeticCode]string✅ YesCurrency (e.g., EUR)ISO 4217riskData[isCrossBorderPayment]boolean❌ NoCross-border paymentsdefault: trueriskData[declaredMonthlyRevenue]int❌ NoReported incomes—riskData[verifiedMonthlyRevenue]int✅ Yes, if full KYCVerified incomes (centimes) Additional documents (optional or required) FieldTypeRequiredDescriptionadditionalDocuments[X]['type']string✅ Yes, if the documents are expectedType of proofadditionalDocuments[X]['documents'][X]file✅ YesRelated files (JPG, JPEG, PNG) Other fields FieldTypeRequiredDescriptionfullKycboolean❌ NoAllows you to require full or simplified KYC (true / false) 4. Step 4 – Track the status of an enrollment Once an enrollment has been created and completed, you can check its status at any time to: Check the status (ON_GOING, ACCEPTED, REFUSED) Track pending steps in the workflow Extract previously submitted profile data Retrieve an enrollment GET /merchant-enrollment/{enrolmentId} Required settings FieldTypeRequiredDescriptionNoteenrolmentIdUUID (36)✅ YesEnrollment ID returned upon creation (POST /merchant-enrollments)Standard UUID format ℹ️ The enrollment must belong to the scope authorized by your API credentials (merchant or sub-merchant). Main fields in the response FieldTypeDescriptionuuidUUIDUnique enrollment IDworkflow.statusstringProcess status (ON_GOING, ACCEPTED, REFUSED)workflow_modestring"SEQUENTIAL" or "CONTINUAL"workflow.activities[]tableList of activities (steps) still to be completedprofile[...]objectProfile data that has already been submitted, with their statusconformity_statusstringOverall compliance status (ON_GOING, REVIEW, APPROVED, etc.)created_atdatetimeEnrollment creation dateactivity_sector.namestringSector reported on the enrollment form Keep an eye on As long as an activity has a state = TODO, enrollment is incomplete When there are no pending activities and workflow.status = ACCEPTED, the user is approved In case of workflow.status = REFUSED, no verified wallet will be generated 5. KYC verification process for a ME account Responses, articles of association, and webhooks 1. Return codes related to creating a merchant profile Creating a merchant profile via the enrollment API triggers an automated process that allows CentralPay to collect and validate the information needed to open the profile. If the request fails, an HTTP error response is immediately returned to the API call, specifying the field that caused the error and the nature of the rejection (missing, inconsistent, or invalid data). ⚠️ There is no centralized table of return codes for these errors, because they are linked to the dynamic validations performed on a per-field basis. The error returned is always structured within the response body and allows you to precisely correct the issue causing the blockage. 2. Articles of association related to enrollments View the Merchant Enrollment Terms and Conditions ➝ 3. Webhooks related to enrollments View the Onboarding Webhooks ➝
Bank Reconciliation external See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f61bc6 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation external.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f61bc6", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f61bc6.load(); });
Bank Reconciliation external See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046fa59db = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation external.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa59db", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa59db.load(); });
Test IBAN values Find below the list of HTTP return codes: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX
Test IBAN values Find below the list of HTTP return codes: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX
Gestion des devises 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 de paiement 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 versements sortants (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 versements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de versement.
Currency management In the context of international business, your customers may have a card linked to a bank account in a non-Euro currency. Regardless of your integration, these customers will be able to pay you in Euros thanks to the automatic conversion system of the card networks (Visa, Mastercard, American Express). Your customers will bear all currency conversion costs, and you will receive Euros in your CentralPay payment account. In certain cases, CentralPay can allow you to process credit card transactions in different currencies: Euros (EUR), Dollars (USD), Swiss Francs (CHF), and Pounds (GBP). Contact CentralPay if multi-currency transaction management is a requirement for your business. Note that in this case, acquisition costs in foreign currencies (non-EURO) are subject to additional fees and will be deducted from your transaction amounts. ℹ️ Outgoing payments (payout) via SEPA transfer can only be made from available balances in EUROS. Non-EURO balances are paid out via SWIFT transfer, which incurs higher fees. However, it is possible to schedule SWIFT payouts so that they are only executed once a certain threshold is reached, in order to better control transfer costs.
Tarifs Articles Offres commerciales Frais d'interchange et réseaux cartes Forfaits d'accompagnement Offres commerciales CentralPay propose une tarification juste et transparente, adaptée à votre volume d’encaissement et à votre activité. Les tarifs sont dégressifs : plus votre volume augmente, plus les frais unitaires diminuent. Les frais sont calculés sur la base des volumes de transactions réalisées le mois précédent. Deux solutions, selon votre besoin Smart Collection Accédez gratuitement à la solution d’encaissement : pas d’abonnement, vous payez uniquement des frais à l’utilisation. Easy Wallet Accédez à des services complémentaires (notamment la gestion de comptes / wallets) avec un forfait mensuel en plus des frais à l’utilisation. Aucun surcoût lié aux réseaux cartes Toutes les offres CentralPay intègrent les frais d’interchange et de réseaux cartes facturés par les banques : vous n’avez donc aucun surcoût à prévoir. 👉 Pour obtenir une estimation selon votre volume et contacter notre équipe commerciale : Voir les tarifs publics CentralPay Frais d'interchange et réseaux cartes 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 (Vente à distance, E-commerce) Cartes émises dans l’Espace Economique Européen (EEE) Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitEEECB0,200%0,025%0,225%Cartes personnellesDébitEEEVISA0,200%0,231%0,431%Cartes personnellesDébitEEEMastercard0,200%0,219%0,419%Cartes personnellesCréditEEECB0,300%0,025%0,325%Cartes personnellesCréditEEEVISA0,300%0,231%0,531%Cartes personnellesCréditEEEMastercard0,300%0,219%0,519%Cartes professionnellesToutesEEECB0,900%0,025%0,925%Cartes professionnellesToutesEEEVISA1,450%0,070%1,520%Cartes professionnellesToutesEEEMastercard1,450%0,171%1,621%Cartes personnellesToutesEEEAMEX0,000%1,600%1,600%Cartes professionnellesToutesEEEAMEX0,000%1,600%1,600% Cartes internationales, émises hors de l’Espace Economique Européen Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitInternationaleVISA1,150%1,343%2,493%Cartes personnellesDébitInternationaleMastercard1,150%1,343%2,493%Cartes personnellesCréditInternationaleVISA1,500%1,499%2,999%Cartes personnellesCréditInternationaleMastercard1,500%0,951%2,451%Cartes professionnellesToutesInternationaleVISA2,000%0,700%2,700%Cartes professionnellesToutesInternationaleMastercard2,000%0,951%2,951%Cartes personnellesToutesInternationaleAMEX0,000%2,400%2,400%Cartes professionnellesToutesInternationaleAMEX0,000%2,400%2,400% 2. Frais d’interchange et réseaux carte (paiement de proximité) Cartes émises dans l’Espace Economique Européen (EEE) Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitEEECB0,200%0,025%0,225%Cartes personnellesDébitEEEVISA0,200%0,231%0,431%Cartes personnellesDébitEEEMastercard0,200%0,219%0,419%Cartes personnellesCréditEEECB0,300%0,025%0,325%Cartes personnellesCréditEEEVISA0,300%0,231%0,531%Cartes personnellesCréditEEEMastercard0,300%0,219%0,519%Cartes professionnellesToutesEEECB0,900%0,025%0,925%Cartes professionnellesToutesEEEVISA1,450%0,070%1,520%Cartes professionnellesToutesEEEMastercard1,450%0,171%1,621%Cartes personnellesToutesEEEAMEX0,000%1,600%1,600%Cartes professionnellesToutesEEEAMEX0,000%1,600%1,600% Cartes internationales, émises hors de l’Espace Economique Européen Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitInternationaleVISA1,150%1,343%2,493%Cartes personnellesDébitInternationaleMastercard1,150%1,343%2,493%Cartes personnellesCréditInternationaleVISA1,500%1,499%2,999%Cartes personnellesCréditInternationaleMastercard1,500%0,951%2,451%Cartes professionnellesToutesInternationaleVISA2,000%0,700%2,700%Cartes professionnellesToutesInternationaleMastercard2,000%0,951%2,951%Cartes personnellesToutesInternationaleAMEX0,000%2,400%2,400%Cartes professionnellesToutesInternationaleAMEX0,000%2,400%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 autonomie2 heures d’accompagnement équipe Service ClientInclus (offres Starter, Medium et Major Company)Accompagnement standardAnalyse technique du projet par équipe Service Intégration 2 heures d’accompagnement équipe Service Intégration 2 heures d’accompagnement équipe Service Client490 €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 autonomie3 heures d’accompagnement équipe Service ClientInclus(offres Medium et Major Partner)Accompagnement standardAnalyse technique du projet par équipe Service Intégration5 heures d’accompagnement équipe Service Intégration5 heures d’accompagnement équipe Service Client990 €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 h2 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.250 €Forfait d’accompagnement 5 h5 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.490 €Forfait d’accompagnement 10 h10 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.890 €
Rates Articles Sales Offers Interchange Fees and Card Schemes Support Packages Sales Offers CentralPay offers fair and transparent pricing tailored to your transaction volume and business. Rates are on a sliding scale: the higher your transaction volume, the lower the per-transaction fees. Fees are calculated based on the volume of transactions made in the previous month. Two options, depending on your needs Smart Collection Get free access to the payment processing solution: no subscription—you only pay per transaction. Easy Wallet Access additional services (including account/wallet management) with a monthly subscription plan in addition to pay-as-you-go fees. No additional costs associated with card networks All CentralPay plans include the interchange and Card Scheme Fees charged by banks, so you won’t incur any additional costs. 👉 To get a quote based on your volume and contact our sales team: View CentralPay’s public rates Interchange Fees and Card Schemes The interchange fee is the amount charged by the issuer of a payment card (your customer’s bank) to the acquirer (the Merchant’s bank). Card Scheme Fees are the fees charged by card networks (Visa, Mastercard, CB) to operate the service. Terms have been defined to describe the combination of these costs: Interchange+Interchange fees + Card Scheme Fees Interchange++Interchange fees + Card Scheme Fees + merchant service fees (CentralPay) All of CentralPay’s commercial offerings include Interchange+ fees as well as our own service fees, so you won’t incur any additional bank fees when processing your transactions. Unless otherwise specified, a minimum processing fee of €0.15 is deducted from the IC++. 1. Interchange Fees and Card Scheme Fees (Distance Selling, E-commerce) Cards issued in the European Economic Area (EEA) Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateEEECB0,200%0,025%0,225%Personal CardsFlow RateEEEVISA0,200%0,231%0,431%Personal CardsFlow RateEEEMastercard0,200%0,219%0,419%Personal CardsCreditEEECB0,300%0,025%0,325%Personal CardsCreditEEEVISA0,300%0,231%0,531%Personal CardsCreditEEEMastercard0,300%0,219%0,519%Business CardsAllEEECB0,900%0,025%0,925%Business CardsAllEEEVISA1,450%0,070%1,520%Business CardsAllEEEMastercard1,450%0,171%1,621%Personal CardsAllEEEAMEX0,000%1,600%1,600%Business CardsAllEEEAMEX0,000%1,600%1,600% International cards issued outside the European Economic Area Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateInternationalVISA1,150%1,343%2,493%Personal CardsFlow RateInternationalMastercard1,150%1,343%2,493%Personal CardsCreditInternationalVISA1,500%1,499%2,999%Personal CardsCreditInternationalMastercard1,500%0,951%2,451%Business CardsAllInternationalVISA2,000%0,700%2,700%Business CardsAllInternationalMastercard2,000%0,951%2,951%Personal CardsAllInternationalAMEX0,000%2,400%2,400%Business CardsAllInternationalAMEX0,000%2,400%2,400% 2. Interchange fees and Card Scheme Fees (contactless payments) Cards issued in the European Economic Area (EEA) Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateEEECB0,200%0,025%0,225%Personal CardsFlow RateEEEVISA0,200%0,231%0,431%Personal CardsFlow RateEEEMastercard0,200%0,219%0,419%Personal CardsCreditEEECB0,300%0,025%0,325%Personal CardsCreditEEEVISA0,300%0,231%0,531%Personal CardsCreditEEEMastercard0,300%0,219%0,519%Business CardsAllEEECB0,900%0,025%0,925%Business CardsAllEEEVISA1,450%0,070%1,520%Business CardsAllEEEMastercard1,450%0,171%1,621%Personal CardsAllEEEAMEX0,000%1,600%1,600%Business CardsAllEEEAMEX0,000%1,600%1,600% International cards issued outside the European Economic Area Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateInternationalVISA1,150%1,343%2,493%Personal CardsFlow RateInternationalMastercard1,150%1,343%2,493%Personal CardsCreditInternationalVISA1,500%1,499%2,999%Personal CardsCreditInternationalMastercard1,500%0,951%2,451%Business CardsAllInternationalVISA2,000%0,700%2,700%Business CardsAllInternationalMastercard2,000%0,951%2,951%Personal CardsAllInternationalAMEX0,000%2,400%2,400%Business CardsAllInternationalAMEX0,000%2,400%2,400% Support Packages Support packages enable rapid setup, guided by our Integration Support (IS) and Customer Service (CS) teams. The support hours allow you to delegate certain account configuration tasks and request video calls: with the IS team for technical issues, and with the CS team for administrative or functional matters. 1. Smart Collection Integration Support Support for integration, as neededFees (excluding tax)Self-guided, 2 hours of support from the Customer Service teamIncludes (Starter, Medium, and Major Company plans)Standard SupportTechnical analysis of the project by the Integration Services team 2 hours of support from the Integration Services team 2 hours of support from the Customer Service team490 €Advanced SupportTechnical analysis and monitoring by a dedicated Integration Service Manager3 hours of support from a dedicated Integration Service Manager3 hours of support from a dedicated Customer Service Manager€1,990 2. Support for Smart Collection and Easy Wallet integration Support for integration, as neededFees (excluding tax)Self-guided: 3 hours of support from the Customer Service teamIncludes(Medium and Major Partner plans)Standard Support:Technical analysis of the project by the Integration Services team:5 hours of support from the Integration Services team:5 hours of support from the Customer Service team990 €Advanced SupportTechnical Analysis and Monitoring by a Dedicated Integration Service Manager10 hours of support from a Dedicated Integration Service Manager10 hours of support from a Dedicated Customer Service Manager€2,990 3. Hourly support packages offered by customer service Customizable hourly support, which can be used to delegate account configuration, troubleshooting with testing, specific analyses, and more…Fees (excluding tax)2-hour support package 2 hours of support from the Customer Service team, consumables in 30-minute periods.250 €5-hour support package 5 hours of support from the Customer Service team, consumables in 30-minute periods.490 €10-hour support package 10 hours of support from the Customer Service team, consumables in 30-minute periods.€890
CpayUser jQuery(document).ready( function($) { window.live_6ab3046f58a01 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_CpayUser.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f58a01", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f58a01.load(); });
CpayUser jQuery(document).ready( function($) { window.live_6ab3046f9bcb2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_CpayUser.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9bcb2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9bcb2.load(); });
Documentation Articles Guide de démarrage rapide > Marchand, comptes et canaux de vente Automatisations, connexions et exports Liens de paiement Transaction par carte Transaction par virement Transaction prélèvement SEPA Paiements récurrents Authentification 3DS 2.2 Gestion des marchands Transferts de paiements Plugin CMS Bonnes pratiques Guide de démarrage rapide > 1. Entrée en relation Pour commencer, découvrez nos offres et choisissez la méthode d’entrée en relation la plus adaptée à votre projet : Consultez nos offres tarifaires Présentez votre projet à notre équipe commerciale Choisissez le modèle d’entrée en relation adapté à votre activité Découvrez les étapes d’entrée en relation 2. Création de votre profil marchand de test CentralPay met à votre disposition un environnement de test (RCT) pour développer et valider votre intégration : Profil de test « Marchand standard« : Pour tester uniquement la solution d’encaissement Smart Collection, demandez un profil marchand de test via notre formulaire Profil de test « Marchand partenaire ou mandataire » : Pour tester l’encaissement (Smart Collection) et les transferts de paiements (Easy Wallet), contactez notre service client. Nous créerons et paramétrerons votre profil marchand de test en conséquence 3. Choix de votre méthode d’intégration Choisissez la méthode d’intégration qui correspond à vos besoins : Intégration Smart : Utilisez les demandes de paiement et la page de paiement CentralPay pour encaisser vos transactions. Les parcours clients sont préconfigurés, pour un déploiement rapide Intégration Custom : Intégrez directement les services API pour les transactions par carte, par virement SEPA (SCT) et/ou par prélèvement SEPA (SDD). Cette approche vous permet de maîtriser entièrement l’expérience client, mais requiert un développement plus avancé 4. Paramétrage de votre profil marchand Votre profil Marchand CentralPay peut être configuré de manière autonome ou avec l’accompagnement de notre équipe support. ℹ️ Les paramétrages réalisés sur votre profil marchand de test (RCT) ne sont pas automatiquement répliqués en production (PROD). Veillez à les reconfigurer une fois votre profil de production activé. Paramétrages principaux : Accès d’authentification API Déclaration des domaines autorisés (si intégration Custom) Comptes de paiement et comptes bancaires de sortie Utilisateurs du portail Points de vente Webhooks Identifiant de Créancier SEPA (ICS) Paramétrages secondaires : Emails de contact du profil marchand Règles d’acceptation Versements sortants Libellé de relevé bancaire Notifications automatiques Page de paiement Smart Form Modèles de demandes de paiement Tentatives auto. pour les échecs de prélèvement carte Tentatives auto. pour les échecs de prélèvement SEPA 5. Simuler des paiements Avant la mise en production, effectuez des simulations de paiement client dans votre profil de test (RCT) pour vérifier l’intégration : Carte : Utilisez nos cartes de test pour simuler différents statuts de transaction Virement SEPA (SCT) : Créez une ou plusieurs transactions SCT puis demandez à notre support de simuler leur traitement Prélèvement SEPA (SDD) : Utilisez un IBAN/BIC de test fourni dans notre documentation 6. Mise en production Une fois vos tests validés en environnement de recette (RCT), préparez le passage en production (PRD). ℹ️ Rappel : Aucun paramétrage n'est automatiquement copié de la RCT vers la PROD. Récupérer les credentials API pour l’environnement PROD Vérifier l’URL API de production Récupérer la merchantPublicKey pour générer des cardToken Informer CentralPay de toute mise en production ou évolution majeure Déclarer l’URL de votre site dans la configuration de votre point de vente Vérifier l’accès à la page support depuis le Portail Marchand Si nécessaire, vous pouvez effectuer une à deux transactions réelles à 1 € pour vérifier le bon fonctionnement du paiement en production. Marchand, comptes et canaux de vente Profil Marchand Le Profil Marchand représente techniquement et opérationnellement un Marchand dans la plateforme CentralPay. Il est le support de :• Ses comptes : de paiement ou de monnaie électronique ;• Son administration : accès API, profils utilisateurs, services de paiement disponibles ;• Sa configuration technique : webhooks, notifications, points de vente, règles d’acceptation, comptes bancaires ;• Son dossier réglementaire : KYC/KYB, LCB-FT, scoring de risque, contractualisation, grille tarifaire… Le Profil Marchand correspond à l’objet API Merchant et est créé automatiquement après validation de son inscription (via l’objet API Merchant-Enrollment). 1. Types de profils selon le modèle contractuel Chaque type de Marchand est associé à un modèle contractuel précis. Standard Type : STANDARD Le Marchand standard est une entreprise ou un professionnel qui encaisse des paiements pour son propre compte. Il dispose d’un ou plusieurs comptes de paiement, et peut accéder aux services CentralPay via API ou via un partenaire. 👉 En savoir plus sur le modèle Marchand Partenaire Intégrateur Type : INTEGRATOR Le Partenaire Intégrateur accompagne plusieurs Marchands standards dans leur intégration technique avec CentralPay. Chaque Marchand standard dispose de son propre point de vente et d’un contrat individuel. L’Intégrateur utilise les accès API fournis par chaque Marchand, dans le cadre d’une relation contractuelle. Peut disposer d’un compte de paiement et d’un compte de commission pour ses propres besoins Un point de vente distinct est créé pour chaque Marchand accompagné Peut réaliser des appels API et actions techniques via les accès délégués par le Marchand (suivi d’Instructions Techniques, paramétrage, RUN), sans accès aux soldes ni pouvoir d’initier/modifier/exécuter une opération de paiement en son nom propre CentralPay facture chaque Marchand directement 👉 En savoir plus sur le modèle Partenaire Intégrateur Partenaire Intégrateur MOBSP Type : INTEGRATOR + MOBSP Le Partenaire Intégrateur MOBSP est un Intégrateur disposant d’un mandat réglementaire. Il peut initier une demande d’entrée en relation pour le compte d’un Marchand standard, et l’accompagner techniquement via l’API d’onboarding. Comme tout Intégrateur, il agit uniquement via les accès API fournis par le Marchand. Mêmes droits et fonctionnement qu’un Intégrateur Peut initier une demande d’enrôlement complète via API Peut accompagner le marchand durant l’enrôlement 👉 En savoir plus sur le modèle Partenaire Intégrateur MOBSP Partenaire Technique Type : TECHNIQUE Le Partenaire Technique développe une solution mutualisée (ex. marketplace, plateforme SaaS) et opère depuis un ou plusieurs points de vente ouverts à son nom, auxquels des Marchands standards peuvent être rattachés. Il utilise ses propres accès API pour transmettre des données commerciales et suivre les opérations rattachées à ces points de vente, sans jamais disposer d’un pouvoir d’exécution sur les opérations de paiement. Un ou plusieurs points de vente peuvent être utilisés pour regrouper les activités des marchands (ex. marketplace, plateforme SaaS) Accès API CentralPay propre au Partenaire Technique CentralPay facture le Partenaire Technique Ne peut pas initier l’enrôlement au nom et pour le compte des marchands (sauf cadre MOBSP applicable) 👉 En savoir plus sur le modèle Partenaire Technique Partenaire Technique MOBSP Type : TECHNIQUE + MOBSP Le Partenaire Technique MOBSP est mandaté pour initier une demande d’entrée en relation au nom de ses utilisateurs. Il peut transmettre les informations nécessaires via l’API d’onboarding, mais n’intervient pas dans l’exécution des opérations de paiement. Mêmes droits et fonctionnement qu’un Partenaire Technique Peut initier une demande d’enrôlement complète via API Peut accompagner le marchand durant l’enrôlement 👉 En savoir plus sur le modèle Partenaire Technique MOBSP Mandataire DME Type : DME Le Mandataire DME (Distributeur de Monnaie Électronique) transmet des instructions de chargement, de transfert ou de remboursement en monnaie électronique pour le compte de Participants. Il agit dans le cadre du modèle monnaie électronique (devises CUSTOM) et peut percevoir une commission sur les opérations, sans fournir de services de paiement régulés (ex. virement SEPA, prélèvement, carte). 👉 En savoir plus sur le modèle Mandataire DME Mandataire Agent Type : AGENT Le Mandataire Agent est un Agent de Prestataire de Services de Paiement (Agent PSP) enregistré auprès de l’ACPR. Il agit au nom et pour le compte de CentralPay dans un périmètre strictement défini contractuellement. Selon le modèle retenu (Agent simple / Agent collecteur / Agent délégataire), il peut notamment accompagner l’enrôlement, réaliser certaines diligences KYC/KYB de niveau 1, et/ou intervenir dans la collecte, la ventilation et la mise à disposition des fonds via les mécanismes prévus par CentralPay. CentralPay demeure responsable des services de paiement fournis et des contrôles réglementaires. 👉 En savoir plus sur le modèle Mandataire Agent Participant Type : BASIC Les Participants sont des personnes physiques ou morales clientes d’un Marchand Mandataire de CentralPay (Agent ou DME). Ils disposent d’un ou plusieurs comptes de paiement ou de monnaie électronique pour recevoir des fonds émis par le Mandataire, et peuvent accéder au portail Marchand pour consulter leurs opérations et gérer leurs versements sortants. Ils agissent pour vendre des produits ou services, pour une activité LMNP, ou pour des besoins non commerciaux (crowdfunding, wallet personnel, projets collectifs…). Les participants ouvrent des comptes chez CentralPay. L’entrée en relation peut être initiée et/ou accompagnée par le Marchand Mandataire, mais les services régulés restent fournis par CentralPay. Le cadre d’utilisation des comptes est défini par les documents CentralPay applicables (et, le cas échéant, par les CGU du Mandataire pour les conditions commerciales et les services qu’il fournit). 2. Paramétrage des emails de contact Vous pouvez personnaliser les adresses email de contact associées à votre profil marchand pour que les notifications, relances ou échanges contractuels soient bien adressés aux bons interlocuteurs. Email contact : référent principal du profil marchand Email administratif : en charge des sujets juridiques ou contractuels Email technique : en charge de l’intégration ou des incidents Email financier : en charge de la facturation ou des flux bancaires ℹ️ Par défaut, ces adresses sont initialisées avec l’email du titulaire du profil marchand. Elles peuvent être modifiées à tout moment depuis le Portail Marchand. Accès à la configuration des emails de contact : Recette Portail Marchand Production Portail Marchand Profils clients Les profils clients (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 paiement (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… 1. 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 2. Interfaces Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail Marchand Compte Customers Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise : Recette Portail Marchand – Customers Production Portail Marchand – Customers 3. 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 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 vos comptes 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 Marchand ou dans vos exports de données Lors de la création de votre profil Marchand CentralPay, un premier point de vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre portail Marchand pour paramétrer ce dernier, ou en créer de nouveaux : Recette Portail Marchand – Points de vente Production Portail Marchand – Points de vente 1. 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 profil marchand (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 Cocher « 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 profil marchand, 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 Marchand 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 Marchand…) 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 Marchand…) 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 emails 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 Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, versement 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 versements 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 profil Marchand CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des versements 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 : Recette Portail Marchand – Comptes de paiement Production Portail Marchand – Comptes de paiement 1. Utilisation 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. 2. 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 mandataire AGENT de CentralPay, vous pouvez créer des comptes pour vos marchands en utilisant le service de demande d’enrôlement. Comptes de ME ℹ️ Uniquement réservé aux Mandataires DME et à leurs sous-marchands. Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un mandataire DME). Un mandataire DME peut demander la création de comptes de ME pour les sous-marchands 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 mandataire 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 : Recette Portail Marchand – Comptes de monnaie électronique Production Portail Marchand – Comptes de monnaie électronique 1. Utilisation 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 2. 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 mandataire 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é » 3. Création de comptes de ME Si vous êtes mandataire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos sous-marchands. Automatisations, connexions et exports Notifications email/sms 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) Versement sortant (payout) Remboursement carte (refund) Abonnement (subscription) Crédit carte (credit) Transaction SDD (sddTransaction) Transaction SDD inversée (sddTransactionReversal) Mandat (mandate) 1. Types de scénarios de notification Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre profil Marchand 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. 2. Paramétrage des modèles de notification 2.1. Paramétrage des modèles (templates) 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). Accès paramétrage de templates emails : Recette Portail Marchand Production Portail Marchand Accès paramétrage de templates SMS : Recette Portail Marchand Production Portail Marchand Accès paramétrage de templates hooks : Recette Portail Marchand Production Portail Marchand 2.2. Paramétrage du header et footer pour templates emails 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. Accès paramétrage de l’en-tête d’email (header) : Recette Portail Marchand Production Portail Marchand Accès paramétrage du pied de page d’email (footer) : Recette Portail Marchand Production Portail Marchand 3. Paramétrage des scénarios de notification 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. Accès paramétrage de scenarios de notification : Recette Portail Marchand Production Portail Marchand 3.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’activation) 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. 3.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 : Liste blanche (whitelist)Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation des transactions. Elle 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 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) Règles d’acceptation des transactionsCet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement Scoring anti-fraudeLe 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 faibleTransaction acceptéePas d’action De 20 à 59 = risque moyenTransaction acceptéeAction : Envoi événement avec détail du score pour revue manuelle et apprentissage +60 = risque élevéTransaction refuséeAction : 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 ALLOWAutorise le paiement REFUSERefuse le paiement ALERTAdresse 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. Liste des attributs : AttributDescriptionType de valeursExemple#always Aucune #transactions[_état][_entité] [_temporalité]Quota du nombre de transactions [état] [entité] [temporalité]Entiers#transactions_amount[_état] [_entité][_temporalité]Quota du montant des transactions [état] [entité] [temporalité]Entiers#amountMontant de la transaction en centimesEntier#amount > 100#card_countryPays d’émission de la carteChaîne de caractères ISO 3166-1 alpha-3#card_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#card_establishmentEtablissement de la carte #card_productType de carte‘gold’, ‘platinium’ #card_product_typeType de carte (perso ou corp.)CONSUMER CORPORATE#card_product_type = ‘CONSUMER’#card_regionRégion d’émission de la carte‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#commercial_brandMarque de la carteVISA MASTERCARD AMEX OTHER#commercial_brand != ‘VISA’#currencyDevise de la transactionChaîne de caractères ISO 4217#currency = ‘EUR’#ip_countryPays de l’adresse IPChaîne de caractères ISO 3166-1 alpha-3#ip_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#ip_regionRégion de l’adresse IP‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#is_anonymous_ipEst une IP anonymeTRUE | FALSE#is_anonymous_ip = TRUE#is_three_d_secureEst une transaction 3D-SecureTRUE | FALSE#is_three_d_secure = TRUE#payout_amountMontant de versementEntier#payout_amount > 100#payout_currencyDevise de versementChaîne de caractères ISO 4217#payout_currency = ‘EUR’#risk_scoreScore d’antifraudeDouble#risk_score > 2,34#custom_acceptance_data[‘key’] = ‘value’champs customisékey : Regex [a-zA-Z0-9_-]value: Regex [a-zA-Z0-9_-]#custom_acceptance_data[‘product_category’] = ‘high’ Dans le cas du custom_acceptance_data[‘key’] = ‘value’, afin qu’il soit pris en compte il est nécessaire que l’exact même champs soit reporté dans la requête de l’objet visé. Les opérateurs logiques et parenthésage : Opérateurs logiques AND et OR La syntaxe utilisée pour définir les règles permet de créer plusieurs conditions au sein de la même règle. Les conditions resteront définies de la même manière, à la seule différence qu’un mot clé sera placé entre les conditions. Les mots clés 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 » correspond à l’inclusion et le « OR » à l’exclusion. Exemple : ALLOW if #amount < 1000 and #card_country = 'FRA' L’exemple précédent autorise les paiements dont le montant est inférieur à 10 ET dont la carte est française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée. Exemple : ALLOW if #amount < 1000 or #card_country = 'FRA' L’exemple précédent autorise les paiements dont le montant est inférieur à 10 OU dont la carte est française. Si l’une ou l’autre des conditions définies est remplie, l’action sera exécutée. Parenthèses L’utilisation des parenthèses dans la définition d’une règle multi-conditions permet de définir des blocs de conditions et les priorités entre ces blocs. Le principe est le même que celui des priorités pour les opérateurs mathématiques. Exemple : ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR') Dans l’exemple précédent, le moteur de règle va d’abord interpréter le bloc (#card_country = ‘FRA’ or #currency = ‘EUR’). C’est à dire que le paiement sera autorisé si (la carte est française ou que la devise est l’euro), ET que le montant est inférieur à 10. Ordre d’exécution des règles Les règles sont exécutées dans un ordre à définir. Cet ordre est important car dès qu’une transaction répond aux critères d’une règle, les règles suivantes ne seront pas traitées. Les règles sont exécutées dans l’ordre d’affichage de la liste de l’interface.Un indicateur de position est affiché dans chaque liste. Pour changer la position d’une règle, il suffit de la faire glisser à la position souhaitée. Exemples de règles : ALLOW if #amount < 1000 and #transactions_amount_daily < 10000 Cet exemple autorise les transactions dont le montant est inférieur à 10 si la somme des montants des transactions de la journée est inférieur à 100. REFUSE if #risk_score > 3 or (#ip_regions = 'ASIA_PACIFIC' and #card_region = 'ASIA_ PACIFIC') Cette règle bloque les paiements si le score de risque dépasse 3 ou que l’IP utilisée ainsi que la région d’émission de la carte correspondent à la zone ‘ASIA_PACIFIC’. THREE_D_SECURE if #card_country NOT IN ('FRA', 'USA', 'GBR') Cette règle demande une transaction 3D Secure si le pays de la carte n’est pas la France, les Etats-Unis, ou la Grande Bretagne. ALLOW (#amount < 10000 and #transactions_amount_daily < 100000) or (#currency IN ('EUR', 'USD') and #transactions_amount_monthly < 1000000) Cet exemple précédent AUTORISE les paiements SI le montant est INFÉRIEUR à 100 ET que la somme des montants des transactions du jour est INFÉRIEUR à 1000 OU que la devise est € ou $ ET que la somme des montants des transactions du mois est INFÉRIEURE à 10 000. Les opérateurs logiques « AND » et « OR » ne sont syntaxiquement correct qu’en minuscule. 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) ℹ️ 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. Versement sortant Les versements sortants sont des virements émis depuis votre compte de paiement CentralPay vers le compte bancaire associé. Ils peuvent être réalisés manuellement depuis le Portail Marchand ou via l’API Payment, ou encore être automatisés selon la fréquence définie dans vos paramètres de reversement. Depuis le Portail Marchand, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et exécuter les versements. 1. Modes de versement 1.1. Versement automatique Le titulaire du compte peut définir la périodicité du versement automatique selon trois options : Quotidienne Hebdomadaire : choix du jour de la semaine (ex. chaque mardi) Mensuelle : choix du jour du mois (ex. le 5 du mois) Le service de versement automatique exécute chaque virement à 01h00 du jour sélectionné, à partir des fonds disponibles (AVAILABLE) sur le compte de paiement. Cas d’un versement hebdomadaire programmé le mardi : CentralPay exécutera la création du virement le mardi matin avec les fonds disponibles sur le compte de paiement jusqu’à 01h00. ℹ️ En cas de versement quotidien, l’intégralité des fonds disponibles est virée chaque jour vers votre compte bancaire. Le solde de votre compte CentralPay est donc nul en début de journée.Si vous devez effectuer des remboursements clients, ceux-ci pourront être réalisés à partir du début d’après-midi (vers 14h), une fois les fonds des transactions du jour crédités par les banques émettrices. Une évolution permettra prochainement de différer les versements automatiques d’un ou plusieurs jours afin de conserver des fonds disponibles tout en maintenant une lecture comptable cohérente. Contactez le support si vous êtes concernés. Lettrage des versements automatiques Chaque versement automatique est associé à la liste détaillée des opérations incluses dans le virement. Cette fonction permet un rapprochement automatique entre les opérations encaissées et le versement correspondant. Le détail des opérations d’un versement est accessible depuis le Portail Marchand Administration Mon compte Versements en sélectionnant le versement souhaité. Le premier versement automatique ne contient pas encore de détail, car il initialise le système de lettrage. Les versements suivants incluent la liste complète des opérations concernées. 1.2. Versement manuel (via Portail Marchand ou API) Un versement peut être exécuté manuellement depuis le Portail Marchand ou via l’API Payment. Le montant du versement peut être librement défini, dans la limite des fonds disponibles sur le compte. Les ordres de versement effectués avant 05h00 sont exécutés immédiatement. Ceux créés après 05h00 sont exécutés le lendemain à 05h00. 2. Identification des opérations liées à chaque versement Le lettrage des versements est une fonctionnalité du Portail Marchand qui associe chaque versement automatique à la liste détaillée des opérations incluses dans ce versement. Périmètre : le lettrage s’applique exclusivement aux versements automatiques. Les versements manuels ne disposent pas de cette association automatique. Contenu du détail : liste des opérations correspondant au versement, incluant les montants, dates de valeur et références nécessaires au rapprochement comptable. 2.1. Accéder au détail d’un versement automatique Depuis le Portail Marchand Administration Mon compte Versements : Sélectionnez le versement concerné dans la liste. Ouvrez le détail du versement pour afficher les opérations associées. Utilisez le bouton Exporter pour télécharger les données si nécessaire. Ou, depuis le Portail Marchand Compte Mes opérations : Filtrez par Type = Versement sortant ou par Date de valeur. Dans la colonne Actions du versement, cliquez sur la flèche, puis sur Voir les opérations du versement. ℹ️ Le premier versement automatique ne comporte pas de détail : il sert d’initialisation du lettrage. Les versements automatiques suivants incluent la liste complète des opérations associées. 2. Disponibilité des fonds Les versements comprennent uniquement les fonds disponibles (AVAILABLE) sur le compte de paiement. Les fonds issus d’une transaction par carte bancaire deviennent disponibles à J+2. Exemple : Une transaction carte réalisée le lundi apparaît en « Pending » le lundi, devient « Available » le mardi soir, le versement automatique est exécuté le mercredi à 01h00, et le virement SEPA est crédité sur le compte bancaire le jeudi. ℹ️ Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (cas spécifique aux partenaires / mandataires). 3. Création d’un versement manuel 3.1. Depuis le Portail Marchand Seuls les utilisateurs titulaires du compte (« Legal ») ou disposant d’un rôle administrateur (« Natural Admin ») peuvent créer un versement manuel depuis le Portail Marchand. Depuis le Portail Marchand Administration Mon compte Versements : Cliquez sur Transferts externes. Sélectionnez le compte d’émission. Indiquez le montant du versement et l’IBAN destinataire. Cliquez sur Confirmer le transfert. Une fois validé, le versement est exécuté selon les délais mentionnés ci-dessus. Recette Portail Marchand – Versements sortants Production Portail Marchand – Versements sortants 3.2. Depuis l’API La création d’un versement manuel peut également être réalisée via l’API Payment. Pour les détails techniques, consultez la documentation développeur : Développeurs Versement sortant . 4. Versements en devises via le réseau SWIFT Les virements internationaux sont exécutés via le réseau SWIFT, contrairement aux virements SEPA utilisés dans la zone européenne. Ce service permet d’émettre des versements en euros ou dans d’autres devises vers des comptes situés hors zone SEPA. Si le compte bénéficiaire n’est pas accessible via SEPA ou s’il s’agit d’un compte en devise, les versements peuvent être réalisés via SWIFT. Ce service est activé sur demande auprès de votre interlocuteur CentralPay. ℹ️ Les virements SWIFT présentent des frais supérieurs aux virements SEPA. Il est possible de paramétrer un seuil de fonds disponibles avant déclenchement automatique des versements. 5. Retours, statuts et webhooks Pour suivre le cycle de vie des versements et automatiser leur traitement : Consulter la documentation des statuts de versement ➝ Consulter la documentation des webhooks de versement ➝ Import de fichiers Service d’import de fichiers CentralPay Le Service d’import de fichiers vous permet de piloter des opérations CentralPay en masse, en déposant de simples fichiers CSV plutôt qu’en appelant l’API ligne à ligne. À ce jour, deux types de fichiers sont pris en charge : Fichiers Customer : pour créer vos profils clients (customers) dans CentralPay, avec en option un compte bancaire (BankAccount) et/ou un mandat de prélèvement SEPA (SDD). Fichiers Operation : pour déclencher des prélèvements SEPA (SDD) sur vos profils clients et/ou des virements SEPA sortants (SCT) vers les comptes bancaires de vos profils clients. Pour chaque fichier déposé, CentralPay vous renvoie des fichiers de compte-rendu vous indiquant, ligne par ligne, ce qui a été accepté, refusé ou rejeté. 1. À qui s’adresse ce service ? Ce service est conçu pour les marchands qui traitent des volumes d’opérations et préfèrent un échange par fichiers à une intégration API en temps réel : encaissements récurrents par prélèvement, versements sortants groupés, constitution ou migration d’un référentiel clients/mandats SEPA, etc. L’échange s’effectue de façon asynchrone : vous déposez vos fichiers, CentralPay les traite, puis met à votre disposition les comptes-rendus. 2. Prérequis 2.1 Prérequis communs Un compte marchand CentralPay actif avec accès au Portail Marchand. Votre identifiant marchand (UUID) CentralPay. Les 8 premiers caractères de cet UUID servent à nommer vos fichiers (voir section 5.1 Règles communes à tous les fichiers). La mise en place d’un canal d’échange sécurisé (SFTP, voir section 4. Mise en place du SFTP) sauf si un autre canal a été convenu avec votre interlocuteur CentralPay. Une phase de recette avec l’équipe intégration CentralPay avant la mise en production. 2.2 Prérequis pour les opérations de virements SEPA sortants (CREDIT / SCT) Le service de virement SEPA sortant doit être activé sur votre profil marchand. 2.3 Prérequis pour les opérations prélèvements SEPA (DEBIT / SDD) Les prélèvements imposent des prérequis supplémentaires, à valider avant tout premier dépôt : Votre ICS (Identifiant Créancier SEPA) doit être déclaré dans votre profil marchand CentralPay (démarche réalisée avec votre interlocuteur CentralPay). Le service de prélèvement SEPA doit être activé sur votre profil marchand (démarche réalisée avec votre interlocuteur CentralPay). Validation de la Conformité du mode de gestion des mandats. Dans ce parcours d’intégration, CentralPay ne recueille pas la signature du mandat : vous transmettez vous-même, dans le fichier Customer, la référence du mandat (MANDATE_RUM) et sa date de signature (MANDATE_SIGN_DATE). En conséquence : Votre interlocuteur CentralPay doit valider en amont le principe de gestion des mandats par ce biais, qu’il s’agisse d’une migration de mandats existants ou de mandats nouvellement collectés par vos soins. Vous restez responsable de la collecte, de la validité juridique et de la conservation des mandats signés, ainsi que de l’information préalable de vos clients (préavis, RUM, ICS). Sans ces prérequis, les fichiers comportant des prélèvements ne pourront pas être traités, que ce soit en environnement de RCT ou de PROD. 3. Comment fonctionne le cycle de traitement ? Dépôt. Vous déposez vos fichiers CSV (Customer et/ou Operation) sur le SFTP, dans le dossier de dépôt. Contrôle technique (ACK). CentralPay vérifie chaque ligne (format, champs obligatoires, cohérence) et vous renvoie un fichier .ACK : chaque ligne y est marquée ACCEPTED ou REFUSED, avec le motif d’erreur le cas échéant. Traitement bancaire. Les lignes techniquement valides sont transmises aux circuits bancaires SEPA. Compte-rendu de règlement (SET). Pour les opérations, CentralPay produit des fichiers .SET indiquant l’avancement du règlement (ACCEPTED / PENDING / REFUSED) une fois les retours bancaires disponibles. Rejets post-règlement (RET). En cas de rejet SEPA survenant après le règlement (par exemple une contestation client), CentralPay produit un fichier .RET reprenant le motif et le montant retournés. Les fichiers Customer ne génèrent pas de compte-rendu bancaire (.SET / .RET) : seul un .ACK est renvoyé. 4. Mise en place du SFTP Le SFTP est le canal d’échange recommandé. Il garantit un dépôt et une récupération sécurisés, et permet à CentralPay de récupérer et traiter automatiquement vos fichiers. 4.1 Modèle d’échange Le SFTP est hébergé par le marchand. CentralPay se connecte à votre SFTP, récupère les fichiers dans un dossier de sortie et y dépose les comptes-rendus dans un dossier d’entrée. 4.2 Convention de dossiers L’échange repose sur deux répertoires : RépertoireSensContenuDossier de dépôt (nommé /OUT)Marchand → CentralPayVos fichiers Customer et Operation à traiterDossier de retour (nommé /IN)CentralPay → MarchandLes comptes-rendus .ACK, .SET, .RET 4.3 Étapes de mise en place Demander l’activation auprès de votre interlocuteur CentralPay. Échanger les accès : authentification par clé SSH. Il convient de créer deux espaces : un SFTP dédié à la recette et un dédié à la production Les informations du SFTP (hote + login) devront nous être fournies par email Afin que nous puissions nous connecter à votre SFTP, une clé publique Centralpay (par environnement) vous sera communiquée Par ailleurs, il est recommandé de mettre en liste blanche (whitelist) les adresses IP de CentralPay (celles-ci vous seront communiquées lors de votre intégration). Utilisation de l’arborescence définie précédemment (dossiers de dépôt /OUT et de retour /IN). Tester en recette avec un fichier d’exemple, valider la bonne réception des .ACK, puis basculer en production. 5. Préparer vos fichiers 5.1 Règles communes à tous les fichiers Format : CSV. La ligne d’en-tête (header) est obligatoire dans tous les fichiers, en entrée comme en sortie. Nommage : Fichier client : <8 premiers caractères de votre UUID marchand en minucules>_CUST_<référence libre>.csv Fichier opérations : <8 premiers caractères de votre UUID marchand en minucules>_OPER_<référence libre>.csv La référence libre est à votre main (souvent un horodatage). Le nom complet ne doit pas dépasser 100 caractères. Exemples : c494f877_CUST_20241025110500.csv · c494f877_OPER_20241025110500.csv Montants : exprimés en unité mineure (centimes d’euro) et toujours positifs. Le sens (débit/crédit) est porté par la colonne OPERATION_TYPE, pas par le signe du montant. Légende des colonnes dans les tableaux ci-dessous : Obligatoire : la ligne est refusée si la valeur est absente. Facultatif : peut être laissé vide. Conditionnel : requis uniquement dans le cas décrit. 5.2 Fichier Customer Ce fichier crée vos profils clients. Selon votre besoin, il peut créer en une seule ligne : le profil client seul, le client + un compte bancaire, ou le client + un compte bancaire + un mandat SDD. ColonneFormatStatutDescriptionMERCHANT_IDUUIDObligatoireVotre identifiant marchand CentralPayMERCHANT_CUSTOMER_IDString(100)FacultatifVotre référence client interne (doit être unique). Fortement recommandé pour réconcilier vos opérationsDESCRIPTIONString(256)FacultatifChamp libre à votre usageTYPEINDIVIDUAL / LEGAL_ENTITYObligatoirePersonne physique ou moraleSOCIAL_REASONString(35)ConditionnelRequis si TYPE = LEGAL_ENTITY (raison sociale)FIRST_NAMEString(35)ObligatoirePrénom (du représentant légal si LEGAL_ENTITY)LAST_NAMEString(35)ObligatoireNom (du représentant légal si LEGAL_ENTITY)EMAILString(255)FacultatifPHONEString(25)FacultatifFormat international +<indicatif><numéro>ADDRESS_LINE_1String(255)ObligatoireADDRESS_LINE_2/3/4String(255)FacultatifCompléments d’adressePOSTAL_CODEString(15)ObligatoireCaractères autorisés : lettres, chiffres, espace, tiretCITYString(35)ObligatoireCOUNTRYCode ISO 3166 alpha-3ObligatoireEx. FRAIBANString(34)ConditionnelRequis pour créer un compte bancaire (donc pour tout virement sortant ou prélèvement futur). Validé selon ISO 13616BICString(11)ConditionnelRequis avec l’IBANMANDATE_RUMString(35)ConditionnelRequis pour créer un mandat SDD. Référence unique de mandat (RUM) du mandat déjà signé côté marchandMANDATE_SIGN_DATEDate YYYY-MM-DDConditionnelRequis pour créer un mandat SDD. Date de signature du mandat Logique « avec ou sans »➜ Client seul : renseignez l'identité et l'adresse, laissez IBAN/BIC et les colonnes mandat vides.➜ Client + compte bancaire (nécessaire pour un virement sortant futur) : ajoutez IBAN + BIC.➜ Client + mandat SDD (nécessaire pour un prélèvement SEPA futur) : ajoutez IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE. Exemple de fichier Customer Télécharger l’exemple de fichier .csv « Customer » Trois clients : un particulier (INDIVIDUAL, sans raison sociale) et deux personnes morales (LEGAL_ENTITY), chacun avec son propre compte bancaire et son mandat SDD. À retenir sur cet exemple : Le téléphone est au format international (+33..., sans le 0 initial). Pour le client INDIVIDUAL, le champ SOCIAL_REASON est laissé vide (deux ; consécutifs) ; il est renseigné uniquement pour les LEGAL_ENTITY. Chaque client a son propre IBAN/BIC et sa propre MANDATE_RUM. Les IBAN/BIC ci-dessus sont des coordonnées de test fournies pour la recette : remplacez-les par les coordonnées réelles de vos clients en production. En retour, le fichier .ACK vous renverra pour chaque ligne acceptée un CUSTOMER_ID (UUID). Conservez ces identifiants : ce sont eux que vous réutiliserez dans vos fichiers Operation. Colonnes ajoutées par CentralPay dans le fichier .ACK de retour : ColonneDescriptionSTATUSACCEPTED ou REFUSED (pas de PENDING pour les fichiers customer)ERROR_CODEValorisé si REFUSED (ex. INVALID_PARAMETERS)ERROR_MESSAGEDétail technique (en anglais)CUSTOMER_IDUUID du client créé, valorisé si ACCEPTED (à conserver pour vos opérations futures) 5.3 Fichier Operation Ce fichier déclenche des opérations sur des profils clients déjà existants dans CentralPay. ColonneFormatStatutDescriptionMERCHANT_IDUUIDObligatoireVotre identifiant marchand CentralPayPOINT_OF_SALE_IDUUIDFacultatifPoint de vente concerné. Si vide, le point de vente par défaut est utiliséMERCHANT_TRANSACTION_IDString(35)FacultatifVotre référence d’opération (unique chez vous)DESCRIPTIONString(140)FacultatifDescription à votre usageEND_TO_END_IDString(35)FacultatifRéférence SEPA end-to-end visible par le client final. À défaut, reprend MERCHANT_TRANSACTION_IDREMITTANCE_INFOString(140)FacultatifLibellé SEPA (unstructured remittance information) visible par le client final. À défaut, reprend DESCRIPTIONCUSTOMER_IDUUIDConditionnelIdentifiant CentralPay du client. CUSTOMER_ID ou MERCHANT_CUSTOMER_ID doit être renseignéMERCHANT_CUSTOMER_IDString(100)ConditionnelVotre référence client interne (alternative au CUSTOMER_ID généré par CentralPay)MANDATE_RUMString(35)FacultatifPour cibler un mandat précis si le client en possède plusieurs (si OPERATION_TYPE = DEBIT)AMOUNTEntierObligatoireMontant en centimes d’euro, valeur positive uniquementCURRENCYCode ISOObligatoireEUR (devise euros obligatoire pour virements et prélèvements SEPA)OPERATION_TYPEDEBIT / CREDITObligatoireDEBIT = prélèvement SEPA (SDD)CREDIT = virement SEPA sortant (payout)EXPECTED_SETTLEMENT_DATEDate YYYY-MM-DDFacultatifDate de règlement souhaitée. Par défaut : J+1 ouvré Choisir le bon OPERATION_TYPE➜ DEBIT (prélèvement) : Si vous souhaitez débiter le compte bancaire de votre client via un prélèvement SEPA. Nécessite que le profil client dispose d'un mandat SDD valide. ➜ CREDIT (virement) : Si vous souhaitez créditer le compte bancaire de votre client via un virement SEPA sortant. Nécessite que le client dispose d'un compte bancaire déclaré (IBAN/BIC). Exemple de fichier Operation Télécharger l’exemple de fichier .csv « Operation » Cinq opérations sur les clients créés à l’étape précédente, référencés par leur CUSTOMER_ID (les UUID renvoyés dans le .ACK du fichier Customer) : trois prélèvements (DEBIT) et deux virements (CREDIT). À retenir sur cet exemple : Le client est désigné par son CUSTOMER_ID (UUID stable et unique). Il peut sinon être désigné par votre MERCHANT_CUSTOMER_ID mais vous devez vous assurer de son unicité et de son bon formatage. MERCHANT_TRANSACTION_ID et END_TO_END_ID sont uniques pour chaque opération. Les montants sont en centimes (4990 = 49,90 €) et toujours positifs ; c’est OPERATION_TYPE qui donne le sens (débit ou crédit). REMITTANCE_INFO porte un libellé explicite, visible du client final sur son relevé. Privilégiez des caractères simples (norme SEPA : pas d’accents ni de caractères spéciaux). Colonnes ajoutées par CentralPay dans les fichiers de retour : Dans le .ACK (contrôle technique) : ColonneDescriptionSTATUSACCEPTED, PENDING ou REFUSEDERROR_CODEValorisé si REFUSEDERROR_MESSAGEDétail techniqueOPERATION_IDUUID de l’opération, valorisé si ACCEPTED (clé de suivi dans les fichiers suivants) Dans le .SET (compte-rendu de règlement) : ColonneDescriptionSTATUSACCEPTED, PENDING ou REFUSEDERROR_CODEValorisé si REFUSED (ex. FRAUD_ALERT)ERROR_MESSAGEDétail bancaire du refusSETTLEMENT_DATEDate de valeur si ACCEPTEDOPERATION_IDUUID de l’opération Dans le .RET (rejet post-règlement) : ColonneDescriptionREASON_CODECode de rejet SEPA (ex. AC04 = compte clos)REASON_MESSAGEDétail textuel du rejetRETURN_AMOUNTMontant retourné (positif)RETURN_DATEDate du rejetOPERATION_IDUUID de l’opération d’origine 6. Comprendre les fichiers de retour 6.1 Nommage des fichiers de retour Les fichiers de retour reprennent le nom de votre fichier d’origine, suivi du type de compte-rendu, d’une empreinte de traitement et d’un horodatage : <nom du fichier d'origine au format csv>.<ACK|SET|RET>-<hash>-<timestamp>.csv <hash> : empreinte du fichier traité (permet de relier le retour au traitement). <timestamp> : horodatage du traitement. Exemple : C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv 6.2 Les trois niveaux de compte-rendu FichierQuandCe qu’il vous dit.ACKImmédiatement après réceptionValidité technique ligne à ligne. Toutes les lignes sont retournées, y compris celles refusées.SETUne fois les retours bancaires disponibles (opérations uniquement)Avancement du règlement. Seules les lignes ACCEPTED au niveau .ACK y figurent.RETEn cas de rejet après règlement (opérations uniquement)Rejets SEPA postérieurs (ex. contestation client) Délais indicatifs de règlement (jours ouvrés) : virement (SCT) 1 à 2 jours ; prélèvement SEPA (SDD) 3 à 5 jours. Un rejet post-règlement (.RET) peut survenir jusqu'à 8 semaines après l'opération en cas de contestation. 6.3 Bonnes pratiques de réconciliation OPERATION_ID est la clé de correspondance entre les fichiers .ACK, .SET et .RET d’une même opération. Conservez-le. CUSTOMER_ID (renvoyé dans le .ACK customer) est l’identifiant à réutiliser dans vos fichiers Operation. Renseignez systématiquement vos propres références (MERCHANT_CUSTOMER_ID, MERCHANT_TRANSACTION_ID) pour faciliter le rapprochement de votre côté. 7. Erreurs fréquentes 7.1 Refus techniques (fichier .ACK) CodeSignificationActionMISSING_COLUMNSColonne(s) attendue(s) absente(s)Vérifier l’en-tête et la structure du CSVINVALID_PARAMETERSValeur de champ invalideCorriger la donnée fautive (format, longueur, énumération)BAD_ROWLigne mal forméeVérifier le séparateur et le nombre de colonnes de la ligneCOMPUTATION_EXCEPTIONErreur de traitement interneContacter le support CentralPay (Liste non exhaustive. Les messages sont retournés ligne par ligne et peuvent concatener plusieurs erreurs.) 7.2 Anomalies de rapprochement client MessageSignificationActionNo customer fetch errorLe client lié à l’opération est introuvableVérifier la cohérence du CUSTOMER_ID / MERCHANT_CUSTOMER_ID. Au besoin, déposer un fichier Customer pour les clients manquantsToo much customer found for merchantPlusieurs clients partagent le même MERCHANT_CUSTOMER_IDGarantir l’unicité de votre référence client ; nous contacter pour arbitrer (fusion / mise à jour)Unexpected service responseErreur interne CentralPayContacter le support CentralPay 8. Points d’attention La ligne d’en-tête est obligatoire dans chaque fichier. Les montants sont en centimes et toujours positifs. Une opération peut apparaître dans plusieurs .SET successifs si son statut évolue (PENDING → ACCEPTED/REFUSED). Conservez le mapping OPERATION_ID / CUSTOMER_ID entre vos systèmes et CentralPay. Toute première mise en place fait l’objet d’une recette avec l’équipe intégration avant production. 9. Démarrer Vérifiez vos prérequis, en particulier la chaîne ICS + service SDD + validation Conformité si vous prévoyez des prélèvements. Demandez l’ouverture du canal SFTP auprès de votre interlocuteur CentralPay. Préparez un fichier d’exemple et validez-le en recette. Passez en production. Pour toute question sur la mise en place, contactez votre interlocuteur CentralPay ou le support. Exports comptables Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail Marchand. 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 Marchand Fichiers d’export . 1. Export comptable des opérations du compte 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, etc. 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énominationSignificationwallet_ididentifiant du comptewallet_namenom du compteowner_namenom de la sociétévalue_datedate de valeur de l’opérationoperation_idréférence Centralpay de l’opérationoperation_datetimedate d’opérationsource_typetype d’opérationsource_idréférence permettant de lier plusieurs opérationsnaturenature de l’opérationdebit_amountmontant des opérations de type « débit »credit_amountmontant des opérations de type « crédit »currencydevise de l’opérationcustom_referenceréférence personnalisée de l’opérationcustom_labelnom personnalisé de l’opérationthird_party_ididentifiant du destinataire de l’opérationthird_party_labelnom du destinataire de l’opérationthird_party_countrypays du destinataire de l’opérationpayout_numbernuméro du payout Accès : Recette Portail Marchand – Opérations Production Portail Marchand – Opérations 2. Télécharger le rapport financier mensuel Chaque début de mois, en plus de la facture, un relevé de compte est généré, puis mis à disposition dans l’espace sécurisé de votre compte ( Mes comptes Relevés de compte ). Il présente les montants totaux de crédit et de débit réalisés, incluant un détail « dont fonds » et « dont frais » afin de distinguer la nature. Nous vous proposons deux types de relevés : détaillé ou synthétique. - Le relevé détaillé fait apparaitre l'ensemble des opérations de la période sélectionnée.⚠️ Si vous possédez un grand nombre d'opérations, il est possible que celles-ci n'apparaissent pas sur le relevé. Dans ce cas, nous vous conseillons de réaliser un export au format CSV, Excel ou JSON.- Le relevé synthétique regroupe vos opérations par jour et par type d'opération, pour la période sélectionnée. Pour bien comprendre votre relevé de compte détaillé :A) Le total du montant des débits sur votre compte pour la période donnée :– dont fonds : ensemble des débits de nature « fond » (versements sortants, etc.)– dont frais : ensemble des débits de nature « frais » (frais CentralPay, etc.)B) Le total du montant des crédits sur votre compte pour la période donnée :– dont fonds : ensemble des encaissements sur votre compte (= chiffre d’affaires).– dont frais : ensemble des opérations pour compenser des opérations ou ajuster des frais (remboursement de frais, etc.).C) Solde de clôture du mois précédent le relevé.D) Solde de clôture du mois du relevé téléchargé. Accès : Recette Portail Marchand – Documents Production Portail Marchand – Documents Exports de données Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre portail Marchand. 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 Marchand Compte Exports 1. Export des transactions cartes 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énominationSignificationtransaction_creation_datedate de créationtransaction_ididentifiant de transactiontransaction_amountmontanttransaction_currencydevisetransaction_payout_amountvaleur de devise de règlementtransaction_payout_currencydevise de règlementtransaction_commision_amountfrais sur la transactiontransaction_commision_currencydevise des fraistransaction_fee_amountfrais fixes par transactiontransaction_3ds3DS (0=non, 1=oui)transaction_descriptiondescription définie par le marchandtransaction_sourceEC Ecommerce, DP Deposit, MO Mail ordertransaction_bank_coderetour autorisation banquetransaction_statusstatut de la transactiontransaction_authorization_statusstatut de l’autorisationtransaction_authorization_codecode d’autorisationtransaction_capture_statusstatut de la capturetransaction_capture_datedate de la capturetransaction_capture_amountmontant de la capturemerchant_transaction_ididentifiant de transaction marchandpoint_of_sale_ididentifiant du point de ventepoint_of_sale_namenom du point de ventemerchant_ididentifiant marchandmerchant_namenom du marchanddispute_amountmontant de la contestationdispute_currencydevise de la contestationdispute_datedate de la contestationrefund_amountmontant du remboursementrefund_currencydevise du remboursementrefund_datedate du remboursementcard_ididentifiant de la carte de paiementcard_first66 premiers chiffres de la cartecard_last44 derniers chiffres de la cartecard_cardholder_namenom du porteurcard_cardholder_emailemail du porteurcard_typetype de carte (crédit/débit/prepaid)card_productnom du produit carte (Infinite, Gold…)card_product_typecarte consumer ou corporatecard_commercial_brandréseau carte (VISA/Mastercard/CB)card_regioncontinent d’origine de la cartecard_countrypays d’origine de la cartecard_establishment_namenom de l’établissement qui fournit la cartecustomer_ididentifiant clientend_user_ipIP de l’utilisateurend_user_languagelangue de l’utilisateurbrowser_user_agentnavigateur de l’utilisateurreceipt_emailmail de réception de l’utilisateurclearing_numbernuméro de clearingmerchant_category_codeactivité du marchand Accès : Recette Portail Marchand – Transactions Production Portail Marchand – Transactions 2. Export des remboursements cartes 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. Accès : Recette Portail Marchand – Remboursements cartes Production Portail Marchand – Remboursements cartes 3. Export des contestations de transactions cartes 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. Accès : Recette Portail Marchand – Contestations cartes Production Portail Marchand – Contestations cartes 4. Export des abonnements (cartes et SDD) 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. Accès : Recette Portail Marchand – Abonnements Production Portail Marchand – Abonnements Webhooks Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (events) qui surviennent sur votre profil Marchand 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’un évènement intervient sur votre profil Marchand CentralPay. Par exemple, une transaction réussie ou échouée, la création d’un nouvel abonnement (subscription), 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. Consultez la liste des webhooks dans 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) ➝ Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT) ℹ️ 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, etc.). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé, etc.). 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 La demande de paiement (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 Marchand. 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. 1. Création par API 1.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 à renseignerPaiements unitairesTransaction par cartepaymentMethod[]=TRANSACTIONCaution carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION transaction[source]=DPVérification/Empreinte carte (transaction à 0 €)paymentMethod[]=TRANSACTION transaction[source]=RITransaction par virement bancairepaymentMethod[]=SCT_TRANSACTIONTransaction par prélèvement SEPApaymentMethod[]=SDDsdd[remittanceInformation]Transaction par Paiement par banque (virement standard)paymentMethod[]=SCT_TRANSACTION_PISTransaction par Paiement par banque (virement instantané par défaut, sinon standard)paymentMethod[]=SCT_TRANSACTION_PIS_IPPaiements récurrentsAbonnement par cartepaymentMethod[]=SUBSCRIPTION subscriptionModel[subscriptionModelId]Abonnement par prélèvement SEPApaymentMethod[]=SUBSCRIPTIONsubscription[source]=SDDsubscriptionModel[subscriptionModelId]Paiement fractionné par cartepaymentMethod[]=INSTALLMENTintallment[intervalUnit]installment[intervalCount]installment [iterationCount]Paiement fractionné par prélèvement SEPApaymentMethod[]=INSTALLMENTinstallment[source]=SDDintallment[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 ⚠️ Certaines combinaisons de moyens ou modes de paiement peuvent entrer en conflit 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éfinitionamountMontant de la demande de paiement en centimesmerchantPaymentRequestIdRé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 paiementdescriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiementadditionalData[*]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 paiementcreateCustomerCré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 ℹ️ 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. 1.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 [prochainement] 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 [prochainement] 1.3. Fonctions spécifiques Envoyer une 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. Exemple : Cas d'une demande de paiement de 500 € :• Réglement de 250 € en virement, puis 250 € en carte• Ou 300 € avec une première carte, puis 200 € avec une autre• Ou réglemenet de 350 € avec une carte, puis revenir plus tard pour régler les 150 € restants avec cette même carte Pour ce faire, vous devez [prochainement] 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 [prochainement] 2. Création depuis le Portail Marchand 2.1. Création et types de demandes de paiement Vous pouvez créer une demande de paiement depuis le Portail Marchand Demandes de paiement Liens de paiement Créer . Les demandes de paiement créées depuis le Portail Marchand 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. Accès : Recette Portail Marchand – Demandes de paiement Production Portail Marchand – Demandes de paiement 2.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 Marchand, ou via import de fichiers plats. 2.3. Création de demandes de paiements par import de fichiers plats Depuis le Portail Marchand 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. Télécharger le modèle : Au format CSV➝ Au format JSON ➝ Quelques informations importantes : DésginationDéfinitionprofil_uuid*UUID du profil de demande de paiementmerchant_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 famillefirst_namePrénomemail*Email du destinatairephoneTéléphone du destinataire au format international (ex : 33612345678). create_customerCréation d’un profil client « Customer » : renseigner « O » pour OUI ou « N » pour NONlink_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 paiementlanguage*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) La page de paiement (aussi appelée 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. 1. Paramétrage de la page 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éfinitionNomNom du modèle de pageTemplate 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 dernierURL 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 besoinDé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 redirectionURL 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 besoinCouleur du texteCouleur du texte de la page de paiementCouleur des boutonsCouleur des boutons de la page de paiementChamps 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…) Accès : Recette Portail Marchand – Paramétrage formulaire Production Portail Marchand – Paramétrage formulaire 2. 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 Consultez les 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. Consultez les Webhooks PaymentRequest ➝ Consultez les Webhooks Transaction ➝ Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks SDD Transaction ➝ Consultez les Webhooks Customer ➝ Consultez les Webhooks Subscription ➝ Consultez les Webhooks Installment ➝ Transaction par carte Informations générales 1. Fonctionnement Une transaction carte comprend une succession d’actions : 1.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é, etc.) 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 ») 1.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, etc.), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours. 1.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 Le service API Transaction permet d’effectuer une autorisation suivie d’une capture des fonds sur la carte bancaire de votre client. Tous les modes de paiement par carte (paiement simple, récurrents, MoTo, etc.) sont gérés via ce service. Lorsqu’un client souhaite effectuer un premier paiement, ses données de carte doivent être collectées pour générer un cardTokenId, grâce au service de tokenisation « token.js » de CentralPay. Ce token temporaire permet ensuite de créer une ressource Card, identifiée par un cardId, pouvant être enregistrée dans un objet Customer. Ce rattachement est indispensable pour permettre des paiements ultérieurs sans redemander la carte (paiement en 1 clic, récurrents, etc.). ℹ️ Avec un formulaire de paiement personnalisé (CUSTOM FORM), l'intégration de l'authentification 3DS 2.2 est obligatoire avant d'exécuter une transaction. Schéma du flux de paiement avec cardTokenId : ℹ️ Si vous disposez d'une certification PCI-DSS de niveau 1 et que vous gérez les données de carte, vous pouvez directement créer un objet /card en envoyant les données (PAN, date d'expiration, CVC) à l'API, sans passer par token.js. 1. Prérequis 1.1. Déclarer vos domaines Avant d’utiliser le token.js, vous devez déclarer les domaines hébergeant vos formulaires Custom dans votre Portail Marchand. Allez dans Administration Mon profil marchand Technique Modifier , puis complétez le champ Hosts Custom Forms autorisés. Accès : Recette Portail Marchand – Administration Production Portail Marchand – Administration 1.2. Sécuriser votre formulaire Assurez-vous que vos pages de paiement utilisent le protocole HTTPS avec TLS 1.2 ou supérieur. 1.3. Conformité PCI-DSS L’utilisation de token.js implique que vous gérez vous-même l’affichage du formulaire et le déclenchement du token. Cette méthode impose de respecter les exigences PCI DSS SAQ A-EP. Téléchargez le formulaire A-EP ➝ 2. Intégration du formulaire de paiement 2.1. Créer un formulaire de paiement HTML Contrairement au Smart Form hébergé par CentralPay, le Custom Form est créé par vos soins, via votre propre code HTML. Vous devez implémenter les champs suivants : Numéro de carte : 16 chiffres pour CB/Visa/Mastercard, 15 pour American Express Date d’expiration : format MM/AAAA CVC : 3 chiffres (CB/Visa/Mastercard), 4 chiffres (Amex) Vous pouvez consulter nos exemples de formulaires Custom Form : Consultez l’exemple de formulaire Custom Form sans 3DS 2.2 ➝ Consultez l’exemple de formulaire Custom Form avec 3DS 2.2 ➝ 2.2. Intégration du script token.js Ajoutez dans votre page le script token.js pour générer un cardTokenId : <script src="https://js.centralpay.net/js/token.js"></script> Ajoutez ensuite votre clé publique marchand (MerchantPublicKey) dans un tag distinct : <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('VOTRE_CLE_PUBLIQUE') : alert('Error loading html form'); </script> Vous pouvez voir où retrouver votre MerchantPublicKey depuis la page Authentification de nos API. Intégration dans une application mobile Si vous utilisez une WebView dans votre application, vous pouvez intégrer soit un formulaire personnalisé avec token.js, soit un formulaire hébergé via le service PaymentRequest. Ces options vous permettent d’externaliser la collecte des données carte tout en offrant une expérience utilisateur fluide. Dans une application mobile native, le script token.js n’est pas compatible. Vous devez alors collecter les données de carte via les champs de l’application, puis appeler directement l’API cardToken en utilisant votre merchantPublicKey. L’appel à l’API cardToken doit inclure un en-tête HTTP Origin correspondant à une URL déclarée dans votre profil Marchand CentralPay (voir 2.1 Prérequis). Pour vos tests, vous pouvez utiliser l’Origin suivant : https://example.centralpay.net ℹ️ Pour les applications mobiles natives, les données de carte sont transmises directement depuis le device de l’utilisateur vers CentralPay, sans passer par les serveurs du marchand. Cependant, ce type d’intégration nécessite de veiller à respecter les exigences de sécurité et de conformité PCI-DSS applicables à la collecte et la transmission de données de carte dans un environnement natif. 2.3. Créer un Customer et rattacher une carte ℹ️ Le cardTokenId est un token à usage unique, dont le CVC est temporaire (10 minutes en production, 5 minutes en RCT). Passé ce délai, le token expire automatiquement (status=EXPIRED) et ne peut plus être utilisé, ce qui entraînera l’erreur suivante : "cardTokenId": "Card token already used". Que vous utilisiez la carte immédiatement (paiement simple) ou que vous souhaitiez la réutiliser plus tard (paiement en 1 clic, récurrent, etc.), il est recommandé de commencer par créer un objet Customer, puis d’enregistrer une Card à l’aide du cardTokenId. L’authentification 3DS 2.2 pouvant parfois allonger le délai de traitement, cette séquence permet d’éviter l’expiration du CVC associé au cardToken. Créez un objet customer via l’endpoint POST /customer ou récupérez le customerId s’il est déjà connu Créez une card en utilisant POST /card en spécifiant le cardTokenId émis par le token.js et le customerId Une fois la card rattachée à un customer, le CVC devient permanent et les transactions futures peuvent être initiées sans limite de temps. Si vous n'utilisez pas le token.js (certification PCI-DSS requise), vous pouvez directement créer une card sans passer par le cardToken en fournissant le PAN + expiration + CVC + customerId 3. Authentification 3DS 2.2 Avant d’initier une transaction par carte, vous devez vérifier l’identité du porteur via une authentification 3DS 2.2. Cette étape est obligatoire pour les transactions carte unitaire comme pour les transactions carte récurrente. ℹ️ Exception : Les transactions de type MoTo (Mail Order / Telephone Order) ne sont pas soumises à l’authentification 3DS. Vous pouvez créer la transaction directement après la création de la carte. 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 ») 1. Caractéristiques 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) : 1.1. Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction) Il 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 ➝ 1.2. Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents) Le 3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand, est utilisée lorsque le porteur n’est pas présent ou non participant. Le 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 et une 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 assurez 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’abonnementCentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont. Abonnement piloté par APIVous pilotez le prélèvement de chaque échéance vous-même par API (authentification BRW initiale, puis 3RI), sans recourir au service d’abonnement automatisé par CentralPay 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.2. 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.2 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 Marchand. 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 piloté par API 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.2 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 Marchand » 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.2 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 1. Apple Pay (Smart Form) Apple Pay est intégré nativement au parcours de paiement carte du SmartForm (PaymentRequest > paymentMethod[]=TRANSACTION) dès que l’appareil de votre client est compatible. Aucune action n’est requise de votre part. Le service est entièrement opéré par CentralPay (détection de l’appareil, gestion des certificats et des tokens Apple, sécurité PCI-DSS). Aucune donnée de carte n’est exposée côté marchand (périmètre PCI-DSS SAQ-A). 2. Apple Pay (Custom Form) 2.1. Prérequis 1. Créer un 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) 2. 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…) 🔐 Certificats requis pour une intégration Apple Pay (https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request)Pour traiter des paiements Apple Pay dans le cadre d’une intégration directe, le marchand doit disposer des éléments suivants :• un certificat Merchant ID Identity ;• un certificat Merchant Payment Processing G2.Le marchand doit veiller à conserver l’ensemble des clés privées utilisées lors de la génération des CSR associées à ces certificats.1. Merchant ID IdentityLa génération d’un CSR basé sur une clé EC (256 bits) est requise.Cette CSR sera générée par Centralpay2. Merchant Payment Processing CertificateÉtapes principales :• Demander le CSR généré par Centralpay• Soumettre le CSR depuis le compte développeur Apple afin d’obtenir le Merchant Payment Processing Certificate.• Installer le certificat sur le même poste macOS ayant servi à la génération de la CSR afin qu’il soit associé à la clé privée.• Exporter l’identité complète au format .p12 (certificat + clé privée).⚠️ Si l’option d’export au format .p12 n’est pas disponible, cela indique qu’une étape du processus n’a pas été correctement réalisée (clé privée manquante ou non associée).Le fichier .p12 constitue un conteneur sécurisé permettant l’exploitation ultérieure de la clé privée associée au certificat, conformément au flux Apple Pay.Notes importantes :• Toute perte de la clé privée nécessite la recréation complète du certificat depuis le portail Apple Developer.• La documentation Apple Pay peut prêter à confusion : l’utilisation d’OpenSSL ne concerne que le certificat Merchant ID Identity, et ne s’applique pas au Merchant Payment Processing Certificate. 2.2. Via token Apple Pay déchiffré CentralPay permet le traitement des paiements par carte effectués via Apple Pay, dans le cadre d’une intégration Custom (hors Smart Form). ℹ️ CentralPay ne prend actuellement en charge que les tokens Apple Pay déchiffrés. Cette méthode implique une responsabilité PCI-DSS importante de votre part (formulaire SAQ-D). Renseignez-vous et assurez-vous d'être en conformité avant de développer ce mode d'intégration. Étape 1 : Déchiffrement du token Apple Pay (Backend) 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 : 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 (Backend) Utilisez l’endpoint POST /cardToken de l’API CentralPay ChampDescriptioncard[number]PAN de la carte extrait du token Apple Paycard[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 PayamountMontant 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]=5454696696312664card[expirationMonth]=12card[expirationYear]=2031onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=applePayTransactionId=3d2b17abed2696ca...amount=2500currency=EURmerchantPublicKey=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 (Backend) Utilisez l’endpoint POST /transaction de l’API CentralPay Champs requis : cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification. Étape 4 : 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 API de test Cartes de test Différences entre environnement de test et de production : Les URLs des API sont différentes : Elles utilisent le préfixe test- 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 CentralPay (merchantPublicKey) est également spécifique à l’environnement 2.3. Via token ApplePay chiffré (hybride) ℹ️ 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. 2.3.1. Paramétrage du compte Apple – Se connecter sur « https://developer.apple.com/« , créer un compte et valider le compte ‘developer’ à 99$) – Aller sur https://developer.apple.com/account/resources/identifiers/list – Dans « App IDs », choisir « Merchant IDs » : Puis cliquer sur le « + » pour ajouter un « Identifier » : Choisir « Merchant IDs » : Renseigner le nom de l’identifier et cliquez sur « Register » : Aller à https://developer.apple.com/account/resources, puis cliquer sur Identifiers Sur Identifier, sélectionner un Merchant IDs en utilisant le filtre en haut à droite Sous « Apple Pay Payment Processing Certificate », cliquer sur « Create Certificate« . Indiquez que ce « Merchant ID » ne sera PAS (No) utilisé uniquement pour la Chine. A ce moment là cliquez sur « Choose File » afin d’envoyer le fichier CSR qui vous a été envoyé par CentralPay(uniquement CentralPay) Vous pouvez télécharger le fichier généré.Il reste à créer le certificat « Apple Pay Merchant Identity Certificate » Pour cela aller à https://developer.apple.com/account/resources, puis cliquer sur Identifiers et enfin cliquer sur l’Identifier que vous voulez éditer.Une fois ouvert, cliquez sur « Create Certificate ». Ajoutez votre certificat : Ajouter le domaine associé Indiquez le nom de domaine en question : Téléchargez le fichier indiqué par Apple Déployez le fichier indiqué par Apple sur un serveur du nom de domaine en question accessible à Apple, puis cliquez sur « Verify » : Vous pourrez alors télécharger le certificat nécessaire. 2.3.2. Paiement via Applepay Génération du certificat et clé dans le même fichier : openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts Création d’un ApplePayToken avec Apple Pay JS API (Démo à https://applepaydemo.apple.com/apple-pay-js-api) Frontend : <script crossorigin src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"> </script> <style> apple-pay-button { --apple-pay-button-width: 250px; --apple-pay-button-height: 100px; --apple-pay-button-border-radius: 99px; --apple-pay-button-padding: 0px 0px; --apple-pay-button-box-sizing: border-box; }</style><apple-pay-button id="btn-card" buttonstyle="white-outline" type="plain" locale="fr-FR"></apple-pay-button><br /><div data-info="gateway-link" class="text-small text-gray-light font-weight-normal ml-1"> <img src="https://docs.centralpay.com/wp-content/uploads/2024/10/paysecure_reassurance_1-fond_blanc.png" alt="CentralPay" style="max-width:200px"></a></div> var request = { countryCode: 'FR', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard', 'amex'], merchantCapabilities: ['supports3DS'], total: { label: 'Your Merchant Name', amount: '10.00' },}var applepayversion = 3;var session = new ApplePaySession(applepayversion, request);session.onvalidatemerchant = event => { // Call your own server to request a new merchant session. console.log("event.validationURL :"+event.validationURL); fetch('/applepay-session') .then(res => res.json()) // Parse the response as JSON. .then(merchantSession => { session.completeMerchantValidation(merchantSession); }) .catch(err => { console.error("Error fetching merchant session : ", err); });};session.onpaymentauthorized = (event) => { var token = event.payment.token; fetch(`https://api.centralpay.net/transaction`, { method: "post", body: JSON.stringify( { applePayToken: token, endUserIp: "127.0.0.1", currency: "EUR", amount: 1000, source="EC", browserUserAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36", merchantTransactionId="1234567890123456789" }), }) .then((response) => { if (response.ok) { return response.json(); } appleSession.completePayment(ApplePaySession.STATUS_FAILURE); }) .then((responseJson) => { // Do something with the response appleSession.completePayment(ApplePaySession.STATUS_SUCCESS); }) .catch((error) => { appleSession.completePayment(ApplePaySession.STATUS_FAILURE); });};session.begin(); Backend : $router->map('GET', '/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface { $APPLE_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $curl = new Curl(); $curl->setHeader('Content-Type', 'application/json'); $curl->setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); $curl->setOpt($ch, CURLOPT_SSLCERTPASSWD, "thesslpassword"); $curl->setOpt(CURLOPT_POSTFIELDS, '{ merchantIdentifier: "merchant.net.centralpay.test-form", displayName: "MyStore", initiative: "web", initiativeContext: "merchant.net.centralpay.test-form" }' ); $curl->setOpt(CURLOPT_CUSTOMREQUEST, "POST"); $curl->setOpt(CURLOPT_URL, $APPLE_URL); $curl->exec(); ... return new Laminas\Diactoros\Response\JsonResponse($curl->getResponse()); ...}); Création de CardToken avec votre token Apple pay chiffré. (Frontend) 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.Utilisez l’endpoint POST /cardToken de l’API CentralPayChamps requis : curl --location 'https://test-api.centralpay.net/cardToken' \--header 'Origin: https://example.centralpay.net' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx' Création de la transaction : (Backend) Utilisez l’endpoint POST /transaction de l’API CentralPayChamps requis : curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789' Le cardToken encapsule déjà le contexte Apple Pay et les données d’authentification. Création de Transaction avec votre token Apple pay chiffré. (Backend) 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. Puis utilisez l’endpoint POST /transaction de l’API CentralPay Champs requis : curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx' 3. Google Pay (Smart Form) Google Pay est nativement au parcours de paiement carte du SmartForm (PaymentRequest > paymentMethod[]=TRANSACTION), dès que l’appareil ou le navigateur de votre client est compatible. Aucune action ne sera nécessaire de votre part. Le service sera entièrement opéré par CentralPay (détection de compatibilité Google Pay, gestion des certificats et des tokens, sécurité PCI-DSS). Aucune donnée de carte ne transite côté marchand, le flux relève du périmètre PCI-DSS SAQ-A. 4. Google Pay (Custom Form) CentralPay permet l’intégration de Google Pay via le mode PAYMENT_GATEWAY, tel qu’imposé par Google Pay dans un contexte PSP multi-marchands, sans nécessiter de déchiffrement du token côté serveur. 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é ⚠️ Google Pay fournit un merchantId spécifique au domaine validé.Ce merchantId est obligatoire pour toute Payment Request Google Pay.L’utilisation d’un merchantId non associé au domaine entraîne une erreur Google Pay (Error 11). 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 : 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 et copiez 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 et mettez à jour Étape 1: Configuration de Google Pay côté frontend ℹ️ Le bouton Google Pay est fourni par le SDK officiel Google Pay.L’initiation du paiement et la génération du token sont entièrement contrôlées par Google Pay (hosted button). 1. Définir la version de l’API : const baseRequest = { apiVersion: 2, apiVersionMinor: 0 }; 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. 3.Définir les types de cartes acceptées : const allowedCardNetworks = ["AMEX", "MASTERCARD", "VISA"]; 4. Définir le type de moyen de paiement : Il existe deux type différents : PAN_ONLY et CRYPTOGRAM_3DS ⚠️CentralPay n’autorise pas l’utilisation du type PAN_ONLY car il requiert de respecter des normes de sécurité spécifiques. Seul le type CRYPTOGRAM_3DS est autorisé. const allowedCardAuthMethods = ["CRYPTOGRAM_3DS"]; 5. 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 : ChampDescriptionamountMontant 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=2500currency=EURmerchantPublicKey=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=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... Le cardToken contient déjà toutes les informations d’authentification : pas besoin d’ajouter de cryptogramme ou de champ CVV. Étape 5 : Testing avant mise en production L’environnement de test CentralPay permet de valider l’ensemble de votre intégration Google 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 API de test Cartes de test Différences entre environnement de test et de production : Les URLs des API sont différentes : elles utilisent le préfixe test- 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 testIls ne sont pas interchangeables avec ceux de production La clé publique CentralPay (merchantPublicKey) est également spécifique à l’environnement R-transaction carte 1. Remboursement – refund 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 Marchand. 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é. ⚠️ Si la carte sur laquelle vous tentez d'effectuer le remboursement est expirée ou que le compte a été clôturé, CentralPay ne pourra réaliser de remboursement. Dans ce cas, nous vous invitons à vous rapprocher de votre client pour lui demander un RIB à jour et procéder à un virement SEPA depuis votre banque. 2. Crédit – credit 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 ℹ️ Ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus. 3. Contestation – Dispute Lorsqu’un porteur de carte conteste ou signale une transaction auprès de sa banque, le réseau (Visa, Mastercard, Carte Bancaire, etc.) peut notifier CentralPay afin d’initier une opération de contestation (Dispute).Cette opération permet de suivre l’état du litige et d’agir selon le type de signal reçu : alerte de fraude, demande d’information, ou chargeback. Chaque contestation est représentée dans le backoffice CentralPay par une opération distincte (Dispute), liée à la transaction d’origine. Les notifications sont également disponibles via le webhook DISPUTE_CREATED. Pour tout paiement par carte, un client peut contester une transaction auprès de sa banque dans les délais suivants : 120 jours à compter de la transaction pour les réseaux Visa et Mastercard ; 13 mois à compter de la date d’opération pour le réseau français Carte Bancaire. ℹ️ En France, la contestation est en principe réservée aux cas de fraude (carte volée, usurpée, utilisation abusive).Dans d’autres pays européens, elle peut également être utilisée dans le cadre d’un litige commercial (produit non livré, service non conforme, etc.). 1. Alerte de fraude FRAUD_NOTICED Ce statut correspond à une notification préventive de fraude transmise par le réseau (ex. : fichier TC40 pour Visa).Il est déclenché lorsque la banque émettrice signale qu’un porteur affirme ne pas être à l’origine de la transaction (carte volée, copiée ou usurpée). ➡️ Aucun remboursement n’est initié à ce stade.➡️ Ce signal vous permet d’anticiper un chargeback potentiel et de renforcer vos contrôles antifraude. Bonnes pratiques : Identifier la transaction concernée (montant, pays, carte, date). Vérifier les transactions similaires (même carte, même compte, même IP). Mettre la carte ou le compte en liste noire pour éviter de nouvelles tentatives. Conserver les preuves d’authenticité (logs, preuves de livraison, consentement). Ne pas contacter directement le porteur (le signal vient de sa banque). 2. Demande d’information RETRIEVAL_NOTICED Ce statut correspond à une demande documentaire émise par la banque du porteur.Il intervient lorsqu’un client ne reconnaît pas une transaction, sans parler de fraude. La banque émettrice demande alors à CentralPay de solliciter le marchand pour fournir des éléments de preuve (facture, reçu, preuve de livraison, etc.). ➡️ Une réponse est attendue sous 7 jours.➡️ Si les éléments sont acceptés, la contestation est clôturée (RETRIEVAL_CLOSE).➡️ Si aucune réponse n’est transmise, la banque du porteur peut déclencher un chargeback. 3. Contestation officielle CHARGEBACK_NOTICED Le chargeback correspond à une demande de remboursement formelle initiée par la banque émettrice.Il peut résulter : d’une fraude confirmée (suite à un FRAUD_NOTICED) ; d’un litige non résolu (suite à un RETRIEVAL_NOTICED) ; ou d’un autre motif reconnu par les réseaux (produit non reçu, montant incorrect, service non conforme, etc.). Lorsqu’un chargeback est émis : Le montant de la transaction est débité de votre compte de paiement afin de rembourser le porteur. Des frais non remboursables s’appliquent pour chaque contestation reçue, même en cas d’issue favorable. Vous disposez d’un délai de 20 jours calendaires pour répondre à la contestation en fournissant les éléments justificatifs : Preuve de livraison ou d’exécution du service, Preuve du consentement du porteur (obligatoire pour les transactions non 3-D Secure), Autres pièces démontrant la légitimité du paiement. À défaut de réponse dans le délai imparti, la contestation sera automatiquement perdue. Une fois votre réponse transmise, la banque émettrice analyse les éléments fournis : StatutDescriptionCHARGEBACK_WONLes preuves ont été jugées suffisantes. Le montant de la transaction vous est recrédité.CHARGEBACK_LOSTLa contestation est maintenue. Le remboursement au porteur devient définitif. Email de confirmation 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. 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 Marchand. Adresse email de l’expéditeur : Paramètrage depuis le point de vente Nom de l’expéditeur : Paramètrage depuis le point de vente Votre logo : Paramètrage depuis le point de vente Nom du point de vente : Paramètrage depuis le point de vente Texte de pied de page : Paramétrage depuis l’entrrée Configuration Email confirmation paiement Créer 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 profil Marchand CentralPay 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 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 de paiement 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 versements sortants (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 versements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de versement. Gestion des cartes virtuelles (VCC) 1. Fonctionnement 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.comBooking.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. Suite à la crise du Covid 19, Booking.com 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.comChez 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 (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 : CodeDescriptionA1 – Repli VADSDSP2 et Soft declineLa 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 banqueLa 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 carteLa 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 atteintLa 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 invalideLa 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. Consultez la liste complète des codes de retour banque ➝ 2. Statuts liés aux transactions carte Consultez les Statuts Transaction ➝ Consultez les Statuts Refund ➝ Consultez les Statuts Credit ➝ Consultez les Statuts Disputes ➝ Consultez les Statuts Subscription ➝ Consultez les Statuts Installement ➝ 3. Webhooks liés aux transactions carte Consultez les Webhooks Transaction ➝ Consultez les Webhooks Card ➝ Consultez les Webhooks Refund ➝ Consultez les Webhooks Credit ➝ Consultez les Webhooks Customer ➝ Consultez les Webhooks Dispute ➝ Consultez les Webhooks Subscription ➝ Consultez les Statuts Installement ➝ Transaction par virement Informations générales 1. Fonctionnement 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 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é 1. Consulter l’IBAN Virtuel de ses comptes Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail Marchand Administration Comptes IBAN/BIC : Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 2. 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 Marchand Administration Comptes UUID : Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 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 est CEAYFR22 3. 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 Marchand Administration Comptes UUID : Accès : Recette Portail Marchand – Comptes Production Portail Marchand – Comptes 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. 4. 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. Fonctionnement 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 : AutomatiquementSi 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 TransactionSi 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 paiementSi 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 Marchand 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 Pay by Bank - Initiation de paiement (PIS) 1. Fonctionnement Le service d’initiation de paiement (PIS – Payment Initiation Service) permet à vos clients de réaliser un virement bancaire directement depuis leur environnement bancaire, sans avoir à saisir manuellement les coordonnées du bénéficiaire. Cette fonctionnalité repose sur le protocole Open Banking, en conformité avec la DSP2. Chez CentralPay, ce service est proposé sous l’intitulé Pay by Bank et est actuellement accessible uniquement via le formulaire de paiement hébergé (SmartForm), dans le cadre de l’utilisation du service PaymentRequest. ℹ️ Le service est uniquement disponible via le Smart Form (PaymentRequest). Il n’est pas encore possible d’utiliser ce mode de paiement en tant que moyen unique, il est toujours présenté en complément du service de paiement par virement traditionnel. L’expérience de paiement dépend des interfaces de la banque du client payeur. 2. Activation du service L’initiation de paiement n’est pas activée par défaut. Pour en bénéficier, il est nécessaire d’en faire la demande auprès des équipes support de CentralPay. 3. Utilisation via PaymentRequest Pour permettre à vos clients d’initier un virement directement depuis le formulaire de paiement, vous devez : Créer une PaymentRequest selon les modalités habituelles. Inclure le moyen de paiement suivant dans la propriété payment_methods :• PIS Standard « payment_methods » : [« SCT_TRANSACTION_PIS »]• PIS IP « payment_methods » : [« SCT_TRANSACTION_PIS_IP »] Lorsque ce moyen de paiement est présent, le Smart Form proposera à l’utilisateur un choix entre : Le virement bancaire classique (affichage des coordonnées bancaires à recopier) L’initiation de paiement via son environnement bancaire (Pay by Bank) ℹ️ Il n’est pas possible à ce stade de forcer l’utilisation exclusive de l’initiation de paiement. Le formulaire affichera toujours l’alternative avec les coordonnées bancaires classiques. 4. Parcours utilisateur L’utilisateur sélectionne « Pay by Bank » dans le formulaire Il choisit sa banque dans la liste proposée Il est redirigé vers l’environnement de sa banque pour valider l’opération de virement Une fois le paiement initié, il est redirigé vers votre page de retour 5. Suivi et statuts Une fois la PaymentRequest créée, le statut du virement est disponible via l’API comme pour tout autre paiement : Le champ payment_method sera valorisé à SCT_TRANSACTION Le champ status indiquera la progression de l’initiation de paiement (par exemple PENDING, SUCCEEDED, FAILED) ℹ️ Comme pour les virements classiques, la finalisation du paiement dépend de l’exécution effective du virement par la banque du client. Le client peut choisir entre réaliser un virement standard (à J+1) ou un virement immédiat. 6. Liste des banques disponibles par pays ℹ️ En environnement de recette, une banque nommée "Connecteur de test" est affichée pour vous permettre de tester le parcours de bout en bout. Attention : le montant maximum autorisé sur ce connecteur de test est de 20 €. Banques françaises : InstitutionStandardInstantanéAllianz Banque✅ Disponible🚫 Non disponibleArkéa Banking Services✅ Disponible🚫 Non disponibleArkéa Banque Entreprises et Institutionnels✅ Disponible✅ DisponibleArkéa Banque Privée✅ Disponible✅ DisponibleAXA Banque✅ Disponible✅ DisponibleBanque BCP✅ Disponible✅ DisponibleBanque Chalus✅ Disponible✅ DisponibleBanque de Savoie✅ Disponible✅ DisponibleBanque des Territoires✅ Disponible🚫 Non disponibleBanque Européenne Crédit Mutuel✅ Disponible✅ DisponibleBanque Populaire✅ Disponible✅ DisponibleBanque Transatlantique✅ Disponible✅ DisponibleBBVA (Non activé)🚫 Non disponible🚫 Non disponibleBforBank✅ Disponible🚫 Non disponibleBNP Paribas✅ Disponible✅ DisponibleBNP Paribas Entreprises✅ Disponible🚫 Non disponibleBNP Paribas Nouvelle-Calédonie (Non activé)🚫 Non disponible🚫 Non disponibleBoursoBank✅ Disponible✅ DisponibleBRED✅ Disponible✅ DisponibleBTP Banque✅ Disponible✅ DisponibleCaisse d’Épargne Particuliers✅ Disponible✅ DisponibleCaisse d’Épargne Professionnels✅ Disponible✅ DisponibleCCMDirect (Non activé)🚫 Non disponible🚫 Non disponibleCIC✅ Disponible✅ DisponibleCIC Banque Privée✅ Disponible✅ DisponibleCrédit Agricole✅ Disponible✅ DisponibleCrédit Coopératif✅ Disponible✅ DisponibleCrédit Maritime✅ Disponible✅ DisponibleCrédit Mutuel✅ Disponible✅ DisponibleCrédit Mutuel de Bretagne✅ Disponible✅ DisponibleCrédit Mutuel du Sud Ouest✅ Disponible✅ DisponibleFortuneo✅ Disponible✅ DisponibleHello bank!✅ Disponible✅ DisponibleING Wholesale Banking✅ Disponible🚫 Non disponibleLa Banque Postale✅ Disponible✅ DisponibleLCL✅ Disponible✅ DisponibleLouvre Banque Privée✅ Disponible✅ DisponibleManager.one✅ Disponible🚫 Non disponibleMemo Bank✅ Disponible✅ DisponibleMonabanq✅ Disponible✅ DisponibleN26✅ Disponible✅ DisponibleNef Pro✅ Disponible🚫 Non disponibleNeuflize OBC (Non activé)🚫 Non disponible🚫 Non disponiblePalatine✅ Disponible✅ DisponibleQonto✅ Disponible🚫 Non disponibleRevolut✅ Disponible🚫 Non disponibleSociété Générale✅ Disponible✅ Disponible 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 Smart Form, 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 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 Marchand. 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 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 Consultez les Statuts Transaction ➝ Consultez les Statuts Refunds ➝ 3. Webhooks liés aux SCT Transactions Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks Refunds ➝ Consultez les Webhooks Customer ➝ Transaction prélèvement SEPA Informations générales 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 profil Marchand CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail Marchand en utilisant un profil avec des droits Admin : Administration Mon profil marchand 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 1.1. 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. 1.2. 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 1.3. 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) 3. Modification d’un mandat SEPA existant 3.1. Modifications possibles sans nécessité de nouveau mandat Certaines données peuvent être mises à jour sans exiger la signature d’un nouveau mandat SEPA, sous réserve d’informer correctement le débiteur : Changement de nom du créancier (modification de la structure juridique prélevant) Changement de l’Identifiant Créancier SEPA (ICS) Changement de la Référence Unique de Mandat (RUM) Changement de compte / IBAN du débiteur au sein d’une même banque Changement de compte / IBAN du débiteur suite à un changement de banque Endpoints associés : Modifier un IBAN débiteurPOST /bankAccount/{bankAccountId}Permet de mettre à jour l’IBAN d’un compte bancaire débiteur lié à un mandat SEPA existant. Modifier une RUMCette opération n’est pas possible via les API CentralPay. Une modification de la RUM nécessite la création d’un nouveau mandat (migration). Modifier le nom du créancierEn cas de changement de la structure juridique réalisant les prélèvements, un nouveau Profil Marchand CentralPay (Merchant) doit être créé. Les mandats existants devront alors être redéclarés sous ce nouveau profil via un processus de migration. 3.2. Modifications nécessitant un nouveau mandat Les modifications suivantes imposent la création d’un nouveau mandat SEPA, car elles impliquent une nouvelle autorisation du débiteur : Changement de nom du débiteur Changement de la date de signature du mandat Changement de type de mandat : passage de SDD Core à SDD B2BNB : Ce cas d’usage n’est pas disponible dans les services CentralPay Changement de la fréquence de prélèvement : passage de ponctuel à récurrent 3.3. Communication des modifications Les notifications de modifications doivent obligatoirement être transmises : Par le créancier au débiteur, pour toute modification initiée par le créancier (ICS, RUM, IBAN, etc.) Par le débiteur au créancier, avec présentation d’un justificatif (ex : RIB ou pièce d’identité) pour les changements d’IBAN ou de données personnelles 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 : Créer des transactions SDD individuelles : pour réaliser une ou plusieurs transactions SDD par API en complète autonomie 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). 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 1.1. 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. 1.2. [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 Marchand. 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 Vous pouvez rembourser une SDD Transaction si celle-ci est CLEARED via le service Refund ou depuis le détail de la SDD Transaction dans le Portail Marchand. 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é. 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 de paiement 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. 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) : ContestationsMD06 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 banqueMS02Raison non communiquée (peut inclure des contestations ou des rejets)RejetsAM04 Provisions insuffisantesTout autre codeRejets techniques divers (compte clôturé, bloqué, IBAN non atteignable…) 👉 Consultez la liste complète des codes de rejet SDD ➝ 2. Statuts liés aux prélèvements SEPA Consultez les Statuts des SDD Transaction ➝ Consultez les Statuts des Mandates ➝ Consultez les Statuts des bankAccount ➝ (à venir) Consultez les Statuts des Subscription ➝ Consultez les Statuts des Installment ➝ 3. Webhooks liés aux prélèvements SEPA Consultez les Webhooks des SDD Transaction ➝ Consultez les Webhooks des Mandates ➝ Consultez les Webhooks des bankAccount ➝ Consultez les Webhooks des Customer ➝ Consultez les Webhooks des Subscription ➝ Consultez les Webhooks des Installment ➝ Paiements récurrents Abonnement 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 Marchand. 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 : Recette Portail Marchand – Modèles d’abonnements Production Portail Marchand – Modèles d’abonnements 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 Marchand. Accès : Recette Portail Marchand – Paramétrages d’abonnements Production Portail Marchand – Paramétrages d’abonnements 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 Marchand 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é 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 Marchand : Accès : Recette Portail Marchand – Paramétrages Paiements Fractionnés Production Portail Marchand – Paramétrages Paiements Fractionnés 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 Transaction initiée par le porteur (CIT – BRW) Le flux BRW (Browser) s’applique aux transactions initiées par le client (CIT — Customer-Initiated Transaction) : le titulaire de la carte est présent et valide lui-même le paiement. Cette CIT authentifiée sert aussi de socle aux transactions MIT futures. 👉 Pour une transaction initiée par le marchand sans le porteur (facturation récurrente, montant variable, usage-based, frais ponctuels), consultez la documentation du flux 3RI. ❌ Attention au choix du flux : utiliser le BRW pour une transaction initiée par le marchand (MIT) entraîne une non-conformité, une friction inutile et une réduction importante du taux de conversion. 1. Les grandes étapes du flux BRW Le flux BRW enchaîne cinq étapes côté API, dont deux conditionnelles : versioning (la carte est-elle authentifiable ?) → 3DS Method (si nécessaire) → authentification → challenge (si la banque l’exige) → résultat, avant de réaliser la transaction. ℹ️ Tout le processus doit se dérouler sur une seule et même page web, sans redirection vers une page bancaire, grâce à une solution d'iframe. C'est une contrainte du process bancaire. Pour accélérer votre intégration du flux BRW, vous pouvez partir d’une application d’exemple complète (PHP / Twig) qui rejoue toute la séquence décrite sur cette page : formulaire de paiement CUSTOM, versioning, 3DS Method en iframe, authentication, gestion du challenge, results puis transaction, le tout sur une seule et même page, conformément à la contrainte bancaire. 👉 Télécharger le code d’exemple · Voir la démo en ligne Avant de lancer le code d'exemple, renseignez vos identifiants dans le fichier .env (API_USER, API_PASSWORD, POS_UUID) et faites pointer HOST_CENTRALPAY_API_CORE vers l'environnement de test https://test-api.centralpay.net/v2/rest/. 2. Versioning Le versioning est la première étape : il interroge le réseau de la carte pour savoir si elle peut être authentifiée en 3DS 2.2, et récupère les éléments techniques nécessaires à la suite. Concrètement, vous adressez à l’API CentralPay le PAN de la carte (Primary Account Number, le numéro à 16 chiffres). Exemple (curl) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'acctNumber=4000001000000067' Comprendre la réponse. Une carte est dite « enrôlée » lorsque la banque qui l’a émise participe au protocole 3DS 2.2 pour cette carte. C’est la banque émettrice qui en décide : ni vous ni CentralPay ne pouvez enrôler une carte. Le versioning sert justement à savoir si c’est le cas. Carte non enrôlée → le versioning retourne une erreur 404 : l’authentification 3DS 2.2 est impossible pour cette carte. Prévoyez un repli (basculement en 3DS1 si supporté, ou refus du paiement selon votre politique de risque). Carte enrôlée → vous recevez un identifiant d’opération, le threeDSServerTransID (généré par CentralPay et conservé jusqu’au résultat final), ainsi que, le cas échéant, les données nécessaires au « 3DS Method » (une URL + une donnée encodée en base64). Pour une carte enrôlée, deux réponses sont possibles : Version 1 (la plus fréquente) — un 3DS Method est attendu : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": "https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm": { "threeDSMethodData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJhbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2MtZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails": null } Les champs threeDSMethodURL et threeDSMethodData sont renseignés : passez à l’étape 3. 3DS Method. Version 2 — pas de 3DS Method : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Seul threeDSServerTransID est renseigné (les champs 3DS Method sont vides) : passez directement à l’étape 4. Authentification. 3. 3DS Method À quoi ça sert ? Le 3DS Method permet à la banque du porteur — via son ACS (Access Control Server, le serveur de la banque émettrice qui authentifie le porteur) — de collecter discrètement des informations techniques sur le navigateur du client, avant l’authentification. Ces informations enrichissent son analyse de risque et augmentent les chances d’une authentification frictionless (sans challenge pour le porteur). Quand l’exécuter ? Uniquement si le versioning a renvoyé une valeur pour threeDSMethodURL et threeDSMethodData (cas « Version 1 » ci-dessus). Sinon, passez directement à l’authentification. Comment ? Chargez l’threeDSMethodURL dans une iframe invisible (masquée à l’écran : cet échange est purement technique et ne doit rien afficher au porteur) et postez-y le champ threeDSMethodData. C’est le navigateur du porteur qui effectue cet appel vers la banque, en arrière-plan. 4. Authentification (BRW) L’appel est adressé à l’URL 3ds2/authentication de l’API CentralPay. Cette requête transmet les données contextuelles liées au porteur et à son navigateur, qui permettent à la banque de décider si une authentification active (challenge) est nécessaire. Exemple (curl) : 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' 💡 deviceChannel=02 indique le canal navigateur, propre au flux BRW. Les paramètres browser* (caractéristiques du navigateur du porteur) sont donc obligatoires ici.Pour augmenter le taux d'authentification Frictionless, enrichissez cette requête avec les données contextuelles du porteur → voir Optimiser le taux de Frictionless Champs à préciser selon l’objet de la CIT. Le champ threeDSRequestorAuthenticationInd est obligatoire : il indique la nature de l’authentification. Une CIT BRW peut servir soit à authentifier un paiement (messageCategory=01, PA), soit à authentifier une carte ou son porteur sans débit (messageCategory=02, NPA) — par exemple pour enregistrer une carte, la mettre à jour ou en vérifier le porteur. Les deux champs se renseignent de façon cohérente : threeDSRequestorAuthenticationIndObjet de la CITmessageCategoryChamps requis en plus01 — PaymentPaiement unitaire (ponctuel)01 (PA)—02 — RecurringPaiement récurrent (abonnement)01 (PA)recurringExpiry, recurringFrequency03 — InstalmentPaiement échelonné (en plusieurs fois)01 (PA)recurringExpiry, recurringFrequency, purchaseInstalData04 — Add cardEnregistrement / empreinte d’une carte pour usage futur, sans débit02 (NPA)—05 — Maintain cardMise à jour des informations d’une carte déjà enregistrée (ex. renouvellement)02 (NPA)—06 — Cardholder verificationVérification du porteur dans le cadre de l’ID&V d’un token EMV02 (NPA)— recurringExpiry → date après laquelle plus aucune autorisation ne sera effectuée (format YYYYMMDD). recurringFrequency → nombre minimum de jours entre deux autorisations (1 à 999). purchaseInstalData → nombre maximum d’autorisations (échéances) prévues pour le paiement échelonné (1 à 999). ℹ️ Les cas 04, 05 et 06 sont des authentifications hors paiement : aucun montant ni champ de récurrence n'est requis. Elles ne préparent pas forcément une MIT — ce sont souvent une fin en soi (enregistrer, vérifier ou maintenir une carte). La carte ainsi authentifiée pourra ensuite servir à des transactions CIT (porteur présent) comme MIT (3RI). La réponse contient un statut d’authentification (transStatus) qui détermine la suite à donner : ❌ Pas d’autorisation — ne pas effectuer la transaction Statut (transStatus)SignificationNNon authentifié / compte non vérifié. Transaction refusée.UAuthentification / vérification impossible (problème technique ou autre).RAuthentification / vérification rejetée. L’émetteur demande de ne pas tenter d’autorisation.IInformation seulement. Reconnaissance de la préférence du demandeur pour le challenge 3DS. ✅ Autorisation sans challenge Statut (transStatus)SignificationYAuthentification réussie.ATentative effectuée. Non authentifié / vérifié, mais une preuve de tentative est fournie. 🔐 Autorisation après challenge Statut (transStatus)SignificationCChallenge requis : le porteur doit s’authentifier activement (voir étape 5), via les messages CReq/CRes (Challenge Request / Response).DChallenge requis. Authentification découplée confirmée. Exemples de réponses : C — Challenge requis : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "C", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge", "acsChallengeMandated": "Y", "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Y — Authentification réussie (challenge non nécessaire) : { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Les champs requis pour la transaction sont présents : threeDSServerTransID, transStatus, authenticationValue (le cavv — Cardholder Authentication Verification Value, le cryptogramme qui prouve l’authentification) et eci (Electronic Commerce Indicator, qui indique le niveau d’authentification obtenu et conditionne le transfert de responsabilité en cas de fraude). Le xid n’est pas fourni : c’est une référence libre destinée aux marchands. N — Transaction refusée : { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } 5. Challenge Le challenge est l’étape où le porteur s’authentifie activement auprès de sa banque (code à usage unique reçu par SMS, validation dans l’application bancaire, biométrie…). Il n’a lieu que si l’authentification a renvoyé transStatus = C. Une iframe doit soumettre un formulaire à l’acsURL retournée à l’étape 4. Le seul paramètre envoyé est creq, dont la valeur est le base64EncodedChallengeRequest issu de l’authentification. À la fin du challenge, l’URL que vous avez fournie (notificationURL) est appelée par la banque. En environnement de test, le challenge s’affiche sous forme d’un OTP (One-Time Password, code à usage unique) ; en production, c’est la fenêtre de l’ACS de la banque qui s’affiche : OTP de test : 1234 → Y (simule un challenge réussi – Authentification réussie) 4444 → A (simule un challenge réussi – Non authentifié / vérifié, mais une preuve de tentative est fournie.) 1111 → N (simule un challenge échoué – Non authentifié / compte non vérifié) 2222 → R (simule un challenge échoué – Authentification / vérification rejetée) 3333 → U (simule un challenge échoué – Authentification / vérification impossible (problème technique ou autre) 6. Réponse du challenge À l’issue du challenge, le résultat est transmis dans le paramètre cres, encodé en base64. Décodez-le pour lire le statut. Exemple en PHP : $retour = json_decode(base64_decode($_POST['cres']), true); Si le statut est Y ou A, le challenge est validé et le paiement est autorisé : appelez GET /results (étape 7) pour récupérer les données 3DS nécessaires à la transaction. Toute autre valeur signifie que le challenge a échoué : le paiement est refusé. 7. Résultat Cette étape récupère les données 3DS définitives à reporter dans la transaction. Adressez le threeDSServerTransID de l’authentification. ℹ️ Si l'authentification a directement retourné transStatus = Y (sans challenge), les données 3DS y figurent déjà : cette étape n'est pas nécessaire. Appel : curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' Réponse : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 🔁 Préparer les MIT futures (3RI). Si cette CIT doit servir de référence à des paiements ultérieurs initiés par le marchand, conservez l'acsTransID de la séquence d'authentification : il sera requis comme threeDSReqPriorRef côté 3RI. 8. Transaction Données à renseigner pour valider une transaction authentifiée en 3DS 2.2 : 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci (obligatoire si disponible) 3ds[xid] = paramètre custom, référence libre destinée aux marchands Exemple (curl) : 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' Étape suivante : pour les transactions ultérieures initiées par le marchand (MIT), voir 3DS 2.2 – 3RI. Transaction initiée par le marchand (MIT – 3RI) Le flux 3RI (3DS Requestor Initiated) s’applique aux transactions initiées par le marchand (MIT — Merchant-Initiated Transaction) : le marchand déclenche le débit sans intervention du porteur, dans le cadre d’un mandat préexistant, sur la base d’une transaction CIT authentifiée antérieurement. Il couvre l’ensemble des cas MIT : facturations récurrentes, montants variables, modèles usage-based, frais ponctuels, débits différés (no-show, pénalités), pas seulement les abonnements à montant fixe. 👉 Si le porteur est présent et valide lui-même le paiement, utilisez le flux BRW. Pour le cadre contractuel, les exemptions d’authentification (SCA) et la durée de validité d’une CIT, consultez la page Bonnes pratiques — Merchant Initiated Transaction (MIT). 1. Prérequis : une transaction CIT déjà authentifiée Le porteur étant absent, le 3RI ne ré-authentifie personne : il réutilise la preuve d’authentification produite lors d’une transaction CIT (porteur présent) réalisée précédemment via le flux BRW. Lors de cette CIT, le serveur de la banque émettrice qui a authentifié le porteur — l’ACS (Access Control Server) — a généré un identifiant unique pour cette authentification : l’acsTransID. C’est ce acsTransID que vous rattacherez à chacune de vos MIT, pour prouver à la banque que la carte a bien été authentifiée une première fois avec le consentement du porteur. ⚠️ Conservez l'acsTransID de la CIT. Sans CIT authentifiée préalable — et donc sans acsTransID — une transaction 3RI ne peut pas aboutir. Si vous n'en avez pas, réalisez d'abord une CIT en BRW pour authentifier et tokeniser la carte. 2. Authentification (3RI) L’appel est adressé à l’URL 3ds2/authentication de l’API CentralPay, comme pour le flux BRW, mais avec deux différences clés : Le canal est différent. deviceChannel=03 indique une transaction initiée par le marchand (3RI), sans navigateur du porteur. Les paramètres browser* du flux BRW sont donc inutiles ici. On référence la CIT. L’acsTransID conservé à l’étape 1 est placé dans le champ threeDSReqPriorRef, qui désigne « l’authentification précédente à laquelle se rattache cette transaction ». Identification de la carte. Le porteur étant absent, on ne saisit pas de carte en séance : on référence la carte déjà stockée sur le client (Customer) en transmettant customerId + cardId. 💡 N'envoyez qu'une seule source de carte. Combiner deux sources (par ex. cardId + un token, ou un PAN + un token) déclenche l'erreur « There is no unique source of card » (voir la FAQ). Exemple (curl) : 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=01' \ --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=1' \ --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=375d90ad-3873-498b-9133-380cbbc8d99d' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeRIInd=01' 2.1. Explication des principaux paramètres ParamètreDescriptiondeviceChannel03 → 3DS Requestor Initiated (transaction initiée par le marchand, sans navigateur du porteur)messageCategory01 → PA (Payment Authentication) = Authentification rattachée à un paiement (ex. transaction récurrente)02 → NPA (Non-Payment Authentication) = authentification hors paiement (ex. enregistrement ou vérification d’une carte sans débit).threeDSReqPriorRefdoit contenir l’acsTransID de la transaction CIT (BRW) précédente (voir étape 1)purchaseAmountmontant de l’achat courantpurchaseCurrencymonnaie au format ISOpurchaseExponentunité mineure de la monnaie courantepurchaseDatedate de l’achatrecurringExpirydate après laquelle plus aucune autorisation ne pourra être effectuéerecurringFrequencynombre de jours minimum entre deux autorisationsacctTypetype de compte (03 = debit)chAccAgeIndancienneté du compte du titulaire auprès du demandeur 3DS : 01 → pas de compte02 → créé durant la transaction03 → moins de 30 jours04 → entre 30 et 60 jours05 → plus de 60 jourschAccChangedate de dernière modification du compte du titulaire (format YYYYMMDD)chAccDatedate d’ouverture du compte du titulaire (format YYYYMMDD)nbPurchaseAccountnombre d’achats effectués avec ce compte au cours des six derniers moispaymentAccAgedate d’inscription du compte de paiement sur le compte du titulairepaymentAccIndancienneté de l’inscription du compte de paiement :01 → pas de compte02 → créé durant la transaction03 → moins de 30 jours04 → entre 30 et 60 jours05 → plus de 60 joursthreeDSReqPriorAuthMethodMéthode d’authentification de la CIT initiale : 01 → si frictionless02 → si le porteur a relevé un challenge03 → AVS04 → autrethreeDSReqPriorAuthTimestampdate et heure (UTC) de l’authentification précédente (format YYYYMMDDHHMM)threeDSRequestorDecReqIndN → ne pas utiliser l’authentification découpléethreeDSRequestorAuthenticationInd02 → transaction récurrentethreeRIIndType de transaction 3RI :01 → transaction récurrente02 → transaction échelonnée03 → ajout de carte04 → maintenance05 → vérification de compte06 → expédition fractionnée/différée07 → rechargement08 → vente par correspondance09 → vente par téléphone10 → vérification statut whitelist11 → autre paiement Exemple de réponse : { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } Ici, threeDSServerTransID est l’identifiant de l’opération généré par CentralPay (à reporter dans la transaction), et eci (Electronic Commerce Indicator) indique le niveau d’authentification obtenu, qui conditionne le transfert de responsabilité en cas de fraude. 2.2. Statuts retournés (transStatus) et conduite à tenir L’objectif est d’obtenir une authentification sans friction (frictionless), c’est-à-dire un transStatus = Y. Tentez systématiquement le 3RI, puis agissez selon le transStatus retourné. ℹ️ Le support du 3RI dépend du scheme de la carte et de la version 3DS de la banque émettrice : il n'est jamais garanti à l'avance. D'où la conduite « best effort » ci-dessous — vous tentez le 3RI, et vous ne vous appuyez sur son résultat que s'il est positif. ✅ Authentification réussie — exploitez le résultat (transfert de responsabilité) Statut (transStatus)SignificationYAuthentification réussie.ATentative effectuée. Non authentifié / vérifié, mais une preuve de tentative est fournie. → Réalisez la transaction en transmettant les données 3DS issues du 3RI (voir étape 3). Le transfert de responsabilité vers l’émetteur s’applique. ⚠️ 3RI non abouti — réalisez la transaction sans authentification (« best effort ») Statut (transStatus)SignificationNNon authentifié / compte non vérifié.UAuthentification / vérification impossible (problème technique ou autre).IInformation seulement.C / DChallenge demandé (impossible en MIT car porteur absent — voir note ci-dessous). → Vous pouvez réaliser la transaction classique sans les données 3RI : le Customer (customerId + cardId) assure le chaînage automatique à la CIT initiale. Attention : dans ce cas, le transfert de responsabilité ne s’applique pas (risque de contestation accru) et le risque de refus de l’autorisation est plus élevé. ⚠️ Challenge en MIT (C / D). Un challenge suppose la présence du porteur, par définition absent en MIT. Deux cas : si le porteur peut revenir (ex. abonnement avec espace client), rejouez une CIT en BRW pour réauthentifier la carte ; sinon, traitez-le comme un 3RI non abouti et réalisez la transaction sans authentification (best effort). Voir Bonnes pratiques — MIT. ❌ Refus explicite — ne pas tenter la transaction Statut (transStatus)SignificationRAuthentification rejetée : l’émetteur demande de ne pas tenter l’autorisation. → N’effectuez pas la transaction, même sans 3RI. 3. Transaction Une fois l’authentification 3RI réussie (Y ou A), renseignez les données 3DS suivantes dans l’appel transaction : 3ds[threeDSServerTransID] = threeDSServerTransID généré par l’authentification 3RI (pas celui d’une transaction précédente) 3ds[status] = transStatus 3ds[eci] = eci (obligatoire si disponible) 3ds[xid] = paramètre custom, référence libre destinée aux marchands ⚠️ N'envoyez pas 3ds[cavv] en 3RI. Le cavv (Cardholder Authentication Verification Value, le cryptogramme qui prouve l'authentification) est propre au flux BRW ; il est absent de la réponse 3RI et ne doit pas être transmis ici. Exemple (curl) : 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' ℹ️ Cas « best effort » (3RI non abouti). Si le 3RI n'a pas abouti (transStatus autre que Y/A, et hors R), réalisez la même transaction sans l'objet 3ds[...] : le Customer (customerId + cardId) suffit à chaîner l'opération à la CIT initiale. Le transfert de responsabilité ne s'applique alors pas. À lire aussi : Bonnes pratiques — Merchant Initiated Transaction (MIT) pour le cadre contractuel, le mandat et les exemptions d’authentification (SCA). Optimiser le taux de Frictionless Qu’est-ce que le frictionless ? Une authentification est dite frictionless lorsque la banque du porteur valide l’opération sans aucune interaction de sa part (pas de challenge : ni code à usage unique, ni validation dans l’application bancaire). La banque authentifie « en silence », sur la base des données reçues et de sa propre analyse de risque (Risk-Based Authentication). Son intérêt est double : Meilleure conversion : aucune étape supplémentaire pour le porteur, donc moins d’abandons. Responsabilité transférée : comme pour une authentification avec challenge réussie, un frictionless réussi (transStatus = Y) reporte la responsabilité en cas de fraude vers la banque émettrice. C’est ce qui le distingue d’un paiement sans 3DS. ℹ️ La décision finale appartient toujours à la banque émettrice. Aucun levier ne garantit le frictionless : l'émetteur peut imposer un challenge quelle que soit votre intégration. Les pistes ci-dessous maximisent les chances de frictionless, elles ne le forcent pas. Levier 1 — Enrichir les données d’authentification C’est le levier le plus important. Plus la requête d’authentification (3ds2/authentication) contient de données contextuelles fiables sur le porteur, mieux la banque évalue le risque et plus elle accorde un frictionless. À l’inverse, une requête minimale (montant + données navigateur seulement) prive la banque des éléments qui lui permettraient de se passer du challenge. Tous les champs ci-dessous sont acceptés par l’API aussi bien en BRW qu’en 3RI, et sont marqués Recommended ou Conditional (à envoyer dès que l’information est disponible) : Coordonnées du porteur ChampRôleemailadresse e-mail du porteur (conditionnel : à envoyer sauf restriction locale)homePhone / mobilePhone / workPhonenuméros de téléphone du porteur (indicatif [cc] + numéro [subscriber])deliveryEmailAddresse-mail de livraison (pour une livraison électronique) Adresse de facturation et de livraison ChampRôlebillAddrLine1/2/3, billAddrCity, billAddrPostCode, billAddrState, billAddrCountryadresse de facturationshipAddrLine1/2/3, shipAddrCity, shipAddrPostCode, shipAddrState, shipAddrCountryadresse de livraisonshipAddressUsageIndancienneté d’utilisation de l’adresse de livraison Historique du compte client ChampRôlechAccAgeInd, chAccDate, chAccChangeancienneté et dernière modification du compte du porteur chez le marchandpaymentAccAge, paymentAccIndancienneté de l’enregistrement du moyen de paiementnbPurchaseAccountnombre d’achats sur les six derniers moisprovisionAttemptsDaynombre de tentatives d’ajout de carte sur 24 hpreOrderDate, preOrderPurchaseIndinformations de pré-commande, le cas échéant 💡 La consigne pratique : transmettez tout ce dont vous disposez de fiable. Une donnée incohérente (adresse erronée) est contre-productive ; une donnée fiable absente est une occasion manquée de frictionless. Levier 2 — Exécuter le 3DS Method Lorsque le versioning le propose, exécutez systématiquement le 3DS Method : il permet à la banque de collecter en arrière-plan l’empreinte technique du navigateur du porteur, ce qui nourrit directement son analyse de risque. Le sauter revient à priver la banque d’informations qui favorisent le frictionless. Voir la procédure sur la page BRW. Levier 3 — Exprimer une préférence et signaler les exemptions Le champ threeDSRequestorChallengeInd (optionnel, flux BRW) permet d’indiquer à la banque votre préférence en matière de challenge, et de signaler qu’une exemption s’applique : ValeurSignification01Pas de préférence02Pas de challenge souhaité03Challenge souhaité (préférence du marchand)04Challenge souhaité (obligation)05Pas de challenge — analyse de risque transactionnelle (TRA) déjà réalisée06Pas de challenge — partage de données uniquement07Pas de challenge — authentification forte (SCA) déjà réalisée08Pas de challenge — exemption « bénéficiaire de confiance » (whitelist)09Pas de challenge — invitation au whitelisting si un challenge est requis ⚠️ Les valeurs 05, 07 et 08 déclarent qu'une exemption s'applique. Ne les utilisez que si l'exemption correspondante s'applique réellement à votre configuration : déclarer à tort une exemption engage votre responsabilité et peut entraîner un soft decline (voir FAQ). En cas de doute, conservez 01 ou 02. Le champ whiteListStatus permet par ailleurs de communiquer le statut « bénéficiaire de confiance » du marchand (Y = marchand whitelisté par le porteur, N, E, P, R, U). Lorsqu’un porteur ajoute votre enseigne à sa liste de confiance auprès de sa banque, ses paiements suivants passent plus facilement en frictionless. Levier 4 — Bien implémenter les transactions initiées par le marchand (MIT) Une fois une transaction CIT initiale authentifiée, les transactions ultérieures initiées par le marchand (MIT) s’effectuent via le flux 3RI et sortent du champ de l’authentification forte. C’est l’un des moyens les plus directs de supprimer la friction sur les paiements récurrents, échelonnés ou ultérieurs : authentifier une fois (CIT), réutiliser ensuite (MIT). Ce qui reste hors de votre contrôle Même avec des données complètes et une exemption demandée, l’émetteur peut décider d’un challenge (step-up). Si vous tentez une autorisation sans authentification (via exemption) et que l’émetteur la refuse, vous recevez un soft decline : il faut alors rejouer l’opération avec authentification. Voir l’entrée correspondante dans la FAQ. FAQ – 3DS 2.2 Choix du flux Dois-je utiliser le flux BRW ou le flux 3RI ? Le critère est qui initie la transaction et si le porteur est présent, pas le rang de la transaction : BRW → transaction initiée par le client (CIT), porteur présent qui valide lui-même le paiement. À utiliser pour la première authentification d’une carte comme pour tout paiement où le client agit en séance. 3RI → transaction initiée par le marchand (MIT), porteur absent, sur la base d’une CIT authentifiée antérieure (référencée via threeDSReqPriorRef). Voir la vue d’ensemble de la section et la page MIT. Puis-je utiliser le flux BRW pour mes transactions récurrentes / initiées par le marchand ? Non. Le BRW suppose un navigateur et un porteur présents. L’employer pour des MIT entraîne friction inutile, soft declines et non-conformité DSP2. Pour ces transactions, utilisez le 3RI, qui s’appuie sur l’acsTransID de la CIT initiale. Une MIT peut toutefois être exceptionnellement requalifiée en CIT par l’émetteur ; dans ce cas, rejouez une CIT (BRW) avec le porteur. Environnement de test Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ? 👉 Consultez la liste des cartes de test de l’environnement RCT. Erreurs et statuts d’authentification 3DS Mon versioning retourne une erreur 404 « Card account number not found in card ranges from Directory Server ». Que faire ? La carte utilisée n’est pas enrôlée 3DS 2.2 : la transaction ne peut pas se faire en 3DS 2.2. Nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce type de carte. La requête Result retourne transStatus = U. Comment l’interpréter ? La valeur U signifie que l’authentification / vérification n’a pas pu se faire (problème technique ou autre). Côté SmartForm : lors du challenge, seules les valeurs Y et A valident le challenge et permettent de continuer le paiement. Les autres valeurs font échouer le challenge et le paiement. Côté CustomForm : le comportement peut différer. Vous pouvez utiliser la valeur U pour retenter un challenge ; en cas de nouvel échec, basculer en 3DS1, ou considérer le paiement comme refusé. Ces différents traitements sont possibles. SmartForm vs CustomForm : le SmartForm est la page de paiement hébergée par Après soumission du formulaire à l’acsURL, le client revient sans CRES mais avec un paramètre ERROR (base64) et un THREEDSSESSIONDATA vide. Que faire ? Vérifiez que tout votre process 3DS2 se déroule sur une seule et même page via la solution d’iframe. Si le processus est conforme, 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, grâce à la solution d’iframe. Erreur 303 « acquirerBIN, acquirerMerchantID not recognized » lors de l’authentification. Que faire ? Il s’agit soit d’un contrat qui n’est pas 3DS2, soit d’un autre problème. Dans ce dernier cas, contactez le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations utiles. Erreur 203 « Validation of 3DS Requestor Authentication data failed […] » pour le champ merchant.merchantName. Que signifie-t-elle ? L’erreur 203 signale un caractère invalide dans le paramètre merchant.merchantName. Erreur « There is no unique source of card » dans la clé card data. Que signifie-t-elle ? Cette erreur, commune à toute la plateforme, survient lorsque vous envoyez les informations de carte deux fois : par exemple un cardToken et un cardId, ou un PAN et un cardToken. N’envoyez qu’une seule source de carte. Autorisation bancaire L’API transaction retourne « Soft Decline » alors que threeDSServerTransID est bien celui retourné par le CRES. Que faire ? Le soft decline (code A1) est renvoyé par la banque lorsque le 3DS n’est pas présent dans la transaction. Vérifiez qu’aucun champ 3ds[...] n’est manquant — voir les données à transmettre sur la page BRW, étape Transaction. Codes retour banque 5 et 12 (hors 3DS) Ces codes proviennent de l’autorisation bancaire et ne sont pas spécifiques au 3DS. Code 5 : la banque refuse sans donner de statut particulier (CVV erroné ou autre décision que nous ne connaissons pas). Ce statut ne permet pas d’affirmer que la banque refusera l’autorisation après d’autres tentatives. Code 12 : la banque refuse sans donner de statut particulier. Causes possibles : transaction invalide ; CAVV erroné ou invalide (le CAVV est le cryptogramme d’authentification fourni par l’ACS lors du 3DS, à ne pas confondre avec le CVV) ; ou autre décision que nous ne connaissons pas. Gestion des marchands Informations générales Cette section explique le fonctionnement de la création de comptes CentralPay, qu’il s’agisse de comptes de paiement ou de comptes de monnaie électronique, ainsi que les méthodes disponibles pour initier un enrôlement utilisateur via nos outils (portail ou API), en fonction du modèle de partenariat. 1. Types de comptes CentralPay permet l’ouverture de deux types de comptes réglementés : Type de compteDescriptionExemples d’usageCompte de paiementCompte de paiement au sens de l’article L314-1 du Code monétaire et financier.Encaissement par carte, virement ou SEPA.Compte de monnaie électroniqueCompte prépayé en euros émis par CentralPay, selon les règles des Établissements de Monnaie Électronique.Wallets, marketplaces C2C, cashback, titres. L’attribution du type de compte dépend du modèle économique du marchand et de son éventuelle gestion par un mandataire (DME ou Agent). 2. Fonctionnement global de l’enrôlement L’ouverture d’un compte passe systématiquement par une procédure d’enrôlement incluant : La création d’une demande d’enrôlement : initiation d’un dossier contenant les premières informations (email, nom, prénom) La complétion de l’enrôlement : soumission par l’utilisateur des informations réglementaires et des justificatifs (KYC/KYB) La validation de l’enrôlement : analyse par CentralPay, pouvant aboutir à une ouverture de compte, une demande complémentaire ou un refus 3. Deux interfaces possibles InterfaceDescriptionPublic concernéPortail d’enrôlement CentralPayInterface hébergée par CentralPay, accessible via lien personnalisé.Tous types d’utilisateursAPI d’enrôlementInterface technique permettant à un mandataire d’initier ou compléter des enrôlements via API.Mandataires autorisés selon leur statut 4. Conformité et réglementation Afin de respecter le cadre réglementaire applicable aux Prestataires de Services de Paiement, la répartition des rôles est strictement encadrée : CentralPay initie seul la contractualisation avec l’utilisateur Le partenaire technique ne peut pas inciter, conseiller ni initier une ouverture de compte Le partenaire technique n’intervient pas dans la collecte de justificatifs Seuls les partenaires enregistrés comme MOBSP, ou les mandataires Agent ou DME peuvent intervenir dans les étapes d’enrôlement élargies Modèle partenairePeut initier une demande d’enrôlementPeut compléter un enrôlement (API)Peut transmettre des justificatifs KYCPartenaire TechniqueOui*❌ Non❌ NonMandataire DMEOui, via API ou portail✅ Oui✅ OuiMandataire AgentOui, via API ou portail✅ Oui✅ Oui (KYC Niveau 1 ou plus si mandat) ℹ️ Le partenaire technique peut créer une demande d'enrôlement contenant uniquement les données de contact (email, nom, prénom, raison sociale), sans envoyer lui-même de lien d'enrôlement. CentralPay reste seul décideur de la suite du processus. Demande d'enrôlement 1. Méthodes de création d’une demande d’enrôlement 1.1. Depuis le portail Marchand CentralPay Un utilisateur connecté au portail CentralPay peut initier une demande d’enrôlement depuis le menu : Plateforme > Enrôlements > Créer Recette Portail Marchand – Onboarding Production Portail Marchand – Onboarding Il peut alors renseigner manuellement les champs décrits plus bas (dans le détail de l’appel API). Une fois la demande enregistrée, un lien de redirection vers le portail d’onboarding est généré automatiquement et peut être : Envoyé automatiquement par e-mail via le Mailer CentralPay (sélectionner OUI dans le champ « Envoyer des emails à l’adresse ci-dessus ») Ou copié manuellement pour un envoi par un autre canal (chat, SMS, etc.) 1.2. Depuis l’API : POST /merchant-enrollments L’enrôlement peut aussi être initié automatiquement via l’API, en appelant : POST /merchant-enrollments L’appel permet de générer un identifiant d’enrôlement (UUID) et d’initier un parcours d’onboarding complet, qui pourra être poursuivi : Soit via le portail Marchand Soit entièrement via les endpoints API (voir partie « Compléter un enrôlement par API ») Si aucun lien direct (enrollment_url) n’est retourné par l'API, par défaut, la plateforme CentralPay envoie un e-mail à l'adresse définie dans profile[email][value].Pour désactiver cet envoi : "sendClaimEmail": falseSi vous désactivez l'envoi, vous pouvez transmettre manuellement l'URL d’accès à l'interface onboarding en reconstituant :- En RCT : https://test-onboarding.centralpay.net/token/profile/[UUID]- En PROD : https://onboarding.centralpay.net/token/profile/[UUID]Note : [UUID] est l’identifiant retourné dans la réponse à POST /merchant-enrollments. 2. Créer une demande d’enrôlement depuis l’API (Merchant Enrollment) 🇫🇷 Enrôlement simplifié via SIREN (France uniquement)CentralPay permet de pré-remplir automatiquement certaines informations pour les sociétés françaises disposant d’un numéro SIREN :1. Appeler l'endpoint : POST /api/legal-entity/siren2. Fournir le champ : { "siren": "123456789" }3. Si les informations sont valides, un UUID est retourné. Il doit être utilisé comme identityBadge dans la création d’enrôlement pour déclencher le parcours simplifié. 2.1. Champs requis ChampTypeObligatoireDescriptionprofile[firstname][value]string (255)✅ OuiPrénom du titulaire. Validation : caractères alphabétiques et tirets (-). Depuis la version 1.15.0profile[lastname][value]string (255)✅ OuiNom du titulaire. Validation : caractères alphabétiques et tirets (-). Depuis la version 1.15.0profile[email][value]string (255)✅ OuiAdresse email de contact. Depuis la version 1.15.0profile[phone][value]string✅ OuiNuméro de téléphone international. Depuis la version 1.15.0languagestring✅ OuiLangue préférée du marchand. Note : utilisez GET /api/locale pour les valeurs disponibles.accountTypeenum✅ OuiType de profil marchand à créer. Note : utilisez GET /api/merchant-enrollment/account-type.activitySectorUUID (36)✅ OuiSecteur d’activité du marchand. Note : utilisez GET /api/nauth/enrollment-claim/activity-sector.activityAgeUUID (36)✅ Oui, si type = LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSAncienneté de l’activité. Note : utilisez GET /api/nauth/enrollment-claim/activity-age.feeScheduleUUID (36)✅ OuiGrille tarifaire à appliquer. Note : obtenez les identifiants via POST /api/merchant-enrollment/fee-schedule.identityBadgeUUID✅ Oui, si enrôlement via SIRENIdentifiant SIREN (activant le parcours simplifié).contractUUID✅ Oui, si accountType = STANDARDContrat à appliquer. Note : utilisez GET /api/merchant-enrollment/contract. 2.2. Champs avancés (optionnels) Personnalisation du parcours ChampValeur par défautDescriptionworkflowModeSEQUENTIALMode de déroulement du parcours (seul le mode SEQUENTIAL est désormais disponible).Note : valeurs valides : SEQUENTIALtype—Type juridique : INDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITY.Note : conditionne la structure du parcours.subType—Sous-type recommandé selon type.Note :Pour INDIVIDUAL_WITH_STATUS : SOLE_TRADER, MERCHANT, ARTISANPour LEGAL_ENTITY : ASSOCIATION, PUBLIC, COMMERCIAL, EIG, CIVILturnoverIsFixedfalseSi true, verrouille la déclaration de chiffre d’affaires.Note : facultatif Paramètres de communication ChampValeur par défautDescriptionsendClaimEmailtrueEnvoie l’e-mail d’enrôlement avec le lien portail.allowedEmailCommunicationtrueSi false, désactive tous les envois d’e-mails pendant le parcours d’onboarding.sendProfileCreationEmailfalseEnvoie un email à l’utilisateur une fois le profil complété.sendAccountCreationEmailtrueEnvoie un email une fois le profil Marchand CentralPay activé. Données personnelles Tous les champs ci-dessous sont facultatifs mais permettent de pré-renseigner la constitution du profil utilisateur du futur titulaire du compte. ChampTypeDescriptionprofile[nationality][country]string (3)Nationalité (format ISO 3166-1 alpha-3).profile[birthday][value]dateDate de naissance.Validation : ≥ 18 ans, ≤ 110 ansprofile[place_of_birth][value]stringLieu de naissance.profile[country_of_birth][country]string (3)Pays de naissance (ISO 3166-1 alpha-3).birthdayConfirmation[value]dateRequis uniquement si le marchand est affilié à un agent.Format : YYYY-MM-DD Adresse (optionnelle) Ces champs peuvent être fournis pour pré-remplir l’adresse du titulaire. ChampTypeDescriptionprofile[address][nameLine1]string(255)Ligne 1 de l’adresse.Contraintes : ^[a-zA-Z0-9\\p{L} ´'\\-]{1,255}$profile[address][locality]string(255)Ville.profile[address][postalCode]string(20)Code postal.profile[address][country]string(3)Pays (ISO 3166-1 alpha-3). Autres options ChampTypeDescriptioncontractUUID (36)Contrat à appliquer.Obligatoire si accountType = STANDARD.Note : GET /api/merchant-enrollment/contractcguUUID (36)CGU à appliquer.Note : POST /api/merchant-enrollment/cguDepuis version 1.18.0customReferencestring (100)Référence personnalisée (usage interne).payoutProfileUUID (36)Profil de versement à associer.Note : POST /api/merchant-enrollment/payout-profileadministrativeContactstring (255)Contact administratif référent.Depuis version 1.18.0technicalContactstring (255)Contact technique.Depuis version 1.18.0financialContactstring (255)Contact financier.Depuis version 1.18.0addSecurityReferenceboolAffiche une référence de sécurité lors de la validation du contrat.Uniquement valable pour : STANDARD, PARTNER, RESELLER.Défaut : falsehookUUIDIdentifiant de webhook à notifier.Note : voir onglet Full API reference pour obtenir les valeurs possibles. Compléter un enrôlement Une fois la demande d’enrôlement créée, le titulaire du futur compte peut finaliser son parcours de deux manières : via le portail CentralPay ou par intégration complète à l’API. 1. Option 1 – Compléter l’enrôlement via le portail CentralPay Le lien d’accès à l’onboarding (généré ou reconstruit lors de la création d’enrôlement) permet au futur titulaire de compte de renseigner ses informations et d’uploader les documents demandés depuis l’interface CentralPay, de manière autonome. Vous êtes notifié automatiquement à chaque étape de l’enrôlement ou uniquement à sa finalisation (selon votre paramétrage webhook) Une fois le parcours complété par l’utilisateur, les données sont transmises aux équipes conformité de CentralPay pour validation Dans certains cas, des documents complémentaires pourront être requis par les analystes CentralPay 2. Option 2 – Compléter l’enrôlement par API Il est également possible de piloter l’ensemble du parcours d’enrôlement via API, étape par étape. Le processus suit 4 grandes phases : Compléter le profil Déterminer le workflow Compléter le workflow Finaliser l’enrôlement 2.1. Compléter le profil Statut du profil Un profil commence toujours avec un statut workflow.status = « ON_GOING ». Pour être considéré comme complété, ce statut doit devenir ACCEPTED. ⚠️ En mode SEQUENTIAL, ce statut peut revenir à ON_GOING lors du déblocage de questions supplémentaires. Il convient de le recontrôler à chaque étape. Obtenir la première activité à compléter Récupérer l’activityUuid via : GET /api/nauth/merchant-enrollment/{enrollmentId} Parcourir : profile.workflow.activities[0].uuid Puis interroger : GET /api/nauth/profile/{activityUuid}/activity Soumettre les données Envoyer les données attendues via un formulaire : POST /api/nauth/profile/{activityUuid}/activityContent-Type : multipart/form-data Exemple de champs attendus (activité « Identity Informations ») : ChampTypeContraintesfirstname[value]string255 caractèreslastname[value]string255 caractèresmail[value]stringEmail validephone[value]stringNuméro international (min. 10 caractères)birthday[value]stringDate au format YYYY-MM-DD, entre 18 et 110 ansplace_of_birth[value]string—country_of_birth[country]stringISO 3166-1 alpha-3 Autres types d’activité possibles : Domiciliations : informations d’adresse Pièce d’identité : type (IDENTITY_CARD, PASSPORT) + documents (2 fichiers pour carte, 1 pour passeport) Répétez ce processus tant que le statut d’une activité reste « TODO ». 2.2. Déterminer le workflow Cette étape débloque la suite du parcours (collecte de documents, justificatifs, etc.). POST /api/merchant-enrollment/{enrollmentUuid}/activity/{uuid} Payload attendu : ChampTypeObligatoireNotestypeEnum✅ OuiINDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITYbankAccountInEEACountrybool✅ Oui—turnoverUUID (36)✅ OuiPOST /api/nauth/enrollment-claim/turnovercompanyNamestring(255)Oui, si LEGAL_ENTITY—activityAgeUUID (36)Oui, si LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSGET /api/nauth/enrollment-claim/activity-agesubTypeENUMRecommandéDépend du type (voir détails ci-dessous)isCompanyboolOui, si LEGAL_ENTITY— Si vous avez utilisé un identityBadge (enrôlement via SIREN), cette étape est automatiquement sautée : le workflow est déjà déterminé. 2.3. Compléter le workflow Chaque étape du workflow suit la même logique que celle du profil. Types de step possibles : FORM : champs à renseigner via key[value] API_CALL : traitement externe VALIDATION : action manuelle par les équipes CentralPay ENDED : étape finalisée Exemple : pour le champ company_legal_status, il faut envoyer company_legal_status[value]. Les endpoints utilisés sont : POST /api/merchant-enrollment/{merchantUuid}/activity/{uuid} POST /api/merchant-enrollment/{uuid}/complete Validation d'un enrôlement Une fois toutes les étapes du profil et du workflow complétées (que ce soit via le portail d’onboarding CentralPay ou par API), l’enrôlement entre en phase de vérification par les équipes conformité de CentralPay. 1. Vérification par le service conformité Les analystes procèdent à une analyse complète des informations et documents collectés au cours du parcours. Cette étape peut mener à l’une des décisions suivantes : 1.1 Validation de l’enrôlement Si les éléments fournis sont complets, lisibles et conformes aux obligations réglementaires, l’enrôlement est validé. CentralPay procède alors automatiquement à la création : Du profil Marchand CentralPay (Merchant) Du compte de paiement (Wallet) Du profil utilisateur légal du profil Marchand CentralPay (BO User) ℹ️ Ces entités sont accessibles immédiatement depuis vos outils de supervision (portail ou API). 1.2. Demande de compléments Si certaines pièces sont manquantes, floues, expirées ou incohérentes, une demande de documents complémentaires peut être émise par le service conformité. Cette demande est : Soit transmise par email directement au futur titulaire du compte Soit affichée dans le portail d’onboarding CentralPay, si la demande le permet ℹ️ L’utilisateur pourra compléter les pièces demandées pour relancer la vérification. 1.3. Refus de l’enrôlement Dans certains cas (documents non valides, identité invalide, incohérences non résolues, risque trop élevé), l’ouverture du compte peut être refusée. Aucune entité CentralPay (BO User, Wallet, Merchant) n’est alors créée. 2. Notifications via webhook Quel que soit le scénario de sortie (validation, complément ou refus), vous êtes notifié en temps réel via les webhooks configurés. Cela vous permet de : Suivre les enrôlements au fil de l’eau Adapter votre UX si l’enrôlement est refusé ou en attente Déclencher des actions internes (création CRM, attribution, etc.) Compte de Monnaie Électronique limité CentralPay permet la création de comptes de monnaie électronique (Wallets) pour stocker et utiliser des valeurs numériques. Deux parcours complémentaires sont proposés : Création rapide d’un Wallet sans KYC (compte limité) : accessible immédiatement avec des plafonds réglementaires Déplafonnement du Wallet via enrôlement KYC (compte vérifié) : levée des limites après vérification des documents Ce fonctionnement est adapté aux parcours progressifs : un utilisateur peut créer un compte limité pour un premier usage, puis être invité à compléter son profil pour accéder à l’ensemble des fonctionnalités. 1. Création d’un compte de Monnaie Électronique limité CentralPay permet la création de comptes de monnaie électronique utilisables immédiatement, sans collecte de documents, dans un cadre réglementaire strict. Les comptes de monnaie électronique limités sont réservés aux individuels (personnes physiques). Les personnes morales ne peuvent pas disposer de ce type de compte. 1.1. Limites réglementaires Solde maximal : 150 € Encaissement glissant : 150 € sur 30 jours Ce seuil s’appuie sur les dispositions de l’article R561-16 du Code monétaire et financier concernant les comptes de monnaie électronique non vérifiés. ℹ️ Ce type de compte peut ensuite être déplafonné par enrôlement KYC (voir plus bas). 1.2. Étape 1 – Créer un Customer Le Wallet doit être rattaché à un objet Customer représentant l’utilisateur final (voir Profils Clients) 1.3. Étape 2 – Créer un Wallet POST /wallets Champs obligatoires ChampTypeDescriptionNotecustomerIdUUIDIdentifiant du CustomerRequis sauf si merchantId est fournicurrencystring (3)Devise du Wallet (ex. "EUR")ISO 4217 – format 3 lettres Champs optionnels ChampTypeDescriptionreferencestringRéférence métieractivationDatedateDate d’activationexpirationDatedateDate d’expirationadditionalDataobjectDonnées personnalisées (JSON) 1.4. Étapes complémentaires – Gérer un Wallet limité Une fois un Wallet créé, CentralPay vous permet de : le modifier (ex. : ajouter une date d’expiration, une référence, un Merchant) le consulter en détail lister les Wallets existants pour un Customer ou Merchant 2. Modifier un Wallet POST /wallets/{walletId} Ce service permet de mettre à jour certains attributs du Wallet sans le recréer. Champs obligatoires ChampTypeDescriptionNotewalletIdUUIDIdentifiant du Wallet à mettre à jourRequis dans l’URL et/ou le corps de requête Champs optionnels ChampTypeDescriptionNotereferencestringRéférence personnalisée du Wallet—expirationDatedateDate d’expiration du WalletYYYY-MM-DDactivationDatedateDate d’activation du WalletYYYY-MM-DDadditionalDataobjectDonnées métier structurées (clé/valeur JSON)—merchantIdUUIDPour rattacher un Wallet à un Merchant spécifiqueFacultatif – à ne pas confondre avec customerId 3. Consulter un Wallet GET /wallets/{walletId} Ce service permet de récupérer les informations détaillées d’un Wallet existant. Paramètres requis ChampTypeDescriptionNotewalletIdUUID (36)Identifiant du WalletLe Wallet doit appartenir au Merchant connecté ou à l’un de ses sous-marchands Description des champs ChampTypeDescriptionNotecurrencystringDevise du WalletISO 4217 (ex. EUR)available[].amountintSolde disponible en centimesEx. : 10500 = 105,00 €pending[].amountintSolde en attente (transactions en cours)—referencestringRéférence du WalletFacultatifadditionalDataobjectDonnées personnaliséesJSON libre 4. Lister les Wallets d’un Customer GET /wallets Permet d’obtenir la liste des Wallets créés pour un même Customer. Paramètres requis ChampTypeDescriptioncustomerIdUUIDIdentifiant du CustomercurrencystringDevise (ex. "EUR") Paramètres optionnels ChampTypeDescriptionNoteafterstringNe retourner que les Wallets créés après cette dateFormat ISO 8601beforestringNe retourner que les Wallets créés avant cette dateFormat ISO 8601limitstringNombre d’éléments par pageDéfaut : 10pagestringIndex de la pageDéfaut : 1 5. Schéma de création d’un compte de ME limité Déplafonner un compte de Monnaie Électronique Un Wallet peut être converti en compte vérifié (limites levées) via un enrôlement complet, déclenché par l’API. 1. Étape 1 – Créer un enrôlement POST /merchant-enrollments Vous devez inclure le walletId du Wallet limité existant. Champs obligatoires ChampTypeDescriptionNotewalletIdUUIDLien avec le Wallet ME à déplafonnerUUID valideprofile[firstname][value]string (255)PrénomAlpha + -profile[lastname][value]string (255)NomAlpha + -profile[email][value]string (255)Email de contact—profile[phone][value]string (15)Téléphone international—profile[birthday][value]date (YYYY-MM-DD)Date de naissanceEntre 18 et 110 ansprofile[place_of_birth][value]string (255)Lieu de naissance—profile[country_of_birth][country]string (3)Pays de naissanceISO 3166-1 alpha-3languagestring (3)"fr" ou "en"—accountTypestring"BASIC"—typestring"INDIVIDUAL"—activitySectorUUID (36)Secteur d’activitéGET /api/nauth/enrollment-claim/activity-sectorfeeScheduleUUID (36)Grille tarifairePOST /api/merchant-enrollment/fee-scheduleturnoverUUID (36)CA annuel attenduPOST /api/nauth/enrollment-claim/turnoverworkflowDefinitionUUIDModèle de workflowfournie par CentralPayprofileWorkflowDefinitionUUIDModèle de profilfournie par CentralPayworkflowModestring"SEQUENTIAL"RequisallowedEmailCommunicationbooleanConsentement à recevoir des emailstrue ou false Champs facultatifs ChampTypeDescriptionsendClaimEmailbooleanEnvoi de l’e-mail d’enrôlement (défaut : true)sendProfileCreationEmailbooleanEmail après profil complétésendAccountCreationEmailbooleanEmail à l’ouverture du compte vérifiécustomReferencestringRéférence internetechnicalContact, administrativeContact, financialContactstring(255)Contacts métiersaddSecurityReferencebooleanAffiche une référence sécurité (pour STANDARD, PARTNER, RESELLER)hookUUIDHook techniquebirthdayConfirmation[value]dateSi affilié à un agent 2. Étape 2 – Compléter un enrôlement KYC (via autocomplete) Pour accélérer le processus d’enrôlement, vous pouvez compléter d’un seul coup toutes les données attendues en appelant : POST /merchant-enrollment/{uuid}/autocomplete Adresse de résidence ChampTypeObligatoireDescriptionNoteaddress[nameLine1]string✅ OuiNuméro et nom de rue—address[locality]string✅ OuiVille de résidence—address[postalCode]string✅ OuiCode postal—address[country]string✅ OuiPays de résidenceISO 3166-1 alpha-3 Document d’identité ChampTypeObligatoireDescriptionNoteidentityDocument[type]string✅ OuiType de documentIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]fichier✅ OuiRecto ou scan principalJPG, JPEG ou PNGidentityDocument[documents][1]fichier✅ Oui, si IDENTITY_CARDVerso ou page complémentaireJPG, JPEG ou PNGidentityDocument[issuingCountry]string✅ OuiPays émetteurISO 3166-1 alpha-3identityDocument[expiryDate]string❌ NonDate d’expirationFormat YYYY-MM-DDidentityDocument[checkId]string❌ NonID de contrôle (Onfido)—identityDocument[documentNumber]string❌ NonNuméro du document—identityDocument[mrzLine1]string❌ NonLigne MRZ 1—identityDocument[mrzLine2]string❌ NonLigne MRZ 2— Cas particuliers ChampObligatoireConditionDescriptionidentityDocument[proofOfIdentityDocument]✅ Ouisi type = IDENTITY_DOCUMENT_RECEIPTJustificatif visuel du récépisséidentityDocument[proofOfIdentityDocuments][*]✅ OuiidemPlusieurs fichiers si applicableidentityDocument[proofOfIdentityDocumentExpiryDate]✅ Ouisi fichier proofOfIdentityDocument fourniFormat YYYY-MM-DD Données bancaires (facultatif mais recommandé) ChampTypeObligatoireDescriptionNoteiban[value]string❌ NonIBAN à vérifierFormat IBAN validebic[value]string❌ NonCode BIC/SWIFT—ibanDocument[document]fichier❌ NonJustificatif bancaire (RIB, relevé)JPG, JPEG ou PNG Données KYC complémentaires (riskData) Tous les champs suivants sont requis sauf mention contraire. ChampTypeObligatoireDescriptionNoteriskData[isPep]bool✅ OuiPersonne politiquement exposée ?défaut : falseriskData[isInSanctionList]bool✅ OuiAppartient à une liste de sanctions ?défaut : falseriskData[residentAlpha3Code]string✅ OuiPays de résidenceISO 3166-1 alpha-3riskData[isHighRiskResident]bool✅ OuiPays de résidence à risque ?—riskData[nationalityAlpha3Code]string✅ OuiNationalitéISO 3166-1 alpha-3riskData[isHighRiskNationality]bool✅ OuiNationalité à risque ?—riskData[isHighRiskMCCActivitySector]bool✅ OuiSecteur MCC à risque ?—riskData[MCCActivitySector]int✅ OuiCode MCC (NAF ou secteur)—riskData[monthlyLimit]int✅ OuiLimite mensuelle déclarée (en centimes)Ex. 150000 = 1500,00 €riskData[monthlyLimitCurrencyAlphabeticCode]string✅ OuiDevise (ex. EUR)ISO 4217riskData[isCrossBorderPayment]bool❌ NonPaiements transfrontaliers ?Défaut : trueriskData[declaredMonthlyRevenue]int❌ NonRevenus déclarés (en centimes)—riskData[verifiedMonthlyRevenue]int✅ Oui, si full KYCRevenus vérifiés— Documents complémentaires (si requis) ChampTypeObligatoireDescriptionNoteproofOfAddressDocument[documents][0]fichier✅ Oui, si profil à risqueJustificatif de domicileJPG, JPEG ou PNGincomeDocument[document]fichier✅ Oui, si full KYC requisJustificatif de revenus (1 doc)JPG, JPEG ou PNGincomeDocument[documents][*]fichier✅ Oui, si full KYC requisPlusieurs fichiers possiblesJPG, JPEG ou PNG Autres documents (si nécessaires à la levée de limite) ChampTypeDescriptionNotesadditionalDocuments[X]['type']stringType du document transmisEx. : UBO_DECLARATION, PROOF_OF_VAT_REGISTRATION, LICENSING_AGREEMENT, etc.additionalDocuments[X]['documents'][X]fichierFichier transmisFormat : JPG, JPEG, PNG ℹ️ La liste complète des types de document acceptés est documentée dans l'Open API. Données libres (obligatoire même vide) ChampTypeObligatoireDescriptionmetaDataJSON object✅ OuiMétadonnées libres, au format {"key": "value"} (peut être vide) 3. Étape 3 – Corriger un enrôlement rejeté (autoupdate) Lorsque le service conformité refuse un ou plusieurs documents (ex. : carte d’identité floue, pièce expirée), vous pouvez soumettre uniquement les éléments refusés via une requête d’auto-mise à jour. POST /merchant-enrollment/{uuid}/autoupdate Correction de document d’identité ChampTypeObligatoireDescriptionNoteidentityDocument[type]string✅ OuiType de document à corrigerIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]fichier✅ OuiRecto du document (ou fichier unique)JPG, JPEG ou PNGidentityDocument[documents][1]fichier✅ Oui, si type = IDENTITY_CARDVerso de la CNIJPG, JPEG ou PNGidentityDocument[issuingCountry]string✅ Oui, si document transmisPays émetteurISO 3166-1 alpha-3 Document d’identité complémentaire (si requis) ChampTypeObligatoireDescriptioncomplementaryIdentityDocument[documents][0]fichier✅ Oui, si exigéScan ou photo supplémentairecomplementaryIdentityDocument[expiryDate]string✅ OuiDate d’expiration (YYYY-MM-DD)complementaryIdentityDocument[documentNumber]string✅ OuiNuméro du documentcomplementaryIdentityDocument[mrzLine1]string✅ OuiMRZ ligne 1complementaryIdentityDocument[mrzLine2]string✅ OuiMRZ ligne 2complementaryIdentityDocument[issuingCountry]string✅ OuiPays émetteur (ISO alpha-3) Documents de revenus ChampTypeObligatoireDescriptionincomeDocument[document]fichier✅ Oui, si requisFichier unique JPG/JPEG/PNGincomeDocument[documents][*]fichier✅ Oui, si multiples attendusPlusieurs documents par index ([0], [1], etc.) Compléments d’information personnelle ChampTypeObligatoireDescriptionprofile[firstname][value]string❌ NonPrénomprofile[lastname][value]string❌ NonNomprofile[birthday][value]string❌ NonDate de naissanceprofile[place_of_birth][value]string❌ NonLieu de naissanceprofile[country_of_birth][country]string❌ NonPays de naissance (ISO 3166-1 alpha-3) Correction d’adresse (si refusée) ChampTypeObligatoireDescriptionprofile[address][nameLine1]string❌ NonAdresse – ligne 1profile[address][postalCode]string❌ NonCode postalprofile[address][country]string❌ NonPays (ISO alpha-3)profile[address][locality]string❌ NonVille Mise à jour des données KYC (riskData) Tous les champs suivants sont requis sauf mention contraire. Ils doivent être renvoyés à l’identique ou mis à jour si modifiés dans le cadre de la correction. ChampTypeObligatoireDescriptionNoteriskData[isPep]boolean✅ OuiPEP ?défaut : falseriskData[isInSanctionList]boolean✅ OuiSur une liste de sanctions ?défaut : falseriskData[residentAlpha3Code]string✅ OuiPays de résidenceISO alpha-3riskData[isHighRiskResident]boolean✅ OuiPays de résidence à risque ?—riskData[nationalityAlpha3Code]string✅ OuiNationalitéISO alpha-3riskData[isHighRiskNationality]boolean✅ OuiNationalité à risque ?—riskData[isHighRiskMCCActivitySector]boolean✅ OuiSecteur à risque ?—riskData[MCCActivitySector]int✅ OuiCode MCC métier—riskData[monthlyLimit]int✅ OuiLimite mensuelle (en centimes)[0 ; 190000]riskData[monthlyLimitCurrencyAlphabeticCode]string✅ OuiDevise (ex. EUR)ISO 4217riskData[isCrossBorderPayment]boolean❌ NonPaiements transfrontaliersdéfaut : trueriskData[declaredMonthlyRevenue]int❌ NonRevenus déclarés—riskData[verifiedMonthlyRevenue]int✅ Oui, si full KYCRevenus vérifiés (centimes) Documents additionnels (optionnels ou exigés) ChampTypeObligatoireDescriptionadditionalDocuments[X]['type']string✅ Oui, si documents attendusType du justificatifadditionalDocuments[X]['documents'][X]fichier✅ OuiFichiers associés (JPG, JPEG, PNG) Autres champs ChampTypeObligatoireDescriptionfullKycboolean❌ NonPermet d’imposer un KYC complet ou simplifié (true / false) 4. Étape 4 – Suivre le statut d’un enrôlement Une fois un enrôlement créé et complété, vous pouvez à tout moment interroger son statut pour : Vérifier l’état d’avancement (ON_GOING, ACCEPTED, REFUSED) Suivre les étapes en attente dans le workflow Extraire les données de profil déjà soumises Récupérer un enrôlement GET /merchant-enrollment/{enrolmentId} Paramètres requis ChampTypeObligatoireDescriptionNoteenrolmentIdUUID (36)✅ OuiIdentifiant de l’enrôlement retourné lors de la création (POST /merchant-enrollments)Format UUID standard ℹ️ L’enrôlement doit appartenir à l’espace autorisé par vos identifiants API (marchand ou sous-marchand). Champs principaux de la réponse ChampTypeDescriptionuuidUUIDIdentifiant unique de l’enrôlementworkflow.statusstringStatut du processus (ON_GOING, ACCEPTED, REFUSED)workflow_modestring"SEQUENTIAL" ou "CONTINUAL"workflow.activities[]tableauListe des activités (étapes) encore à compléterprofile[...]objetDonnées de profil déjà soumises, avec leur statutconformity_statusstringÉtat de conformité global (ON_GOING, REVIEW, APPROVED, etc.)created_atdatetimeDate de création de l’enrôlementactivity_sector.namestringSecteur déclaré dans l’enrôlement À surveiller Tant qu’une activité a un state = TODO, l’enrôlement est incomplet Lorsqu’aucune activité n’est en attente et que le workflow.status = ACCEPTED, l’utilisateur est validé En cas de workflow.status = REFUSED, aucun Wallet vérifié ne sera généré 5. Schéma de validation KYC d’un compte de ME Retours, statuts et webhooks 1. Codes de retour liés à la création de profil marchand La création d’un profil marchand via l’API d’enrôlement déclenche un processus automatisé permettant à CentralPay de collecter et valider les informations nécessaires à l’ouverture du profil. En cas d’échec, une réponse d’erreur HTTP est retournée immédiatement à l’appel API, précisant le champ en erreur et la nature du rejet (donnée manquante, incohérente ou invalide). ⚠️ Il n'existe pas de table de codes de retour centralisée pour ces erreurs, car elles sont liées aux validations dynamiques effectuées par champ. L'erreur retournée est toujours structurée dans le corps de réponse et permet de corriger précisément le point bloquant. 2. Statuts liés aux enrôlements Consultez les Statuts Merchant Enrollment ➝ 3. Webhooks liés aux enrôlements Consultez les Webhooks d’Onboarding ➝ Transferts de paiements Informations générales La solution Easy Wallet 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 d’une plateforme Le transfert, permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique Selon le modèle de contractualisation CentralPay, les possibilités d’inscription et de transferts sont différentes. 1. 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 marchands participants Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay. Transfert indépendant 1. Créer un transfert (Create a Transfer) La fonction Create a Transfer permet aux marchands mandataires (Agents ou DME) de transférer des fonds entre deux comptes de leurs marchands participants. Ce transfert peut être initié : Par un Agent lorsque les comptes sont des comptes de paiement Par un DME lorsque les comptes sont des comptes de monnaie électronique 1.1. Cas d’usage Ce mécanisme permet par exemple : À un Agent d’orchestrer des débits et des crédits de fonds entre lui et ses marchands participants, ou vers des comptes destinataires définis À un DME d’opérer des transferts de monnaie électronique entre ses marchands participants (par exemple dans le cadre d’une place de marché C2C) CentralPay reste en charge de l’exécution effective des opérations, dans le cadre de la relation contractuelle avec les marchands participants. 1.2. Paramètres requis ChampTypeObligatoireDescriptiondestinationWalletIdUUID✅ OuiIdentifiant du compte Centralpay destinataire (appartenant à un marchand participant).amountInteger (en cents)✅ OuiMontant du transfert. Doit être strictement supérieur à 0.sourceIdUUID✅ Oui, si sourceType est renseignéIdentifiant de la source de fonds (ex. : transaction, virement, crédit, SDD).sourceTypeEnum✅ Oui, si sourceId est renseignéSource du transfert : TRANSACTION, SCT_TRANSACTION, CREDIT, SDD. 1.3. Paramètres optionnels ChampTypeDescriptionemissionWalletIdUUIDCompte émetteur si différent du compte principal du marchand mandataire.currencyCode ISODevise du transfert (si différente de celle du compte).feeIntegerMontant de la commission prélevée par le marchand mandataire, déduite du montant. Par défaut : 0.escrowDateDate ISODate à partir de laquelle le transfert devient effectif. Peut être utilisée pour définir une période de blocage temporaire.merchantTransferIdStringRéférence métier du marchand mandataire (max 100 caractères).transferGroupStringGroupe de rattachement pour regrouper plusieurs transferts.descriptionStringDescription libre (max 256 caractères).additionalDataKey/ValueDonnées complémentaires sous forme de paires clé/valeur (max 256 caractères par valeur).metaDataJSONMétadonnées complémentaires structurées.purposeCode / purposeMessageEnum / StringFinalité du transfert, selon une nomenclature standard. Voir la liste des codes. 1.4. Règles de validation Le destinationWalletId doit correspondre à un compte valide d’un marchand participant du mandataire Le sourceId ne peut être utilisé que si l’objet lié est dans un statut accepté (CAPTURE, CLEARED, etc.) Le montant autorisé dépend du solde disponible ou des fonds liés à la source (transaction, virement, etc.) 2. Fonctions complémentaires liées aux transferts Les marchands mandataires disposent de plusieurs fonctions de gestion post-création d’un transfert, leur permettant d’ajuster, consulter ou annuler une opération, sous conditions. 2.1. Modifier un transfert (Update a Transfer) Cette fonction permet de modifier certains paramètres d’un transfert existant, à condition qu’il ne soit pas encore exécuté (statut PENDING). Paramètres disponibles : ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert à modifier.merchantTransferIdString❌ NonRéférence marchand mandataire.escrowDateDate ISO❌ NonNouvelle date d’exécution différée.transferGroupString❌ NonRegroupement de transferts.descriptionString❌ NonDescription libre (max 256 caractères).additionalDataKey/Value❌ NonDonnées complémentaires.metaDataJSON❌ NonMétadonnées structurées. La modification de la date d’escrow est notamment utile dans les flux conditionnés (ex : marketplace, délais de rétractation…). 2.2. Annuler un transfert (Cancel a Transfer) Un transfert peut être annulé tant qu’il n’a pas encore été exécuté (statut PENDING). Cette annulation est irréversible : l’opération apparaîtra comme CANCEL dans les historiques du compte. Paramètres : ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert à annuler. ⚠️ Une fois que les fonds sont disponibles (statut TRANSFERRED), cette fonction n’est plus accessible. Il faudra alors utiliser un TransferReversal. 2.3. Consulter un transfert (Retrieve a Transfer) Permet d’obtenir l’ensemble des détails d’un transfert via son identifiant CentralPay. ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert. 2.4. Rechercher plusieurs transferts (List Transfers) Permet de rechercher une liste de transferts selon plusieurs critères. Tous les paramètres sont optionnels. ParamètreTypeDescriptionmerchantTransferIdString (100)Référence marchand mandataire.destinationWalletIdUUIDCompte destinataire.transferGroupStringGroupe de transferts.statusEnumPENDING, TRANSFERRED, CANCEL.after / beforeDate ISOFiltrer par date de création.limitIntegerNombre de résultats par page.pageIntegerIndex de la page de résultats. 3. Retourner un transfert exécuté (Transfer Reversal) Une fois un transfert exécuté (statut TRANSFERRED), il ne peut plus être annulé via la fonction Cancel. Il est alors nécessaire de passer par une opération dédiée appelée TransferReversal. Elle ne supprime pas le transfert d’origine : celui-ci reste visible, historisé et traçable. Cette fonction est accessible uniquement aux marchands mandataires (Agent pour les comptes de paiement, DME pour les comptes de monnaie électronique), et doit respecter les règles de disponibilité des fonds. 3.1. Conditions d’utilisation Le transfert initial doit : Être dans le statut TRANSFERRED Avoir des fonds disponibles dans le compte destinataire Ne pas avoir déjà été remboursé dans sa totalité via des opérations de reversal Le montant retourné doit être : Inférieur ou égal au solde disponible du compte destinataire Inférieur ou égal à la somme initialement transférée Diminué des éventuels reversals déjà effectués sur le transfert concerné 3.2. Créer un TransferReversal Permet de retourner un montant vers le compte émetteur d’origine. ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert d’origine.amountInteger✅ OuiMontant à rembourser (en centimes).merchantTransferReversalIdString❌ NonRéférence marchand mandataire pour le suivi.refundFeeBoolean❌ NonIndique si les frais du transfert initial sont remboursés (par défaut : true).feeInteger❌ NonMontant des frais associés au reversal.descriptionString❌ NonTexte libre explicatif (max. 256 caractères).escrowDateDate ISO❌ NonDate d’exécution différée si applicable.additionalDataKey/Value❌ NonPaires clé/valeur pour les besoins métier. ⚠️ Si le champ refundFee est défini à false, le montant des frais initiaux reste acquis et n’est pas restitué au compte source. Règles importantes : L’opération est visible dans les mouvements du compte (débit du compte destinataire, crédit du compte d’origine) Plusieurs reversals peuvent être effectués sur un même transfert, dans la limite du montant total initial Si les fonds ne sont pas disponibles, l’appel est rejeté avec une erreur explicite (insuffisance de solde ou montant trop élevé) 4. Fonctions complémentaires (TransferReversal) Ces fonctions permettent de gérer et consulter les opérations de retour de transfert exécuté (TransferReversal), une fois créées. 4.1. Modifier un TransferReversal (Update) Permet de modifier certaines informations sur un TransferReversal déjà créé. ChampTypeObligatoireDescriptiontransferReversalIdUUID✅ OuiIdentifiant du TransferReversal à modifiermerchantTransferReversalIdString❌ NonRéférence marchand mandataire pour le suividescriptionString❌ NonTexte explicatif libre (256 caractères max)escrowDateDate (ISO)❌ NonNouvelle date différée d’exécution, si applicableadditionalDataKey/Value❌ NonPaires clé/valeur pour usage métier spécifique Cette fonction est accessible uniquement au niveau PARTNER ou supérieur. 4.2. Consulter un TransferReversal (Retrieve) Permet de consulter les détails d’un TransferReversal à partir de son identifiant. ChampTypeObligatoireDescriptiontransferReversalIdUUID✅ OuiIdentifiant du TransferReversal à consulter L’objet retourné contient l’intégralité des informations métier, y compris : montant, date, statut, compte concerné, et historique de l’opération. 4.3. Rechercher des TransferReversals (List) Permet d’interroger l’historique des TransferReversal selon plusieurs critères. ParamètreTypeObligatoireDescriptionmerchantTransferReversalIdString❌ NonRéférence marchand mandataireafterDate ISO❌ NonRetourne les éléments créés après cette datebeforeDate ISO❌ NonRetourne les éléments créés avant cette datelimitInteger❌ NonNombre d’éléments à retourner (par défaut : 10)pageInteger❌ NonIndex de la page à retourner (par défaut : 1) Cette fonction permet un suivi complet des opérations de reversal liées à une activité donnée, y compris les cas de multiples retours partiels. Transfert via Transaction ou PaymentRequest Contrairement aux transferts indépendants, réservés aux Agents (pour les comptes de paiement) et aux Distributeurs de Monnaie Électronique (DME) (pour les comptes de monnaie électronique), les transferts via transaction sont accessibles à l’ensemble des modèles de partenariat, y compris aux Partenaires Techniques non régulés. Dans ce cadre, le partenaire transmet à CentralPay, au moment de la création d’une transaction (par carte, virement ou prélèvement), des données commerciales contextualisées (ex. : montant du panier, commission, identifiants des wallets destinataires…) ℹ️ L’appel API ne crée pas directement le mouvement financier : CentralPay instruit le transfert de manière autonome, après validation effective de la transaction (capture d’une opération carte, réception d’un virement, ou exécution d’un prélèvement SEPA). Le modèle de transfert conditionné permet de réaliser un mouvement de fonds à l’issue d’une transaction : carte, virement (SCT), ou prélèvement (SDD). Dans ce cas, le transfert est directement paramétré lors de la création de la transaction, via un champ dédié transfer[]. Cette méthode ne passe pas par l’endpoint /transfer, mais s’appuie sur les endpoints spécifiques des transactions concernées : /transaction pour les paiements par carte : Voir comment créer une transaction CARD ➝ /sctTransaction pour les virements reçus : Voir comment créer une transaction SCT ➝ /sddTransaction pour les prélèvements SEPA : Voir comment créer une transaction SDD ➝ /paymentRequest pour les demandes de paiement : Voir comment créer une demande de paiement ➝ Ce mode de fonctionnement garantit que les fonds sont uniquement transférés si la transaction est réussie. Le transfert devient alors une étape automatisée et synchronisée. 1. Conditions d’utilisation Le transfert est créé en même temps que la transaction (pas d’appel distinct) Il n’est exécuté qu’en cas de succès de la transaction source Il respecte les contraintes de la source (statut, solde disponible, date…) Il peut être instantané ou différé via le champ escrowDate 2. Paramétrer un transfert dans une transaction Dans les quatre cas de figure, la logique est identique : un tableau transfer[] est renseigné dans le corps de la requête lors de l’appel POST de création de la transaction. Les champs acceptés dans transfer[] sont les suivants : ChampTypeObligatoireDescriptiondestinationWalletIdUUID✅ OuiCompte CentralPay bénéficiaire. Doit appartenir à un marchand participant autorisé.amountInteger✅ OuiMontant du transfert en centimes.currencyString❌ NonDevise du transfert (si différente de la devise de la transaction).merchantTransferIdString❌ NonRéférence partenaire.feeInteger❌ NonFrais applicables (prélevés sur le montant brut).escrowDateDate ISO❌ NonDate différée d’exécution (si applicable).transferGroupString❌ NonIdentifiant de groupe pour les suivis agrégés.descriptionString❌ NonLibellé du transfert visible sur les relevés.additionalDataKV pairs❌ NonDonnées métier structurées (clé/valeur). ⚠️ Les règles de disponibilité des fonds (notamment après délai de capture ou de validation) doivent être respectées. Si la transaction est annulée ou échoue, aucun transfert n’est déclenché. Versement sortant pour tiers Le versement sortant pour un tiers permet de transférer des fonds depuis un compte de paiement ou monnaie électronique CentralPay vers le compte bancaire d’un marchand participant, en tant que mandataire CentralPay (Agent ou DME). Les partenaires (technique ou intégrateur) n’ont pas accès à cette fonction. 1. Objectif et périmètre Ce service permet de : Déclencher des versements manuels ou automatisés pour des marchands participants Cibler un compte bancaire autorisé par le marchand participant Utiliser un compte CentralPay comme source des fonds Le partenaire régulé reste à l’initiative technique du versement, mais les fonds sont toujours détenus et transférés par CentralPay, qui conserve la responsabilité de l’exécution. 2. Méthodes disponibles 2.1. L’API CentralPay Endpoint : /payout/byThirdParty➡️ Voir détails ci-dessous. 2.2. Le Portail Marchand CentralPay Accessible pour les comptes disposant des droits adéquats (Agent ou DME). Accéder à Comptes liés Sélectionner le marchand concerné Accéder à l’onglet Comptes bancaires Choisir le compte cible et déclencher le payout 3. Endpoint API : /payout/byThirdParty Ce service permet d’envoyer une instruction à CentralPay pour reverser une somme définie vers un compte bancaire rattaché à un marchand participant. 3.1. Limites d’usage 1 versement / jour / marchand participant / devise Compte bancaire cible validé par le marchand participant Versement uniquement sur fonds disponibles 3.2. Paramètres API (BODY) ParamètreTypeRequisDescriptioncurrencyISO 4217✅ OuiDevise du versement (doit correspondre au compte bancaire).destinationBankAccountIdUUID✅ OuiCompte bancaire bénéficiaire (lié au marchand participant).walletIdUUID❌ NonWallet source des fonds.amountInteger (en cents)❌ NonMontant à reverser. Si vide : solde maximum.merchantPayoutIdString❌ NonID de référence interne.descriptionString❌ NonTexte libre, visible dans le reporting.payoutReferenceString (max 35)❌ NonRéférence bancaire (visible sur l’opération bancaire).additionalDataMap❌ NonDonnées complémentaires (ex. : ID commande, segment, etc.).transitionWalletUUID❌ Non(cas avancé) wallet transitoire.customerIdUUID❌ NonIdentifiant client si cible non marchande. 4. Suivi des versements 4.1. Récupérer un payout Endpoint : /payout/byThirdParty/retrieveParamètre : payoutId (UUID) 4.2. Lister les payouts Endpoint : /payout/byThirdParty/listParamètre : walletId (UUID) 4.3. Statuts possibles : StatutSignificationPENDINGVersement en cours de traitementPAIDVersement exécuté avec succèsCANCELVersement annulé manuellement 5. Contraintes réglementaires Seuls les Agents et Distributeurs de Monnaie Électronique (DME) déclarés à l’ACPR via CentralPay peuvent initier ces versements Les partenaires doivent garantir que les données envoyées sont conformes à leur cadre contractuel et réglementaire CentralPay se réserve le droit de refuser un versement ou d’exiger des documents justificatifs en cas de doute sur l’opération Retours, statuts et webhooks 1. Codes de retour liés aux transferts Les transferts réalisés via l’API CentralPay (objet Transfer ou Transfer Reversal) sont des opérations internes entre deux porteurs de comptes CentralPay (ex : marchands, clients, partenaires). Ces opérations sont exécutées de manière synchrone ou quasi-immédiate. Contrairement aux transactions cartes ou virements bancaires, il n’y a pas de codes de retour bancaire associés à ces transferts internes. En cas d’échec, l’API retourne une erreur HTTP décrivant la cause du rejet (ex : solde insuffisant, compte inactif, devise incompatible…). Ces erreurs ne sont pas des statuts métier, mais des contrôles d’entrée empêchant la création du transfert. Une fois le transfert accepté, il suit un cycle de vie propre. 2. Statuts liés aux transferts Consultez les Statuts Transfer ➝ Consultez les Statuts Transfer Reversal ➝ Consultez les Statuts Payout (valables également pour PayoutByThirdParty) ➝ 3. Webhooks liés aux transferts Consultez les Webhooks Transfer ➝ Consultez les Webhooks Transfer Reversal ➝ Consultez les Webhooks Payout (valables également pour PayoutByThirdParty) ➝ Plugin CMS WooCommerce Ce guide vous accompagne dans l’installation, la configuration et l’utilisation du plugin CentralPay pour WooCommerce (WordPress). ℹ️ La plateforme CentralPay prend en charge différents moyens (carte, virement et prélèvement SEPA, initiation de paiement) et modes de paiement (paiement en une fois, abonnement, en plusieurs fois, etc.). Ce plugin permet uniquement l'encaissement de transactions cartes unitaires. 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 Pour WooCommerce ➝ Télécharger l’archive ZIP du plugin CentralPay ⚠️ Veillez à ne pas la décompresser manuellement. 2. Installation sur WordPress Connectez-vous à votre interface d’administration WordPress Allez dans Extensions > Ajouter Cliquez sur Téléverser une extension Sélectionnez le fichier centralpay221.zip et cliquez sur Installer maintenant Une fois l’installation terminée, cliquez sur Activer l’extension 3. Configuration du module Allez dans WooCommerce > Réglages > Paiements Cliquez sur CentralPay pour accéder à la configuration Renseignez les champs suivants puis cliquez sur Enregistrer les modifications : ChampDescriptionAccès à la donnéeIdentifiant marchandIl s’agit de votre Merchant Public Key. Ne pas confondre avec le Merchant UUID.Portail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »Login APIIdentifiant de votre utilisateur API CentralPayPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Mot de passe APIMot de passe de votre utilisateur API CentralPayPortail Marchand 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 Marchand 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 profil marchand CentralPay de test)./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. Statut de commande Le plugin WooCommerce de CentralPay intègre automatiquement une URL de retour (return_url) dans le lien du formulaire de paiement. Cette URL permet de rediriger le client vers la page de confirmation de commande (/checkout/order-received/) et d’actualiser le statut de la commande en fonction du résultat du paiement. Si le client final ferme la fenêtre de paiement avant d’être redirigé, la mise à jour de la commande peut ne pas se déclencher correctement côté WooCommerce. Pour garantir la mise à jour fiable du statut de commande, nous recommandons de mettre en place un Hook (callback serveur à serveur) dans votre Backoffice CentralPay. Étapes de configuration : Accédez à :Production : https://backoffice.centralpay.net/admin/hook/Test : https://test-backoffice.centralpay.net/admin/hook/ Créez un Hook avec les paramètres suivants : Événement : Point de Vente > TRANSACTION_SUCCEDEED Affecté au Point de Vente : sélectionnez votre Point de Vente WooCommerce URL : https://votre-site-woocommerce.com/?wc-api=cpay_validation (Remplacez par l’URL de votre site WooCommerce.) Sauvegardez le Hook Le paramètre /?wc-api=cpay_validation est nécessaire pour que le plugin WooCommerce de CentralPay reconnaisse la notification et déclenche la mise à jour du statut de la commande. Cette configuration doit être réalisée à la fois dans votre environnement de test et sur votre profil marchand de production. 5. Personnalisation du logo Vous pouvez également personnaliser l’interface de paiement en ajoutant le logo de votre site via le Backoffice : Accédez à : https://backoffice.centralpay.net/admin/point_of_sale/ Dans le détail de votre Point de Vente, cliquez sur Modifier Importez votre logo dans la section Logo Ce logo sera affiché directement dans le formulaire de paiement pour une expérience utilisateur plus cohérente. 6. Mode test Activez le mode test dans la configuration (attention, vous devez disposer d’un profil marchand CentralPay de test et renseigner les identifiants de ce profil 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 7. 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 8. 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. 9. 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 10. 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. PrestaShop CentralPay propose un module d’encaissement par carte bancaire pour les boutiques Prestashop. Deux versions du module sont disponibles selon la version de votre CMS : Pour Prestashop 1.6 ➝ Télécharger le module 1.6 Pour Prestashop 1.7 ➝ Télécharger le module 1.7 1. Installation du module Prestashop v1.6 Connectez-vous au back-office Prestashop Menu Modules > Modules Cliquez sur « Ajouter un nouveau module » Chargez l’archive .zip puis cliquez sur « Installer » Prestashop v1.7 Connectez-vous à l’administration de Prestashop Menu Modules > Modules Manager > Upload a module Déposez l’archive .zip ou cliquez pour la charger Terminez l’installation en suivant l’assistant 2. Configuration du module Après installation, accédez à la page de configuration du module : Modules Modules installés CentralPay Configurer Les champs suivants sont requis : ChampDescriptionOù trouver cette information ?Merchant Public KeyClé publique d’authentification APIPortail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »Login APIIdentifiant de votre utilisateur API CentralPayPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Secret Key (passeword API)Clé secrète API (à ne jamais diffuser)Portail Marchand 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 Marchand CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concernéEndpointURL de l’API CentralPayEn environnement de test : https://test-api.centralpay.net/En production : https://api.centralpay.net/DeviseDevise des paiements acceptésÀ configurer selon la boutique (EUR recommandé)Mode de paiementMode d’intégration technique du paiementLaisser la valeur par défaut « Direct Post »Affichage du formulaireAffichage du formulaire sur page dédiée ou dans la page panierChoisir l’affichage souhaité (conseillé : page dédiée pour la sécurité)Statut de commande après paiement réussiStatut que prendra la commande après une validation du paiement« Paiement accepté » (ou tout autre statut configuré dans Prestashop) ⚠️ Veillez à bien copier-coller la Merchant Public Key sans espaces ni caractères parasites. 3. Fonctionnement Lorsqu’un client choisit CentralPay comme moyen de paiement : Il est redirigé vers une page sécurisée (hébergée ou intégrée) Il saisit ses informations de carte bancaire Le paiement est autorisé par la banque (3D Secure inclus) La commande est validée dans Prestashop avec le statut défini Un webhook notifie automatiquement CentralPay et Prestashop de l’issue du paiement 4. Mode test / production En mode test, vous pouvez utiliser les cartes de test disponibles dans la documentation développeur En mode production, seuls les marchands activés (KYC validé) peuvent encaisser Le switch de mode s’effectue en modifiant l’Endpoint dans la configuration du module. 5. Support Pour toute question : Contactez le support CentralPay via le Portail Marchand > Aide & Support Ou directement via support.centralpay.com Magento 1. Téléchargement du module Pour Magento ➝ Télécharger le plugin (v1.0) ℹ️ Ce module est compatible avec Magento 1.7+ 2. Installation du plugin 2.1 Décompresser l’archive Décompressez le fichier .zip téléchargé. Vous obtiendrez les dossiers suivants : app/ js/ skin/ centralpay.sql (fichier SQL à exécuter) 2.2. Copier les fichiers Copiez l’ensemble des dossiers (app, js, skin) à la racine de votre instance Magento. Ils viendront automatiquement s’intégrer dans l’arborescence existante. 2.3. Exécuter le script SQL Exécutez le fichier centralpay.sql sur la base de données de votre site Magento. ⚠️ Utilisez phpMyAdmin ou tout autre outil de gestion de base pour importer ce fichier.⚠️ Pensez à sauvegarder votre base avant exécution. 3. Configuration du module Une fois le module installé, connectez-vous à votre interface d’administration Magento pour renseigner les paramètres CentralPay. 3.1. Accéder à la configuration Dans le menu d’administration Magento, rendez-vous dans : Stores Configuration Sales Payment Methods CentralPay 3.2. Paramètres à renseigner Champ dans MagentoDescriptionObligatoireAccès à la donnéeActiver CentralPayActive le module dans l’environnement Magento.✅ OuiMagentoTitreNom du moyen de paiement visible côté client.✅ OuiMagentoIdentifiant Marchand (merchantLogin)Identifiant d’API fourni par CentralPay.✅ OuiPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Mot de passe API (merchantPassword)Mot de passe API associé à l’identifiant.✅ OuiPortail Marchand 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 »Clé publique Marchand (merchantPublicKey)Clé de chiffrement utilisée pour sécuriser les données de carte.✅ OuiPortail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »ID du point de venteIdentifiant unique de votre point de vente (UUID)❌ NonPortail Marchand CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concernéURL de retour (returnUrl)Permet de rediriger le client vers Magento après paiement. Peut être laissé vide pour utiliser la redirection automatique.❌ NonMagentoMode Test (sandbox)Permet d’utiliser l’environnement de test CentralPay.❌ NonMagentoCommande en attenteStatut Magento utilisé si le paiement est en cours ou en attente (ex. : 3DS).❌ NonMagentoCommande validéeStatut Magento utilisé si le paiement est accepté.❌ NonMagento 4. Mode test et environnement de recette Le module propose une option de sandbox activable dans l’administration Magento. ℹ️ Utilisez l’environnement sandbox CentralPay pour simuler des paiements avant passage en production. N’oubliez pas d’utiliser les identifiants API de test (login, password, clé publique) fournis par CentralPay. 5. Expérience client Le client ajoute ses articles au panier et passe à la caisse Au moment du paiement, il choisit CentralPay comme méthode de paiement Il est redirigé vers l’interface de paiement CentralPay sécurisée Une fois le paiement effectué (ou refusé), il est redirigé vers votre site Magento Le statut de la commande est mis à jour automatiquement 6. Suivi des paiements Depuis Magento : vous pouvez consulter le statut des commandes et des paiements dans le back-office standard Depuis CentralPay : toutes les opérations sont également visibles dans votre interface CentralPay (transactions, remboursements, rejets, etc.) 7. Support technique Pour toute question : Consultez la documentation technique CentralPay : docs.centralpay.com Contactez notre support : support.centralpay.com Assistance disponible en français et en anglais. Bonnes pratiques Déclaration TVA par pays CentralPay n’identifie pas le pays TVA des acheteurs : cette responsabilité incombe au marchand. Pour justifier correctement vos déclarations, collectez le pays de l’acheteur, conservez vos preuves, et transmettez‑les à CentralPay afin qu’elles figurent dans vos exports et historiques de transaction. Public cible : marchands B2C vendant des biens ou services dans plusieurs pays de l’Union européenne. 1) Principe général La TVA applicable dépend du pays de résidence de l’acheteur (consommateur final), non du pays du marchand ni du moyen de paiement utilisé. Le marchand doit donc déterminer, conserver et déclarer le pays de son client afin d’appliquer la bonne TVA. CentralPay n’a ni la légitimité réglementaire ni la fiabilité technique pour déterminer ce pays à sa place. En clair : vous êtes responsable de collecter et de stocker les informations nécessaires à la détermination du pays TVA. 2) Pourquoi CentralPay ne peut pas déterminer le pays du client Les indices techniques accessibles à un PSP (carte, IP, etc.) ne permettent pas une identification fiable du pays de l’acheteur : Pays BIN (carte) : peu fiable pour la TVA. Les cartes de banques en ligne sont souvent émises dans un autre pays que celui du détenteur. Pays IP : faussé en cas d’utilisation de VPN, proxy, mobile ou cloud. Payeur ≠ Acheteur : la personne qui paie n’est pas forcément celle soumise à la TVA (ex. carte d’un proche ou d’un employeur). C’est pourquoi CentralPay ne réalise aucune analyse pour identifier le pays du client. Seul le marchand détient l’information fiscale valide. 3) Ce que vous devez faire en tant que marchand 3.1 Collecter le pays de l’acheteur Intégrez la sélection du pays de facturation dans votre tunnel de commande. Transmettez ces informations à CentralPay via l’API au moment de la transaction. 3.2 Transmettre le pays à CentralPay Type de donnéeChamp à renseignerDescriptionPays de l’acheteur (obligatoire)Customer > countryCode ISO 3166‑1 alpha‑2 du pays du client. ⚠️ Si vous n’alimentez pas Customer.country, CentralPay ne peut pas afficher ni exporter le pays de vos acheteurs. Vos exports ne permettront donc pas de justifier vos déclarations TVA. 4) Ce que CentralPay fournit dans les exports CentralPay met à disposition des exports comportant : ColonneSourceUsageCustomer > countryValeur transmise par le marchand via Customer > countryPreuve déclarative du marchand, à utiliser pour la TVA.Transaction > end_user_ipIP de l’acheteurIndice technique non probant.Transaction > card_countryPays de la carte utilisée par l’acheteurIndice technique non probant.sctTransaction > ibanIBAN de l’acheteur par virement bancaire (contenant le code pays)Indice technique non probant.bankAccount > ibanIBAN de l’acheteur par prélèvement SEPA (contenant le code pays)Indice technique non probant. Des exports personnalisés peuvent être mis en place si vous souhaitez inclure d’autres champs ou formats (SFTP, e‑mail…). 5) Bonnes pratiques de conformité TVA Toujours collecter le pays de facturation côté front (champ obligatoire ou déduit du profil client). Croiser au moins deux preuves non contradictoires pour chaque commande. Gérer les divergences : si les indices diffèrent (ex. IP ≠ carte), demandez un justificatif avant de facturer. Enregistrer les preuves pendant au moins 10 ans (durée légale pour les services numériques UE). Vous enregistrer à l’OSS/IOSS si vous vendez à des consommateurs dans plusieurs pays de l’UE. Relier facture, transaction et preuves pour chaque vente. 6) Exemples de cas SituationDonnées collectéesAction recommandéeAdresse = FR, BIN = FRDeux preuves concordantesFacturez avec TVA FRAdresse = FR, BIN = DE, IP = DEDivergenceDemandez un justificatif avant facturationAucun pays collectéDonnée manquanteNon‑conformité potentielle – corriger votre parcours 7) FAQ CentralPay peut‑il déterminer le pays à ma place ?Non. Nous exposons des indices (pays BIN, etc.), mais la décision et la preuve fiscale relèvent de vous. Puis‑je me baser uniquement sur le BIN ?Non, le BIN n’est pas une preuve fiable. Utilisez toujours le pays de facturation comme référence principale. Comment vérifier que mes exports sont complets ?Vérifiez la présence de buyer_country_declared dans vos fichiers. Si le champ est vide, votre front n’a pas transmis le pays. Merchant Initiated Transaction (MIT) Introduction Une Merchant-Initiated Transaction (MIT) est un paiement initié sans interaction du titulaire de la carte, réalisé dans le cadre d’un contrat préexistant entre le marchand et son client. Ce modèle s’applique aux facturations récurrentes, variables ou usage-based. Dans le cadre DSP2, une MIT peut être exemptée d’authentification SCA, à condition que : Le marchand dispose d’un mandat contractuel valide, Une transaction initiale CIT authentifiée (3DS) ait été réalisée. Les MIT reposent donc sur une authentification antérieure réussie associée à un Customer et à un cardToken. Documentation 3DS 2.2 (général) 1. CIT et MIT : quelle différence ? Customer-Initiated Transaction (CIT) Une transaction CIT est initiée par le titulaire de la carte. Elle implique généralement une authentification 3DS. Rôles de la CIT initiale dans un flux MIT : authentifier la carte et le porteur, valider la création d’un Customer, permettre la génération d’un cardToken, servir de référence aux MIT futures. Merchant-Initiated Transaction (MIT) Une MIT est déclenchée par le marchand sans intervention du porteur, conformément au mandat conclu avec le client. Cas d’usage : facturation mensuelle à montant variable, frais ponctuels supplémentaires, utilisation de type usage-based. 2. Conditions nécessaires pour effectuer des MIT Deux conditions doivent être réunies : 2.1. Exécution d’une CIT initiale authentifiée (3DS) Cette CIT doit être : authentifiée via 3DS, capturée, associée à un Customer et à un cardToken. 2.2. Existence d’un mandat commercial valide Le mandat doit couvrir : la nature des services, le montant futur (fixe ou variable), les conditions et fréquences de facturation, l’accord explicite du client sur les paiements ultérieurs. Documentation Formulaire de paiement CustomForm 3. Montant de la CIT initiale Il est parfaitement conforme de réaliser une CIT initiale avec un montant symbolique (par exemple 1 € ou 0,01 €) pour : authentifier la carte, valider le contrat commercial, générer un token utilisable pour des MIT ultérieures. La CIT initiale n’a pas à couvrir le montant réel des MIT futures. Remarque : Les transactions à 0€ type “vérification / empreinte carte authentifiée” fonctionnent pour certains schémas mais n’est pas universellement supporté par les banques partenaires, d’où la recommandation d’utiliser une transaction CIT authentifiée.Également, bien que la CIT symbolique soit techniquement acceptable, l’émetteur peut — en fonction de son profil de risque, du schéma ou de l’ancienneté — décider de déclencher un challenge 3DS lors d’une MIT ultérieure." 4. Durée de validité d’une CIT pour générer des MIT Il n’existe pas de limite imposée par CentralPay.La durée de validité dépend exclusivement : 4.1. De l’ACS émetteur (banque du porteur) Les pratiques observées dans le secteur : conservation de la preuve d’authentification : ≈ 13 mois, pour certains émetteurs : jusqu’à 36 mois. Après expiration de la preuve 3DS, les MIT peuvent faire l’objet : de soft declines, de demandes d’authentification, de rejets « SCA required ». 4.2. Du recours au 3DS 2.2 – 3RI Dans certains cas, le marchand peut renouveler une authentification côté émetteur via 3RI, afin de prolonger la durée de validité du mandat. Disponibilité schémas : CB : support opérationnel, Mastercard : support opérationnel, Visa : support en cours d’évolution, non fiable à date. Documentation 3DS 2.2 – 3RI 5. Une MIT peut-elle nécessiter une authentification 3DS ? Oui. Une MIT peut être exceptionnellement requalifiée en CIT par l’émetteur (ACS), notamment dans les cas suivants : ancienneté élevée de la CIT initiale, suspicion de fraude, règles RBA de l’émetteur, montants atypiques ou plus élevés que prévu. Réduire le risque de demande 3DS utiliser 3RI lorsque supporté, conserver un cadre contractuel clair, refaire une CIT en cas d’échecs répétés. Pour en savoir plus FAQ 3DS 2.2 6. Transactions MIT ou service d’abonnement de CentralPay : comment choisir ? Il n’est pas obligatoire de passer par le module Subscription pour effectuer des MIT. 6.1. Utiliser le service d’abonnement si : les montants sont fixes, la fréquence est récurrente, la logique est celle d’un abonnement. 6.2. Utiliser les transactions MIT si : les montants sont variables (usage-based model), les facturations sont ponctuelles, les débits doivent être initiés par le marchand. Documentation Transaction carte récurrente 7. Implémentation API : effectuer une transaction MIT 7.1. CIT initiale Lors de la transaction CIT : création d’un customer, génération d’un cardTokenId, authentification 3DS. 7.2. Transaction MIT Chaque transaction MIT doit inclure : customerId, cardTokenId (ou cardId), indication du contexte MIT dans les paramètres de transaction, les métadonnées utiles pour rattacher la MIT à la CIT initiale. Documentation Transaction carte récurrente > Abonnement depuis des transactions successives 8. Bonnes pratiques pour fiabiliser un flux MIT 8.1. Techniques déclencher les MIT peu après la facturation, regrouper les paiements lorsque pertinent, utiliser 3RI pour rafraîchir l’authentification, conserver un cardToken stable. 8.2. Gestion des refus en cas de code indiquant « SCA required »,proposer au client une nouvelle CIT (paiement manuel),recréer un mandat MIT. 8.3. Contractuelles conserver la preuve du mandat : CGV, logs d’acceptation, contrat, page d’information client. 9. FAQ MIT Une CIT de 1 € suffit-elle pour un mandat MIT ? Oui, si elle est authentifiée 3DS. Combien de temps une CIT permet-elle de générer des MIT ? Cela dépend de l’ACS : généralement 13 à 36 mois. Une MIT peut-elle déclencher 3DS ? Oui, si l’ACS l’exige (RBA, ancienneté de la CIT, montants atypiques). Dois-je utiliser Subscription pour des montants variables ? Non, le service subscription est généralement adapté à des modèles d’abonnements fixes. Réaliser une transaction CIT initiale + des transactions MIT ad-hoc est le modèle recommandé. Que faire si le client change de carte ? Une nouvelle CIT est nécessaire pour générer un nouveau token. Verification of Payee (VoP) À compter du 9 octobre 2025, la réglementation européenne impose aux banques de mettre en place la Verification of Payee (VoP) pour tous les virements SEPA (règlement IPR 2024/886, art. 5c). L’objectif est de protéger les consommateurs contre les fraudes à l’IBAN. 1. Fonctionnement Lorsqu’un virement est initié, la banque du payeur doit vérifier que le nom du bénéficiaire saisi correspond à celui associé à l’IBAN. Le résultat de cette vérification est affiché au payeur : MATCH : correspondance exacte CLOSE MATCH : correspondance partielle (ex. faute de frappe, abréviation, particule) NO MATCH : aucune correspondance CHECK NOT POSSIBLE : vérification impossible ⚠️ Le payeur reste libre de poursuivre ou non le virement.Cependant, un NO MATCH ou un CLOSE MATCH augmentent fortement le risque d’abandon de la transaction. 2. Impacts pour les marchands Afin d’éviter les rejets ou abandons de virements, il est essentiel de vérifier la cohérence du nom affiché à vos clients avec la raison sociale enregistrée sur votre compte CentralPay. Cas fréquents : Nom commercial / enseigne / marque → Si vous êtes connus sous un autre nom que votre raison sociale, transmettez-nous ces dénominations. Nous pourrons les déclarer manuellement afin d’améliorer le taux de correspondance. vIBAN CentralPay → Vérifiez que vos interfaces et supports affichent bien la raison sociale du titulaire CentralPay associé à l’IBAN. SmartForm (PaymentRequest) → Aucune action nécessaire : CentralPay affiche automatiquement le titulaire du compte. Devis, factures, communications externes → Assurez-vous que la raison sociale présentée est identique à celle du compte bancaire communiqué à vos clients. À retenir : - Vérifiez que votre raison sociale est correctement enregistrée et communiquée.- Transmettez à CentralPay vos noms commerciaux ou marques si vous souhaitez les faire reconnaître.- Harmonisez vos documents (factures, devis, emails) avec le nom officiel de votre compte bancaire.- Informez vos clients : * Lorsqu’ils effectuent un virement, le nom du bénéficiaire saisi doit correspondre strictement à votre raison sociale. * En cas d’alerte de type Close match ou No match dans leur application bancaire, invitez-les à vérifier le nom renseigné. FAQ - Verification Of Payee À compter du 9 octobre 2025, la Vérification du bénéficiaire (VoP – Verification of Payee) deviendra obligatoire pour tous les virements SEPA, qu’ils soient classiques ou instantanés. Ce dispositif, gratuit pour les utilisateurs, vise à renforcer la sécurité des paiements en réduisant à la fois : les fraudes au virement (notamment les fraudes au faux RIB), les erreurs de saisie d’IBAN ou de nom du bénéficiaire. Concrètement, avant l’exécution d’un virement, l’établissement du payeur doit interroger l’établissement du bénéficiaire pour vérifier la concordance entre l’IBAN et le nom du titulaire du compte. En cas de discordance, une alerte est affichée au payeur, qui conserve la liberté de poursuivre ou non l’opération. Enjeux du dispositif Protection des utilisateurs : limiter les virements mal orientés ou frauduleux. Sécurité du système de paiement SEPA : accompagner le déploiement du virement instantané en Europe. Confiance des entreprises et des particuliers : améliorer la transparence et la fiabilité des paiements. Harmonisation européenne : instaurer une norme commune pour tous les PSP (banques, établissements de paiement et de monnaie électronique). Base légale Règlement (UE) 2021/1230 sur les virements instantanés en euros et la modification du règlement (UE) n° 260/2012 (SEPA), qui introduit l’obligation de VoP. Règlement (UE) 2015/847 sur les informations accompagnant les transferts de fonds, qui impose la transmission exacte des informations sur le payeur et le bénéficiaire. Code monétaire et financier : Articles L.133-6 et L.133-7 relatifs à l’autorisation des opérations de paiement et à l’exactitude des informations, Articles L.561-5 et suivants relatifs aux obligations de vigilance en matière de LCB-FT. Doctrine de l’ACPR, qui dans plusieurs décisions a sanctionné l’insuffisance de dispositifs de vérification et de correspondance entre l’identité du client et son compte Foire aux questions (FAQ) 1. Qu’est-ce que la VoP ? La Vérification de l’Ordre de Paiement (VoP) est un service réglementaire instauré au niveau européen.Elle permet de comparer automatiquement le nom du bénéficiaire d’un virement avec l’IBAN renseigné par le payeur, avant l’exécution du virement.Objectif : renforcer la sécurité des paiements et réduire les fraudes (notamment fraude au faux RIB). 2. Qui est concerné ? Les payeurs : particuliers ou entreprises qui initient un virement. Les bénéficiaires : toute personne physique ou morale recevant des virements (vous, en tant que client CentralPay). Les prestataires de services de paiement (PSP) : banques, établissements de paiement ou de monnaie électronique, qui doivent intégrer la VoP dans leurs systèmes. 3. Comment fonctionne la VoP concrètement ? Lorsqu’un virement est initié : Le payeur saisit l’IBAN et le nom du bénéficiaire. Sa banque interroge le PSP du bénéficiaire (via un canal sécurisé) pour vérifier la concordance entre l’IBAN et le nom enregistré dans la base du bénéficiaire. La réponse est renvoyée au PSP du payeur et affichée au payeur. 4. Quels résultats peuvent apparaître ? Trois cas sont possibles : Correspondance exacte : l’IBAN et le nom concordent → le virement peut être initié sans alerte. Correspondance partielle : l’IBAN correspond mais le nom est différent (fautes de frappe, abréviation, orthographe différente). Le payeur reçoit un avertissement et peut : corriger le nom, ou confirmer qu’il s’agit bien du bénéficiaire attendu. Absence de correspondance : l’IBAN et le nom ne correspondent pas → le payeur reçoit une alerte forte. Il peut annuler ou décider de poursuivre en acceptant le risque. Est-ce que la VoP bloque un virement ? Non. La VoP ne bloque pas l’exécution d’un virement. Elle fournit une information supplémentaire au payeur qui reste libre de valider ou non l’opération.Toutefois, certaines banques peuvent paramétrer des règles internes de blocage en cas de discordance totale. Quels échanges ont lieu entre banques et PSP ? Le PSP du bénéficiaire (ex. CentralPay) conserve dans sa base le nom exact du titulaire du compte. Lors d’une requête VoP, il répond par un code standardisé indiquant : correspondance, correspondance partielle ou absence de correspondance. Ces échanges sont sécurisés, tracés et limités aux seules données nécessaires, conformément au Règlement (UE) 2015/847 sur l’accompagnement des virements. Aucune autre donnée personnelle (adresse, documents KYC, etc.) n’est transmise. Quels sont les avantages de la VoP ? Pour le payeur : réduction des risques de fraude au virement, détection des erreurs de saisie. Pour le bénéficiaire : limitation des retards de paiement liés aux erreurs, sécurisation de l’image vis-à-vis de ses clients. Pour le système financier : meilleure prévention des fraudes et conformité avec les standards européens. Que dois-je faire en tant que bénéficiaire CentralPay ? Communiquer à vos clients l’IBAN correct et le nom exact enregistré auprès de CentralPay (raison sociale complète, sans abréviation). Vérifier que vos factures, contrats et supports incluent toujours les mêmes coordonnées bancaires. En cas de changement de dénomination sociale ou d’utilisation d’un nom commercial, informer rapidement vos clients et CentralPay pour mettre à jour les données. Que se passe-t-il en cas de non-concordance fréquente ? Si vos clients rencontrent souvent des alertes VoP lors de virements, cela peut indiquer que vos coordonnées bancaires ne sont pas communiquées de façon homogène. CentralPay peut vous accompagner pour réviser et harmoniser vos informations de paiement afin d’éviter les frictions. Illustration du VoP par le CNMP
Documentation Articles Quick start guide > Merchant, accounts and sales channels Automations, integrations and exports Payment Links Card transaction Bank Transfer Transaction SEPA direct debit transaction Recurring payments 3DS 2.2 authentication Merchant management Payouts CMS Plugin Best practices Quick start guide > 1. Establishing a relationship To get started, explore our offerings and choose the best way to get in touch based on your project: Check out our pricing plans Present your project to our sales team Choose the customer onboarding model that best suits your business Learn about the steps to building a relationship 2. Creating your test merchant profile CentralPay provides you with a test environment (RCT) to develop and validate your integration: “Standard Merchant” test profile: To test only the Smart Collection payment solution, request a test merchant profile using our form “Partner Merchant or Agent” test profile: To test payment collection (Smart Collection) and payment transfers (Easy Wallet), please contact our customer service team. We will create and configure your test merchant profile accordingly. 3. Choosing your integration method Choose the integration method that best suits your needs: Smart Integration: Use payment requests and the CentralPay payment page to process your transactions. Customer flows are preconfigured for rapid deployment Custom Integration: Directly integrate API services for card transactions, SEPA credit transfers (SCT), and/or SEPA direct debits (SDD). This approach gives you full control over the customer experience, but requires more advanced development. 4. Setting up your merchant profile You can set up your CentralPay merchant profile on your own or with assistance from our support team. ℹ️ The settings configured in your test merchant profile (RCT) are not automatically replicated in production (PROD). Be sure to reconfigure them once your production profile is activated. Main settings: API authentication access Declaration of authorized domains (if using custom integration) Payment accounts and outgoing bank accounts Portal users Retail locations Webhooks SEPA creditor identifier (ICS) Secondary settings: Merchant profile contact emails Acceptance rules Outgoing payments Bank statement description Automatic notifications Smart form payment page Payment request templates Auto attempts. for failed card transactions Auto attempts. for failed SEPA direct debit transactions 5. Simulate payments Before going live, run customer payment simulations in your test profile (RCT) to verify the integration: Card: Use our test cards to simulate different transaction statuses SEPA Credit Transfer (SCT): Create one or more SCT transactions, then ask our support team to simulate their processing SEPA Direct Debit (SDD): Use a test IBAN/BIC provided in our documentation 6. Deployment Once your tests have been validated in the acceptance testing environment (RCT), prepare for the transition to production (PRD). ℹ️ Reminder: No settings are automatically copied from the RCT to the PROD environment. Retrieve the API credentials for the PROD environment Verify the production API URL Retrieve the merchantPublicKey to generate cardToken Notify CentralPay of any production deployment or major change Enter your website’s URL in your point-of-sale settings Check access to the support page from the Merchant Portal If necessary, you can make one or two live transactions for €1 to verify that the payment system is working properly in production. Merchant, accounts and sales channels Merchant Profile The Merchant Profile represents a Merchant technically and operationally within the CentralPay platform. It serves as the foundation for:• Its accounts: payment or electronic money accounts;• Its administration: API access, user profiles, available payment services;• Its technical configuration: webhooks, notifications, points of sale, acceptance rules, bank accounts;• Its regulatory file: KYC/KYB, AML-CFT, risk scoring, contracting, pricing schedule… The Merchant Profile corresponds to the API object Merchant and is created automatically after validation of its registration (via the API object Merchant-Enrollment). 1. Profile Types by Contractual Model Each Merchant type is associated with a specific contractual model. Standard Type : STANDARD The standard Merchant is a business or professional that collects payments for its own account. It has one or more payment accounts and can access CentralPay services via API or through a partner. 👉 Learn more about the Merchant model Integration Partner Type : INTEGRATOR The Integration Partner supports multiple standard Merchants in their technical integration with CentralPay. Each standard Merchant has its own point of sale and an individual contract. The Integrator uses the API access provided by each Merchant within the framework of a contractual relationship. May have a payment account and a commission account for its own needs A separate point of sale is created for each supported Merchant May perform API calls and technical actions via access delegated by the Merchant (monitoring Technical Instructions, configuration, RUN), without access to balances or authority to initiate/modify/execute a payment operation in its own name CentralPay invoices each Merchant directly 👉 Learn more about the Integrator Partner model MOBSP Integration Partner Type : INTEGRATOR + MOBSP The MOBSP Integration Partner is an Integrator with a regulatory mandate. It can initiate a relationship request on behalf of a standard Merchant and provide technical support via the onboarding API. Like any Integrator, it acts solely through the API access provided by the Merchant. Same rights and operation as an Integrator May initiate a complete enrollment request via API May support the merchant during enrollment 👉 Learn more about the MOBSP Integrator Partner model Technical Partner Type : TECHNIQUE The Technical Partner develops a shared solution (e.g., marketplace, SaaS platform) and operates from one or more points of sale opened in its name, to which standard Merchants can be attached. It uses its own API access to transmit commercial data and monitor operations linked to these points of sale, without ever having execution authority over payment operations. One or more points of sale may be used to consolidate merchant activities (e.g., marketplace, SaaS platform) CentralPay API access specific to the Technical Partner CentralPay invoices the Technical Partner Cannot initiate enrollment on behalf of and for the account of merchants (unless MOBSP framework applies) 👉 Learn more about the Technical Partner model MOBSP Technical Partner Type : TECHNIQUE + MOBSP The MOBSP Technical Partner is authorized to initiate a relationship request on behalf of its users. It can transmit the necessary information via the onboarding API but does not intervene in the execution of payment operations. Same rights and operation as a Technical Partner May initiate a complete enrollment request via API May support the merchant during enrollment 👉 Learn more about the MOBSP Technical Partner model EMD Agent Type : DME The EMD Agent (Electronic Money Distributor) transmits loading, transfer, or refund instructions in electronic money on behalf of Participants. It operates within the electronic money model (CUSTOM currencies) and may receive a commission on operations, without providing regulated payment services (e.g., SEPA transfer, direct debit, card). 👉 Learn more about the EMD Agent model PSP Agent Type : AGENT The PSP Agent is a Payment Service Provider (PSP) Agent registered with ACPR. It acts on behalf of and for the account of CentralPay within a strictly defined contractual scope. Depending on the model adopted (Simple Agent / Collecting Agent / Delegated Agent), it may support enrollment, perform certain level 1 KYC/KYB due diligence, and/or intervene in the collection, allocation, and provision of funds via mechanisms provided by CentralPay. CentralPay remains responsible for the payment services provided and regulatory controls. 👉 Learn more about the PSP Agent model Participant Type : BASIC The Participants are natural or legal persons who are clients of a CentralPay Intermediary Merchant (Agent or EMD). They have one or more payment accounts or electronic money accounts to receive funds issued by the Intermediary and can access the Merchant Portal to view their operations and manage their outgoing transfers. They operate to sell products or services, for LMNP activity, or for non-commercial needs (crowdfunding, personal wallet, collective projects, etc.). Participants open accounts with CentralPay. The relationship may be initiated and/or supported by the Intermediary Merchant, but regulated services remain provided by CentralPay. The framework for account usage is defined by the applicable CentralPay documents (and, where applicable, by the Intermediary’s Terms of Use for commercial conditions and the services it provides). 2. Contact Email Configuration You can customize the contact email addresses associated with your merchant profile so that notifications, reminders, or contractual communications are properly addressed to the right contacts. Contact email: primary contact for the merchant profile Administrative email: responsible for legal or contractual matters Technical email: responsible for integration or incidents Financial email: responsible for billing or banking flows ℹ️ By default, these addresses are initialized with the email of the merchant profile holder. They can be modified at any time from the Merchant Portal. Access to contact email configuration: Recette Merchant Portal Production Merchant Portal Customer profiles Customer profiles (Customer) unify and secure all your customer data for easier management. They interact with other CentralPay services and notably allow you to: Centralize their payment history (across all sales channels and payment methods) Digitize and securely store their payment methods (cards, SEPA mandates, virtual IBANs) Easily track their recurring payments (subscriptions, split payments) or pending settlements (payment requests) In certain cases, they can also be associated with an e-money account, allowing the customer to receive and use funds within the network of the e-money distributor partner. A Customer must be identified by either their email address or their phone number. It is also possible to declare other information concerning them, such as their last name, first name, language, personalized reference, default payment method, etc. 1. Usage Creating a Customer is mandatory for performing: Subscriptions or split payments by card 1-click card payments SEPA direct debit payments SEPA transfer payments with a dedicated Virtual IBAN Creating an anonymous e-money account 2. Interfaces You can view all Customers on your account from your Merchant Portal Account Customers Your Customers also have access to a customer portal allowing them to manage payments made to your company: Recette Merchant Portal – Customers Production Merchant Portal – Customers 3. Creating a Customer There are two methods for creating a Customer: Create a Customer via the dedicated API service, which then allows you to create a Card, manage a Virtual IBAN for this Customer, initiate a transaction, a payment request, etc. Create a Customer via a payment request CentralPay ensures Customer uniqueness: if you initiate a payment request with Customer creation while their email or phone number is already known in your account, CentralPay will not create a new Customer and will associate the transaction with the existing profile. Retail locations Points of sale (Point of Sales or POS) represent your various websites, stores, or sales teams. They allow you to segment the operations of your CentralPay accounts for the following purposes: Technical: You can configure different settings per point of sale (customer notifications, internal notifications, sender name for confirmation emails, logo displayed on the payment page, etc.) Administrative: You can restrict viewing or editing rights for your user profiles to specific points of sale Accounting: You can filter operations by point of sale in your Merchant Portal or in your data exports When your CentralPay Merchant profile is created, a first point of sale is automatically created. You can then access your Merchant Portal to configure it or create new ones: Recette Merchant Portal – Points of Sale Production Merchant Portal – Points of Sale 1. Settings Points of sale include a number of mandatory settings: General Settings Name: Point of sale name (visible to your customers) Site URL: If this is an e-commerce site, enter its URL. Otherwise, enter the URL of your corporate website. Point of sale country Configuration Technical type: Select « Remote sale » API users: Select the API users with access rights to this point of sale Contracts: Select the card VAD contract that has been configured for your merchant profile (generally, you will only have one contract available) Default contract: Select the card VAD contract that will be used by default (generally, you will only have one contract available) Priority Viban: If you want the Virtual IBANs displayed in payment requests to be those of the Customers, then select « Customer. » If you prefer to display Virtual IBANs dedicated to each payment request, then select « SCT. » If you need additional information, consult our section on Virtual IBANs Other settings are not mandatory but are important for your sales process: General Settings Logo: Upload your company logo or one dedicated to your point of sale. It will appear on the payment page generated by payment requests Merchant point of sale ID: Enter a custom reference allowing you to identify the point of sale more easily in your information systems Confirmation Emails Check « Enable payment confirmation email »: By checking this box, you activate the sending of an email to your customers when they make a card payment. This is a standardized, non-modifiable email containing a payment summary (legal name of your merchant profile, name of your point of sale, payment date, CentralPay transaction identifier, merchant transaction reference, merchant transaction description, payment authorization code, card brand, first 6 and last 4 digits of the card, transaction amount, transaction status). The language and footer of the email can be configured from the Merchant Portal Configuration Payment confirmation email Sender email: If you have checked the « Enable payment confirmation email » box, you can customize the sender address by using one of your email addresses (for example: no-reply@mydomain.com). Please ensure you ask us to provide you with our SPF and DKIM keys so that you can authorize CentralPay to send emails from your domain Sender name: If you have checked the « Enable payment confirmation email » box, you can customize the sender name (for example: MyCompany) Check « Receive a copy of the payment confirmation »: By checking this box, you activate the sending of a copy of the email sent to your customers when they make a card payment. This can allow you to be easily notified by email when a customer makes a payment Recipient email: If you have checked the « Receive a copy of the payment confirmation » box, you must enter the email address of the recipient of this copy Finally, other secondary settings are available: OTP OTP email sender email: Email displayed as the sender of One Time Password emails (login to the Merchant Portal Administration area, etc.) OTP email sender name: Name displayed as the sender of One Time Password emails (login to the Merchant Portal Administration area, etc.) OTP SMS sender phone number or name: Name or phone number displayed as the sender of One Time Password SMS messages (SEPA mandate validation, etc.) Communication settings: These settings are applied to emails or SMS messages transmitting the link to the payment form of a payment request (paymentRequest). They apply only when no scenario has been configured on the payment request. SMS sender: Correspondent name displayed on the SMS Email sender: Correspondent email displayed on the email Email sender name: Correspondent name displayed on the email Email reply address: Email used for replies to sent emails (coming soon) Email footer: Email footer (coming soon) Payment accounts Payment accounts are used to carry out payment transactions (collecting payments in ISO currencies, paying out funds to a bank account, etc.). They allow you to hold funds in an ISO currency (EUR, USD, CHF, GBP, etc.) and have their own IBAN/BIC. With few exceptions, a Payment Account is linked to a bank account with the same account holder, enabling CentralPay to make automatic payouts via SEPA transfer. If you have several bank accounts to which your funds must be paid out, you may ask your CentralPay contact to create the same number of Payment Accounts in your CentralPay Merchant profile. This way, each Payment Account will be linked to a different bank account and will send SEPA payouts accordingly. It is also possible to create several payment accounts for fund segmentation purposes (with an account dedicated to commission or fee transactions, for example). You can view the details of your payment accounts via the following access points: Recette Merchant Portal – Payment Accounts Production Merchant Portal – Payment Accounts 1. Usage Payment accounts are systematically used for our platform’s payment transactions, except for electronic money transactions. 2. Creating payment accounts If you are a CentralPay merchant, you may send an email request to the CentralPay teams to create several payment accounts in your name. This is to segment your transactions or to open an account in a different currency. If you are a CentralPay MOBSP Partner or AGENT representative, you can create accounts for your merchants using the onboarding request service. EM Accounts ℹ️ Reserved exclusively for EMD Intermediaries and their sub-merchants. EM (Electronic Money) accounts are used to store and exchange funds in a CUSTOM currency (a currency dedicated to an EMD Intermediary). An EMD Intermediary may request the creation of EM accounts for the sub-merchants in its network and then carry out EM fund transfers between these accounts. The holder of an EM account may only receive payments and use their electronic money through the EMD Intermediary. However, they may request a refund of their electronic money at any time and will receive their funds in an ISO currency: either to their bank account via SEPA transfer, or to their bank card, depending on their account settings. You can view the details of your EM accounts via the following access points: Recette Merchant Portal – Electronic Money Accounts Production Merchant Portal – Electronic Money Accounts 1. Usage EM accounts are mainly used to enable individuals to easily receive and exchange funds in the following contexts: C2C marketplaces for products or services Storage and use of gift values within a network of independent merchants 2. Specifics The CMF (Monetary and Financial Code) sets out specific conditions for electronic money. As such, there are two types of EM accounts at CentralPay: Anonymous EM account: This account may be opened without verifying the holder’s identity, provided it is issued to an individual and is limited to a balance or collections of €150 over 30 days. This type of account is particularly useful for occasional use by its holder, or simply to simplify onboarding with the EMD Intermediary. Verified EM account: An anonymous account may subsequently be verified by CentralPay’s compliance teams (KYC procedure) to increase the limits imposed on it; it then becomes « verified ». 3. Creating EM accounts If you are a CentralPay EMD Intermediary, you can request the creation of EM accounts for your sub-merchants. Automations, integrations and exports Email/SMS notifications Notifications can be sent based on events related to certain API objects: Payment request (paymentRequest) Chargeback (dispute) Installment payment (installment) Card Transaction (transaction) Payout (payout) Card Refund (refund) Subscription (subscription) Card credit (credit) SDD Transaction (sddTransaction) Reversed SDD Transaction (sddTransactionReversal) Mandate (mandate) 1. Notification scenario types Automatically notify your customers and alert your colleagues when certain events occur on your CentralPay Merchant profile: receipt of a transfer, customer dispute, payment failure, etc. You control the content of each notification using custom templates and define a delivery method by email, by SMS, or by JSON. This automates the reconciliation of your collections, customer notifications, and even updates to your information system. 2. Configuring notification templates 2.1. Template configuration To start configuring your notifications, you must create your communication templates (email, SMS, or hook) by filling in the requested elements, such as the email subject, the sender name and email address, the message body, etc. You can insert dynamic elements (tags) into the message body by typing the « # » character, which will display the list of tags available for the selected notification scenario type. Please note: if you use email notifications, please ask us to provide our SPF and DKIM keys so that you can authorize CentralPay to send emails from your domain. For SMS, please calculate the number of characters: you will be billed for one SMS per 160 characters (including spaces). Access to email template settings: Recette Merchant Portal Production Merchant Portal Access to SMS template settings: Recette Merchant Portal Production Merchant Portal Access to hook template settings: Recette Merchant Portal Production Merchant Portal 2.2. Configuring the header and footer for email templates When creating an email template, a « header » and a « footer » must be created. For example, you can add your logo in the header and your contact details or legal notices in the footer. Access to email header settings: Recette Merchant Portal Production Merchant Portal Access to email footer settings: Recette Merchant Portal Production Merchant Portal 3. Configuring notification scenarios To specify to the platform the sending conditions and recipients for your notifications, you must create a scenario that includes one or more sending rules. After choosing the desired scenario type, you can create a sending rule. This rule is split into two parts: « WHEN » defines the event that triggers the notification, while « THEN » lets you choose the actions that will be performed when the event occurs. Access to notification scenario settings: Recette Merchant Portal Production Merchant Portal 3.1. In the « WHEN » section: Type « # » to view all attributes available for your scenario Use logical operators to build your rule: For strings (must be enclosed in quotation marks « »): = (equals) != (not equal to) in (in the following) not in (not in the following) For numbers (note: amounts must be entered in cents): = (equals) != (not equal to) < (less than) <= (less than or equal to) in (in the following) not in (not in the following) For booleans (true/false statements): = (equals) != (not equal to) You can use conditions to complete your rule: AND (to add another activation condition) OR (to add another activation possibility) It is possible to set priorities by placing parentheses around conditions. If you use AND and OR in the same rule, you must set priorities. If you use AND multiple times or OR multiple times, you must also prioritize each part. Rule examples: #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') Before you can save a rule, you must first test it using the « test » button. This verifies that your rule is grammatically correct. Please note: this does not guarantee that your rule matches what you intended to do. 3.2. In the « THEN » section: « THEN » lets you choose the recipient and the template used for the notification. You only have access to templates that match the required template type (SMS, Email, Hook) and that match the selected scenario type (card transaction, payment request, refund, etc.). Anti-fraud services 1. Organization of anti-fraud services Anti-fraud services are segmented into 4 tools: WhitelistThe purpose of the « whitelist » is to make the application of a transaction acceptance rule selective. It becomes inoperative for identified customers, VIPs, or trusted customers who are included in a « whitelist ». « Whitelists » apply to customer-specific data, such as their bank card number or IP address. This feature makes it possible to be less restrictive for certain user populations. BlacklistThe « blacklist » service makes it possible to refuse payments. As with « whitelists », « blacklists » apply to data specific to the cardholder (card, IP, phone, email). Transaction acceptance rulesThis tool makes it possible to build the specific rules that define the conditions for accepting a payment. Anti-fraud scoringThe scoring service detects potentially fraudulent transactions based on cross-analysis of multiple payment-related data points. The transaction processing phases are always executed in this order. If the input data meets all the conditions of the defined « whitelist », the « blacklist » service will not be executed and the transaction will be processed normally. If the input data meets one of the conditions of the defined « blacklist » and is not included in the « whitelist » service, the transaction will be refused and the « acceptance rule » service will not be executed. Each service is executed top-down with respect to the CentralPay actor hierarchy, which means that a platform can apply its anti-fraud service settings to its merchants, but the reverse is not possible. 2. Fraud scoring tool CentralPay relies on a fraud detection service based on machine learning algorithms. This predictive engine is built from a large sample of data provided by CentralPay in JSON format and sourced from transaction, refund, dispute data. This service relies on behavioral classification linked to the merchant’s business sector. The engine returns an action and a score. The action instructs the payment service to accept or refuse the transaction. The score classifies the risk level by providing a percentage probability of fraud. This score is then interpreted in the rules engine. The score enables the merchant and the algorithm to interact together to improve. Scores are classified as follows: From 0 to 19 = low riskTransaction acceptedNo action From 20 to 59 = medium riskTransaction acceptedAction: Send an event with score details for manual review and learning +60 = high riskTransaction refusedAction: Send an event with score details for manual review and learning This fraud exposure analysis service analyzes the fraud risk exposure context of each transaction. This service returns a score that makes it possible to automatically process the expected response in the rules engine. The score is based on cross-analysis of the following data: IP risk index Proxy detection TOR network detection IP address verification Confidence factors Email checks Address & phone checks High-risk shipping address IP address geolocation Identification of the devices used Email address Browser type Country mismatches Shipping address distance Billing address distance Email domain Time Order amount Country Phone number IP owner Email owner Card address verification 3. Whitelists and blacklists 3.1. Whitelist The purpose of the « whitelist » is to make the application of an acceptance rule selective. This rule becomes inoperative for identified customers, VIPs, or trusted customers who are included in a « whitelist ». The anti-fraud service then moves on to the next step. « Whitelists » apply to customer-specific data, such as their bank card number or IP address. This feature makes it possible to be less restrictive for a user population. 3.2. Blacklist The « blacklist » step makes it possible to refuse payments. As with « whitelists », « blacklists » apply to data specific to the cardholder: Country Geographic regions Card numbers Phone numbers Email IP addresses IBAN 4. Transaction acceptance rules The acceptance rules engine is a powerful, modular application component that makes it possible to adapt the processing behavior to be applied to each transaction, such as: Allow Refuse Alert This service therefore makes it possible to define actions to be performed on each transaction from a wide list of available attributes: fraud score, cardholder location, total sales amount over 7 or 30 days, VIP whitelist customer, specific parameter provided by the merchant… An acceptance rule is a logical condition. It makes it possible to authorize, restrict, and/or prohibit transactions.A rule consists of 4 elements: the action, the attributes, the operators, the values. The syntax of a rule is as follows: « Action » « if » « Attribute » « Comparison operator » « Comparison value » Example: REFUSE if card_country != 'FRA' The rule shown in this example makes it possible to automatically refuse payments when the card country is not France.The grammar syntax chosen by the platform for its acceptance engine is very similar to SQL syntax (used to interact with databases). 4.1. Available actions ALLOWAllows the payment REFUSERefuses the payment ALERTSends a « webhook » notification for the associated transaction 4.2. Available attributes By typing « # », the available attributes are displayed. In a rule, an attribute is always followed by a comparison operator. List of attributes: AttributeDescriptionValue typeExample#always None #transactions[_état][_entité] [_temporalité]Transaction count quota [state] [entity] [time period]Integers#transactions_amount[_état] [_entité][_temporalité]Transaction amount quota [state] [entity] [time period]Integers#amountTransaction amount in centimesInteger#amount > 100#card_countryCard issuing countryString ISO 3166-1 alpha-3#card_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#card_establishmentCard issuer #card_productCard type‘gold’, ‘platinium’ #card_product_typeCard type (personal or corporate)CONSUMER CORPORATE#card_product_type = ‘CONSUMER’#card_regionCard issuing region‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#commercial_brandCard brandVISA MASTERCARD AMEX OTHER#commercial_brand != ‘VISA’#currencyTransaction currencyString ISO 4217#currency = ‘EUR’#ip_countryIP address countryString ISO 3166-1 alpha-3#ip_country IN (‘FRA’, ‘USA’, ‘BEL’, ‘DEU’)#ip_regionIP address region‘ASIA_PACIFIC »EUROPE »LATIN_AMERICA »MIDDLE_EAST_AND_AFRICA »USA_AND_CANADA »ANTARCTIQUE »UNKNOWN’#card_region NOT IN (‘ASIA_PACIFIC’, ‘LATIN_AMERICA’)#is_anonymous_ipIs an anonymous IPTRUE | FALSE#is_anonymous_ip = TRUE#is_three_d_secureIs a 3D-Secure transactionTRUE | FALSE#is_three_d_secure = TRUE#payout_amountPayout amountInteger#payout_amount > 100#payout_currencyPayout currencyString ISO 4217#payout_currency = ‘EUR’#risk_scoreAnti-fraud scoreDouble#risk_score > 2,34#custom_acceptance_data[‘key’] = ‘value’custom fieldkey : Regex [a-zA-Z0-9_-]value: Regex [a-zA-Z0-9_-]#custom_acceptance_data[‘product_category’] = ‘high’ In the case of custom_acceptance_data[‘key’] = ‘value’, for it to be taken into account, the exact same field must be included in the request for the targeted object. Logical operators and parentheses: Logical operators AND and OR The syntax used to define rules makes it possible to create multiple conditions within the same rule. The conditions will remain defined in the same way, with the only difference being that a keyword will be placed between the conditions. The keywords are and and or. They define how the rules engine will interpret the sequence of these rules. « AND » corresponds to inclusion and « OR » to exclusion. Example: ALLOW if #amount < 1000 and #card_country = 'FRA' The previous example allows payments whose amount is less than 10 AND whose card is French. If one or the other of the defined conditions is not met, the action will not be executed. Example: ALLOW if #amount < 1000 or #card_country = 'FRA' The previous example allows payments whose amount is less than 10 OR whose card is French. If one or the other of the defined conditions is met, the action will be executed. Parentheses Using parentheses when defining a multi-condition rule makes it possible to define condition blocks and the priorities between these blocks. The principle is the same as for priorities in mathematical operators. Example: ALLOW if #amount < 1000 and (#card_country = 'FRA' or #currency = 'EUR') In the previous example, the rules engine will first interpret the block (#card_country = ‘FRA’ or #currency = ‘EUR’). That is, the payment will be allowed if (the card is French or the currency is the euro), AND the amount is less than 10. Rule execution order Rules are executed in an order to be defined. This order is important because as soon as a transaction meets the criteria of a rule, the following rules will not be processed. Rules are executed in the display order of the list in the interface.A position indicator is displayed in each list. To change a rule’s position, simply drag it to the desired position. Rule examples: ALLOW if #amount < 1000 and #transactions_amount_daily < 10000 This example allows transactions whose amount is less than 10 if the sum of the day’s transaction amounts is less than 100. REFUSE if #risk_score > 3 or (#ip_regions = 'ASIA_PACIFIC' and #card_region = 'ASIA_ PACIFIC') This rule blocks payments if the risk score exceeds 3 or if the IP used and the card issuing region correspond to the ‘ASIA_PACIFIC’ zone. THREE_D_SECURE if #card_country NOT IN ('FRA', 'USA', 'GBR') This rule requires a 3D Secure transaction if the card country is not France, the United States, or Great Britain. ALLOW (#amount < 10000 and #transactions_amount_daily < 100000) or (#currency IN ('EUR', 'USD') and #transactions_amount_monthly < 1000000) This previous example ALLOWS payments IF the amount is LESS THAN 100 AND the sum of the day’s transaction amounts is LESS THAN 1000 OR the currency is € or $ AND the sum of the month’s transaction amounts is LESS THAN 10,000. The logical operators « AND » and « OR » are only syntactically correct in lowercase. 4.3. Available comparison operators = (equals) != (not equal to) < (less than) <= (less than or equal to) in (in the following) not in (not in the following) The comparison operators = , != , > , < , >= and <= must be followed by a value. The IN and NOT IN operators are followed by a list of comparison values.A list of values is enclosed in parentheses, and the values inside the list are separated by commas. Example: REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF') The example shown above makes it possible to refuse all payments whose currency is not the Euro, the US Dollar, the Pound Sterling, or the Swiss Franc. This syntax avoids writing multiple rules or multiple conditions within the same rule. 4.4. Available values: Depending on the value type, the syntax used to define the value will not be the same: Integers (numeric value without decimals): Standard syntax (e.g., 100) Doubles (numeric value with decimals): The value is defined with a dot as the decimal separator (e.g., 12.32) String: The value is defined between single quotes (e.g., ‘FRA’) Booleans: The value is true or false (e.g., false) ℹ️ "Amount" values must be entered in centimes (e.g., for €10, enter 1000). 4.5. Logical operators: The available operators are AND and OR. They define how the rules engine will interpret the sequence of these rules. « AND » enables inclusion, while « OR » enables exclusion. Example: REFUSE if #amount < 1000 and #card_country != 'FRA' The example shown above makes it possible to refuse payments whose amount is less than €10 AND whose card is not French. If one or the other of the defined conditions is not met, the action will not be executed. Outgoing payment Outgoing payouts are transfers issued from your CentralPay payment account to the associated bank account. They can be carried out manually from the Merchant Portal or via the Payment API, or automated according to the frequency defined in your payout settings. From the Merchant Portal, only account-holder user profiles (known as « Legal ») can configure and execute payouts. 1. Payout methods 1.1. Automatic payout The account holder can set the frequency of the automatic payout using three options: Daily Weekly: choose the day of the week (e.g., every Tuesday) Monthly: choose the day of the month (e.g., the 5th of the month) The automatic payout service executes each transfer at 01:00 on the selected day, based on the fonds disponibles (AVAILABLE) in the payment account. Example of a weekly payout scheduled on Tuesday: CentralPay will create the transfer on Tuesday morning using the funds available in the payment account up to 01:00. ℹ️ In the case of a daily payout, all available funds are transferred each day to your bank account. Your CentralPay account balance is therefore zero at the start of the day.If you need to issue customer refunds, they can be processed from early afternoon (around 2:00 PM), once the day’s transaction funds have been credited by the issuing banks. An upcoming enhancement will allow automatic payouts to be deferred by one or more days in order to keep funds available while maintaining consistent accounting visibility. Contact Support if you are affected. Matching for automatic payouts Each automatic payout is linked to the detailed list of transactions included in the transfer. This feature enables automatic matching between collected transactions and the corresponding payout. The transaction details for a payout can be accessed from Merchant Portal Administration My account Payouts by selecting the desired payout. The first automatic payout does not yet include details, as it initializes the matching system. Subsequent payouts include the full list of the relevant transactions. 1.2. Manual payout (via Merchant Portal or API) A payout can be executed manually from the Merchant Portal or via the Payment API. The payout amount can be set freely, up to the limit of the funds available in the account. Payout orders placed before 05:00 are executed immediately. Those created after 05:00 are executed the next day at 05:00. 2. Identifying transactions linked to each payout Payout matching is a Merchant Portal feature that links each automatic payout to the detailed list of transactions included in that payout. Scope: matching applies exclusively to automatic payouts. Manual payouts do not have this automatic association. Detail contents: list of transactions corresponding to the payout, including the amounts, value dates, and references required for accounting reconciliation. 2.1. Access the details of an automatic payout From Merchant Portal Administration My account Payouts : Select the relevant payout from the list. Open the payout details to display the associated transactions. Use the Export button to download the data if needed. Or, from Merchant Portal Account My transactions : Filter by Type = Outgoing payout or by Value date. In the payout’s Actions column, click the arrow, then View payout transactions. ℹ️ The first automatic payout does not include details: it is used to initialize matching. Subsequent automatic payouts include the full list of associated transactions. 2. Funds availability Payouts include only the fonds disponibles (AVAILABLE) in the payment account. Funds from a card transaction become available at D+2. Example: A card transaction made on Monday appears as "Pending" on Monday, becomes "Available" on Tuesday evening, the automatic payout is executed on Wednesday at 01:00, and the SEPA transfer is credited to the bank account on Thursday. ℹ️ The EscrowDate setting may affect the date on which a transaction’s funds become available (specific to partners/agents). 3. Creating a manual payout 3.1. From the Merchant Portal Only account-holder users (« Legal ») or users with an administrator role (« Natural Admin ») can create a manual payout from the Merchant Portal. From Merchant Portal Administration My account Payouts : Click External transfers. Select the sending account. Enter the payout amount and the recipient IBAN. Click Confirm transfer. Once validated, the payout is executed according to the timeframes mentioned above. Recette Merchant Portal – Outgoing payouts Production Merchant Portal – Outgoing payouts 3.2. From the API Creating a manual payout can also be done via the Payment API. For technical details, see the developer documentation: Developers Outgoing payout . 4. Foreign-currency payouts via the SWIFT network International transfers are executed via the SWIFT network, unlike SEPA transfers used within the European area. This service allows payouts in euros or other currencies to accounts located outside the SEPA area. If the beneficiary account is not reachable via SEPA, or if it is a foreign-currency account, payouts can be made via SWIFT. This service is enabled on request through your CentralPay contact. ℹ️ SWIFT transfers incur higher fees than SEPA transfers. It is possible to configure a threshold of available funds before automatic payouts are triggered. 5. Returns, statuses, and webhooks To track the payout lifecycle and automate processing: View the payout status documentation ➝ View the payout webhook documentation ➝ File Import CentralPay File Import Service The File Import Service allows you to manage CentralPay operations in bulk by uploading simple CSV files instead of calling the API line by line. To date, two types of files are supported: Customer files: to create your customer profiles (customers) in CentralPay, optionally with a bank account (BankAccount) and/or a SEPA direct debit mandate (SDD). Operation files: to initiate SEPA direct debits (SDD) on your customer profiles and/or outgoing SEPA credit transfers (SCT) to your customer profiles’ bank accounts. For each file uploaded, CentralPay sends you report files indicating, line by line, what was accepted, refused, or rejected. 1. Who is this service for? This service is designed for Merchants who process large volumes of operations and prefer file exchange over real-time API integration: recurring direct debit collections, grouped outgoing payouts, creation or migration of a customer/SEPA mandate repository, etc. The exchange occurs asynchronously: you upload your files, CentralPay processes them, then makes the reports available to you. 2. Prerequisites 2.1 Common Prerequisites An active CentralPay merchant account with access to the Merchant Portal. Your CentralPay merchant ID (UUID). The first 8 characters of this UUID are used to name your files (see section 5.1 Rules common to all files). The setup of a secure exchange channel (SFTP, see section 4. SFTP Setup) unless another channel has been agreed upon with your CentralPay contact. A testing phase with the CentralPay integration team before going live. 2.2 Prerequisites for outgoing SEPA credit transfer operations (CREDIT / SCT) The outgoing SEPA credit transfer service must be activated on your merchant profile. 2.3 Prerequisites for SEPA direct debit operations (DEBIT / SDD) Direct debits require additional prerequisites, to be validated before any first submission: Your ICS (SEPA Creditor Identifier) must be declared in your CentralPay merchant profile (procedure carried out with your CentralPay contact). The SEPA direct debit service must be activated on your merchant profile (procedure carried out with your CentralPay contact). Validation of Mandate Management Mode Compliance. In this integration process, CentralPay does not collect the mandate signature: you transmit, in the Customer file, the mandate reference (MANDATE_RUM) and its signature date (MANDATE_SIGN_DATE). Consequently: Your CentralPay contact must validate the principle upstream of mandate management via this method, whether it concerns the migration of existing mandates or newly collected mandates by you. You remain responsible for the collection, legal validity, and retention of signed mandates, as well as for providing prior information to your customers (pre-notification, UMR, ICS). Without these prerequisites, files containing direct debits cannot be processed, whether in the Sandbox or LIVE environment. 3. How does the processing cycle work? Upload. You upload your CSV files (Customer and/or Operation) to the SFTP, in the upload folder. Technical Control (ACK). CentralPay checks each line (format, mandatory fields, consistency) and sends you an .ACK file: each line is marked ACCEPTED or REFUSED, with the error reason if applicable. Bank processing. Technically valid lines are transmitted to the SEPA banking circuits. Settlement Report (SET). For operations, CentralPay produces .SET files indicating the settlement progress (ACCEPTED / PENDING / REFUSED) once bank feedback is available. Post-settlement Rejections (RET). In case of a SEPA rejection occurring after settlement (e.g., a customer dispute), CentralPay produces an .RET file detailing the reason and the returned amount. Customer files do not generate a bank report (.SET / .RET): only an .ACK is returned. 4. SFTP Setup SFTP is the recommended exchange channel. It ensures secure upload and retrieval, and allows CentralPay to automatically retrieve and process your files. 4.1 Exchange Model The SFTP is hosted by the merchant. CentralPay connects to your SFTP, retrieves files from an outgoing folder, and deposits reports into an incoming folder. 4.2 Folder Convention The exchange relies on two directories: DirectoryDirectionContentUpload folder (named /OUT)Merchant → CentralPayYour Customer and Operation files to be processedReturn folder (named /IN)CentralPay → MerchantThe .ACK, .SET, reports .RET 4.3 Setup Steps Request activation from your CentralPay contact. Exchange access credentials: authentication via SSH key. Two spaces should be created: one SFTP dedicated to testing and one dedicated to production. The SFTP information (host + login) must be provided to us by email. For us to connect to your SFTP, a CentralPay public key (per environment) will be communicated to you. Furthermore, it is recommended to whitelist CentralPay’s IP addresses (these will be communicated to you during your integration). Use the directory structure defined previously (upload /OUT and return /IN folders). Test in the testing environment with an example file, validate the correct reception of .ACK, then switch to production. 5. Prepare your files 5.1 Rules common to all files Format: CSV. The header row is mandatory in all files, both input and output. Naming: Customer file: <8 premiers caractères de votre UUID marchand en minucules>_CUST_<référence libre>.csv Operations file: <8 premiers caractères de votre UUID marchand en minucules>_OPER_<référence libre>.csv The free reference is at your discretion (often a timestamp). The full name must not exceed 100 characters. Examples: c494f877_CUST_20241025110500.csv · c494f877_OPER_20241025110500.csv Amounts: expressed in minor unit (euro cents) and always positive. The direction (debit/credit) is indicated by the OPERATION_TYPE column, not by the sign of the amount. Column Legend in the tables below: Mandatory: the line is rejected if the value is missing. Optional: can be left blank. Conditional: required only in the described case. 5.2 File Customer This file creates your customer profiles. Depending on your needs, it can create in a single line: the customer profile alone, the customer + a bank account, or the customer + a bank account + an SDD mandate. ColumnFormatStatusDescriptionMERCHANT_IDUUIDMandatoryYour CentralPay merchant IDMERCHANT_CUSTOMER_IDString(100)OptionalYour internal customer reference (must be unique). Highly recommended for reconciling your operations. DESCRIPTIONString(256)OptionalFree field for your useTYPEINDIVIDUAL / LEGAL_ENTITYMandatoryIndividual or legal entitySOCIAL_REASONString(35)ConditionalRequired if TYPE = LEGAL_ENTITY (company name)FIRST_NAMEString(35)MandatoryFirst name (of the legal representative if LEGAL_ENTITY)LAST_NAMEString(35)MandatoryLast name (of the legal representative if LEGAL_ENTITY)EMAILString(255)OptionalPHONEString(25)OptionalInternational format +<indicatif><numéro>ADDRESS_LINE_1String(255)MandatoryADDRESS_LINE_2/3/4String(255)OptionalAddress supplementsPOSTAL_CODEString(15)MandatoryAllowed characters: letters, numbers, space, hyphenCITYString(35)MandatoryCOUNTRYISO 3166 alpha-3 codeMandatoryEx. FRAIBANString(34)ConditionalRequired to create a bank account (thus for any future outgoing transfer or direct debit). Validated according to ISO 13616 BICString(11)ConditionalRequired with IBANMANDATE_RUMString(35)ConditionalRequired to create an SDD mandate. Unique Mandate Reference (UMR) of the mandate already signed on the merchant sideMANDATE_SIGN_DATEDate YYYY-MM-DDConditionalRequired to create an SDD mandate. Mandate signature date "With or Without" Logic➜ Customer only: fill in identity and address, leave IBAN/BIC and mandate columns blank.➜ Customer + bank account (necessary for a future outgoing transfer): add IBAN + BIC.➜ Customer + SDD mandate (necessary for a future SEPA direct debit): add IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE. Example file Customer Download the « Customer » .csv example file Three customers: one individual (INDIVIDUAL, without company name) and two legal entities (LEGAL_ENTITY), each with their own bank account and SDD mandate. Key takeaways from this example: The phone number is in international format (+33..., without the initial 0). For customer INDIVIDUAL, the SOCIAL_REASON field is left empty (two consecutive ;); it is only filled in for LEGAL_ENTITY. Each customer has their own IBAN/BIC and their own MANDATE_RUM. The IBAN/BICs above are test credentials provided for the testing environment: replace them with your customers’ real credentials in production. In return, the .ACK file will send you a CUSTOMER_ID (UUID) for each accepted line. Keep these identifiers: you will reuse them in your Operation files. Columns added by CentralPay in the .ACK return file: ColumnDescriptionSTATUSACCEPTED or REFUSED (no PENDING for customer files)ERROR_CODEValued if REFUSED (e.g., INVALID_PARAMETERS)ERROR_MESSAGETechnical detail (in English)CUSTOMER_IDUUID of the created customer, valued if ACCEPTED (to be kept for your future operations) 5.3 File Operation This file triggers operations on customer profiles already existing in CentralPay. ColumnFormatStatusDescriptionMERCHANT_IDUUIDMandatoryYour CentralPay merchant IDPOINT_OF_SALE_IDUUIDOptionalConcerned Point of Sale (POS). If empty, the default point of sale is used. MERCHANT_TRANSACTION_IDString(35)OptionalYour operation reference (unique to you)DESCRIPTIONString(140)OptionalDescription for your useEND_TO_END_IDString(35)OptionalSEPA end-to-end reference visible to the end customer. Otherwise, it uses MERCHANT_TRANSACTION_IDREMITTANCE_INFOString(140)OptionalSEPA label (unstructured remittance information) visible to the end customer. Otherwise, it uses DESCRIPTIONCUSTOMER_IDUUIDConditionalCentralPay customer identifier. CUSTOMER_ID or MERCHANT_CUSTOMER_ID must be providedMERCHANT_CUSTOMER_IDString(100)ConditionalYour internal customer reference (alternative to the CUSTOMER_ID generated by CentralPay)MANDATE_RUMString(35)OptionalTo target a specific mandate if the customer has several (if OPERATION_TYPE = DEBIT)AMOUNTIntegerMandatoryAmount in centimes of euro; positive values onlyCURRENCYISO CodeMandatoryEUR (mandatory euro currency for SEPA transfers and direct debits)OPERATION_TYPEDEBIT / CREDITMandatoryDEBIT = SEPA direct debit (SDD)CREDIT = outgoing SEPA credit transfer (payout)EXPECTED_SETTLEMENT_DATEDate YYYY-MM-DDOptionalDesired settlement date. Default: J+1 business day Choose the correct OPERATION_TYPE➜ DEBIT (direct debit): If you wish to debit your customer's bank account via a SEPA direct debit. Requires the customer profile to have a valid SDD mandate. ➜ CREDIT (transfer): If you wish to credit your customer's bank account via an outgoing SEPA credit transfer. Requires the customer to have a declared bank account (IBAN/BIC). Example file Operation Download the « Operation » .csv example file Five operations on customers created in the previous step, referenced by their CUSTOMER_ID (the UUIDs returned in the .ACK of the Customer file): three direct debits (DEBIT) and two credit transfers (CREDIT). Key takeaways from this example: The customer is identified by their CUSTOMER_ID (stable and unique UUID). It can also be identified by your MERCHANT_CUSTOMER_ID but you must ensure its uniqueness and correct formatting. MERCHANT_TRANSACTION_ID and END_TO_END_ID are unique for each operation. Amounts are in centimes (4990 = 49.90 €) and are always positive; the sign ( OPERATION_TYPE ) indicates whether the transaction is a debit or a credit. REMITTANCE_INFO carries an explicit label, visible to the end customer on their statement. Prioritize simple characters (SEPA standard: no accents or special characters). Columns added by CentralPay in the return files: In the .ACK (technical control): ColumnDescriptionSTATUSACCEPTEDPENDING, or REFUSEDERROR_CODEValued if REFUSEDERROR_MESSAGETechnical detailOPERATION_IDOperation UUID, valued if ACCEPTED (tracking key in subsequent files) In the .SET (settlement report): ColumnDescriptionSTATUSACCEPTEDPENDING, or REFUSEDERROR_CODEValued if REFUSED (e.g., FRAUD_ALERT)ERROR_MESSAGEBank refusal detailSETTLEMENT_DATEValue date if ACCEPTEDOPERATION_IDOperation UUID In the .RET (post-settlement rejection): ColumnDescriptionREASON_CODESEPA rejection code (e.g., AC04 = account closed)REASON_MESSAGETextual detail of the rejectionRETURN_AMOUNTReturned amount (positive)RETURN_DATERejection dateOPERATION_IDOriginal operation UUID 6. Understanding the return files 6.1 Naming of return files Return files use the name of your original file, followed by the report type, a processing fingerprint, and a timestamp: <nom du fichier d'origine au format csv>.<ACK|SET|RET>-<hash>-<timestamp>.csv <hash> : fingerprint of the processed file (allows linking the return to the processing). <timestamp> : processing timestamp. Example: C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv 6.2 The three levels of reporting FileWhenWhat it tells you.ACKImmediately upon receiptTechnical validity line by line. All lines are returned, including those refused. .SETOnce bank feedback is available (operations only)Progress of settlement. Only lines ACCEPTED at the .ACK level are included. .RETIn case of rejection after settlement (operations only)Subsequent SEPA rejections (e.g., customer dispute) Indicative settlement times (business days): credit transfer (SCT) 1 to 2 days; SEPA direct debit (SDD) 3 to 5 days. A post-settlement rejection (.RET) can occur up to 8 weeks after the operation in case of dispute. 6.3 Best practices for reconciliation OPERATION_ID is the matching key between the .ACK, .SET, and .RET files of the same operation. Keep it. CUSTOMER_ID (returned in the customer .ACK) is the identifier to reuse in your Operation files. Systematically provide your own references (MERCHANT_CUSTOMER_ID, MERCHANT_TRANSACTION_ID) to facilitate reconciliation on your end. 7. Common errors 7.1 Technical refusals (.ACK file) CodeMeaningActionMISSING_COLUMNSExpected column(s) missingCheck the CSV header and structureINVALID_PARAMETERSInvalid field valueCorrect the erroneous data (format, length, enumeration)BAD_ROWMalformed lineCheck the separator and the number of columns in the lineCOMPUTATION_EXCEPTIONInternal processing errorContact CentralPay support (Non-exhaustive list. Messages are returned line by line and may concatenate multiple errors.) 7.2 Customer reconciliation anomalies MessageMeaningActionNo customer fetch errorThe customer linked to the operation is not foundCheck the consistency of CUSTOMER_ID / MERCHANT_CUSTOMER_ID. If necessary, upload a Customer file for missing customers. Too much customer found for merchantMultiple customers share the same MERCHANT_CUSTOMER_IDEnsure the uniqueness of your customer reference; contact us to arbitrate (merge / update).Unexpected service responseCentralPay internal errorContact CentralPay support 8. Points of attention The header row is mandatory in each file. Amounts are in centimes and are always positive. An operation may appear in several successive .SET if its status changes (PENDING → ACCEPTED/REFUSED). Maintain the OPERATION_ID / CUSTOMER_ID mapping between your systems and CentralPay. Any initial setup is subject to a testing phase with the integration team before production. 9. Getting Started Check your prerequisites, especially the ICS chain + SDD service + Compliance validation if you plan direct debits. Request SFTP channel activation from your CentralPay contact. Prepare an example file and validate it in the testing environment. Go live. For any questions regarding setup, contact your CentralPay representative or support. Accounting Exports You can perform several exports of your account in CSV, EXCEL, or JSON formats from your Merchant Portal. To do this, configure your search using the available filters on the desired export page, click « Search » then « Export ». Within seconds, you will receive the file by email and can download it at any time from your Merchant Portal Export Files . 1. Accounting Export of Account Transactions This export includes all debit and credit financial movements that have been made on your account: card authorizations, card transactions, SDD transactions, SCT transactions, transfers, payouts, CentralPay fees, etc. You will have the details of each transaction so that you can easily reconcile it with your invoices or files. The export contains the following data: DesignationMeaningwallet_idaccount identifierwallet_nameaccount nameowner_namecompany namevalue_datetransaction value dateoperation_idCentralPay transaction referenceoperation_datetimetransaction datesource_typetransaction typesource_idreference linking multiple transactionsnaturetransaction naturedebit_amountamount of « debit » type transactionscredit_amountamount of « credit » type transactionscurrencytransaction currencycustom_referencecustom transaction referencecustom_labelcustom transaction namethird_party_idtransaction recipient identifierthird_party_labeltransaction recipient namethird_party_countrytransaction recipient countrypayout_numberpayout number Access: Recette Merchant Portal – Transactions Production Merchant Portal – Transactions 2. Download the Monthly Financial Report At the beginning of each month, in addition to the invoice, an account statement is generated and made available in the secure area of your account ( My Accounts Account Statements ). It presents the total credit and debit amounts made, including a breakdown « of which funds » and « of which fees » to distinguish the nature. We offer two types of statements: detailed or summary.- The detailed statement shows all transactions for the selected period.⚠️ If you have a large number of transactions, they may not appear on the statement. In this case, we recommend performing an export in CSV, Excel, or JSON format.- The summary statement groups your transactions by day and by transaction type, for the selected period. To properly understand your detailed account statement:A) The total amount of debits on your account for the given period:– of which funds: all debits of « fund » nature (outgoing transfers, etc.)– of which fees: all debits of « fee » nature (CentralPay fees, etc.)B) The total amount of credits on your account for the given period:– of which funds: all deposits to your account (= revenue).– of which fees: all transactions to offset transactions or adjust fees (fee refunds, etc.).C) Closing balance of the month preceding the statement.D) Closing balance of the month of the downloaded statement. Access: Recette Merchant Portal – Documents Production Merchant Portal – Documents Data Exports You can perform several exports of your account in CSV, EXCEL, or JSON formats from your Merchant Portal. To do this, configure your search using the filters available on the desired export page, click « Search » then « Export ». Within seconds, you will receive the file by email and can download it at any time from your Merchant Portal Account Exports 1. Card Transaction Export This export allows you to obtain the details of card transactions you have processed over a given period.This export simplifies the reading of your card transactions by aggregating authorization and debit operations, and presents additional data specific to card transactions. The export contains the following data: DesignationMeaningtransaction_creation_datecreation datetransaction_idtransaction IDtransaction_amountamounttransaction_currencycurrencytransaction_payout_amountsettlement currency valuetransaction_payout_currencysettlement currencytransaction_commision_amounttransaction feestransaction_commision_currencyfee currencytransaction_fee_amountfixed fees per transactiontransaction_3ds3DS (0=no, 1=yes)transaction_descriptionmerchant-defined descriptiontransaction_sourceEC E-commerce, DP Deposit, MO Mail ordertransaction_bank_codebank authorization responsetransaction_statustransaction statustransaction_authorization_statusauthorization statustransaction_authorization_codeauthorization codetransaction_capture_statuscapture statustransaction_capture_datecapture datetransaction_capture_amountcapture amountmerchant_transaction_idmerchant transaction IDpoint_of_sale_idpoint of sale IDpoint_of_sale_namepoint of sale namemerchant_idmerchant IDmerchant_namemerchant namedispute_amountdispute amountdispute_currencydispute currencydispute_datedispute daterefund_amountrefund amountrefund_currencyrefund currencyrefund_daterefund datecard_idpayment card IDcard_first6first 6 digits of cardcard_last4last 4 digits of cardcard_cardholder_namecardholder namecard_cardholder_emailcardholder emailcard_typecard type (credit/debit/prepaid)card_productcard product name (Infinite, Gold…)card_product_typeconsumer or corporate cardcard_commercial_brandcard network (VISA/Mastercard/CB)card_regioncard origin continentcard_countrycard origin countrycard_establishment_namename of card-issuing institutioncustomer_idcustomer IDend_user_ipuser IPend_user_languageuser languagebrowser_user_agentuser browserreceipt_emailuser reception emailclearing_numberclearing numbermerchant_category_codemerchant activity Access: Recette Merchant Portal – Transactions Production Merchant Portal – Transactions 2. Card Refund Export This export allows you to obtain the details of card refunds you have processed over a given period. Access: Recette Merchant Portal – Card Refunds Production Merchant Portal – Card Refunds 3. Card Transaction Disputes Export This export allows you to obtain the details of card transaction disputes/chargebacks you have received over a given period. Access: Recette Merchant Portal – Chargebacks Production Merchant Portal – Chargebacks 4. Subscriptions Export (Cards and SDD) This export allows you to obtain the details of card and SDD subscriptions you have processed over a given period. Access: Recette Merchant Portal – Subscriptions Production Merchant Portal – Subscriptions Webhooks Webhooks let you send HTTP notifications to the URLs of your choice based on events (events) that occur on your CentralPay Merchant profile. These events correspond to the creation, data change, or status change of a CentralPay API object. The service therefore lets you notify your information system in real time as soon as an event occurs on your CentralPay Merchant profile. For example, a successful or failed transaction, the creation of a new subscription (subscription), a new Customer (customer), the receipt of an unpaid payment… Webhooks are grouped into two categories: Related to Points of Sale (« POS ») Related to « Accounts » The remote server must confirm successful receipt of the request by returning a 2XX code. Otherwise, a new request will be sent every 5 min for 2h. To ensure hooks are received correctly, we recommend using the Webhook Site service. Enter the URL provided by the site and the email address, then run your tests. Once you are satisfied with the hook responses, you can replace the email address and the URL with your own and run a new test. See the list of webhooks in: Developers Webhook notifications Payment Links General information 1. The two Smart Collection integration modes The Smart Collection solution allows you to collect payments from various payment methods. You can choose to: Create and integrate your own payment flows (CUSTOM integration), by consuming the API services of each payment method: Card transaction ➝ Transfer transaction ➝ SEPA direct debit transaction ➝ Use our secure payment request flows (SMART integration), via our dedicated service: Payment requests (PaymentRequest) ➝ The EscrowDate parameter can affect the funds availability date of a transaction (applies to AGENT partners only) ℹ️ If you choose SMART integration, specific features such as R-transactions, bank descriptor management, Virtual IBAN management, etc., are presented in the documentation under the CUSTOM sections dedicated to each payment method. 2. About SMART integration The payment request allows you to generate a payment link leading to a payment page hosted by CentralPay. Your customer can thus pay you according to the payment terms you have determined (authorized payment methods and modes, payment deadlines, etc.). Transactions created in this way are automatically linked to the payment request and allow its status to be updated (unpaid, partially paid, paid, etc.). The payment request must be populated with the payment terms of your cart or invoice: Amount to be paid Accepted payment methods (card, transfer, direct debit, payment initiation) Accepted payment modes (one-off, subscription, installment payment…) Order reference Order description Customer details Authorized payment deadline Link expiration time … The payment link can be sent to your customers from: Your sales funnels or web interfaces Your communication tools (email, SMS, mail via QR code…) The CentralPay email / SMS notification service The payment page then allows the customer to carry out their transaction(s): Viewing payment request information Selection of payment method or mode Entering customer data Entering payment details Payment requests The payment request (PaymentRequest) is the service that allows you to generate payment links. You can create payment requests via API or via the Merchant Portal. The payment request can also be paired with the CentralPay notification service, allowing you to easily send a payment link to your customers by email or SMS and schedule automated reminders. 1. API creation 1.1. Create a PaymentRequest Below are the available payment methods and the corresponding API values in the PaymentRequest service: Desired payment method or modeAPI values to provideOne-off paymentsCard transactionpaymentMethod[]=TRANSACTIONCard deposit (reserved for rental businesses)paymentMethod[]=TRANSACTION transaction[source]=DPCard verification/imprint (0€ transaction)paymentMethod[]=TRANSACTION transaction[source]=RIBank transfer transactionpaymentMethod[]=SCT_TRANSACTIONSEPA Direct Debit transactionpaymentMethod[]=SDDsdd[remittanceInformation]Pay by bank transaction (standard transfer)paymentMethod[]=SCT_TRANSACTION_PISPay by bank transaction (instant transfer by default, otherwise standard)paymentMethod[]=SCT_TRANSACTION_PIS_IPRecurring paymentsCard subscriptionpaymentMethod[]=SUBSCRIPTION subscriptionModel[subscriptionModelId]SEPA Direct Debit subscriptionpaymentMethod[]=SUBSCRIPTIONsubscription[source]=SDDsubscriptionModel[subscriptionModelId]Card instalment paymentpaymentMethod[]=INSTALLMENTintallment[intervalUnit]installment[intervalCount]installment [iterationCount]SEPA Direct Debit instalment paymentpaymentMethod[]=INSTALLMENTinstallment[source]=SDDintallment[intervalUnit]installment[intervalCount]installment [iterationCount] If you want to allow multiple payment methods or modes in your PaymentRequest, you must provide the paymentMethod object multiple times. Example: paymentMethod[]=TRANSACTION paymentMethod[]=SCT_TRANSACTION ⚠️ Some combinations of payment methods or modes may conflict and your PaymentRequest may return an error. For example, you cannot allow a TRANSACTION and a SUBSCRIPTION; however, you can allow a TRANSACTION and an INSTALLMENT. Here is the key information about other values to provide when creating a PaymentRequest: LabelDefinitionamountAmount of the payment request in centimesmerchantPaymentRequestIdCustom reference (your order or invoice number, for example) that you can use to reconcile the payment. This value will be visible to your customer on the payment page descriptionCustom description (name of the product or service sold). This value will be visible to your customer on the payment page additionalData[*]Free key-value data, allowing you to pass through one or more data items (invoice references, customer number, etc.). Not visible to your customer on the payment page createCustomerTRUE / FALSE creation of a Customer account (in particular, enables saving the customer payment method: card, SEPA mandate, and creating a virtual IBAN dedicated to the Customer)breakdown[customerId]Select an existing Customer ℹ️ For SEPA transfer transactions, you can define whether you want to display the Virtual IBAN dedicated to the Customer or generate a single-use Virtual IBAN (SCT) from the settings of your Points of Sale. 1.2. Send a PaymentRequest by email / SMS When creating it, you can ask CentralPay to send the payment request to your customer. There are two sending methods: Via the default PaymentRequest mailer: CentralPay sends the payment request using a standardised email/SMS template and from the sender email configured in your point of sale (or, failing that, CentralPay’s sender email « no-reply@centralpay.eu »). To do this, you must [coming soon] Via the CentralPay email/SMS notification service: CentralPay sends the payment request according to the scenario and communication templates you have configured. This service notably enables automated customer reminders, based on the payment request parameters (payment deadlines, payment progress, etc.). To do this, you must [coming soon] 1.3. Specific features Send an open-amount payment request (multi-payment methods) It is possible to allow the amount to be paid to be modified (up to the initial amount), so that your payers can pay the amount due using multiple payment methods or at different times. Example: Example of a €500 payment request:• Payment of €250 by transfer, then €250 by card• Or €300 with a first card, then €200 with another• Or payment of €350 with a card, then come back later to pay the remaining €150 with the same card To do this, you must [coming soon] Send a payment request to multiple recipients It is possible to send a payment request to multiple recipients with a different amount to be paid by each of them. As follows: Each participant receives an email or SMS notification detailing the item to be paid Amounts are set by the initiator or left open for each participant, who pays the amount they wish The dates configured on the request (creation, expiration, etc.) allow notifications to be generated for each participant To do this, you must [coming soon] 2. Creation from the Merchant Portal 2.1. Creation and types of payment requests You can create a payment request from Merchant Portal Payment requests Payment links Create . Payment requests created from the Merchant Portal are necessarily sent to your customers by CentralPay. Depending on your needs, you must choose one of the following request types: Instant request: A simple request, sent from CentralPay’s standard email/SMS senders and templates Scheduled request: An advanced request, using the communication templates, scenarios, and sending/reminder rules that you have previously configured in the CentralPay email/SMS notification service. A scheduled request sent without selecting a notification scenario will automatically be reclassified as an instant request Once created, you can access the payment page by clicking payment request details Payment form . This way, you can send your customer the page URL in case of a sending error. Access: Recette Merchant Portal – Payment requests Production Merchant Portal – Payment requests 2.2. Payment request profiles To make it easier to create payment requests, you can create predefined profiles that include the main request settings: Point of Sale (POS) Currency Language Allowed payment methods Payment due date (contractual payment terms) Link expiration (time before the link expires) Notification scenarios Rerouting of the payment confirmation email Display rules (payment page settings) Customer creation Attachments You can then use this profile when creating your scheduled payment requests via the Merchant Portal, or via flat-file import. 2.3. Create payment requests by flat-file import From Merchant Portal Payment requests Payment links Import , you can upload a payment request import file. This use may be recommended for businesses that want to send, at the end of the month, and automatically follow up on a list of debtors. Download the template: CSV format➝ JSON format ➝ Some important information: LabelDefinitionprofil_uuid*UUID of the payment request profilemerchant_payment_request_idCustom reference (your order or invoice number, for example) that you can use to reconcile the payment. This value will be visible to the payer on the payment page. descriptionCustom description (name of the product or service sold). This value will be visible to your customer on the payment page. total_amount*Payment request amount. Provide as a double with a « . » separator (e.g., 500.00 for €500). last_nameLast namefirst_nameFirst nameemail*Recipient emailphoneRecipient phone number in international format (e.g., 33612345678). create_customerCreation of a « Customer » customer profile: enter « O » for YES or « N » for NOlink_expiration_datePayment request expiration date (date after which the customer can no longer pay you)deadlinePayment due date (date by which your customer must have paid you, and after which they are late).receipt_emailEmail address to which you want to reroute the payment confirmation emaillanguage*Communication and payment page language (FRE for French, ENG for English…)Fields marked with * are required. Payment page (SmartForm) The payment page (also called SmartForm) is a page hosted and secured by CentralPay for collecting customer data and payment details. Generated via the payment request service, it allows your customers to view the details of this request (amount, order reference, etc.) and select an authorized payment method before proceeding to the payment step. 1. Page configuration You can create one or more page templates to customize your payment flow. Below is the list of configurable elements on the page: LabelDefinitionNomPage template nameTemplate par défautCheckbox to define whether this template should be applied by default (payment requests created without a template will use this one)Forcer la création du CustomerCheckbox to systematically force the creation of a Customer when creating the payment request. The Customer creation parameter specified on payment requests will be ignored. Note: CentralPay will not create a new Customer if their email or phone number is already used by another Customer, and will assign the request to that existing CustomerURL de redirectionRedirect URL after payment. Fixed URL; however, you can choose to populate this value dynamically via API for each PaymentRequest if neededDélais de redirectionRedirect delay to the redirect URL after payment. Empty field: no redirect, 0: immediate redirect, other value: number of seconds before redirectURL d'annulationRedirect URL in case of cancellation before payment. Fixed URL; however, you can choose to populate this value dynamically via API for each PaymentRequest if neededCouleur du texteText color of the payment pageCouleur des boutonsButton color of the payment pageChamps supplémentairesAdditional fields that can be added to card (CB) or bank transfer payment flows. Used to collect additional customer data if necessary (address, last name, first name, etc.) Access: Recette Merchant Portal – Form configuration Production Merchant Portal – Form configuration 2. Customizing the logo displayed on the SmartForm The logo displayed on the SmartForm is the one you have specified in the point of sale settings used for your payment request. By default, the CentralPay logo is displayed. Callbacks, statuses and hooks 1. Statuses related to payment requests Consult the Payment Request Statuses ➝ 2. Webhooks related to payment requests As payment requests indirectly allow the creation of card, SCT and SDD transactions, but also other objects like Customer, Subscription or Installment depending on the use cases, it may be useful to track the associated webhooks. Consult the PaymentRequest Webhooks ➝ Consult the Transaction Webhooks ➝ Consult the SCT Transaction Webhooks ➝ Consult the SDD Transaction Webhooks ➝ Consult the Customer Webhooks ➝ Consult the Subscription Webhooks ➝ Consult the Installment Webhooks ➝ Card transaction General information 1. Operation A card transaction comprises a sequence of actions: 1.1. 3DS 2.0 Authentication This ensures that the person making the transaction is indeed the cardholder. The customer’s bank analyzes numerous payment-related factors provided by CentralPay (IP address, location, device used, etc.) and compares them to its customer’s usual data: If the data does not match or the transaction amount is significant, it requires manual identification via a code sent by SMS or through its banking application (« strong authentication » or « SCA ») Otherwise, it directly authorizes the payment (« Frictionless ») 1.2. Bank Authorization A request made by CentralPay to the payer’s bank to verify the validity and funds availability of their card. The « authorized » funds are blocked until the funds are captured. If no capture is performed within 7 days, the « authorized » funds are released, and the merchant will need to renew their authorization. For eligible activities (rental, hospitality, etc.), the « pre-authorization » service allows the merchant to extend the authorization period up to 30 days. 1.3. Capture Capture initiates the debit of the card based on an authorization or pre-authorization. A merchant can perform a full or partial capture of the authorized amount. 2. Accepted Card Types and Networks Payment cards are issued by banks or approved payment institutions; they can be branded by one or more card networks (also called « Card Scheme »). The networks accepted by CentralPay are: Debit Card VISA MasterCard American Express In France, the majority of cards issued are co-branded CB and VISA or CB and Mastercard. In this case, the customer must have the option to choose the network they wish to use. Cards can be debit or deferred debit / credit (in France, the majority of cards are debit), and can be for individuals (referred to as « Consumer ») or for professionals (referred to as « Corporate »). Note that these parameters impact the transaction cost for the merchant (interchange fees and card network fees). CUSTOM payment form The Transaction API service lets you perform an authorisation followed by a capture of funds on your customer’s bank card. All card payment methods (one-off payments, recurring payments, MoTo, etc.) are managed via this service. When a customer wants to make a first payment, their card data must be collected to generate a cardTokenId, using CentralPay’s tokenisation service « token.js ». This temporary token can then be used to create a Card resource, identified by a cardId, which can be stored in a Customer object. This linking is required to enable subsequent payments without asking for the card again (1-click payments, recurring payments, etc.). ℹ️ With a custom payment form (CUSTOM FORM), integrating 3DS 2.2 authentication is mandatory before executing a transaction. Payment flow diagram with cardTokenId: ℹ️ If you have PCI DSS Level 1 certification and you handle card data, you can create a /card object directly by sending the data (PAN, expiry date, CVC) to the API, without using token.js. 1. Prerequisites 1.1. Declare your domains Before using token.js, you must declare the domains hosting your Custom forms in your Merchant Portal. Go to Administration My merchant profile Technical Edit , then complete the Allowed Custom Forms Hosts field. Access: Recette Merchant Portal – Administration Production Merchant Portal – Administration 1.2. Secure your form Ensure that your payment pages use the HTTPS protocol with TLS 1.2 or higher. 1.3. PCI DSS compliance Using token.js means you manage the form display and the token trigger yourself. This method requires compliance with PCI DSS SAQ A-EP requirements. Download the A-EP form ➝ 2. Payment form integration 2.1. Create an HTML payment form Unlike the Smart Form hosted by CentralPay, the Custom Form is created by you, using your own HTML code. You must implement the following fields: Card number: 16 digits for CB/Visa/Mastercard, 15 for American Express Expiry date: MM/YYYY format CVC: 3 digits (CB/Visa/Mastercard), 4 digits (Amex) You can view our Custom Form examples: See the example of a Custom Form without 3DS 2.2 ➝ See the example of a Custom Form with 3DS 2.2 ➝ 2.2. token.js script integration Add the token.js script to your page to generate a cardTokenId: <script src="https://js.centralpay.net/js/token.js"></script> Then add your merchant public key (MerchantPublicKey) in a separate tag: <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('VOTRE_CLE_PUBLIQUE') : alert('Error loading html form'); </script> You can see where to find your MerchantPublicKey on the API authentication page. Integration in a mobile application If you use a WebView in your application, you can integrate either a custom form with token.js or a hosted form via the PaymentRequest service. These options let you externalise card data collection while providing a smooth user experience. In a native mobile application, the token.js script is not compatible. You must then collect card data via the application fields, then call the cardToken API directly using your merchantPublicKey. The call to the cardToken API must include an HTTP Origin header matching a URL declared in your CentralPay Merchant profile (see 2.1 Prerequisites). For your tests, you can use the following Origin: https://example.centralpay.net ℹ️ For native mobile applications, card data is transmitted directly from the user’s device to CentralPay, without going through the merchant’s servers. However, this type of integration requires ensuring compliance with the security and PCI DSS requirements applicable to collecting and transmitting card data in a native environment. 2.3. Create a Customer and link a card ℹ️ The cardTokenId is a single-use token, for which the CVC is temporary (10 minutes in production, 5 minutes in RCT). After this time, the token automatically expires (status=EXPIRED) and can no longer be used, which will result in the following error: "cardTokenId": "Card token already used". Whether you use the card immediately (one-off payment) or want to reuse it later (1-click payment, recurring, etc.), it is recommended to start by creating a Customer object, then save a Card using the cardTokenId. As 3DS 2.2 authentication can sometimes increase processing time, this sequence helps prevent the CVC associated with the cardToken from expiring. Create a customer object via the POST /customer endpoint, or retrieve the customerId if it is already known Create a card using POST /card by specifying the cardTokenId issued by token.js and the customerId Once the card is linked to a customer, the CVC becomes permanent and future transactions can be initiated with no time limit. If you do not use token.js (PCI DSS certification required), you can create a card directly without using the cardToken by providing the PAN + expiry + CVC + customerId 3. 3DS 2.2 authentication Before initiating a card transaction, you must verify the cardholder’s identity via 3DS 2.2 authentication. This step is mandatory for one-off card transactions as well as for recurring card transactions. ℹ️ Exception: MoTo (Mail Order / Telephone Order) transactions are not subject to 3DS authentication. You can create the transaction directly after creating the card. 3DS 2.0 Authentication The 3D Secure 2.0 protocol ensures that the person performing the transaction is indeed the cardholder. The customer’s bank analyzes numerous payment-related factors sent by CentralPay (IP address, location, device used, etc.) and compares them with the customer’s usual data: If the data does not match or the transaction amount is significant, it requires manual identification via a code sent by SMS or via the banking application (« strong authentication » or « SCA »). Otherwise, it directly authorizes the payment (« Frictionless »). 1. Characteristics There are two types of 3DS, depending on whether you wish to initiate a classic transaction (where the cardholder is present) or if you are executing a recurring payment installment (where the cardholder is not present): 1.1. 3DS 2 « BRW » or « Browser Authentication » (participating cardholder – 1st transaction) It represents the majority of 3DS 2 integrations. It requires customer authentication to verify that they are the legitimate cardholder at the time of the transaction. It triggers a challenge if necessary to verify the cardholder’s identity (SCA). 👉 Discover how to integrate 3DS 2.0 BRW ➝ 1.2. 3DS2 « 3RI Authentication » (non-participating cardholder – recurring payment installments) 3DS Requestor Initiated (3RI) Authentication, or Merchant-Initiated Authentication, is used when the cardholder is not present or not participating. 3RI offers the possibility to generate the necessary 3DS authentications without customer involvement. This allows for the use of an authentication previously generated with a customer. It is used in the following recurring payment contexts: Split payment, Subscription, Refund, etc. 👉 Discover how to integrate 3DS 2.0 3RI ➝ Card Transaction Depending on your business needs, CentralPay offers various unit transaction modes via its Transaction API service. Please note, you must first manage the collection of your customer’s card data by creating a Custom Form payment form and integrating 3DS 2.0 authentication. The basic principles of a card transaction are described in the general information section. 1. Authorization and instant capture To perform a simple card payment (authorization then instant capture): Create a Transaction by setting the « source » parameter to « EC » 2. Authorization and deferred capture This transaction mode can be useful if you wish to block your customer’s funds before definitively debiting them, for example, during order validation. This allows you to cancel the operation without being subject to transaction or refund fees. To perform a card payment with deferred capture (authorization then deferred capture), you must: Perform an authorization by setting the « capture » parameter of the Transaction to « false ». Funds will thus be blocked on the customer’s card Then debit the desired amount by initiating a capture on the received transactionId, specifying the desired amount (« amount ») You have 7 calendar days following the authorization to perform the capture; otherwise, the customer’s funds will be released. 3. Pre-authorization and deferred capture The pre-authorization and deferred capture service (or security deposit / PLBS) allows for a pre-authorization of a certain amount, which you can then capture partially or fully within 30 days. During this period, funds are guaranteed to you, as they are blocked on the card and cannot be used by your customer. This service is only accessible to certain authorized activities (vehicle or equipment rentals, hospitality, etc.). To perform a pre-authorization and deferred capture, you must: Perform a pre-authorization by setting the « source » parameter of the Transaction to « DP ». Funds will thus be blocked on the customer’s card Then debit the desired amount by initiating a capture on the received « transactionId », specifying the desired amount (« amount ») You have 30 calendar days following the authorization to perform the capture; otherwise, the customer’s funds will be released. 4. Card verification (secure imprint) The card imprint & verification service allows for a €0 authorization with cardholder authentication (3DS 2.0). This provides you with information regarding your customer’s card (debit, credit, prepaid, etc.) and ensures it is not fraudulent (card not stolen, cardholder identified, etc.). This service is generally used to register a card with 3DS for a subscription with a deferred start date. To perform a card imprint and verification (€0 authorization without capture), you must: Create a Transaction by setting the « source » parameter to « RI » We also recommend creating a « customer » during the transaction to associate the generated « cardId » and allow for a potential subsequent debit of this card 5. Card debit only (MO/TO) The MOTO (Mail Order / Telephone Order) payment service allows for an authorization followed by a capture of a card without the cardholder being present. It is generally used by hotels to debit additional services or consumption at the end of a stay. Please note, this service is only accessible to certain authorized activities (hospitality, etc.) and has shown increasingly lower conversion results since the PSD2 directive, as it does not allow for cardholder authentication. To perform a MOTO payment, you must: Create a Transaction by setting the « source » parameter to « MO » (Mail Order) or « TO » (Telephone Order) 6. One-click card payment One-click card payment consists of saving your customer’s card data so they can pay for their order without having to re-enter it. The customer’s card(s) are securely stored in the CentralPay Customer. In this context, it is necessary to allow your customer to select the card they wish to use or to add a new card. To perform a one-click card payment, you must: Select the « One-click » option in the point of sale configuration Ensure that your Customers have a card linked to their profile Recurring Card Transaction Depending on your business needs, CentralPay offers several recurring transaction modes: Subscription from a subscription templateCentralPay manages the collection of instalments based on a subscription template that you defined in advance. API-driven subscriptionYou manage the collection of each instalment yourself via API (initial BRW authentication, then 3RI), without using CentralPay’s automated subscription service. Installment paymentCentralPay splits an amount due into several transactions and manages their collection, according to the payment terms you provided. Please note: you must first manage the collection of your customer’s card data by creating a Custom Form payment form, create a Customer profile for this customer, and implement the 3DS 2.2 authentication principles. The basic principles of a card transaction are described in the general information section. For a recurring payment, your customer automatically receives an email containing the details of their instalments. This email also includes a link to our Customer Portal, which allows them to view the status of their recurring payments, change their bank card, and cancel a subscription if needed. 1. Subscription from a subscription template 1.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card And perform a 3DS 2.2 BRW authentication Then, the subscription service (Subscription) will allow you to easily initiate a subscription payment based on a subscription template created in advance via the CentralPay API or the Merchant Portal. 1.2. Specific integration cases If the first subscription payment must be higher than the following instalments (e.g., registration fees), you can first initiate a Transaction following your 3DS BRW authentication, then set a start date (startingDate) in the Subscription object. If you simply want to start a subscription on a specific date, you can first perform a verified card imprint following your 3DS BRW authentication, then set a start date (startingDate) in the Subscription object. 2. API-driven subscription 2.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card Perform a 3DS 2.2 BRW authentication Perform an initial Transaction Then, you will be able to initiate the next Transactions yourself using 3DS 3RI authentication. 2.2. Important information To ensure an optimal conversion rate, the amount of the first transaction must be greater than or equal to the amounts of subsequent transactions performed with 3DS 3RI authentication. The CentralPay platform will not consider the generated transactions as « subscriptions »; therefore, the « Merchant Portal » and « Customer Portal » interfaces will display these operations in the same way as a succession of one-off transactions. With this model, the retry automation system will not apply if the collection of one of your transactions fails. 3. Installment payment 3.1. Creation You must first: Create a Custom Form payment form Create a Customer containing at least one Card And perform a 3DS 2.2 BRW authentication Then, the installment payment service (Installment) will allow you to easily initiate an installment payment based on the information provided in your request. Card transaction via wallet 1. Apple Pay (Smart Form) Apple Pay is natively integrated into the SmartForm card payment flow (PaymentRequest > paymentMethod[]=TRANSACTION) as long as your customer’s device is compatible. No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is exposed on the merchant side (PCI-DSS SAQ-A scope). 2. Apple Pay (Custom Form) 2.1. Requirements 1. Create an Apple Developer account: Sign up for the Apple Developer Program Create your Apple Pay merchant credentials (Merchant ID) Generate your Apple Pay processing certificate through the Apple portal Register your domain (Apple Pay Merchant Domain) 2. Device-side integration: Implement Apple Pay on the front end using Apple Pay JS (for websites) or PassKit (for iOS apps) Retrieve the Apple Pay token (ApplePayToken) after the user has confirmed the payment (Face ID, Touch ID, etc.) 🔐 Certificates required for Apple Pay integration (https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request)To process Apple Pay payments through a direct integration, the merchant must have the following:• a Merchant ID Identity certificate;• a Merchant Payment Processing G2 certificate.The merchant must ensure that all private keys used to generate the CSRs associated with these certificates are retained.1. Merchant ID IdentityA CSR based on an EC key (256 bits) must be generated.This CSR will be generated by Centralpay2. Merchant Payment Processing CertificateMain steps:• Request the CSR generated by Centralpay• Submit the CSR through the Apple Developer Account to obtain the Merchant Payment Processing Certificate.• Install the certificate on the same macOS computer used to generate the CSR so that it is associated with the private key.• Export the complete identity in .p12 format (certificate + private key).⚠️ If the option to export in .p12 format is not available, this indicates that a step in the process was not completed correctly (private key is missing or not associated).The .p12 file is a secure container that allows the private key associated with the certificate to be used later, in accordance with the Apple Pay workflow.Important notes:• If you lose your private key, you must completely recreate the certificate through the Apple Developer portal.• The Apple Pay documentation can be confusing: the use of OpenSSL applies only to the Merchant ID Identity certificate and does not apply to the Merchant Payment Processing Certificate. 2.2. Via a decrypted Apple Pay token CentralPay enables the processing of card payments made via Apple Pay as part of a custom integration (excluding Smart Form). ℹ️ CentralPay currently supports only decrypted Apple Pay tokens. This method entails significant PCI-DSS liability on your part (SAQ-D form). Please research this and ensure you are in compliance before developing this integration method. Step 1: Decrypting the Apple Pay token (Backend) The Apple Pay token must be decrypted on your backend using: Your Apple Pay treatment certificate Your private key Apple Documentation: Payment Token Format The result will contain: { "applicationPrimaryAccountNumber": "5454********2664", "applicationExpirationDate": "YYMMDD", "paymentData": { "cryptogram": "base64-cryptogram", "eciIndicator": "05" } } Step 2: Creating the CentralPay cardToken (Backend) Use the /cardToken POST endpoint of the CentralPay API FieldDescriptioncard[number]PAN of the card extracted from the Apple Pay tokencard[expirationMonth]Card expiration month (MM format)card[expirationYear]Card expiration year (YYYY format)onlinePaymentCryptogramCryptogram derived from the Apple Pay token (CAVV)eciIndicatorAuthentication Index Derived from the Apple Pay Token (ECI)applePayTransactionIdApple Pay Transaction IDamountAmount in cents (e.g., 2,500 = €25.00)currencyISO alpha code (e.g., EUR, USD, etc.)merchantPublicKeyPublic key provided by CentralPay ℹ️ Where can I find the merchantPublicKey? Log in to your CentralPay Back Office portal Administration Technical Merchant Public Key Example: card[number]=5454696696312664card[expirationMonth]=12card[expirationYear]=2031onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=applePayTransactionId=3d2b17abed2696ca...amount=2500currency=EURmerchantPublicKey=abcdef123456... The generated cardToken contains all the data needed for Apple Pay authentication. Step 3: Creating the CentralPay Transaction (Backend) Use the /transaction POST endpoint of the CentralPay API Required fields: cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... The cardToken already encapsulates the Apple Pay context and authentication data. Step 4: Testing before deployment The CentralPay test environment allows you to validate your entire Apple Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. Test portal Test API Test cards Differences between the test and production environments: The API URLs are different: They use the “test-” prefix Test: https://test-api.centralpay.net/v2/rest/transaction Deployment: https://api.centralpay.net/v2/rest/transaction The API credentials (login and secret) are specific to the test environment. They are not interchangeable with those used in production. The CentralPay public key (merchantPublicKey) is also environment-specific 2.3. Via an encrypted Apple Pay token (hybrid) ℹ️ If you are interested in this integration method, please contact CentralPay support to learn about the associated deliverables and access procedures. 2.3.1. Apple account settings – Log in on « https://developer.apple.com/« , create an account, and verify your « developer » account for $99) – Go to https://developer.apple.com/account/resources/identifiers/list – Under « App IDs », select « Merchant IDs« : Then click the « + » to add an « Identifier« : Select « Merchant IDs« : Enter your username and click »Register »: Go to https://developer.apple.com/account/resources, then click Identifiers On the “Identify” page, select a Merchant ID using the filter in the upper-right corner Under « Apple Pay Payment Processing Certificate », click « Create Certificate« . Please note that this « Merchant ID » will NOT be used exclusively for China. At that point, click « Choose File » to upload the CSR file that was sent to you by CentralPay (CentralPay only). You can download the generated file.Next, you need to create the “Apple Pay Merchant Identity Certificate.”To do this, go to https://developer.apple.com/account/resources, then click Identifiers and finally click the identifier you want to edit.Once it’s open, click « Create Certificate ». Upload your certificate: Add the associated domain Enter the domain name in question: Download the file specified by Apple Deploy the file specified by Apple to a server on the domain in question that is accessible to Apple, then click “Verify”: You will then be able to download the required certificate. 2.3.2. Payment via Apple Pay Generating the certificate and key in the same file: openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts Creating an ApplePayToken with the Apple Pay JS API (Demo at https://applepaydemo.apple.com/apple-pay-js-api) Front end: <script crossoriginsrc="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"> </script> <style> apple-pay-button {--apple-pay-button-width: 250px;--apple-pay-button-height: 100px;--apple-pay-button-border-radius: 99px;--apple-pay-button-padding: 0px 0px;--apple-pay-button-box-sizing: border-box;}</style><apple-pay-button id="btn-card" buttonstyle="white-outline" type="plain" locale="fr-FR"></apple-pay-button><br /><div data-info="gateway-link" class="text-small text-gray-light font-weight-normal ml-1"> <img src="https://docs.centralpay.com/wp-content/uploads/2024/10/paysecure_reassurance_1-fond_blanc.png" alt="CentralPay" style="max-width:200px"></a></div> var request = { countryCode: 'FR', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard', 'amex'], merchantCapabilities: ['supports3DS'], total: { label: 'Your Merchant Name', amount: '10.00' },}var applepayversion = 3;var session = new ApplePaySession(applepayversion, request);session.onvalidatemerchant = event => {// Call your own server to request a new merchant session.console.log("event.validationURL :"+event.validationURL); fetch('/applepay-session').then(res => res.json()) // Parse the response as JSON..then(merchantSession => {session.completeMerchantValidation(merchantSession);}).catch(err => {console.error("Error fetching merchant session : ", err);});};session.onpaymentauthorized = (event) => { var token = event.payment.token; fetch(`https://api.centralpay.net/transaction`, { method: "post", body: JSON.stringify( { applePayToken: token, endUserIp: "127.0.0.1", currency: "EUR", amount: 1000, source="EC", browserUserAgent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36", merchantTransactionId="1234567890123456789" }), }) .then((response) => { if (response.ok) { return response.json(); } appleSession.completePayment(ApplePaySession.STATUS_FAILURE); }) .then((responseJson) => { // Do something with the response appleSession.completePayment(ApplePaySession.STATUS_SUCCESS); }) .catch((error) => { appleSession.completePayment(ApplePaySession.STATUS_FAILURE); });};session.begin(); Backend: $router->map('GET', '/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface {$APPLE_URL = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $curl = new Curl();$curl->setHeader('Content-Type', 'application/json');$curl->setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); $curl->setOpt($ch, CURLOPT_SSLCERTPASSWD, "thesslpassword"); $curl->setOpt(CURLOPT_POSTFIELDS, '{ merchantIdentifier: "merchant.net.centralpay.test-form", displayName: "MyStore", initiative: "web", initiativeContext: "merchant.net.centralpay.test-form" }' ); $curl->setOpt(CURLOPT_CUSTOMREQUEST, "POST"); $curl->setOpt(CURLOPT_URL, $APPLE_URL);$curl->exec();... return new Laminas\Diactoros\Response\JsonResponse($curl->getResponse());...}); Creating a CardToken with your encrypted Apple Pay token. (Frontend) When making your API call, in addition to the required fields, you must include the “applePayToken” field in JSON format, containing your Apple Pay token, which includes the elements paymentData,paymentMethod, and transactionIdentifier.You can then complete a transaction using your cardToken as usual.Use the CentralPay API’s POST /cardToken endpointRequired fields: curl --location 'https://test-api.centralpay.net/cardToken' \--header 'Origin: https://example.centralpay.net' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx' Creating the transaction: (Backend) Use the /transaction POST endpoint of the CentralPay APIRequired fields: curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789' The cardToken already encapsulates the Apple Pay context and authentication data. Create a transaction using your encrypted Apple Pay token. (Backend) When making your API call, in addition to the required fields, you must include the “applePayToken” field in JSON format, containing your Apple Pay token, which includes the elements paymentData, paymentMethod and transactionIdentifier. Then use the /transaction POST endpoint of the CentralPay API Required fields: curl --location 'https://api.centralpay.net/transaction' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: ••••••' \--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \--data-urlencode 'currency=EUR' \--data-urlencode 'amount=1000' \--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \--data-urlencode 'endUserLanguage=fre' \--data-urlencode 'source=EC' \--data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36' \--data-urlencode 'browserAcceptLanguage=en_US' \--data-urlencode 'email=xxxxx@example.com' \--data-urlencode 'country=FRA' \--data-urlencode 'merchantTransactionId=1234567890123456789'--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx' 3. Google Pay (Smart Form) Google Pay is natively integrated into the SmartForm card payment flow (PaymentRequest > paymentMethod[]=TRANSACTION), provided your customer’s device or browser is compatible. No action is required on your part. The service will be fully managed by CentralPay (Google Pay compatibility detection, certificate and token management, PCI-DSS security). No card data passes through the merchant’s system; the payment flow falls within the scope of PCI-DSS SAQ-A. 4. Google Pay (Custom Form) CentralPay enables the integration of Google Pay via the PAYMENT_GATEWAY mode, as required by Google Pay in a multi-merchant PSP environment, without requiring server-side decryption of the token. Requirements 1. Create a Google Pay Business account: Access the Google Pay Business Console Create a Merchant Profile or link an existing one. Please enter your company and business information. 2. Register your domain: In the Google Pay console, go to the “Domains” tab Add your production and test domains (e.g., example.com) Google will ask you to upload a verification file there to confirm your ownership ⚠️ Google Pay provides a domain-specific merchantId.This merchantId is required for all Google Pay Payment Requests.Using a merchantId that is not associated with the domain results in a Google Pay error (Error 11). 3. Implement your Google Pay front-end integration: Implement Google Pay on the front end using Google Pay JS (for websites) or Google Pay Android API (for mobile apps) Collect the Google Pay token (tokenizationData.token) after the user has authorized the payment (PIN, fingerprint, facial recognition, etc.). ℹ️ Google offers an official tutorial for this integration: Google Pay API | Google for Developers 4. Retrieve your CentralPay login credentials: MerchantPublicKey: Log in to your CentralPay Back Office portal → Administration → Technical → Merchant Public Key API Login: Log in to your CentralPay Back Office portal → Administration → Technical → API ID and copy the ID API Pass: Log in to your CentralPay Back Office portal → Administration → Technical → Click on your API ID → Edit → Generate, copy your API pass, and update it Step 1: Configuring Google Pay on the front end ℹ️ The Google Pay button is provided by the official Google Pay SDK.Payment initiation and token generation are entirely controlled by Google Pay (hosted button). 1. Specify the API version: const baseRequest = { apiVersion: 2, apiVersionMinor: 0 }; 2. Use CentralPay as a payment gateway: Configure tokenization as follows: const tokenizationSpecification = { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'centralpay', gatewayMerchantId: 'YOUR_GATEWAY_MERCHANT_ID' } }; Replace YOUR_GATEWAY_MERCHANT_ID with your MerchantPublicKey provided by CentralPay. 3. Specify the types of cards accepted: const allowedCardNetworks = ["AMEX", "MASTERCARD", "VISA"]; 4. Select the payment method: There are two different types: PAN_ONLY and CRYPTOGRAM_3DS ⚠️CentralPay does not allow the use of the PAN_ONLY type because it requires compliance with specific security standards. Only the CRYPTOGRAM_3DS type is allowed. const allowedCardAuthMethods = ["CRYPTOGRAM_3DS"]; 5. Test or production environment: // Environnement de test const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'TEST' }); // Environnement de production const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION' }); Step 2: Retrieving the Google Pay token When an end user authorizes a payment via Google Pay, the API returns a token in JSON format in: paymentData.paymentMethodData.tokenizationData.token This field contains a JSON string representing an object of the following type: { "signature": "MEYCIQDn...", "protocolVersion": "ECv2", "intermediateSigningKey": { "signedKey": "{...}", "signatures": ["MEUCID..."] }, "signedMessage": "{...}" } This block must be sent as-is to the CentralPay API when creating the cardToken in the googlePayToken field. Step 3: Sending the token to CentralPay (creating the cardToken) Make a POST request to CentralPay’s /cardToken endpoint with the following parameters: Required parameters: FieldDescriptionamountAmount in centimes (e.g., 2,500 for €25.00)currencyISO alpha code (e.g., EUR, USD, etc.)googlePayTokenThe complete JSON returned by Google Pay (tokenizationData.token)merchantPublicKeyCentralPay public key available in the back office Example request (x-www-form-urlencoded format): amount=2500currency=EURmerchantPublicKey=abcdef123456...googlePayToken={"signature":"MEYCIQDn...","protocolVersion":"ECv2",...} Do not decrypt the token yourself: CentralPay handles its validation on the server side. Step 4: Creating the transaction Once you have obtained the cardToken, you can initiate a transaction in the standard way via endpoint POST /transaction. Example settings: cardToken=...amount=2500currency=EURpointOfSaleId=...endUserIp=...merchantTransactionId=... The cardToken already contains all the authentication information: there is no need to add a cryptogram or a CVV field. Step 5: Testing before deployment The CentralPay test environment allows you to validate your entire Google Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. Test portal Test API Test cards Differences between the test and production environments: The API URLs are different: they use the “test-” prefix Test: https://test-api.centralpay.net/v2/rest/transaction Deployment: https://api.centralpay.net/v2/rest/transaction The API credentials (login + secret) are specific to the test environment.They are not interchangeable with those used in production. The CentralPay public key (merchantPublicKey) is also environment-specific Card Refund Transaction 1. Refund – refund You can refund a Transaction if it is CLEARED via the Refund service or from the Transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds on their card within 3 to 5 business days after the operation. Your payment account is debited immediately, so it must be solvent to perform the operation. You cannot cancel a refund once it has been processed. ⚠️ If the card to which you are attempting to issue the refund has expired or the account has been closed, CentralPay will not be able to process the refund. In this case, we invite you to contact your customer to request up-to-date bank details and proceed with a SEPA transfer from your bank. 2. Credit – credit You can credit a customer’s card without an initial transaction from the Credit service. There are several ways to do this: Tokenize a card via the cardToken service and then enter it into the Credit service Create or search for a Customer with a valid card, then enter their « customerId » and « cardId » into the Credit service ℹ️ This service is only available for specific activities; contact CentralPay for more information. 3. Chargeback – Dispute When a cardholder disputes or reports a transaction to their bank, the network (Visa, Mastercard, Carte Bancaire, etc.) may notify CentralPay to initiate a dispute operation (Dispute).This operation allows you to track the status of the dispute and act according to the type of signal received: fraud alert, information request, or chargeback. Each dispute is represented in the CentralPay back office by a distinct operation (Dispute), linked to the original transaction. Notifications are also available via the webhook DISPUTE_CREATED. For any card payment, a customer can dispute a transaction with their bank within the following timeframes: 120 days from the transaction for Visa and Mastercard networks; 13 months from the operation date for the French Carte Bancaire network. ℹ️ In France, disputes are generally reserved for cases of fraud (stolen, usurped, or misused card).In other European countries, they can also be used in the context of a commercial dispute (product not delivered, non-compliant service, etc.). 1. Fraud Alert FRAUD_NOTICED This status corresponds to a preventive fraud notification transmitted by the network (e.g., TC40 file for Visa).It is triggered when the issuing bank reports that a cardholder claims not to have originated the transaction (stolen, copied, or usurped card). ➡️ No refund is initiated at this stage.➡️ This signal allows you to anticipate a potential chargeback and strengthen your anti-fraud controls. Best practices: Identify the transaction concerned (amount, country, card, date). Check for similar transactions (same card, same account, same IP). Blacklist the card or account to prevent new attempts. Retain proof of authenticity (logs, proof of delivery, consent). Do not contact the cardholder directly (the signal comes from their bank). 2. Information Request RETRIEVAL_NOTICED This status corresponds to a documentary request issued by the cardholder’s bank.It occurs when a customer does not recognize a transaction, without mentioning fraud. The issuing bank then asks CentralPay to request the merchant to provide evidence (invoice, receipt, proof of delivery, etc.). ➡️ A response is expected within 7 days.➡️ If the elements are accepted, the dispute is closed (RETRIEVAL_CLOSE).➡️ If no response is submitted, the cardholder’s bank may trigger a chargeback. 3. Official Chargeback CHARGEBACK_NOTICED A chargeback corresponds to a formal refund request initiated by the issuing bank.It may result from: confirmed fraud (following an FRAUD_NOTICED); an unresolved dispute (following an RETRIEVAL_NOTICED); or another reason recognized by the networks (product not received, incorrect amount, non-compliant service, etc.). When a chargeback is issued: The transaction amount is debited from your payment account to refund the cardholder. Non-refundable fees apply for each dispute received, even if the outcome is favorable. You have 20 calendar days to respond to the dispute by providing supporting documents: Proof of delivery or service execution, Proof of cardholder consent (mandatory for non-3D Secure transactions), Other documents demonstrating the legitimacy of the payment. Failure to respond within the allotted time will result in the dispute being automatically lost. Once your response is submitted, the issuing bank analyzes the provided elements: StatusDescriptionCHARGEBACK_WONThe evidence was deemed sufficient. The transaction amount is re-credited to you. CHARGEBACK_LOSTThe dispute is maintained. The refund to the cardholder becomes final. Confirmation email When a card transaction has been successfully completed, CentralPay can send a payment confirmation email to your customer. To do this, you must enable it by configuring the confirmation email settings in your Point of Sale. This email is sent by default to the email address of the Customer associated with the transaction, but you can enter the receiptEmail value of the transaction if you wish to send it to a different address. Configuration The confirmation email has a standardized format displaying the various payment details; however, you can configure several parameters from the Merchant Portal. Sender email address: Configuration from the Point of Sale Sender name: Configuration from the Point of Sale Your logo: Configuration from the Point of Sale Point of Sale name: Configuration from the Point of Sale Footer text: Configuration from the Configuration Payment confirmation email Create entry Display language: Enter the « endUserLanguage » value in the Transaction request (English by default) Bank statement descriptor The bank statement descriptor is the description that will be displayed on your customers’ bank account statements for each of your card transactions. When a CentralPay Merchant profile is created, a bank statement descriptor is defined automatically using the name of your first Point of Sale: CPAY*PointOfSaleName You can request CentralPay to modify your descriptor; however, it must allow your customers to clearly identify you or access your complaint site. Currency management In the context of international business, your customers may have a card linked to a bank account in a non-Euro currency. Regardless of your integration, these customers will be able to pay you in Euros thanks to the automatic conversion system of the card networks (Visa, Mastercard, American Express). Your customers will bear all currency conversion costs, and you will receive Euros in your CentralPay payment account. In certain cases, CentralPay can allow you to process credit card transactions in different currencies: Euros (EUR), Dollars (USD), Swiss Francs (CHF), and Pounds (GBP). Contact CentralPay if multi-currency transaction management is a requirement for your business. Note that in this case, acquisition costs in foreign currencies (non-EURO) are subject to additional fees and will be deducted from your transaction amounts. ℹ️ Outgoing payments (payout) via SEPA transfer can only be made from available balances in EUROS. Non-EURO balances are paid out via SWIFT transfer, which incurs higher fees. However, it is possible to schedule SWIFT payouts so that they are only executed once a certain threshold is reached, in order to better control transfer costs. Virtual Card Management (VCC) 1. Operation Major OTAs such as Booking.com, Expedia.com, hotels.com, and Agoda.com can collect payments at the time of booking. In such cases, they provide hoteliers not with the guest’s actual card information, but with an alias, a virtual card or VCC. A virtual card, or VCC, is generally issued for restricted use in order to limit the risk of compromise. A virtual card is, in a sense, an alias for an existing card that can only be used starting on a specific date and from a defined MCC. In this case, in the tourism sector, a contract with MCC 7011 (HOTELS) is required in order to charge the card. Thus, even if the card number fell into the hands of a malicious individual, that person would not be able to initiate a charge on the source card. Given the unique nature of the cards issued by these OTAs, it is generally impossible to perform authorization, pre-authorization, or verification requests at the time of the order. If the card can only be charged on the day of the reservation, for example, by an MCC 7011, the issuer, typically MASTERCARD B2B PRODUCT, will return an error code for an invalid transaction (12). ➡️ Booking.com Virtual CardsBooking.com uses virtual cards for certain destinations. Depending on the settings configured on the hotel’s website, a reservation may be made with or without a credit card authorization. If the hotelier has chosen to require a payment method, Booking.com will generate a virtual card and send it to the hotelier or their technical service provider. Following the COVID-19 crisis, Booking.com no longer authorizes charges to its virtual credit cards until one day after the guest checks in. Learn more about how Booking.com virtual cards work ➝ ➡️ Expedia.com Virtual CardsAt Expedia, visitors can choose between paying at the hotel (Hotel Collect) or paying directly when they make their reservation (Expedia Collect). This option is called Expedia Traveler Preference (ETP). If a customer uses the Expedia Collect method, a virtual card will be generated. Learn more about how Expedia.com virtual cards work ➝ 2. Managing Virtual Cards with CentralPay The best way to store a VCC and be able to use it once it becomes available is to create a “Customer” and link the card to that customer. There are two options available: Either the card is chargeable at the time of creation, and a verification request can be made when the customer is created, Either the card cannot be used when the customer is created, and the card must be added without verification. This does not mean that it cannot be used later on. It simply means that it should not be charged until a certain date. Generally, OTAs will have verified the card information beforehand to ensure that it is valid for charging. Thus, creating a Customer in the CentralPay API allows you to tokenize the virtual card, secure its storage, and facilitate its use once the initial acceptance criteria have been met. Callbacks, statuses and hooks 1. Bank Return Codes for Card Transactions When a card transaction (Transaction) is initiated, an authorization request is submitted to the card-issuing bank. It responds with a code, allowing for the interpretation of the authorization’s acceptance, refusal, and the reason for refusal. The cardholder’s bank (also called the « issuing bank ») expresses its refusal based on its own choices, which are entirely independent of CentralPay. CentralPay possesses no additional information if a card is declined and has no means of obtaining it. Main bank return codes: CodeDescriptionA1 – VADS FallbackPSD2 and Soft declineThe bank declines the transaction because it does not have strong authentication (3DS 2.0).It is necessary to re-process this transaction with 3DS to avoid this code.57, 3 and 5Generic Bank RefusalThe bank declines without providing a specific status.This could be an incorrect CVV code or another decision unknown to us.This status does not confirm that the bank will not accept the authorization after further attempts.4, 7, 14, 15, 31, 33, 34, 41, 43, 54, 55, 56, 59, 63, 76Suspicion of Fraud or Card TheftThe issuing bank believes its customer is no longer in possession of the card and that it is a case of identity theft.51, 61Insufficient Funds / Limit ReachedThe card has exceeded the authorized limit amount or does not have sufficient funds.The card may be accepted again later, as limits are calculated on a 7-day rolling basis, so a transaction can certainly be retried the next day.12Invalid TransactionThe bank declines without providing a specific status. This could be:– Simply an invalid transaction– A code 75 from the issuing bank (the card’s PIN code was entered incorrectly too many times).– An incorrect CVV (provided by the ACS during 3DS authentication)– Or another decision unknown to us. Consult the complete list of bank return codes ➝ 2. Card Transaction Statuses Consult Transaction Statuses ➝ Consult Refund Statuses ➝ Consult Credit Statuses ➝ Consult Dispute Statuses ➝ Consult Subscription Statuses ➝ Consult Installment Statuses ➝ 3. Webhooks for Card Transactions Consult Transaction Webhooks ➝ Consult Card Webhooks ➝ Consult Refund Webhooks ➝ Consult Credit Webhooks ➝ Consult Customer Webhooks ➝ Consult Dispute Webhooks ➝ Consult Subscription Webhooks ➝ Consult Installment Statuses ➝ Bank Transfer Transaction General information 1. Operation Bank transfers are the most common method of payment for business transactions. They involve the direct transfer of funds from one account (bank or payment account) to another, without using any additional medium, such as a card. The individual or legal entity requesting the transfer is called the payer (or sender), and the one receiving the money is the payee. Unlike a card payment or a SEPA direct debit, only the sender themselves can initiate a wire transfer. To do so, they log in to their bank’s online banking portal, enter the beneficiary’s bank details (IBAN + BIC + account holder’s name), and then specify an amount and a transfer reference. Some important information: The processing time for a standard transfer with CentralPay is 4 to 24 business hours (compared to 24 to 48 business hours at most traditional banks). Starting in October 2024, it will also be possible to receive instant transfers (processed in <5 seconds). The transfer does not pose a significant financial risk to the receiving merchant, since the sender undergoes strong authentication with their bank and therefore cannot dispute the transaction Issuing banks set a settlement limit for wire transfers that is significantly higher than the limit applied to SEPA direct debit transactions or card payments Depending on the features offered by their bank, the sender can set up a recurring transfer or a deferred transfer 2. Accepted Network Types There are two types of bank transfers: SEPA transfers (or SEPA Credit Transfers): Used for transactions in euros between two member countries of the SEPA area (= 27 European Union countries + the United Kingdom, Monaco, Andorra, the Vatican, Switzerland, Liechtenstein, Norway, Iceland, and San Marino) International wire transfers: Used for international transactions in euros or other currencies via the SWIFT network The fees for SEPA networks are very favorable (just a few tenths of a cent, compared to several tens of euros for SWIFT). SWIFT, however, offers several options for paying these fees: they can be borne by the sender, the recipient, or shared between the two. CentralPay is accessible to all banks in the European Economic Area that use the SEPA networks (via STEP2 for SCT/SDD, as well as TIPS and RT1 for “Instant SCT”). Only transfers made through international networks or in currencies other than the euro are not currently accepted (via the SWIFT network, for example). Virtual IBANs Payment by bank transfer requires the customer making the payment to provide the bank details (IBAN + BIC + account holder’s name), the payment amount, and the transfer reference. If the reference number is missing or formatted incorrectly (whether due to the customer or the customer’s bank’s system), the payee must manually review the received transfer to match it to the correct invoice and customer account. CentralPay allows you to provide a different virtual IBAN to each of your customers (Customer) or on each of your invoices (PaymentRequest). Thus, when a transfer is received, CentralPay automatically identifies the sender and can reconcile the invoice for you based on the virtual IBAN used by your customer, even if there is an error in the reference number. A virtual IBAN is identical in every way to a standard IBAN, which makes the process completely transparent for your customers. With this service, you will be able to: To be notified instantly when a customer has paid you via bank transfer Automate your internal alerts and customer follow-ups (via the notification service) To automate the reconciliation of your payments in your accounting or billing solutions (ERP, etc.) For platforms and marketplaces: to easily identify the merchant receiving the payment and transfer the funds to them You can create CentralPay Virtual IBANs from various services on the platform: From the Customer service department From the SCT Transaction department From the PaymentRequest department ℹ️ Each payment or e-money account comes with its own dedicated virtual IBAN by default 1. Check the virtual IBAN for your accounts You can find the virtual IBAN for your accounts in the Merchant Portal Administration Accounts IBAN/BIC: It is also possible to query the CentralPay API using the /bankAccount endpoint Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts 2. Create a Virtual IBAN for a specific customer You can create a virtual IBAN for a specific customer when creating a new Customer or when updating an existing customer. To do this, you must enter the UUID of the payment account into the “walletIdForIban” field—the account into which you want to receive the funds. You can find it under Merchant Portal Administration Accounts UUID: Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts In return, you will receive the “iban” and “bic” values in field bankAccounts, which make up your Customer‘s virtual IBAN. ℹ️ The BIC for IBANs issued by CentralPay is CEAYFR22 3. Creation of a Virtual IBAN Dedicated to an SCT Transaction Just as with a customer, you can create a virtual IBAN specific to a bank transfer transaction when creating an SCT transaction. ℹ️ As a reminder, CentralPay automatically creates an SCT transaction when you receive a transfer to your primary virtual IBAN or a customer’s virtual IBAN. However, you can create an SCT transaction in advance to assign it a dedicated virtual IBAN and a custom reference, for example. To do this, you must enter the UUID of the payment account into the “ibanWalletId” field, the account into which you want to receive the funds. You can find it under Merchant Portal Administration Accounts UUID: Access: Recette Merchant Portal – Accounts Production Merchant Portal – Accounts In return, you will receive the “iban” and “bic” values in field bankAccounts, which make up the Virtual IBAN for your SCT Transaction. ℹ️ A virtual IBAN assigned to an SCT transaction is no longer valid once the SCT transaction has been paid in full. However, it is possible to receive multiple smaller transfers to the same IBAN to make up the full amount of the SCT transaction. Please note that if a received transfer exceeds the amount of the SCT Transaction, it will still be accepted. You will need to issue a partial refund to return the overpayment to your customer. 4. Using Virtual IBANs in Payment Requests You can use Customer Virtual IBANs or SCT Transactions through the payment request service if you accept the “SCT Transaction” payment method. You can select the type of Virtual IBAN you want to display in your payment requests from the “Priority Viban” field in your point-of-sale settings. If you select: SCT: The payment request will automatically generate a virtual IBAN specific to the SCT transaction Client: The payment request will use the customer’s virtual IBAN if they already have one; otherwise, it will automatically generate one. ℹ️ For payment requests using a vIBAN submitted exclusively via SCT Transaction: If you cancel the payment request, the associated vIBAN will no longer be accessible. As a result, any transfer received at that vIBAN will be automatically returned to the sender. Bank Transfer Transaction 1. Operation An SCT Transaction is a bank transfer received at one of your CentralPay Virtual IBANs. It can be created in three different ways: AutomaticallyIf you provide a dedicated Virtual IBAN for one of your customers or one of your payment accounts, CentralPay will automatically create the SCT Transaction upon receipt of the transfer. You can then reconcile this SCT Transaction with your order/invoice by retrieving the value from the “description” field (which corresponds to the reference your customer entered in their online banking portal). From the SCT Transaction serviceIf you want to automate the reconciliation of the wire transfer with the transaction, you can: Create an SCT transaction with a dedicated virtual IBAN: this will ensure 100% accurate reconciliation of your transaction. Please note that in this case, your customers will need to add a new payee in their online banking portal for each transfer they send to you. Create an SCT transaction using a Virtual Customer IBAN and retrieve the short reference generated by CentralPay for this transaction: this will allow you to automatically reconcile the transfer with the corresponding customer profile, and potentially track it down to the specific transaction if your customer has correctly entered the reference in their transfer From the Payment Request ServiceIf you would like to have CentralPay display payment information to your customers (amount, IBAN, BIC, reference, etc.), you can create a Payment Request that authorizes payments via SCT Transaction. This option also makes it easy to manage multiple transfers or customer payments made through various payment methods 2. Create a transaction SCT Create an SCT Transaction: Enter an amount in cents (amount) and a currency (currency) If you want to create a Virtual IBAN specifically for the SCT Transaction, enter the UUID of the payment account where you want to receive the funds in the “ibanWalletId” field. You can find this UUID in the Merchant Portal Administration Accounts UUID If you want to use an existing Virtual IBAN (assigned to a customer or a payment account), enter the desired IBAN in the “iban” field You can then retrieve the “sepaReference” value generated by CentralPay and provide it to your customer so that CentralPay can match the transfer to your transaction Or enter your own custom reference in the “merchantSctTransactionId” field to reconcile the transfer yourself using our transaction exports Pay by Bank - Payment Initiation (PIS) 1. Operation The Payment Initiation Service (PIS) allows your customers to make a bank transfer directly from their online banking environment, without having to manually enter the recipient’s details. This feature is based on the Open Banking protocol and complies with PSD2. At CentralPay, this service is offered under the name “Pay by Bank” and is currently available only through the hosted payment form (SmartForm) when using the PaymentRequest service. ℹ️ This service is available only through the Smart Form (PaymentRequest). It is not yet possible to use this payment method as the sole option; it is always offered in addition to the traditional bank transfer payment service. The payment experience depends on the interfaces provided by the paying customer’s bank. 2. Service activation Payment initiation is not enabled by default. To use this feature, you must submit a request to the CentralPay support team. 3. Use via PaymentRequest To allow your customers to initiate a transfer directly from the payment form, you must: Create a PaymentRequest following the usual procedure. Include the following payment method in the `payment_methods` property:• PIS Standard `“payment_methods”`: [“SCT_TRANSACTION_PIS”]• PIS IP `“payment_methods”`: [“SCT_TRANSACTION_PIS_IP”] When this payment method is available, the Smart Form will offer the user a choice between: Standard bank transfer (bank account information displayed for you to copy) Initiating a payment through one’s banking system (Pay by Bank) ℹ️ At this stage, it is not possible to require the exclusive use of the payment initiation feature. The form will always display the option to enter standard bank account information. 4. User journey The user selects “Pay by Bank” on the form. The user selects “Pay by Bank” on the form. He selects his bank from the list provided He is redirected to his bank’s website to confirm the transfer Once the payment is initiated, the user is redirected to your return page 5. Monitoring and status reports Once the PaymentRequest has been created, the status of the transfer is available via the API, just as with any other payment: The payment_method field will be set to SCT_TRANSACTION The “status” field will indicate the progress of the payment initiation (for example, PENDING, SUCCEEDED, FAILED) ℹ️ As with traditional transfers, the completion of the payment depends on the customer’s bank actually processing the transfer. The customer can choose between a standard transfer (D+1) and an immediate transfer. 6. List of available banks by country ℹ️ In the staging environment, a bank named “Test Connector” is displayed to allow you to test the end-to-end flow. Please note: The maximum amount allowed on this test connector is €20. French banks: InstitutionStandardSnapshotAllianz Bank✅ Available🚫 Not availableArkéa Banking Services✅ Available🚫 Not availableArkéa Bank for Businesses and Institutions✅ Available✅ AvailableArkéa Private Bank✅ Available✅ AvailableAXA Bank✅ Available✅ AvailableBCP Bank✅ Available✅ AvailableChalus Bank✅ Available✅ AvailableBank of Savoy✅ Available✅ AvailableBank of Territoires✅ Available🚫 Not availableCrédit Mutuel European Bank✅ Available✅ AvailableBanque Populaire✅ Available✅ AvailableTransatlantic Bank✅ Available✅ AvailableBBVA (Not activated)🚫 Not available🚫 Not availableBforBank✅ Available🚫 Not availableBNP Paribas✅ Available✅ AvailableBNP Paribas Business✅ Available🚫 Not availableBNP Paribas New Caledonia (Not activated)🚫 Not available🚫 Not availableBoursoBank✅ Available✅ AvailableBRED✅ Available✅ AvailableBTP Bank✅ Available✅ AvailableCaisse d’Épargne – Personal Banking✅ Available✅ AvailableCaisse d’Épargne for Professionals✅ Available✅ AvailableCCMDirect (Not activated)🚫 Not available🚫 Not availableCIC✅ Available✅ AvailableCIC Private Bank✅ Available✅ AvailableCrédit Agricole✅ Available✅ AvailableCrédit Coopératif✅ Available✅ AvailableCrédit Maritime✅ Available✅ AvailableCrédit Mutuel✅ Available✅ AvailableCrédit Mutuel of Bretagne✅ Available✅ AvailableCrédit Mutuel of Southwest✅ Available✅ AvailableFortuneo✅ Available✅ AvailableHello bank!✅ Available✅ AvailableING Wholesale Banking✅ Available🚫 Not availableLa Banque Postale✅ Available✅ AvailableLCL✅ Available✅ AvailableLouvre Private Bank✅ Available✅ AvailableManager.one✅ Available🚫 Not availableMemo Bank✅ Available✅ AvailableMonabanq✅ Available✅ AvailableN26✅ Available✅ AvailableNef Pro✅ Available🚫 Not availableNeuflize OBC (Non activé)🚫 Not available🚫 Not availablePalatine✅ Available✅ AvailableQonto✅ Available🚫 Not availableRevolut✅ Available🚫 Not availableSociété Générale✅ Available✅ Available Reconciliation of a payment request CentralPay offers a service called bankReconciliation that allows you to link one or more SCT transactions to a payment request (PaymentRequest) if you are not using the virtual IBANs designated for SCT transactions. 1. In the event of a reference error on the part of your client When you use payment requests with virtual IBANs assigned to a specific customer, and your customer does not enter the “sepaReference” correctly when making the transfer, CentralPay is unable to automatically match the transfer to the payment request. You can therefore use the bankReconciliation service to map the received SCT Transaction to the payment request that was originally created: amount = transfer amount in centimes wireTransferID = SCT TRANSACTION ID (available in the SCT TRANSACTION hook) paymentRequestBreakdownId = PaymentRequest breakdown ID (available in the PaymentRequest hook) 2. If you are using your own order reference If you want to manage your accounts receivable in CentralPay using the Payment Requests service without using the Smart Form payment page, follow these steps: For each customer: Create a Customer record with a vIBAN, retrieve the vIBAN, and display it in your sales funnel along with your order reference At the same time, create a paymentRequest containing the same order ID (in the “merchantPaymentRequestId” field) and the order amount As soon as you receive a customer transfer, you can identify the associated order using the “description” field in the SCT Transaction. Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId » If a PaymentRequest has the same reference, you associate it with the “bankReconciliation” service If no PaymentRequest has the same reference number, but the transfer was received to a vIBAN Customer that has only one pending PaymentRequest or one with an identical amount, you can reconcile them using a bankReconciliation. If no PaymentRequest has the same reference number and the Customer has multiple PaymentRequests pending settlement or for different amounts, trigger an alert in your system so that your finance department can manually reconcile the transfer (by manually linking it to the correct PaymentRequest via a bankReconciliation). Transfers not associated with a PaymentRequest will thus be easily identifiable As well as unpaid or partially paid PaymentRequests SCT R-transaction You can issue a refund for an SCT Transaction if it has been RECEIVED via the Refund service or from the SCT Transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds in their bank account within 24 to 48 business hours after the transaction. Your payment account is debited immediately, so it must have sufficient funds to complete the transaction. You cannot cancel a refund once it has been processed. International wire transfers International bank transfers are processed through the SWIFT network (unlike the SEPA network for European transfers). These transfers can be initiated from a wide range of countries in euros or other currencies. It will soon be possible to accept international wire transfers through the SCT Transaction service. Please contact CentralPay if this service is important to the growth of your business. Responses, statuses, and 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 Consultez les Statuts Transaction ➝ Consultez les Statuts Refunds ➝ 3. Webhooks liés aux SCT Transactions Consultez les Webhooks SCT Transaction ➝ Consultez les Webhooks Refunds ➝ Consultez les Webhooks Customer ➝ SEPA direct debit transaction General information The SEPA Direct Debit (or “SDD”) allows a creditor (merchant) to collect an amount owed directly from the debtor’s (customer’s) account. It is primarily intended for recurring payments (subscriptions or installment payments) but may, in certain cases, be used for one-time payments (for example, to settle invoices between businesses). Since it is issued at the creditor’s initiative, it requires prior authorization from the debtor. The merchant therefore prepares a “SEPA Direct Debit Mandate” specifying the terms of the direct debit and the bank details of both parties, which the debtor must sign. 1. The two types of SEPA direct debits There are two types of SEPA direct debits: The SEPA “CORE” direct debit: the most widely used type, it allows creditors to debit the accounts of both individuals and legal entities. The SEPA direct debit mandate is drawn up and signed by both parties without any specific restrictions. However, the debtor is protected and may dispute a CORE direct debit with their bank within 8 weeks without providing a reason. The SEPA “B2B” direct debit: reserved for direct debits between businesses. The SEPA direct debit mandate is printed, signed, and then must be submitted by the debtor to their bank. The onboarding process thus requires significant action on the part of the debtor and validation by their bank. However, direct debits initiated using this type of mandate cannot be disputed. CentralPay does not offer this “B2B” SEPA direct debit service 2. Risks of rejections and contests Since the SEPA Direct Debit is a payment method in which transactions are initiated without strong customer authentication, the risks of rejections and disputes must be taken into account. 👉 See the “R-Transaction SDD” section to learn more about SDD rejections and disputes 3. Important information The SEPA Direct Debit can be used with the vast majority of “checking” accounts in SEPA countries and some in the European Economic Area outside the SEPA zone. This depends on the connectivity of the payees’ banks to the SEPA networks. Special accounts, such as “savings accounts,” are not accessible. SEPA transactions are processed in euros (€) only SEPA transactions are processed on business days only (excluding weekends and holidays). As a result, the time it takes for funds to be received ranges from 2 to 5 days from the date the transaction is initiated. The creditor must notify the debtor of upcoming debits at least 14 days in advance, either by sending a payment schedule, a notice, or an invoice A SEPA direct debit mandate is valid for 36 months after the last transaction processed under that mandate In the case of a SEPA direct debit from a business’s (legal entity’s) bank account, the creditor must ensure that the SEPA direct debit mandate is addressed to and signed by the executive or an authorized representative (manager, accounting department, etc.). The SEPA Direct Debit is particularly well-suited for recurring transactions ranging from 20 to 200 EUR for individual payers and from 20 to 2,000 EUR for corporate payers SEPA Creditor ID The SEPA Creditor Identifier (ICS) is a unique reference number that identifies each direct debit issuer. In France, it consists of 13 alphanumeric characters, the first two of which represent the ISO country code (FR for France). Having an ICS is a mandatory requirement for making direct debits. The creditor must apply to their bank for an ICS. The creditor then retains their ICS, even if they switch banks. Please provide your ICS to CentralPay when you first sign up so that our teams can enter it into your account. Bank account statement To process a SEPA direct debit transaction, you must first create your customer’s (the payer’s) profile and enter their bank account information on the CentralPay platform. 1. Create a “Customer” client profile Collect your customer’s information (email, last name, first name, etc.) Create a Customer client profile Retrieve property customerId from the Customer creation response 2. Create a « bankAccount » bank account Collect your customer’s bank account information (IBAN, BIC, account holder’s name, etc.) Create a bankAccount by entering your client’s customerId Retrieve bankAccountId and identityId from the creation response bankAccount Creating a SEPA direct debit mandate After registering the customer’s bank account bankAccount and linking it to their “Customer” profile, you can create a SEPA mandate “mandate” and collect your customer’s electronic signature using a one-time password (OTP) sent via text message. Prerequisite: You must retrieve the creditorBankAccountId from your CentralPay Merchant Profile that corresponds to your ICS. You can find it in your Merchant Portal by using a profile with Admin privileges: Administration My Merchant Profile Bank accounts Locate the row containing your ICS in the “IBAN” column, then copy the associated UUID. 1. Creating and signing a new SEPA mandate 1.1. Create a SEPA direct debit: Create a « Mandate » Enter your « creditorBankAccountId » Enter your customer’s « CustomerId » Enter your Unique Mandate Reference (RUM) Specify the type of payment you want to create in the “paymentType” property Enter your customer’s phone number in the “debtorPhone” property Enter your customer’s email address in the “debtorEmail” property Specify your customer’s bank account by entering their “bankAccountId” in the “debtorBankAccountId” property. Once the SEPA direct debit has been set up: Un « mandateId » sera généré The mandate status will be PENDING A 6-digit code (OTP) will be sent to your customer via text message (valid for 15 minutes). You can have the OTP resent. 1.2. Sign a SEPA direct debit authorization: Sign the « Mandate » Collect the 6-digit code from your customer and enter it in the “otp” property Enter the “mandateId” generated when the mandate was created Enter your client’s IP address in the “endUserIp” property The mandate status will then change to “ACTIVE,” and the SEPA mandate in PDF format will be emailed to the customer. 1.3. Flowchart for bank account registration and power of attorney creation 2. Declaration of an existing mandate (migration) When migrating payment orders that were previously created with another payment service provider, you can disable the SMS OTP signature feature and the option to send SEPA payment orders via email. If this applies to you, please contact our team for more details about this process. Requirements: Direct debits must have been set up using your SEPA Creditor Identifier (ICS) Power of attorney documents must have been created using your current legal entity The payment orders must have been duly signed and accepted by your debtors Accounts must still be active (less than 36 months since the last transaction) 3. Modifying an existing SEPA mandate 3.1. Possible changes that do not require a new mandate Certain information may be updated without requiring the signing of a new SEPA direct debit mandate, provided that the debtor is properly notified: Change in the creditor’s name (change in the legal structure of the entity making the deduction) Change to the SEPA Creditor Identifier (ICS) Change to the Unique Mandate Reference (RUM) Change of account or IBAN for the payer within the same bank Change of account/IBAN of the payer following a change of bank Related endpoints: Edit a Debit Account IBANPOST /bankAccount/{bankAccountId}Allows you to update the IBAN of a debit account linked to an existing SEPA mandate. Modifying a RUMThis operation is not possible via the CentralPay APIs. Modifying a RUM requires creating a new mandate (migration). Change the Creditor’s NameIf there is a change in the legal structure responsible for processing direct debits, a new CentralPay Merchant Profile (Merchant) must be created. Existing mandates will then need to be re-registered under this new profile through a migration process. 3.2. Changes that require a new mandate The following changes require the creation of a new SEPA direct debit mandate, as they involve a new authorization from the payer: Change of the debtor’s name Change in the date of signing the mandate Change in mandate type: transition from SDD Core to SDD B2BNote: This use case is not available in CentralPay services Change in the sampling frequency: from one-time to recurring 3.3. Notification of changes Notifications of changes must be submitted: From the creditor to the debtor, for any changes initiated by the creditor (ICS, RUM, IBAN, etc.) By the debtor to the creditor, with submission of supporting documentation (e.g., bank account information or identification) for changes to the IBAN or personal information Direct Debit transaction Once you have completed the steps to create and sign a mandate, you can create a SEPA Direct Debit transaction (SDD transaction). Each SDD transaction will be linked to the corresponding mandate. To create SDD transactions, you have several options: Create individual SDD transactions: to process one or more SDD transactions via API completely on your own Create SDD transactions using “Subscription” templates: to process X transactions at a frequency defined by a subscription template (for example, €50 per month for 12 months). Create SDD transactions using the “Installment” payment service: to split a customer receivable into multiple transactions (example: €1,000 to be paid in 3 installments with a down payment of €500). 1. Individual SDD transactions 1.1. Create an “SDDTransaction” Enter the SEPA mandate ID “mandateId” Enter the transaction amount in centimes “amount” Enter “EUR” in the “currency” property Enter your unique transaction ID in the “endToEndIdentification” property Enter the transaction description in the “remittanceInformation” field (this information will appear on your customers’ account statements) Enter your client’s IP address in “endUserIp” Enter your CentralPay point-of-sale ID in the “pointOfSaleId” field Enter the desired transaction date in “requestedCollectionDate” You can then repeat this process for each of your customer’s recurring payment due dates. 1.2. [Optional] Ask the customer to confirm via text message For added security, you can set up a one-time password (OTP) to validate each SDDTransaction: an OTP will then be generated upon creation and sent to your customer via text message. An sddTransactionId will also be generated upon creation. By default, SDDTransactions are validated automatically This step is required only if you have configured OTP validation for the SDDTransaction Get your client’s secret code from them Send it to us, along with the sddTransactionId As a result of this action, the SDDTransaction will be considered validated and will therefore be processed 2. SDD transactions from “subscription” templates 2.1. Creation First, you must create a Customer that contains at least one Mandate. Then, the subscription service (Subscription) will allow you to easily initiate a subscription payment based on a subscription template created in advance via the CentralPay API or the Merchant Portal. 2.2. Specific integration cases If the first subscription payment must be for a higher amount than subsequent payments (e.g., sign-up fee), you can first initiate a one-time SDD transaction, then enter a start date (startingDate) in the Subscription object. If you simply want to start a subscription on a specific date (e.g., the effective date of your contract), you can enter a start date (startingDate) in the Subscription object 3. SDD transaction with “Installment” payment plan 3.1. Creation First, you must create a Customer that contains at least one Mandate. Then, the installment payment service (Installment) will allow you to easily initiate an installment payment based on the information provided in your request. SDD R-Transaction 1. SEPA Direct Debit refund You can refund an SDD transaction if it has been CLEARED using the Refund service or from the SDD transaction details in the Merchant Portal. You can initiate a full or partial refund by entering an amount. Your customer will receive the funds in their bank account within 24 to 48 business hours after the transaction. Your payment account is debited immediately, so it must have sufficient funds to complete the transaction. You cannot cancel a refund once it has been processed. 2. SEPA Direct Debit rejections and contests SEPA direct debit rejections and contests are issued by your customers’ banks. They are reflected in your CentralPay payment account as “SDD Transaction Reversal” operations. A SEPA direct debit rejection is issued by the bank before the funds are made available to the creditor (within 2 to 5 days). Here are the main reasons for rejecting SEPA Core direct debits: Insufficient funds: The debtor’s bank account does not have sufficient funds to complete the operation. Account closed: The debtor’s bank account has been closed Incorrect bank account information: The IBAN or BIC provided is incorrect, or the account is not denominated in euros. A debtor may contest a SEPA direct debit up to 13 months after the transaction. This is the primary source of financial risk associated with this payment method. Here are the main reasons for contesting SEPA Core direct debits: Transaction contested (within a maximum of 8 weeks): The SEPA direct debit is valid, but the customer contests the transaction with their bank for any reason. The transaction is fully refunded, and a contestation fee applies to the creditor. The deadline is 70 days for banks outside the European Union or the European Economic Area. Dispute due to lack of authorization (within 13 months max): The SEPA direct debit is invalid (lack of authorization, incorrect signatory, etc.), and the customer disputes the transactions. The transactions are fully refunded, and dispute fees apply to the creditor. For more information, see the complete list of SEPA direct debit rejection and contested payment codes. Responses, statuses, and webhooks 1. Refunds related to SEPA direct debits When an SDD (SEPA Direct Debit) transaction is rejected, your customer’s bank sends a rejection code that identifies the cause. It is important to distinguish between rejections (initiated by the bank, which are received quickly) and contests (initiated by the customer, which may be received several weeks or months after the transaction): DisputesMD06 Transaction disputed by the debtor (may be received up to 8 weeks after the transaction)MD01 Dispute due to lack of mandate (may be received up to 13 months after the transaction)SL01 Merchant ICS blacklisted by the customer via their bankMS02Reason not provided (may include disputes or rejections)RejectionsAM04 Insufficient provisionsAny other codeVarious technical rejections (account closed, frozen, unreachable IBAN, etc.) 👉 View the complete list of SDD rejection codes ➝ 2. Statuses related to SEPA direct debits Consult SDD Transaction statuses ➝ Consult Mandates statuses ➝ Consult bankAccount statuses ➝ (coming soon) Consult Subscription statuses ➝ Consult Installment statuses ➝ 3. Webhooks related to SEPA direct debits Consult SDD Transaction Webhooks ➝ Consult Mandates Webhooks ➝ Consult bankAccount Webhooks ➝ Consult Customer Webhooks ➝ Consult Subscription Webhooks ➝ Consult Installment Webhooks ➝ Recurring payments Subscription The subscription service allows you to automatically process recurring transactions on your customer profiles based on a subscription template defined in advance via the CentralPay API or the Merchant Portal. You can then add due dates or modify the amounts on the fly using the Invoice & Invoice Item services. This service allows you to generate either card transactions or SDD (SEPA Direct Debit) transactions. Useful definitions for this section:– SubscriptionModel : subscription template (specifying the subscription amount and frequency)– Subscription : subscription appplied to a customer– Invoice : invoice, use this option if you need to change the amount within a subscription plan– InvoiceItem : line item or item included in the invoice. An invoice may contain multiple line items or items ℹ️ The "Subscription" service is not the only way to process recurring transaction.Visit the Recurring card transactions page or the Direct debit transactions page for details by payment method. 1. Create a subscription template (subscriptionModel) Access: Recette Merchent Portal – Subscription templates Production Merchent Portal – Subscription templates The subcriptionModel allows you to create different types of subscriptions based on the services you offer. For example, if you have two types of subscription plans available—one that includes the basic features of your service and the other that includes advanced features, you will need to create two models: One for the “basic” subscription plan One for the “advanced” subscription plan Each “SubscriptionModel” has a unique ID. You will provide this ID in your API requests when you want to apply a subscription to a customer based on that model. You can use the following attributes: amount : amount to be entered in centimes intervalUnit : DAY / WEEK / MONTH / YEAR (day / week / month / year) intervalCount : the number of « intervalUnit » units between two due dates (e.g., if intervalUnit = DAY and intervalCount = 10, then there will be a transaction every 10 days) iterationCount: number of installments (note that the first transaction is not included in this parameter; it is therefore added to this number) Example: amount = 3000 intervalUnit = DAY intervalCount = 3 iterationCount = 3 This means your subscription template will be set up to bill your customer 30.00 EUR every 3 days for 4 billing cycles (for a total subscription period of 12 days). 2. Create a subscription (subscription) To create a subscription, you must first create a Customer that contains at least: A Card (if you wish to make card transactions) Or a Mandate (if you wish to make card transactions via SEPA direct debit) You can then create a Subscription: Depending on your preferred payment method: for card transactions : enter the customer profile ID « customerId » for transactions via SEPA direct debit : enter the mandate SEPA direct debit ID « mandateId » an enter the desired transaction date in “requestedCollectionDate” for transactions between CentralPay accounts : enter the sender’s account ID “walletId” Enter the subscription template ID « subscriptionModelId Enter your client’s IP address in “endUserIp” Enter your CentralPay point-of-sale ID in the “pointOfSaleId” field Please note that when a subscription is created, your customer automatically receives an email containing the details of their payment schedule. This email also includes a link to our Customer Portal, where they can view the status of their recurring payments, update their credit card or SEPA direct debit information, and cancel a subscription if necessary. ℹ️ Customers can cancel their subscription at any time through the customer portal provided to them. Be sure to subscribe to the subscription cancellation webhooks. If your subscription includes a minimum commitment period, it is best to use the recurring payment method or ask CentralPay not to share the link to the customer portal. Automating retries in case of failure If a payment fails to be debited, CentralPay will make additional debit attempts based on the settings defined in the Merchant Portal. Access: Recette Merchent Portal – Subscription settings Production Merchent Portal – Subscription settings Field behavior: Transaction time: the time at which the direct debit payments will be processed by CentralPay Selection of a value between 4 and 23 First failed invoice payment: What to do in the event of a first failed direct debit Try again in 1, 3, 5, or 7 days = a new attempt to process the transaction on day+X after the initial transaction Stop = the system will immediately perform the final action, without considering the subsequent actions. Second failed invoice payment: What to do in the event of a second failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will immediately perform the final action, without considering the subsequent actions. Third failed invoice payment: What to do in the event of a third failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will immediately perform the final action, without considering the subsequent actions. Final action: What to do if the previous actions failed. CANCELED = Subscription cancelation (changing the subscription status to CANCELED) FAILURE = Subscription failure (subscription status changed to FAILURE) UNPAID = Unpaid subscription (subscription status changed to FAILURE + SUBSCRIPTION_UNPAID hook sent) 4. Subscription cancellation functions There are two ways to cancel a subscription via the API, the Merchant Portal, or the Customer Portal: Cancel: the subscription is canceled immediately Cancel at the end of the billing period: The subscription will be canceled at the end of the current billing period (so that the subscriber can continue to use your service during their last paid period). When using the API, you must fill in the “atPeriodEnd” field. Note: During this time, you can reactivate your subscription using the “reactivate” feature in Subscriptions. ℹ️ Subscriptions for which all payments have been made automatically change to CANCELED status. 5. Change the amount of a subscription payment CentralPay creates an invoice for each billing cycle of a subscription, based on the associated subscription model (subscriptionModel). You can take manual actions at any time to modify the billing dates (invoices) for a subscription. Below is a list of possible actions: Modify the amount of an invoice installment: The invoiceItem service allows you to modify the amount of an invoice installment by entering a positive or negative amount that will be added to the original installment amount. The invoiceItem will be applied to the next subscription installment, whether it is created manually or automatically. You can also specify a particular installment in your request by providing an invoiceId. Create an additional payment due date: so-called “recurring” payment due dates (invoices) are created automatically based on your subscription model. You can create additional one-time payment due dates for your subscription by creating an invoice. Delete an unprocessed invoiceItem: if it is not yet linked to an invoice Close an upcoming payment due date: if you do not want CentralPay to process a payment (and/or its automatic retry attempts), you can close it using the “close” feature on the invoice. If necessary, you can reopen this payment due date using the “reopen” feature on the invoice if it has not been paid or if there are still scheduled retry attempts remaining. Forcing a payment due: transactions are processed automatically by the subscription service; however, you can initiate the transaction in advance or retry it manually using the “pay” feature on the invoice. These “manual” payments are not tracked by the automated retry system. This action can be performed on a closed invoice. 6. Complete guide to creating a subscription Installment Installment payments allows you to split the payment of an invoice into several installments. CentralPay then charges the customer’s card according to a payment schedule defined during the first transaction. It can be used to offer your customer a payment plan or to automate a “down payment/balance” type of payment. Unlike subscriptions, a customer cannot cancel an installment payment from the customer portal. CentralPay helps you collect payments owed by your customers through a system of automated retries in the event of a failed direct debit. However, CentralPay does not guarantee the collection of these amounts through credit or a receivables financing system. ℹ️ The "Installment" is not the only way to process recurring transactions.Visit the Recurring card transactions page or the Direct debit transactions page for details by payment method. 1. Create an installment payment First, you must create a Customer that contains at least: A Card (if you wish to make card transactions) Or a Mandate (if you wish to make card transactions via SEPA direct debit) Next, the Installment service will allow you to easily set up an installment payment based on the information provided in your request. Then you can create an Installment: Depending on your preferred payment method: for card transactions : enter the customer profile ID « customerId » for transactions via SEPA direct debit: enter the SEPA direct debit mandate ID « mandateId » and enter the desired transaction date in « requestedCollectionDate » Enter the amount in centimes « amounts » Enter the currency in ISO “currency” format Enter your client’s IP address in “endUserIp” Enter the installment settings « iterationCount », « IntervalCount » and « intervalUnit » With this service, you can also: d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements to specify a deposit amount that will be deducted from the total amount (depositAmount). This deposit can also be set for a specific date (depositStartingDate) to set a start date for the installment plan (startingDate): for example, if you want the down payment to be paid immediately and the first installments to be debited starting on a certain date Please note that when a installment payment is created, your customer automatically receives an email containing the details of their payment schedule. This email also includes a link to our Customer Portal, where they can view the status of their recurring payments and update their credit card or SEPA direct debit information if necessary. 2. Example of installment payment You want to bill your customer €1,000, divided into 3 monthly payments starting on July 5, 2024, with a down payment of €200 on June 28, 2024, and add an additional fee of €10: amount =100000 depositAmount = 20000 feeAmount = 1000 currency = EUR intervalUnit = MONTH intervalCount = 1 iterationCount = 3 depositStartingDate = 2024-06-28 startingDate = 2024-07-05 The split plan will be as follows: June 28, 2024 = €200.00 (deposit) July 05, 2024 = €276,68 (first installment + rounding adjustments + additional fees) August 05, 2024 = €276,66 (second installment) September 05, 2024 = €276,66 (third installment) ℹ️ The rounding are applied to the first payment (excluding deposit). 3. Automating retries in case of failure If a payment fails to be debited, CentralPay will make additional debit attempts based on the settings defined in the Merchant Portal: Access: Recette Merchent Portal – Installment Payment Settings Production Merchent Portal – Installment Payment Settings Field behavior: Transaction time: the time at which the direct debit payments will be processed by CentralPay Selection of a value between 4 and 23 First payment failure: What to do in the event of a first failed direct debit Try again in 1, 3, 5, or 7 days = a new attempt to process the transaction on day+X after the initial transaction Stop = the system will not another attempt to process the payment Second payment failure: What to do in the event of a second failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a second attempt to process the payment Third payment failure: What to do in the event of a third failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a third attempt to process the payment. Fourth payment failure: What to do in the event of a fourth failed direct debit Try again in 1, 3, 5 or 7 days = a new attempt to process the transaction on day+X after the previous attempt. Stop = the system will not make a fourth attempt to process the payment 3DS 2.2 authentication Transaction Initiated by the Holder (CIT – BRW) The BRW (Browser) flow applies to Customer-Initiated Transactions (CIT): the cardholder is present and authorizes the payment personally. This authenticated CIT also serves as the foundation for future MIT transactions. 👉 For a transaction initiated by the merchant without the cardholder (recurring billing, variable amounts, usage-based charges, one-time fees), see the 3RI flow documentation. ❌ Be careful when choosing the payment flow: Using BRW for a merchant-initiated transaction (MIT) results in non-compliance, unnecessary friction, and a significant drop in the conversion rate. 1. The main steps in the BRW workflow The BRW flow consists of five steps on the API side, two of which are conditional: versioning (is the card authenticatable?) → 3DS Method (if necessary) → authentication → challenge (if required by the bank) → result, before completing the transaction. ℹ️ The entire process must take place on a single web page, without being redirected to a bank page, using an iframe solution. This is a requirement of the banking process. To speed up your integration of the BRW flow, you can start with a complete sample application (PHP/Twig) that replicates the entire sequence described on this page: CUSTOM payment form, versioning, 3DS Method in an iframe, authentication, challenge handling, results, and then the transaction, all on a single page, in accordance with banking requirements. 👉 Download the sample code · View the online demo Before running the sample code, enter your credentials in the file .env (API_USER, API_PASSWORD, POS_UUID) and point it HOST_CENTRALPAY_API_CORE to the test environment https://test-api.centralpay.net/v2/rest/. 2. Versioning The versioning is the first step: it queries the card network to determine whether the card can be authenticated using 3DS 2.2, and retrieves the technical information needed for the rest of the process. Specifically, you send the card’s PAN (Primary Account Number, the 16-digit number) to the CentralPay API. Sample (curl) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'acctNumber=4000001000000067' Understanding the response. A card is said to be “enrolled” when the bank that issued it participates in the 3DS 2.2 protocol for that card. This is determined by the issuing bank: neither you nor CentralPay can enroll a card. Versioning is used precisely to determine whether this is the case. Card not enrolled → versioning return a 404 error: the 3DS 2.2 authentification is impossible for this card. Plan for a fallback (switch to 3DS1 if supported, or decline the payment according to your risk policy). Card enrolled → you receive a transaction ID, the threeDSServerTransID (generated by CentralPay and retained until the final result is available), as well as, if applicable, the data required for the “3DS Method” (a URL and data encoded in Base64). For a rolled-up card, there are two possible answers: Version 1 (the most common) — a 3DS Method is expected: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": "https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm": { "threeDSMethodData": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJhbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2MtZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails": null } The threeDSMethodURL and threeDSMethodData field have been filled in: proceed to step 3. 3DS Method. Version 2 — no 3DS Method: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Only threeDSServerTransID is filled in (the 3DS Method fields are empty): proceed directly to Step 4. Authentication. 3. 3DS Method What is it used for? The 3DS Method allows the cardholder’s bank — via its ACS (Access Control Server, the issuing bank’s server that authenticates the cardholder) — to discreetly collect technical information about the customer’s browser, before authentication. This information enhances the bank’s risk analysis and increases the likelihood of frictionless authentication (without requiring the cardholder to complete a challenge). When should this be executed? Only if versioning returned a value for threeDSMethodURL and threeDSMethodData (the “Version 1” case above). Otherwise, proceed directly to authentication. How? Load the threeDSMethodURL into an invisible iframe (hidden from view: this exchange is purely technical and should not display anything to the user) and post the threeDSMethodData field there. The user’s browser makes this call to the bank in the background. 4. (BRW) Authentification The request is sent to the CentralPay API URL 3ds2/authentication. This request transmits contextual data related to the cardholder and their browser, which allows the bank to determine whether active authentication (challenge) is required. Sample (curl) : 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' 💡 deviceChannel=02 indicates the browser channel, specific to the BRW feed. The browser* (the cardholder's browser characteristics) are therefore required here.To increase the frictionless authentication rate, enrich this request with contextual data about the cardholder → see Optimizing the Frictionless Rate Fields to be specified based on the purpose of the CIT. Field threeDSRequestorAuthenticationInd is required: it specifies the type of authentication. A CIT BRW can be used to authenticate a payment (messageCategory=01, PA), or to authenticate a card or its holder without a charge (messageCategory=02, NPA) — for example, to register a card, update it, or verify the cardholder. Both fields must be filled out consistently: threeDSRequestorAuthenticationIndPurpose of the CITmessageCategoryAdditional required fields01 — PaymentPer-unit payment (one-time)01 (PA)—02 — RecurringRecurring payment (subscription)01 (PA)recurringExpiry, recurringFrequency03 — InstalmentInstallment payments (in several payments)01 (PA)recurringExpiry, recurringFrequency, purchaseInstalData04 — Add cardRegistering/encoding a card for future use, with no charge02 (NPA)—05 — Maintain cardUpdating the information for an already registered card (e.g., renewal)02 (NPA)—06 — Cardholder verificationCardholder verification as part of the ID&V process for an EMV token02 (NPA)— recurringExpiry → the date after which no further authorizations will be issued (format YYYYMMDD). recurringFrequency → minimum number of days between two authorizations (1 to 999). purchaseInstalData → maximum number of authorizations (due dates) specified for installment payments (1 to 999). ℹ️ Cases 04, 05, and 06 are non-payment authentications: no amount or recurrence field is required. They do not necessarily lead to an MIT transaction — they are often an end in themselves (to register, verify, or maintain a card). The card authenticated in this way can then be used for both CIT (cardholder present) and MIT (3RI) transactions. The response contains an authentication status (transStatus) that determines the next steps: ❌ No authorization — do not complete the transaction Status (transStatus)MeaningNNon authenticated/unverified account. Transaction declined. UAuthentication/verification failed (technical issue or other problem).RAuthentication/verification declined. The sender requests that you do not attempt to obtain authorization. IFor informational purposes only. Acknowledgment of the applicant’s preference for the 3DS Challenge. ✅ Authorization without challenge Status (transStatus)MeaningYAuthentication successful.AAttempt made. Not authenticated/verified, but a proof of the attempt is provided. 🔐 Authorization after challenge Status (transStatus)MeaningCChallenge required: the owner must actively authenticate (see step 5) using CReq/CRes (Challenge Request/Response) messages.DChallenge required. Decoupled authentication confirmed. Sample of responses: C — Challenge required: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "C", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge", "acsChallengeMandated": "Y", "base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Y — Authentication successful (no challenge required): { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } The required fields for the transaction are present: threeDSServerTransID, transStatus, authenticationValue (the CAVV — Cardholder Authentication Verification Value, the security code that verifies authentication) and eci (Electronic Commerce Indicator, which indicates the level of authentication achieved and determines the transfer of liability in the event of fraud). The xid is not provided: it is an optional reference intended for merchants. N — Transaction declined: { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } 5. Challenge The challenge is the step in which the cardholder actively authenticates themselves with their bank (one-time code received via text message, validation in the banking app, biometrics, etc.). It occurs only if the authentication returned transStatus = C. An iframe must submit a form to the acsURL page returned in step 4. The only parameter sent is creq, whose value is the base64EncodedChallengeRequest obtained from authentication. At the end of the challenge, the URL you provided (notificationURL) is called by the bank. In a test environment, the challenge appears as an OTP (One-Time Password); in production, the bank’s ACS window appears: Test OTP: 1234 → Y (simulates a successful challenge – Authentication successful) 4444 → A (simulates a successful challenge – Not authenticated/verified, but a proof of the attempt is provided.) 1111 → N (simulates a failed challenge – No authenticated/unverified account) 2222 → R (simulates a failed challenge – Authentication/verification declined) 3333 → U (simulates a failed challenge – Authentication/verification failed (technical issue or other problem) 6. Challenge response Once the challenge is complete, the result is returned in the cres parameter, encoded in Base64. Decode it to read the status. Example in PHP: $retour = json_decode(base64_decode($_POST['cres']), true); If the status is Y or A, the challenge is validated and the payment is authorized: call GET /results (step 7) to retrieve the 3DS data required for the transaction. Any other value means the challenge failed: the payment was declined. 7. Result This step retrieves the final 3DS data to be included in the transaction. Send the threeDSServerTransID authentication request. ℹ️ If the authentication returned transStatus = Y directly (without a challenge), the 3DS data is already included: this step is not necessary. Call: curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' Response: { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "acsTransID": "375d90ad-3873-498b-9133-380cbbc8d99d", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 🔁 Prepare for future MITs (3RI). If this CIT is to serve as a reference for subsequent payments initiated by the merchant, retain the acsTransID from the authentication sequence: it will be required as threeDSReqPriorRef on the 3RI side. 8. Transaction Information required to validate a transaction authenticated using 3DS 2.2: 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci (required if available) 3ds[xid] = custom parameter, free-form reference for merchants Sample (curl) : 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' Next step: For subsequent merchant-initiated transactions (MIT), see 3DS 2.2 – 3RI. Merchant-initiated transaction (MIT – 3RI) The 3RI (3DS Requestor Initiated) flow applies to merchant-initiated transactions (MIT): the merchant initiates the debit without the cardholder’s involvement, under a pre-existing authorization, based on a previously authenticated CIT transaction. It covers all MIT scenarios: recurring billing, variable amounts, usage-based templates, one-time fees, and deferred debits (no-shows, penalties), not just fixed-rate subscriptions. 👉 If the cardholder is present and authorizes the payment themselves, use the BRW flow. For information on the contractual framework, Strong Customer Authentication (SCA) exemptions, and the validity period of a CIT, see the Best Practices — Merchant Initiated Transaction (MIT) page. 1. Prerequisite: a CIT transaction that has already been authenticated Since the cardholder is absent, the 3RI does not re-authenticate anyone: it reuses the authentication proof generated during a previous CIT transaction (with the cardholder present) carried out via the BRW flow. During this CIT, the issuing bank’s server that authenticated the cardholder — the ACS (Access Control Server) — generated a unique identifier for this authentication: theacsTransID. This is the acsTransID that you will associate with each of your MITs to prove to the bank that the card was indeed authenticated for the first time with the cardholder’s consent. ⚠️ Keep the acsTransID from the CIT. Without a previously authenticated CIT — and therefore without acsTransID — a 3RI transaction cannot be completed. If you don't have one, first perform a CIT in BRW to authenticate and tokenize the card. 2. (3RI) Authentication The request is sent to the CentralPay API URL 3ds2/authentication, just like for the BRW flow, but with two key differences: The channel is different. deviceChannel=03 Indicates a transaction initiated by the merchant (3RI), without the cardholder using a browser. The browser* parameters in the BRW flow are therefore unnecessary here. The CIT is referenced. The acsTransID value retained in step 1 is placed in the threeDSReqPriorRef field, which refers to “the previous authentication associated with this transaction.” Card identification. Since the cardholder is not present, no card is scanned during the session: the card already stored for the customer (Customer) is referenced by transmitting customerId + cardId. 💡 Send only one card source. Combining two sources (e.g., cardId + a token, or a PAN + a token) triggers the error “There is no unique source of card” (see the FAQ). Sample (curl) : 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=01' \ --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=1' \ --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=375d90ad-3873-498b-9133-380cbbc8d99d' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeRIInd=01' 2.1. Explanation of the main parameters ParametersDescriptiondeviceChannel03 → 3DS Requestor Initiated (transaction initiated by the merchant, without the cardholder using a browser)messageCategory01 → PA (Payment Authentication) = Authentication associated with a payment (e.g., recurring transaction)02 → NPA (Non-Payment Authentication) = authentication that does not involve a payment (e.g., registration or card verification without a charge).threeDSReqPriorRefmust contain the acsTransID from the previous CIT (BRW) transaction (see step 1)purchaseAmountamount of the current purchasepurchaseCurrencycurrency in ISO formatpurchaseExponentminor unit of the current currencypurchaseDatedate of purchaserecurringExpirythe date after which no further authorizations may be issuedrecurringFrequencyminimum number of days between two authorizationsacctTypeaccount type (03 = debit)chAccAgeIndlength of time the account holder has had an account with the 3DS requester:01 → no account02 → created during the transaction03 → less than 30 days04 → between 30 and 60 days05 → more than 60 dayschAccChangedate of the last change to the account holder’s account (format YYYYMMDD)chAccDateaccount holder’s account opening date (format YYYYMMDD)nbPurchaseAccountnumber of purchases made with this account over the past six monthspaymentAccAgedate the payment account was credited to the account holder’s accountpaymentAccIndlenght of time the payment account has been registered:01 → no account02 → created during the transaction03 → less than 30 days04 → between 30 ans 60 days05 → more than 60 daysthreeDSReqPriorAuthMethodInitial CIT Authentication Method: 01 → if frictionless02 → if the cardholder has completed a challenge03 → AVS04 → otherthreeDSReqPriorAuthTimestampdate and time (UTC) of the previous authentication (format YYYYMMDDHHMM)threeDSRequestorDecReqIndN → do not use decoupled authenticationthreeDSRequestorAuthenticationInd02 → recurring transactionthreeRIIndType of 3RI transaction:01 → recurring transaction02 → installment transaction03 → add a card04 → maintenance05 → account verification06 → split/delayed shipment07 → recharging08 → mail-order sales09 → telephone sales10 check whitelist status11 → other payment Sample of response: { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } Here, threeDSServerTransID is the transaction ID generated by CentralPay (to be included in the transaction), and eci (Electronic Commerce Indicator) indicates the level of authentication achieved, which determines the transfer of liability in the event of fraud. 2.2. Returned statuses (transStatus) and recommended course of action The goal is to achieve frictionless authentication, that is, a transStatus = Y. Always try the 3RI first, then proceed according to the transStatus returned. ℹ️ Support for 3RI depends on the card's scheme and the issuing bank's 3DS version: it is never guaranteed in advance. Hence the “best effort” approach described below — you attempt 3RI, and you only rely on the result if it is positive. ✅ Authentication successful — use the results (transfer of responsibility) Status (transStatus)MeaningYAuthentication successful.AAttempt made. Not authenticated/verified, but a proof of the attempt is provided. → Complete the transaction by submitting the 3DS data from the 3RI (see Step 3). Liability shifts to the issuer. ⚠️ 3RI failed — complete the transaction without authentication (“best effort”) Status (transStatus)MeaningNNot authenticated/unverified account.UAuthentication/verification failed (technical issue or other problem).IFor informational purposes only.C / DChallenge requested (not possible in MIT because the cardholder is absent — see note below). → You can perform the standard transaction without the 3RI data: the Customer (customerId + cardId) ensures automatic linking to the initial CIT. Please note: In this case, the transfer of responsibility does not apply (increased risk of dispute), and the risk of authorization denial is higher. ⚠️ MIT Challenge (C / D). A challenge requires the cardholder to be present, which, by definition, is not the case with MIT. There are two scenarios: if the cardholder can return (e.g., subscription with a customer portal), reprocess a CIT in BRW to re-authenticate the card; otherwise, treat it as an unsuccessful 3RI and complete the transaction without authentication (best effort). See Best Practices — MIT. ❌ Explicit refusal — do not attempt the transaction Status (transStatus)MeaningRAuthentication declined: the sender requests that you do not attempt to obtain authorization. → Do not complete the transaction, even without a 3RI. 3. Transaction Once 3RI authentication is successful (Y or A), enter the following 3DS data in the transaction call: 3ds[threeDSServerTransID] = threeDSServerTransID generated by 3RI authentication (not the one from a previous transaction) 3ds[status] = transStatus 3ds[eci] = eci (required if available) 3ds[xid] = custom parameter, free-form reference for merchants ⚠️ Do not send 3ds[cavv] in3RI. The cavv (Cardholder Authentication Verification Value, the cryptogram that verifies authentication) is specific to the BRW stream; it is not included in the 3RI response and should not be transmitted here. Sample (curl) : 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' ℹ️ « best effort » case (3RI not completed). If the 3RI is not completed (transStatus other than Y/A, and excluding R), perform the same transaction without the subject 3ds[...] : the Customer (customerId + cardId) is sufficient to link the operation to the initial CIT. In that case, the transfer of liability does not apply. See also: Best Practices — Merchant-Initiated Transactions (MIT) for the contractual framework, mandate, and Strong Customer Authentication (SCA) exemptions. Optimize the Frictionless Rate What is “frictionless”? Authentication is considered “frictionless” when the cardholder’s bank approves the transaction without any interaction on the cardholder’s part (no challenge: no one-time code and no confirmation in the banking app). The bank authenticates “silently,” based on the data received and its own risk analysis (Risk-Based Authentication). It serves two purposes: Better conversion: no extra steps for the carrier, so fewer dropouts. Liability Shift: As with successful challenge-based authentication, a successful frictionless transaction (transStatus = Y) shifts liability for fraud to the card issuer. This is what distinguishes it from a payment without 3DS. ℹ️ The final decision always rests with the issuer bank. No approach guarantees a frictionless experience: the issuer may require verification regardless of your integration. The strategies below maximize the chances of a frictionless experience; they do not guarantee it. Lever 1 — Enhance authentication data This is the most important lever. The more reliable contextual data about the user that the authentication request (3ds2/authentication) contains, the better the bank can evaluate the risk and the more likely it is to provide frictionless access. Reverse, a minimal request (amount + browser data only) deprives the bank of the information it would need to bypass the challenge. All of the fields below are accepted by the API in both BRW and 3RI formats and are marked as “Recommended” or “Conditional” (to be submitted as soon as the information is available): Contact information for the cardholder FieldRoleemailcardholder’s email address (conditional: to be sent unless restricted by local regulations)homePhone / mobilePhone / workPhonecardholder’s phone numbers (area code [cc] + number [subscriber])deliveryEmailAddressdelivery email (for electronic delivery) Billing and shipping address FieldRolebillAddrLine1/2/3, billAddrCity, billAddrPostCode, billAddrState, billAddrCountrybilling addressshipAddrLine1/2/3, shipAddrCity, shipAddrPostCode, shipAddrState, shipAddrCountryshipping addressshipAddressUsageIndlength of time the shipping address has been in use Customer account history FieldRolechAccAgeInd, chAccDate, chAccChangethe account holder’s account age and the date of the last change made to the account with the merchantpaymentAccAge, paymentAccIndlength of time the payment method has been registerednbPurchaseAccountnumber of purchases over the past six monthsprovisionAttemptsDayNumber of attempts to add a card in a 24-hour periodpreOrderDate, preOrderPurchaseIndpre-order information, if applicable 💡 Practical tip: Share all the reliable information you have. Inconsistent data (such as an incorrect address) is counterproductive; missing reliable data is a missed opportunity for a frictionless experience. Lever 2 — Run the 3DS Method Whenever versioning allows it, always run the 3DS Method: it enables the bank to collect the technical fingerprint of the cardholder’s browser in the background, which directly feeds into its risk analysis. Skipping this step deprives the bank of information that promotes a frictionless experience. See the procedure on the BRW page. Lever 3 — Expressing a preference and reporting exemptions The threeDSRequestorChallengeInd field (optional, BRW flow) allows you to indicate your challenge preference to the bank and to specify that an exemption applies: ValueMeaning01No preference02No challenge desired03Desired challenge (merchant’s preference)04Desired challenge (required)05No challenge — transactional risk analysis (TRA) already completed06No challenge — data sharing only07No challenge — strong customer authentication (SCA) already completed08No challenge — “trusted beneficiary” exemption (whitelist)09No challenge — invitation to whitelist if a challenge is required ⚠️ The values 05, 07 and 08 indicate that an exemption applies. Use them only if the corresponding exemption actually applies to your configuration: incorrectly declaring an exemption makes you liable and may result in a soft decline (see FAQ). If in doubt, use 01 or 02. The field whiteListStatus also allows you to indicate the merchant’s « trusted beneficiary » status (Y = merchant whitelisted by the cardholder, N, E, P, R, U). When a cardholder adds your merchant to their trusted list with their bank, their subsequent payments go through more smoothly and frictionless. Lever 4 — Properly implement merchant-initiated transactions (MIT) Once an initial CIT transaction has been authenticated, subsequent transactions initiated by the merchant (MIT) are processed via the 3RI flow and are no longer subject to strong authentication. This is one of the most direct ways to reduce friction in recurring, installment, or future payments: authenticate once (CIT), then reuse (MIT). What’s beyond your control Even with complete data and a requested exemption, the issuer may decide to issue a challenge (step-up). If you attempt an authorization without authentication (via exemption) and the issuer denies it, you will receive a soft decline: you must then retry the transaction with authentication. See the corresponding entry in the FAQ. FAQ – 3DS 2.2 Selecting a flow Should I use the BRW feed or the 3RI feed? The criterion is who initiates the transaction and if the cardholder is present, not the order of the transaction: BRW → customer-initiated transaction (CIT), where the cardholder is present and authorizes the payment personally. Use this for the initial authentication of a card as well as for any payment where the customer is present during the transaction. 3RI → merchant-initiated transaction (MIT), with the cardholder absent, based on a previously authenticated CIT (referenced via threeDSReqPriorRef). See the section overview and the MIT page. Can I use the BRW feed for my recurring or Merchant-initiated transactions? No. The BRW assumes that both a browser and a cardholder are present. Using it for MITs results in unnecessary friction, soft declines, and PSD2 non-compliance. For these transactions, use the 3RI, which relies on the acsTransID from the initial CIT. However, an MIT may, in exceptional cases, be reclassified as a CIT by the issuer; in this case, reprocess a CIT (BRW) with the cardholder. Test environment Are there any test cards for 3DS2 transactions in a Sandbox environment? 👉 View the list of test maps for the RCT environment. 3DS authentication errors and statuses My versioning is returning a 404 error: « Card account number not found in card ranges from Directory Server. » What should I do? The card being used is not enrolled in 3DS 2.2: the transaction cannot be processed using 3DS 2.2. We recommend switching to a 3DS1 payment for this type of card. The Result query returns » transStatus = U. » How should this be interpreted? The value U means that authentication/verification could not be completed (due to a technical issue or other problem). Regarding SmartForm: during the challenge, only the values Y and A pass the challenge and allow the payment to proceed. Any other values cause the challenge and the payment to fail. Regarding CustomForm : the behavior may vary. You can use the value U to retry a challenge; if it fails again, switch to 3DS1, or treat the payment as declined. These different handling options are possible. SmartForm vs. CustomForm : SmartForm is the payment page hosted by After submitting the form toacsURL, the customer returns without a CRES but with a » ERROR » (base64) parameter and an empty » THREEDSSESSIONDATA. » What should be done? Verify that your entire 3DS2 process takes place on a single page using the iframe solution. If the process is compliant, contact technical support with the necessary information. ℹ️ As a reminder, all steps of the form are completed on a single page, without being redirected to a bank page or any other page, thanks to the iframe solution. Error 303: « acquirerBIN, acquirerMerchantID not recognized » during authentication. What should I do? This is either a contract that is not 3DS2 or another issue. In the second case, contact technical support and provide the electronic payment contract number (if known) and any other relevant information. Error 203: “Validation of 3DS Requestor Authentication data failed […]” for the “ merchant.merchantName ” field. What does this mean? Error 203 indicates an invalid character in parameter merchant.merchantName. « There is no unique source of card » error in the key ` card data`. What does this mean? This error, which is common across the entire platform, happens when you send card information twice: for example a cardToken and a cardId, or a PAN and a cardToken. Send only one set of card information. Bank Authorization The transaction API returns « Soft Decline, » even though » threeDSServerTransID » is indeed the status returned by CRES. What should I do? The bank returns a “soft decline” (code A1) when 3DS is not included in the transaction. Verify that no 3ds[...] fields are missing — see the data to be transmitted on the BRW page, under the “Transaction” step. Bank return codes 5 and 12 (excluding 3DS) These codes come from the bank authorization and are not specific to 3DS. Code 5: The bank declines the transaction without providing a specific reason (incorrect CVV or another reason we are unaware of). This status does not indicate that the bank will decline authorization after further attempts. Code 12: The bank declines the transaction without providing a specific status. Possible causes: invalid transaction; incorrect or invalid CAVV (the CAVV is the authentication code provided by the ACS during 3DS; not to be confused with the CVV); or another reason unknown to us. Merchant management General information This section explains how to create CentralPay accounts, whether payment accounts or e-money accounts, as well as the methods available for initiating user onboarding through our tools (portal or API), depending on the partnership model. 1. Types of accounts CentralPay allows users to open two types of regulated accounts: Account typeDescriptionSamples of usePayment accountPayment account as defined in article L314-1 of the Monetary and Financial Code.Payment by credit card, bank transfer, or SEPA.E-money accountA prepaid account in euros issued by CentralPay, in accordance with the regulations governing electronic money institutions.Wallets, marketplaces C2C, cashback, titles. The assignment of an account type depends on the merchant’s business model and whether the account is managed by an agent (DME or Agent). 2. General enrollment process Opening an account always involves a registration process that includes: Creating an enrollment request: starting a file containing basic information (email, last name, first name) Completion of the registration process: submission by the user of required information and supporting documents (KYC/KYB) Enrollment validation: review by CentralPay, which may result in account opening, a request for additional information, or a rejection 3. Two possible interfaces InterfaceDescriptionTarget audienceCentralPay enrollment portalInterface hosted by CentralPay, accessible via a personalized link.All types of usersEnrollment APIA technical interface that allows an intermediary to initiate or complete enrollments via API.Authorized intermediary by status 4. Compliance and regulation In order to comply with the regulatory framework applicable to Payment Service Providers (PSP), the division of roles is strictly regulated: CentralPay is the only party that initiates the contract process with the user The technical partner may not encourage, advise, or initiate the opening of an account The technical partner does not participate in the collection of supporting documents Only partners registered as MOBSPs, or Agent or EMD representatives, may participate in the expanded enrollment steps Partner modelCan initiate an enrollment requestCan complete an enrollment (API)Can submit KYC documentationTechnical PartnerYes*❌ No❌ NoEMD IntermediaryYes, via API or portal✅ Yes✅ YesPSP IntermediaryYes, via API or portal✅ Yes✅ Yes (Level 1 KYC or higher if mandate) ℹ️ The technical partner can create an enrollment request containing only contact information (email, last name, first name, company name), without sending an enrollment link themselves. CentralPay retains sole discretion over the rest of the process. Enrollment request 1. Methods for creating an enrollment request 1.1. From the CentralPay Merchant Portal A user logged into the CentralPay portal can initiate an enrollment request from the menu: Plateform > Enrollments > Create Recette Merchent Portal – Onboarding Production Merchent Portal – Onboarding They can then manually fill in the fields described below (in the API call details). Once the request is saved, a redirect link to the onboarding portal is automatically generated and can be: Sent automatically via email through the CentralPay Mailer (select “YES” in the “Send emails to the address above” field) Or copied manually to be sent via another channel (chat, text message, etc.) 1.2. From the API: POST /merchant-enrollments Enrollment can also be initiated automatically via the API by calling: POST /merchant-enrollments This call generates an enrollment ID (UUID) and initiates a complete onboarding process, which can be continued: Either via the Merchant Portal Either entirely via API endpoints (see the “Complete an Enrollment via API” section) If no direct link (enrollment_url) is returned by the API, by default, the CentralPay platform sends an email to the address specified in profile[email][value].To disable this email: "sendClaimEmail": falseIf you disable this email, you can manually provide the URL to access the onboarding interface by constructing it as follows:- In Sandbox: https://test-onboarding.centralpay.net/token/profile/[UUID]- En LIVE: https://onboarding.centralpay.net/token/profile/[UUID]Note: [UUID] is the identifier returned in the response to POST /merchant-enrollments. 2. Create an enrollment request via the API (Merchant Enrollment) 🇫🇷 Simplified enrollment via SIREN (France only)CentralPay automatically pre-fills certain information for French companies with a SIREN number:1. Call the endpoint: POST /api/legal-entity/siren2. Provide the following: { "siren": "123456789" }3. If the information is valid, a UUID is returned. It must be used as identityBadge in the registration creation process to trigger the simplified workflow. 2.1. Required fields FieldTypeRequiredDescriptionprofile[firstname][value]string (255)✅ YesAccount holder’s first name. Validation: alphabetic characters and hyphens (-). Since version 1.15.0 profile[lastname][value]string (255)✅ YesAccount holder’s last name. Validation: alphabetic characters and hyphens (-). Since version 1.15.0 profile[email][value]string (255)✅ YesContact email address. Since version 1.15.0profile[phone][value]string✅ YesInternational phone number. Since version 1.15.0languagestring✅ YesMerchant’s preferred language. Note: Use GET /api/locale for the available values.accountTypeenum✅ YesType of merchant profile to create. Note: Use GET /api/merchant-enrollment/account-type.activitySectorUUID (36)✅ YesMerchant’s industry sector. Note: Use GET /api/nauth/enrollment-claim/activity-sector.activityAgeUUID (36)✅ Yes, if type = LEGAL_ENTITY ou INDIVIDUAL_WITH_STATUSLength of time in business. Note: Use GET /api/nauth/enrollment-claim/activity-age.feeScheduleUUID (36)✅ YesPricing schedule to be applied. Note: Obtain the login credentials via POST /api/merchant-enrollment/fee-schedule.identityBadgeUUID✅ Yes, if enrolled via SIRENSIREN ID (which activates the simplified process).contractUUID✅ Yes, if accountType = STANDARDContract to be applied. Note: Use GET /api/merchant-enrollment/contract. 2.2. Advanced fields (optional) Customizing the experience FieldDefault valueDescriptionworkflowModeSEQUENTIALCourse mode (only mode SEQUENTIAL is now available).Note: Valid values: SEQUENTIALtype—Legal type: INDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITY.Note: Determines the structure of the process.subType—Recommended subtype according to type.Note:For INDIVIDUAL_WITH_STATUS : SOLE_TRADER, MERCHANT, ARTISANFor LEGAL_ENTITY : ASSOCIATION, PUBLIC, COMMERCIAL, EIG, CIVILturnoverIsFixedfalseIf true, locks the revenue report.Note: optional Communication settings FieldDefault valueDescriptionsendClaimEmailtrueSend the registration email with the portal link.allowedEmailCommunicationtrueIf false, disable all email sends during the onboarding process.sendProfileCreationEmailfalseSend an email to the user once the profile is completed.sendAccountCreationEmailtrueSend an email once the CentralPay Merchant profile has been activated. Personal data All of the fields below are optional, but they allow you to pre-fill the user profile for the future account holder. FieldTypeDescriptionprofile[nationality][country]string (3)Nationality (ISO 3166-1 alpha-3 format).profile[birthday][value]dateDate of birth.Validation: ≥ 18 years old, ≤ 110 years oldprofile[place_of_birth][value]stringBirthplace.profile[country_of_birth][country]string (3)Country of birth (ISO 3166-1 alpha-3).birthdayConfirmation[value]dateRequired only if the merchant is affiliated with an agent.Format: YYYY-MM-DD Address (optional) These fields can be filled in to pre-fill the account owner’s address. FieldTypeDescriptionprofile[address][nameLine1]string(255)Line 1 of the address.Constraints: ^[a-zA-Z0-9\\p{L} ´'\\-]{1,255}$profile[address][locality]string(255)City.profile[address][postalCode]string(20)Postal code.profile[address][country]string(3)Country (ISO 3166-1 alpha-3). Other options FieldTypeDescriptioncontractUUID (36)Contract to be applied.Required if accountType = STANDARD.Note: GET /api/merchant-enrollment/contractcguUUID (36)Terms of Service apply.Note: POST /api/merchant-enrollment/cguSince version 1.18.0customReferencestring (100)Custom reference (for internal use).payoutProfileUUID (36)Payment profile to be linked.Note: POST /api/merchant-enrollment/payout-profileadministrativeContactstring (255)Primary administrative reference.Since version 1.18.0technicalContactstring (255)Technical contact.Since version 1.18.0financialContactstring (255)Financial contact.Since version 1.18.0addSecurityReferenceboolDisplays a security reference when the contract is approved.Valid only for: STANDARD, PARTNER, RESELLER.Default: falsehookUUIDWebhook ID to be notified.Note: See the “Full API Reference” tab for possible values. Complete an enrollment Once the enrollment request has been created, the future account owner can complete the process in one of two ways: via the CentralPay portal or via full API integration. 1. Option 1 – Complete the enrollment via the CentralPay Portal The onboarding link (generated or recreated when the enrollment is created) allows the future account owner to enter their information and upload the required documents through the CentralPay interface on their own. You will be notified automatically at each step of the enrollment process or only upon its completion (depending on your webhook settings) Once the user has completed the process, the data is sent to CentralPay’s compliance teams for validation In some cases, CentralPay analysts may request additional documents 2. Option 2 – Complete the enrollment via API It is also possible to control the entire enrollment process via API, step by step. The process consists of four main phases: Complete the profile Determine the workflow Complete the workflow Complete the enrollment 2.1. Complete the profile Profile status A profile always starts with the status workflow.status = “ON_GOING”. To be considered complete, this status must change to ACCEPTED. ⚠️ In SEQUENTIAL mode, this status may revert to ON_GOING when additional questions are unlocked. It should be checked again at each step. Get the first activity to complete Retrieve activityUuid via : GET /api/nauth/merchant-enrollment/{enrollmentId} Browse: profile.workflow.activities[0].uuid Then ask: GET /api/nauth/profile/{activityUuid}/activity Submit the data Send the expected data via a form: POST /api/nauth/profile/{activityUuid}/activityContent-Type : multipart/form-data Example of expected fields (the “Identity Information” activity): FieldTypeConstraintsfirstname[value]string255 characterslastname[value]string255 charactersmail[value]stringValid email addressphone[value]stringInternational number (at least 10 characters)birthday[value]stringDate in the format YYYY-MM-DD, between 18 and 110 years oldplace_of_birth[value]string—country_of_birth[country]stringISO 3166-1 alpha-3 Autres types d’activité possibles : Registered addresses: address information Identity document: type (IDENTITY_CARD, PASSPORT) + documents (2 files for an ID card, 1 for a passport) Repeat this process as long as an activity’s status remains “TODO.” 2.2. Determine the workflow This step unlocks the next part of the process (collecting documents, supporting evidence, etc.). POST /api/merchant-enrollment/{enrollmentUuid}/activity/{uuid} Expected payload: FieldTypeRequiredNotestypeEnum✅ YesINDIVIDUAL, INDIVIDUAL_WITH_STATUS, LEGAL_ENTITYbankAccountInEEACountrybool✅ Yes—turnoverUUID (36)✅ YesPOST /api/nauth/enrollment-claim/turnovercompanyNamestring(255)Yes, if LEGAL_ENTITY—activityAgeUUID (36)Yes, if LEGAL_ENTITY or INDIVIDUAL_WITH_STATUSGET /api/nauth/enrollment-claim/activity-agesubTypeENUMRecommendedDepends on type (see details below)isCompanyboolYes, if LEGAL_ENTITY— If you used a identityBadge (enrollment via SIREN), this step is automatically skipped: the workflow has already been determined. 2.3. Complete the workflow Each step in the workflow follows the same logic as the profile. Possible types of step: FORM : fields to be filled in via key[value] API_CALL : external treatment VALIDATION : manual action by the CentralPay teams ENDED : step completed Example: for the field company_legal_status, you must send company_legal_status[value]. The endpoints used are: POST /api/merchant-enrollment/{merchantUuid}/activity/{uuid} POST /api/merchant-enrollment/{uuid}/complete Enrollment validation Once all profile and workflow steps have been completed (whether via the CentralPay onboarding portal or via API), the enrollment enters the verification phase, which is handled by CentralPay’s compliance teams. 1. Review by the compliance department Analysts conduct a comprehensive analysis of the information and documents collected throughout the process. This step may lead to one of the following decisions: 1.1 Enrollment validation If the information provided is complete, legible, and in compliance with regulatory requirements, the enrollment is approved. CentralPay then automatically creates: Of the CentralPay Merchant Profile (Merchant) Of the payment account (Wallet) Of the legal user profile for the CentralPay Merchant Profile (BO User). ℹ️ These entities are immediately accessible from your monitoring tools (portal or API). 1.2. Additional information requested If certain documents are missing, unclear, expired, or inconsistent, the compliance department may request additional documentation. This request is: Either sent by email directly to the future account owner Either displayed in the CentralPay onboarding portal, if the request allows it ℹ️ The user can submit the requested documents to restart the verification process. 1.3. Refusal of enrollment In certain cases (invalid documents, invalid identity, unresolved inconsistencies, or excessive risk), the account opening request may be denied. No CentralPay entity (BO User, Wallet, Merchant) is created at that point. 2. Notifications via webhook Regardless of the outcome (approval, request for additional information, or rejection), you will be notified in real time via the configured webhooks. This allows you to: Track enrollments in real time Adjust your UX if enrollment is denied or pending Trigger internal actions (CRM creation, assignment, etc.) Limited Electronic Money Account CentralPay allows users to create electronic money accounts (Wallets) to store and use digital assets. Two complementary options are available: Quickly create a wallet without KYC (limited account): available immediately with regulatory limits Removing the Wallet limit via KYC enrollment (verified account): limits are lifted after document verification. This approach is well-suited to progressive onboarding: a user can create a limited account for their first use, and then be invited to complete their profile to access all features. 1. Creating a limited Electronic Money Account CentralPay allows users to create electronic money accounts that can be used immediately, without the collection of documents, within a strict regulatory framework. Limited electronic money accounts are reserved for individuals (natural persons). Legal entities are not eligible for this type of account. 1.1. Regulatory limits Maximum balance: €150 Rolling cash flow: €150 over 30 days This threshold is based on the provisions of Article R561-16 of the Monetary and Financial Code concerning unaudited electronic money accounts. ℹ️ This type of account can then have its limit removed through KYC enrollment (see below). 1.2. Step 1 – Create a Customer The Wallet must be linked to an object Customer representing the final user (see Customer Profiles) 1.3. Step 2 – Create a Wallet POST /wallets Required fields FieldTypeDescriptionNotecustomerIdUUIDID of the CustomerRequired unless merchantId is providedcurrencystring (3)Wallet currency (e.g., "EUR")ISO 4217 – 3-letter code Optional fields FieldTypeDescriptionreferencestringBusiness referenceactivationDatedateActivation dateexpirationDatedateExpiration dateadditionalDataobjectCustom data (JSON) 1.4. Additional steps – Managing a limited wallet Once you’ve created a Wallet, CentralPay allows you: edit it (e.g., add an expiration date, a reference, or a merchant) view it in detail List the existing wallets for a Customer or Merchant 2. Edit a Wallet POST /wallets/{walletId} This service allows you to update certain attributes of the Wallet without recreating it. Required fields FieldTypeDescriptionNotewalletIdUUIDWallet ID to be updatedRequired in the URL and/or the request body Optional fields FieldTypeDescriptionNotereferencestringCustom Wallet reference—expirationDatedateWallet expiration dateYYYY-MM-DDactivationDatedateActivation Wallet dateYYYY-MM-DDadditionalDataobjectStructured business data (JSON key/value pairs)—merchantIdUUIDTo link a Wallet to a specific MerchantOptional – not to be confused with customerId 3. View a Wallet GET /wallets/{walletId} This service allows you to retrieve detailed information about an existing wallet. Required settings FieldTypeDescriptionNotewalletIdUUID (36)Wallet IDThe Wallet must belong to the connected Merchant or one of its sub-merchants Field descriptions FieldTypeDescriptionNotecurrencystringWallet currencyISO 4217 (e.g., EUR)available[].amountintAvailable balance in centsEx.: 10500 = €105.00 pending[].amountintPending balance (transactions in progress)—referencestringWallet referenceOptionaladditionalDataobjectCustom dataOpen JSON 4. List a Customer’s Wallets GET /wallets Allow to retrieve the list of wallets created for a given Customer. Required settings FieldTypeDescriptioncustomerIdUUIDCustomer IDcurrencystringCurrency (e.g., "EUR") Optional settings FieldTypeDescriptionNoteafterstringPlease return only those wallets created after this dateISO 8601 formatbeforestringPlease return only those Wallets created before that dateISO 8601 formatlimitstringNumber of items per pageDefault: 10pagestringPage indexDefault: 1 5. Steps for creating a limited EM account Remove the limit on an Electronic Money Account A Wallet can be converted into a verified account (with limits removed) via a full onboarding process triggered by the API. 1. Step 1 – Create an enrollment POST /merchant-enrollments You must include the walletId from the existing limited wallet. Required fields FieldTypeDescriptionNotewalletIdUUIDLink to the EM Wallet to remove the limitValid UUIDprofile[firstname][value]string (255)First nameAlpha + -profile[lastname][value]string (255)NameAlpha + -profile[email][value]string (255)Contact email—profile[phone][value]string (15)International phone—profile[birthday][value]date (YYYY-MM-DD)Date of birthBetween 18 and 110 years oldprofile[place_of_birth][value]string (255)Birthplace—profile[country_of_birth][country]string (3)Country of birthISO 3166-1 alpha-3languagestring (3)"fr" or "en"—accountTypestring"BASIC"—typestring"INDIVIDUAL"—activitySectorUUID (36)Activity sectorGET /api/nauth/enrollment-claim/activity-sectorfeeScheduleUUID (36)Price gridPOST /api/merchant-enrollment/fee-scheduleturnoverUUID (36)Expected annual revenuePOST /api/nauth/enrollment-claim/turnoverworkflowDefinitionUUIDWorkflow templateprovided by CentralPayprofileWorkflowDefinitionUUIDProfile templateprovided by CentralPayworkflowModestring"SEQUENTIAL"RequiredallowedEmailCommunicationbooleanConsentement à recevoir des emailstrue or false Optional fields FieldTypeDescriptionsendClaimEmailbooleanSending the enrollment email (default: true)sendProfileCreationEmailbooleanEmail after profile completionsendAccountCreationEmailbooleanEmail upon opening a verified accountcustomReferencestringInternal referencetechnicalContact, administrativeContact, financialContactstring(255)Business contactsaddSecurityReferencebooleanDisplays a safety reference (for STANDARD, PARTNER, RESELLER)hookUUIDTechnical hookbirthdayConfirmation[value]dateIf affiliated with an agent 2. Step 2 – Complete a KYC enrollment (via autocomplete) To speed up the enrollment process, you can fill out all the required information at once by calling: POST /merchant-enrollment/{uuid}/autocomplete Residential address FieldTypeRequiredDescriptionNoteaddress[nameLine1]string✅ YesStreet number and name—address[locality]string✅ YesCity of residence—address[postalCode]string✅ YesPostal code—address[country]string✅ YesCountry of residenceISO 3166-1 alpha-3 Identification document FieldTypeRequiredDescriptionNoteidentityDocument[type]string✅ YesDocument typeIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]file✅ YesFront side or main scanJPG, JPEG or PNGidentityDocument[documents][1]file✅ Yes, if IDENTITY_CARDBack side or additional pageJPG, JPEG or PNGidentityDocument[issuingCountry]string✅ YesIssuing countryISO 3166-1 alpha-3identityDocument[expiryDate]string❌ NoExpiration dateFormat YYYY-MM-DDidentityDocument[checkId]string❌ NoControl ID (Onfido)—identityDocument[documentNumber]string❌ NoDocument number—identityDocument[mrzLine1]string❌ NoMRZ 1 Line—identityDocument[mrzLine2]string❌ NoMRZ 2 Line— Special cases FieldRequiredConditionDescriptionidentityDocument[proofOfIdentityDocument]✅ Yesif type = IDENTITY_DOCUMENT_RECEIPTVisual proof of receiptidentityDocument[proofOfIdentityDocuments][*]✅ YeslikewiseMultiple files, if applicableidentityDocument[proofOfIdentityDocumentExpiryDate]✅ Yesif file proofOfIdentityDocument providedFormat YYYY-MM-DD Banking information (optional but recommended) FieldTypeRequiredDescriptionNoteiban[value]string❌ NoIBAN to be verifiedValid IBAN formatbic[value]string❌ NoBIC/SWIFT code—ibanDocument[document]file❌ NoProof of bank information (bank account details, statement)JPG, JPEG or PNG Additional KYC data (riskData) All of the following fields are required unless otherwise noted. FieldTypeRequiredDescriptionNoteriskData[isPep]bool✅ YesPolitically exposed person?default: falseriskData[isInSanctionList]bool✅ YesIs it on a sanctions list?default: falseriskData[residentAlpha3Code]string✅ YesCountry of residenceISO 3166-1 alpha-3riskData[isHighRiskResident]bool✅ YesCountry of residence at risk?—riskData[nationalityAlpha3Code]string✅ YesNationalityISO 3166-1 alpha-3riskData[isHighRiskNationality]bool✅ YesNationality at risk?—riskData[isHighRiskMCCActivitySector]bool✅ YesIs the MCC sector at risk?—riskData[MCCActivitySector]int✅ YesMCC code (NAF or sector)—riskData[monthlyLimit]int✅ YesReported monthly limit (in centimes)E.g., 150000 = €1,500.00riskData[monthlyLimitCurrencyAlphabeticCode]string✅ YesCurrency (e.g., EUR)ISO 4217riskData[isCrossBorderPayment]bool❌ NoCross-border payments?Default: trueriskData[declaredMonthlyRevenue]int❌ NoReported income (in centimes)—riskData[verifiedMonthlyRevenue]int✅ Yes, if full KYCVerified incomes— Additional documents (if required) FieldTypeRequiredDescriptionNoteproofOfAddressDocument[documents][0]file✅ Yes, if the profile is at riskProof of addressJPG, JPEG or PNGincomeDocument[document]file✅ Yes, if full KYC is requiredProof of income (1 document)JPG, JPEG or PNGincomeDocument[documents][*]file✅ Yes, if full KYC is requiredMultiple files allowedJPG, JPEG or PNG Other documents (if necessary to lift the limit) FieldTypeDescriptionNotesadditionalDocuments[X]['type']stringType of document submittedEx: UBO_DECLARATION, PROOF_OF_VAT_REGISTRATION, LICENSING_AGREEMENT, etc. additionalDocuments[X]['documents'][X]fileFiles submittedFile format: JPG, JPEG, PNG ℹ️ The complete list of accepted document types is documented in the Open API. Open data (required, even if empty) FieldTypeRequiredDescriptionmetaDataJSON object✅ YesOpen metadata, in {"key": "value"} format (may be empty) 3. Step 3 – Correcting a failed enrollment (autoupdate) If the compliance department rejects one or more documents (e.g., a blurry ID card, an expired document), you can submit only the rejected items via a self-update request. POST /merchant-enrollment/{uuid}/autoupdate Correction of an identification document FieldTypeRequiredDescriptionNoteidentityDocument[type]string✅ YesType of document to be correctedIDENTITY_CARD, PASSPORT, RESIDENCE_PERMIT, VISA, IDENTITY_DOCUMENT_RECEIPTidentityDocument[documents][0]file✅ YesFront side of the document (or single file)JPG, JPEG or PNGidentityDocument[documents][1]file✅ Yes, if type = IDENTITY_CARDBack side of the NICJPG, JPEG or PNGidentityDocument[issuingCountry]string✅ Yes, if the document is submittedIssuing countryISO 3166-1 alpha-3 Additional identification document (if required) FieldTypeRequiredDescriptioncomplementaryIdentityDocument[documents][0]file✅ Yes, if requiredAdditional scan or photocomplementaryIdentityDocument[expiryDate]string✅ YesExpiration date (YYYY-MM-DD)complementaryIdentityDocument[documentNumber]string✅ YesDocument numbercomplementaryIdentityDocument[mrzLine1]string✅ YesMRZ Line 1complementaryIdentityDocument[mrzLine2]string✅ YesMRZ Line 2complementaryIdentityDocument[issuingCountry]string✅ YesIssuing country (ISO alpha-3) Income documents FieldTypeRequiredDescriptionincomeDocument[document]file✅ Yes, if requiredSingle JPG/JPEG/PNG fileincomeDocument[documents][*]file✅ Yes, if multiple are expectedMultiple documents by index ([0], [1], etc.) Additional personal information FieldTypeRequiredDescriptionprofile[firstname][value]string❌ NoFirst nameprofile[lastname][value]string❌ NoNameprofile[birthday][value]string❌ NoDate of birthprofile[place_of_birth][value]string❌ NoBirthplaceprofile[country_of_birth][country]string❌ NoCountry of birth (ISO 3166-1 alpha-3) Address correction (if rejected) FieldTypeRequiredDescriptionprofile[address][nameLine1]string❌ NoAddress – line 1profile[address][postalCode]string❌ NoPostal codeprofile[address][country]string❌ NoCountry (ISO alpha-3)profile[address][locality]string❌ NoCity Updating KYC data (riskData) All of the following fields are required unless otherwise noted. They must be returned exactly as they are or updated if changed as part of the correction. FieldTypeRequiredDescriptionNoteriskData[isPep]boolean✅ YesPEP?default: falseriskData[isInSanctionList]boolean✅ YesOn a sanctions list?default: falseriskData[residentAlpha3Code]string✅ YesCountry of residenceISO alpha-3riskData[isHighRiskResident]boolean✅ YesCountry of residence at risk?—riskData[nationalityAlpha3Code]string✅ YesNationalityISO alpha-3riskData[isHighRiskNationality]boolean✅ YesNationality at risk?—riskData[isHighRiskMCCActivitySector]boolean✅ YesHigh-risk area?—riskData[MCCActivitySector]int✅ YesMCC business code—riskData[monthlyLimit]int✅ YesMonthly limit (in centimes)[0 ; 190000]riskData[monthlyLimitCurrencyAlphabeticCode]string✅ YesCurrency (e.g., EUR)ISO 4217riskData[isCrossBorderPayment]boolean❌ NoCross-border paymentsdefault: trueriskData[declaredMonthlyRevenue]int❌ NoReported incomes—riskData[verifiedMonthlyRevenue]int✅ Yes, if full KYCVerified incomes (centimes) Additional documents (optional or required) FieldTypeRequiredDescriptionadditionalDocuments[X]['type']string✅ Yes, if the documents are expectedType of proofadditionalDocuments[X]['documents'][X]file✅ YesRelated files (JPG, JPEG, PNG) Other fields FieldTypeRequiredDescriptionfullKycboolean❌ NoAllows you to require full or simplified KYC (true / false) 4. Step 4 – Track the status of an enrollment Once an enrollment has been created and completed, you can check its status at any time to: Check the status (ON_GOING, ACCEPTED, REFUSED) Track pending steps in the workflow Extract previously submitted profile data Retrieve an enrollment GET /merchant-enrollment/{enrolmentId} Required settings FieldTypeRequiredDescriptionNoteenrolmentIdUUID (36)✅ YesEnrollment ID returned upon creation (POST /merchant-enrollments)Standard UUID format ℹ️ The enrollment must belong to the scope authorized by your API credentials (merchant or sub-merchant). Main fields in the response FieldTypeDescriptionuuidUUIDUnique enrollment IDworkflow.statusstringProcess status (ON_GOING, ACCEPTED, REFUSED)workflow_modestring"SEQUENTIAL" or "CONTINUAL"workflow.activities[]tableList of activities (steps) still to be completedprofile[...]objectProfile data that has already been submitted, with their statusconformity_statusstringOverall compliance status (ON_GOING, REVIEW, APPROVED, etc.)created_atdatetimeEnrollment creation dateactivity_sector.namestringSector reported on the enrollment form Keep an eye on As long as an activity has a state = TODO, enrollment is incomplete When there are no pending activities and workflow.status = ACCEPTED, the user is approved In case of workflow.status = REFUSED, no verified wallet will be generated 5. KYC verification process for a ME account Responses, articles of association, and webhooks 1. Return codes related to creating a merchant profile Creating a merchant profile via the enrollment API triggers an automated process that allows CentralPay to collect and validate the information needed to open the profile. If the request fails, an HTTP error response is immediately returned to the API call, specifying the field that caused the error and the nature of the rejection (missing, inconsistent, or invalid data). ⚠️ There is no centralized table of return codes for these errors, because they are linked to the dynamic validations performed on a per-field basis. The error returned is always structured within the response body and allows you to precisely correct the issue causing the blockage. 2. Articles of association related to enrollments View the Merchant Enrollment Terms and Conditions ➝ 3. Webhooks related to enrollments View the Onboarding Webhooks ➝ Payouts General information The Easy Wallet solution enables platforms to process payments and transfer them to third parties in compliance with European regulations. To achieve this, the module includes two main services: The registration, which enables the creation of payment and electronic money accounts for merchants on a platform The transfer, which enables transactions to be transferred to these payment and electronic money accounts According to the CentralPay contract model, the options for registration and transfers vary. 1. Types of transfers According to the partnership model established with CentralPay, payouts are processed differently: MOBSP Partners: You must use the transfer service via transaction PSP Agents: You can use the free transfer service or transfer via transaction EM Distributors: You must use the transfer service via transaction for the foreign currency collection phase. Then, you may use the free transfer service only to transfer electronic money between the accounts of your participating merchants. To find out what type of partnership you have, please contact your CentralPay representative. Independent transfer 1. Create a Transfer The Create a Transfer function allows merchant agents (Agents or DME) to transfer funds between two accounts held by their participating merchants. This transfer can be initiated: By an agent when the accounts are payment accounts By an EMD when the accounts are electronic money accounts 1.1. Use cases For example, this mechanism allows for: An Agent to orchestrate debits and credits of funds between itself and its participating merchants, or to specified recipient accounts An EMD to conduct electronic money transfers between its participating merchants (for example, as part of a C2C marketplace) CentralPay remains responsible for the actual execution of transactions within the framework of its contractual relationship with participating merchants. 1.2. Required settings FieldTypeRequiredDescriptiondestinationWalletIdUUID✅ YesRecipient’s Centralpay account ID (belonging to a participating merchant).amountInteger (in cents)✅ YesTransfer amount. Must be strictly greater than 0. sourceIdUUID✅ Yes, if sourceType is specifiedFunds source identifier (e.g., transaction, transfer, credit, SDD).sourceTypeEnum✅ Yes, if » sourceId » is specifiedTransfer source: TRANSACTION, SCT_TRANSACTION, CREDIT, SDD. 1.3. Optional settings FieldTypeDescriptionemissionWalletIdUUIDIssuer’s account, if different from the principal account of the intermediary merchant.currencyISO CodeCurrency of the transfer (if different from the account currency).feeIntegerAmount of the commission charged by the Intermediary Merchant, deducted from the total. Default: 0. escrowDateISO DateThe date on which the transfer takes effect. Can be used to define a temporary hold period. merchantTransferIdThongIntermediary Merchant business reference (max 100 characters).transferGroupThongA group to combine multiple transfers.descriptionThongFree-form description (max 256 characters).additionalDataKey/ValueAdditional data in the form of key/value pairs (maximum of 256 characters per value).metaDataJSONAdditional structured metadata.purposeCode / purposeMessageEnum / StringPurpose of the transfer, according to a standard classification system. See the list of codes. 1.4. Validation Rules The destinationWalletId must correspond to a valid account of a Participant Merchant of the Intermediary The » sourceId » can only be used if the linked object has an accepted status (CAPTURE, CLEARED, etc.). The authorized amount depends on the available balance or the funds associated with the source (transaction, bank transfer, etc.) 2. Additional functions related to transfers Intermediary merchants have access to several post-transfer management features that allow them to adjust, view, or cancel a transaction, subject to certain conditions. 2.1. Update a Transfer This function allows you to modify certain settings of an existing transfer, provided that it has not yet been executed (status: PENDING). Available settings: FieldTypeRequiredDescriptiontransferIdUUID✅ YesID of the transfer to be modified.merchantTransferIdThong❌ NoIntermediary Merchant reference.escrowDateISO Date❌ NoNew execution date postponed.transferGroupThong❌ NoBatch processing of transfers.descriptionThong❌ NoFree-form description (max 256 characters).additionalDataKey/Value❌ NoAdditional information.metaDataJSON❌ NoStructured metadata. Changing the escrow date is particularly useful in conditional payment flows (e.g., marketplace transactions, withdrawal periods, etc.). 2.2. Cancel a Transfer A transfer can be canceled as long as it has not yet been processed (status: PENDING). This cancellation is irreversible: the transaction will appear as CANCEL in the account history. Settings: FieldTypeRequiredDescriptiontransferIdUUID✅ YesID of the transfer to be canceled. ⚠️ Once the funds are available (status: TRANSFERRED), this feature is no longer available. You will then need to use a TransferReversal. 2.3. View a Transfer (Retrieve a Transfer) Allows you to retrieve all the details of a transfer using its CentralPay ID. FieldTypeRequiredDescriptiontransferIdUUID✅ YesTransfer ID. 2.4. Search for Multiple Transfers (List Transfers) Allows you to search for a list of transfers based on various criteria. All parameters are optional. ParametersTypeDescriptionmerchantTransferIdThong (100)Intermediary Merchant reference.destinationWalletIdUUIDRecipient’s account.transferGroupThongTransfer group.statusEnumPENDING, TRANSFERRED, CANCEL.after / beforeISO DateFilter by creation date.limitIntegerNumber of results per page.pageIntegerResults Page Index. 3. Reverse a Completed Transfer (Transfer Reversal) Once a transfer has been executed (status: TRANSFERRED), it can no longer be canceled using the Cancel function. In this case, you must use a dedicated operation called » TransferReversal. » This operation does not delete the original transfer; it remains visible, recorded in the history, and traceable. This feature is available only to Intermediary Merchants (Payment Account Agents and EMDs for Electronic Money Accounts) and must comply with the rules regarding the availability of funds. 3.1. Terms of Use The initial transfer must: Have the status » TRANSFERRED« Have funds available in the recipient’s account Not having already been fully refunded through reversal transactions The amount refunded must be: Less than or equal to the available balance in the recipient’s account Less than or equal to the amount originally transferred Less any reversals already made on the transfer in question 3.2. Create a TransferReversal Allows you to return an amount to the original issuing account. FieldTypeRequiredDescriptiontransferIdUUID✅ YesOriginal transfer ID.amountInteger✅ YesAmount to be refunded (in centimes).merchantTransferReversalIdThong❌ NoIntermediary Merchant reference number for tracking.refundFeeBoolean❌ NoIndicates whether the initial transfer fees are refunded (default: true).feeInteger❌ NoAmount of fees associated with the reversal.descriptionThong❌ NoFree-form explanatory text (max. 256 characters).escrowDateISO Date❌ NoDeferred execution date, if applicable.additionalDataKey/Value❌ NoKey-value pairs for business requirements. ⚠️ If the » refundFee » field is set to false, the initial fee amount is retained and is not returned to the source account. Important Rules: The transaction appears in the account activity (debit to the recipient’s account, credit to the originating account) Multiple reversals can be made on a single transfer, up to the initial total amount If funds are not available, the request is rejected with an explicit error message (insufficient balance or amount too high). 4. Additional Functions (TransferReversal) These functions allow you to manage and view completed transfer return transactions (TransferReversal) once they have been created. 4.1. Edit a TransferReversal (Update) Allows you to edit certain information about an already created TransferReversal. FieldTypeRequiredDescriptiontransferReversalIdUUID✅ YesTransferReversal ID to be modifiedmerchantTransferReversalIdThong❌ NoIntermediary Merchant reference for trackingdescriptionThong❌ NoFree-form description (256 characters max)escrowDateDate (ISO)❌ NoNew deferred execution date, if applicableadditionalDataKey/Value❌ NoKey-value pairs for specific business purposes This feature is available only to users with PARTNER status or higher. 4.2. View a TransferReversal (Retrieve) Allows you to view the details of a TransferReversal using its ID. FieldTypeRequiredDescriptiontransferReversalIdUUID✅ YesTransferReversal ID to view The returned object contains all business information, including: amount, date, status, relevant account, and transaction history. 4.3. Search for Transfer Reversals (List) Allows you to search the history of » TransferReversal » based on various criteria. ParametersTypeRequiredDescriptionmerchantTransferReversalIdThong❌ NoIntermediary Merchant ReferenceafterISO Date❌ NoReturns the elements created after this datebeforeISO Date❌ NoReturns the elements created before that datelimitInteger❌ NoNumber of items to return (default: 10)pageInteger❌ NoIndex of the page to return (default: 1) This feature provides comprehensive tracking of reversal transactions related to a specific activity, including cases involving multiple partial returns. Transfer via Transaction or PaymentRequest Unlike independent transfers, which are reserved for Agents (for Payment Accounts) and Electronic Money Distributors (EMD) (for Electronic Money Accounts), transfers via transactions are available to all partnership models, including unregulated Technical Partners. In this context, when a transaction is created (via card, bank transfer, or direct debit), the partner sends CentralPay contextualized transaction data (e.g., cart total, commission, recipient wallet IDs, etc.). ℹ️ The API call does not directly initiate the financial transaction: CentralPay processes the transfer independently after the transaction has been successfully validated (Card Transaction, receipt of a Bank transfer, or execution of a SEPA Direct Debit). The conditional transfer model allows you to initiate a funds transfer upon completion of a transaction: card payment, bank transfer (SCT), or direct debit (SDD). In this case, the transfer is configured directly when the transaction is created, using a dedicated field transfer[]. This method does not use the /transfer endpoint, but instead relies on the specific endpoints for the relevant transactions: /transaction For card payments: See how to create a Card Transaction ➝ /sctTransaction For incoming bank transfers: See how to create an SCT Transaction ➝ /sddTransaction For SEPA Direct Debits: See how to create an SDD Transaction ➝ /paymentRequest For payment requests: See how to create a payment request ➝ This process ensures that funds are transferred only if the transaction is successful. The transfer then becomes an automated and synchronized step. 1. Terms of Use The transfer is created at the same time as the transaction (no separate call) It is executed only if the source transaction is successful. It adheres to the source’s constraints (status, available balance, date, etc.) It can be done immediately or at a later time using the field escrowDate 2. Set up a transfer within a transaction In all four scenarios, the logic is the same: an ` transfer[] ` array is included in the request body during the POST call to create the transaction. The following fields are accepted at transfer[]: FieldTypeRequiredDescriptiondestinationWalletIdUUID✅ YesCentralPay Beneficiary account. Must belong to an authorized Participant Merchant. amountInteger✅ YesTransfer amount in centimes.currencyThong❌ NoTransfer currency (if different from the transaction currency).merchantTransferIdThong❌ NoPartner Reference.feeInteger❌ NoApplicable fees (deducted from the gross amount).escrowDateISO Date❌ NoDeferred execution date (if applicable).transferGroupThong❌ NoGroup ID for aggregated tracking.descriptionThong❌ NoTransfer description visible on statements.additionalDataKV pairs❌ NoStructured business data (key/value). ⚠️ The rules regarding fund availability (particularly after the capture or validation period) must be followed. If the transaction is canceled or fails, no transfer is initiated. Payout to a Third Party An outgoing payout to a third party allows funds to be transferred from a CentralPay Payment Account or Electronic Money Account to the Bank Account of a Participant Merchant acting as a CentralPay Intermediary (Agent or EMD). Partners (technical or integration partners) do not have access to this feature. 1. Purpose and Scope This service allows you to: Initiate manual or automated payouts for Participant Merchants Target a Bank Account authorized by the Participant Merchant Use a CentralPay account as a source of funds The regulated partner retains technical control over the payout, but the funds are always held and transferred by CentralPay, which remains responsible for executing the transaction. 2. Available Methods 2.1. The CentralPay API Endpoint: /payout/byThirdParty➡️ See details below. 2.2. The CentralPay Merchant Portal Available to accounts with the appropriate permissions (Agent or EMD). Go to Linked Accounts Select the relevant Merchant Go to the Bank Accounts tab Select the destination account and initiate the payout 3. API endpoint: /payout/byThirdParty This service allows you to send an instruction to CentralPay to perform a payout for a specified amount to a Bank Account linked to a Participant Merchant. 3.1. Limits on Use 1 payout per day per Participant Merchant / currency Target Bank Account validated by the Participating Merchant Payouts may only be made from available funds 3.2. API Parameters (BODY) ParametersTypeRequiredDescriptioncurrencyISO 4217✅ YesCurrency of the payout (must match the Bank Account).destinationBankAccountIdUUID✅ YesBeneficiary Bank Account (linked to the Participant Merchant).walletIdUUID❌ NoWallet where the funds come from.amountInteger (in cents)❌ NoAmount to be paid out. If blank: maximum balance. merchantPayoutIdThong❌ NoInternal reference ID.descriptionThong❌ NoFree-form text, visible in the report.payoutReferenceString (max 35)❌ NoBank reference number (shown on the bank statement).additionalDataMap❌ NoAdditional data (e.g., order ID, segment, etc.).transitionWalletUUID❌ No(advanced case) temporary wallet.customerIdUUID❌ NoCustomer ID if the target is non-commercial. 4. Tracking Payouts 4.1. Claim a payout Endpoint: /payout/byThirdParty/retrieveParameter: payoutId (UUID) 4.2. List the payouts Endpoint: /payout/byThirdParty/listParameter: walletId (UUID) 4.3. Possible articles of association: StatusMeaningPENDINGPayout is being processedPAIDPayout successfully processedCANCELPayout Canceled Manually 5. Regulatory Constraints Only Electronic money Agents and Distributors (EMDs) registered with the ACPR through CentralPay may initiate these payouts Partners must ensure that the data they submit complies with their contractual and regulatory framework CentralPay reserves the right to refuse a payout or to request supporting documents if there is any doubt about the transaction Responses, statuses, and webhooks 1. Return Codes Related to Transfers Transfers made via the CentralPay API (subject: Transfer or Transfer Reversal) are internal transactions between two CentralPay account holders (e.g., merchants, customers, partners). These transactions are executed synchronously or nearly instantly. Unlike Card Transactions or Bank transfers, there are no bank return codes associated with these internal transfers. If a transfer fails, the API returns an HTTP error describing the reason for the Rejection (e.g., insufficient funds, inactive account, incompatible currency, etc.). These errors are not business statuses, but rather input validations that prevent the transfer from being created. Once the transfer is accepted, it follows its own lifecycle. 2. Articles of association related to transfers View the Transfer Articles of association ➝ View the Transfer Reversal Articles of association ➝ View the Payout Articles of Association (also applicable to PayoutByThirdParty) ➝ 3. Webhooks Related to Transfers Check out Transfer Webhooks ➝ View the Transfer Reversal Webhooks ➝ View the Payout Webhooks (also applicable to PayoutByThirdParty) ➝ CMS Plugin WooCommerce This guide will walk you through the installation, configuration, and use of the CentralPay plugin for WooCommerce (WordPress). ℹ️ The CentralPay platform supports various payment methods (credit/debit cards, Bank transfers, SEPA Direct Debits, and Payment Initiation Service (PIS)) and payment options (one-time payments, subscriptions, installment plans, etc.). This plugin only allowsfor the processing of one-time credit/debit card transactions. If you'd like to request a change to the plugin, please visit https://support.centralpay.com: Support & Settings > Suggest a new feature. 1. Download the plugin For WooCommerce ➝ Download the CentralPay plugin ZIP archive ⚠️ Be sure not to unzip it manually. 2. Installation on WordPress Log in to your WordPress admin dashboard Go to Extensions > Add Click » Upload an Extension« Select the file » centralpay220.zip » and click » Install Now« Once the installation is complete, click » Enable Extension« 3. Module Configuration Go to WooCommerce > Settings > Payments Click on CentralPay to access the settings Fill in the following fields, then click » Save Changes « : FieldDescriptionAccess to DataMerchant IDThis is your Merchant Public Key. Do not confuse it with the Merchant UUID. CentralPay Merchant Portal > Administration > Technical Support > Copy « Merchant Public Key »API LoginYour CentralPay API user IDCentralPay Merchant Portal > Administration > Technical Support > Click on your « API ID » > Copy the « login »API PasswordYour CentralPay API user passwordCentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »POS IDUnique identifier for your Point of Sale (POS) (UUID)CentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)Test / Production ModeEnable test mode if you want to use the sandbox environment (the login and password must be those for your CentralPay test Merchant Profile)./Redirect URLRedirects your customers to a custom page after they complete payment through our form.Enter the URL of your payment confirmation page. 4. Order Status The CentralPay WooCommerce plugin automatically includes a redirect URL (return_url) in the payment form link. This URL redirects the customer to the order confirmation page (/checkout/order-received/) and updates the order status based on the payment result. If the end customer closes the payment window before being redirected, the order update may not trigger correctly on the WooCommerce side. To ensure that order status is updated reliably, we recommend setting up a hook (server-to-server callback) in your CentralPay Backoffice. Setup steps: Go to:Production: https://backoffice.centralpay.net/admin/hook/Testing: https://test-backoffice.centralpay.net/admin/hook/ Create a hook with the following parameters: Event: Point of Sale (POS) > TRANSACTION_SUCCEDEED Assigned to a Point of Sale (POS): Select your WooCommerce POS store URL: https://votre-site-woocommerce.com/?wc-api=cpay_validation (Replace with the URL of your WooCommerce site.) Save the Hook The ` /?wc-api=cpay_validation ` parameter is required for the CentralPay WooCommerce plugin to recognize the notification and trigger the order status update. This configuration must be set up both in your Test environment and on your production Merchant Profile. 5. Logo Customization You can also customize the payment interface by adding your website’s logo through the Backoffice: Go to: https://backoffice.centralpay.net/admin/point_of_sale/ In your Point of Sale details, click Edit Upload your logo in the » Logo » section This logo will be displayed directly in the payment form to provide a more consistent user experience. 6. Test Mode Enable test mode in the settings (please note: you must have a CentralPay test Merchant Profile and enter the credentials for that test Merchant Profile) Use the test cards provided by CentralPay to simulate payments Check that it is working properly: From the payment form Redirects Order Statuses 7. Payment Tracking View all your payments in WooCommerce > Orders The CentralPay plugin automatically updates order statuses If needed, an event log is available in the plugin’s ` error.log ` file 8. Available Languages The plugin is available in: 🇫🇷 French 🇬🇧 English You can edit or add your own translations using the ` .po ` files located in the ` /languages` folder, or by using a plugin such as Loco Translate. 9. Uninstallation To uninstall the plugin: Disable it through the Extensions menu Click » Delete« The uninstall script will delete the plugin’s settings 10. Support If you have any questions or need assistance, please contact our technical support team at https://support.centralpay.com.Please include your Merchant ID, your website URL, and as many details as possible about your request. PrestaShop CentralPay offers a credit card payment module for Prestashop stores. Two versions of the module are available, depending on your CMS version: For Prestashop 1.6 ➝ Download the 1.6 module For Prestashop 1.7 ➝ Download the 1.7 module 1. Installing the module Prestashop v1.6 Log in to the Prestashop back office Modules Menu > Modules Click « Add a New Module » Download the archive .zip and then click « Install » Prestashop v1.7 Log in to the Prestashop admin panel Menu Modules > Modules Manager > Upload a module Upload the archive » .zip » or click to download it Complete the installation by following the wizard’s instructions 2. Module Configuration After installation, go to the module’s configuration page: Modules Installed Modules CentralPay Configure The following fields are required: FieldDescriptionWhere can I find this information?Merchant Public KeyAPI Authentication Public KeyCentralPay Merchant Portal > Administration > Technical Support > Copy the “Merchant Public Key”API LoginYour CentralPay API user IDCentralPay Merchant Portal > Administration > Technical Support > Click on your “API ID” > Copy the “login”Secret Key (API password)API Secret Key (Never Share)CentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »POS IDUnique identifier for your Point of Sale (POS) (UUID)CentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)EndpointCentralPay API URLIn the test environment: https://test-api.centralpay.net/In production: https://api.centralpay.net/CurrencyCurrency of accepted paymentsConfigure according to the store (EUR recommended)Payment MethodTechnical Payment Integration MethodLeave the default value as « Direct Post »Displaying the FormDisplay the form on a dedicated page or on the shopping cart pageSelect the desired view (recommended: dedicated security page)Order Status After Successful PaymentStatus the order will have after payment is confirmed« Payment Accepted » (or any other status configured in PrestaShop) ⚠️ Be sure to copy and paste the Merchant Public Key exactly as it appears, without any spaces or extraneous characters. 3. How It Works When a customer selects CentralPay as a payment method: They are redirected to a secure page (hosted or integrated) He enters his credit card information The payment has been authorized by the bank (including 3D Secure) The order is confirmed in PrestaShop with the status set to A webhook automatically notifies CentralPay and PrestaShop of the payment outcome 4. Test / Production Mode In test mode, you can use the test cards provided in the developer documentation In production mode, only activated merchants (with validated KYC) can receive payments To switch modes, changethe endpoint in the module’s configuration. 5. Support If you have any questions: Contact CentralPay support through the Merchant Portal at > Help & Support Or directly at support.centralpay.com Magento 1. Download the module For Magento ➝ Download the plugin (v1.0) ℹ️ This module is compatible with Magento 1.7 and later 2. Installing the plugin 2.1 Extract the archive Unzip the downloaded .zip file. You will get the following folders: app/ js/ skin/ centralpay.sql (SQL file to run) 2.2. Copy the files Copy all the folders (app, js, skin) to the root of your Magento installation. They will automatically be integrated into the existing directory structure. 2.3. Run the SQL script Run the file ` centralpay.sql ` on your Magento site’s database. ⚠️ Use phpMyAdmin or any other database management tool to import this file.⚠️ Be sure to back up your database before running the script. 3. Module Configuration Once the module is installed, log in to your Magento admin interface to enter the CentralPay settings. 3.1. Go to Settings In the Magento admin menu, go to: Stores Configuration Sales Payment Methods CentralPay 3.2. Fields to Fill In Field in MagentoDescriptionRequiredAccess to DataEnable CentralPayEnables the module in the Magento environment.✅ YesMagentoTitleName of the payment method as displayed to the customer.✅ YesMagentoMerchant ID (merchantLogin)API ID provided by CentralPay.✅ YesCentralPay Merchant Portal > Administration > Technical Support > Click on your “API ID” > Copy the “login”API Password (merchantPassword)API password associated with the ID.✅ YesCentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »Merchant Public Key (merchantPublicKey)Encryption key used to secure card data.✅ YesCentralPay Merchant Portal > Administration > Technical Support > Copy the “Merchant Public Key”POS IDUnique identifier for your Point of Sale (POS) (UUID)❌ NoCentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)Return URL (returnUrl)Allows you to redirect the customer to Magento after payment. Can be left blank to use automatic redirection. ❌ NoMagentoTest Mode (sandbox)Allows you to use the CentralPay test environment.❌ NoMagentoPending OrderMagento status used if the payment is in progress or pending (e.g., 3DS).❌ NoMagentoOrder ConfirmedMagento status used if the payment is accepted.❌ NoMagento 4. Test Mode and Sandbox Environment The module offers a sandbox option that can be enabled in the Magento admin panel. ℹ️ Use the CentralPay sandbox environment to simulate payments before going live. Be sure to use the test API credentials (username, password, public key) provided by CentralPay. 5. Customer Experience The customer adds items to the shopping cart and proceeds to checkout At checkout, he selects CentralPay as his payment method He is redirected to the secure CentralPay payment interface Once the payment is processed (or there is a refusal), the customer is redirected to your Magento site The order status is updated automatically 6. Payment Tracking From Magento: You can view the status of orders and payments in the standard back office From CentralPay: All transactions are also visible in your CentralPay interface (transactions, refunds, Rejections, etc.) 7. Technical Support If you have any questions: View the CentralPay technical documentation: docs.centralpay.com Contact our support team: support.centralpay.com Support is available in French and English. Best practices VAT Returns by Country CentralPay does not identify buyers’ VAT countries: this is the Merchant’s responsibility. To ensure your tax filings are accurate, collect the buyer’s country of residence, keep your records, and submit them to CentralPay so they can be included in your export files and transaction histories. Target audience: B2C merchants selling goods or services in several European Union countries. 1) General Principle The applicable VAT depends on the buyer’s (end consumer ‘s) country of residence, not on the Merchant’s country or the payment method used. The merchant must therefore determine, record, and report the customer’s country in order to apply the correct VAT rate. CentralPay has neither the regulatory authority nor the technical capability to determine this country on the merchant’s behalf. In short: You are responsible for collecting and storing the information needed to determine the VAT country. 2) Why CentralPay Cannot Determine the Customer’s Country The technical indicators available to a PSP (card, IP address, etc.) do not allow for reliable identification of the buyer’s country: BIN Country (card): unreliable for VAT purposes. Online bank cards are often issued in a country other than the cardholder’s. IP Country: May be inaccurate when using a VPN, proxy, mobile device, or cloud service. Payer ≠ Buyer: The person who pays is not necessarily the person liable for VAT (e.g., a card belonging to a family member or an employer). That is why CentralPay does not perform any analysis to identify the customer’s country. Only the Merchant has the valid tax information. 3) What You Need to Do as a Merchant 3.1 Collect the buyer’s country Integrate the billing country selection into your checkout process. Send this information to CentralPay via the API at the time of the transaction. 3.2 Submit the country to CentralPay Data typeField to fill inDescriptionBuyer’s country (required)Customer > countryISO 3166-1 alpha-2 code for the customer’s country. ⚠️ If you do not enter the information at Customer.country, CentralPay will not be able to display or export the countries of your buyers. Your export files will therefore not be sufficient to support your VAT filings. 4) What CentralPay Provides in the Exports CentralPay provides export files that include : ColumnSourceUsageCustomer > countryAmount provided by the Merchant via Customer > countryDeclaratory statement from the Merchant, to be used for VAT purposes.Transaction > end_user_ipBuyer’s IP addressTechnical indicator is inconclusive.Transaction > card_countryCountry of the card used by the buyerTechnical indicator is inconclusive.sctTransaction > ibanBuyer’s IBAN for Bank transfer (including the country code)Technical indicator is inconclusive.bankAccount > ibanBuyer’s IBAN for SEPA Direct Debit (including the country code)Technical indicator is inconclusive. Custom exports can be set up if you want to include additional fields or formats (SFTP, email, etc.). 5) Best Practices for VAT Compliance Always collect the billing country on the front end (required field or derived from the Customer Profile). Cross-check at least two non-contradictory pieces of evidence for each order. Handling Discrepancies: If the information differs (e.g., IP ≠ map), request supporting documentation before billing. Retain records for at least 10 years (the legal retention period for digital services in the EU). Register with the OSS/IOSS if you sell to consumers in multiple EU countries. Link invoices, transactions, and receipts for each sale. 6) Case Examples LocationData CollectedRecommended ActionAddress = FR, BIN = FRTwo pieces of corroborating evidenceInvoice with French VATAddress = FR, BIN = DE, IP = DEDivergenceRequest a receipt before billingNo countries includedMissing dataPotential Non-Compliance – Correct Your Course 7) FAQ Can CentralPay determine the country for me?No. We provide guidance (BIN countries, etc.), but the decision and the tax documentation are your responsibility. Can I rely solely on the BIN?No, the BIN is not a reliable source of information. Always use the billing country as your primary reference. How can I verify that my exports are complete?Check to see if the » buyer_country_declared » field is present in your files. If the field is empty, your front-end system did not include the country. Merchant-Initiated Transaction (MIT) Introduction A Merchant-Initiated Transaction (MIT) is a payment initiated without any interaction from the cardholder, carried out under a preexisting contract between the merchant and its customer. This model applies to recurring, variable, or usage-based billing. Under PSD2, a MIT may be exempt from SCA authentication, provided that: The merchant has a valid contractual authorization, An initial CIT transaction authenticated using 3DS has been completed. MITs are therefore based on a previous successful authentication combined with a Customer and a cardToken. Documentation 3DS 2.2 (General) 1. CIT and MIT: What’s the Difference? Customer-Initiated Transaction (CIT) A CIT transaction is initiated by the account owner. It generally involves 3DS authentication. Roles of the Initial CIT in an MIT workflow: authenticate the card and the cardholder, confirm the creation of a Customer, allow the generation of a cardToken, serve as a reference for future MITs. Merchant-Initiated Transaction (MIT) An MIT is initiated by the Merchant without any action on the part of the account holder, in accordance with the agreement entered into with the customer. Use Cases: monthly billing with a variable amount, additional one-time fees, usage-based model. 2. Requirements for Conducting MITs Two conditions must be met: 2.1. Processing an Initial Authenticated CIT (3DS) This CIT must be: authenticated via 3DS, captured, associated with a Customer and a cardToken. 2.2. Existence of a Valid Commercial Power of Attorney The scope of work must include: the nature of the services, the future amount (fixed or variable), billing terms and frequency, the customer’s explicit consent to future payments. Documentation CustomForm Payment Form 3. Amount of the Initial CIT It is perfectly acceptable to make an initial CIT payment in a nominal amount (for example , €1 or €0.01) in order to: authenticate the card, approve the commercial contract, Generate a token that can be used for future MITs. The initial CIT does not have to cover the actual amount of future MITs. Note: Zero-euro transactions of the “verification/authenticated card imprint” type work for certain schemes but are not universally supported by partner banks; hence the recommendation to use an authenticated CIT transaction.Additionally, although a nominal CIT transaction is technically acceptable, the issuer may—depending on its risk profile, the payment scheme, or the account’s tenure—decide to trigger a 3DS challenge during a subsequent MIT transaction." 4. Validity Period of a CIT for Generating MITs There is no limit imposed by CentralPay.The validity period depends solely on: 4.1. From the issuing ACS (the holder’s bank) Practices observed in the sector: Retention period for authentication records: ≈ 13 months, For certain issuers: up to 36 months. After the 3DS token expires, MITs may be subject to: of soft declines, authentication requests, « SCA required » rejections. 4.2. On the Use of 3DS 2.2 – 3RI In some cases, the Merchant may renew an issuer-side authentication via 3RI in order to extend the mandate’s validity period. Availability of diagrams: CB: operational support, Mastercard: Operational Support, Visa: Support is currently under development and is not reliable at this time. Documentation 3DS 2.2 – 3RI 5. Can an MIT require 3DS authentication? Yes. An MIT may, in exceptional cases, be reclassified as a CIT by the issuer (ACS), particularly in the following cases: long history of the original CIT, suspected fraud, the issuer’s RBA rules, amounts that are unusual or higher than expected. Reducing the Risk of 3DS Requests Use 3RI when supported, maintain a clear contractual framework, Take the CIT again in the event of repeated failures. Pour en savoir plus 3DS 2.2 FAQ 6. MIT Transactions or CentralPay’s Subscription Service: Which Should You Choose? It is not required to use the Subscription module to perform MITs. 6.1. Use the subscription service if: The amounts are fixed, the frequency is recurring, The concept is similar to that of a subscription. 6.2. Use MIT transactions if: The amounts vary (usage-based model), Invoices are issued on a one-time basis, Debit transactions must be initiated by the Merchant. Documentation Recurring Card Transaction 7. API Implementation: Perform an MIT Transaction 7.1. Initial CIT During the CIT transaction: creation of a web customer, Generating a cardTokenId, 3DS authentication. 7.2. MIT Transaction Each MIT transaction must include: customerId, cardTokenId (or cardId), specifying the MIT context in the transaction parameters, the metadata needed to link the MIT to the original CIT. Documentation Recurring Card Transaction >: Subscription Based on Successive Transactions 8. Best Practices for Improving the Reliability of an MIT Workflow 8.1. Techniques initiate MITs shortly after billing, combine payments when appropriate, use 3RI to refresh authentication, Maintain a stable cardToken. 8.2. Handling Refuses If the code indicates « SCA required » (), offer the customer a new CIT (manual payment); if the code indicates « MIT required » (), recreate an MIT mandate. 8.3. Contract Workers Keep proof of the order: Terms and Conditions, acceptance logs, contract, customer information page. 9. MIT FAQ Is a CIT of 1 € sufficient for an MIT mandate? Yes, if it is 3DS-authenticated. How long does a CIT continue to generate MITs? It depends on the ACS: generally 13 to 36 months. Can an MIT trigger 3DS? Yes, if the ACS requires it (RBA, CIT tenure, atypical amounts). Should I use « Subscription » for variable amounts? No, the subscription service is generally designed for fixed subscription models. The recommended approach is to perform an initial CIT transaction followed by ad hoc MIT transactions. What should you do if a customer changes their card? A new CIT is required to generate a new token. Verification of Payee (VoP) Effective October 9, 2025, European regulations require banks to implement Verification of Payee (VoP) for all SEPA bank transfers (Regulation (EU) 2024/886, Article 5c). The goal is to protect consumers from IBAN fraud. 1. Operation When a bank transfer is initiated, the payer’s bank must verify that the beneficiary’s name entered matches the name associated with the IBAN. The result of this verification is displayed to the payer: MATCH: exact match CLOSE MATCH: partial match (e.g., typo, abbreviation, particle) NO MATCH: No matches found CHECK NOT POSSIBLE: Verification not possible ⚠️ The payer is free to decide whether or not to proceed with the bank transfer.However, a "NO MATCH" or "CLOSE MATCH" significantly increases the risk that the transaction will be abandoned. 2. Impacts on Merchants To prevent bank transfers from being rejected or abandoned, it is essential to verify that the name displayed to your customers matches the business name registered on your CentralPay account. Common cases: Trade name / business name / brand name → If you are known by a name other than your legal business name, please provide us with those names. We can enter them manually to improve the match rate. vIBAN CentralPay → Verify that your interfaces and media correctly display the business name of the CentralPay account owner associated with the IBAN. SmartForm (PaymentRequest) → No action required: CentralPay automatically displays the account owner. Quotes, invoices, external communications → Make sure the company name listed is the same as the one on the Bank Account you provide to your customers. Key points: - Verify that your business name is correctly registered and communicated.- Submit your trade names or trademarks to CentralPay if you wish to have them recognized.- Ensure that your documents (invoices, quotes, emails) match the official name on your Bank Account.- Verify that your documents (invoices, quotes, emails) match the official name on your Bank Account. - Inform your customers: * When they make a bank transfer, the beneficiary name they enter must match your business name exactly. * If they see a “Close match” or “No match” alert in their banking app, ask them to verify the name they entered. FAQ - Verification of Payee Effective October 9, 2025, Verification of Beneficiary (VoP) will become mandatory for all SEPA bank transfers, whether standard or instant. This system, which is free for users, aims to enhance payment security by reducing both: Bank transfer fraud (particularly fraud involving fake bank account information), errors in entering the IBAN or the Beneficiary’s name. Specifically, before executing a bank transfer, the payer’s financial institution must check with the Beneficiary’s financial institution to verify that the IBAN matches the account owner’s name. If there is a discrepancy, an alert is displayed to the Payer, who remains free to decide whether or not to proceed with the transaction. Challenges of the Program User protection: limiting misdirected or fraudulent bank transfers. SEPA Payment System Security: Supporting the Rollout of Instant Bank Transfers in Europe. Business and Consumer Confidence: Improving the Transparency and Reliability of Payments. European harmonization: establishing a common standard for all PSPs (banks, payment institutions, and Electronic money institutions). Legal Basis Regulation (EU) 2021/1230 on instant bank transfers in euros and amending Regulation (EU) No. 260/2012 (SEPA), which introduces the VoP requirement. Regulation (EU) 2015/847 on information accompanying fund transfers, which requires the accurate transmission of information about the Payer and the Beneficiary. Monetary and Financial Code: Articles L.133-6 and L.133-7 concerning the authorization of payment transactions and the accuracy of information, Articles L.561-5 et seq. concerning due diligence obligations in the area of AML/CFT. ACPR doctrine, which in several decisions has penalized the inadequacy of verification procedures and the failure to ensure that a customer’s identity matches their account Frequently Asked Questions (FAQ) 1. What is VoP? The Payment Order Verification (VoP) is a regulatory service established at the European level.It automatically compares the name of the Beneficiary of the bank transfer with the IBAN provided by the Payer before the bank transfer is executed.Objective: to enhance payment security and reduce fraud (particularly fraud involving fake bank account information). 2. Who is affected? Payers: individuals or businesses that initiate a bank transfer. Beneficiaries: Any individual or entity that receives bank transfers (you, as a CentralPay customer). Payment Service Providers (PSPs): banks, payment institutions, or Electronic money institutions, which must integrate VoP into their systems. 3. How does VoP actually work? When a bank transfer is initiated: The payer enters the IBAN and the beneficiary’s name. The sender’s bank queries the beneficiary’s payment service provider (via a secure channel) to verify that the IBAN matches the name on file for the beneficiary. The response is sent back to the payer’s PSP and displayed to the payer. 4. What results might occur? There are three possible scenarios: Exact match: The IBAN and name match → the bank transfer can be initiated without a warning. Partial match: The IBAN matches, but the name is different (typos, abbreviations, different spelling). The payer receives a warning and can: correct the name, or confirm that this is indeed the intended Beneficiary. Mismatch: The IBAN and name do not match → the payer receives a high-priority alert. The payer can cancel the transaction or decide to proceed by accepting the risk. Does the VoP block a bank transfer? No. VoP does not block the execution of a bank transfer. It provides additional information to the Payer, who remains free to approve or reject the transaction.However, some banks may set internal rules to block transactions in the event of a complete mismatch. What kind of data exchanges take place between banks and PSPs? The Beneficiary’s PSP (e.g., CentralPay) stores the exact name of the account owner in its database. When a VoP query is made, it responds with a standardized code indicating: match, partial match, or no match. These transactions are secure, traceable, and limited to only the necessary data, in accordance with Regulation (EU) 2015/847 on the reporting of bank transfers. No other personal data (address, KYC documents, etc.) is shared. What are the benefits of VoP? For the payer: reduced risk of bank transfer fraud; detection of data entry errors. For the beneficiary: reduced payment delays caused by errors; protection of the company’s reputation with its customers. For the financial system: improved fraud prevention and compliance with European standards. What should I do as a CentralPay Beneficiary? Provide your customers with the correct IBAN and the exact name on file with CentralPay (full company name, without abbreviations). Make sure your invoices, contracts, and other documents always include the same bank account information. If your company name changes or you start using a trade name, notify your customers and CentralPay promptly so that your information can be updated. What happens if there are frequent discrepancies? If your customers frequently encounter VoP alerts when making bank transfers, this may indicate that your bank account information is not being provided consistently. CentralPay can help you review and standardize your payment information to avoid friction. Illustration of VoP by the CNMP
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 1. Logos Logo PaySecure classique PNG Logo PaySecure blanc PNG Logo PaySecure classique JPG 2. 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. 1. Version française 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 2. Version anglaise 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
Logos and visuals Articles CentralPay Logos PaySecure Logos Reinsurance Visuals (FR/EN) CentralPay Logos CentralPay SVG Logo White CentralPay Logo (SVG) CentralPay Logo PNG White CentralPay Logo PNG PaySecure Logos 1. Logos Classic PaySecure Logo (PNG) White PaySecure Logo PNG Classic PaySecure Logo (JPG) 2. Reassurance visuals (FR/EN) Reinsurance – White Background Reinsurance – Transparent Fund Reinsurance – blank Reinsurance – White Background Reinsurance – Transparent Fund Reinsurance – blank Reinsurance Visuals (FR/EN) Integrate one of these images below your CustomForm payment form, or simply in your website’s footer, to reassure your customers about the security of their payment information. 1. French version Reinsurance 1 – Traditional Reinsurance 1 – White Background Reinsurance 1 – blank Reinsurance 2 – Traditional Reinsurance 2 – White Background Reinsurance 2 – blank Reinsurance 3 – Traditional Reinsurance 3 – White Background Reinsurance 3 – blank Reinsurance 4 – With Amex Reinsurance 4 – Amex White Background Reinsurance 4 – White Amex Reinsurance 5 – With Amex Reinsurance 5 – Amex White Background Reinsurance 5 – White Amex Reinsurance 6 – With Amex Reinsurance 6 – Amex White Fund Reinsurance 6 – White Amex 2. English version Reinsurance 1 – Traditional Reinsurance 1 – White Background Reinsurance 1 – blank Reinsurance 2 – Traditional Reinsurance 2 – White Background Reinsurance 2 – blank Reinsurance 3 – Traditional Reinsurance 3 – White Background Reinsurance 3 – blank Reinsurance 4 – With Amex Reinsurance 4 – Amex White Background Reinsurance 4 – White Amex Reinsurance 5 – With Amex Reinsurance 5 – Amex White Background Reinsurance 5 – White Amex Reinsurance 6 – With Amex Reinsurance 6 – Amex White Fund Reinsurance 6 – White Amex
Transferts de paiements Articles Informations générales Transfert indépendanttransfer / transferReversal Transfert via Transaction ou PaymentRequesttransaction / paymentRequest Versement sortant pour tiers Retours, statuts et webhooks Informations générales La solution Easy Wallet 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 d’une plateforme Le transfert, permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique Selon le modèle de contractualisation CentralPay, les possibilités d’inscription et de transferts sont différentes. 1. 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 marchands participants Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay. Transfert indépendant 1. Créer un transfert (Create a Transfer) La fonction Create a Transfer permet aux marchands mandataires (Agents ou DME) de transférer des fonds entre deux comptes de leurs marchands participants. Ce transfert peut être initié : Par un Agent lorsque les comptes sont des comptes de paiement Par un DME lorsque les comptes sont des comptes de monnaie électronique 1.1. Cas d’usage Ce mécanisme permet par exemple : À un Agent d’orchestrer des débits et des crédits de fonds entre lui et ses marchands participants, ou vers des comptes destinataires définis À un DME d’opérer des transferts de monnaie électronique entre ses marchands participants (par exemple dans le cadre d’une place de marché C2C) CentralPay reste en charge de l’exécution effective des opérations, dans le cadre de la relation contractuelle avec les marchands participants. 1.2. Paramètres requis ChampTypeObligatoireDescriptiondestinationWalletIdUUID✅ OuiIdentifiant du compte Centralpay destinataire (appartenant à un marchand participant).amountInteger (en cents)✅ OuiMontant du transfert. Doit être strictement supérieur à 0.sourceIdUUID✅ Oui, si sourceType est renseignéIdentifiant de la source de fonds (ex. : transaction, virement, crédit, SDD).sourceTypeEnum✅ Oui, si sourceId est renseignéSource du transfert : TRANSACTION, SCT_TRANSACTION, CREDIT, SDD. 1.3. Paramètres optionnels ChampTypeDescriptionemissionWalletIdUUIDCompte émetteur si différent du compte principal du marchand mandataire.currencyCode ISODevise du transfert (si différente de celle du compte).feeIntegerMontant de la commission prélevée par le marchand mandataire, déduite du montant. Par défaut : 0.escrowDateDate ISODate à partir de laquelle le transfert devient effectif. Peut être utilisée pour définir une période de blocage temporaire.merchantTransferIdStringRéférence métier du marchand mandataire (max 100 caractères).transferGroupStringGroupe de rattachement pour regrouper plusieurs transferts.descriptionStringDescription libre (max 256 caractères).additionalDataKey/ValueDonnées complémentaires sous forme de paires clé/valeur (max 256 caractères par valeur).metaDataJSONMétadonnées complémentaires structurées.purposeCode / purposeMessageEnum / StringFinalité du transfert, selon une nomenclature standard. Voir la liste des codes. 1.4. Règles de validation Le destinationWalletId doit correspondre à un compte valide d’un marchand participant du mandataire Le sourceId ne peut être utilisé que si l’objet lié est dans un statut accepté (CAPTURE, CLEARED, etc.) Le montant autorisé dépend du solde disponible ou des fonds liés à la source (transaction, virement, etc.) 2. Fonctions complémentaires liées aux transferts Les marchands mandataires disposent de plusieurs fonctions de gestion post-création d’un transfert, leur permettant d’ajuster, consulter ou annuler une opération, sous conditions. 2.1. Modifier un transfert (Update a Transfer) Cette fonction permet de modifier certains paramètres d’un transfert existant, à condition qu’il ne soit pas encore exécuté (statut PENDING). Paramètres disponibles : ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert à modifier.merchantTransferIdString❌ NonRéférence marchand mandataire.escrowDateDate ISO❌ NonNouvelle date d’exécution différée.transferGroupString❌ NonRegroupement de transferts.descriptionString❌ NonDescription libre (max 256 caractères).additionalDataKey/Value❌ NonDonnées complémentaires.metaDataJSON❌ NonMétadonnées structurées. La modification de la date d’escrow est notamment utile dans les flux conditionnés (ex : marketplace, délais de rétractation…). 2.2. Annuler un transfert (Cancel a Transfer) Un transfert peut être annulé tant qu’il n’a pas encore été exécuté (statut PENDING). Cette annulation est irréversible : l’opération apparaîtra comme CANCEL dans les historiques du compte. Paramètres : ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert à annuler. ⚠️ Une fois que les fonds sont disponibles (statut TRANSFERRED), cette fonction n’est plus accessible. Il faudra alors utiliser un TransferReversal. 2.3. Consulter un transfert (Retrieve a Transfer) Permet d’obtenir l’ensemble des détails d’un transfert via son identifiant CentralPay. ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert. 2.4. Rechercher plusieurs transferts (List Transfers) Permet de rechercher une liste de transferts selon plusieurs critères. Tous les paramètres sont optionnels. ParamètreTypeDescriptionmerchantTransferIdString (100)Référence marchand mandataire.destinationWalletIdUUIDCompte destinataire.transferGroupStringGroupe de transferts.statusEnumPENDING, TRANSFERRED, CANCEL.after / beforeDate ISOFiltrer par date de création.limitIntegerNombre de résultats par page.pageIntegerIndex de la page de résultats. 3. Retourner un transfert exécuté (Transfer Reversal) Une fois un transfert exécuté (statut TRANSFERRED), il ne peut plus être annulé via la fonction Cancel. Il est alors nécessaire de passer par une opération dédiée appelée TransferReversal. Elle ne supprime pas le transfert d’origine : celui-ci reste visible, historisé et traçable. Cette fonction est accessible uniquement aux marchands mandataires (Agent pour les comptes de paiement, DME pour les comptes de monnaie électronique), et doit respecter les règles de disponibilité des fonds. 3.1. Conditions d’utilisation Le transfert initial doit : Être dans le statut TRANSFERRED Avoir des fonds disponibles dans le compte destinataire Ne pas avoir déjà été remboursé dans sa totalité via des opérations de reversal Le montant retourné doit être : Inférieur ou égal au solde disponible du compte destinataire Inférieur ou égal à la somme initialement transférée Diminué des éventuels reversals déjà effectués sur le transfert concerné 3.2. Créer un TransferReversal Permet de retourner un montant vers le compte émetteur d’origine. ChampTypeObligatoireDescriptiontransferIdUUID✅ OuiIdentifiant du transfert d’origine.amountInteger✅ OuiMontant à rembourser (en centimes).merchantTransferReversalIdString❌ NonRéférence marchand mandataire pour le suivi.refundFeeBoolean❌ NonIndique si les frais du transfert initial sont remboursés (par défaut : true).feeInteger❌ NonMontant des frais associés au reversal.descriptionString❌ NonTexte libre explicatif (max. 256 caractères).escrowDateDate ISO❌ NonDate d’exécution différée si applicable.additionalDataKey/Value❌ NonPaires clé/valeur pour les besoins métier. ⚠️ Si le champ refundFee est défini à false, le montant des frais initiaux reste acquis et n’est pas restitué au compte source. Règles importantes : L’opération est visible dans les mouvements du compte (débit du compte destinataire, crédit du compte d’origine) Plusieurs reversals peuvent être effectués sur un même transfert, dans la limite du montant total initial Si les fonds ne sont pas disponibles, l’appel est rejeté avec une erreur explicite (insuffisance de solde ou montant trop élevé) 4. Fonctions complémentaires (TransferReversal) Ces fonctions permettent de gérer et consulter les opérations de retour de transfert exécuté (TransferReversal), une fois créées. 4.1. Modifier un TransferReversal (Update) Permet de modifier certaines informations sur un TransferReversal déjà créé. ChampTypeObligatoireDescriptiontransferReversalIdUUID✅ OuiIdentifiant du TransferReversal à modifiermerchantTransferReversalIdString❌ NonRéférence marchand mandataire pour le suividescriptionString❌ NonTexte explicatif libre (256 caractères max)escrowDateDate (ISO)❌ NonNouvelle date différée d’exécution, si applicableadditionalDataKey/Value❌ NonPaires clé/valeur pour usage métier spécifique Cette fonction est accessible uniquement au niveau PARTNER ou supérieur. 4.2. Consulter un TransferReversal (Retrieve) Permet de consulter les détails d’un TransferReversal à partir de son identifiant. ChampTypeObligatoireDescriptiontransferReversalIdUUID✅ OuiIdentifiant du TransferReversal à consulter L’objet retourné contient l’intégralité des informations métier, y compris : montant, date, statut, compte concerné, et historique de l’opération. 4.3. Rechercher des TransferReversals (List) Permet d’interroger l’historique des TransferReversal selon plusieurs critères. ParamètreTypeObligatoireDescriptionmerchantTransferReversalIdString❌ NonRéférence marchand mandataireafterDate ISO❌ NonRetourne les éléments créés après cette datebeforeDate ISO❌ NonRetourne les éléments créés avant cette datelimitInteger❌ NonNombre d’éléments à retourner (par défaut : 10)pageInteger❌ NonIndex de la page à retourner (par défaut : 1) Cette fonction permet un suivi complet des opérations de reversal liées à une activité donnée, y compris les cas de multiples retours partiels. Transfert via Transaction ou PaymentRequest Contrairement aux transferts indépendants, réservés aux Agents (pour les comptes de paiement) et aux Distributeurs de Monnaie Électronique (DME) (pour les comptes de monnaie électronique), les transferts via transaction sont accessibles à l’ensemble des modèles de partenariat, y compris aux Partenaires Techniques non régulés. Dans ce cadre, le partenaire transmet à CentralPay, au moment de la création d’une transaction (par carte, virement ou prélèvement), des données commerciales contextualisées (ex. : montant du panier, commission, identifiants des wallets destinataires…) ℹ️ L’appel API ne crée pas directement le mouvement financier : CentralPay instruit le transfert de manière autonome, après validation effective de la transaction (capture d’une opération carte, réception d’un virement, ou exécution d’un prélèvement SEPA). Le modèle de transfert conditionné permet de réaliser un mouvement de fonds à l’issue d’une transaction : carte, virement (SCT), ou prélèvement (SDD). Dans ce cas, le transfert est directement paramétré lors de la création de la transaction, via un champ dédié transfer[]. Cette méthode ne passe pas par l’endpoint /transfer, mais s’appuie sur les endpoints spécifiques des transactions concernées : /transaction pour les paiements par carte : Voir comment créer une transaction CARD ➝ /sctTransaction pour les virements reçus : Voir comment créer une transaction SCT ➝ /sddTransaction pour les prélèvements SEPA : Voir comment créer une transaction SDD ➝ /paymentRequest pour les demandes de paiement : Voir comment créer une demande de paiement ➝ Ce mode de fonctionnement garantit que les fonds sont uniquement transférés si la transaction est réussie. Le transfert devient alors une étape automatisée et synchronisée. 1. Conditions d’utilisation Le transfert est créé en même temps que la transaction (pas d’appel distinct) Il n’est exécuté qu’en cas de succès de la transaction source Il respecte les contraintes de la source (statut, solde disponible, date…) Il peut être instantané ou différé via le champ escrowDate 2. Paramétrer un transfert dans une transaction Dans les quatre cas de figure, la logique est identique : un tableau transfer[] est renseigné dans le corps de la requête lors de l’appel POST de création de la transaction. Les champs acceptés dans transfer[] sont les suivants : ChampTypeObligatoireDescriptiondestinationWalletIdUUID✅ OuiCompte CentralPay bénéficiaire. Doit appartenir à un marchand participant autorisé.amountInteger✅ OuiMontant du transfert en centimes.currencyString❌ NonDevise du transfert (si différente de la devise de la transaction).merchantTransferIdString❌ NonRéférence partenaire.feeInteger❌ NonFrais applicables (prélevés sur le montant brut).escrowDateDate ISO❌ NonDate différée d’exécution (si applicable).transferGroupString❌ NonIdentifiant de groupe pour les suivis agrégés.descriptionString❌ NonLibellé du transfert visible sur les relevés.additionalDataKV pairs❌ NonDonnées métier structurées (clé/valeur). ⚠️ Les règles de disponibilité des fonds (notamment après délai de capture ou de validation) doivent être respectées. Si la transaction est annulée ou échoue, aucun transfert n’est déclenché. Versement sortant pour tiers Le versement sortant pour un tiers permet de transférer des fonds depuis un compte de paiement ou monnaie électronique CentralPay vers le compte bancaire d’un marchand participant, en tant que mandataire CentralPay (Agent ou DME). Les partenaires (technique ou intégrateur) n’ont pas accès à cette fonction. 1. Objectif et périmètre Ce service permet de : Déclencher des versements manuels ou automatisés pour des marchands participants Cibler un compte bancaire autorisé par le marchand participant Utiliser un compte CentralPay comme source des fonds Le partenaire régulé reste à l’initiative technique du versement, mais les fonds sont toujours détenus et transférés par CentralPay, qui conserve la responsabilité de l’exécution. 2. Méthodes disponibles 2.1. L’API CentralPay Endpoint : /payout/byThirdParty➡️ Voir détails ci-dessous. 2.2. Le Portail Marchand CentralPay Accessible pour les comptes disposant des droits adéquats (Agent ou DME). Accéder à Comptes liés Sélectionner le marchand concerné Accéder à l’onglet Comptes bancaires Choisir le compte cible et déclencher le payout 3. Endpoint API : /payout/byThirdParty Ce service permet d’envoyer une instruction à CentralPay pour reverser une somme définie vers un compte bancaire rattaché à un marchand participant. 3.1. Limites d’usage 1 versement / jour / marchand participant / devise Compte bancaire cible validé par le marchand participant Versement uniquement sur fonds disponibles 3.2. Paramètres API (BODY) ParamètreTypeRequisDescriptioncurrencyISO 4217✅ OuiDevise du versement (doit correspondre au compte bancaire).destinationBankAccountIdUUID✅ OuiCompte bancaire bénéficiaire (lié au marchand participant).walletIdUUID❌ NonWallet source des fonds.amountInteger (en cents)❌ NonMontant à reverser. Si vide : solde maximum.merchantPayoutIdString❌ NonID de référence interne.descriptionString❌ NonTexte libre, visible dans le reporting.payoutReferenceString (max 35)❌ NonRéférence bancaire (visible sur l’opération bancaire).additionalDataMap❌ NonDonnées complémentaires (ex. : ID commande, segment, etc.).transitionWalletUUID❌ Non(cas avancé) wallet transitoire.customerIdUUID❌ NonIdentifiant client si cible non marchande. 4. Suivi des versements 4.1. Récupérer un payout Endpoint : /payout/byThirdParty/retrieveParamètre : payoutId (UUID) 4.2. Lister les payouts Endpoint : /payout/byThirdParty/listParamètre : walletId (UUID) 4.3. Statuts possibles : StatutSignificationPENDINGVersement en cours de traitementPAIDVersement exécuté avec succèsCANCELVersement annulé manuellement 5. Contraintes réglementaires Seuls les Agents et Distributeurs de Monnaie Électronique (DME) déclarés à l’ACPR via CentralPay peuvent initier ces versements Les partenaires doivent garantir que les données envoyées sont conformes à leur cadre contractuel et réglementaire CentralPay se réserve le droit de refuser un versement ou d’exiger des documents justificatifs en cas de doute sur l’opération Retours, statuts et webhooks 1. Codes de retour liés aux transferts Les transferts réalisés via l’API CentralPay (objet Transfer ou Transfer Reversal) sont des opérations internes entre deux porteurs de comptes CentralPay (ex : marchands, clients, partenaires). Ces opérations sont exécutées de manière synchrone ou quasi-immédiate. Contrairement aux transactions cartes ou virements bancaires, il n’y a pas de codes de retour bancaire associés à ces transferts internes. En cas d’échec, l’API retourne une erreur HTTP décrivant la cause du rejet (ex : solde insuffisant, compte inactif, devise incompatible…). Ces erreurs ne sont pas des statuts métier, mais des contrôles d’entrée empêchant la création du transfert. Une fois le transfert accepté, il suit un cycle de vie propre. 2. Statuts liés aux transferts Consultez les Statuts Transfer ➝ Consultez les Statuts Transfer Reversal ➝ Consultez les Statuts Payout (valables également pour PayoutByThirdParty) ➝ 3. Webhooks liés aux transferts Consultez les Webhooks Transfer ➝ Consultez les Webhooks Transfer Reversal ➝ Consultez les Webhooks Payout (valables également pour PayoutByThirdParty) ➝
Payouts Articles General information Independent transfertransfer / transferReversal Transfer via Transaction or PaymentRequesttransaction / paymentRequest Payout to a Third Party Responses, statuses, and webhooks General information The Easy Wallet solution enables platforms to process payments and transfer them to third parties in compliance with European regulations. To achieve this, the module includes two main services: The registration, which enables the creation of payment and electronic money accounts for merchants on a platform The transfer, which enables transactions to be transferred to these payment and electronic money accounts According to the CentralPay contract model, the options for registration and transfers vary. 1. Types of transfers According to the partnership model established with CentralPay, payouts are processed differently: MOBSP Partners: You must use the transfer service via transaction PSP Agents: You can use the free transfer service or transfer via transaction EM Distributors: You must use the transfer service via transaction for the foreign currency collection phase. Then, you may use the free transfer service only to transfer electronic money between the accounts of your participating merchants. To find out what type of partnership you have, please contact your CentralPay representative. Independent transfer 1. Create a Transfer The Create a Transfer function allows merchant agents (Agents or DME) to transfer funds between two accounts held by their participating merchants. This transfer can be initiated: By an agent when the accounts are payment accounts By an EMD when the accounts are electronic money accounts 1.1. Use cases For example, this mechanism allows for: An Agent to orchestrate debits and credits of funds between itself and its participating merchants, or to specified recipient accounts An EMD to conduct electronic money transfers between its participating merchants (for example, as part of a C2C marketplace) CentralPay remains responsible for the actual execution of transactions within the framework of its contractual relationship with participating merchants. 1.2. Required settings FieldTypeRequiredDescriptiondestinationWalletIdUUID✅ YesRecipient’s Centralpay account ID (belonging to a participating merchant).amountInteger (in cents)✅ YesTransfer amount. Must be strictly greater than 0. sourceIdUUID✅ Yes, if sourceType is specifiedFunds source identifier (e.g., transaction, transfer, credit, SDD).sourceTypeEnum✅ Yes, if » sourceId » is specifiedTransfer source: TRANSACTION, SCT_TRANSACTION, CREDIT, SDD. 1.3. Optional settings FieldTypeDescriptionemissionWalletIdUUIDIssuer’s account, if different from the principal account of the intermediary merchant.currencyISO CodeCurrency of the transfer (if different from the account currency).feeIntegerAmount of the commission charged by the Intermediary Merchant, deducted from the total. Default: 0. escrowDateISO DateThe date on which the transfer takes effect. Can be used to define a temporary hold period. merchantTransferIdThongIntermediary Merchant business reference (max 100 characters).transferGroupThongA group to combine multiple transfers.descriptionThongFree-form description (max 256 characters).additionalDataKey/ValueAdditional data in the form of key/value pairs (maximum of 256 characters per value).metaDataJSONAdditional structured metadata.purposeCode / purposeMessageEnum / StringPurpose of the transfer, according to a standard classification system. See the list of codes. 1.4. Validation Rules The destinationWalletId must correspond to a valid account of a Participant Merchant of the Intermediary The » sourceId » can only be used if the linked object has an accepted status (CAPTURE, CLEARED, etc.). The authorized amount depends on the available balance or the funds associated with the source (transaction, bank transfer, etc.) 2. Additional functions related to transfers Intermediary merchants have access to several post-transfer management features that allow them to adjust, view, or cancel a transaction, subject to certain conditions. 2.1. Update a Transfer This function allows you to modify certain settings of an existing transfer, provided that it has not yet been executed (status: PENDING). Available settings: FieldTypeRequiredDescriptiontransferIdUUID✅ YesID of the transfer to be modified.merchantTransferIdThong❌ NoIntermediary Merchant reference.escrowDateISO Date❌ NoNew execution date postponed.transferGroupThong❌ NoBatch processing of transfers.descriptionThong❌ NoFree-form description (max 256 characters).additionalDataKey/Value❌ NoAdditional information.metaDataJSON❌ NoStructured metadata. Changing the escrow date is particularly useful in conditional payment flows (e.g., marketplace transactions, withdrawal periods, etc.). 2.2. Cancel a Transfer A transfer can be canceled as long as it has not yet been processed (status: PENDING). This cancellation is irreversible: the transaction will appear as CANCEL in the account history. Settings: FieldTypeRequiredDescriptiontransferIdUUID✅ YesID of the transfer to be canceled. ⚠️ Once the funds are available (status: TRANSFERRED), this feature is no longer available. You will then need to use a TransferReversal. 2.3. View a Transfer (Retrieve a Transfer) Allows you to retrieve all the details of a transfer using its CentralPay ID. FieldTypeRequiredDescriptiontransferIdUUID✅ YesTransfer ID. 2.4. Search for Multiple Transfers (List Transfers) Allows you to search for a list of transfers based on various criteria. All parameters are optional. ParametersTypeDescriptionmerchantTransferIdThong (100)Intermediary Merchant reference.destinationWalletIdUUIDRecipient’s account.transferGroupThongTransfer group.statusEnumPENDING, TRANSFERRED, CANCEL.after / beforeISO DateFilter by creation date.limitIntegerNumber of results per page.pageIntegerResults Page Index. 3. Reverse a Completed Transfer (Transfer Reversal) Once a transfer has been executed (status: TRANSFERRED), it can no longer be canceled using the Cancel function. In this case, you must use a dedicated operation called » TransferReversal. » This operation does not delete the original transfer; it remains visible, recorded in the history, and traceable. This feature is available only to Intermediary Merchants (Payment Account Agents and EMDs for Electronic Money Accounts) and must comply with the rules regarding the availability of funds. 3.1. Terms of Use The initial transfer must: Have the status » TRANSFERRED« Have funds available in the recipient’s account Not having already been fully refunded through reversal transactions The amount refunded must be: Less than or equal to the available balance in the recipient’s account Less than or equal to the amount originally transferred Less any reversals already made on the transfer in question 3.2. Create a TransferReversal Allows you to return an amount to the original issuing account. FieldTypeRequiredDescriptiontransferIdUUID✅ YesOriginal transfer ID.amountInteger✅ YesAmount to be refunded (in centimes).merchantTransferReversalIdThong❌ NoIntermediary Merchant reference number for tracking.refundFeeBoolean❌ NoIndicates whether the initial transfer fees are refunded (default: true).feeInteger❌ NoAmount of fees associated with the reversal.descriptionThong❌ NoFree-form explanatory text (max. 256 characters).escrowDateISO Date❌ NoDeferred execution date, if applicable.additionalDataKey/Value❌ NoKey-value pairs for business requirements. ⚠️ If the » refundFee » field is set to false, the initial fee amount is retained and is not returned to the source account. Important Rules: The transaction appears in the account activity (debit to the recipient’s account, credit to the originating account) Multiple reversals can be made on a single transfer, up to the initial total amount If funds are not available, the request is rejected with an explicit error message (insufficient balance or amount too high). 4. Additional Functions (TransferReversal) These functions allow you to manage and view completed transfer return transactions (TransferReversal) once they have been created. 4.1. Edit a TransferReversal (Update) Allows you to edit certain information about an already created TransferReversal. FieldTypeRequiredDescriptiontransferReversalIdUUID✅ YesTransferReversal ID to be modifiedmerchantTransferReversalIdThong❌ NoIntermediary Merchant reference for trackingdescriptionThong❌ NoFree-form description (256 characters max)escrowDateDate (ISO)❌ NoNew deferred execution date, if applicableadditionalDataKey/Value❌ NoKey-value pairs for specific business purposes This feature is available only to users with PARTNER status or higher. 4.2. View a TransferReversal (Retrieve) Allows you to view the details of a TransferReversal using its ID. FieldTypeRequiredDescriptiontransferReversalIdUUID✅ YesTransferReversal ID to view The returned object contains all business information, including: amount, date, status, relevant account, and transaction history. 4.3. Search for Transfer Reversals (List) Allows you to search the history of » TransferReversal » based on various criteria. ParametersTypeRequiredDescriptionmerchantTransferReversalIdThong❌ NoIntermediary Merchant ReferenceafterISO Date❌ NoReturns the elements created after this datebeforeISO Date❌ NoReturns the elements created before that datelimitInteger❌ NoNumber of items to return (default: 10)pageInteger❌ NoIndex of the page to return (default: 1) This feature provides comprehensive tracking of reversal transactions related to a specific activity, including cases involving multiple partial returns. Transfer via Transaction or PaymentRequest Unlike independent transfers, which are reserved for Agents (for Payment Accounts) and Electronic Money Distributors (EMD) (for Electronic Money Accounts), transfers via transactions are available to all partnership models, including unregulated Technical Partners. In this context, when a transaction is created (via card, bank transfer, or direct debit), the partner sends CentralPay contextualized transaction data (e.g., cart total, commission, recipient wallet IDs, etc.). ℹ️ The API call does not directly initiate the financial transaction: CentralPay processes the transfer independently after the transaction has been successfully validated (Card Transaction, receipt of a Bank transfer, or execution of a SEPA Direct Debit). The conditional transfer model allows you to initiate a funds transfer upon completion of a transaction: card payment, bank transfer (SCT), or direct debit (SDD). In this case, the transfer is configured directly when the transaction is created, using a dedicated field transfer[]. This method does not use the /transfer endpoint, but instead relies on the specific endpoints for the relevant transactions: /transaction For card payments: See how to create a Card Transaction ➝ /sctTransaction For incoming bank transfers: See how to create an SCT Transaction ➝ /sddTransaction For SEPA Direct Debits: See how to create an SDD Transaction ➝ /paymentRequest For payment requests: See how to create a payment request ➝ This process ensures that funds are transferred only if the transaction is successful. The transfer then becomes an automated and synchronized step. 1. Terms of Use The transfer is created at the same time as the transaction (no separate call) It is executed only if the source transaction is successful. It adheres to the source’s constraints (status, available balance, date, etc.) It can be done immediately or at a later time using the field escrowDate 2. Set up a transfer within a transaction In all four scenarios, the logic is the same: an ` transfer[] ` array is included in the request body during the POST call to create the transaction. The following fields are accepted at transfer[]: FieldTypeRequiredDescriptiondestinationWalletIdUUID✅ YesCentralPay Beneficiary account. Must belong to an authorized Participant Merchant. amountInteger✅ YesTransfer amount in centimes.currencyThong❌ NoTransfer currency (if different from the transaction currency).merchantTransferIdThong❌ NoPartner Reference.feeInteger❌ NoApplicable fees (deducted from the gross amount).escrowDateISO Date❌ NoDeferred execution date (if applicable).transferGroupThong❌ NoGroup ID for aggregated tracking.descriptionThong❌ NoTransfer description visible on statements.additionalDataKV pairs❌ NoStructured business data (key/value). ⚠️ The rules regarding fund availability (particularly after the capture or validation period) must be followed. If the transaction is canceled or fails, no transfer is initiated. Payout to a Third Party An outgoing payout to a third party allows funds to be transferred from a CentralPay Payment Account or Electronic Money Account to the Bank Account of a Participant Merchant acting as a CentralPay Intermediary (Agent or EMD). Partners (technical or integration partners) do not have access to this feature. 1. Purpose and Scope This service allows you to: Initiate manual or automated payouts for Participant Merchants Target a Bank Account authorized by the Participant Merchant Use a CentralPay account as a source of funds The regulated partner retains technical control over the payout, but the funds are always held and transferred by CentralPay, which remains responsible for executing the transaction. 2. Available Methods 2.1. The CentralPay API Endpoint: /payout/byThirdParty➡️ See details below. 2.2. The CentralPay Merchant Portal Available to accounts with the appropriate permissions (Agent or EMD). Go to Linked Accounts Select the relevant Merchant Go to the Bank Accounts tab Select the destination account and initiate the payout 3. API endpoint: /payout/byThirdParty This service allows you to send an instruction to CentralPay to perform a payout for a specified amount to a Bank Account linked to a Participant Merchant. 3.1. Limits on Use 1 payout per day per Participant Merchant / currency Target Bank Account validated by the Participating Merchant Payouts may only be made from available funds 3.2. API Parameters (BODY) ParametersTypeRequiredDescriptioncurrencyISO 4217✅ YesCurrency of the payout (must match the Bank Account).destinationBankAccountIdUUID✅ YesBeneficiary Bank Account (linked to the Participant Merchant).walletIdUUID❌ NoWallet where the funds come from.amountInteger (in cents)❌ NoAmount to be paid out. If blank: maximum balance. merchantPayoutIdThong❌ NoInternal reference ID.descriptionThong❌ NoFree-form text, visible in the report.payoutReferenceString (max 35)❌ NoBank reference number (shown on the bank statement).additionalDataMap❌ NoAdditional data (e.g., order ID, segment, etc.).transitionWalletUUID❌ No(advanced case) temporary wallet.customerIdUUID❌ NoCustomer ID if the target is non-commercial. 4. Tracking Payouts 4.1. Claim a payout Endpoint: /payout/byThirdParty/retrieveParameter: payoutId (UUID) 4.2. List the payouts Endpoint: /payout/byThirdParty/listParameter: walletId (UUID) 4.3. Possible articles of association: StatusMeaningPENDINGPayout is being processedPAIDPayout successfully processedCANCELPayout Canceled Manually 5. Regulatory Constraints Only Electronic money Agents and Distributors (EMDs) registered with the ACPR through CentralPay may initiate these payouts Partners must ensure that the data they submit complies with their contractual and regulatory framework CentralPay reserves the right to refuse a payout or to request supporting documents if there is any doubt about the transaction Responses, statuses, and webhooks 1. Return Codes Related to Transfers Transfers made via the CentralPay API (subject: Transfer or Transfer Reversal) are internal transactions between two CentralPay account holders (e.g., merchants, customers, partners). These transactions are executed synchronously or nearly instantly. Unlike Card Transactions or Bank transfers, there are no bank return codes associated with these internal transfers. If a transfer fails, the API returns an HTTP error describing the reason for the Rejection (e.g., insufficient funds, inactive account, incompatible currency, etc.). These errors are not business statuses, but rather input validations that prevent the transfer from being created. Once the transfer is accepted, it follows its own lifecycle. 2. Articles of association related to transfers View the Transfer Articles of association ➝ View the Transfer Reversal Articles of association ➝ View the Payout Articles of Association (also applicable to PayoutByThirdParty) ➝ 3. Webhooks Related to Transfers Check out Transfer Webhooks ➝ View the Transfer Reversal Webhooks ➝ View the Payout Webhooks (also applicable to PayoutByThirdParty) ➝
Mandate See more about Mandate jQuery(document).ready( function($) { window.live_6ab3046f628b5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Mandate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f628b5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f628b5.load(); });
Mandate See more about Mandate jQuery(document).ready( function($) { window.live_6ab3046fa65f7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Mandate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa65f7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa65f7.load(); });
Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
Gestion des cartes virtuelles (VCC) 1. Fonctionnement 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.comBooking.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. Suite à la crise du Covid 19, Booking.com 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.comChez 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.
Virtual Card Management (VCC) 1. Operation Major OTAs such as Booking.com, Expedia.com, hotels.com, and Agoda.com can collect payments at the time of booking. In such cases, they provide hoteliers not with the guest’s actual card information, but with an alias, a virtual card or VCC. A virtual card, or VCC, is generally issued for restricted use in order to limit the risk of compromise. A virtual card is, in a sense, an alias for an existing card that can only be used starting on a specific date and from a defined MCC. In this case, in the tourism sector, a contract with MCC 7011 (HOTELS) is required in order to charge the card. Thus, even if the card number fell into the hands of a malicious individual, that person would not be able to initiate a charge on the source card. Given the unique nature of the cards issued by these OTAs, it is generally impossible to perform authorization, pre-authorization, or verification requests at the time of the order. If the card can only be charged on the day of the reservation, for example, by an MCC 7011, the issuer, typically MASTERCARD B2B PRODUCT, will return an error code for an invalid transaction (12). ➡️ Booking.com Virtual CardsBooking.com uses virtual cards for certain destinations. Depending on the settings configured on the hotel’s website, a reservation may be made with or without a credit card authorization. If the hotelier has chosen to require a payment method, Booking.com will generate a virtual card and send it to the hotelier or their technical service provider. Following the COVID-19 crisis, Booking.com no longer authorizes charges to its virtual credit cards until one day after the guest checks in. Learn more about how Booking.com virtual cards work ➝ ➡️ Expedia.com Virtual CardsAt Expedia, visitors can choose between paying at the hotel (Hotel Collect) or paying directly when they make their reservation (Expedia Collect). This option is called Expedia Traveler Preference (ETP). If a customer uses the Expedia Collect method, a virtual card will be generated. Learn more about how Expedia.com virtual cards work ➝ 2. Managing Virtual Cards with CentralPay The best way to store a VCC and be able to use it once it becomes available is to create a “Customer” and link the card to that customer. There are two options available: Either the card is chargeable at the time of creation, and a verification request can be made when the customer is created, Either the card cannot be used when the customer is created, and the card must be added without verification. This does not mean that it cannot be used later on. It simply means that it should not be charged until a certain date. Generally, OTAs will have verified the card information beforehand to ensure that it is valid for charging. Thus, creating a Customer in the CentralPay API allows you to tokenize the virtual card, secure its storage, and facilitate its use once the initial acceptance criteria have been met.
Credit jQuery(document).ready( function($) { window.live_6ab3046f58ea6 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f58ea6", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f58ea6.load(); });
Credit jQuery(document).ready( function($) { window.live_6ab3046f9c1de = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Credit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9c1de", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9c1de.load(); });
Informations générales Articles Contacter CentralPay > L'établissement CentralPay Modèles contractuels Ouvrir un compte CentralPay Utilisation des API CentralPay Portail Marchand Portail Client Portail d'inscription Tarifs Logos et visuels Trust Center 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 Marchand, 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 Marchand 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 Les dates et heures précises des évènements concernés Le 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 Marchand : Recette Portail Marchand – Aide et support Production Portail Marchand de PROD – Aide et support L'établissement 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 versements 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. Voir le certificat de CentralPay ➜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. 1. Un hébergement hautement résilient 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 2. 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 APITraitement des opérations de paiementCPAY PORTALSPortail d’inscription, client et marchand99,9 %sur une base annuelle99,5 %sur une base annuelleLe critère d’atteinte de cette garantie correspond à la disponibilité de l’API de paiement.Le critère 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é. Glossaire CentralPay 1. Les types d’acteurs DésignationDescriptionActeurToute entité identifiée sur la plateforme CentralPay. Peut être un Profil Marchand, un Point de Vente, un établissement tiers, ou CentralPay.Profil marchandLe Profil Marchand représente techniquement et opérationnellement un marchand dans la plateforme CentralPay. Il est le support de :• Ses comptes : de paiement ou de monnaie électronique ;• Son administration : accès API, profils utilisateurs, services disponibles ;• Sa configuration technique : webhooks, notifications, points de vente, règles d’acceptation, comptes bancaires ;• Son dossier réglementaire : KYC/KYB, LCB-FT, scoring de risque, contractualisation, grille tarifaire…Le Profil Marchand correspond à l’objet API Merchant et est créé automatiquement après validation de son inscription (via l’objet API Merchant-Enrollment).Marchand standardPersonne morale ou autoentreprise cliente de CentralPay, réalisant des opérations d’encaissement pour son propre compte lors de la vente de biens ou de services.Peut être rattaché fonctionnellement à un Partenaire (Technique ou Intégrateur).Dispose d’un Profil Marchand typé STANDARD.Marchand PartenairePersonne morale cliente de CentralPay, disposant d’un Profil Marchand et pouvant relever de l’un des modèles suivants :• Partenaire Technique : opère une solution mutualisée (ex. marketplace, plateforme SaaS) et dispose d’un ou plusieurs Points de Vente ouverts à son nom, auxquels des marchands standards peuvent être rattachés.Dispose d’un Profil Marchand typé TECHNIQUE.• Partenaire Intégrateur : intervient en soutien technique, via des accès délégués par les marchands standards, pour faciliter l’intégration et le RUN (sans mutualisation de point de vente au nom du partenaire).Dispose d’un Profil Marchand typé INTEGRATEUR (le cas échéant).Un Marchand Partenaire peut percevoir des commissions (selon modèle) et/ou être déclaré MOBSP pour accompagner l’entrée en relation des marchands.Marchand MandatairePersonne morale cliente de CentralPay, agissant pour le compte de tiers, dans le cadre de l’un des statuts réglementaires suivants :• Agent PSP : Agent de Prestataire de Services de Paiement de CentralPay, enregistré auprès de l’ACPR (Banque de France) et habilité à agir au nom et pour le compte de CentralPay dans un périmètre défini contractuellement (ex. opérations de débit/crédit et transferts pour compte de tiers).Dispose d’un Profil Marchand typé AGENT.• DME : Distributeur de Monnaie Électronique enregistré/déclaré par CentralPay auprès de l’ACPR (Banque de France) pour un projet impliquant l’émission, la distribution et l’échange de monnaie électronique (devises CUSTOM).Dispose d’un Profil Marchand typé DME.Sous-marchand / ParticipantPersonne morale ou physique cliente d’un Marchand Mandataire de CentralPay (Agent PSP ou DME).• Sous-marchand : agit pour vendre des produits ou services, pour une activité LMNP, • Participant : agit pour des besoins non commerciaux (crowdfunding, wallet personnel, projets collectifs…).Dispose d’un Profil Marchand typé BASIC, avec un périmètre fonctionnel restreint.ClientPersonne physique ou morale qui paie ou donne un ordre de paiement à un Marchand CentralPay (peut aussi être nommé porteur, payeur, débiteur).Peut disposer ou non d’un Profil client (Customer).Note : dans les documents réglementaires ou contractuels de CentralPay, le terme « Client » peut désigner le Marchand lui-même selon le contexte défini dans le document.Profil clientReprésente un client enregistré par un Marchand dans la plateforme CentralPay. Il est le support de :• ses informations personnelles : nom, prénom, email, téléphone, raison sociale…• ses moyens de paiement : cartes, mandats SEPA, IBAN, comptes bancaires…• ses activités : demandes de paiement, historique de paiements…Le Profil client correspond à l’objet API Customer.Profils Utilisateur BOPersonnes physiques disposant d’un accès au Portail Marchand CentralPay pour consulter ou administrer un ou plusieurs Profils Marchand.• Type Legal : représentant légal du Marchand.• Type Natural : autre utilisateur habilité (finance, support, développement…).Le Profil utilisateur BO correspond à l’entité API BO_user.Profils Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur (personne ou système) réalisant des appels API sur un Profil Marchand.Permet la traçabilité des actions et la gestion des autorisations.Le Profil utilisateur API correspond à l’entité API api_user.Point de Vente (ou POS)Représentation d’un site web, d’une boutique physique, ou d’une équipe de vente. Ils permettent de segmenter les opérations du Profil Marchand CentralPay à des fins :• Techniques : pour réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom d’expéditeur des emails de confirmation, logo affiché dans la page de paiement…)• Administratives : pour limiter les droits de consultation ou de modification de vos profils utilisateurs BO à certains points de vente• Comptables : pour filtrer les opérations par point de vente dans le Portail Marchand ou dans les exports de donnéesLe Point de vente correspond à l’objet API PointOfSale. 2. Les types de comptes DésignationDescriptionCompte de paiementCompte ouvert dans les livres de CentralPay au nom d’un Marchand. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, versement des fonds vers un compte bancaire…).Il est représenté par l’objet Wallet type PS dans l’API CentralPay.Compte de monnaie électroniqueCompte ouvert dans les livres de CentralPay au nom d’un Marchand. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distributeur (devises CUSTOM).Il est représenté par l’objet Wallet type EM dans l’API CentralPay.Compte de commissionCompte de paiement secondaire permettant d’isoler les flux de commissions et/ou certains prélèvements de frais (selon modèle).Dans le cadre des modèles Partenaire/Mandataire, ce compte peut recevoir les commissions imputées aux transactions des marchands liés/participants, conformément aux règles contractuelles applicables.Il est représenté par l’objet Wallet type CM dans l’API CentralPay.Compte de réserveCompte de paiement secondaire permettant d’isoler des fonds de réserve CentralPay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de versements sortants.Il est représenté par l’objet Wallet type RS dans l’API CentralPay.Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom d’un Agent. Il est dédié à la réception des fonds liés aux opérations initiées via le modèle Agent, avant leur ventilation / transfert vers les comptes de paiement des Marchands Participants. N’est pas autorisé à réaliser de versements sortants.Il est représenté par l’objet Wallet type CL dans l’API CentralPay.Compte de Traitement CentralPayLe Compte de Traitement désigne un mécanisme interne et transitoire utilisé par CentralPay pour recevoir, identifier et traiter temporairement des fonds liés à une opération de paiement, en vue de leur transmission au bénéficiaire final. Il n’est pas un compte de paiement ouvert pour un client, n’est mis à disposition d’aucun tiers et ne confère aucun droit de disposition.Selon les implémentations techniques, ce mécanisme peut être matérialisé par des objets internes (ex. Wallet type TR) utilisés exclusivement par CentralPay pour le traitement opérationnel. 3. Les dénominations d’objets ou d’opérations DésignationDescriptionFrais 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 (selon les conditions contractuelles applicables).Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP…)Devise CUSTOMDevise de monnaie électronique créée pour un Mandataire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO (ex. EUR).Instruction TechniqueDonnée / événement à finalité strictement technique et commerciale transmis à CentralPay (ex. références de commande, panier, commission, évènements logistiques). Une Instruction Technique n’est pas un ordre de paiement et ne déclenche aucun effet financier automatique : CentralPay reste seul décisionnaire du traitement et, le cas échéant, des mises à disposition de fonds.Date de déblocageDate de mise à disposition différée pouvant être appliquée par CentralPay pour rendre des fonds utilisables par un bénéficiaire (ex. après livraison/expédition), selon la politique de risque et les règles applicables. Elle peut être déterminée à partir d’informations commerciales transmises, sans constituer une instruction de paiement.Compte bancaireCompte bancaire externe lié à : • un Profil Marchand pour réaliser des versements sortants (payout) • ou à un Profil client pour réaliser des prélèvements SEPA ou des versements sortants.Il est représenté par l’objet BankAccount dans l’API CentralPay.Versement sortantVirement sortant d’un compte CentralPay vers un compte bancaire externe. Peut être réalisé par SEPA ou SWIFT.Il est représenté par l’objet Payout dans l’API CentralPay.Autorisation CarteOpé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.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. Modèles contractuels Marchand standard Le modèle Marchand standard s’adresse aux entreprises (personnes morales) qui souhaitent utiliser la plateforme CentralPay pour encaisser des paiements pour leur propre compte dans le cadre d’une activité de vente de biens ou de services. 1. Description du modèle Ce modèle vous donne accès à l’ensemble des services de Smart Collection, la solution d’encaissement complète proposée par CentralPay. 🔗 Plus d’informations sur Smart Collection Les fonctionnalités incluses sont les suivantes : Le Profil Marchand CentralPayUn profil marchand standard contenant un ou plusieurs comptes de paiement dédiés à votre activité, avec IBAN individuel, suivi des opérations et des versements. Les services liés au compteOutils de gestion, profils utilisateurs, accès API, notifications, reporting… Le service d’encaissement SmartCentralisation de vos flux, routage automatisé, gestion des statuts et des versements. Transactions par carte bancaireAcceptation Visa/Mastercard, 3D Secure, Apple Pay/Google Pay, gestion des remboursements et des contestations. Transactions par virementGénération d’IBAN virtuels, notifications de réception, rapprochements automatiques. Transactions par prélèvement SEPADébits ponctuels ou récurrents, gestion des mandats, suivi des rejets. 2. Frais et commissions Des commissions fixes et variables sont appliquées en fonction des opérations réalisées (transactions, versements, rejets, etc.). Vous pouvez consulter les tarifications publiques sur notre site. Les frais sont débités : Soit directement de votre compte de paiement principal Soit depuis un compte de commission dédié, si celui-ci est activé En cas de solde insuffisant, CentralPay pourra procéder à un prélèvement SEPA sur votre compte bancaire ou vous adresser une demande de virement complémentaire. Marchand Partenaire CentralPay propose deux modèles distincts pour les partenaires souhaitant accompagner des marchands CentralPay dans leur intégration technique : le Partenaire Technique et le Partenaire Intégrateur. Dans les deux cas, les marchands restent en relation contractuelle directe avec CentralPay ; les modalités d’accès API, de mutualisation et de facturation diffèrent selon le modèle. Selon la nature de leur activité, ces partenaires peuvent également être immatriculés à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) afin d’encadrer juridiquement certaines activités de présentation et d’accompagnement des marchands lors de leur entrée en relation avec CentralPay. Ce statut ne confère aucun droit d’accès aux fonds ni aucun pouvoir d’exécution d’opérations de paiement. 1. Partenaire Intégrateur Le Partenaire Intégrateur est un prestataire technique mandaté par un ou plusieurs marchands standards. Il intervient en leur nom et pour leur compte, afin de faciliter leur connexion aux services CentralPay. Chaque marchand standard dispose de son propre point de vente (POS), de son propre profil Marchand CentralPay, et signe directement ses documents de souscription et son contrat (CCSP) avec CentralPay. L’Intégrateur ne détient aucun droit contractuel sur les comptes ou fonds du marchand. 1.1. Responsabilités et fonctionnement L’Intégrateur utilise les accès API délégués par chaque marchand (identifiants dédiés “Intégrateur”), dans le cadre d’un mandat contractuel entre l’Intégrateur et le marchand Il peut réaliser des actions techniques nécessaires à l’intégration et au RUN (paramétrage, suivi d’Instructions Techniques, maintenance), exclusivement via ces accès, sans pouvoir consulter les soldes ni initier / modifier / annuler une opération de paiement Les parcours sont généralement réalisés en “1 pour 1” : un client (payeur) règle un seul marchand, chaque marchand conservant son environnement et ses accès propres 1.2. Facturation Chaque marchand est facturé directement par CentralPay au titre des services souscrits dans son CCSP Le Partenaire Intégrateur n’intervient à aucun moment dans les flux financiers 1.3. Pour aller plus loin sur le modèle d’Intégrateur Le Partenaire Intégrateur intervient exclusivement en soutien technique des marchands standards, sans jamais agir comme intermédiaire de paiement ni représentant de CentralPay. Son rôle se limite à l’intégration, au support fonctionnel de niveau 1 et à la maintenance des interfaces Chaque marchand conserve l’entière maîtrise de son profil Marchand CentralPay : encaissements, versements, solde, paramétrage des accès API, gestion documentaire et contractuelle CentralPay peut mettre à disposition de l’intégrateur un accès portail strictement limité à l’administration technique (suivi d’Instructions Techniques, paramétrages, opérations nécessaires au RUN). Cet accès n’autorise pas la consultation des soldes, ni la manipulation de transactions financières, ni l’initiation/modification/annulation d’opérations de paiement, ni la modification d’IBAN ou de paramètres financiers Pour permettre la connexion, le marchand délègue à l’intégrateur des identifiants dédiés, avec des droits strictement limités et révocables à tout moment. Toutes les actions techniques sont réalisées via ces identifiants, sous la responsabilité du marchand Si le Partenaire Intégrateur est immatriculé à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) et qu’un cadre contractuel distinct le prévoit, il peut accompagner le marchand dans son entrée en relation (ex. : transmission d’un lien d’inscription, assistance à la constitution du dossier). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture de compte et des contrôles réglementaires À défaut, le Partenaire Intégrateur peut orienter le marchand vers CentralPay pour toute question contractuelle, tarifaire ou réglementaire liée aux services de paiement 2. Partenaire Technique Le Partenaire Technique est un acteur qui développe une solution mutualisée (ex. : marketplace, plateforme SaaS), à destination de plusieurs marchands standards. Il opère depuis un ou plusieurs points de vente ouverts à son nom dans CentralPay, auxquels des marchands peuvent être rattachés. Les opérations sont traitées par CentralPay au moyen d’un mécanisme interne de “Compte de Traitement” (utilisé par CentralPay pour recevoir et traiter temporairement les fonds en vue de leur transmission au bénéficiaire final). Le Partenaire Technique n’y dispose d’aucun droit de disposition : il transmet uniquement des données commerciales et conserve une visibilité sur les flux rattachés à ses points de vente, sans jamais pouvoir déclencher un transfert. 2.1. Responsabilités et fonctionnement Le Partenaire Technique dispose de ses propres accès API délivrés par CentralPay Il peut transmettre des Instructions Techniques (données commerciales, panier, commission, références, évènements logistiques…), et suivre les transactions rattachées aux marchands liés à ses points de vente Il n’a aucun accès aux fonctionnalités de transfert (notamment l’endpoint transfer) et ne peut pas accéder aux soldes ni effectuer de versements : CentralPay décide et exécute les opérations et mises à disposition de fonds Dans ce cadre, CentralPay peut gérer des paiements en mode “1 pour X” : un client (payeur) peut régler plusieurs marchands simultanément, CentralPay assurant ensuite la ventilation/mise à disposition au bénéfice des marchands 2.2. Facturation Le Partenaire Technique est facturé par CentralPay en fonction des opérations réalisées via son (ou ses) point(s) de vente, conformément aux conditions prévues au CCSP et aux documents de souscription applicables Lorsqu’une commission est prévue, CentralPay peut, sur la base des données commerciales transmises et selon les règles contractuelles, ventiler les flux : la part de commission est alors créditée sur le compte de commission du Partenaire Technique, sans que celui-ci ne détienne de fonds de tiers Pour aller plus loin sur le modèle de Partenaire Technique Le Partenaire Technique développe une solution mutualisée (ex. : marketplace, plateforme SaaS) intégrant CentralPay. Il opère depuis un ou plusieurs points de vente ouverts à son nom, qui accueillent les transactions de marchands standards associés Chaque marchand associé contracte directement avec CentralPay (CCSP et documents de souscription) et dispose de son propre profil Marchand CentralPay Le Partenaire Technique transmet à CentralPay les données commerciales des transactions (montant commercial, références, commission, évènements logistiques…). Ces données ne déclenchent aucun effet financier automatique : CentralPay analyse, contrôle, puis décide de traiter l’opération et d’initier les mises à disposition nécessaires CentralPay peut décider d’appliquer une retenue temporaire et/ou une date de déblocage pour la mise à disposition des fonds au bénéfice d’un marchand (ex. : jusqu’à une livraison/expédition), selon sa politique de risque, les règles des réseaux et ses obligations réglementaires Le Partenaire Technique ne détient jamais de fonds de tiers, ne donne aucun ordre de paiement, et ne peut intervenir dans les versements ou la tenue de compte. Il n’agit ni pour compte de tiers ni au nom de CentralPay L’accès du Partenaire Technique est limité à une vue et à des fonctionnalités strictement nécessaires à la transmission et au suivi d’Instructions Techniques ; il n’existe aucun accès au “Compte de Traitement” en tant que compte (pas de droit d’exécution, pas de droit de disposition, pas d’accès aux soldes) En cas d’immatriculation ORIAS en qualité d’IOBSP (mandataire – “MOBSP”) et si un cadre contractuel distinct le prévoit, le Partenaire Technique peut accompagner les marchands dans leur entrée en relation (transmission de lien d’inscription, assistance documentaire), sous réserve de validation préalable par CentralPay 3. Règles de conformité communes Pour les deux modèles : Le Partenaire n’est pas prestataire de services de paiement, ne dispose d’aucun pouvoir d’exécution d’opérations de paiement et ne détient aucun fonds de tiers dans le cadre des services de paiement Les comptes, la mise à disposition des fonds, les versements et la protection des fonds sont gérés et encadrés par CentralPay, en sa qualité de PSP Aucune délégation réglementaire d’exécution de service de paiement (type agent PSP) n’est accordée à ces partenaires 3.1. Relation contractuelle avec les marchands Le Partenaire (technique ou intégrateur) conserve sa propre relation commerciale avec ses utilisateurs et reste responsable des services proposés sur sa plateforme. Il définit librement les conditions générales d’utilisation applicables à ses services. De leur côté, les marchands associés : Ouvrent leur propre profil Marchand CentralPay, lors d’un parcours d’enrôlement individualisé Signent directement avec CentralPay le CCSP et les documents de souscription applicables (dont la désignation éventuelle d’un partenaire) Reconnaissent que le partenaire pourra réaliser certaines actions techniques dans le cadre de son intégration (ex. : transmission d’une commande, remontée de panier, suivi d’Instructions Techniques), sans que cela ne constitue un ordre de paiement ni un accès aux fonds CentralPay agit alors directement auprès du marchand associé pour : la création et la gestion de son compte (signature électronique, affectation des POS, rattachement au partenaire) le traitement réglementaire des justificatifs transmis (KYC/KYB, lutte contre le blanchiment et le financement du terrorisme) la mise à jour documentaire ou les vérifications complémentaires nécessaires à la bonne exécution des services de paiement L’ensemble de cette organisation repose sur un dispositif contractuel strictement balisé : Le partenaire signe un contrat dédié avec CentralPay, encadrant son rôle et ses droits d’accès (API/portail) et, le cas échéant, les modalités de commissionnement Les marchands associés signent directement leurs documents contractuels CentralPay (CCSP et souscription), dans lesquels leur association au partenaire peut être précisée Les conditions générales du partenaire s’appliquent uniquement à l’usage de sa propre plateforme. Elles ne peuvent ni interférer avec les services de paiement CentralPay, ni se substituer aux documents contractuels CentralPay 4. Déclaration ORIAS (IOBSP / “MOBSP”) Un Partenaire Intégrateur ou un Partenaire Technique peut, si son activité le nécessite, être immatriculé à l’ORIAS en qualité d’IOBSP (mandataire – “MOBSP”). Ce statut est distinct de celui d’agent de prestataire de services de paiement (au sens de l’article L.523-1 du Code monétaire et financier). Cette immatriculation peut permettre, selon le cadre contractuel applicable : De présenter les services de CentralPay et d’assister le marchand dans ses démarches d’entrée en relation D’accompagner la constitution du dossier (sans jamais se substituer aux contrôles réglementaires réalisés par CentralPay) Ce statut ne modifie en rien les restrictions précédemment énoncées : il ne confère aucun droit sur les fonds et aucun pouvoir d’exécution d’opérations de paiement. CentralPay demeure seul responsable de l’entrée en relation, des contrôles réglementaires et de l’exécution des services de paiement. Déclaration MOBSP (Orias) ℹ️ 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 : Envoyez un e-mail à notre service client qui inclut votre raison sociale et votre numéro SIREN 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 Allez sur le site de l’ORIAS Faites défiler vers le bas jusqu’à voir la section Comment ça marche ? Cliquez sur S’inscrire Vous serez redirigé vers le formulaire d’inscription. 2.2. Saisir les informations Entrez votre numéro SIREN Saisissez les informations sur votre entreprise. Assurez-vous de vous inscrire en tant que personne morale / entité juridique Saisissez les informations de votre représentant légal Saisissez les coordonnées de votre représentant légal Saisissez les coordonnées de votre entreprise, y compris votre site web si vous en avez un Entrez l’adresse de votre entreprise 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. Retournez sur le site de l’ORIAS Cliquez sur Connexion / Login Saisissez votre identifiant et votre mot de passe provisoire depuis votre email 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 Cliquez sur Nouvelle inscription pour démarrer votre inscription, un formulaire apparaît Choisissez Activité IOB Choisissez ensuite Mandataire non-exclusif en opérations de banque et en services de paiement (MOBSP) Cliquez sur Soumettre 3.2. Fournissez des informations complémentaires 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. Pour la première question, choisissez la réponse : Je déclare que l’on ne me confie pas de fonds 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 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 Cliquez sur Aller à l’étape « Pièces justificatives » 3.3. Fournissez vos documents justificatifs Soumettez votre KBIS Soumettez votre mandat d’attestation, qui est le certificat de mandat de l’étape 1.1 Soumettez votre Capacité professionnelle pour « vous » (Niveau I IOBSP), qui constitue votre preuve d’aptitude professionnelle de l’étape 1.2. Cliquez sur Aller à l’étape suivante 3.4. Payez votre inscription La dernière étape consiste à payer votre inscription. 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 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) Après avoir payé, cliquez sur Télécharger la facture pour télécharger votre reçu Cliquez sur Terminer la demande d’inscription pour finaliser votre inscription 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. Marchand Mandataire Agent de Prestataire de Services de Paiement (Agent PSP) ou Distributeur de Monnaie Électronique (DME) Certains projets nécessitent un cadre réglementaire spécifique permettant à des mandataires d’agir au nom et pour le compte de CentralPay, établissement agréé et supervisé par l’ACPR. Deux statuts principaux peuvent être mobilisés en France : L’Agent de Prestataire de Services de Paiement (Agent PSP), pour les projets nécessitant une gestion active des flux de paiement (encaissements, transferts, versements), dans le strict cadre d’un mandat et sous la responsabilité de CentralPay Le Distributeur de Monnaie Électronique (DME), pour des projets reposant sur des mécanismes de valeur stockée / monnaie électronique (plateformes C2C, titres prépayés, réseaux fermés, etc.), dans le cadre d’un contrat de distribution Ces modèles peuvent offrir une autonomie opérationnelle importante au mandataire, mais s’accompagnent de contraintes réglementaires fortes et d’une supervision permanente, sous la responsabilité de CentralPay. 1. Agent de Prestataire de Services de Paiement (Agent PSP) 1.1. Cas d’usage typiques Plateformes B2B avec flux financiers complexes Outils de gestion financière ou de trésorerie pour tiers Solutions SaaS intégrant l’encaissement et la mise à disposition de fonds à des bénéficiaires 1.2. Rôle de l’Agent L’Agent PSP agit en tant que représentant réglementaire de CentralPay pour la fourniture de services de paiement, au nom et pour le compte de CentralPay, dans les limites du mandat et des droits techniques configurés. Fonctionnalités (selon périmètre contractuel et habilitations) : Mise en relation commerciale et promotion des services CentralPay auprès des utilisateurs finaux (les “Participants”) Accompagnement des Participants à l’ouverture de comptes CentralPay (parcours CentralPay et/ou parcours piloté par l’Agent, selon modèle retenu) Ouverture, au nom de l’Agent, de comptes techniques dédiés à la ségrégation des flux (ex. compte de collecte et compte de commission), sans que l’Agent ne devienne propriétaire des fonds des Participants Transmission à CentralPay des demandes/instructions nécessaires à la bonne exécution des services (ex. affectation des fonds, demandes de versement, demandes de remboursement), CentralPay restant seul exécutant Gestion du support de premier niveau (N1) et traitement opérationnel défini comme prestation externalisée, avec escalade vers CentralPay lorsque requis 1.3. Les 3 options du modèle Agent (délégation KYC/KYB) Le modèle Agent de CentralPay prévoit trois niveaux de délégation en matière d’inscription et de contrôles KYC/KYB. Une seule option est applicable à la fois, et le niveau retenu est formalisé contractuellement : Option A – Agent simple (absence de délégation de contrôle) : l’Agent agit comme Agent PSP déclaré mais sans délégation KYC/KYB. Il se limite à la mise en relation commerciale et oriente les Participants vers les parcours/outils fournis par CentralPay. Il ne reçoit aucun mandat pour collecter des pièces justificatives ni effectuer des contrôles. Option B – Agent collecteur (délégation de la complétude administrative) : l’Agent est mandaté pour constituer le dossier administratif du Participant pour le compte de CentralPay. Il collecte les pièces et réalise des vérifications strictement formelles de complétude (lisibilité, validité apparente, cohérence documentaire). Il ne réalise pas d’analyse de risque, ni filtrage sanctions/PPE, ni analyse approfondie ; la décision d’entrée en relation demeure celle de CentralPay. Option C – Agent délégataire de contrôle (délégation de niveau 1) : option réservée aux Agents disposant d’une organisation conformité dédiée et expressément validée par CentralPay. L’Agent peut collecter les pièces KYC/KYB, vérifier la complétude/cohérence et assurer un contrôle de vigilance de niveau 1 exclusivement formel et administratif. Il peut également participer au traitement des alertes de niveau 1 (collecte/qualification administrative/transmission), selon des procédures strictes. CentralPay conserve la décision finale et peut révoquer l’option à tout moment en cas de défaillance. 1.4. CentralPay reste responsable CentralPay reste pleinement responsable des services fournis aux Participants L’Agent agit dans le strict cadre du mandat qui lui est confié, et selon les habilitations techniques mises en place Toute activité réalisée via la plateforme est auditable, traçable et documentée 1.5. Contraintes réglementaires Signature d’un contrat d’Agent et de ses documents associés Enregistrement officiel en tant qu’Agent sur le registre de l’ACPR (via CentralPay) Évaluation de la capacité organisationnelle du mandataire et exigences renforcées (conformité, sécurité, confidentialité, continuité, contrôle interne) Reporting périodique à CentralPay (volume d’activité, incidents, qualité de service) et possibilité d’audit sur pièce ou sur site Formations obligatoires des équipes opérationnelles, selon le périmètre de délégation 2. Distributeur de Monnaie Électronique (DME) 2.1. Cas d’usage typiques Plateformes de vente entre particuliers (C2C) Réseaux d’enseignes prépayées ou de bons cadeaux Programmes de fidélité à valeur monétaire stockée 2.2. Rôle du DME Le DME agit pour le compte de CentralPay dans la mise à disposition et la gestion opérationnelle de la monnaie électronique, dans les limites prévues par le contrat de distribution et les règles définies par CentralPay. Fonctionnalités : Mise en relation de CentralPay avec les utilisateurs finaux (les “sous-marchands” / utilisateurs de monnaie électronique) Transmission à CentralPay des instructions de chargement (montant, bénéficiaire, commission), CentralPay restant seul émetteur/exécutant Visualisation et suivi des opérations via un dispositif de suivi dédié (ex. vue consolidée / compte centralisateur selon modèle), sans droit de disposition sur les fonds Transmission des demandes/instructions permettant la circulation de monnaie électronique entre utilisateurs dans un cadre défini (réseau fermé, règles contractuelles), sous contrôle de CentralPay Transmission des demandes de remboursement de monnaie électronique à la demande de l’utilisateur, selon les règles applicables Détention d’un compte de commission pour percevoir les frais définis dans ses CGU 2.3. Limites fonctionnelles Le DME ne détient jamais les fonds : il agit comme intermédiaire et ne peut pas conserver, stocker ou utiliser les fonds collectés Il n’est pas autorisé à créer/émettre lui-même de la monnaie électronique Il ne peut pas offrir de services de paiement non explicitement autorisés dans le cadre contractuel défini par CentralPay Il ne peut pas sous-traiter son activité, sauf accord explicite de CentralPay 2.4. Contraintes réglementaires Signature d’un contrat de distribution avec CentralPay Déclaration / formalités de mise en conformité réalisées sous l’initiative et la responsabilité de CentralPay, selon la réglementation applicable Mise en conformité organisationnelle : dispositifs internes de sécurité, confidentialité, gestion des incidents, continuité d’activité Supervision permanente par CentralPay, incluant : Contrôle de l’usage de l’API / des habilitations Reporting régulier sur l’activité Formation obligatoire des équipes du DME Validation des CGU utilisées auprès des utilisateurs Déclaration Agent PSP (ACPR) Rôle de l’ACPR L’ACPR (Autorité de Contrôle Prudentiel et de Résolution), adossée à la Banque de France, tient le registre des prestataires régulés et de leurs agents. Dans le cadre d’un modèle Agent PSP, CentralPay (établissement agréé) constitue et dépose la notification/dossier d’enregistrement de l’Agent et demeure l’unique interlocuteur de l’ACPR. Le futur Agent ne peut pas déposer de dossier directement auprès de l’ACPR : les échanges sont pilotés par CentralPay, avec le concours de l’Agent (transmission de pièces, réponses aux questions, éléments d’organisation). Étapes de déclaration d’un Agent ÉtapeDescription1. Cadrage & pré-qualificationAnalyse du modèle, du périmètre fonctionnel et des responsabilités ; validation juridique & conformité côté CentralPay2. Constitution du dossierCollecte des pièces société/dirigeants, éléments d’organisation (process, contrôles, sécurité), CGU Agent/Participants, prévisions d’activité3. Dépôt / échanges ACPRDépôt réalisé par CentralPay ; réponses aux demandes complémentaires pilotées par CentralPay avec l’aide de l’Agent4. Enregistrement & activationÀ l’issue de l’enregistrement sur le registre public, CentralPay peut activer l’Agent en production (avant cela, l’activité reste bloquée) 1. Responsabilités de l’Agent En tant qu’Agent PSP, l’Agent agit au nom et pour le compte de CentralPay dans le périmètre défini contractuellement. CentralPay reste pleinement responsable de la fourniture des services de paiement et de la conformité réglementaire ; toutefois, l’Agent doit appliquer strictement les procédures et exigences opérationnelles fixées par CentralPay, notamment en matière de LCB-FT et de lutte contre la fraude. L’Agent est notamment responsable de : La compréhension de l’activité de ses marchands/Participants et de la cohérence économique des opérations initiées via son modèle La mise en œuvre des dispositifs opérationnels attendus (process internes, contrôles, traçabilité, gestion des incidents) et du respect des consignes CentralPay La lutte contre la fraude (détection, escalade, coopération) et le respect des obligations de vigilance dans le périmètre confié La coopération avec CentralPay en cas de demande d’information (contrôles, audit, questions ACPR), et la transmission rapide des pièces demandées L’Agent doit signer : Un Contrat d’Agent PSP avec CentralPay (mandat / externalisation / supervision / flux) Le CCSP (Contrat Cadre de Services de Paiement) applicable à l’Agent en sa qualité de client professionnel de CentralPay (accès plateforme, services souscrits) Des CGU Agent (ou documentation équivalente) encadrant sa relation avec ses Participants, incluant les mentions nécessaires sur les parcours, la ventilation, les dates de déblocage et les éventuelles demandes de versements Selon le périmètre retenu (et les annexes applicables), certaines fonctions peuvent être déléguées à l’Agent (ex. collecte et contrôles formels KYC/KYB). CentralPay reste seule décisionnaire de l’entrée en relation, de l’ouverture/maintien des comptes et des décisions réglementaires. 2. Devenir Partenaire Agent CentralPay Le processus d’enregistrement d’un Agent dépend de la complétude du dossier, du niveau de délégation opérationnelle et des échanges avec l’ACPR. En pratique, il s’étale généralement sur plusieurs semaines et peut être prolongé si des pièces complémentaires sont demandées. 2.1. Résumé des étapes ÉtapeDétails1. Compréhension du modèle– Cadrage du périmètre et des responsabilités– Description des flux & cas d’usage– Validation par les équipes Juridique & Conformité de CentralPay2. Offre commerciale– Présentation par CentralPay– Alignement sur le périmètre (technique, opérationnel, conformité)3. Contractualisation– Signature du Contrat d’Agent– Signature/acceptation du CCSP applicable à l’Agent4. Test & intégration– Accès sandbox– Intégration technique & recette– Vérification des parcours (onboarding/consentement/affichages)5. Instruction ACPR– Collecte des éléments réglementaires– Constitution et dépôt du dossier auprès de l’ACPR par CentralPay– Gestion des questions / compléments6. Mise en production– Activation en production après enregistrement– Tests en environnement de recette / production encadrée 2.2. Pièces à fournir à CentralPay Phase 1 – Pré-constitution du dossier CGU Agent / documentation contractuelle Participants (parcours, consentements, information “agent”, ventilation/commission, dates de déblocage, modalités de remboursement) Définition des activités régulées, services associés, modèle d’affaires Organigramme (y compris répartition des effectifs par service) et description des rôles clés Structure de l’actionnariat / gouvernance Flux prévisionnels sur 3 ans confiés à CentralPay (volumes, montants, typologies) Nombre d’enrôlements prévisionnels sur 3 ans Cas de reprise de KYC existant (migration) le cas échéant Phase 2 – Déclaration auprès du régulateur Signature du Contrat d’Agent (préalable au dépôt du dossier) CentralPay collecte et dépose les pièces suivantes (liste indicative) : Kbis < 3 mois de la société et, le cas échéant, des sociétés de tête/dirigeantes Statuts à jour signés Pièces d’identité couleur des dirigeants CV des dirigeants datés et signés Casier judiciaire des dirigeants (si demandé) Déclarations de non-condamnation des dirigeants Répartition de la détention des parts / actionnariat Kbis des personnes morales actionnaires (si applicable) + organigramme de groupe (si applicable) PV d’AG récents (fusion, perte > 50% du capital, changement direction, etc.) Registre des bénéficiaires effectifs (si demandé) Peuvent également être demandés par l’ACPR : Bilans et comptes de résultat récents États financiers en cours ou de l’année précédente Toute pièce jugée utile par le régulateur 2.3. Délais d’instruction Instruction par CentralPay : généralement ~2 semaines à compter de la réception d’un dossier complet Délai ACPR : variable ; peut aller jusqu’à ~2 mois, avec premières questions sous 30 jours en général 2.4. Fin d’instruction L’Agent peut démarrer l’activité uniquement après enregistrement effectif (publication sur le registre public) Avant enregistrement, CentralPay n’active pas l’Agent en production et peut maintenir les comptes de l’Agent bloqués (IN/OUT) L’Agent est référencé dans les registres publics avec un numéro/identifiant d’enregistrement pouvant devoir figurer dans certaines communications/mentions 2.5. Particularité – Agents Télécom SVA (numéros surtaxés) Obligation de fournir un récapitulatif des minutes par opérateur Transmission du détail de répartition des encaissements (ventilation) à CentralPay CentralPay met en place des contrôles complémentaires afin de s’assurer que les marchands/Participants sont correctement crédités 3. Traitement des flux agent Cette section définit les règles applicables au traitement et au contrôle des flux financiers dans un modèle Agent. Elle précise les responsabilités, la structure des comptes et les contrôles complémentaires mis en œuvre afin de répondre aux exigences légales et prudentielles. 3.1. Responsabilité de l’établissement Conformément au Code monétaire et financier (CMF), l’Agent agit au nom et pour le compte de CentralPay. CentralPay demeure pleinement responsable du respect des obligations réglementaires, notamment en matière de LCB-FT, de sécurité et de protection des fonds. CentralPay met en place un dispositif de contrôle interne couvrant l’ensemble du cycle des flux, y compris ceux traités dans le cadre de ses Agents (supervision, auditabilité, traçabilité). 3.2. Comptes opérationnels des agents Pour les besoins de ségrégation des flux, CentralPay met à disposition (dans ses livres) : Compte de Collecte : compte de transit destiné à recevoir les fonds liés aux opérations initiées via le modèle Agent, et à permettre leur affectation/ventilation vers les comptes des Participants Compte de Commission : destiné à recevoir la rémunération revenant à l’Agent (commissions) et à régler les frais dus à CentralPay Compte de paiement Agent (optionnel) : destiné aux opérations courantes de l’Agent pour son compte propre (approvisionnement, paiement de factures SaaS, etc.), distinct des flux tiers et des commissions 3.3. Traitement des opérations Lorsqu’un Agent initie une transaction pour le compte d’un ou plusieurs Participants : L’Agent transmet à CentralPay les informations nécessaires à la ventilation (part des Participants, commission Agent, références), soit directement dans la transaction, soit au plus tard en fin de journée via un traitement par lot lorsque cela est objectivement nécessaire. CentralPay exécute ensuite, sous sa responsabilité, les opérations d’affectation/ventilation et, le cas échéant, les mouvements nécessaires (dont la commission vers le compte de commission), conformément au cadre contractuel et aux contrôles réglementaires. Le Compte de Collecte doit rester un compte de transit : l’Agent ne doit pas conserver passivement des fonds de tiers au-delà des délais strictement nécessaires au traitement (pas de “trésorerie flottante”). Les modalités de versement sortant (Payout) sont encadrées par CentralPay ; le Compte de Collecte n’a pas vocation à servir de compte de versement sortant “libre”. 3.4. Dates de déblocage et montants prévisionnels Fonctionnement Selon le modèle contractuel, l’Agent peut transmettre ou paramétrer (en qualité d’intermédiaire mandaté par le Participant) une date de déblocage (endpoint API : EscrowDate) correspondant à un évènement contractuel objectivable (ex. livraison/expédition/fin de prestation). Cette date ne produit aucun effet financier automatique : CentralPay demeure seule décisionnaire de la mise à disposition des fonds (acceptation, refus, report, encadrement). Jusqu’à la date de déblocage : Les fonds restent protégés et indisponibles (ni accessibles à l’Agent, ni utilisables par le Participant) Le Participant peut visualiser l’opération sous forme d’opération à venir ou de montant prévisionnel, avec affichage de la date de disponibilité, sans constituer un crédit au solde disponible Conditions de conformité L’usage des dates de déblocage est autorisé uniquement si : Information claire : l’Agent doit expliquer à ses Participants comment fonctionne la date de déblocage (principes, délais, exceptions). Affichage transparent : l’interface Participant doit indiquer la date de l’opération, la date de disponibilité prévue et un statut “indisponible avant cette date”. Mentions dans les CGU Agent : les CGU signées par les Participants doivent préciser : Que la date de déblocage correspond à la date contractuelle à laquelle les fonds deviennent utilisables. Qu’il est impossible pour le Participant d’utiliser ces fonds avant cette date. Que CentralPay peut refuser, différer, suspendre ou encadrer la mise à disposition au regard de ses obligations réglementaires, de sa politique de risque et des règles des réseaux de paiement. Gestion des exceptions : en cas d’annulation, de remboursement, d’impayé ou de litige : Si la transaction source est annulée/remboursée, les fonds ne seront pas mis à disposition. En cas d’impayé (ex. chargeback carte) ou de risque, CentralPay peut retenir/ajuster les montants en attente ou compenser lors de règlements ultérieurs. La date de déblocage peut être reportée (litige/incident) ; le Participant doit être informé via son interface/notifications. Ce mécanisme ne constitue ni un séquestre au sens du droit civil, ni un service de conservation fiduciaire : il s’agit d’une mise à disposition différée sous contrôle exclusif de CentralPay. 3.5. Gestion des versements sortants Fonctionnement CentralPay peut mettre à disposition des Participants (et, selon les habilitations, à l’Agent agissant comme intermédiaire mandaté) différents modes de gestion des versements sortants : Versements sortants automatisés (paramétrage de règles/plannings, lorsque prévu contractuellement) Versements sortants ponctuels (demande via portail/API selon les droits accordés) Conditions de conformité Lorsque l’Agent est autorisé à transmettre des demandes de versement sortant pour le compte de ses Participants, il doit recueillir leur consentement et décrire clairement le mode de fonctionnement dans les CGU Agent. CentralPay demeure seule responsable de l’exécution et peut refuser, suspendre ou encadrer ces demandes conformément à ses obligations. À retenirLe dispositif présenté garantit :- La séparation stricte des flux tiers / commissions / compte propre- L’absence de droit de disposition de l’Agent sur les fonds de tiers- La traçabilité complète des opérations (auditabilité)- La supervision active par CentralPay- La conformité aux exigences du CMF et aux attentes de supervision Le respect de ce dispositif est obligatoire. Toute anomalie (fraude, incident, incohérence de ventilation, non-respect des procédures) doit être signalée immédiatement à votre Account Manager CentralPay. Déclaration Distributeur ME (ACPR) 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 sous-marchands 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 1. Responsabilité du mandataire 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 Électronique 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. 2. Devenir mandataire 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. 2.1. Résumé des étapes Compréhension du modèle Explication des services apportés par le mandataire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du mandataire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le mandataire Test & Intégration Mise en place de la sandbox Réunion de lancement de projet avec l’équipe technique Phase d’intégration technique Instruction du dossier ACPR Collecte des éléments nécessaires à la constitution du dossier Préparation du dossier Présentation du dossier Mise en production Validation de la recette Mise en production 2.2. Pièces à fournir à CentralPay Prochainement Ouvrir un compte CentralPay Parcours d'entrée en relation CentralPay propose plusieurs modes d’entrée en relation, selon votre situation : Vous êtes un marchand standard, partenaire ou mandataire en relation directe avec CentralPay Vous êtes un marchand participant d’un mandataire, ou un marchand standard rattaché à un partenaire technique utilisant la solution CentralPay Ce guide détaille les différentes étapes, selon votre profil. Certaines étapes peuvent être adaptées ou simplifiées selon les modalités de votre intégration. 1. Marchands en direct Le parcours d’entrée en relation comporte six étapes principales. 1.1. Qualification de votre projet Nos équipes commerciales échangent avec vous pour analyser votre projet : Parcours de paiement envisagé (web, mobile, point de vente, récurrent…) Moyens de paiement souhaités (carte, virement, SEPA, Pay By Bank…) Méthodes d’intégration (API, portail, connecteur) Typologie de vos clients finaux (B2B, B2C, abonnements…) Volumétrie estimée (fréquence et montants) 1.2. Pré-analyse conformité de votre projet Sur la base des informations fournies, notre service conformité effectue une pré-analyse réglementaire visant à : Vérifier la compatibilité de votre activité avec notre cadre réglementaire Identifier les points de vigilance potentiels (secteur sensible, flux complexes…) Prédéfinir les éventuelles garanties ou conditions particulières 1.3. Signature du contrat cadre Une fois cette pré-analyse validée, vous êtes invité à signer le contrat cadre de services de paiement ou de monnaie électronique. Voir le contrat cadre de services de paiement Un représentant légal peut désigner un mandataire pour signer à sa place (modèle de délégation disponible sur demande) 1.4. Lancement de l’intégration Après signature du contrat : Vous recevez vos accès à l’environnement de test Vous accédez aux documentations techniques CentralPay Si vous bénéficiez d’un accompagnement personnalisé, une réunion d’onboarding est organisée pour configurer vos premiers paramétrages (notifications, versements, droits utilisateurs…). 1.5. Création du profil Marchand CentralPay Le représentant légal reçoit un lien d’inscription sécurisé pour créer le profil : Il complète les informations juridiques Il valide les Conditions Générales d’Utilisation L’analyse de conformité complète est alors déclenchée Cette analyse peut donner lieu à : Des demandes de documents complémentaires (KYC/KYB, contrats, justificatifs…) Un refus d’ouverture si les critères réglementaires ne sont pas remplis Une validation du profil, menant à son ouverture 1.6. Mise en production Une fois l’ensemble des étapes validées, y compris l’intégration et les éventuelles factures initiales : Une date de mise en production est convenue Votre profil est débloqué Vous pouvez encaisser vos premières transactions 2. Marchands liés à un partenaire technique Si vous êtes un marchand intégré via un partenaire technique ou mandataire de CentralPay, le parcours est simplifié. Vous entrez directement à l’étape 5 : Création du profil Marchand CentralPay. 2.1. Étape unique : Création du profil et validation réglementaire Vous recevez un lien d’inscription transmis par votre partenaire ou directement par CentralPay. Ce lien vous permet de : Compléter les informations relatives à votre structure Décrire précisément votre activité, la typologie de vos clients finaux et la volumétrie estimée de vos opérations Valider les Conditions Générales d’Utilisation et signer le contrat cadre Les aspects techniques (intégration, parcours, moyens de paiement) sont déjà définis dans le cadre de la convention signée avec le partenaire technique ou le mandataire. L’analyse de conformité complète de CentralPay reste obligatoire avant validation du profil. Principes de réserve La réserve représente les sommes qui sont maintenues sur votre compte de réserve CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) lorsque votre compte de paiement n’est pas solvable. 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 sujettes 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 Marchand : Administration Versements 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 compte doit donc dépasser la valeur du pied de compte pour autoriser les versements sortants (payout). Le détail du pied de compte est visible depuis le Portail Marchand : Administration Versements 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 sur votre compte de réserve 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 si votre compte de paiement n’est pas solvable. 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 de la réserve glissante est visible depuis le Portail Marchand : Administration Versements Seuil variable Conditions générales d’utilisation L’utilisation des services CentralPay est encadrée par plusieurs documents contractuels que chaque titulaire de compte doit consulter et accepter avant l’activation de son compte. 👉 Consultez les dernières versions en vigueur des conditions générales CentralPay 1. Deux types de CGU applicables CentralPay propose deux catégories de comptes, soumises à des conditions générales distinctes en fonction du service souscrit : Type de compteConditions générales applicablesCompte de paiementConditions générales de service de paiementCompte de monnaie électroniqueConditions générales de service de monnaie électronique Obligation d’acceptation : Ces conditions générales doivent être lues et acceptées électroniquement par le titulaire de chaque compte, qu’il soit ouvert directement par un marchand, ou via un partenaire CentralPay. 2. Contrat cadre pour les encaissements pour compte propre Dans le cas où un compte est utilisé pour encaisser des fonds pour compte propre (modèle marchand standard), CentralPay met également à disposition un modèle de contrat cadre dédié : Ce contrat précise les droits et obligations liés à l’utilisation du compte pour l’encaissement d’opérations commerciales, Il est signé électroniquement par le représentant légal ou par une personne habilitée (via délégation de pouvoir). 👉 Consultez les dernières versions en vigueur des conditions générales CentralPay Utilisation des API CentralPay Les APIs CentralPay permettent d’interagir de manière sécurisée avec notre plateforme pour créer des comptes, initier des paiements ou automatiser des opérations métiers. Nos APIs reposent sur le protocole HTTP(S) et utilisent un format de réponse en JSON. L’authentification est obligatoire pour chaque requête, sauf exception précisée. 1. Les APIs disponibles CentralPay met à disposition deux APIs principales : APIDescriptionAccèsAPI Core PaymentGère toutes les fonctions liées aux opérations de paiement (initiation, transfert, remboursement, etc.)Tous les marchandsAPI OnboardingPermet la demande de création de comptes de paiement ou de monnaie électronique (enrôlements, wallet, etc.)Réservée aux marchands partenaires et mandataires (Agents, DME). 2. URLs des environnements Deux environnements sont disponibles selon votre étape d’intégration : ComposantEnvironnement de TESTEnvironnement de PRODUCTIONAPI Core Paymenthttps://test-api.centralpay.net/https://api.centralpay.net/API Onboardinghttps://test-onboarding-api.centralpay.net/https://onboarding-api.centralpay.net/ Les identifiants d’accès sont différents entre test et production. Vous pouvez également accéder à votre Portail Marchand à des fins de consultation ou de paramétrage : ComposantEnvironnement de TESTEnvironnement de PRODUCTIONPortail Marchandhttps://test-backoffice.centralpay.net/https://backoffice.centralpay.net/ 3. Authentification API L’API CentralPay utilise l’authentification HTTP Basic, qui repose sur deux éléments obligatoires à inclure dans chaque appel : Identifiant API (login) Mot de passe API Toutes les requêtes doivent être transmises en HTTPS. Ces identifiants sont distincts entre les environnements de test et de production. Pour récupérer vos identifiants API, suivez les étapes suivantes : 3.1. Étape 1 – Accéder au Portail Marchand Pour l’environnement de production : https://backoffice.centralpay.net/ Pour l’environnement de test : https://test-backoffice.centralpay.net/ 3.2. Étape 2 – Ouvrir la section technique Depuis le menu de navigation : Administration > Mon compte > Technique Lien direct en production : https://backoffice.centralpay.net/admin/actor/account#technical_tab Lien direct en test : https://test-backoffice.centralpay.net/admin/actor/account#technical_tab 3.3. Étape 3 – Récupérer l’Identifiant API (login) Dans l’onglet Technique, localisez la zone « Identifiant API » Cliquez sur l’identifiant affiché pour l’ouvrir en détail Copiez la valeur indiquée dans le champ Login ⚠️ Ce login est à fournir dans l’en-tête Authorization de vos requêtes (sous forme de base64 avec le mot de passe, voir plus bas). 3.4. Étape 4 – Générer un Mot de passe API Toujours dans le même écran, cliquez sur le bouton Modifier Cliquez ensuite sur Générer un mot de passe Copiez immédiatement le mot de passe généré, attention il n’est affiché qu’une seule fois Cliquez enfin sur Mettre à jour pour valider le nouveau mot de passe Si vous perdez le mot de passe, vous devrez recommencer cette opération pour en générer un nouveau. ℹ️ Bonnes pratiques :- L’identifiant et le mot de passe peuvent être révoqués ou régénérés à tout moment depuis le portail marchand.- Ne partagez jamais ces identifiants en clair.- Stockez le mot de passe dans un gestionnaire sécurisé après sa génération. 4. Clé publique Marchand (MerchantPublicKey) Certains services, comme cardToken, ne nécessitent pas d’identifiant/mot de passe mais uniquement une clé publique marchand (MerchantPublicKey) pour authentifier la requête. Où la trouver : Connectez-vous au Portail Marchand de production ou de test Accédez à : Administration > Technique Copiez la clé dans la section Merchant Public Key 5. Méthodes HTTP et MIME Types Nos APIs sont conformes au style REST, avec les méthodes HTTP suivantes : MéthodeUsagePOSTCréation ou mise à jour d’un objetGETRecherche ou consultation d’un objetDELETESuppression d’un objet Les types MIME suivants sont utilisés : application/x-www-form-urlencoded multipart/form-data Le Content-Type doit être systématiquement précisé dans les en-têtes HTTP. 6. En-têtes HTTP à utiliser Chaque appel API doit inclure un certain nombre d’en-têtes HTTP correctement renseignés : En-tête HTTPDescriptionAuthorizationEncodage HTTP Basic avec l’identifiant et le mot de passe APIContent-TypeObligatoire pour toutes les requêtes. Doit être : application/x-www-form-urlencoded ou multipart/form-dataUser-AgentFortement recommandé, utile pour tracer les intégrationsIdempotence-Key (optionnel mais conseillé)Permet d’éviter les doublons en cas de réémission d’une même requête 7. Idempotence : sécuriser les réémissions L’en-tête Idempotence-Key permet de garantir qu’une même requête envoyée plusieurs fois avec la même clé ne sera traitée qu’une seule fois. Cela est particulièrement utile lors d’une erreur réseau ou d’un doute sur la réussite d’un appel. La valeur de l’en-tête Idempotence-Key est un hachage SHA1 des principaux champs métier de la requête. Elle doit être unique par combinaison fonctionnelle de données. Exemple pour une opération carte : ℹ️ Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) La clé Idempotence-Key est valable pendant 24h maximum sur nos serveurs 8. Réponses HTTP Chaque réponse retournée par l’API contient des éléments de traçabilité utiles dans les en-têtes : En-tête HTTPDescriptionRequest-IdIdentifiant unique attribué à chaque appel. Peut être communiqué au support CentralPay en cas d’analyse ou de litige technique. La réponse JSON du corps dépend bien sûr de la ressource appelée (paiement, transfert, onboarding…), mais le header Request-Id est systématique. 9. Déclaration de vos domaines pour les services CustomForm Pour certains services tels que cardToken, qui dépendent des formulaires embarqués (CustomForm), il est nécessaire de déclarer au préalable les domaines web qui hébergent ces formulaires. Sans cette déclaration, toute tentative d’appel aux services concernés depuis un domaine non autorisé entraînera une erreur 403 (Forbidden). Connectez-vous au Portail Marchand : Production Test Accédez à : Administration > Mon compte > Technique Cliquez sur Modifier Dans le champ Hosts Custom Forms autorisés, saisissez l’URL ou les domaines à autoriser (ex : https://www.votre-site.com) Enregistrez les modifications Une fois cette étape effectuée, les services comme cardToken pourront être appelés depuis les domaines déclarés, conformément aux règles de sécurité imposées par CentralPay. Portail Marchand Le Portail Marchand est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre Profil Marchand CentralPay. Les marchands Partenaires et Mandataires peuvent également consulter l’activité des profils de leurs marchands standards et participants. Accès : Recette Portail Marchand Production Portail Marchand 1. Fonctionnalités Le Portail Marchand 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 versement sortant (« payout ») De générer des exports et de télécharger les rapports financiers mensuels Pour les marchands Partenaires et Mandataires uniquement : De créer et de consulter les demandes d’inscription (« merchant-enrollment ») De consulter l »activité des profils marchands standards ou participants associés ℹ️ Les comptes ayant des droits "Basic" (marchands participants de mandataires CentralPay) peuvent uniquement consulter les opérations dont ils sont bénéficiaires (transfer) et gérer leurs paramètres de versement (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 Marchand. 2.1. Gestion des profils utilisateurs « Legal » et « Natural » Lors de la création du Profil Marchand CentralPay, le responsable ayant réalisé l’inscription (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 versements sur compte bancaire Mise à jour des documents de société Paramètres des utilisateurs : Création de nouveaux utilisateurs « Legal » Prochainement 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 ». ℹ️ 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. Accès : Recette Portail Marchand – Gestion des profils utilisateurs BO Recette Portail Marchand – Gestion des profils utilisateurs BO 2.2. Gestion des rôles et droits des profils utilisateurs « Natural » 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 Marchand (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 du Portail Marchand, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API… Standard read only : Prochainement Prochainement 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 Accès : Recette Portail Marchand – Gestion des rôles utilisateurs BO Production Portail Marchand – Gestion des rôles utilisateurs BO 2.3. 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. Accès : Recette Portail Marchand – Gestion des catégories de point de vente Production Portail Marchand – Gestion des catégories de point de vente 3. Liste des types d’opérations visibles sur le Portail Marchand Type d’objetValeurFonctionAUTHORIZATIONDébitAutorisation de blocage d’un montant d’une carte bancaireTRANSACTIONCréditTransaction carteTRANSACTION_CANCELDébitAnnulation de transaction carteREFUNDCréditRemboursement transaction carteREFUND_CANCELDébitAnnulation d’un remboursement transaction carteDISPUTEDébitImpayé suite à la contestation d’une transaction carteDISPUTE_WONCréditAnnulation d’un impayé carteTRANSFERDébitTransfert de fonds entre comptes CentralPayTRANSFER_CANCELCréditAnnulation transfert en attenteTRANSFER_REVERSALCréditRetour d’un transfert validéPAYOUTDébitVirement sortant du compte CentralPayPAYOUT_CANCELCréditAnnulation d’un virement sortantPAYOUT_REVERSALCréditRetour d’un virement sortant validéSCT_TRANSACTIONCréditVirement entrantSCT_TRANSACTION_CANCELDébitAnnulation virement entrant avant son arrivéeSCT_TRANSACTION_REFUNDDébitAnnulation virement entrant après son arrivée par le marchandSCT_TRANSACTION_REVERSALDébitAnnulation virement entrant après son arrivée par CentralPayCREDITDébitCrédit sur carte non lié à une transactionCREDIT_CANCELCréditAnnulation d’un crédit sur carteSDD_TRANSACTIONCréditPrélèvement SEPA d’un compte bancaire externeSDD_TRANSACTION_CANCELDébitAnnulation d’un prélèvement d’un compte externe avant son arrivéeSDD_TRANSACTION_REVERSALDébitRemboursement d’un prélèvement d’un compte externe après son arrivéeDEPOSITCréditChargement d’une somme sur un compte CentralPay Guide : Mes comptes L’entrée Mes comptes du Portail Marchand CentralPay est l’espace dédié au suivi financier de vos comptes (comptes rattachés à votre Profil Marchand) : consultation des informations de compte, suivi des opérations réalisées et à venir, lecture des soldes historisés, et téléchargement des relevés mensuels officiels. Cette rubrique est particulièrement utile pour les équipes comptables, la direction financière et les personnes en charge du rapprochement et des clôtures. Accéder au Portail Marchand > Mes comptes 1. Sous-entrées disponibles La rubrique Mes comptes se compose de 4 sous-entrées : Vue d’ensemble Opérations (incluant l’onglet Opérations à venir) Solde Relevés de compte ℹ️ Selon votre profil ou votre configuration, l’accès à certaines sous-entrées peut varier. La logique fonctionnelle reste identique. 2. Vue d’ensemble La sous-entrée Vue d’ensemble permet d’identifier rapidement le compte sélectionné et d’obtenir une lecture immédiate de sa situation financière. 2.1. Informations de compte Vous y retrouvez notamment les informations clés du compte : Titulaire du compte IBAN et BIC Devise Type de compte Libellé du compte (sélecteur utile si plusieurs comptes sont rattachés à votre profil marchand) 2.2. Solde temps réel Le bloc Solde temps réel donne une vision instantanée du solde, avec une distinction utile pour la gestion quotidienne : Fonds disponibles (Valeur immédiatement accessible sur votre compte) Débits programmés (Montants des reversements et R-transactions programmés à une date ultérieure) ℹ️ Selon votre configuration, un « solde de compte de réserve » peut également être affiché. 2.3. Évolution sur période Un graphique permet d’observer l’évolution sur une période en combinant : le solde les opérations à venir (vision prévisionnelle) 3. Opérations La sous-entrée Opérations affiche la liste des mouvements affectant le compte, avec un onglet Opérations à venir pour les mouvements attendus mais non encore réalisés. C’est la vue principale pour le rapprochement comptable et la production d’exports. 3.1. Deux notions de date à connaître Pour une lecture comptable fiable, la vue distingue généralement : Date de valeur : date à laquelle l’opération est considérée comme effective sur le plan financier/comptable (très utilisée pour le rapprochement et les clôtures). Date d’opération : date/heure de l’évènement (utile pour investiguer une chronologie ou recouper un historique). ℹ️ Recommandation : pour une clôture ou un rapprochement, partez plutôt de la « date de valeur ». Pour une investigation, la « date d’opération » est souvent plus parlante. 3.2. Rechercher une opération Le moteur de recherche permet de retrouver rapidement une opération à partir d’un critère comptable, d’une référence ou d’un identifiant. Filtres essentiels FiltreÀ quoi ça sertParticularités / Bonnes pratiquesCompteRestreindre l’affichage aux opérations d’un compte spécifique.Indispensable si plusieurs comptes sont rattachés à votre profil. Commencez par sélectionner le compte avant d’appliquer d’autres filtres.Période (date de valeur)Filtrer les opérations sur une période comptable de référence.Base de travail pour les clôtures et le rapprochement. Recommandé : définissez toujours une période avant d’ajouter des critères plus fins (référence, montant, etc.).MontantRechercher une ou plusieurs opérations correspondant à un montant précis.À combiner avec Compte et Période pour éviter trop de résultats, surtout si vous avez un volume d’opérations de même montant important.RéférenceRetrouver une opération via votre référence métier personnalisée (commande, facture, identifiant interne, etc.).Très utile si vos équipes utilisent un identifiant commun entre votre système et CentralPay. Peut aussi servir à regrouper plusieurs lignes liées à un même évènement selon votre paramétrage.Operation IDRechercher une opération via son identifiant CentralPay unique.Le filtre le plus précis : un Operation ID correspond à une ligne unique. À privilégier pour les investigations support/audit lorsque l’identifiant est connu.LibelléRechercher une opération à partir de son intitulé descriptif (recherche par mots-clés).Utile lorsque vous ne disposez pas d’un identifiant (Operation ID, référence). Pratique pour retrouver une opération “à partir de ce qui est visible” dans la liste.TypeIsoler une famille d’opérations (carte, virement, prélèvement, remboursement, contestations, etc.).Idéal pour analyser un périmètre (ex. uniquement les virements entrants) ou préparer un export ciblé avant rapprochement. Filtres avancés Les filtres avancés sont utiles pour les investigations (support/audit), l’analyse de reversements et les exports comptables. Le tableau ci-dessous résume leur objectif et leurs particularités. FiltreÀ quoi ça sertParticularités / Bonnes pratiquesNatureQualifier l’origine comptable et fonctionnelle d’une opération afin de distinguer rapidement les écritures Frais, Fonds et Gestion. Frais : opérations liées aux coûts et commissions débités ou crédités sur le compte, associés à l’utilisation des services (ex. frais d’opérations, commissions, remboursements ou corrections de frais). Fonds : opérations correspondant aux flux financiers qui entrent ou sortent du compte dans le cadre de son activité (ex. transactions clients, versements sortants, remboursements de transaction). Gestion : opérations internes CentralPay réalisées pour ajuster ou sécuriser le solde du compte (ex. mouvements de réserve, gage espèces, ajustements techniques ou écritures de régularisation). Source IDRegrouper des opérations liées entre elles (ex. une autorisation carte, la transaction associée, et son remboursement) afin d’analyser un parcours complet. Le Source ID est un identifiant permettant de regrouper différentes opérations liées. Vous pouvez soit : • cliquer sur « Filtrer par ce Source ID » depuis une opération de la liste des résultats ; • ou renseigner le Source ID dans le moteur de recherche afin d’afficher toutes les opérations rattachées à ce même identifiant. Numéro de payoutRetrouver toutes les opérations liées à un reversement (payout) et en analyser la composition (fonds, frais, ajustements…). Ce filtre regroupe toutes les opérations rattachées à un même reversement (payout), ce qui permet d’en comprendre le détail et la composition. Comment obtenir le numéro de payout ? • Recherchez l’opération de versement sortant (PAYOUT), ouvrez son détail (bouton d’action), puis cliquez sur « Voir les opérations du payout » : le portail applique automatiquement le filtre et affiche les opérations concernées. • À défaut, vous pouvez le déduire depuis la référence du versement sortant : les derniers chiffres correspondent au numéro de payout (ex. PAYOUT-7usge67-153 → numéro de payout = 153). À noter : le détail des opérations d’un versement sortant est disponible uniquement lorsque les payouts automatiques sont activés. Le premier payout automatique peut ne pas afficher le détail attendu (calibrage du mode de calcul). Tiers(Tiers / Type tiers / ID tiers / Pays tiers)Filtrer les opérations selon la contrepartie impliquée (autre que vous), pour analyser des flux par acteur.Le tiers est la personne morale ou physique impliquée dans l’opération autre que vous (par exemple un client, CentralPay, un autre marchand, un compte externe…). Vous pouvez filtrer soit : • par Tiers : nom du tiers (champ libre) ; • par ID tiers : identifiant CentralPay du tiers (par exemple CustomerID ou MerchantID), pour une recherche précise ; • par Type tiers : un des quatre types suivants : Customer, Marchand, CentralPay, Compte externe ; • par Pays tiers : pays dans lequel le tiers est déclaré (par exemple selon la région d’émission de sa carte si c’est un Customer), ce qui peut être utile notamment pour certains besoins de reporting (ex. déclarations de TVA). 3.3. Synthèse débits / crédits La page présente une synthèse des débits et crédits sur la période filtrée (volume et montant), avec une ventilation possible par nature d’opération (frais, fonds, gestion). Cette lecture permet de vérifier rapidement la cohérence d’une période avant export. 3.4. Exports comptables personnalisés Depuis la vue Opérations, vous pouvez générer des exports aux formats CSV, Excel ou JSON. Le principe est simple : Paramétrez votre recherche (compte, période, filtres utiles). Lancez la recherche, puis cliquez sur Exporter. Vous recevez le fichier par email et pouvez le télécharger à tout moment depuis le Portail Marchand (rubrique Fichiers d’export). Voir la documentation : Exports comptables et relevés de compte 4. Solde La sous-entrée Solde fournit une vision historisée des soldes par compte, structurée par date de valeur (lecture « fin de journée »). Vous y retrouvez généralement : Solde de clôture (fin de journée) Opérations à venir (agrégat des mouvements attendus) Solde prévisionnel (solde tenant compte des opérations à venir) ℹ️ Cas d’usage : justifier un solde « à date » (clôture, contrôle interne), ou comparer une situation constatée vs prévisionnelle. 5. Relevés de compte La sous-entrée Relevés de compte donne accès aux relevés mensuels officiels de votre compte CentralPay. Ces documents sont les justificatifs de référence pour la comptabilité et les preuves administratives. Chaque début de mois, en plus de la facture, un relevé de compte est généré et mis à disposition dans l’espace sécurisé : Mes comptes > Relevés de compte. Deux types de relevés peuvent être proposés : Relevé détaillé : fait apparaître l’ensemble des opérations de la période. Relevé synthétique : regroupe les opérations par jour et par type d’opération. ⚠️ Si vous possédez un grand nombre d’opérations, il est possible que toutes n’apparaissent pas sur le relevé détaillé. Dans ce cas, nous vous conseillons de réaliser un export au format CSV, Excel ou JSON. Voir la documentation : Exports comptables et relevés de compte 6. Actions fréquentes 6.1. Clôture mensuelle Allez dans Opérations, filtrez par Compte et Période (date de valeur). Vérifiez la synthèse débits / crédits et la ventilation par nature (frais / fonds / gestion). Générez un export comptable (colonnes adaptées à votre rapprochement). Ou téléchargez directement le relevé mensuel dans Relevés de compte pour archivage et justificatif officiel (1 relevé par compte). 6.2. Rapprochement des opérations liée à un versement sortant (payout) Allez dans Mes comptes > Opérations et, si besoin, sélectionnez d’abord le Compte concerné. Retrouvez l’opération de versement sortant (PAYOUT), ouvrez son détail (bouton d’action), puis cliquez sur « Voir les opérations du payout » : le Portail applique automatiquement le filtre Numéro de payout et affiche uniquement les opérations rattachées à ce versement. Analysez la composition du versement à l’aide du filtre Nature pour distinguer les lignes de Fonds, Frais et Gestion (ajustements), puis vérifiez la cohérence du montant global. Si nécessaire, générez un export (CSV / Excel / JSON) afin d’archiver le détail du payout ou de l’intégrer à votre rapprochement. ℹ️ Alternative : le numéro de payout peut aussi être déduit de la référence du versement sortant (ex. PAYOUT-7usge67-153 → numéro de payout = 153). ⚠️ Le détail des opérations d’un versement sortant est disponible uniquement lorsque les payouts automatiques sont activés. Le premier payout automatique peut ne pas afficher le détail attendu (calibrage du mode de calcul). 6.3. Justifier un solde à date Allez dans Solde pour retrouver le solde de clôture à la date souhaitée. Complétez si nécessaire par le relevé mensuel dans Relevés de compte. 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 : Soit via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre profil Marchand CentralPay : Recette Portail Client Production Portail Client Ou 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 Marchand : Compte Customer Détail CustomerId Portail Client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId] Portail Client de PROD : https://customer.centralpay.net/customer/?uuid=[CustomerId] Portail d'inscription Le portail d’inscription permet la création d’un profil Marchand CentralPay en assurant les étapes d’entrée en relation : 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 marchands Mandataires, il permet donc de créer facilement des Profils Marchands Participants 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’inscription à l’un de vos futurs participants, vous pouvez utiliser le service de demande d’enrôlement. Accès : Recette Portail d’Inscription Production Portail d’Inscription Tarifs Offres commerciales CentralPay propose une tarification juste et transparente, adaptée à votre volume d’encaissement et à votre activité. Les tarifs sont dégressifs : plus votre volume augmente, plus les frais unitaires diminuent. Les frais sont calculés sur la base des volumes de transactions réalisées le mois précédent. Deux solutions, selon votre besoin Smart Collection Accédez gratuitement à la solution d’encaissement : pas d’abonnement, vous payez uniquement des frais à l’utilisation. Easy Wallet Accédez à des services complémentaires (notamment la gestion de comptes / wallets) avec un forfait mensuel en plus des frais à l’utilisation. Aucun surcoût lié aux réseaux cartes Toutes les offres CentralPay intègrent les frais d’interchange et de réseaux cartes facturés par les banques : vous n’avez donc aucun surcoût à prévoir. 👉 Pour obtenir une estimation selon votre volume et contacter notre équipe commerciale : Voir les tarifs publics CentralPay Frais d'interchange et réseaux cartes 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 (Vente à distance, E-commerce) Cartes émises dans l’Espace Economique Européen (EEE) Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitEEECB0,200%0,025%0,225%Cartes personnellesDébitEEEVISA0,200%0,231%0,431%Cartes personnellesDébitEEEMastercard0,200%0,219%0,419%Cartes personnellesCréditEEECB0,300%0,025%0,325%Cartes personnellesCréditEEEVISA0,300%0,231%0,531%Cartes personnellesCréditEEEMastercard0,300%0,219%0,519%Cartes professionnellesToutesEEECB0,900%0,025%0,925%Cartes professionnellesToutesEEEVISA1,450%0,070%1,520%Cartes professionnellesToutesEEEMastercard1,450%0,171%1,621%Cartes personnellesToutesEEEAMEX0,000%1,600%1,600%Cartes professionnellesToutesEEEAMEX0,000%1,600%1,600% Cartes internationales, émises hors de l’Espace Economique Européen Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitInternationaleVISA1,150%1,343%2,493%Cartes personnellesDébitInternationaleMastercard1,150%1,343%2,493%Cartes personnellesCréditInternationaleVISA1,500%1,499%2,999%Cartes personnellesCréditInternationaleMastercard1,500%0,951%2,451%Cartes professionnellesToutesInternationaleVISA2,000%0,700%2,700%Cartes professionnellesToutesInternationaleMastercard2,000%0,951%2,951%Cartes personnellesToutesInternationaleAMEX0,000%2,400%2,400%Cartes professionnellesToutesInternationaleAMEX0,000%2,400%2,400% 2. Frais d’interchange et réseaux carte (paiement de proximité) Cartes émises dans l’Espace Economique Européen (EEE) Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitEEECB0,200%0,025%0,225%Cartes personnellesDébitEEEVISA0,200%0,231%0,431%Cartes personnellesDébitEEEMastercard0,200%0,219%0,419%Cartes personnellesCréditEEECB0,300%0,025%0,325%Cartes personnellesCréditEEEVISA0,300%0,231%0,531%Cartes personnellesCréditEEEMastercard0,300%0,219%0,519%Cartes professionnellesToutesEEECB0,900%0,025%0,925%Cartes professionnellesToutesEEEVISA1,450%0,070%1,520%Cartes professionnellesToutesEEEMastercard1,450%0,171%1,621%Cartes personnellesToutesEEEAMEX0,000%1,600%1,600%Cartes professionnellesToutesEEEAMEX0,000%1,600%1,600% Cartes internationales, émises hors de l’Espace Economique Européen Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitInternationaleVISA1,150%1,343%2,493%Cartes personnellesDébitInternationaleMastercard1,150%1,343%2,493%Cartes personnellesCréditInternationaleVISA1,500%1,499%2,999%Cartes personnellesCréditInternationaleMastercard1,500%0,951%2,451%Cartes professionnellesToutesInternationaleVISA2,000%0,700%2,700%Cartes professionnellesToutesInternationaleMastercard2,000%0,951%2,951%Cartes personnellesToutesInternationaleAMEX0,000%2,400%2,400%Cartes professionnellesToutesInternationaleAMEX0,000%2,400%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 autonomie2 heures d’accompagnement équipe Service ClientInclus (offres Starter, Medium et Major Company)Accompagnement standardAnalyse technique du projet par équipe Service Intégration 2 heures d’accompagnement équipe Service Intégration 2 heures d’accompagnement équipe Service Client490 €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 autonomie3 heures d’accompagnement équipe Service ClientInclus(offres Medium et Major Partner)Accompagnement standardAnalyse technique du projet par équipe Service Intégration5 heures d’accompagnement équipe Service Intégration5 heures d’accompagnement équipe Service Client990 €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 h2 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.250 €Forfait d’accompagnement 5 h5 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.490 €Forfait d’accompagnement 10 h10 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 1. Logos Logo PaySecure classique PNG Logo PaySecure blanc PNG Logo PaySecure classique JPG 2. 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. 1. Version française 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 2. Version anglaise 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 Trust Center Conformité et résilience opérationnelle Dernière mise à jour : 30 juin 2025 « Notre engagement pour protéger vos transactions et assurer un service sans interruption. Un dispositif aligné sur les exigences européennes en matière de sécurité et de continuité des services financiers » 1. Gouvernance et organisation de la sécurité Chez CentralPay, la sécurité n’est pas seulement un ensemble de règles techniques, mais une démarche de gouvernance intégrée à tous les niveaux de l’entreprise. Notre dispositif repose sur une organisation claire, des responsabilités définies et une supervision régulière par la direction. La politique de sécurité constitue le socle de ce dispositif. Elle fixe les principes directeurs en matière de protection des données et de continuité des services. Mise à jour chaque année, elle est validée en comité de direction et diffusée à l’ensemble des collaborateurs concernés. Chaque employé est ainsi sensibilisé aux bonnes pratiques et s’engage à respecter les règles établies. La gouvernance TIC est structurée autour de plusieurs acteurs clés. Le Responsable de la Sécurité des Systèmes d’Information (RSSI) pilote la stratégie globale, supervise les contrôles de sécurité et veille à la conformité avec les standards internationaux (PCI DSS, DORA). La direction technique est en charge de l’exploitation quotidienne des infrastructures et garantit la disponibilité des systèmes critiques. Enfin, un Comité TIC se réunit régulièrement afin d’analyser les incidents, de valider les évolutions techniques et budgétaires, et d’assurer une amélioration continue de la sécurité. Cette organisation permet de concilier réactivité opérationnelle et exigence réglementaire. Elle offre également à nos clients une visibilité claire : la sécurité est suivie, pilotée et contrôlée de manière documentée, avec un partage des responsabilités entre le management, les équipes techniques et la direction générale. 2. Gestion des accès et habilitations La gestion des accès constitue l’un des piliers de la sécurité de CentralPay. Chaque droit d’accès est attribué selon une procédure formalisée et validée par le management, afin de s’assurer qu’il corresponde strictement aux besoins métier du collaborateur. À l’arrivée d’un nouvel employé, ses accès sont créés dans l’Active Directory et validés par son supérieur hiérarchique ; au départ, ils sont immédiatement révoqués par le service informatique. La sécurité repose également sur le principe du moindre privilège : nul ne peut accéder à plus de ressources que ce qui est strictement nécessaire à sa mission. Les accès sensibles, comme ceux aux systèmes critiques ou aux bases de données, font systématiquement l’objet d’une authentification multi-facteurs (MFA). Pour renforcer ce dispositif, des revues périodiques des habilitations sont menées chaque trimestre, permettant d’identifier et de corriger toute anomalie. Cette rigueur garantit une maîtrise complète des identités et des droits, et protège nos clients contre tout risque d’accès non autorisé à leurs données. 3. Sécurité technique La sécurité technique de CentralPay repose sur une architecture conçue selon les principes de défense en profondeur. Chaque couche – du réseau jusqu’aux applications – bénéficie de mécanismes de protection redondants et régulièrement testés. Cloisonnement des réseaux L’infrastructure est segmentée en plusieurs zones : DMZ publique pour les serveurs exposés à Internet (reverse proxy, WAF, relais SMTP) ; zone interne pour les bases de données et services sensibles ; réseau administratif réservé aux opérations d’administration ; zone de logs isolée pour la collecte et l’analyse des journaux. Les flux entre ces zones sont strictement contrôlés par des firewalls en redondance, configurés en stateful inspection et avec des règles de NAT. Ces firewalls intègrent des mécanismes d’anti-spoofing et de détection d’anomalies de trafic. Les configurations sont maintenues par le groupe « administrateurs systèmes et réseau » et font l’objet d’une revue périodique. Protection physique et logique L’accès aux locaux de production est contrôlé par badge nominatif, surveillance vidéo et télésurveillance (SECURITAS). L’accès aux salles serveurs et à la zone PCI est limité aux personnes habilitées.Sur le plan logique, chaque accès aux systèmes se fait par identifiant unique, renforcé par MFA. Les droits sont attribués en fonction des rôles définis et selon le principe du moindre privilège. Surveillance et détection d’intrusion La surveillance est assurée en continu grâce à une combinaison d’outils : Zabbix, pour le monitoring temps réel des serveurs, applications et flux critiques ; Wazuh, intégré avec Snort, pour la détection d’intrusions et la corrélation des événements ; ElasticSearch/Kibana, pour l’agrégation et la visualisation des logs. Les alertes critiques sont transmises en temps réel aux équipes techniques par mail et SMS, et leur traitement est tracé dans un registre d’incidents. Chiffrement et gestion des clés Les données de paiement sensibles (PAN, dates d’expiration) sont chiffrées en AES-256 et rendues illisibles via un hash SHA-512 avec salt pour les comparaisons.La gestion des clés est réalisée exclusivement au sein de modules matériels de sécurité (HSM) certifiés. La clé maîtresse est fragmentée en plusieurs composantes, détenues par des personnes distinctes, afin d’éviter tout risque de compromission. Les clés applicatives ne peuvent pas être exportées en clair et leur usage est strictement tracé. En combinant ces mesures, CentralPay garantit un environnement technique robuste, conforme aux exigences PCI DSS 4.0.1 et aux standards de résilience DORA. 4. Gestion des risques et des incidents La maîtrise des risques constitue un axe stratégique de la gouvernance CentralPay. L’approche adoptée vise à anticiper les menaces, limiter leur probabilité de survenance et garantir une réponse rapide et efficace en cas d’incident. Gestion des risques Chaque année, une étude de risques est menée sur la base de la méthodologie Ebios, intégrant : l’identification des risques liés à la sécurité (intrusions, attaques malveillantes, fuites de données) et au fonctionnement (pannes techniques, défaillances logicielles) ; leur analyse en termes de probabilité et d’impact métier ; leur classification en Low, Medium ou High ; leur traitement via des mesures de prévention (patching, segmentation réseau, chiffrement, supervision) ou de mitigation (plans de contournement, redondances). Le registre des risques est mis à jour en continu et présenté lors des revues annuelles de direction. Gestion des incidents CentralPay a mis en place une procédure complète de gestion des incidents, alignée sur les obligations DORA et les orientations de l’EBA : Détection : par monitoring automatisé (Zabbix, Wazuh) ou par signalement interne/externe (clients, partenaires). Qualification : chaque incident est analysé et classé selon son impact, sa durée, sa portée géographique et sa criticité. Priorisation : une matrice d’évaluation (urgence de résolution et impact financier) permet de définir des niveaux de priorité allant de 1 à 4. Notification réglementaire : les incidents qualifiés comme « majeurs » font l’objet d’un reporting à l’ACPR : rapport initial transmis dans les 4 heures, rapport intermédiaire sous 3 jours ouvrés, rapport final sous 20 jours. Transparence et retour d’expérience En parallèle du reporting réglementaire, les incidents majeurs font l’objet d’une communication transparente envers les clients impactés. Une analyse post-mortem est systématiquement menée afin de tirer les enseignements, renforcer les procédures existantes et mettre en place des actions correctives. Ce dispositif permet à CentralPay non seulement de répondre efficacement aux incidents, mais surtout de renforcer continuellement sa résilience et la confiance de ses clients. 5. Tests de résilience CentralPay considère que la résilience d’une infrastructure ne se prouve pas uniquement sur le papier mais par des tests réguliers et documentés. C’est pourquoi la plateforme organise différents scénarios de test visant à mesurer son niveau de sécurité, sa capacité de reprise et la réactivité de ses équipes. Tests d’intrusion Les tests d’intrusion sont réalisés de manière récurrente par des équipes internes et par des prestataires spécialisés, afin de bénéficier d’un regard externe indépendant. Trois méthodologies sont appliquées : Black-box : l’auditeur ne dispose d’aucune information préalable, ce qui simule le comportement d’un attaquant externe ; Grey-box : l’auditeur dispose d’informations partielles (comptes utilisateurs limités, schémas d’architecture simplifiés) afin de reproduire un scénario réaliste d’utilisateur malveillant ; White-box : l’auditeur dispose d’une connaissance complète de l’architecture, permettant une analyse approfondie et la détection de vulnérabilités complexes. Ces tests couvrent à la fois les couches réseau et applicatives, avec un focus particulier sur les vulnérabilités répertoriées par le Top Ten OWASP. Les résultats font l’objet de rapports détaillés, comprenant une classification des failles selon leur criticité (Critical, High, Medium, Low) et des recommandations de remédiation. Tests de segmentation réseau CentralPay réalise aussi des tests de segmentation afin de vérifier que les cloisonnements logiques entre les zones (DMZ, interne, administration, logs) sont efficaces et qu’aucun flux non autorisé n’est possible. Ces tests garantissent que, même en cas de compromission d’une zone exposée, l’attaquant ne puisse pas atteindre les systèmes critiques. Exercices de simulation et bascules PCA En parallèle des tests techniques, des exercices de simulation de crise sont menés. Ces exercices impliquent plusieurs équipes (techniques, conformité, direction) et simulent des scénarios d’attaque ou de panne majeure. L’objectif est de tester non seulement la robustesse de l’infrastructure, mais aussi la qualité de la coordination et de la communication en situation de crise. Enfin, des tests de bascule PCA sont organisés au minimum une fois par an. Ils permettent de vérifier que les services critiques peuvent être transférés vers le site secondaire dans les délais prévus et que les équipes maîtrisent parfaitement les procédures de reprise. Ces différents tests, documentés et suivis, démontrent la volonté de CentralPay de s’inscrire dans une démarche d’amélioration continue de sa résilience. 6. Haute disponibilité et PCA La disponibilité des services de paiement est une exigence absolue pour CentralPay. Afin de garantir une continuité sans faille, l’entreprise a conçu son architecture autour du principe de haute disponibilité (HA) et d’un Plan de Continuité d’Activité (PCA) multi-sites. Architecture multi-sites CentralPay dispose de deux sites distincts : un site de production principal et un site secondaire dédié au PCA. Ces sites sont opérés par des fournisseurs différents, intègrent un routage BGP et utilisent des accès Internet fournis par plusieurs opérateurs, ce qui réduit le risque de dépendance vis-à-vis d’un seul acteur. Redondance des composants Chaque composant critique est déployé en redondance : Firewalls et load balancers : configurés en actif/actif ou actif/passif, permettant une bascule automatique en cas de défaillance ; Serveurs applicatifs : répartis sur plusieurs nœuds afin de garantir la tolérance aux pannes ; Bases de données : répliquées en temps réel entre les sites de production et de PCA, assurant un RPO quasi nul ; Proxys applicatifs et WAF : disposés en frontal pour absorber les charges et filtrer les menaces, avec bascule automatique. Objectifs de reprise (RTO et RPO) RPO (Recovery Point Objective) : grâce à la réplication continue, les données critiques peuvent être restaurées à l’état quasi instantané précédant l’incident ; RTO (Recovery Time Objective) : les mécanismes de bascule automatique permettent un retour en service des applications critiques en quelques minutes à une heure maximum selon le type de composant. Scénarios de bascule et tests Le PCA est conçu pour répondre à divers scénarios : panne matérielle, défaillance réseau, indisponibilité d’un datacenter, attaque cyber majeure. Chaque scénario dispose d’un plan d’action documenté. Des tests réguliers de bascule confirment que les engagements RTO/RPO sont tenus dans la pratique. Grâce à ce dispositif, CentralPay assure à ses clients que, même en cas d’incident majeur, leurs transactions de paiement resteront disponibles et sécurisées. 7. Continuité et sauvegardes La continuité des services de CentralPay ne repose pas uniquement sur la redondance de son infrastructure et le PCA. Elle est également assurée par une politique stricte de sauvegarde et de restauration des données. Sauvegardes quotidiennes et chiffrées Les données critiques – qu’il s’agisse des données de paiement ou des données opérationnelles de la plateforme – font l’objet de sauvegardes quotidiennes. Celles-ci sont chiffrées en AES-256, conformément aux standards internationaux, afin de garantir leur confidentialité en cas d’accès non autorisé. Stockage sécurisé et rotation Les sauvegardes sont stockées selon une logique de redondance et de rotation : Une copie est conservée sur les serveurs de sauvegarde internes, protégés par des accès restreints ; Une copie est déplacée et conservée dans un coffre-fort sécurisé ; D’autres copies sont externalisées hors site, afin de garantir la disponibilité même en cas de sinistre physique affectant un site. La rotation régulière des supports assure que les sauvegardes restent fiables et exploitables. Tests de restauration La valeur d’une sauvegarde ne se mesure pas uniquement à sa conservation mais aussi à sa capacité à être restaurée. CentralPay procède donc à des tests de restauration réguliers, qui permettent de vérifier non seulement l’intégrité des données sauvegardées mais aussi la rapidité avec laquelle elles peuvent être réinjectées dans le système de production. Grâce à cette approche, CentralPay garantit que, même en cas d’incident majeur, ses clients ne subiront pas de perte significative de données et pourront reprendre leurs activités sans interruption prolongée. 8. Gestion des prestataires critiques CentralPay est conscient que la sécurité et la continuité de ses services dépendent également de la solidité de ses partenaires. C’est pourquoi l’entreprise a mis en place une gouvernance stricte autour de la gestion des prestataires critiques, en particulier ceux qui participent directement à l’hébergement, au traitement des données ou aux services de paiement. Audits et certifications Chaque année, un audit est conduit auprès de l’hébergeur principal et des prestataires considérés comme critiques. L’objectif est de vérifier la solidité de leurs dispositifs de sécurité, leurs capacités de continuité et leur conformité réglementaire.Pour les prestataires qui traitent, stockent ou transmettent des données de cartes, CentralPay exige la certification PCI DSS et obtient une attestation de conformité (AOC) actualisée chaque année. Clauses contractuelles et supervision Les contrats avec les prestataires critiques incluent des clauses spécifiques DORA, portant notamment sur : les engagements de service (SLA en matière de disponibilité et de performance), les obligations de sécurité, la mise en place d’un PCA/PRA compatible avec celui de CentralPay, la notification immédiate en cas d’incident de sécurité. CentralPay conserve une cartographie actualisée de l’ensemble de ses prestataires critiques et de leurs services associés. Ce registre est régulièrement mis à jour et constitue une base de reporting vers l’ACPR et les autorités de supervision. Pérennité et amélioration continue Enfin, la relation avec les prestataires ne se limite pas à un contrôle ponctuel. Les résultats des audits, les tests de continuité et les incidents éventuels sont présentés en comité de gouvernance. Des plans d’action sont ensuite décidés pour renforcer la sécurité ou la disponibilité des services externalisés. Ainsi, CentralPay garantit à ses clients que les tiers qui contribuent à ses services critiques sont soumis au même niveau d’exigence que ses propres équipes. FAQ - Conformité et résilience Gouvernance et responsabilités Qui est responsable de la sécurité chez CentralPay ?La sécurité est pilotée par notre RSSI (Responsable de la Sécurité des Systèmes d’Information), rattaché directement à la Présidence. Le RSSI s’appuie sur un comité TIC et sur un cadre de gestion des risques aligné sur ISO 27005 et sur le règlement DORA. Le RSSI est joignable à l’adresse suivante : rssi@centralpay.com Avez-vous une politique de sécurité documentée ?Oui. Notre Politique de Sécurité du Système d’Information (PSSI) définit les règles applicables à l’ensemble de nos équipes et de nos prestataires. Elle couvre la classification des données, la gestion des accès, la protection des systèmes, la gestion des incidents, la continuité d’activité et l’encadrement des prestataires TIC. Comment intégrez-vous la sécurité dans vos décisions stratégiques ?La sécurité et la résilience sont intégrées à notre cadre global de gestion des risques. Celui-ci inclut une cartographie alignée ISO/DORA, une politique d’appétence aux risques, et un suivi par indicateurs (KRI). Les décisions de sécurité sont arbitrées au sein du comité Sécurité & Conformité et validées par la Direction Générale. Comment contrôlez-vous vos dispositifs de sécurité ?Nous appliquons le modèle des trois lignes de défense : les équipes métiers réalisent les contrôles opérationnels, la conformité et le contrôle permanent assurent la supervision, et le contrôle périodique réalise une évaluation indépendante. Protection des données et des systèmes Comment protégez-vous les données et systèmes de CentralPay ?Toutes les données sont chiffrées : TLS 1.2/1.3 pour les échanges en transit et AES-256 pour le stockage. Les données de carte sont traitées uniquement dans un environnement certifié PCI DSS niveau 1 et immédiatement tokenisées, afin qu’aucun numéro complet ne soit conservé en clair. Nos infrastructures sont segmentées et protégées par des firewalls, IDS/IPS et une supervision SOC. Les accès aux environnements sensibles sont limités, appliquent le principe du moindre privilège et sont protégés par MFA. Tous les postes de travail sont chiffrés, sécurisés par antivirus/EDR et mis à jour automatiquement. Tests et contrôles de sécurité Réalisez-vous des tests de sécurité ?Oui. Nous effectuons régulièrement des tests de pénétration indépendants, des scans automatisés de vulnérabilités et des audits externes (dont PCI DSS). Ces contrôles permettent d’identifier les failles et de renforcer en permanence notre dispositif. Comment gérez-vous la journalisation et les logs ?Les journaux sont conservés 24 mois, horodatés, protégés par chiffrement et intégrés dans notre système de supervision (SIEM). Leur accès est strictement restreint aux équipes habilitées. Comment gérez-vous les vulnérabilités et mises à jour ?Nous appliquons une politique stricte de patch management : correction des vulnérabilités critiques sous 24h, vulnérabilités hautes sous 7 jours, et autres correctifs selon une fréquence planifiée. Le suivi est assuré par des scans et des rapports de conformité. Organisation et culture sécurité Comment sensibilisez-vous vos collaborateurs à la sécurité ?Tous les collaborateurs suivent une formation annuelle obligatoire sur la cybersécurité, le RGPD et la LCB-FT. Des campagnes de sensibilisation régulières (exercices phishing, e-learning) complètent ce dispositif. Les équipes techniques bénéficient de formations renforcées. Comment garantissez-vous que les accès restent limités ?Nous appliquons le principe du moindre privilège : chaque utilisateur n’accède qu’aux ressources nécessaires à sa mission. Les droits sont justifiés, temporaires et systématiquement tracés. Comment encadrez-vous les accès administrateurs ?Les accès à privilèges élevés sont limités à un nombre restreint de personnes, soumis à MFA, tracés et revus régulièrement. Ils ne sont accordés que pour des besoins précis et pour une durée limitée. Anticipation et amélioration continue Comment anticipez-vous les menaces émergentes ?Nous assurons une veille cybersécurité active via les bulletins CERT-FR, ANSSI, éditeurs logiciels et fournisseurs cloud. Cette activité de threat intelligence permet d’adapter nos défenses en temps réel. Comment améliorez-vous en permanence votre sécurité ?Chaque incident, audit ou test fait l’objet d’un retour d’expérience documenté et d’un plan d’actions correctives. Nos politiques et procédures sont revues annuellement pour intégrer ces enseignements et les évolutions réglementaires. Résilience et continuité Comment assurez-vous la continuité de vos services ?Nous disposons d’un Plan d’Urgence et de Poursuite d’Activité (PUPA) intégrant un PCA (continuité) et un PRI (reprise). Ces plans sont régulièrement testés à travers des exercices de crise et des scénarios de bascule. Comment garantissez-vous la disponibilité et la redondance ?Nos services reposent sur une architecture redondée au sein de plusieurs zones européennes, permettant d’assurer une disponibilité de plus de 99,95 %. Quels sont vos objectifs de RPO et RTO ?CentralPay définit et teste régulièrement ses objectifs de continuité : RPO (Recovery Point Objective) : inférieur à 1 minute pour les systèmes critiques, grâce à la réplication temps réel des données. RTO (Recovery Time Objective) : inférieur à 15 mn pour la reprise des services essentiels, grâce à l’architecture redondée et aux procédures de bascule.Ces objectifs sont validés lors de nos exercices PCA/PRI et intégrés dans notre dispositif DORA. Comment gérez-vous vos sauvegardes ?Les sauvegardes sont chiffrées, isolées, redondées et régulièrement testées pour garantir leur restauration. Elles suivent les mêmes politiques de sécurité que les environnements de production. Réalisez-vous des tests de résilience conformément à DORA ?Oui. Nous réalisons des exercices de crise (cyberattaques simulées, pannes critiques), des tests de charge et de performance, des scénarios de bascule et, pour les fonctions critiques, des tests avancés de type TLPT (Threat-Led Penetration Testing). Relations avec les prestataires Comment sélectionnez-vous vos prestataires critiques ?Chaque prestataire fait l’objet d’une due diligence (sécurité, conformité, localisation des données, SLA). Les contrats incluent des clauses RGPD et DORA (sécurité, notification d’incident, droit d’audit). Comment contrôlez-vous vos prestataires dans la durée ?Nous tenons un registre DORA recensant tous nos prestataires TIC et identifiant les prestataires critiques. Ces derniers font l’objet d’un suivi renforcé : revues régulières, audits, attestations ISO/PCI et évaluations de résilience. Gestion des incidents Que se passe-t-il en cas d’incident de sécurité ?Nous appliquons une procédure de gestion des incidents incluant : détection, qualification, confinement, remédiation et forensic. Si nécessaire, nous notifions la CNIL sous 72h et informons les clients concernés. Chaque incident majeur donne lieu à un retour d’expérience et à un plan d’actions correctives suivi jusqu’à sa clôture. Protection des données personnelles Dernière mise à jour : 15/09/2025 Chez CentralPay, la protection des données personnelles est au cœur de nos engagements. En tant qu’Établissement de Monnaie Électronique agréé par l’ACPR (n° d’agrément 17138 nous traitons des données personnelles conformément au Règlement Général sur la Protection des Données (RGPD – UE 2016/679) et à la législation française applicable. Cette politique présente, de manière claire et transparente, les traitements de données personnelles que nous réalisons dans le cadre de l’exécution de nos services de paiement. 1. Qui est responsable du traitement ? Le responsable de traitement est :CentralPay – 19 rue Edouard VAILLANT – 37000 TOURSContact DPO : dpo@centralpay.com 2. Quelles données collectons-nous ? CentralPay collecte uniquement les données strictement nécessaires à la fourniture de ses services de paiement et au respect de ses obligations légales et réglementaires. Données d’identification Nom, prénom, civilité. Date et lieu de naissance. Nationalité. Qualité (dirigeant, représentant légal, UBO). Données de contact Adresse email. Numéro de téléphone (mobile ou fixe). Adresse postale professionnelle ou personnelle (selon le cas). Données de paiement Coordonnées bancaires : IBAN et BIC. Données de carte : numéro de carte (collecté uniquement dans un environnement sécurisé PCI DSS et immédiatement tokenisé), date d’expiration, schéma (Visa, Mastercard, etc.), pays émetteur, 4 derniers chiffres. Important : CentralPay n’expose jamais le numéro complet ni le cryptogramme au marchand. Données transactionnelles Identifiant de transaction, date et heure. Montant, devise, statut de paiement. Référence commande (orderId). Historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude Adresse IP de connexion. Empreinte technique du terminal (navigateur, langue, résolution écran) lors de l’authentification 3DS. Résultats et scores antifraude internes. Statut éventuel de mise en surveillance (liste noire technique). Données de conformité KYC/LCB-FT Pièces d’identité (CNI, passeport, titre de séjour). Justificatifs de domicile (facture d’énergie, quittance). Documents légaux de l’entreprise (Kbis, statuts, registre des bénéficiaires effectifs). Informations sur les UBO (noms, pourcentages de détention). Données techniques (liées aux services) Journaux applicatifs et techniques (logs API). Événements de traitement (webhooks envoyés aux marchands). Identifiants techniques de suivi (transactionId, customerId, etc.). 3. Pour quelles finalités utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Chaque traitement repose sur une base légale conforme au RGPD. Exécution des paiements et gestion des services Finalité : exécuter vos opérations de paiement (SEPA, carte, prélèvement, virement, récurrents ou fractionnés), assurer la facturation et gérer les flux financiers. Données concernées : coordonnées bancaires (IBAN, BIC), données de carte (token, schéma, pays, PAN masqué), identifiants de transaction, montants, devises, références commandes. Base légale : exécution du contrat (art. 6.1.b RGPD). Vérification d’identité et obligations réglementaires (KYC/LCB-FT) Finalité : satisfaire aux obligations légales de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), et aux exigences de supervision de l’ACPR. Données concernées : données d’identification (nom, prénom, date de naissance, nationalité), pièces d’identité, justificatifs de domicile, documents légaux de l’entreprise, informations sur les UBO. Base légale : obligation légale (art. 6.1.c RGPD, Code monétaire et financier art. L561-1 et suivants). Prévention et détection de la fraude Finalité : sécuriser les transactions, prévenir les paiements non autorisés ou frauduleux, appliquer les règles d’authentification renforcée (DSP2/3DS). Données concernées : adresse IP, empreinte technique du navigateur/appareil, schéma et pays émetteur de la carte, résultats des contrôles antifraude, statut éventuel de mise en surveillance. Base légale : obligation légale (DSP2) et intérêt légitime (sécurité des paiements – art. 6.1.f RGPD). Gestion de la relation client et du support Finalité : communiquer avec les clients et utilisateurs (confirmation d’opérations, envoi de liens de paiement, notifications), répondre aux demandes de support, assurer le suivi des réclamations et litiges. Données concernées : email, téléphone, identifiants client, données transactionnelles associées. Base légale : exécution du contrat (art. 6.1.b RGPD) et intérêt légitime (gestion de la relation client). Respect d’obligations comptables, fiscales et probatoires Finalité : conserver certaines données pour répondre aux obligations légales de conservation (Code de commerce, Code général des impôts), produire des justificatifs comptables et probatoires. Données concernées : données transactionnelles (montants, devises, dates, statuts, références), coordonnées bancaires liées aux opérations. Base légale : obligation légale (art. 6.1.c RGPD). Amélioration de nos services et sécurité technique Finalité : analyser l’usage de nos services, optimiser la performance, assurer la résilience et la cybersécurité, conformément au règlement DORA. Données concernées : journaux techniques (logs), événements (webhooks), identifiants techniques, statistiques d’usage anonymisées. Base légale : intérêt légitime (art. 6.1.f RGPD). 4. Quelle est la base légale de ces traitements ? Chaque traitement repose sur une base légale clairement définie : Exécution du contrat (art. 6.1.b RGPD) : exécution des paiements, gestion de compte, relation client, support. Obligation légale (art. 6.1.c RGPD) : conformité LCB-FT (art. L561 CMF), obligations comptables et fiscales (Code de commerce, CGI), obligations réglementaires (DSP2, ACPR). Intérêt légitime (art. 6.1.f RGPD) : prévention de la fraude, sécurité des systèmes, gestion des litiges, amélioration des services. Consentement (art. 6.1.a RGPD) : uniquement pour certaines communications marketing optionnelles ou si requis par la loi. 5. Combien de temps conservons-nous vos données ? CentralPay applique un calendrier de conservation strict, conforme aux exigences du RGPD, du Code monétaire et financier et du Code de commerce. Nous distinguons : a) Transactions financières (écritures comptables et probatoires) Conservées 10 ans conformément aux obligations comptables et probatoires (art. L123-22 Code de commerce). Données concernées : identifiants de transaction (transactionId), date, montant, devise, statut, référence commande (orderId). Ces informations sont nécessaires à la preuve contractuelle et à la comptabilité et ne sont pas anonymisées. b) Données personnelles associées aux transactions Conservées 24 mois maximum puis anonymisées de manière irréversible. Données concernées : Coordonnées du payeur (email, téléphone), Adresse IP, empreinte navigateur/appareil (3DS), Données carte (token, PAN masqué, date d’expiration, schéma, pays émetteur), Résultats antifraude (score, statut blacklist). Ces informations ne sont plus conservées au-delà de 24 mois car elles ne sont plus nécessaires ni légalement ni contractuellement. c) Données relatives aux cartes de paiement Conservées jusqu’à 24 mois après la date d’expiration de la carte, puis supprimées/anonymisées. CentralPay n’expose jamais le PAN complet ni le CVC hors de sa zone PCI DSS. d) Données relatives aux comptes bancaires (IBAN/BIC) et mandats SEPA Conservées pendant la durée du mandat + 10 ans (preuve contractuelle), puis supprimées/anonymisées. e) Données KYC / LCB-FT Conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF), puis supprimées/anonymisées. Données concernées : pièces d’identité, justificatifs de domicile, documents légaux de l’entreprise, informations sur les UBO. f) Abonnements et paiements fractionnés Conservés pendant la durée de l’abonnement + 5 ans (exigences probatoires), puis anonymisés. Données concernées : identifiant d’abonnement, échéancier, lien vers moyen de paiement. g) Journaux techniques et webhooks Conservés 24 mois maximum, puis anonymisés. Données concernées : logs API, événements de traitement, identifiants techniques (customerId, eventId), statuts, horodatages. 6. Qui sont les destinataires de vos données ? Vos données peuvent être transmises uniquement à : Services internes CentralPay (opérations, conformité, support, sécurité). Partenaires de paiement et établissements bancaires (acquéreurs, systèmes de règlement SEPA, schémas carte). Prestataires techniques (hébergement cloud, prestataire KYC, envoi SMS/email), soumis à des clauses contractuelles conformes RGPD. Autorités compétentes (ACPR, TRACFIN, Banque de France, autorités judiciaires). Nous ne revendons jamais vos données à des tiers. 7. Où sont traitées vos données ? Les données sont hébergées dans l’Union européenne et majoritairement en Frane En cas de transfert hors UE (ex. prestataire SMS, email), des clauses contractuelles types (SCC) et mesures supplémentaires sont mises en place pour garantir un niveau de protection équivalent. 8. Quels sont vos droits ? Conformément aux articles 15 à 22 du RGPD, vous disposez de : Droit d’accès, rectification, effacement. Droit à la limitation, opposition, portabilité. Droit de retrait du consentement (le cas échéant). Droit d’introduire une réclamation auprès de la CNIL. Vous pouvez exercer vos droits en écrivant à : dpo@centralpay.com (réponse sous 30 jours). 9. Sécurité CentralPay met en œuvre une politique de sécurité alignée sur les standards PCI DSS, ISO 27001/27005 et sur le règlement européen DORA (Digital Operational Resilience Act). Nos dispositifs couvrent l’ensemble du cycle de vie des données et des services de paiement afin de garantir leur confidentialité, leur intégrité et leur disponibilité. La sécurité est d’abord assurée par une gouvernance claire et une gestion proactive des risques. Nous disposons d’un cadre de gestion des risques validé par la direction, qui comprend une politique d’appétence au risque, une cartographie alignée sur les normes ISO et DORA, ainsi que des indicateurs de risque suivis régulièrement. Ce cadre est mis en œuvre à travers une organisation en trois lignes de défense et piloté par un comité de sécurité et de conformité. La protection des données repose sur un chiffrement systématique, tant en transit (TLS 1.2/1.3) qu’au repos (AES-256), avec une gestion centralisée des clés. Les données de paiement sont traitées exclusivement dans un environnement certifié PCI DSS niveau 1 et font l’objet d’une tokenisation irréversible qui évite toute exposition des numéros complets de carte ou des cryptogrammes. De plus, nous appliquons des politiques strictes de purge et d’anonymisation automatique des données personnelles à l’issue des durées de conservation prévues par le RGPD. Les accès aux systèmes sont strictement contrôlés grâce à une gestion des identités centralisée et basée sur le principe du moindre privilège. Chaque collaborateur est soumis à une authentification forte à deux facteurs (MFA), et les habilitations font l’objet de revues régulières afin de garantir leur pertinence. Nos infrastructures font l’objet d’une surveillance permanente. Les opérations sensibles sont journalisées de manière exhaustive et horodatée, et un système de supervision en temps réel, couplé à un SIEM, permet de détecter rapidement les incidents de sécurité. La résilience opérationnelle est assurée par un dispositif de continuité aligné sur DORA. CentralPay a mis en place un Plan d’Urgence et de Poursuite d’Activité (PUPA) incluant des volets PCA et PRI, régulièrement testés. Des tests de pénétration et des exercices de gestion de crise sont organisés chaque année, tandis qu’une politique stricte d’externalisation TIC garantit l’évaluation continue des prestataires critiques et la tenue d’un registre d’information réglementaire. La gestion des incidents suit une procédure formalisée de détection, classification et traitement. En cas d’incident majeur, nous respectons les délais de notification réglementaire auprès de l’ACPR et de la CNIL, et un retour d’expérience systématique est organisé afin d’améliorer en permanence le dispositif de sécurité. Enfin, CentralPay s’inscrit dans une logique d’amélioration continue. Des audits internes et externes, y compris des audits indépendants PCI DSS et de cybersécurité, sont réalisés régulièrement. Nos dispositifs de contrôle permanent et d’audit périodique sont revus chaque année afin de garantir leur efficacité et leur conformité aux normes internationales et aux exigences réglementaires. 10. Mise à jour de la politique Cette politique peut être modifiée pour refléter l’évolution des traitements et obligations légales. Toute mise à jour sera publiée sur notre site et, si nécessaire, communiquée aux clients concernés. Sous-traitants Dans le cadre de la fourniture de ses services de paiement, Centralpay s’appuie sur un ensemble de sous-traitants au sens de l’article 4 du Règlement Général sur la Protection des Données (RGPD). Ces sous-traitants peuvent être amenés à traiter des données à caractère personnel pour le compte de Centralpay, exclusivement sur instructions documentées et dans la limite des finalités du service auquel ils contribuent. La présente page recense les sous-traitants susceptibles d’intervenir dans le traitement des données à caractère personnel des Titulaires, Marchands et Payeurs utilisateurs des services Centralpay. Elle est mise à jour à mesure de l’évolution de notre dispositif. Sous-traitantFinalitéPays de traitement des donnéesCatégories de donnéesAmazon Web Services (AWS)Hébergement cloud de certains services et données applicativesIrlandeEnsemble des données traitées par les servicesComply Advantage (IVXS)Screening LCB-FT et vérification des listes de sanctions internationalesRoumanieDonnées d’identificationDotfileGestion des processus d’onboarding, collecte et mise à jour des dossiers KYC/KYBFranceDonnées d’identification, justificatifsGpaymentsAuthentification 3D-Secure des transactions par carte (second prestataire)IrlandeDonnées carte, authentificationInnovestSociété mère du groupe, destinataire interne pour les finalités de gouvernance, audit, conformité et reporting consolidéFranceDonnées de gouvernance et de reportingMicrosoftGestion et contrôle des flux financiersFranceDonnées transactionnelles et comptablesNetceteraAuthentification 3D-Secure des transactions par carte (Access Control Server)SuisseDonnées carte, authentificationOnfidoVérification automatisée des documents d’identité et des éléments biométriques (reconnaissance faciale, détection de vie)EuropeDonnées d’identité, données biométriquesQomboVerification of Payee (vérification du bénéficiaire d’un virement SEPA)FranceDonnées d’identification, IBANTanla Digital LabsEnvoi de SMS (codes d’authentification, notifications)EuropeNuméro de téléphone, contenu du message Encadrement des sous-traitants et procédure de modification Conformément à l’article 28 du RGPD, l’ensemble des sous-traitants engagés par Centralpay agissent exclusivement sur instructions documentées, sont liés par des engagements contractuels stricts en matière de confidentialité et de sécurité, et ne peuvent utiliser les données à caractère personnel à d’autres fins que celles définies par Centralpay. Toute modification substantielle de cette liste fera l’objet d’une information préalable par tout moyen approprié (notification dans le Portail Marchand, courrier électronique, ou mise à jour publique de la présente page), permettant aux personnes concernées, le cas échéant, de s’y opposer. Pour toute question relative au traitement de vos données ou à l’exercice de vos droits, vous pouvez contacter notre Délégué à la Protection des Données à l’adresse : dpo@centralpay.eu. FAQ - Protection des données personnelles Gouvernance et responsabilités Responsable du traitement et contact DPO CentralPay, Établissement de Monnaie Électronique (EME), est responsable du traitement pour ses services de paiement.Contact DPO : dpo@centralpay.com (réponse sous 30 jours). Données collectées Quelles données collectons-nous ? Dans le cadre de la fourniture de ses services de paiement et afin de respecter ses obligations légales, CentralPay collecte uniquement les données strictement nécessaires. Ces données varient en fonction du type d’opération (paiement, vérification KYC, lutte contre la fraude, support client). Elles se répartissent en plusieurs catégories : Données d’identification : nom, prénom, civilité, date et lieu de naissance, nationalité, qualité (par exemple représentant légal, dirigeant ou bénéficiaire effectif – UBO). Données de contact : adresse email, numéro de téléphone, adresse postale. Données de paiement : coordonnées bancaires (IBAN, BIC) ; données de carte traitées exclusivement dans un environnement certifié PCI DSS (numéro complet et CVC collectés uniquement pour être tokenisés et jamais exposés en clair), date d’expiration, schéma (Visa, Mastercard…), pays émetteur, 4 derniers chiffres. Données transactionnelles : identifiant de transaction (transactionId), date et heure, montant, devise, statut, référence commande (orderId), historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude : adresse IP, empreinte 3DS (navigateur/appareil), résultats et scores antifraude, statut éventuel de mise en surveillance technique. Données de conformité KYC/LCB-FT : pièces d’identité officielles, justificatifs de domicile, documents légaux de l’entreprise (ex. Kbis, statuts), informations sur les bénéficiaires effectifs (UBO et pourcentages de détention). Données techniques : journaux applicatifs (logs API), événements transmis aux marchands (webhooks), identifiants techniques (customerId, eventId). CentralPay ne collecte aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.), sauf si la loi l’imposait de manière exceptionnelle. Finalités Pourquoi utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Bases légales Sur quelles bases légales reposent nos traitements ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Pendant combien de temps conservons-nous vos données ? CentralPay applique des délais de conservation précis, fondés sur les obligations légales et les besoins opérationnels. À l’issue de ces délais, les données sont soit supprimées, soit anonymisées de façon irréversible. Transactions financières (écritures probatoires) : conservées 10 ans, conformément au Code de commerce. Données personnelles associées aux transactions (email, téléphone, IP, empreintes 3DS, PAN masqué, token de carte, scores fraude) : conservées 24 mois maximum, puis supprimées ou anonymisées. Données de carte (token + métadonnées) : conservées jusqu’à 24 mois après la date d’expiration de la carte. Le PAN complet et le CVC ne sont jamais exposés en clair. Payment Requests (emails/SMS) : conservées 24 mois maximum. Abonnements et paiements fractionnés : conservés pendant la durée de l’abonnement + 5 ans. Comptes bancaires (IBAN/BIC) et mandats SEPA : conservés pendant la durée du mandat + 10 ans (preuve contractuelle). KYC / LCB-FT : données conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF). Journaux techniques et webhooks : conservés 24 mois. Au-delà de ces durées, CentralPay ne conserve que des données anonymisées ou strictement nécessaires au respect d’une obligation légale. Localisation et transferts Où vos données sont-elles traitées ? Les données traitées par CentralPay sont hébergées en priorité dans l’Union européenne, principalement en France, dans des environnements certifiés PCI DSS et ISO 27001. À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Si un transfert hors UE devait être nécessaire à l’avenir (par exemple pour un prestataire SMS ou email), il serait encadré par : une analyse d’impact du transfert, la mise en place des Clauses Contractuelles Types (SCC) de la Commission européenne, des mesures techniques complémentaires (chiffrement, segmentation, contrôle d’accès), et une information transparente de nos clients. Transfert de données hors UE : comment procédons-nous ? À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Toutes les données sont hébergées et traitées dans l’UE, principalement en France et au sein d’infrastructures certifiées (PCI DSS). Si, à l’avenir, un transfert hors UE devait être nécessaire (par exemple pour un prestataire SMS ou email), CentralPay s’engage à : procéder à une analyse d’impact sur le transfert, appliquer les Clauses Contractuelles Types (SCC) de la Commission européenne, mettre en place des mesures techniques supplémentaires (chiffrement, cloisonnement, contrôle d’accès), et informer ses clients en toute transparence. Nature des données Traitons-nous des données sensibles ? Non. CentralPay ne traite aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.).Nous collectons uniquement les informations strictement nécessaires à l’exécution des paiements et au respect de nos obligations légales (LCB-FT, supervision ACPR). Collectons-nous des données de mineurs ? CentralPay fournit ses services exclusivement à des professionnels (B2B). Nous ne collectons donc pas volontairement de données de mineurs.Si, indirectement, un mineur est amené à effectuer un paiement, le traitement reste limité aux données de paiement nécessaires (ex. coordonnées bancaires ou carte), et toujours sous la responsabilité de son représentant légal lorsqu’une vérification est requise. Conformité RGPD Réalisons-nous des analyses d’impact (PIA)? Oui, nous réalisons des AIPD (PIA) pour les traitements susceptibles d’engendrer un risque élevé (ex. KYC, antifraude/3DS, tokenisation carte, analyses longitudinales). Les risques résiduels et mesures de réduction sont documentés. Comment garantissons-nous la minimisation et le privacy by design ? Nous collectons uniquement les champs nécessaires par finalité, cloisonnons les environnements (prod/préprod), nous n’utilisons aucune donnée réelle en test, limitons les payloads webhooks au minimum utile, et appliquons des purges/anonymisations automatiques à l’échéance. Comment CentralPay documente sa conformité RGPD ? Politique RGPD publique (site). Registre des traitements (interne, à jour). PIA sur les traitements à risque (interne). Politiques/procédures (sécurité, purge, incidents, droits). Rapports de contrôle interne (ACPR). Sous-traitants Comment encadrons-nous nos prestataires ? Chaque prestataire est contractuellement encadré (art. 28) : mesures de sécurité, confidentialité, notification d’incident, audibilité, localisation des données, sous-traitance en cascade contrôlée. Due diligence initiale + réévaluation régulière (sécurité, SLA, conformité). Quels prestataires utilisons-nous ? Sur demande et après NDA, nous pouvons fournir la liste à jour par catégorie de nos prestataires (hébergement/cloud, KYC, envoi email/SMS, anti-fraude, support) en indiquant la zone géographique. Comment sélectionnons-nous nos prestataires essentiels ? CentralPay applique une politique d’encadrement des sous-traitants alignée à la fois sur le RGPD (art. 28) et sur le règlement DORA. Lors de la sélection, nous menons une due diligence approfondie couvrant la sécurité (certifications, mesures techniques), la conformité réglementaire (RGPD, DSP2, LCB-FT), la localisation et le régime juridique des données, la solidité financière du prestataire ainsi que les niveaux de service (SLA) proposés. Pour les prestataires critiques, nous examinons en particulier leur intégration dans la chaîne de valeur des services de paiement et leur rôle en matière de résilience opérationnelle. Chaque relation contractuelle inclut des clauses conformes à l’article 28 RGPD (confidentialité, sécurité, notification d’incident, limitation des sous-traitances en cascade) ainsi que, le cas échéant, des Clauses Contractuelles Types (SCC) pour encadrer les transferts hors Union européenne. Conformément à DORA, nous tenons un registre d’information des prestataires TIC et identifions ceux considérés comme prestataires critiques. Ces prestataires font l’objet d’une évaluation renforcée, avec des exigences contractuelles spécifiques en matière de disponibilité, d’intégrité, de continuité et de tests de résilience. Le suivi est assuré au travers de revues régulières (contrôles, rapports d’audit, attestations de conformité type SOC/ISO, questionnaires de sécurité), d’un droit d’audit contractuel et de mécanismes de reporting périodique. Nous intégrons ces évaluations dans notre cartographie des risques TIC et nos comités de suivi DORA. Sécurité et résilience Quelles protections techniques appliquons-nous ? CentralPay protège les données et les systèmes en combinant des mécanismes techniques robustes et conformes aux meilleurs standards internationaux.Les échanges sont sécurisés par un chiffrement systématique : TLS 1.2/1.3 pour les données en transit et AES-256 pour les données au repos, avec une gestion centralisée des clés.Les données de carte sont traitées exclusivement dans un environnement PCI DSS niveau 1, avec collecte en zone dédiée et tokenisation irréversible pour éviter toute exposition du PAN complet.Les accès aux systèmes sont contrôlés par des mécanismes RBAC (role-based access control) et protégés par une authentification forte (MFA), avec des revues régulières des habilitations.Toutes les actions sensibles font l’objet d’une journalisation horodatée et inviolable, intégrée dans un SIEM qui assure la détection et l’alerte en temps réel.L’infrastructure est cloisonnée : segmentation des réseaux, séparation stricte des environnements (production, test, préproduction) et gestion sécurisée des secrets.Enfin, CentralPay teste régulièrement son dispositif à travers des tests de pénétration, des scans de vulnérabilités et des audits externes indépendants. Comment notre organisation garantit la sécurité ? La sécurité ne repose pas uniquement sur la technologie mais aussi sur une organisation et une gouvernance solides.CentralPay applique un cadre de gestion des risques intégrant une cartographie détaillée, des indicateurs de suivi (KRI) et une politique d’appétence au risque validée par la direction.La supervision s’appuie sur le modèle reconnu des trois lignes de défense : les opérations assurent les contrôles de premier niveau, une fonction indépendante de conformité et de contrôle permanent supervise la deuxième ligne, et l’audit interne constitue la troisième ligne.Un comité sécurité et conformité se réunit régulièrement pour piloter la stratégie et mettre à jour les politiques et procédures clés (gestion des accès, incidents, purges, exercice des droits RGPD).Enfin, la culture sécurité est renforcée par des formations régulières des équipes, couvrant la cybersécurité, la protection des données personnelles et les obligations LCB-FT. Que faisons-nous en cas d’incident de sécurité ? CentralPay dispose d’une procédure formalisée de gestion des incidents.En cas d’incident, nous procédons à une détection rapide, une qualification et un confinement immédiat, suivis d’actions de remédiation.Les événements sont intégralement journalisés et investigués (forensic) afin d’identifier la cause et d’éviter leur récurrence.Lorsque la réglementation l’impose, nous notifions la CNIL dans un délai maximum de 72 heures et informons les personnes concernées en cas de risque élevé.Chaque incident donne lieu à un retour d’expérience (REX) et à la mise en place d’un plan d’actions correctives, qui est suivi jusqu’à sa résolution complète. Nos audits de sécurité CentralPay est soumis à plusieurs niveaux de contrôle et de tests de sécurité, à la fois internes et externes : Audits externes réguliers : Certification annuelle PCI DSS niveau 1 sur la collecte et le traitement des données de paiement, Audits indépendants de cybersécurité, Tests de pénétration réalisés par des prestataires tiers pour identifier et corriger les vulnérabilités. Contrôles internes permanents (seconde ligne de défense) : revues des habilitations, scans de vulnérabilités, surveillance des systèmes critiques. Audits périodiques indépendants (troisième ligne de défense) : audit interne et audit externe du dispositif de sécurité, conformité réglementaire (ACPR, DORA). Revue annuelle des politiques : l’ensemble de nos politiques de sécurité, de purge, d’incidents et de gestion des prestataires est revu et validé chaque année par la direction. Tests de résilience conformément à DORA : Plans de Continuité et de Reprise d’Activité (PCA/PRI) testés régulièrement pour valider la capacité à maintenir les services en cas d’incident majeur, Exercices de crise simulant des scénarios de cyberattaque ou d’indisponibilité critique, Tests de charge et de performance sur les infrastructures critiques, Scénarios de bascule et redondance entre environnements pour garantir la disponibilité, Pour les fonctions critiques, recours progressif à des tests de résilience avancés de type “TLPT” (Threat-Led Penetration Testing), exigés par DORA pour les acteurs significatifs. Droits des personnes Quels sont vos droits et comment les exercer ? En application des articles 15 à 22 du RGPD, vous disposez des droits suivants sur vos données personnelles : droit d’accès, droit de rectification, droit à l’effacement, droit à la limitation, droit d’opposition, droit à la portabilité, droit de retrait du consentement. Vous pouvez exercer vos droits en adressant une demande à : dpo@centralpay.com.Nous nous engageons à vous répondre dans un délai de 30 jours maximum, sauf cas exceptionnel justifiant une prolongation. En cas de difficulté, vous pouvez également saisir la CNIL. Comment concilions-nous effacement et obligations légales ? CentralPay respecte le droit à l’effacement prévu par le RGPD, mais certaines données doivent être conservées en raison d’obligations légales.Nous supprimons ou anonymisons toutes les données personnelles qui ne sont plus nécessaires.En revanche, lorsque la loi nous impose de conserver certaines informations (par exemple les écritures comptables pendant 10 ans ou les données KYC pendant 5 ans après la fin de la relation), ces données sont maintenues mais : leur accès est strictement limité, elles ne sont utilisées que pour les finalités imposées par la loi (contrôle ACPR, TRACFIN, obligations probatoires). Ainsi, nous trouvons un équilibre entre le respect des droits des personnes et nos obligations réglementaires. Autres garanties Utilisons-nous des décisions automatisées ou du profilage ? CentralPay n’applique aucune décision entièrement automatisée produisant des effets juridiques ou significatifs sur les personnes, au sens de l’article 22 du RGPD.Nous utilisons en revanche des outils de scoring antifraude qui calculent un niveau de risque sur les transactions. Ces résultats servent uniquement d’aide à la décision : lorsqu’un cas est sensible ou à risque, il est systématiquement revu et validé par un contrôle humain. Utilisons-nous des cookies ou traceurs à des fins publicitaires ? Sur les parcours de paiement et dans les API, CentralPay n’utilise aucun cookie publicitaire ni traceur marketing. Seuls des cookies ou traceurs strictement nécessaires au fonctionnement technique et à la sécurité des parcours (ex. gestion de session, authentification) peuvent être utilisés.À ce stade, aucun mécanisme de consentement via bannière n’est nécessaire, puisque nous n’utilisons pas de cookies optionnels. Comment assurons-nous la résilience et les sauvegardes ? Oui. L’infrastructure est redondée sur deux data centers localisés en France ; les sauvegardes sont chiffrées et externalisées, testées régulièrement (restores) et retiennent les mêmes contrôles d’accès que la production. Avons-nous une politique de purge et d’anonymisation documentée ? Oui, avec délais par objet (transactions/personnelles 24 mois, cartes jusqu’à 24 mois après date d’expiration, KYC 5 ans post-relation, mandats 10 ans, logs 24 mois) et mécanismes (suppression vs anonymisation irréversible), plus traces de purge (logs d’exécution). Nos environnements de test contiennent-ils des données réelles ? CentralPay n’utilise jamais de données personnelles réelles dans ses environnements de test ou de préproduction. Tous nos jeux de données internes (ex. cartes, IBAN, profils clients) sont synthétiques ou fictifs et conformes aux standards PCI DSS. Cependant, les utilisateurs de nos environnements de test (par ex. marchands intégrateurs) peuvent techniquement saisir leurs propres données. Cette pratique est formellement interdite et encadrée par nos conditions d’utilisation. Si un utilisateur insère par erreur des données personnelles dans un environnement de test, celles-ci : ne sont pas utilisées à des fins de traitement de paiement réel, ne sont pas répliquées en production, et font l’objet d’une purge automatique ou manuelle dès leur détection. Comment CentralPay gère-t-il l’accès des équipes support aux données ? Les équipes support de CentralPay n’ont pas d’accès direct et permanent aux données personnelles. L’accès est accordé uniquement en cas de besoin opérationnel (par exemple pour résoudre un incident ou assister un client), et selon les principes suivants : Accès temporaire et justifié : chaque accès est accordé pour une durée limitée et doit être motivé par un ticket ou une demande validée. Principe du moindre privilège : l’agent support ne voit que les données strictement nécessaires pour traiter la demande. Authentification forte (MFA) : tous les accès sont sécurisés par une authentification à plusieurs facteurs. Traçabilité complète : chaque action effectuée par un membre du support est enregistrée et auditée. Revue régulière des habilitations : les droits d’accès sont revus mensuellement pour s’assurer qu’ils restent justifiés. Masquage des données sensibles : les champs sensibles (ex. numéro complet de carte, CVC, IBAN complet) sont systématiquement masqués dans les interfaces, afin que le support ne puisse jamais les visualiser en clair. Offrons-nous des clauses contractuelles spécifiques RGPD à vos clients ? Nos CGU/contrats intègrent les clauses nécessaires (confidentialité, sécurité, coopération incidents, sous-traitance, conservation/purge). Des avenants RGPD sont possibles selon les cas d’usage. Partageons-nous nos politiques et procédures internes ? La Politique RGPD publique est disponible en ligne. Les politiques internes détaillées (procédures incidents, purge, sécurité) ne sont, par défaut, pas partagées.
General information Articles Contact CentralPay > CentralPay Contract Templates Open a CentralPay account Using the CentralPay APIs Merchant Portal Customer Portal Onboarding Portal Rates Logos and visuals Trust Center Contact CentralPay > CentralPay is committed to healthy growth, ensuring that our users receive daily support from stable teams of experts in their respective fields (compliance, electronic payments, security, etc.). Our customer service and support teams can be reached Monday through Friday via the « Help & Support » section of your Merchant Portal, by email, or by videoconference by appointment. 1. Before submitting a technical request Here are a few things you can check beforehand: Authentication: Are you properly authenticated? Environment: Are you in the correct environment for the Merchant Portal and the API (Sandbox or LIVE)? Authorization: Do you have the necessary permissions to perform this operation? HTTP error 403 indicates an authorization error. HTTP Error: See the meanings of CentralPay HTTP error codes. If you receive an HTTP 500 error code, please contact technical support immediately. 2. Information to Provide for All Technical Inquiries The specific dates and times of the relevant events The link (URL) to the relevant page One or more screenshots, ideally a video (Cloudapp lets you record a video of a page in the Google Chrome browser) A UUID (or ID) for the transaction in question and its type (Card Transaction, Refund, Payment Request, etc.) The environment in which you are working (Sandbox testing or LIVE production) A detailed description of the problem you are experiencing or your question This information will help us support you and analyze your situation more effectively. Your requests will be given priority if they are submitted through the « Help and Support » section of the Merchant Portal: Recette Merchant Portal – Help and Support Production LIVE E-commerce Merchant Portal – Help and Support CentralPay Certifications and Approvals CentralPay offers modular payment solutions that enable the consolidation of payment collection processes for its own account and the automation of payouts on behalf of third-party accounts. The types of services and transactions offered by CentralPay vary depending on the needs and business activities of its merchants and partners. CentralPay is an independent company that fully owns its technology and licenses. This ensures the greatest possible autonomy in its choice of partnerships and its future development. CentralPay is authorized to enter into business relationships with companies registered in the European Economic Area. ACPR () (Bank of France)Electronic money institution: CentralPay is an electronic money institution regulated by the Banque de France through its prudential supervision and resolution authority, the ACPR (CIB 17138).PSD2: CentralPay complies with the Second Payment Services Directive, which sets forth requirements regarding strong customer authentication and data protection, among other things.PCI DSS: CentralPay is certified annually at the highest possible level for banking data security and fraud prevention: PCI DSS Level 1. View CentralPay’s certificate ➜EBA CLEARING & EPC: As a member of the European Payment Council and through its connection to EBA CLEARING, CentralPay provides Integration of the European SEPA payment schemes to send and receive Bank transfers and SEPA Direct Debits using its own IBANs and virtual IBANs.SWIFT: Connected to the SWIFT network, the most widely accepted messaging system worldwide, CentralPay is able to exchange international financial transactions with most participating banks and financial institutions.Visa, Mastercard, debit cards, American Express: CentralPay is accredited by the major card networks to optimize the payment experience and conversion rates for all its users. Security and Hosting CentralPay operates its services from two data centers in France. The equipment and services at these two sites are fully redundant. 1. Highly Resilient Hosting Two TIER III-designed data centers located in Tours Active/active environment between the two sites Contractual service level agreements (SLAs) of 99.9% Recognized standards: ISO 27001, PCI DSS, Code of Conduct 2. An infrastructure that ensures the security of your data Network core with speeds of up to 10 Gb/s Fully redundant power supply system, with power density ranging from 600 mA to 32 A Access control system with two-factor authentication (ID card and personal code) Video surveillance and an alarm system connected 24 hours a day, 7 days a week to our remote monitoring center FirePro Aerosol Fire Suppression System Availability Commitments CentralPay guarantees the annual availability of its services (SLA & BCP) according to the following standards: CPAY APIProcessing of payment transactionsCPAY PORTALSOnboarding Portal, Customer Portal, and Merchant Portal99.9% on an annual basis99.5% on an annual basisThe criterion for determining whether this guarantee has been met is the availability of the payment API.The criterion for this guarantee is the availability of the portals in the production environment. Platform Development CentralPay’s APIs are based on a microservices architecture that provides maximum flexibility. Our modular approach allows us to continuously evolve our solutions to offer an ever-increasing range of services and features. These updates are implemented following thorough impact analyses to ensure they do not require any changes to our users’ integrations. In very rare cases, these updates may require minor or more significant modifications when regulatory changes occur, as was the case with the transition to version 2.0 of the 3DS, for example. In the event of changes to the platform or modifications to expectations regarding the use of its APIs, CentralPay commits to notifying you within a timeframe commensurate with the scope of the actions to be taken: Minor changes that do not require any action on the part of the merchant or partner:Simple Information Disclosure Minor changes requiring action by the Merchant or Partner:Minimum 2-month notice period + assistance with implementation Major changes requiring action by the Merchant or Partner:Minimum 6-month notice period + support during implementation Please note that changes requiring action on the part of our merchants or partners are either rare or nonexistent, and that every precaution is taken to avoid any impact on their business. CentralPay Glossary 1. Types of Actors LabelDescriptionActorAny entity identified on the CentralPay platform. This may be a Merchant Profile, a Point of Sale (POS), a third-party establishment, or CentralPay. Merchant ProfileThe Merchant Profile technically and operationally represents a merchant on the CentralPay platform. It serves as the basis for: • His accounts: Payment Accounts or Electronic Money Accounts;• Administration: API access, User Profiles, available services;• Its technical configuration: webhooks, notifications, Point of Sale (POS) systems, acceptance rules, Bank Accounts;• Its regulatory documentation: KYC/KYB, AML/CFT, risk scoring, contract management, fee schedule…The Merchant Profile corresponds to the API object ` Merchant ` and is created automatically after the registration is validated (via the API object ` Merchant-Enrollment`).Standard MerchantA legal entity or sole proprietorship that is a CentralPay customer and processes payments on its own account when selling goods or services.May be functionally linked to a Technical Partner or Integration Partner.Has a Merchant Profile of the type STANDARD.Partner MerchantA legal entity that is a CentralPay customer, has a Merchant Profile, and may fall under one of the following models:• Technical Partner: operates a shared solution (e.g., marketplace, SaaS platform) and has one or more Points of Sale (POS) open in its name, to which standard Merchants can be linked.Has a Merchant Profile of type TECHNIQUE.• Integration Partner: provides technical support, via access delegated by standard merchants, to facilitate integration and day-to-day operations (without sharing POSes under the partner’s name).Has a Merchant Profile of the type INTEGRATEUR (if applicable).A Partner Merchant may earn commissions (depending on the model) and/or be registered as a MOBSP to assist merchants during onboarding.Intermediary MerchantA legal entity that is a customer of CentralPay, acting on behalf of third-party accounts, under one of the following regulatory statuses:• PSP Agent: A Payment Service Provider (PSP) agent of CentralPay, registered with the ACPR (Bank of France) and authorized to act in the name and on behalf of CentralPay within a contractually defined scope (e.g., debit/credit transactions and transfers on behalf of third-party accounts).Has a Merchant Profile of the type AGENT.• EMD: Electronic Money Distributor registered/declared by CentralPay with the ACPR (Bank of France) for a project involving the issuance, distribution, and exchange of electronic money (CUSTOM currencies).Has a Merchant Profile of type DME.Sub-merchant / ParticipantA legal entity or individual who is a customer of a CentralPay Intermediary Merchant (PSP Agent or EMD).• Sub-merchant: acts to sell products or services, for an LMNP business, • Participant: acts for non-commercial purposes (crowdfunding, personal wallet, collective projects, etc.).Has a specific Merchant Profile BASIC, with a limited scope of functionality.CustomerA natural or legal person who pays or issues a payment order to a CentralPay Merchant (may also be referred to as the payee, payer, or debtor).May or may not have a Customer Profile (Customer).Note: In CentralPay’s regulatory or contractual documents, the term “Customer” may refer to the Merchant itself, depending on the context defined in the document.Customer ProfileRepresents a customer registered by a Merchant on the CentralPay platform. It contains:• the customer’s personal information: last name, first name, email, phone number, company name, etc.• the customer’s payment methods: cards, SEPA direct debits, IBAN, Bank Accounts, etc.• the customer’s activities: payment requests, payment history, etc..The Customer Profile corresponds to the API object Customer.BO User ProfilesIndividuals with access to the CentralPay Merchant Portal to view or manage one or more Merchant Profiles.• Type Legal: the Merchant’s legal representative.• Type Natural: other authorized user (finance, support, development, etc.).The BO User Profile corresponds to the API entity BO_user.API User ProfilesAn entity created via the CentralPay platform that identifies the user (person or system) making API calls on a Merchant Profile.Enables the tracking of actions and the management of authorizations.The API User Profile corresponds to the API entity api_user.Point of Sale (POS)Representation of a website, a brick-and-mortar store, or a sales team. They enable the segmentation of CentralPay Merchant Profile operations for the following purposes: • Features: to configure different settings for each Point of Sale (POS) (customer notifications, internal notifications, sender name for confirmation emails, logo displayed on the checkout page, etc.)• Administrative: to restrict the rights to view or edit your BO User Profiles to certain Points of Sale (POS)• Accountants: to filter transactions by Point of Sale (POS) in the Merchant Portal or in data exportsThe Point of Sale (POS) corresponds to the API object PointOfSale. 2. Types of Accounts LabelDescriptionPayment AccountAn account opened in CentralPay’s books in a Merchant’s name. This account is used exclusively for payment transactions (collecting payments in ISO currencies, performing Payouts to a Bank Account, etc.). It is represented by the ` Wallet ` object of type ` PS ` in the CentralPay API.Electronic Money AccountAn account opened in CentralPay’s books in the name of a Merchant. This account is used exclusively for the storage and exchange of Electronic money within the distributor’s network (CUSTOM currencies). It is represented by the ` Wallet ` object of type ` EM ` in the CentralPay API.Commission AccountA secondary Payment Account used to segregate commission flows and/or certain fee deductions (depending on the model).Under the Partner/Agent models, this account can receive commissions allocated to transactions by affiliated/participating merchants, in accordance with the applicable contractual rules.It is represented by the object ` Wallet ` of type ` CM ` in the CentralPay API.Reserve AccountA secondary Payment Account used to set aside CentralPay reserve funds (account balance, collateral, or Rolling reserve). It is not authorized to make Payouts. It is represented by the ` Wallet ` object of type ` RS ` in the CentralPay API.« Agent » Collection AccountA Payment Account opened in CentralPay’s books in the name of an Agent. It is used to receive funds related to transactions initiated through the Agent model, prior to their allocation or transfer to the Payment Accounts of Participant Merchants. It is not authorized to make payouts. It is represented by the ` Wallet ` object of type ` CL ` in the CentralPay API.CentralPay Technical Partner AccountThe Technical Partner Account refers to an internal, temporary mechanism used by CentralPay to receive, identify, and temporarily process funds related to a payment transaction, with a view to transferring them to the final Beneficiary. It is not a Payment Account opened for a customer, is not made available to any third party, and does not confer any right of disposal. Depending on the technical implementation, this mechanism may be implemented using internal objects (e.g., Wallet of type TR) used exclusively by CentralPay for operational processing. 3. The names of objects or operations LabelDescriptionCentralPay FeesAll fees owed to CentralPay, deducted from the corresponding transactions, debited from a dedicated Commission Account, or billed at the end of the month (depending on the applicable contractual terms).ISO CurrenciesStandard currencies in accordance with ISO 4217 (e.g., EUR, USD, CHF, GBP…)CUSTOM CurrencyElectronic money created for a CentralPay EMD. The value of the CUSTOM currency is always pegged to that of an ISO currency (e.g., EUR). Technical InstructionData or events for strictly technical and commercial purposes transmitted to CentralPay (e.g., order references, shopping cart, commission, logistics events). A Technical Instruction is not a payment order and does not trigger any automatic financial action: CentralPay retains sole discretion over the processing and, where applicable, the release of funds. Release dateA deferred availability date that CentralPay may apply to make funds available to a Beneficiary (e.g., after delivery/shipment), in accordance with applicable risk policies and rules. It may be determined based on submitted commercial information, without constituting a payment instruction. Bank AccountExternal Bank Account linked to: • a Merchant Profile for making outgoing Payouts (payout) • or a Customer Profile for making SEPA Direct Debits or outgoing Payouts.It is represented by the ` BankAccount ` object in the CentralPay API.Outgoing paymentOutgoing bank transfer from a CentralPay account to an external Bank Account. Can be made via SEPA or SWIFT.It is represented by the » Payout » object in the CentralPay API. Card AuthorizationAn operation to check the availability of funds on a credit card, followed by a hold in anticipation of a Card Transaction (max. 7 days).It is represented by the ` Transaction ` object in the CentralPay API.Card TransactionA debit transaction from a bank card, credited to a CentralPay account.It is represented by the ` Transaction ` object in the CentralPay API.SCT TransactionOperation to receive a SEPA or SWIFT bank transfer credited to a CentralPay account.It is represented by the » sctTransaction » object in the CentralPay API.SDD TransactionA transaction that debits a Bank Account and credits a CentralPay account.It is represented by the ` sddTransaction ` object in the CentralPay API. Contract Templates Standard Merchant The standard Merchant plan is intended for businesses (legal entities) that wish to use the CentralPay platform to collect payments on their own account as part of their business selling goods or services. 1. Model Description This plan gives you access to all of Smart Collection’s services—the comprehensive payment processing solution offered by CentralPay. 🔗 More information about Smart Collection The included features are as follows: The CentralPay Merchant ProfileA standard Merchant Profile that includes one or more Payment Accounts dedicated to your business, with individual IBANs, transaction tracking, and payout tracking. Account-related services Management tools, user profiles, API access, notifications, reporting… The Smart payment service Centralization of your flows, automated routing, management of statuses and payments. Card Transaction: Accepts Visa and Mastercard, 3D Secure, Apple Pay and Google Pay, and handles refunds and chargebacks. Transactions by bank transfer Generation of virtual IBANs, receipt notifications, automatic reconciliations. SEPA Direct Debit TransactionsOne-time or recurring debits, mandate management, and tracking of rejections. 2. Fees and Commissions Fixed and variable fees are charged based on the types of transactions performed (transactions, payouts, Rejections, etc.). You can view our published fee schedule on our website. Fees are charged: Either directly from your primary Payment Account Or from a dedicated Commission Account, if it is enabled If there are insufficient funds, CentralPay may process a SEPA Direct Debit from your Bank Account or send you a request for an additional Bank transfer. Partner Merchant CentralPay offers two distinct models for partners wishing to assist CentralPay merchants with their technical integration: the Technical Partner and the Integration Partner. In both cases, merchants remain in a direct contractual relationship with CentralPay; the terms regarding API access, resource sharing, and billing differ depending on the model. Depending on the nature of their business, these partners may also be registered with ORIAS asIOBSPs (intermediaries—“MOBSPs”) in order to provide a legal framework for certain activities involving the introduction andsupport of merchants during onboarding with CentralPay. This article of association does not confer any right of access to funds or any authority to execute payment transactions. 1. Integration Partner An Integration Partner is a technical service provider contracted by one or more standard merchants. It acts on their behalf and for their account to facilitate their connection to CentralPay services. Each standard merchant has its own Point of Sale (POS), its own CentralPay Merchant Profile, and signs its application documents and contract (CCSP) directly with CentralPay. The Integrator has no contractual rights to the merchant’s accounts or funds. 1.1. Responsibilities and Operations The Integrator uses the API access credentials delegated by each Merchant (dedicated “Integrator” credentials) under a contractual agreement between the Integrator and the Merchant He or she may perform the technical tasks necessary for Integration and RUN (configuration, following technical instructions, maintenance), exclusively through these access points, without being able to view account balances or initiate, modify, or cancel a payment transaction. Transactions are generally conducted on a “one-to-one” basis: a customer (Payer) pays a single Merchant, with each Merchant retaining its own environment and access points. 1.2. Billing Each Merchant is billed directly by CentralPay for the services subscribed to in their CCSP The Integration Partner does not get involved in the financial flows at any time 1.3. To learn more about the Integrator model The Integration Partner provides technical support exclusively to standard merchants and never acts as a payment intermediary or representative of CentralPay. Its role is limited to integration, Level 1 functional support, and interface maintenance. Each merchant retains full control over their CentralPay Merchant Profile: collections, payouts, balance, API access settings, and document and contract management CentralPay may provide the integrator with portal access strictly limited to technical administration (monitoring of Technical Instructions, configuration settings, and operations necessary for RUN). This access does not allow the viewing of balances, the manipulation of financial transactions, the initiation, modification, or cancellation of payment transactions, or the modification of IBANs or financial parameters. To enable the connection, the merchant provides the integrator with dedicated credentials, which have strictly limited permissions and can be revoked at any time. All technical actions are performed using these credentials, under the merchant’s responsibility. If the Integration Partner is registered with ORIAS as an IOBSP (Intermediary – “MOBSP”) and a separate contractual framework provides for it, they may assist the Merchant in onboarding (e.g., providing a registration link, assisting with the onboarding process). CentralPay retains sole discretion regarding onboarding, account opening, and regulatory compliance checks. Otherwise, the Integration Partner may refer the Merchant to CentralPay for any contractual, pricing, or regulatory questions related to payment services 2. Technical Partner A Technical Partner is an entity that develops a shared solution (e.g., marketplace, SaaS platform) intended for multiple standard merchants. It operates through one or more Points of Sale (POS) registered under its name in CentralPay, to which merchants can be linked. Transactions are processed by CentralPay through an internal “Technical Partner Account” mechanism (used by CentralPay to temporarily receive and process funds prior to their transfer to the final Beneficiary). The Technical Partner has no right to dispose of these funds: it merely transmits commercial data and maintains visibility into the cash flows associated with its POSes, without ever being able to initiate a transfer. 2.1. Responsibilities and Operations The Technical Partner has its own API credentials issued by CentralPay It can transmit technical instructions (sales data, shopping cart, commission, product codes, logistics events, etc.) and track transactions associated with Merchants linked to its Point of Sale (POS) locations He has no access to transfer features (including the endpoint transfer) and cannot view balances or make Payouts: CentralPay decides on and executes transactions and fund transfers. In this context, CentralPay can process “1-for-X” payments: a customer (payer) can pay multiple Merchants simultaneously, and CentralPay then handles the allocation and disbursement of funds to the Merchants. 2.2. Billing CentralPay bills the Technical Partner based on the transactions processed through its Point of Sale (POS) systems, in accordance with the terms set forth in the CCSP and the applicable subscription documents. When a commission is applicable, CentralPay may, based on the transaction data provided and in accordance with the terms of the agreement, allocate the funds: the commission portion is then credited to the Technical Partner’s Commission Account, without the Technical Partner holding any third-party funds To learn more about the Technical Partner model The Technical Partner develops a shared solution (e.g., marketplace, SaaS platform) that integrates CentralPay. It operates through one or more Points of Sale (POS) registered in its name, which process transactions from affiliated standard merchants. Each participating merchant enters into a contract directly with CentralPay (CCSP and subscription documents) and has its own CentralPay Merchant Profile The Technical Partner transmits transaction data (transaction amount, reference numbers, commission, logistics events, etc.) to CentralPay. This data does not trigger any automatic financial action: CentralPay analyzes and verifies the data, then decides whether to process the transaction and initiate the necessary fund transfers. CentralPay may decide to impose a temporary hold and/or set a Release date for the funds to be made available to a Merchant (e.g., pending delivery or shipment), in accordance with its risk policy, network rules, and regulatory obligations. The Technical Partner never holds third-party funds, does not issue any payment orders, and cannot intervene in payouts or account management. It acts neither on behalf of third parties nor in the name of CentralPay. The Technical Partner’s access is limited to the views and features strictly necessary for the transmission and tracking of Technical Instructions; there is no access to the “Technical Partner Account” as an account (no right of execution, no right of disposal, no access to balances) In the event of ORIAS registration as an IOBSP (intermediary – “MOBSP”) and if a separate contractual framework so provides, the Technical Partner may assist merchants in onboarding (providing a registration link, assisting with documentation), subject to prior approval by CentralPay 3. Common Compliance Rules For both models: The Partner is not a Payment Service Provider (PSP), has no authority to execute payment transactions, and does not hold any third-party funds in connection with payment services Accounts, the provision of funds, payouts, and the protection of funds are managed and overseen by CentralPay in its capacity as a payment service provider (PSP) No regulatory delegation of authority to provide payment services (such as a PSP agent) is granted to these partners 3.1. Contractual Relationship with Merchants The Partner (whether a technical partner or integration partner) maintains its own business relationship with its users and remains responsible for the services offered on its platform. It is free to define the terms and conditions of use applicable to its services. For their part, the affiliated merchants: Create their own CentralPay Merchant Profile as part of a personalized Enrollment process Sign the CCSP and the applicable subscription documents (including the designation of a partner, if applicable) directly with CentralPay Acknowledge that the partner may perform certain technical actions as part of its integration (e.g., submitting an order, submitting a shopping cart, following technical instructions), without this constituting a payment order or access to funds CentralPay then works directly with the affiliated Merchant to: creating and managing their account (electronic signature, POS assignment, linking to a partner) the regulatory processing of submitted supporting documents (KYC/KYB, anti-money laundering and counter-terrorism financing) updating documentation or conducting additional verifications necessary for the proper execution of payment services This entire organization is based on a strictly defined contractual framework: The partner signs a dedicated contract with CentralPay that outlines its role and access rights (API/portal) and, if applicable, the commission terms. Affiliated merchants sign their CentralPay contractual documents (CCSP and subscription) directly, in which their affiliation with the partner may be specified The partner’s terms and conditions apply solely to the use of its own platform. They may not interfere with CentralPay’s payment services or supersede CentralPay’s contractual documents. 4. ORIAS Declaration (IOBSP / “MOBSP”) An Integration Partner or a Technical Partner may, if required by its business activities, be registered with ORIAS as an IOBSP (intermediary—“MOBSP”). This status is distinct from thatof a Payment Service Provider (PSP) agent (as defined in Article L.523-1 of the Monetary and Financial Code). Depending on the applicable contractual framework, this registration may allow for: To present CentralPay’s services and assist the Merchant with the Onboarding process To assist with the preparation of the application (without ever replacing the regulatory reviews conducted by CentralPay) This status does not alter the restrictions set forth above in any way: it does not confer any rights to the funds or any authority to execute payment transactions. CentralPay remains solely responsible for onboarding, conducting regulatory checks, and executing payment services. MOBSP (Orias) Declaration ℹ️ Before reading this page, please see the section on onboarding for partners. CentralPay partners based in France operate as intermediaries in banking and payment services (IOBSP), specifically as Intermediaries for Banking and Payment Services (MOBSP). To become a CentralPay MOBSP partner, you must register with ORIAS. CentralPay will then need to register you as its Intermediary. Your part of the process can be completed in a few hours, while CentralPay’s part takes a few days. ORIAS, for its part, may take up to two months to review your application. Although this process is your responsibility, CentralPay can assist you if needed. Please contact our customer service department if you need help. 1. Prepare your data 1.1. Get your certificate of appointment After signing your partnership agreement with CentralPay: Send an email to our customer service department that includes your company name and SIREN number CentralPay will respond with your authorization certificate. You will need this document for step 3.3. 1.2. Gather your supporting documents During Step 3.3 of the registration process, you will need to provide the following supporting documents: Commercial register issued within the last three months Proof of professional qualifications: a degree from an accredited business or management school; an RNCP certification (NCF 122, 128, 313, or 314, levels 7 through 5); or recognition by the CIEP for foreign degrees If you do not have proof of professional competence accepted by Orias, please send an email to our customer service department. CentralPay can help you complete the necessary training. See the attached image, which refers to the Level III – IOBSP category (Level 3). 2. Create your ORIAS account 2.1. Access the form Go to the ORIAS website Scroll down until you see the » How Does It Work? » section . Click » Sign Up« You will be redirected to the registration form. 2.2. Enter the information Enter your SIREN number Enter your business information. Be sure to register as a legal entity. Enter your legal representative’s information Enter the contact information for your legal representative Enter your company’s contact information, including your website if you have one Enter your business address Check all the information you’ve entered, then click » Submit. » 2.3. Log in to your ORIAS account Check your inbox for an email from ORIAS (no-reply-orias@orias.fr). The email contains your username and a temporary password. Return to the ORIAS website Click » Sign In » / » Login » Enter your username and the temporary password provided in your email Follow the instructions on your screen to change your password, then save it After saving your new password, you will be redirected to your ORIAS account page 3. Submit a new registration request 3.1. Register Your Business Click » New Registration » to begin the registration process; a form will appear Select IOB Activity Next, select » Non-Exclusive Intermediary for Banking Transactions and Payment Services (MOBSP)« Click Submit 3.2. Please provide additional information 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 If a different registration type is specified, use your browser’s Back button to return to the previous page and try again. For the first question, select the answer: » I declare that I am not entrusted with any funds. » For the second question, select the answer: » Minor, » indicating to ORIAS that financial services are not your company’s primary business activity For the third question, select the answer: Yes, indicating to ORIAS that your company offers credit (or other banking and payment services) solely as a secondary service Click » Go to the ‘Supporting documents’ step » 3.3. Please provide your supporting documents Submit your Commercial register Submit your authorization form, which is the authorization certificate from Step 1.1 Submit your Professional Competency for « you » (Level I IOBSP), which serves as your proof of professional competence for Step 1.2. Click « Go to the next step« 3.4. Pay your registration fee The final step is to pay your registration fee. Please note that you are paying for registration as a non-exclusive Intermediary for banking transactions and payment services. Your registration cannot be finalized without paying the fee. Choose to pay with your credit card, or click » Select another payment method » to pay by Bank transfer or check. After you’ve paid, click » Download Invoice » to download your receipt Click » Complete Registration » to finalize your registration You will receive your ORIAS registration number by email, confirming that your registration is complete. Please email this number to CentralPay’s customer service department. 4. CentralPay registers you as a MOBSP After you email your Orias registration number to CentralPay, CentralPay will register you as a non-exclusive Intermediary for banking operations and payment services (MOBSP). 5. ORIAS reviews your application ORIAS will review your documents and application to ensure that your file is fully compliant. ORIAS will notify you of its final decision via email. If your application is approved, the email will also include the date on which your MOBSP status will take effect. Please feel free to contact ORIAS by phone (09.69.32.59.73) or email (contact@orias.fr) if you do not receive the information regarding your application in a timely manner. 6. Update your legal notices After receiving approval from ORIAS and becoming a MOBSP, be sure to update your legal notices. Add something similar to the following example to the footer of your website, to your legal notices page, and anywhere else you distribute or sell payment services. [Company Name], a company registered with the Trade and Companies Register (RCS) of [City of Registration] under number [RCS number], and listed in the Single Register of Insurance Intermediaries, Banking and Finance under registration number [ORIAS registration number] as a non-exclusive Intermediary for banking transactions and payment services. Intermediary Merchant Payment Service Provider Agent (PSP Agent) or Electronic Money Distributor (EMD) Certain projects require a specific regulatory framework that allows intermediaries to act in the name and on behalf of CentralPay, an institution authorized and supervised by the ACPR. Two main legal statuses can be utilized in France: Payment Service Provider (PSP) Agent, for projects requiring active management of payment flows (collections, transfers, Payouts), strictly within the scope of a mandate and under the responsibility of CentralPay The Electronic Money Distributor (EMD), for projects based on stored-value/Electronic money mechanisms (C2C platforms, prepaid cards, closed networks, etc.), under a distribution agreement These models can provide the intermediary with a high degree of operational autonomy, but they come with strict regulatory constraints and ongoing supervision, under the responsibility of CentralPay. 1. Payment Service Provider Agent (PSP Agent) 1.1. Typical Use Cases B2B platforms with complex financial flows Financial or cash management tools for third parties SaaS solutions that integrate payment collection and the distribution of funds to beneficiaries 1.2. Role of the Agent The PSP Agent acts as CentralPay’s regulatory representative for the provision of payment services, in the name and on behalf of CentralPay, within the limits of the configured mandate and technical rights. Features (depending on the scope of the contract and user permissions): Business development and promotion of CentralPay services to end users (the “Participants”) Assisting participants in opening CentralPay accounts (via the CentralPay process and/or the agent-guided process, depending on the selected model) Opening, on behalf of the Agent, special accounts dedicated to segregating cash flows (e.g., a Collection Account and a Commission Account), without the Agent becoming the owner of the Participants’ funds Submission to CentralPay of the requests/instructions necessary for the proper performance of services (e.g., allocation of funds, payout requests, refund requests), with CentralPay acting as the sole executor First-level (L1) support management and operational processing provided as an outsourced service, with escalation to CentralPay as needed 1.3. The 3 options in the Agent model (KYC/KYB delegation) CentralPay’s Agent model provides for three levels of delegation regarding registration and KYC/KYB checks. Only one option may be applied at a time, and the selected level is formalized in a contract: Option A – Basic Agent (no delegation of control): The Agent acts as a registered PSP Agent but without KYC/KYB delegation. The Agent is limited to establishing business connections and directs Participants to the processes and tools provided by CentralPay. The Agent is not authorized to collect supporting documents or perform any checks. Option B – Collection Agent (delegation of administrative completeness verification): The Agent is authorized to compile the Participant’s administrative file on behalf of CentralPay. The Agent collects the documents and performs strictly formal checks for completeness (legibility, apparent validity, and consistency of the documents). The Agent does not conduct risk analysis, sanctions/PPE screening, or in-depth analysis; the decision for onboarding remains with CentralPay. Option C – Delegated Compliance Officer (Level 1 delegation): This option is reserved for Agents with a dedicated compliance organization that has been expressly approved by CentralPay. The Agent may collect KYC/KYB documents, verify their completeness and consistency, and perform Level 1 due diligence that is exclusively formal and administrative in nature. The Agent may also participate in the handling of Level 1 alerts (collection, administrative assessment, and transmission) in accordance with strict procedures. CentralPay retains the final decision-making authority and may revoke this option at any time in the event of non-compliance. 1.4. CentralPay remains responsible CentralPay remains fully responsible for the services provided to Participants The Agent acts strictly within the scope of the mandate entrusted to him or her and in accordance with the technical authorizations that have been established Every activity carried out through the platform is auditable, traceable, and documented 1.5. Regulatory Requirements Signing an Agent Agreement and Related Documents Official registration as an Agent in the ACPR registry (via CentralPay) Assessment of the intermediary’s organizational capacity and enhanced requirements (compliance, security, confidentiality, business continuity, internal control) Periodic reporting to CentralPay (business volume, incidents, service quality) and the option for document-based or on-site audits Mandatory training for operational teams, based on the scope of delegation 2. Electronic Money Distributor (EMD) 2.1. Typical Use Cases Peer-to-Peer (C2C) Sales Platforms Prepaid card or gift card networks Stored-Value Loyalty Programs 2.2. Role of the EMD The EMD acts on behalf of CentralPay in the provision and operational management of Electronic money, within the limits set forth in the distribution agreement and the rules established by CentralPay. Features: Connecting CentralPay with end users (the “Sub-merchants” / Electronic money users) Transmission of payment instructions (amount, Beneficiary, fee) to CentralPay, with CentralPay acting as the sole issuer and executor Viewing and tracking transactions through a dedicated monitoring system (e.g., consolidated view/centralized account based on the model), without the right to dispose of the funds Transmission of requests/instructions enabling the transfer of Electronic money between users within a defined framework (closed network, contractual rules), under CentralPay’s control Submission of requests for refund of electronic money at the user’s request, in accordance with applicable rules Maintenance of a Commission Account to collect the fees specified in its Terms of Service 2.3. Functional Limitations The EMD never holds the funds: it acts as an intermediary and cannot retain, store, or use the funds collected It is not permitted to create or issue Electronic money on its own It may not offer payment services that are not explicitly authorized under the contractual framework established by CentralPay He may not subcontract his business activities unless expressly authorized by CentralPay 2.4. Regulatory Requirements Signing of a Distribution Agreement with CentralPay Declaration / compliance procedures carried out on the initiative and under the responsibility of CentralPay, in accordance with applicable regulations Organizational Compliance: Internal Security Measures, Confidentiality, Incident Management, Business Continuity Continuous monitoring by CentralPay, including: Monitoring API Usage / Permissions Regular reports on business activity Mandatory Training for EMD Teams Validation of the Terms of Service provided to users PSP Agent Declaration (ACPR) Role of the ACPR The ACPR (Prudential Supervision and Resolution Authority), which operates under the auspices of the Banque de France, maintains a registry of regulated service providers and their agents. Under the PSP Agent model, CentralPay (an authorized institution) prepares and files the Agent’s notification/registration application and serves as the sole point of contact for the ACPR. Prospective agents cannot submit applications directly to the ACPR: all communications are managed by CentralPay, with the agent’s assistance (submitting documents, answering questions, and providing organizational details). Steps for Registering an Agent StepDescription1. Scope Definition & Pre-qualificationAnalysis of the model, functional scope, and responsibilities; legal validation and compliance on the CentralPay side2. Compiling the FileCollection of company and executive documents, organizational information (processes, controls, security), Terms of Use for Agents and Participants, and business forecasts3. Deposits / ACPR ExchangesDeposit processed by CentralPay; responses to additional requests managed by CentralPay with the assistance of the Agent4. Registration & ActivationOnce the entry has been made in the public registry, CentralPay can activate the Agent in production (until then, the activity remains suspended) 1. Responsibilities of the Agent Asa PSP Agent, the Agent acts in the name and on behalf of CentralPay within the scope defined in the contract. CentralPay remains fully responsible for the provision of payment services and regulatory compliance; however, the Agent must strictly adhere to the operational procedures and requirements established by CentralPay, particularly with regard to AML/CFT and fraud prevention. The Agent is responsible, in particular, for: An understanding of the activities of its merchants/participants and the economic soundness of the transactions initiated through its model Implementation of the expected operational procedures (internal processes, controls, traceability, incident management) and compliance with CentralPay guidelines Fraud prevention (detection, escalation, cooperation) and compliance with due diligence obligations within the assigned scope Cooperation with CentralPay in response to requests for information (inspections, audits, ACPR inquiries), and the prompt submission of requested documents The agent must sign: A PSP Agent Agreement with CentralPay (mandate / outsourcing / supervision / payment flows) The CCSP (Payment Services Framework Agreement) applicable to the Agent in its capacity as a business customer of CentralPay (platform access, subscribed services) Agent Terms of Service (or equivalent documentation) governing the Agent’s relationship with its Participants, including the necessary details regarding payment plans, allocation, Release dates, and any requests for Payouts Depending on the scope of authority (and the applicable appendices), certain functions may be delegated to the Agent (e.g., KYC/KYB data collection and formal checks). CentralPay retains sole decision-making authority regarding onboarding, the opening and maintenance of accounts, and regulatory decisions. 2. Become a CentralPay Partner The process for registering an Agent depends on the completeness of the application, the level of operational delegation, and communication with the ACPR. In practice, it generally takes several weeks and may be extended if additional documents are requested. 2.1. Summary of the Steps StepDetails1. Understanding the Model– Defining the scope and responsibilities– Description of workflows and use cases– Approval by CentralPay’s Legal and Compliance teams2. Commercial Offer– Presentation by CentralPay– Alignment with the scope (technical, operational, compliance)3. Formalization in a Contract– Signing of the Agent Agreement– Signing/acceptance of the CCSP applicable to the Agent4. Testing & Integration– Sandbox access– Technical integration & acceptance testing– Verification of user flows (onboarding/consent/disclosures)5. ACPR Directive– Collection of regulatory documents– Preparation and submission of the application to the ACPR by CentralPay– Handling of questions and requests for additional information6. Deployment– Deployment to production after registration– Testing in the Sandbox / supervised production 2.2. Documents to Submit to CentralPay Phase 1 – Preliminary Compilation of the Case File Agent Terms of Service / Contractual Documentation for Participants (program details, consents, “agent” information, breakdown/commission, Release dates, refund terms) Definition of Regulated Activities, Related Services, and Business Model Organizational Chart (including a breakdown of staff by department) and descriptions of key roles Shareholder Structure / Corporate Governance 3-Year Forecast Transactions Entrusted to CentralPay (volumes, amounts, types) Projected number of enrollments over 3 years Scenario involving the reuse of existing KYC data (migration), if applicable Phase 2 – Filing with the regulator Signing of the Agent Agreement (prior to submitting the application) CentralPay collects and deposits the following items (indicative list): A Commercial register extract less than 3 months old for the company and, if applicable, for its parent or controlling companies Signed, up-to-date Articles of association Color copies of executives’ identity documents Resumes of executives, dated and signed Criminal Records of Executives (if requested) Declarations of No Criminal Convictions by Executives Breakdown of Share Ownership / Shareholder Structure Commercial register for shareholder corporations (if applicable) + group organizational chart (if applicable) Recent General Meeting Minutes (merger, loss of more than 50% of the capital, change in management, etc.) Register of Beneficial Owners (if requested) The ACPR may also request the following: Recent Balance Sheets and Income Statements Current or prior year financial statements Any document deemed useful by the regulator 2.3. Processing Times Processing time by CentralPay: typically ~2 weeks from receipt of a complete application ACPR processing time: varies; can take up to ~2 months, with initial questions typically received within 30 days 2.4. End of Investigation The Agent may begin the activity only after it has been effectively registered (published in the public registry) Prior to registration, CentralPay does not activate the Agent in production and may keep the Agent’s accounts blocked (IN/OUT) The Agent is listed in public records with a registration number or identifier that may need to be included in certain communications or disclosures. 2.5. Special Feature – Telecom Agents for Value-Added Services (premium-rate numbers) Requirement to Provide a Summary of the Minutes by Operator Submission of detailed breakdown of receipts (breakdown) to CentralPay CentralPay implements additional controls to ensure that Merchants/Participants are properly credited 3. Processing Agent Workflows This section defines the rules governing the processing and control of financial flows in an Agent model. It specifies the responsibilities, the account structure, and the additional controls implemented to meet legal and prudential requirements. 3.1. Responsibility of the Institution In accordance with the Monetary and Financial Code (CMF), the Agent acts in the name and on behalf of CentralPay. CentralPay remains fully responsible for compliance with regulatory obligations, particularly with regard to anti-money laundering and counter-terrorism financing (AML/CTF), security, and the protection of funds. CentralPay has implemented an internal control system that covers the entire transaction cycle, including transactions processed through its agents (supervision, auditability, traceability). 3.2. Employee Operating Accounts To facilitate the segregation of funds, CentralPay provides (in its records): Collection Account: a transit account used to receive funds related to transactions initiated through the Agent model, and to facilitate their allocation or distribution to Participants’ accounts Commission Account: intended to receive the Agent’s compensation (commissions) and to pay fees owed to CentralPay Agent Payment Account (optional): intended for the Agent’s day-to-day transactions on its own account (funding, payment of SaaS invoices, etc.), separate from third-party transactions and commissions 3.3. Processing Transactions When an Agent initiates a transaction on behalf of one or more Participants: The Agent provides CentralPay with the information needed for allocation (Participants’ shares, Agent’s commission, reference numbers), either directly as part of the transaction or, at the latest, by the end of the day via batch processing when objectively necessary. CentralPay then carries out, under its own responsibility, the allocation and breakdown processes and, where applicable, the necessary transactions (including the transfer of commissions to the Commission Account), in accordance with the contractual framework and regulatory controls. The Collection Account must remain a transit account: the Agent must not passively hold third-party funds beyond the time strictly necessary for processing (no “floating cash”). Payout procedures (Payout) are managed by CentralPay; the Collection Account is not intended to serve as a “general-purpose” payout account. 3.4. Release dates and estimated amounts How It Works Depending on the contract model, the Agent may submit or configure (as an intermediary authorized by the Participant) a release date (API endpoint: EscrowDate) corresponding to a verifiable contractual event (e.g., delivery, shipment, or completion of services). This date does not trigger any automatic financial consequences: CentralPay retains sole discretion over the release of funds (approval, Refusal, postponement, or other measures). Until the release date: The funds remain protected and unavailable (neither accessible to the Agent nor usable by the Participant) The Participant can view the transaction asan upcoming transaction or a projected amount, with the availability date displayed, without it being credited to the Available balance Compliance Requirements The use of release dates is permitted only if: Clear information: The Agent must explain to its Participants how the Release date works (principles, timeframes, exceptions). Transparent display: The Participant interface must show the transaction date, the expected availability date, and a status of “unavailable before this date.” Provisions in the Agent Terms of Use: The Terms of Use signed by the Participants must specify: The release date corresponds to the contractual date on which the funds become available. That the Participant may not use these funds before that date. CentralPay may refuse, delay, suspend, or restrict the provision of services in accordance with its regulatory obligations, risk policy, and payment network rules. Exception Handling: In the event of a cancellation, refund, unpaid balance, or dispute: If the source transaction is reversed or subject to a refund, the funds will not be made available. In the event of an unpaid transaction (e.g., a credit card chargeback) or a risk, CentralPay may withhold or adjust pending amounts or offset them against future payments. The release date may be postponed (due to a Dispute or incident); the Participant must be notified via their interface or notifications. This mechanism is neither an escrow arrangement under civil law nor a fiduciary custody service: it is a deferred release of funds under the exclusive control of CentralPay. 3.5. Outgoing Payout Management How It Works CentralPay can provide Participants (and, depending on their authorizations, the Agent acting as an authorized intermediary) with various methods for managing Payouts: Automated Payouts (setting up rules/schedules, when provided for in the contract) One-time Payouts (request via portal/API depending on granted permissions) Compliance Requirements When the Agent is authorized to submit payout requests on behalf of its Participants, it must obtain their consent and clearly describe the process in the Agent Terms of Service. CentralPay remains solely responsible for the execution of such requests and may face refusals, suspend them, or regulate them in accordance with its obligations. Key pointsThe system described guarantees:- Strict separation of third-party funds, commissions, and Own accounts- The Agent has no right to dispose of third-party funds- Complete traceability of transactions (auditability)- Active oversight by CentralPay- Compliance with CMF requirements and supervisory expectations Compliance with this policy is mandatory. Any irregularities (fraud, incidents, inconsistencies in allocation, or failure to follow procedures) must be reported immediately to your CentralPay Account Manager. ME Distributor Declaration (ACPR) Electronic money issuers such as CentralPay may authorize Electronic Money Distributors (EMDs) to collect funds and facilitate transactions for the purchase and refund of electronic money within a defined network of Sub-merchants. The registration process for an Electronic Money Distributor consists of two steps: Preparation of the tax return: handled by CentralPay with the assistance of its future EMD Processing of the application by the ACPR: handled by CentralPay. It does not require any specific approval from the ACPR. 1. Responsibilities of the EMD Intermediary CentralPay handles all complex processes or those requiring specialized expertise. However, you remain responsible for ensuring a high standard of compliance with AML/CFT (Anti-Money Laundering and Counter-Terrorist Financing) rules. As such, you must provide CentralPay with assurance regarding the conditions under which transactions processed through you are carried out, including: The Economic Reality of the Transaction The Fight Against Fraud Regulated institutions that use distributors remain responsible for the transactions carried out by those distributors. A clear legal framework has therefore been established. To qualify as an Electronic money Distributor, the following requirements must be met: The execution of an Electronic money Distribution Framework Agreement that defines the relationship between the parties Terms of Use for Electronic Money In the event that an EMD internalizes certain functions assigned to CentralPay as part of its regulatory obligations, a contract for Outsourced Essential Services must be signed. This is the case, for example, if the agent handles KYC management in-house or develops management interfaces that would prevent CentralPay from providing the service without the assistance of the PSEE. 2. Become an EMD Intermediary Becoming a CentralPay distributor involves following a series of steps that take several weeks to complete. Here is a guide to help you better understand the issues related to the acceptance and subsequent processing of distributors’ filing documents. 2.1. Summary of the Steps Understanding the Model Explanation of the services provided by the intermediary Defining Its Business Model Approval by CentralPay’s Risk & Compliance Department Sales Offer Overview Validation Approval of the intermediary by CentralPay’s Risk & Compliance Department Approval of the commercial proposal and pricing terms by the intermediary Test & Intégration Setting Up the Sandbox Project Kickoff Meeting with the Technical Team Technical Integration Phase Review of the ACPR File Gathering the information needed to compile the file Preparing the Application Overview of the Case Go-Live Acceptance Testing Go-Live 2.2. Documents to Submit to CentralPay Coming Soon Open a CentralPay account Onboarding Path CentralPay offers several ways of onboarding, depending on your situation: You are a standard merchant, partner, or intermediary working directly with CentralPay You are a Participant Merchant through an Intermediary, or a standard merchant affiliated with a Technical Partner using the CentralPay solution This guide outlines the various steps based on your profile. Some steps may be adapted or simplified depending on the specifics of your Integration process. 1. Online Merchants The onboarding process consists of six main steps. 1.1. Project Eligibility Our sales teams will work with you to analyze your project: Proposed payment channels (web, mobile, Point of Sale (POS), recurring, etc.) Preferred payment methods (credit card, Bank transfer, SEPA, Pay By Bank, etc.) Integration Methods (API, Portal, Connector) Profile of Your End Customers (B2B, B2C, subscriptions, etc.) Estimated volume (frequency and amounts) 1.2. Preliminary Compliance Analysis of Your Project Based on the information provided, our compliance department conducts a preliminary regulatory analysis aimed at: Check whether your business is compatible with our regulatory framework Identify potential areas of concern (sensitive sectors, complex flows, etc.) Specify any warranties or special conditions in advance 1.3. Signing of the Master Agreement Once this preliminary analysis has been approved, you will be asked to sign the Payment Services Framework Agreement or Electronic money agreement. View the Payment Services Framework Agreement A legal representative may designate an intermediary to sign on their behalf (sample delegation form available upon request) 1.4. Launch of the Integration After signing the contract: You will receive your login credentials for the test environment You can access the CentralPay technical documentation If you are receiving personalized support, an onboarding meeting will be scheduled to set up your initial settings (notifications, Payouts, user permissions, etc.). 1.5. Creating a CentralPay Merchant Profile The legal representative receives a secure registration link to create the profile: It supplements the legal information He accepts the Terms and Conditions of Use The comprehensive compliance analysis is then initiated This analysis may lead to: Requests for additional documents (KYC/KYB, contracts, supporting documents, etc.) A refusal to open the account if the regulatory criteria are not met Profile validation, leading to its activation 1.6. Go-Live Once all steps have been validated, including Integration and any initial invoices: A go-live date has been agreed upon Your profile has been unlocked You can cash out your first transactions 2. Merchants affiliated with a Technical Partner If you are a merchant integrated through a CentralPay Technical Partner or Intermediary Merchant, the process is simplified. You’ll go directly to Step 5: Creating a CentralPay Merchant Profile. 2.1. Single Step: Profile Creation and Regulatory Approval You will receive a registration link sent by your partner or directly from CentralPay. This link allows you to: Please complete the information about your organization Describe your business in detail, the types of end customers you serve, and the estimated volume of your operations Accept the Terms and Conditions of Use and sign the framework agreement The technical aspects (integration, user flow, payment methods) have already been defined as part of the agreement signed with the Technical Partner or Intermediary. CentralPay’s comprehensive compliance review remains mandatory before the profile can be approved. Principles of Reserve The reserve represents the funds held in your CentralPay reserve account to cover R-transactions (rejections, refusals, returns, refunds, chargebacks, and unpaid amounts) when your Payment Account lacks sufficient funds. These settings are determined based on your account’s financial risk profile and are updated based on an analysis of your R-transactions over a sufficient period of time. Recurring transactions via SEPA Direct Debit and credit card are particularly prone to the risk of R-transactions. CentralPay offers three types of protection guarantees that may apply to Merchants, depending on the nature of their contract: 1. Collateral It represents the fixed amount paid at the start of the relationship, intended to cover the credit risk in the event that the Merchant is unable to meet its repayment obligations to its customers. Le détail du collatéral est visible depuis le Portail Marchand : Administration Versements Somme des cautions 2. The account footer In the absence of collateral, a fixed amount may be deducted directly from transactions to guarantee refunds to customers if necessary. The account balance must therefore exceed the account threshold to authorize Payouts (payout). Le détail du pied de compte est visible depuis le Portail Marchand : Administration Versements Seuil fixe 3. The Rolling reserve Depending on the industry and the account settlement processes, a rolling reserve may be automatically established. This is an additional safeguard that sets aside a certain percentage of your collection volume in a reserve account to enable automatic refunds in the event of a Chargeback, fraud, or to cover potential operational fees if your Payment Account is insolvent. This amount belongs to the Merchant’s cash flow and is held for a specified number of days before being released (generally between 90 and 180 days). For example, the variable threshold for the Rolling reserve is 5% of the 90-day collection volume. The daily calculation of the reserve amount is as follows: total amount of transactions collected over the past 90 days * 5% Le détail de la réserve glissante est visible depuis le Portail Marchand : Administration Versements Seuil variable Terms and Conditions of Use The use of CentralPay services is governed by several contractual documents that each account owner must review and accept before activating their account. 👉 View the latest versions of the CentralPay Terms and Conditions currently in effect 1. Two Types of Applicable Terms of Use CentralPay offers two types of accounts, each subject to separate terms and conditions depending on the service subscribed to: Account typeApplicable Terms and ConditionsPayment AccountGeneral Terms and Conditions for Payment ServicesElectronic Money AccountGeneral Terms and Conditions for Electronic Money Services Obligation to Accept: These terms and conditions must be read and accepted electronically by the account owner of each account, whether the account is opened directly by a Merchant or through a CentralPay partner. 2. Master Agreement for Collections on Own Account If an account is used to collect funds on its own account (standard Merchant model), CentralPay also provides a dedicated master agreement template: This agreement sets forth the rights and obligations related to the use of the account for the collection of payments for commercial transactions, It is signed electronically by the legal representative or by an authorized person (by delegation of authority). 👉 View the latest versions of the CentralPay Terms and Conditions currently in effect Using the CentralPay APIs The CentralPay APIs allow you to securely interact with our platform to create accounts, initiate payments, or automate business operations. Our APIs are based on the HTTP(S) protocol and use a JSON response format. Authentication is required for every request, unless otherwise specified. 1. Available APIs CentralPay provides two main APIs: APIDescriptionAccessCore Payment APIManages all functions related to payment transactions (initiation, transfer, refund, etc.)All merchantsAPI OnboardingAllows users to request the creation of Payment Accounts or Electronic Money Accounts (Enrollment, Wallets, etc.)Reserved for Partner Merchants and Intermediary Merchants (Agents, EMD). 2. Environment URLs Two environments are available, depending on your stage of Integration: ComponentTest environmentPRODUCTION EnvironmentCore Payment APIhttps://test-api.centralpay.net/https://api.centralpay.net/API Onboardinghttps://test-onboarding-api.centralpay.net/https://onboarding-api.centralpay.net/ The login credentials are different for the test environment and the production environment. You can also access your Merchant Portal to view information or configure settings: ComponentTest environmentPRODUCTION EnvironmentMerchant Portalhttps://test-backoffice.centralpay.net/https://backoffice.centralpay.net/ 3. API Authentication The CentralPay API uses HTTP Basic authentication, which requires two mandatory elements to be included in every call: API ID (login) API Password All requests must be sent via HTTPS. These credentials are different for the Test environment and production environment. To retrieve your API credentials, follow these steps: 3.1. Step 1 – Access the Merchant Portal For the production environment: https://backoffice.centralpay.net/ For the test environment: https://test-backoffice.centralpay.net/ 3.2. Step 2 – Open the technical section From the navigation menu: Administration > My Account > Technical Direct link to the production version: https://backoffice.centralpay.net/admin/actor/account#technical_tab Direct link (in testing): https://test-backoffice.centralpay.net/admin/actor/account#technical_tab 3.3. Step 3 – Retrievethe API ID (login) On the » Technical » tab, locate the « API ID » field Click on the ID shown to view the details Copy the value shown in the » Login » field ⚠️ This login must be included in the Authorization header of your requests (in Base64 format along with the password; see below). 3.4. Step 4 – Generate an API Password On the same screen, click the » Edit » button Then click » Generate a password« Copy the generated password immediately; please note that it is displayed only once. Finally, click » Update » to confirm the new password If you forget your password, you’ll need to repeat this process to generate a new one. ℹ️ Best Practices:- The username and password can be revoked or regenerated at any time through the Merchant Portal.- Never share these credentials in plain text.- Store the password in a secure password manager after it has been generated. 4. Merchant Public Key (MerchantPublicKey) Some services, such as cardToken, do not require a username or password but only a Merchant public key (MerchantPublicKey) to authenticate the request. Where to find it: Log in to the Production or Test Merchant Portal Go to: Administration >, Technical Copy the key into the » Merchant Public Key » section 5. HTTP Methods and MIME Types Our APIs follow the REST style and support the following HTTP methods: MethodUsagePOSTCreating or Updating an ObjectGETSearching for or Viewing an ItemDELETEDeleting an Object The following MIME types are used: application/x-www-form-urlencoded multipart/form-data The Content-Type must always be specified in the HTTP headers. 6. HTTP Headers to Use Each API call must include a number of correctly populated HTTP headers: HTTP HeaderDescriptionAuthorizationHTTP Basic Authentication Using the API Username and PasswordContent-TypeRequired for all requests. Must be: application/x-www-form-urlencoded or multipart/form-dataUser-AgentHighly recommended; useful for plotting integralsIdempotence-Key (optional but recommended)Prevents duplicates when the same request is resubmitted 7. Idempotence: Ensuring Safe Reissuance The ` Idempotence-Key ` header ensures that the same request sent multiple times with the same key will be processed only once. This is particularly useful in the event of a network error or if you are unsure whether a call was successful. The value of the ` Idempotence-Key ` header is an SHA1 hash of the request’s main business fields. It must be unique for each functional combination of data. Example for a card transaction: ℹ️ Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) The key » Idempotence-Key » is valid for up to 24 hours on our servers 8. HTTP Responses Each response returned by the API contains useful traceability information in the headers: HTTP HeaderDescriptionRequest-IdA unique identifier assigned to each call. This can be provided to CentralPay support in the event of an investigation or technical dispute. The JSON response body depends, of course, on the resource being called (payment, transfer, onboarding, etc.), but the ` Request-Id ` header is always included. 9. Registering Your Domains for CustomForm Services For certain services, such as cardToken, that rely on embedded forms (CustomForm), you must first declare the web domains that host these forms. Without this declaration, any attempt to access the relevant services from an unauthorized domain will result in a 403 (Forbidden) error. Log in to the Merchant Portal: Production Test Go to: Administration > My Account > Technical Click » Edit« In the » Allowed Hosts for Custom Forms » field, enter the URL or domains to allow (e.g., https://www.votre-site.com) Save the changes Once this step is complete, services such as cardToken can be accessed from the registered domains, in accordance with the security rules imposed by CentralPay. Merchant Portal The Merchant Portal is a web interface connected to CentralPay’s APIs. It allows you to view activity and manage your CentralPay Merchant Profile. Partner and Intermediary merchants can also view the activity of their standard and Participant merchants’ profiles. Access: Recette Merchant Portal Production Merchant Portal 1. Features The Merchant Portal allows you to: To view the accounting transactions for the account To view card payments (« Card Transactions ») View SEPA bank transfer payments (« sctTransaction ») To view SEPA Direct Debit payments (« sddTransaction ») To create and view payment requests (« paymentRequest ») To create and configure Customer Profiles To create and configure Point of Sale (POS) Configure Smart Push notifications (templates, scenarios, etc.) To set up and manage payout settings To generate exports and download monthly financial reports For Partner Merchants and Intermediary Merchants only: To create and view enrollment requests (« merchant-enrollment ») View the activity of standard Merchant Profiles or associated Participants Merchants ℹ️ Accounts with "Basic" privileges (Participant Merchants through CentralPay intermediaries) can only view transactions in which they are the Beneficiaries (transfer) and manage their Payout settings (payout). 2. User Profiles on the Portal They represent individuals who have access to one or more CentralPay accounts as well as to all or some of the Merchant Portal’s services. 2.1. Management of « Legal » and « Natural » User Profiles When creating a CentralPay Merchant Profile, the person responsible for completing the registration (an executive or an individual with delegated authority) is assigned a User Profile known as “Legal.” This person thus has full administrator rights for the account, as well as legal authority to configure the account’s most sensitive settings: Payment Account Settings: Change to the Outgoing IBAN (Payout) Change in the Terms for Bank Account Payouts Updating Corporate Documents User Settings: Creating New « Legal » Users Coming Soon Once the account has been created, you can create as many User Profiles as needed by entering their last name, first name, email address, and user role (which defines the permissions they will have on the account). The User Profiles created in this way are named « Natural. » ℹ️ If you have multiple CentralPay accounts and your teams need access to them, create their User Profiles in one of those accounts, then ask CentralPay to assign those profiles to your other accounts. This will give them a single, centralized point of access for all those accounts. Access: Recette Merchant Portal – BO User Profile Management Recette Merchant Portal – BO User Profile Management 2.2. Managing Roles and Permissions for « Natural » User Profiles The permissions for « Natural » user profiles are governed by their user role. The role includes a list of permissions (read-only, create, edit, delete) that can be configured by service (transactions, payment requests, acceptance rules, etc.). These permissions may vary depending on the selected services. Users with the necessary permissions can create roles for each team in their company; however, predefined roles are available out of the box: Standard Admin: Full access to all Merchant Portal features (except for admin features). Please note that this role includes access to sensitive services such as acceptance rules, whitelists, blacklists, creating Merchant Portal users, creating Merchant Portal user roles, and creating and managing API users… Standard Read-Only: Coming soon Coming Soon Contact CentralPay customer service if you need help creating custom roles. Some important details regarding the roles: Roles can be combined; a user can therefore be assigned multiple roles Role permissions are inheritable; therefore, a user with the permission to create other User Profiles can only assign a role that is the same as or lower than their own. Access: Recette Merchant Portal – BO User Role Management Production Merchant Portal – BO User Role Management 2.3. Managing POS Categories If you need to restrict user access to certain POS locations, you can create categories, assign them to your POS locations, and then assign them to your User Profiles. Example: A user with permissions to create payment requests can only do so for the POS locations in their category. They can also view only the payment requests issued through the POS locations in their category. Contact CentralPay customer service if you need help creating custom POS categories. Access: Recette Merchant Portal – Point of Sale (POS) Category Management Production Merchant Portal – Point of Sale (POS) Category Management 3. List of transaction types visible on the Merchant Portal Object TypeValueFunctionAUTHORIZATIONFlow RateAuthorization to place a hold on a credit card balanceTRANSACTIONCreditCard TransactionTRANSACTION_CANCELFlow RateCard Transaction CancellationREFUNDCreditCard Transaction RefundREFUND_CANCELFlow RateCancellation of a Card Transaction RefundDISPUTEFlow RateUnpaid payment due to a Chargeback on a Card TransactionDISPUTE_WONCreditCancellation of an Unpaid Credit Card BalanceTRANSFERFlow RateTransferring Funds Between CentralPay AccountsTRANSFER_CANCELCreditCancellation of Pending TransferTRANSFER_REVERSALCreditConfirmed return of a transferPAYOUTFlow RateOutgoing bank transfer from the CentralPay accountPAYOUT_CANCELCreditCanceling an Outgoing Bank TransferPAYOUT_REVERSALCreditConfirmed Return of an Outgoing Bank TransferSCT_TRANSACTIONCreditIncoming Bank transferSCT_TRANSACTION_CANCELFlow RateCanceling an Incoming Bank Transfer Before It ArrivesSCT_TRANSACTION_REFUNDFlow RateCancellation of an Incoming Bank Transfer After It Has Been Received by the MerchantSCT_TRANSACTION_REVERSALFlow RateCanceling an Incoming Bank Transfer After It Has Been Processed by CentralPayCREDITFlow RateCard credit not associated with a transactionCREDIT_CANCELCreditCanceling a credit card balanceSDD_TRANSACTIONCreditSEPA Direct Debit from an External Bank AccountSDD_TRANSACTION_CANCELFlow RateCanceling a direct debit from an external account before it is processedSDD_TRANSACTION_REVERSALFlow RateRefund of a debit from an external account after it has been postedDEPOSITCreditDepositing Funds into a CentralPay Account Guide: My Accounts The “My Accounts” section of the CentralPay Merchant Portal is where you can manage your accounts (those linked to your Merchant Profile): view account information, track completed and upcoming transactions, review historical balances, and download official monthly statements. This section is particularly useful for accounting teams, the finance department, and those responsible for account reconciliation and month-end closings. Go to the Merchant Portal > My Accounts 1. Available subentries The » My Accounts » section consists of 4 sub-entries: Overview Transactions (including the » Upcoming Transactions » tab) Balance Account Statements ℹ️ Depending on your profile or settings, access to certain sub-entries may vary. The functional logic remains the same. 2. Overview The « Overview » sub-section allows you to quickly identify the selected account and get an immediate snapshot of its financial status. 2.1. Account Information There you’ll find, among other things, key account information: Account owner IBAN and BIC Currency Account type Account Name (a useful filter if multiple accounts are linked to your Merchant Profile) 2.2. Real-Time Balance The « Real-Time Balance » section provides an instant overview of the balance, with a distinction that is useful for day-to-day management: Available Funds (Amount immediately available in your account) Scheduled Transactions (Scheduled Payouts and R-Transactions Scheduled for a Future Date) ℹ️ Depending on your settings, a "reserve account balance" may also be displayed. 2.3. Changes Over Time A graph allows you to observe trends over a period of time by combining: the balance Upcoming Operations (Forecast) 3. Operations The « Transactions » sub-tab displays a list of transactions affecting the account, with a « Upcoming Transactions » tab for transactions that are expected but have not yet been processed. This is the main view for account reconciliation and generating exports. 3.1. Two Date Concepts You Should Know To ensure reliable accounting data, the view generally distinguishes between: Value date: the date on which a transaction is considered to have taken effect for financial and accounting purposes (widely used for reconciliation and financial closings). Transaction Date: Date and time of the event (useful for investigating a timeline or cross-referencing a history). ℹ️ Recommendation: For closing or reconciliation, it’s best to use the “value date.” For an investigation, the “transaction date” is often more meaningful. 3.2. Search for a transaction The search engine allows you to quickly find a transaction based on an accounting criterion, a reference, or an identifier. Essential Filters FilterWhat is it used for?Key Features / Best PracticesAccountLimit the display to transactions for a specific account.This is essential if you have multiple accounts linked to your profile. Start by selecting the account before applying other filters. Period (value date)Filter transactions by a reference accounting period.Working basis for filtering and matching. Recommended: Always specify a time period before adding more specific criteria (reference, amount, etc.). AmountSearch for one or more transactions that match a specific amount.Combine this with » Account » and » Period » to avoid getting too many results, especially if you have a large number of transactions for the same amount.ReferenceFind a transaction using your custom business reference (order, invoice, internal ID, etc.).This is very useful if your teams use a shared ID between your system and CentralPay. It can also be used to group multiple lines related to the same event, depending on your settings. Operation IDSearch for a transaction using its unique CentralPay ID.The most precise filter: Each Operation ID corresponds to a single row. Best used for support or audit investigations when the ID is known. WordingSearch for a transaction by its descriptive title (keyword search).Useful when you don’t have an identifier (Operation ID, reference). Handy for finding an operation “based on what’s visible” in the list. TypeIdentify a category of transactions (credit cards, Bank transfers, direct debits, refunds, Chargebacks, etc.).Ideal for analyzing a specific scope (e.g., only incoming bank transfers) or preparing a targeted export before reconciliation. Advanced Filters Advanced filters are useful for investigations (support/audit), analysis of payouts, and accounting exports. The table below summarizes their purpose and features. FilterWhat is it used for?Key Features / Best PracticesNatureIdentify the accounting and functional origin of a transaction in order to quickly distinguish between Expense, Fund, and Management journal entries. Fees: Transactions related to costs and commissions debited or credited to the account, associated with the use of services (e.g., transaction fees, commissions, refunds, or fee adjustments). Funds: Transactions corresponding to cash flows entering or leaving the account as part of its activity (e.g., customer transactions, Payouts, refunds). Management: Internal CentralPay transactions carried out to adjust or secure the account balance (e.g., reserve transfers, cash pledges, technical adjustments, or adjusting entries). Source IDGroup related transactions together (e.g., a Card Authorization, the associated transaction, and its Refund) in order to analyze the entire customer journey. The Source ID is an identifier used to group related transactions. You can either: • click “Filter by this Source ID” from a transaction in the results list; • or enter the Source ID in the search bar to display all transactions associated with that identifier. Payout NumberView all transactions related to a payout and analyze their breakdown (funds, fees, adjustments, etc.). This filter groups together all transactions associated with a single Payout, making it easier to understand the details and breakdown of that Payout. How do I get the payout number? • Search for thePayout transaction, open its details (action button), then click “View Payout transactions ”: the portal automatically applies the filter and displays the relevant transactions. • Alternatively, you can derive it from the Payout reference: the last digits correspond to the payout number (e.g., PAYOUT-7usge67-153 → payout number = 153). Please note: Details of a payout are available only when automatic payouts are enabled. The first automatic payout may not display the expected details (due to calculation method calibration). Third Party(Third Party / Third-Party Type / Third-Party ID / Third Country)Filter transactions by the counterparty involved (other than you) to analyze cash flows by party.A third party is any legal entity or individual involved in the transaction other than you (for example, a customer, CentralPay, another Merchant, an external account, etc.). You can filter by either: • By a third party: name of the third party (free-form field); • by third-party ID: the third party’s CentralPay identifier (e.g., CustomerID or MerchantID), for a precise search; • By third-party type: one of the following four types: Customer, Merchant, CentralPay, External Account; • By Third-Party Country: the country in which the third party is registered (for example, based on the region where their card was issued if they are a Customer), which can be particularly useful for certain reporting requirements (e.g., VAT filings). 3.3. Debits and Credits Summary This page provides a summary of debits and credits for the filtered period (volume and amount), with the option to break them down by transaction type (expenses, funds, management). This overview allows you to quickly verify the consistency of a period before exporting the data. 3.4. Custom Accounting Exports From the Operations view, you can generate exports in CSV, Excel, or JSON formats. The process is simple: Set your search criteria (account, time period, useful filters). Start the search, then click Export. You will receive the file via email and can download it at any time from the Merchant Portal (under » Export Files« ). See the documentation: Accounting exports and account statements 4. Balance The « Balance » sub-entry provides a historical view of account balances, organized by value date (end-of-day view). You’ll usually find the following there: Closing Balance (End of Day) Upcoming Transactions (Aggregate of Expected Movements) Projected balance (balance reflecting future transactions) ℹ️ Use case: to verify a “current” balance (for closing the books, internal control), or to compare an actual balance with a projected balance. 5. Account statements The « Account Statements » sub-section provides access to the official monthly statements for your CentralPay account. These documents serve as the primary records for accounting purposes and as official documentation. At the beginning of each month, in addition to the invoice, an account statement is generated and made available in the secure area: My Accounts > Account Statements. Two types of statements may be offered: Detailed statement: Shows all transactions for the period. Summary Statement: Groups transactions by day and by transaction type. ⚠️ If you have a large number of transactions, not all of them may appear on the detailed statement. In this case, we recommend exporting the data in CSV, Excel, or JSON format. See the documentation: Accounting exports and account statements 6. Common Actions 6.1. Monthly Closing Go to » Transactions, » and filter by » Account » and » Period » (value date). Review the summary of debits and credits and the breakdown by category (expenses, funds, and administration). Generate an accounting export (with columns tailored to your reconciliation process). Or download the monthly statement directly from » Account Statements » for your records and as an official document (1 statement per account). 6.2. Reconciliation of transactions related to a payout Go to » My Accounts » > » « Transactions, » and, if necessary, select the relevant account first. Locate the payout transaction (PAYOUT), open its details (action button), then click “View payout transactions ”: the Portal automatically applies the “Payout Number ” filter and displays only the transactions associated with that payout. Analyze the breakdown of the payout using the « Type » filter to distinguish between the » Funds, » » Fees, » and « Management » (adjustments) lines, then verify that the total amount is correct. If necessary, generate an export (CSV / Excel / JSON) to archive the payout details or perform Integration with your reconciliation. ℹ️ Alternative: The payout number can also be derived from the payout reference (e.g., PAYOUT-7usge67-153 → payout number = 153). ⚠️ Transaction details for a payout are available only when automatic payouts are enabled. The first automatic payout may not display the expected details (due to calculation method calibration). 6.3. Justify a balance as of a specific date Go to » Balance » to find the closing balance as of the desired date. If necessary, supplement this with the monthly statement in « Account Statements. » Customer Portal The CentralPay Customer Portal is the interface for Customer Profiles (Customer). It allows your customers to: View their payment history To manage their ongoing transactions (updating their default payment method, canceling a subscription, etc.) But also to get in touch with you if you have any questions about a transaction (contact form) This portal is primarily used by customers to manage recurring payments. CentralPay’s compliance teams may require that the URL for this portal be included in the footer or the terms and conditions of your e-commerce site. To log in, your customers have two options: Either through the Customer Portal homepage, by entering the details of one of their payments made using your CentralPay Merchant Profile: Recette Customer Portal Production Customer Portal Ou 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 Marchand : Compte Customer Détail CustomerId Sandbox Customer Portal: https://test-customer.centralpay.net/customer/?uuid=[CustomerId] LIVE Customer Portal: https://customer.centralpay.net/customer/?uuid=[CustomerId] Onboarding Portal The Onboarding Portal enables the creation of a CentralPay Merchant Profile by handling the steps involved in Onboarding: from creating the User Profile to signing the contract, including the collection of KYC/KYB information. It interfaces with CentralPay’s Onboarding API. For Intermediary Merchants, this makes it easy to create Participant Merchant Profiles through a portal hosted by CentralPay, thereby avoiding the need for a full Integration of the Onboarding API. To send a registration link to one of your future participants, you can use the Enrollment request service. Access: Recette Onboarding Portal Production Onboarding Portal Rates Sales Offers CentralPay offers fair and transparent pricing tailored to your transaction volume and business. Rates are on a sliding scale: the higher your transaction volume, the lower the per-transaction fees. Fees are calculated based on the volume of transactions made in the previous month. Two options, depending on your needs Smart Collection Get free access to the payment processing solution: no subscription—you only pay per transaction. Easy Wallet Access additional services (including account/wallet management) with a monthly subscription plan in addition to pay-as-you-go fees. No additional costs associated with card networks All CentralPay plans include the interchange and Card Scheme Fees charged by banks, so you won’t incur any additional costs. 👉 To get a quote based on your volume and contact our sales team: View CentralPay’s public rates Interchange Fees and Card Schemes The interchange fee is the amount charged by the issuer of a payment card (your customer’s bank) to the acquirer (the Merchant’s bank). Card Scheme Fees are the fees charged by card networks (Visa, Mastercard, CB) to operate the service. Terms have been defined to describe the combination of these costs: Interchange+Interchange fees + Card Scheme Fees Interchange++Interchange fees + Card Scheme Fees + merchant service fees (CentralPay) All of CentralPay’s commercial offerings include Interchange+ fees as well as our own service fees, so you won’t incur any additional bank fees when processing your transactions. Unless otherwise specified, a minimum processing fee of €0.15 is deducted from the IC++. 1. Interchange Fees and Card Scheme Fees (Distance Selling, E-commerce) Cards issued in the European Economic Area (EEA) Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateEEECB0,200%0,025%0,225%Personal CardsFlow RateEEEVISA0,200%0,231%0,431%Personal CardsFlow RateEEEMastercard0,200%0,219%0,419%Personal CardsCreditEEECB0,300%0,025%0,325%Personal CardsCreditEEEVISA0,300%0,231%0,531%Personal CardsCreditEEEMastercard0,300%0,219%0,519%Business CardsAllEEECB0,900%0,025%0,925%Business CardsAllEEEVISA1,450%0,070%1,520%Business CardsAllEEEMastercard1,450%0,171%1,621%Personal CardsAllEEEAMEX0,000%1,600%1,600%Business CardsAllEEEAMEX0,000%1,600%1,600% International cards issued outside the European Economic Area Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateInternationalVISA1,150%1,343%2,493%Personal CardsFlow RateInternationalMastercard1,150%1,343%2,493%Personal CardsCreditInternationalVISA1,500%1,499%2,999%Personal CardsCreditInternationalMastercard1,500%0,951%2,451%Business CardsAllInternationalVISA2,000%0,700%2,700%Business CardsAllInternationalMastercard2,000%0,951%2,951%Personal CardsAllInternationalAMEX0,000%2,400%2,400%Business CardsAllInternationalAMEX0,000%2,400%2,400% 2. Interchange fees and Card Scheme Fees (contactless payments) Cards issued in the European Economic Area (EEA) Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateEEECB0,200%0,025%0,225%Personal CardsFlow RateEEEVISA0,200%0,231%0,431%Personal CardsFlow RateEEEMastercard0,200%0,219%0,419%Personal CardsCreditEEECB0,300%0,025%0,325%Personal CardsCreditEEEVISA0,300%0,231%0,531%Personal CardsCreditEEEMastercard0,300%0,219%0,519%Business CardsAllEEECB0,900%0,025%0,925%Business CardsAllEEEVISA1,450%0,070%1,520%Business CardsAllEEEMastercard1,450%0,171%1,621%Personal CardsAllEEEAMEX0,000%1,600%1,600%Business CardsAllEEEAMEX0,000%1,600%1,600% International cards issued outside the European Economic Area Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateInternationalVISA1,150%1,343%2,493%Personal CardsFlow RateInternationalMastercard1,150%1,343%2,493%Personal CardsCreditInternationalVISA1,500%1,499%2,999%Personal CardsCreditInternationalMastercard1,500%0,951%2,451%Business CardsAllInternationalVISA2,000%0,700%2,700%Business CardsAllInternationalMastercard2,000%0,951%2,951%Personal CardsAllInternationalAMEX0,000%2,400%2,400%Business CardsAllInternationalAMEX0,000%2,400%2,400% Support Packages Support packages enable rapid setup, guided by our Integration Support (IS) and Customer Service (CS) teams. The support hours allow you to delegate certain account configuration tasks and request video calls: with the IS team for technical issues, and with the CS team for administrative or functional matters. 1. Smart Collection Integration Support Support for integration, as neededFees (excluding tax)Self-guided, 2 hours of support from the Customer Service teamIncludes (Starter, Medium, and Major Company plans)Standard SupportTechnical analysis of the project by the Integration Services team 2 hours of support from the Integration Services team 2 hours of support from the Customer Service team490 €Advanced SupportTechnical analysis and monitoring by a dedicated Integration Service Manager3 hours of support from a dedicated Integration Service Manager3 hours of support from a dedicated Customer Service Manager€1,990 2. Support for Smart Collection and Easy Wallet integration Support for integration, as neededFees (excluding tax)Self-guided: 3 hours of support from the Customer Service teamIncludes(Medium and Major Partner plans)Standard Support:Technical analysis of the project by the Integration Services team:5 hours of support from the Integration Services team:5 hours of support from the Customer Service team990 €Advanced SupportTechnical Analysis and Monitoring by a Dedicated Integration Service Manager10 hours of support from a Dedicated Integration Service Manager10 hours of support from a Dedicated Customer Service Manager€2,990 3. Hourly support packages offered by customer service Customizable hourly support, which can be used to delegate account configuration, troubleshooting with testing, specific analyses, and more…Fees (excluding tax)2-hour support package 2 hours of support from the Customer Service team, consumables in 30-minute periods.250 €5-hour support package 5 hours of support from the Customer Service team, consumables in 30-minute periods.490 €10-hour support package 10 hours of support from the Customer Service team, consumables in 30-minute periods.€890 Logos and visuals CentralPay Logos CentralPay SVG Logo White CentralPay Logo (SVG) CentralPay Logo PNG White CentralPay Logo PNG PaySecure Logos 1. Logos Classic PaySecure Logo (PNG) White PaySecure Logo PNG Classic PaySecure Logo (JPG) 2. Reassurance visuals (FR/EN) Reinsurance – White Background Reinsurance – Transparent Fund Reinsurance – blank Reinsurance – White Background Reinsurance – Transparent Fund Reinsurance – blank Reinsurance Visuals (FR/EN) Integrate one of these images below your CustomForm payment form, or simply in your website’s footer, to reassure your customers about the security of their payment information. 1. French version Reinsurance 1 – Traditional Reinsurance 1 – White Background Reinsurance 1 – blank Reinsurance 2 – Traditional Reinsurance 2 – White Background Reinsurance 2 – blank Reinsurance 3 – Traditional Reinsurance 3 – White Background Reinsurance 3 – blank Reinsurance 4 – With Amex Reinsurance 4 – Amex White Background Reinsurance 4 – White Amex Reinsurance 5 – With Amex Reinsurance 5 – Amex White Background Reinsurance 5 – White Amex Reinsurance 6 – With Amex Reinsurance 6 – Amex White Fund Reinsurance 6 – White Amex 2. English version Reinsurance 1 – Traditional Reinsurance 1 – White Background Reinsurance 1 – blank Reinsurance 2 – Traditional Reinsurance 2 – White Background Reinsurance 2 – blank Reinsurance 3 – Traditional Reinsurance 3 – White Background Reinsurance 3 – blank Reinsurance 4 – With Amex Reinsurance 4 – Amex White Background Reinsurance 4 – White Amex Reinsurance 5 – With Amex Reinsurance 5 – Amex White Background Reinsurance 5 – White Amex Reinsurance 6 – With Amex Reinsurance 6 – Amex White Fund Reinsurance 6 – White Amex Trust Center Compliance and Operational Resilience Last updated: June 30, 2025 « Our commitment to protecting your transactions and ensuring uninterrupted service. A system that complies with European requirements for security and the continuity of financial services. » 1. Governance and Security Organization At CentralPay, security is not just a set of technical rules, but a governance approach integrated at every level of the company. Our system is based on a clear organizational structure, defined responsibilities, and regular oversight by management. The security policy forms the foundation of this system. It establishes the guiding principles for data protection and service continuity. Updated annually, it is approved by the executive committee and distributed to all relevant employees. Each employee is thus made aware of best practices and commits to complying with the established rules. ICT governance is structured around several key stakeholders. The Chief Information Security Officer (CISO) leads the overall strategy, oversees security controls, and ensures compliance with international standards (PCI DSS, DORA). The technical department is responsible for the day-to-day operation of the infrastructure and ensures the availability of critical systems. Finally, an IT Committee meets regularly to analyze incidents, approve technical and budgetary changes, and ensure continuous improvement in security. This organizational structure allows us to balance operational responsiveness with regulatory requirements. It also provides our customers with clear visibility: security is monitored, managed, and controlled in a documented manner, with responsibilities shared among management, technical teams, and senior leadership. 2. Access Management and Authorizations Access management is one of the cornerstones of CentralPay’s security. Each access right is granted according to a formalized procedure approved by management, to ensure that it strictly corresponds to the employee’s business needs. When a new employee joins the company, their access rights are created in Active Directory and approved by their supervisor; upon departure, they are immediately revoked by the IT department. Security is also based on the principle of least privilege: no one may access more resources than are strictly necessary for their duties. Sensitive access, such as access to critical systems or databases, is systematically subject to multi-factor authentication (MFA). To strengthen this system, periodic reviews of access permissions are conducted every quarter to identify and correct any anomalies. This rigorous approach ensures complete control over identities and access rights, and protects our customers from any risk of unauthorized access to their data. 3. Technical Safety CentralPay’s technical security is based on an architecture designed according to the principles of defense in depth. Each layer—from the network to the applications—benefits from redundant protection mechanisms that are regularly tested. Network Segmentation The infrastructure is divided into several zones: Public DMZ for servers exposed to the Internet (reverse proxy, WAF, SMTP relay); internal zone for sensitive databases and services; an administrative network reserved for administrative operations; Isolated log area for collecting and analyzing logs. Traffic between these zones is strictly controlled by redundant firewalls configured for stateful inspection and with NAT rules. These firewalls incorporate anti-spoofing mechanisms and traffic anomaly detection. The configurations are maintained by the “system and network administrators” group and are reviewed periodically. Physical and Logical Protection Access to the production facilities is controlled by personalized ID badges, video surveillance, and remote monitoring (SECURITAS). Access to the server rooms and the PCI area is restricted to authorized personnel.From a logical standpoint, each system access is authenticated using a unique username, reinforced by MFA. Permissions are granted based on defined roles and in accordance with the principle of least privilege. Surveillance and Intrusion Detection Monitoring is carried out continuously using a combination of tools: Zabbix, for real-time monitoring of servers, applications, and critical data streams; Wazuh, with Snort integration, for intrusion detection and event correlation; ElasticSearch/Kibana, for aggregating and visualizing logs. Critical alerts are sent in real time to technical teams via email and text message, and their resolution is tracked in an incident log. Encryption and Key Management Sensitive payment data (PANs, expiration dates) is encrypted using AES-256 and rendered unreadable via a salted SHA-512 hash for comparison purposes.Key management is performed exclusively within certified hardware security modules (HSMs). The master key is split into several components, held by different individuals, to prevent any risk of compromise. Application keys cannot be exported in plain text, and their use is strictly tracked. By combining these measures, CentralPay ensures a robust technical environment that complies with PCI DSS 4.0.1 requirements and DORA resilience standards. 4. Risk and Incident Management Risk management is a strategic priority for CentralPay’s governance. The approach adopted aims to anticipate threats, reduce the likelihood of their occurrence, and ensure a rapid and effective response in the event of an incident. Risk Management Each year, a risk assessment is conducted using the Ebios methodology, which includes Integration: identifying risks related to security (intrusions, malicious attacks, data breaches) and operations (technical failures, software malfunctions); their analysis in terms of probability and business impact; their classification as Low, Medium, or High; addressing them through preventive measures (patching, network segmentation, encryption, monitoring) or mitigation measures (workarounds, redundancies). The risk register is updated on an ongoing basis and presented at annual management reviews. Incident Management CentralPay has implemented a comprehensive incident management procedure that is aligned with DORA requirements and EBA guidelines: Detection: via automated monitoring (Zabbix, Wazuh) or through internal/external reports (customers, partners). Classification: Each incident is analyzed and classified based on its impact, duration, geographic scope, and criticality. Prioritization: An evaluation matrix (based on urgency of resolution and financial impact) is used to define priority levels ranging from 1 to 4. Regulatory notification: Incidents classified as “major” must be reported to the ACPR: initial report submitted within 4 hours, interim report within 3 business days, final report within 20 days. Transparency and Feedback In addition to regulatory reporting, major incidents are communicated transparently to the affected customers. A post-incident analysis is systematically conducted to identify lessons learned, strengthen existing procedures, and implement corrective actions. This system enables CentralPay not only to respond effectively to incidents, but above all to continuously strengthen its resilience and the trust of its customers. 5. Resilience Tests CentralPay believes that the resilience of an infrastructure is not proven solely on paper but through regular, documented tests. That is why the platform conducts various test scenarios designed to measure its security level, its disaster recovery capabilities, and the responsiveness of its teams. Penetration Testing Penetration tests are conducted on a regular basis by internal teams and specialized service providers to benefit from an independent external perspective. Three methodologies are used: Black-box: The auditor has no prior information, which simulates the behavior of an external attacker; Grey-box: The auditor has partial information (limited user accounts, simplified architecture diagrams) to simulate a realistic scenario involving a malicious user; White-box: The auditor has a complete understanding of the architecture, enabling an in-depth analysis and the detection of complex vulnerabilities. These tests cover both the network and application layers, with a particular focus on the vulnerabilities listed in the OWASP Top Ten. The results are documented in detailed reports, which include a classification of vulnerabilities by severity (Critical, High, Medium, Low) and recommendations for remediation. Network Segmentation Tests CentralPay also performs segmentation tests to verify that the logical partitions between zones (DMZ, internal, administration, logs) are effective and that no unauthorized traffic is possible. These tests ensure that, even if an exposed zone is compromised, the attacker cannot access critical systems. Simulation Exercises and PCA Switches In addition to technical tests, crisis simulation exercises are conducted. These exercises involve several teams (technical, compliance, management) and simulate attack scenarios or major outages. The goal is to test not only the robustness of the infrastructure but also the quality of coordination and communication during a crisis. Finally, PCA switchover tests are conducted at least once a year. These tests verify that critical services can be transferred to the secondary site within the specified time frame and that the teams are fully proficient in the recovery procedures. These various tests, which are documented and monitored, demonstrate CentralPay’s commitment to a process of continuous improvement in its resilience. 6. High Availability and Disaster Recovery Planning The availability of payment services is an absolute requirement for CentralPay. To ensure seamless continuity, the company has designed its architecture around the principles of high availability (HA) and a multi-site Business Continuity Plan (BCP). Multi-site architecture CentralPay has two separate sites: a primary production site and a secondary site dedicated to the disaster recovery plan. These sites are operated by different providers, incorporate BGP routing, and use Internet connections provided by multiple carriers, which reduces the risk of dependence on a single provider. Component Redundancy Each critical component is deployed with redundancy: Firewalls and load balancers: configured in active/active or active/passive mode, allowing for automatic failover in the event of a failure; Application servers: distributed across multiple nodes to ensure fault tolerance; Databases: replicated in real time between the production and disaster recovery sites, ensuring a near-zero RPO; Application proxies and WAFs: deployed at the front end to handle traffic and filter out threats, with automatic failover. Recovery Objectives (RTO and RPO) RPO (Recovery Point Objective): Thanks to continuous replication, critical data can be restored to a state that is virtually identical to the one immediately prior to the incident; RTO (Recovery Time Objective): Automatic failover mechanisms ensure that critical applications are back online within a few minutes to a maximum of one hour, depending on the type of component. Failover Scenarios and Tests The PCA is designed to address various scenarios: hardware failure, network outage, data center unavailability, and major cyberattacks. Each scenario has a documented action plan. Regular failover tests confirm that RTO/RPO commitments are met in practice. Through this system, CentralPay assures its customers that, even in the event of a major incident, their payment transactions will remain available and secure. 7. Continuity and Backups The continuity of CentralPay’s services does not rely solely on the redundancy of its infrastructure and its business continuity plan. It is also ensured by a strict data backup and recovery policy. Daily, encrypted backups Critical data—whether payment data or the platform’s operational data—is backed up daily. These backups are encrypted using AES-256, in accordance with international standards, to ensure their confidentiality in the event of unauthorized access. Secure Storage and Rotation Backups are stored using a redundancy and rotation system: A copy is stored on internal backup servers, which are protected by restricted access; A copy is moved and stored in a secure safe; Other copies are stored off-site to ensure availability even in the event of a physical disaster affecting a site. Regular rotation of storage media ensures that backups remain reliable and usable. Restoration Tests The value of a backup is not measured solely by its preservation but also by its ability to be restored. CentralPay therefore conducts regular restore tests, which verify not only the integrity of the backed-up data but also how quickly it can be restored to the production system. Thanks to this approach, CentralPay ensures that, even in the event of a major incident, its customers will not suffer any significant data loss and will be able to resume their operations without prolonged disruption. 8. Management of Critical Service Providers CentralPay recognizes that the security and continuity of its services also depend on the strength of its partners. That is why the company has implemented strict governance procedures for managing critical service providers, particularly those directly involved in hosting, data processing, or payment services. Audits and Certifications Each year, an audit is conducted on the primary hosting provider and service providers deemed critical. The goal is to verify the robustness of their security measures, their business continuity capabilities, and their regulatory compliance.For service providers that process, store, or transmit card data, CentralPay requires PCI DSS certification and obtains an Attestation of Compliance (AOC) that is updated annually. Contractual Provisions and Oversight Contracts with critical service providers include specific DORA clauses, covering, in particular: service level agreements (SLAs regarding availability and performance), safety requirements, the implementation of a business continuity plan (BCP) and disaster recovery plan (DRP) compatible with CentralPay’s, immediate notification in the event of a security incident. CentralPay maintains an up-to-date inventory of all its critical service providers and their associated services. This inventory is regularly updated and serves as the basis for reporting to the ACPR and other supervisory authorities. Sustainability and Continuous Improvement Finally, the relationship with service providers is not limited to one-time reviews. The results of audits, continuity tests, and any incidents are presented to the governance committee. Action plans are then developed to strengthen the security or availability of outsourced services. As such, CentralPay guarantees its customers that third parties who contribute to its critical services are subject to the same standards as its own teams. FAQ - Compliance and Resilience Governance and Responsibilities Who is responsible for security at CentralPay?Security is overseen by our CISO (Chief Information Security Officer), who reports directly to the President. The CISO relies on an ICT committee and a risk management framework aligned with ISO 27005 and the DORA regulation. The CISO can be reached at the following address: rssi@centralpay.com Do you have a documented security policy?Yes. Our Information System Security Policy (ISSP) defines the rules that apply to all our teams and service providers. It covers data classification, access management, system protection, incident management, business continuity, and oversight of IT service providers. How do you integrate security into your strategic decisions?Security and resilience are integrated into our comprehensive risk management framework. This framework includes ISO/DORA-aligned risk mapping, a risk appetite policy, and monitoring through key risk indicators (KRIs). Security decisions are reviewed by the Security & Compliance Committee and approved by senior management. How do you monitor your security systems?We follow the three lines of defense model: business teams perform operational controls, compliance and ongoing monitoring provide oversight, and periodic audits conduct an independent assessment. Data and System Protection How do you protect CentralPay’s data and systems?All data is encrypted: TLS 1.2/1.3 for data in transit and AES-256 for data at rest. Card data is processed exclusively in a PCI DSS Level 1-certified environment and immediately tokenized, so that no full card numbers are stored in plain text. Our infrastructure is segmented and protected by firewalls, IDS/IPS, and SOC monitoring. Access to sensitive environments is restricted, follows the principle of least privilege, and is protected by MFA. All workstations are encrypted, secured by antivirus/EDR software, and updated automatically. Safety Tests and Inspections Do you conduct security tests?Yes. We regularly conduct independent penetration tests, automated vulnerability scans, and external audits (including PCI DSS). These checks help us identify vulnerabilities and continuously strengthen our security measures. How do you handle logging?Logs are retained for 24 months, time-stamped, protected by encryption, and integrated into our security information and event management (SIEM) system. Access to them is strictly limited to authorized teams. How do you manage vulnerabilities and updates?We follow a strict patch management policy: critical vulnerabilities are patched within 24 hours, high-severity vulnerabilities within 7 days, and other patches are applied on a scheduled basis. Compliance is monitored through scans and compliance reports. Organizational Structure and Safety Culture How do you raise your employees’ awareness of safety?All employees undergo mandatory annual training on cybersecurity, the GDPR, and anti-money laundering and counter-terrorism financing (AML/CTF) regulations. Regular awareness campaigns (phishing exercises, e-learning) complement this program. Technical teams receive more in-depth training. How do you ensure that access remains restricted?We follow the principle of least privilege: each user has access only to the resources necessary for their role. Permissions are justified, temporary, and systematically tracked. How do you manage administrator access?Access to elevated privileges is limited to a small number of individuals, is subject to MFA, is tracked, and is reviewed regularly. Such access is granted only for specific purposes and for a limited period of time. Proactive Planning and Continuous Improvement How do you anticipate emerging threats?We conduct active cybersecurity monitoring through bulletins from CERT-FR, ANSSI, software vendors, and cloud providers. This threat intelligence activity allows us to adapt our defenses in real time. How do you continuously improve your security?Every incident, audit, or test is followed by a documented review and a corrective action plan. Our policies and procedures are reviewed annually to integrate these lessons learned and regulatory changes. Resilience and Continuity How do you ensure the continuity of your services?We have an Emergency and Business Continuity Plan (PUPA) that includes a Business Continuity Plan (BCP) and a Disaster Recovery Plan (DRP). These plans are regularly tested through crisis drills and failover scenarios. How do you ensure availability and redundancy?Our services are based on a redundant architecture spanning multiple European regions, ensuring availability of more than 99.95%. What are your RPO and RTO goals?CentralPay regularly defines and tests its business continuity objectives: RPO (Recovery Point Objective): less than 1 minute for critical systems, thanks to real-time data replication. RTO (Recovery Time Objective): less than 15 minutes for the restoration of essential services, thanks to our redundant architecture and failover procedures.These objectives are validated during our business continuity and disaster recovery drills and incorporated into our DORA framework. How do you manage your backups?Backups are encrypted, isolated, replicated, and regularly tested to ensure they can be restored. They follow the same security policies as production environments. Do you conduct resilience tests in accordance with DORA?Yes. We conduct crisis exercises (simulated cyberattacks, critical outages), load and performance tests, failover scenarios, and—for critical functions—advanced tests such as TLPT (Threat-Led Penetration Testing). Relationships with Service Providers How do you select your critical service providers?Each service provider undergoes due diligence (security, compliance, data location, SLA). The contracts include GDPR and DORA clauses (security, incident notification, right to audit). How do you monitor your service providers over time?We maintain a DORA registry that lists all of our IT service providers and identifies critical ones. These critical providers are subject to enhanced oversight, including regular reviews, audits, ISO/PCI certifications, and resilience assessments. Incident Management What happens in the event of a security incident?We follow an incident management procedure that includes: detection, classification, containment, remediation, and forensic analysis. If necessary, we notify the CNIL within 72 hours and inform the affected customers. Every major incident results in a post-incident review and a corrective action plan that is monitored until the incident is closed. Privacy Policy Last updated: September 15, 2025 At CentralPay, the protection of personal data is at the heart of our commitments. As an Electronic money Institution authorized by the ACPR (authorization No. 17138), we process personal data in accordance with the General Data Protection Regulation (GDPR – EU 2016/679) and applicable French law. This policy clearly and transparently describes how we process personal data in connection with the provision of our payment services. 1. Who is the data controller? The data controller is:CentralPay – 19 rue Edouard VAILLANT – 37000 TOURSDPO contact: dpo@centralpay.com 2. What data do we collect? CentralPay collects only the data strictly necessary to provide its payment services and to comply with its legal and regulatory obligations. Identification Information Last name, first name, title. Date and place of birth. Nationality. Position (executive, legal representative, UBO). Contact Information Email address. Phone number (cell or landline). Business or personal mailing address (as applicable). Payment Information Bank account information: IBAN and BIC. Card data: card number (collected only in a PCI DSS-compliant environment and immediately tokenized), expiration date, card brand (Visa, Mastercard, etc.), issuing country, last 4 digits. Important: CentralPay never discloses the full card number or the security code to the Merchant. Transaction Data Transaction ID, date, and time. Amount, currency, payment status. Order reference (orderId). Transaction history (one-time payments, recurring payments, installment payments, refunds). Security and Anti-Fraud Data Connection IP address. Technical profile of the device (browser, language, screen resolution) during 3DS authentication. Internal anti-fraud results and scores. Possible monitoring status (technical blacklist). KYC/AML-CFT Compliance Data Identity documents (NIC, Passport, Residence permit). Proof of address (utility bill, receipt). Company legal documents (Commercial register, Articles of association, Register of Beneficial Owners). Information on UBOs (names, ownership percentages). Technical Data (Service-Related) Application and technical logs (API logs). Processing events (webhooks sent to Merchants). Technical tracking identifiers (transactionId, customerId, etc.). 3. For what purposes do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. Each processing activity is based on a legal basis that complies with the GDPR. Payment Processing and Service Management Purpose: To process your payment transactions (SEPA, credit cards, Direct Debit, Bank transfers, recurring or installment payments), handle billing, and manage cash flows. Data involved: bank account information (IBAN, BIC), card data (token, schema, country, masked PAN), transaction IDs, amounts, currencies, order references. Legal basis: performance of the contract (Art. 6.1.b of the GDPR). Identity Verification and Regulatory Requirements (KYC/AML-CFT) Purpose: To comply with legal obligations regarding the fight against money laundering and terrorist financing (AML/CFT) and with the supervisory requirements of the ACPR. Data covered: identification data (last name, first name, date of birth, nationality), identity documents, Proof of address, legal documents of the company, information on UBOs. Legal basis: legal obligation (Art. 6.1.c of the GDPR; Art. L561-1 et seq. of the Monetary and Financial Code). Fraud Prevention and Detection Purpose: to secure transactions, prevent unauthorized or fraudulent payments, and enforce strong authentication rules (PSD2/3DS). Data involved: IP address, technical fingerprint of the browser/device, card scheme and issuing country, results of anti-fraud checks, and any monitoring status. Legal basis: legal obligation (PSD2) and legitimate interest (payment security—Art. 6.1.f of the GDPR). Customer Relationship Management and Support Purpose: to communicate with customers and users (confirming transactions, sending payment links, sending notifications), respond to support requests, and follow up on complaints and Disputes. Data involved: email, phone number, customer credentials, and associated transaction data. Legal basis: performance of the contract (Art. 6.1.b GDPR) and legitimate interest (customer relationship management). Compliance with accounting, tax, and reporting requirements Purpose: to retain certain data in order to comply with legal retention requirements (Commercial Code, General Tax Code) and to produce accounting and evidentiary documentation. Data in question: transactional data (amounts, currencies, dates, statuses, references), and bank account information related to transactions. Legal basis: legal obligation (Art. 6.1.c GDPR). Improving Our Services and Technical Security Purpose: To analyze the use of our services, optimize performance, and ensure resilience and cybersecurity, in accordance with the DORA regulation. Data in question: technical logs, events (webhooks), technical identifiers, and anonymized usage statistics. Legal basis: legitimate interest (Art. 6.1.f of the GDPR). 4. What is the legal basis for this processing? Each data processing activity is based on a clearly defined legal basis: Contract performance (Art. 6.1.b of the GDPR): processing payments, account management, customer relations, and support. Legal obligation (Art. 6.1.c of the GDPR): AML/CFT compliance (Art. L561 of the French Monetary and Financial Code), accounting and tax obligations (Commercial Code, General Tax Code), regulatory obligations (PSD2, ACPR). Legitimate interest (Art. 6.1.f of the GDPR): fraud prevention, system security, dispute resolution, and service improvement. Consent (Art. 6.1.a GDPR): only for certain optional marketing communications or as required by law. 5. How long do we retain your data? CentralPay follows a strict data retention schedule that complies with the requirements of the GDPR, the Monetary and Financial Code, and the Commercial Code. We distinguish between: a) Financial Transactions (Accounting Entries and Supporting Documents) Retained for 10 years in accordance with accounting and evidentiary requirements (Art. L123-22 of the Commercial Code). Data involved: transaction IDs (transactionId), date, amount, currency, status, order ID (orderId). This information is required for contractual purposes and accounting and is not anonymized. (b) Personal data associated with transactions Stored for a maximum of 24 months and then irreversibly anonymized. Data in question: Payer’s contact information (email, phone number), IP address, browser/device fingerprint (3DS), Card data (token, masked PAN, expiration date, schema, issuing country), Anti-fraud results (score, blacklist status). This information is no longer retained beyond 24 months because it is no longer required by law or under any contract. (c) Payment card data Stored for up to 24 months after the card’s expiration date, then deleted or anonymized. CentralPay never discloses the full PAN or the CVC outside its PCI DSS environment. d) Bank Account information (IBAN/BIC) and SEPA direct debits Retained for the duration of the term of office plus 10 years (contractual evidence), then deleted or anonymized. e) KYC / AML-CFT Data Retained for 5 years after the end of the business relationship (Art. L561-12 CMF), then deleted or anonymized. Data covered: identity documents, proof of address, company legal documents, and information on UBOs. f) Subscriptions and installment payments Retained for the duration of the subscription plus 5 years (for evidentiary purposes), then anonymized. Data involved: subscription ID, payment schedule, link to payment method. g) Technical logs and webhooks Stored for up to 24 months, then anonymized. Data involved: API logs, processing events, technical identifiers (customerId, eventId), statuses, timestamps. 6. Who are the recipients of your data? Your data may be shared only with: CentralPay internal services (operations, compliance, support, security). Payment partners and financial institutions (acquirers, SEPA settlement systems, card schemes). Technical service providers (cloud hosting, KYC provider, SMS/email delivery) that are subject to contractual terms compliant with the GDPR. Competent authorities (ACPR, TRACFIN, Banque de France, judicial authorities). We never sell your data to third parties. 7. Where is your data processed? The data is hosted in the European Union, primarily in France. In the event of a transfer outside the EU (e.g., SMS or email service provider), standard contractual clauses (SCCs) and additional measures are implemented to ensure an equivalent level of protection. 8. What are your rights? In accordance with Articles 15 through 22 of the GDPR, you have the following rights: Right of access, correction, and deletion. Right to restriction, objection, and data portability. Right to withdraw consent (if applicable). The right to file a complaint with the CNIL. You can exercise your rights by writing to: dpo@centralpay.com (response within 30 days). 9. Safety CentralPay implements a security policy aligned with PCI DSS, ISO 27001/27005 standards, and the European DORA (Digital Operational Resilience Act) regulation. Our measures cover the entire lifecycle of data and payment services to ensure their confidentiality, integrity, and availability. Security is primarily ensured through clear governance and proactive risk management. We have a risk management framework approved by senior management, which includes a risk appetite policy, a risk map aligned with ISO and DORA standards, and risk indicators that are monitored regularly. This framework is implemented through a three-lines-of-defense structure and overseen by a security and compliance committee. Data protection is based on systematic encryption, both in transit (TLS 1.2/1.3) and at rest (AES-256), with centralized key management. Payment data is processed exclusively in a PCI DSS Level 1-certified environment and undergoes irreversible tokenization, which prevents any exposure of full card numbers or security codes. In addition, we enforce strict policies for the automatic deletion and anonymization of personal data once the retention periods specified by the GDPR have expired. Access to systems is strictly controlled through centralized identity management based on the principle of least privilege. Every employee is required to undergo strong two-factor authentication (MFA), and access permissions are reviewed regularly to ensure they remain appropriate. Our infrastructure is continuously monitored. Sensitive operations are comprehensively logged and time-stamped, and a real-time monitoring system, coupled with an SIEM, enables us to quickly detect security incidents. Operational resilience is ensured by a business continuity framework aligned with DORA. CentralPay has implemented an Emergency and Business Continuity Plan (PUPA) that includes regularly tested disaster recovery (PCA) and business continuity (PRI) components. Penetration tests and crisis management exercises are conducted annually, while a strict ICT outsourcing policy ensures the ongoing evaluation of critical service providers and the maintenance of a regulatory information registry. Incident management follows a formalized procedure for detection, classification, and resolution. In the event of a major incident, we comply with the regulatory reporting deadlines for the ACPR and the CNIL, and a systematic review is conducted to continuously improve our security measures. Finally, CentralPay is committed to continuous improvement. Internal and external audits, including independent PCI DSS and cybersecurity audits, are conducted regularly. Our ongoing monitoring and periodic audit procedures are reviewed annually to ensure their effectiveness and compliance with international standards and regulatory requirements. 10. Policy Update This policy may be amended to reflect changes in data processing practices and legal requirements. Any updates will be posted on our website and, if necessary, communicated to the affected customers. Subcontractors In providing its payment services, Centralpay relies on a number of processors as defined in Article 4 of the General Data Protection Regulation (GDPR). These processors may be required to process personal data on behalf of Centralpay, exclusively in accordance with documented instructions and within the scope of the purposes of the service to which they contribute. This page lists the subcontractors that may be involved in the processing of personal data belonging to Account Owners, Merchants, and Payers who use Centralpay services. It is updated as our system evolves. SubcontractorPurposeCountry Where Data Is ProcessedData CategoriesAmazon Web Services (AWS)Cloud hosting for certain services and application dataIrelandAll data processed by the departmentsComply Advantage (IVXS)AML/CFT Screening and Verification Against International Sanctions ListsRomaniaIdentification InformationDotfileManagement of onboarding processes, collection and updating of KYC/KYB recordsFranceIdentification Information, Supporting DocumentsGpayments3D Secure authentication for Card Transactions (second service provider)IrelandCard data, authenticationInnovestThe group’s parent company; internal recipient for the purposes of governance, audit, compliance, and consolidated reportingFranceGovernance and Reporting DataMicrosoftManagement and Control of Cash FlowsFranceTransaction and Accounting DataNetcetera3D-Secure Authentication for Card Transactions (Access Control Server)SwitzerlandCard data, authenticationOnfidoAutomated verification of identification documents and biometric data (facial recognition, liveness detection)EuropeIdentification data, biometric dataQomboVerification of Beneficiary (verification of the beneficiary of a SEPA bank transfer)FranceIdentification Information, IBANTanla Digital LabsSending text messages (authentication codes, notifications)EuropePhone number, message content Supervision of Subcontractors and Change Control Procedures In accordance with Article 28 of the GDPR, all processors engaged by Centralpay act exclusively on the basis of documented instructions, are bound by strict contractual obligations regarding confidentiality and security, and may not use personal data for any purposes other than those defined by Centralpay. Any substantial change to this list will be announced in advance by any appropriate means (notification on the Merchant Portal, email, or a public update to this page), allowing the individuals concerned, if applicable, to object to such changes. If you have any questions regarding the processing of your data or the exercise of your rights, you can contact our Data Protection Officer at: dpo@centralpay.eu. FAQ - Privacy Policy Governance and Responsibilities Data Controller and DPO Contact CentralPay, an Electronic money Institution (EMI), is the data controller for its payment services.DPO contact: dpo@centralpay.com (response within 30 days). Data Collected What data do we collect? As part of the provision of its payment services and in order to comply with its legal obligations, CentralPay collects only the data that is strictly necessary. This data varies depending on the type of transaction (payment, KYC verification, fraud prevention, customer support). It falls into several categories: Identifying information: last name, first name, title, date and place of birth, nationality, and role (e.g., legal representative, executive, or Beneficial Owner—UBO). Contact information: email address, phone number, mailing address. Payment information: bank account details (IBAN, BIC); card information processed exclusively in a PCI DSS-certified environment (full card number and CVC collected solely for tokenization and never exposed in plain text), expiration date, card brand (Visa, Mastercard, etc.), issuing country, and last 4 digits. Transaction data: transaction ID (transactionId), date and time, amount, currency, status, order ID (orderId), transaction history (one-time payments, recurring payments, split payments, refunds). Security and anti-fraud data: IP address, 3DS fingerprint (browser/device), anti-fraud results and scores, and any technical monitoring status. KYC/AML-CFT compliance data: official identity documents, proof of address, legal documents pertaining to the company (e.g., Commercial register, Articles of association), information on ultimate Beneficial Owners (UBOs and ownership percentages). Technical data: application logs (API logs), events sent to Merchants (webhooks), technical identifiers (customerId, eventId). CentralPay does not collect any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.), unless required to do so by law in exceptional circumstances. Purposes Why do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory requirements: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of anti-fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and disputes. Accounting and tax obligations: retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services; strengthening operational resilience in accordance with the DORA regulation; and continuously improving the customer experience and the security of our systems. Legal Basis What is the legal basis for our data processing? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory obligations: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and Disputes. Accounting and Tax Obligations: Retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services, strengthening operational resilience in accordance with the DORA regulation, and continuously improving the customer experience and the security of our systems. How long do we retain your data? CentralPay follows specific retention periods based on legal requirements and operational needs. At the end of these periods, the data is either deleted or irreversibly anonymized. Financial transactions (supporting documents): retained for 10 years, in accordance with the Commercial Code. Personal data associated with transactions (email, phone number, IP address, 3DS fingerprints, masked PAN, card token, fraud scores): retained for a maximum of 24 months, then deleted or anonymized. Card data (token + metadata): retained for up to 24 months after the card’s expiration date. The full PAN and CVC are never stored in plain text. Payment Requests (emails/text messages): Retained for up to 24 months. Subscriptions and installment payments: retained for the duration of the subscription plus 5 years. Bank Accounts (IBAN/BIC) and SEPA direct debits: retained for the duration of the mandate plus 10 years (contractual evidence). KYC / AML-CFT: Data retained for 5 years after the end of the business relationship (Art. L561-12 of the French Monetary and Financial Code). Technical logs and webhooks: retained for 24 months. Beyond these time periods, CentralPay retains only anonymized data or data that is strictly necessary to comply with a legal obligation. Location and Transfers Where is your data processed? The data processed by CentralPay is primarily hosted in the European Union—mainly in France—in environments certified to PCI DSS and ISO 27001 standards. To date, CentralPay does not transfer personal data outside the European Union.If a transfer outside the EU were to become necessary in the future (for example, to an SMS or email service provider), it would be governed by: an impact analysis of the transfer, the implementation of the European Commission’s Standard Contractual Clauses (SCCs), additional technical measures (encryption, segmentation, access control), and transparent communication with our customers. Data Transfers Outside the EU: How Do We Handle Them? To date, CentralPay does not transfer personal data outside the European Union.All data is hosted and processed within the EU, primarily in France and within certified (PCI DSS) infrastructure. If, in the future, a transfer outside the EU were to be necessary (for example, to an SMS or email service provider), CentralPay undertakes to: conduct an impact analysis of the transfer, apply the European Commission’s Standard Contractual Clauses (SCCs), implement additional technical measures (encryption, segmentation, access control), and keep its customers fully informed. Nature of the Data Do we process sensitive data? No. CentralPay does not process any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.). We collect only the information strictly necessary to process payments and comply with our legal obligations (anti-money laundering and counter-terrorism financing, ACPR supervision). Do we collect data from minors? CentralPay provides its services exclusively to businesses (B2B). We therefore do not knowingly collect data from minors.If, indirectly, a minor is required to make a payment, data processing is limited to the necessary payment information (e.g., bank or card details), and is always carried out under the responsibility of the minor’s legal guardian when verification is required. GDPR Compliance Do we conduct impact assessments (PIA)? Yes, we conduct AIPDs (PIAs) for processing operations that may pose a high risk (e.g., KYC, anti-fraud/3DS, card tokenization, longitudinal analyses). Residual risks and mitigation measures are documented. How do we ensure data minimization and privacy by design? We collect only the fields necessary for each specific purpose, segregate environments (LIVE/pre-production), do not use any real data in testing, limit webhook payloads to the minimum necessary, and automatically purge or anonymize data upon expiration. How does CentralPay document its GDPR compliance? Public GDPR Policy (website). Record of data processing (internal, up-to-date). PIA on High-Risk Processing (Internal). Policies/procedures (security, data deletion, incidents, rights). Internal Control Reports (ACPR). Subcontractors How do we supervise our service providers? Each service provider is subject to contractual requirements (Art. 28): security measures, confidentiality, incident reporting, auditability, data location, and controlled sub-contracting. Initial due diligence + regular reassessment (security, SLA, compliance). Which service providers do we use? Upon request and after signing an NDA, we can provide an up-to-date list of our service providers, organized by category (hosting/cloud, KYC, email/SMS delivery, fraud prevention, support), along with their geographic locations. How do we select our key service providers? CentralPay has a policy for managing subcontractors that complies with both the GDPR (Article 28) and the DORA Regulation. During the selection process, we conduct a thorough due diligence review covering security (certifications, technical measures), regulatory compliance (GDPR, PSD2, AML/CFT), data location and legal framework, the service provider’s financial stability, and the service levels (SLAs) offered. For critical service providers, we examine in particular their integration into the payment services value chain and their role in ensuring operational resilience. Each contractual relationship includes clauses that comply with Article 28 of the GDPR (confidentiality, security, incident notification, and restrictions on cascading subcontracting) as well as, where applicable, Standard Contractual Clauses (SCCs) to govern transfers outside the European Union. In accordance with DORA, we maintain a registry of ICT service providers and identify those considered critical service providers. These service providers are subject to enhanced evaluation, with specific contractual requirements regarding availability, integrity, continuity, and resilience testing. Monitoring is conducted through regular reviews (inspections, audit reports, SOC/ISO-type compliance certifications, security questionnaires), a contractual right to audit, and periodic reporting mechanisms. We perform integration of these assessments into our ICT risk mapping and our DORA monitoring committees. Security and Resilience What technical safeguards do we use? CentralPay protects data and systems by combining robust technical mechanisms that comply with the highest international standards.Communications are secured through systematic encryption: TLS 1.2/1.3 for data in transit and AES-256 for data at rest, with centralized key management.Card data is processed exclusively in a PCI DSS Level 1 environment, with data collection in a dedicated area and irreversible tokenization to prevent any exposure of the full PAN.Access to the systems is controlled by RBAC (role-based access control) mechanisms and protected by strong authentication (MFA), with regular reviews of access privileges.All sensitive actions are logged with a timestamp and cannot be tampered with; this logging is integrated into an SIEM system that provides real-time detection and alerts.The infrastructure is compartmentalized: network segmentation, strict separation of environments (production, testing, pre-production), and secure management of secrets.Finally, CentralPay regularly tests its system through penetration tests, vulnerability scans, and independent external audits. How does our organization ensure safety? Security relies not only on technology but also on strong organization and governance.CentralPay implements a risk management framework that includes detailed risk mapping, key performance indicators (KPIs), and a risk appetite policy approved by management.Oversight is based on the recognized three lines of defense model: operations provide first-line controls, an independent compliance and ongoing monitoring function serves as the second line, and internal audit constitutes the third line.A Security and Compliance Committee meets regularly to steer strategy and update key policies and procedures (access management, incident response, data purges, and the exercise of GDPR rights).Finally, the security culture is reinforced through regular training for teams, covering cybersecurity, personal data protection, and AML/CFT obligations. What should we do in the event of a security incident? CentralPay has a formalized incident management procedure.In the event of an incident, we quickly detect, assess, and immediately contain it, followed by remedial actions.All events are fully logged and investigated (forensically) to identify the cause and prevent recurrence.When required by regulation, we notify the CNIL within a maximum of 72 hours and inform the affected individuals in the event of a high-risk incident.Each incident results in a lessons-learned review and the implementation of a corrective action plan, which is monitored until the issue is fully resolved. Our Security Audits CentralPay is subject to multiple levels of security controls and testing, both internal and external: Regular external audits: Annual PCI DSS Level 1 certification for the collection and processing of payment data, Independent cybersecurity audits, Penetration tests conducted by third-party service providers to identify and fix vulnerabilities. Ongoing internal controls (second line of defense): security clearance reviews, vulnerability scans, and monitoring of critical systems. Periodic independent audits (third line of defense): internal and external audits of the security framework and regulatory compliance (ACPR, DORA). Annual Policy Review: All of our policies regarding security, data purging, incidents, and vendor management are reviewed and approved annually by management. Resilience testing in accordance with DORA: Business Continuity and Disaster Recovery Plans (BCP/DRP) that are regularly tested to verify the ability to maintain services in the event of a major incident, Crisis exercises simulating cyberattack scenarios or critical system outages, Load and performance testing of critical infrastructure, Failover and redundancy scenarios across environments to ensure availability, For critical functions, a gradual shift toward advanced resilience tests such as “TLPT” (Threat-Led Penetration Testing), as required by DORA for significant entities. Human Rights What are your rights, and how can you exercise them? Pursuant to Articles 15 through 22 of the GDPR, you have the following rights regarding your personal data: right of access, right to correction, right to erasure, right to restriction, right to object, right to data portability, right to withdraw consent. You can exercise your rights by sending a request to: dpo@centralpay.com.We are committed to responding to you within a maximum of 30 days, except in exceptional cases that warrant an extension. If you encounter any difficulties, you may also file a complaint with the CNIL. How do we balance data erasure with legal obligations? CentralPay respects the right to erasure as provided for by the GDPR, but certain data must be retained due to legal obligations.We delete or anonymize all personal data that is no longer necessary.However, when the law requires us to retain certain information (for example, accounting records for 10 years or KYC data for 5 years after the end of the relationship), this data is retained, but: access to them is strictly limited, They are used only for purposes required by law (ACPR audits, TRACFIN, evidentiary obligations). In this way, we strike a balance between respecting people’s rights and meeting our regulatory obligations. Other Coverages Do we use automated decisions or profiling? CentralPay does not apply any fully automated decisions that produce legal or significant effects on individuals, as defined in Article 22 of the GDPR.However, we do use anti-fraud scoring tools that calculate a risk level for transactions. These results are used solely as a decision-making aid: when a case is sensitive or high-risk, it is systematically reviewed and validated by a human reviewer. Do we use cookies or trackers for advertising purposes? In payment flows and APIs, CentralPay does not use any advertising cookies or marketing trackers. Only cookies or trackers that are strictly necessary for the technical operation and security of the payment flows (e.g., session management, authentication) may be used. At this point, no banner-based consent mechanism is necessary, since we do not use optional cookies. How do we ensure resilience and backups? Yes. The infrastructure is redundant across two data centers located in France; backups are encrypted and stored off-site, tested regularly (restores), and are subject to the same access controls as the production environment. Do we have a documented policy for data purging and anonymization? Yes, with retention periods by category (transactions/personal data: 24 months; cards: up to 24 months after the expiration date; KYC: 5 years after the relationship ends, power of attorney: 10 years, logs: 24 months) and mechanisms (deletion vs. irreversible anonymization), plus records of data purging (execution logs). Do our test environments contain real data? CentralPay never uses actual personal data in its test or pre-production environments. All of our internal datasets (e.g., cards, IBANs, Customer Profiles) are synthetic or fictitious and comply with PCI DSS standards. However, users of our test environments (e.g., Merchant integrators) can technically enter their own data. This practice is strictly prohibited and governed by our Terms of Use. If a user accidentally enters personal data into a test environment, that data: are not used for actual payment processing, are not replicated in production, and are automatically or manually purged as soon as they are detected. How does CentralPay manage support teams’ access to data? CentralPay’s support teams do not have direct, permanent access to personal data. Access is granted only when necessary for operational purposes (for example, to resolve an incident or assist a customer), and in accordance with the following principles: Temporary and Justified Access: Each access request is granted for a limited period and must be supported by a ticket or an approved request. Principle of least privilege: The support agent sees only the data strictly necessary to process the request. Strong Authentication (MFA): All access is secured through multi-factor authentication. Full traceability: Every action performed by a support team member is logged and audited. Regular review of access permissions: Access rights are reviewed monthly to ensure they remain justified. Masking of Sensitive Data: Sensitive fields (e.g., full card number, CVV, full IBAN) are systematically masked in the interfaces so that support staff can never view them in plain text. Do we provide your customers with specific GDPR-compliant contract terms? Our Terms of Service and contracts include the necessary provisions (confidentiality, security, incident response, subcontracting, data retention and deletion). GDPR addenda may be included depending on the specific use case. Do we share our internal policies and procedures? The public GDPR policy is available online. Detailed internal policies (incident response, data retention, security) are not shared by default.
Customer See more about Customer jQuery(document).ready( function($) { window.live_6ab3046f5972c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Customer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5972c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5972c.load(); });
Customer See more about Customer jQuery(document).ready( function($) { window.live_6ab3046f9ca96 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Customer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9ca96", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9ca96.load(); });
SDD Transaction See more about SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046f6330d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6330d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6330d.load(); });
SDD Transaction See more about SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046fa6e0c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa6e0c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa6e0c.load(); });
Retours, statuts et hooks 1. Codes de retour banque liés aux transactions carte Lorsqu’une transaction carte (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 : CodeDescriptionA1 – Repli VADSDSP2 et Soft declineLa 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 banqueLa 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 carteLa 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 atteintLa 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 invalideLa 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. Consultez la liste complète des codes de retour banque ➝ 2. Statuts liés aux transactions carte Consultez les Statuts Transaction ➝ Consultez les Statuts Refund ➝ Consultez les Statuts Credit ➝ Consultez les Statuts Disputes ➝ Consultez les Statuts Subscription ➝ Consultez les Statuts Installement ➝ 3. Webhooks liés aux transactions carte Consultez les Webhooks Transaction ➝ Consultez les Webhooks Card ➝ Consultez les Webhooks Refund ➝ Consultez les Webhooks Credit ➝ Consultez les Webhooks Customer ➝ Consultez les Webhooks Dispute ➝ Consultez les Webhooks Subscription ➝ Consultez les Statuts Installement ➝
Callbacks, statuses and hooks 1. Bank Return Codes for Card Transactions When a card transaction (Transaction) is initiated, an authorization request is submitted to the card-issuing bank. It responds with a code, allowing for the interpretation of the authorization’s acceptance, refusal, and the reason for refusal. The cardholder’s bank (also called the « issuing bank ») expresses its refusal based on its own choices, which are entirely independent of CentralPay. CentralPay possesses no additional information if a card is declined and has no means of obtaining it. Main bank return codes: CodeDescriptionA1 – VADS FallbackPSD2 and Soft declineThe bank declines the transaction because it does not have strong authentication (3DS 2.0).It is necessary to re-process this transaction with 3DS to avoid this code.57, 3 and 5Generic Bank RefusalThe bank declines without providing a specific status.This could be an incorrect CVV code or another decision unknown to us.This status does not confirm that the bank will not accept the authorization after further attempts.4, 7, 14, 15, 31, 33, 34, 41, 43, 54, 55, 56, 59, 63, 76Suspicion of Fraud or Card TheftThe issuing bank believes its customer is no longer in possession of the card and that it is a case of identity theft.51, 61Insufficient Funds / Limit ReachedThe card has exceeded the authorized limit amount or does not have sufficient funds.The card may be accepted again later, as limits are calculated on a 7-day rolling basis, so a transaction can certainly be retried the next day.12Invalid TransactionThe bank declines without providing a specific status. This could be:– Simply an invalid transaction– A code 75 from the issuing bank (the card’s PIN code was entered incorrectly too many times).– An incorrect CVV (provided by the ACS during 3DS authentication)– Or another decision unknown to us. Consult the complete list of bank return codes ➝ 2. Card Transaction Statuses Consult Transaction Statuses ➝ Consult Refund Statuses ➝ Consult Credit Statuses ➝ Consult Dispute Statuses ➝ Consult Subscription Statuses ➝ Consult Installment Statuses ➝ 3. Webhooks for Card Transactions Consult Transaction Webhooks ➝ Consult Card Webhooks ➝ Consult Refund Webhooks ➝ Consult Credit Webhooks ➝ Consult Customer Webhooks ➝ Consult Dispute Webhooks ➝ Consult Subscription Webhooks ➝ Consult Installment Statuses ➝
Plugin CMS Articles WooCommerce PrestaShop Magento WooCommerce Ce guide vous accompagne dans l’installation, la configuration et l’utilisation du plugin CentralPay pour WooCommerce (WordPress). ℹ️ La plateforme CentralPay prend en charge différents moyens (carte, virement et prélèvement SEPA, initiation de paiement) et modes de paiement (paiement en une fois, abonnement, en plusieurs fois, etc.). Ce plugin permet uniquement l'encaissement de transactions cartes unitaires. 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 Pour WooCommerce ➝ Télécharger l’archive ZIP du plugin CentralPay ⚠️ Veillez à ne pas la décompresser manuellement. 2. Installation sur WordPress Connectez-vous à votre interface d’administration WordPress Allez dans Extensions > Ajouter Cliquez sur Téléverser une extension Sélectionnez le fichier centralpay221.zip et cliquez sur Installer maintenant Une fois l’installation terminée, cliquez sur Activer l’extension 3. Configuration du module Allez dans WooCommerce > Réglages > Paiements Cliquez sur CentralPay pour accéder à la configuration Renseignez les champs suivants puis cliquez sur Enregistrer les modifications : ChampDescriptionAccès à la donnéeIdentifiant marchandIl s’agit de votre Merchant Public Key. Ne pas confondre avec le Merchant UUID.Portail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »Login APIIdentifiant de votre utilisateur API CentralPayPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Mot de passe APIMot de passe de votre utilisateur API CentralPayPortail Marchand 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 Marchand 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 profil marchand CentralPay de test)./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. Statut de commande Le plugin WooCommerce de CentralPay intègre automatiquement une URL de retour (return_url) dans le lien du formulaire de paiement. Cette URL permet de rediriger le client vers la page de confirmation de commande (/checkout/order-received/) et d’actualiser le statut de la commande en fonction du résultat du paiement. Si le client final ferme la fenêtre de paiement avant d’être redirigé, la mise à jour de la commande peut ne pas se déclencher correctement côté WooCommerce. Pour garantir la mise à jour fiable du statut de commande, nous recommandons de mettre en place un Hook (callback serveur à serveur) dans votre Backoffice CentralPay. Étapes de configuration : Accédez à :Production : https://backoffice.centralpay.net/admin/hook/Test : https://test-backoffice.centralpay.net/admin/hook/ Créez un Hook avec les paramètres suivants : Événement : Point de Vente > TRANSACTION_SUCCEDEED Affecté au Point de Vente : sélectionnez votre Point de Vente WooCommerce URL : https://votre-site-woocommerce.com/?wc-api=cpay_validation (Remplacez par l’URL de votre site WooCommerce.) Sauvegardez le Hook Le paramètre /?wc-api=cpay_validation est nécessaire pour que le plugin WooCommerce de CentralPay reconnaisse la notification et déclenche la mise à jour du statut de la commande. Cette configuration doit être réalisée à la fois dans votre environnement de test et sur votre profil marchand de production. 5. Personnalisation du logo Vous pouvez également personnaliser l’interface de paiement en ajoutant le logo de votre site via le Backoffice : Accédez à : https://backoffice.centralpay.net/admin/point_of_sale/ Dans le détail de votre Point de Vente, cliquez sur Modifier Importez votre logo dans la section Logo Ce logo sera affiché directement dans le formulaire de paiement pour une expérience utilisateur plus cohérente. 6. Mode test Activez le mode test dans la configuration (attention, vous devez disposer d’un profil marchand CentralPay de test et renseigner les identifiants de ce profil 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 7. 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 8. 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. 9. 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 10. 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. PrestaShop CentralPay propose un module d’encaissement par carte bancaire pour les boutiques Prestashop. Deux versions du module sont disponibles selon la version de votre CMS : Pour Prestashop 1.6 ➝ Télécharger le module 1.6 Pour Prestashop 1.7 ➝ Télécharger le module 1.7 1. Installation du module Prestashop v1.6 Connectez-vous au back-office Prestashop Menu Modules > Modules Cliquez sur « Ajouter un nouveau module » Chargez l’archive .zip puis cliquez sur « Installer » Prestashop v1.7 Connectez-vous à l’administration de Prestashop Menu Modules > Modules Manager > Upload a module Déposez l’archive .zip ou cliquez pour la charger Terminez l’installation en suivant l’assistant 2. Configuration du module Après installation, accédez à la page de configuration du module : Modules Modules installés CentralPay Configurer Les champs suivants sont requis : ChampDescriptionOù trouver cette information ?Merchant Public KeyClé publique d’authentification APIPortail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »Login APIIdentifiant de votre utilisateur API CentralPayPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Secret Key (passeword API)Clé secrète API (à ne jamais diffuser)Portail Marchand 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 Marchand CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concernéEndpointURL de l’API CentralPayEn environnement de test : https://test-api.centralpay.net/En production : https://api.centralpay.net/DeviseDevise des paiements acceptésÀ configurer selon la boutique (EUR recommandé)Mode de paiementMode d’intégration technique du paiementLaisser la valeur par défaut « Direct Post »Affichage du formulaireAffichage du formulaire sur page dédiée ou dans la page panierChoisir l’affichage souhaité (conseillé : page dédiée pour la sécurité)Statut de commande après paiement réussiStatut que prendra la commande après une validation du paiement« Paiement accepté » (ou tout autre statut configuré dans Prestashop) ⚠️ Veillez à bien copier-coller la Merchant Public Key sans espaces ni caractères parasites. 3. Fonctionnement Lorsqu’un client choisit CentralPay comme moyen de paiement : Il est redirigé vers une page sécurisée (hébergée ou intégrée) Il saisit ses informations de carte bancaire Le paiement est autorisé par la banque (3D Secure inclus) La commande est validée dans Prestashop avec le statut défini Un webhook notifie automatiquement CentralPay et Prestashop de l’issue du paiement 4. Mode test / production En mode test, vous pouvez utiliser les cartes de test disponibles dans la documentation développeur En mode production, seuls les marchands activés (KYC validé) peuvent encaisser Le switch de mode s’effectue en modifiant l’Endpoint dans la configuration du module. 5. Support Pour toute question : Contactez le support CentralPay via le Portail Marchand > Aide & Support Ou directement via support.centralpay.com Magento 1. Téléchargement du module Pour Magento ➝ Télécharger le plugin (v1.0) ℹ️ Ce module est compatible avec Magento 1.7+ 2. Installation du plugin 2.1 Décompresser l’archive Décompressez le fichier .zip téléchargé. Vous obtiendrez les dossiers suivants : app/ js/ skin/ centralpay.sql (fichier SQL à exécuter) 2.2. Copier les fichiers Copiez l’ensemble des dossiers (app, js, skin) à la racine de votre instance Magento. Ils viendront automatiquement s’intégrer dans l’arborescence existante. 2.3. Exécuter le script SQL Exécutez le fichier centralpay.sql sur la base de données de votre site Magento. ⚠️ Utilisez phpMyAdmin ou tout autre outil de gestion de base pour importer ce fichier.⚠️ Pensez à sauvegarder votre base avant exécution. 3. Configuration du module Une fois le module installé, connectez-vous à votre interface d’administration Magento pour renseigner les paramètres CentralPay. 3.1. Accéder à la configuration Dans le menu d’administration Magento, rendez-vous dans : Stores Configuration Sales Payment Methods CentralPay 3.2. Paramètres à renseigner Champ dans MagentoDescriptionObligatoireAccès à la donnéeActiver CentralPayActive le module dans l’environnement Magento.✅ OuiMagentoTitreNom du moyen de paiement visible côté client.✅ OuiMagentoIdentifiant Marchand (merchantLogin)Identifiant d’API fourni par CentralPay.✅ OuiPortail Marchand CentralPay > Administration > Technique > Cliquer sur votre « Identifiant API » > Copier le « login »Mot de passe API (merchantPassword)Mot de passe API associé à l’identifiant.✅ OuiPortail Marchand 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 »Clé publique Marchand (merchantPublicKey)Clé de chiffrement utilisée pour sécuriser les données de carte.✅ OuiPortail Marchand CentralPay > Administration > Technique > Copier « Merchant Public Key »ID du point de venteIdentifiant unique de votre point de vente (UUID)❌ NonPortail Marchand CentralPay > Configuration > Points de ventes > Copiez l’ID du point de vente concernéURL de retour (returnUrl)Permet de rediriger le client vers Magento après paiement. Peut être laissé vide pour utiliser la redirection automatique.❌ NonMagentoMode Test (sandbox)Permet d’utiliser l’environnement de test CentralPay.❌ NonMagentoCommande en attenteStatut Magento utilisé si le paiement est en cours ou en attente (ex. : 3DS).❌ NonMagentoCommande validéeStatut Magento utilisé si le paiement est accepté.❌ NonMagento 4. Mode test et environnement de recette Le module propose une option de sandbox activable dans l’administration Magento. ℹ️ Utilisez l’environnement sandbox CentralPay pour simuler des paiements avant passage en production. N’oubliez pas d’utiliser les identifiants API de test (login, password, clé publique) fournis par CentralPay. 5. Expérience client Le client ajoute ses articles au panier et passe à la caisse Au moment du paiement, il choisit CentralPay comme méthode de paiement Il est redirigé vers l’interface de paiement CentralPay sécurisée Une fois le paiement effectué (ou refusé), il est redirigé vers votre site Magento Le statut de la commande est mis à jour automatiquement 6. Suivi des paiements Depuis Magento : vous pouvez consulter le statut des commandes et des paiements dans le back-office standard Depuis CentralPay : toutes les opérations sont également visibles dans votre interface CentralPay (transactions, remboursements, rejets, etc.) 7. Support technique Pour toute question : Consultez la documentation technique CentralPay : docs.centralpay.com Contactez notre support : support.centralpay.com Assistance disponible en français et en anglais.
CMS Plugin Articles WooCommerce PrestaShop Magento WooCommerce This guide will walk you through the installation, configuration, and use of the CentralPay plugin for WooCommerce (WordPress). ℹ️ The CentralPay platform supports various payment methods (credit/debit cards, Bank transfers, SEPA Direct Debits, and Payment Initiation Service (PIS)) and payment options (one-time payments, subscriptions, installment plans, etc.). This plugin only allowsfor the processing of one-time credit/debit card transactions. If you'd like to request a change to the plugin, please visit https://support.centralpay.com: Support & Settings > Suggest a new feature. 1. Download the plugin For WooCommerce ➝ Download the CentralPay plugin ZIP archive ⚠️ Be sure not to unzip it manually. 2. Installation on WordPress Log in to your WordPress admin dashboard Go to Extensions > Add Click » Upload an Extension« Select the file » centralpay220.zip » and click » Install Now« Once the installation is complete, click » Enable Extension« 3. Module Configuration Go to WooCommerce > Settings > Payments Click on CentralPay to access the settings Fill in the following fields, then click » Save Changes « : FieldDescriptionAccess to DataMerchant IDThis is your Merchant Public Key. Do not confuse it with the Merchant UUID. CentralPay Merchant Portal > Administration > Technical Support > Copy « Merchant Public Key »API LoginYour CentralPay API user IDCentralPay Merchant Portal > Administration > Technical Support > Click on your « API ID » > Copy the « login »API PasswordYour CentralPay API user passwordCentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »POS IDUnique identifier for your Point of Sale (POS) (UUID)CentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)Test / Production ModeEnable test mode if you want to use the sandbox environment (the login and password must be those for your CentralPay test Merchant Profile)./Redirect URLRedirects your customers to a custom page after they complete payment through our form.Enter the URL of your payment confirmation page. 4. Order Status The CentralPay WooCommerce plugin automatically includes a redirect URL (return_url) in the payment form link. This URL redirects the customer to the order confirmation page (/checkout/order-received/) and updates the order status based on the payment result. If the end customer closes the payment window before being redirected, the order update may not trigger correctly on the WooCommerce side. To ensure that order status is updated reliably, we recommend setting up a hook (server-to-server callback) in your CentralPay Backoffice. Setup steps: Go to:Production: https://backoffice.centralpay.net/admin/hook/Testing: https://test-backoffice.centralpay.net/admin/hook/ Create a hook with the following parameters: Event: Point of Sale (POS) > TRANSACTION_SUCCEDEED Assigned to a Point of Sale (POS): Select your WooCommerce POS store URL: https://votre-site-woocommerce.com/?wc-api=cpay_validation (Replace with the URL of your WooCommerce site.) Save the Hook The ` /?wc-api=cpay_validation ` parameter is required for the CentralPay WooCommerce plugin to recognize the notification and trigger the order status update. This configuration must be set up both in your Test environment and on your production Merchant Profile. 5. Logo Customization You can also customize the payment interface by adding your website’s logo through the Backoffice: Go to: https://backoffice.centralpay.net/admin/point_of_sale/ In your Point of Sale details, click Edit Upload your logo in the » Logo » section This logo will be displayed directly in the payment form to provide a more consistent user experience. 6. Test Mode Enable test mode in the settings (please note: you must have a CentralPay test Merchant Profile and enter the credentials for that test Merchant Profile) Use the test cards provided by CentralPay to simulate payments Check that it is working properly: From the payment form Redirects Order Statuses 7. Payment Tracking View all your payments in WooCommerce > Orders The CentralPay plugin automatically updates order statuses If needed, an event log is available in the plugin’s ` error.log ` file 8. Available Languages The plugin is available in: 🇫🇷 French 🇬🇧 English You can edit or add your own translations using the ` .po ` files located in the ` /languages` folder, or by using a plugin such as Loco Translate. 9. Uninstallation To uninstall the plugin: Disable it through the Extensions menu Click » Delete« The uninstall script will delete the plugin’s settings 10. Support If you have any questions or need assistance, please contact our technical support team at https://support.centralpay.com.Please include your Merchant ID, your website URL, and as many details as possible about your request. PrestaShop CentralPay offers a credit card payment module for Prestashop stores. Two versions of the module are available, depending on your CMS version: For Prestashop 1.6 ➝ Download the 1.6 module For Prestashop 1.7 ➝ Download the 1.7 module 1. Installing the module Prestashop v1.6 Log in to the Prestashop back office Modules Menu > Modules Click « Add a New Module » Download the archive .zip and then click « Install » Prestashop v1.7 Log in to the Prestashop admin panel Menu Modules > Modules Manager > Upload a module Upload the archive » .zip » or click to download it Complete the installation by following the wizard’s instructions 2. Module Configuration After installation, go to the module’s configuration page: Modules Installed Modules CentralPay Configure The following fields are required: FieldDescriptionWhere can I find this information?Merchant Public KeyAPI Authentication Public KeyCentralPay Merchant Portal > Administration > Technical Support > Copy the “Merchant Public Key”API LoginYour CentralPay API user IDCentralPay Merchant Portal > Administration > Technical Support > Click on your “API ID” > Copy the “login”Secret Key (API password)API Secret Key (Never Share)CentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »POS IDUnique identifier for your Point of Sale (POS) (UUID)CentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)EndpointCentralPay API URLIn the test environment: https://test-api.centralpay.net/In production: https://api.centralpay.net/CurrencyCurrency of accepted paymentsConfigure according to the store (EUR recommended)Payment MethodTechnical Payment Integration MethodLeave the default value as « Direct Post »Displaying the FormDisplay the form on a dedicated page or on the shopping cart pageSelect the desired view (recommended: dedicated security page)Order Status After Successful PaymentStatus the order will have after payment is confirmed« Payment Accepted » (or any other status configured in PrestaShop) ⚠️ Be sure to copy and paste the Merchant Public Key exactly as it appears, without any spaces or extraneous characters. 3. How It Works When a customer selects CentralPay as a payment method: They are redirected to a secure page (hosted or integrated) He enters his credit card information The payment has been authorized by the bank (including 3D Secure) The order is confirmed in PrestaShop with the status set to A webhook automatically notifies CentralPay and PrestaShop of the payment outcome 4. Test / Production Mode In test mode, you can use the test cards provided in the developer documentation In production mode, only activated merchants (with validated KYC) can receive payments To switch modes, changethe endpoint in the module’s configuration. 5. Support If you have any questions: Contact CentralPay support through the Merchant Portal at > Help & Support Or directly at support.centralpay.com Magento 1. Download the module For Magento ➝ Download the plugin (v1.0) ℹ️ This module is compatible with Magento 1.7 and later 2. Installing the plugin 2.1 Extract the archive Unzip the downloaded .zip file. You will get the following folders: app/ js/ skin/ centralpay.sql (SQL file to run) 2.2. Copy the files Copy all the folders (app, js, skin) to the root of your Magento installation. They will automatically be integrated into the existing directory structure. 2.3. Run the SQL script Run the file ` centralpay.sql ` on your Magento site’s database. ⚠️ Use phpMyAdmin or any other database management tool to import this file.⚠️ Be sure to back up your database before running the script. 3. Module Configuration Once the module is installed, log in to your Magento admin interface to enter the CentralPay settings. 3.1. Go to Settings In the Magento admin menu, go to: Stores Configuration Sales Payment Methods CentralPay 3.2. Fields to Fill In Field in MagentoDescriptionRequiredAccess to DataEnable CentralPayEnables the module in the Magento environment.✅ YesMagentoTitleName of the payment method as displayed to the customer.✅ YesMagentoMerchant ID (merchantLogin)API ID provided by CentralPay.✅ YesCentralPay Merchant Portal > Administration > Technical Support > Click on your “API ID” > Copy the “login”API Password (merchantPassword)API password associated with the ID.✅ YesCentralPay Merchant Portal > Administration > Technique > Click on your « API ID » > Edit > Generate a password > Copy the password > Click « Update »Merchant Public Key (merchantPublicKey)Encryption key used to secure card data.✅ YesCentralPay Merchant Portal > Administration > Technical Support > Copy the “Merchant Public Key”POS IDUnique identifier for your Point of Sale (POS) (UUID)❌ NoCentralPay Merchant Portal > Configuration > Points of Sale > Copy the ID of the relevant Point of Sale (POS)Return URL (returnUrl)Allows you to redirect the customer to Magento after payment. Can be left blank to use automatic redirection. ❌ NoMagentoTest Mode (sandbox)Allows you to use the CentralPay test environment.❌ NoMagentoPending OrderMagento status used if the payment is in progress or pending (e.g., 3DS).❌ NoMagentoOrder ConfirmedMagento status used if the payment is accepted.❌ NoMagento 4. Test Mode and Sandbox Environment The module offers a sandbox option that can be enabled in the Magento admin panel. ℹ️ Use the CentralPay sandbox environment to simulate payments before going live. Be sure to use the test API credentials (username, password, public key) provided by CentralPay. 5. Customer Experience The customer adds items to the shopping cart and proceeds to checkout At checkout, he selects CentralPay as his payment method He is redirected to the secure CentralPay payment interface Once the payment is processed (or there is a refusal), the customer is redirected to your Magento site The order status is updated automatically 6. Payment Tracking From Magento: You can view the status of orders and payments in the standard back office From CentralPay: All transactions are also visible in your CentralPay interface (transactions, refunds, Rejections, etc.) 7. Technical Support If you have any questions: View the CentralPay technical documentation: docs.centralpay.com Contact our support team: support.centralpay.com Support is available in French and English.
Trust Center Articles Conformité et résilience opérationnelleDORA Protection des données personnellesRGPD Conformité et résilience opérationnelle Dernière mise à jour : 30 juin 2025 « Notre engagement pour protéger vos transactions et assurer un service sans interruption. Un dispositif aligné sur les exigences européennes en matière de sécurité et de continuité des services financiers » 1. Gouvernance et organisation de la sécurité Chez CentralPay, la sécurité n’est pas seulement un ensemble de règles techniques, mais une démarche de gouvernance intégrée à tous les niveaux de l’entreprise. Notre dispositif repose sur une organisation claire, des responsabilités définies et une supervision régulière par la direction. La politique de sécurité constitue le socle de ce dispositif. Elle fixe les principes directeurs en matière de protection des données et de continuité des services. Mise à jour chaque année, elle est validée en comité de direction et diffusée à l’ensemble des collaborateurs concernés. Chaque employé est ainsi sensibilisé aux bonnes pratiques et s’engage à respecter les règles établies. La gouvernance TIC est structurée autour de plusieurs acteurs clés. Le Responsable de la Sécurité des Systèmes d’Information (RSSI) pilote la stratégie globale, supervise les contrôles de sécurité et veille à la conformité avec les standards internationaux (PCI DSS, DORA). La direction technique est en charge de l’exploitation quotidienne des infrastructures et garantit la disponibilité des systèmes critiques. Enfin, un Comité TIC se réunit régulièrement afin d’analyser les incidents, de valider les évolutions techniques et budgétaires, et d’assurer une amélioration continue de la sécurité. Cette organisation permet de concilier réactivité opérationnelle et exigence réglementaire. Elle offre également à nos clients une visibilité claire : la sécurité est suivie, pilotée et contrôlée de manière documentée, avec un partage des responsabilités entre le management, les équipes techniques et la direction générale. 2. Gestion des accès et habilitations La gestion des accès constitue l’un des piliers de la sécurité de CentralPay. Chaque droit d’accès est attribué selon une procédure formalisée et validée par le management, afin de s’assurer qu’il corresponde strictement aux besoins métier du collaborateur. À l’arrivée d’un nouvel employé, ses accès sont créés dans l’Active Directory et validés par son supérieur hiérarchique ; au départ, ils sont immédiatement révoqués par le service informatique. La sécurité repose également sur le principe du moindre privilège : nul ne peut accéder à plus de ressources que ce qui est strictement nécessaire à sa mission. Les accès sensibles, comme ceux aux systèmes critiques ou aux bases de données, font systématiquement l’objet d’une authentification multi-facteurs (MFA). Pour renforcer ce dispositif, des revues périodiques des habilitations sont menées chaque trimestre, permettant d’identifier et de corriger toute anomalie. Cette rigueur garantit une maîtrise complète des identités et des droits, et protège nos clients contre tout risque d’accès non autorisé à leurs données. 3. Sécurité technique La sécurité technique de CentralPay repose sur une architecture conçue selon les principes de défense en profondeur. Chaque couche – du réseau jusqu’aux applications – bénéficie de mécanismes de protection redondants et régulièrement testés. Cloisonnement des réseaux L’infrastructure est segmentée en plusieurs zones : DMZ publique pour les serveurs exposés à Internet (reverse proxy, WAF, relais SMTP) ; zone interne pour les bases de données et services sensibles ; réseau administratif réservé aux opérations d’administration ; zone de logs isolée pour la collecte et l’analyse des journaux. Les flux entre ces zones sont strictement contrôlés par des firewalls en redondance, configurés en stateful inspection et avec des règles de NAT. Ces firewalls intègrent des mécanismes d’anti-spoofing et de détection d’anomalies de trafic. Les configurations sont maintenues par le groupe « administrateurs systèmes et réseau » et font l’objet d’une revue périodique. Protection physique et logique L’accès aux locaux de production est contrôlé par badge nominatif, surveillance vidéo et télésurveillance (SECURITAS). L’accès aux salles serveurs et à la zone PCI est limité aux personnes habilitées.Sur le plan logique, chaque accès aux systèmes se fait par identifiant unique, renforcé par MFA. Les droits sont attribués en fonction des rôles définis et selon le principe du moindre privilège. Surveillance et détection d’intrusion La surveillance est assurée en continu grâce à une combinaison d’outils : Zabbix, pour le monitoring temps réel des serveurs, applications et flux critiques ; Wazuh, intégré avec Snort, pour la détection d’intrusions et la corrélation des événements ; ElasticSearch/Kibana, pour l’agrégation et la visualisation des logs. Les alertes critiques sont transmises en temps réel aux équipes techniques par mail et SMS, et leur traitement est tracé dans un registre d’incidents. Chiffrement et gestion des clés Les données de paiement sensibles (PAN, dates d’expiration) sont chiffrées en AES-256 et rendues illisibles via un hash SHA-512 avec salt pour les comparaisons.La gestion des clés est réalisée exclusivement au sein de modules matériels de sécurité (HSM) certifiés. La clé maîtresse est fragmentée en plusieurs composantes, détenues par des personnes distinctes, afin d’éviter tout risque de compromission. Les clés applicatives ne peuvent pas être exportées en clair et leur usage est strictement tracé. En combinant ces mesures, CentralPay garantit un environnement technique robuste, conforme aux exigences PCI DSS 4.0.1 et aux standards de résilience DORA. 4. Gestion des risques et des incidents La maîtrise des risques constitue un axe stratégique de la gouvernance CentralPay. L’approche adoptée vise à anticiper les menaces, limiter leur probabilité de survenance et garantir une réponse rapide et efficace en cas d’incident. Gestion des risques Chaque année, une étude de risques est menée sur la base de la méthodologie Ebios, intégrant : l’identification des risques liés à la sécurité (intrusions, attaques malveillantes, fuites de données) et au fonctionnement (pannes techniques, défaillances logicielles) ; leur analyse en termes de probabilité et d’impact métier ; leur classification en Low, Medium ou High ; leur traitement via des mesures de prévention (patching, segmentation réseau, chiffrement, supervision) ou de mitigation (plans de contournement, redondances). Le registre des risques est mis à jour en continu et présenté lors des revues annuelles de direction. Gestion des incidents CentralPay a mis en place une procédure complète de gestion des incidents, alignée sur les obligations DORA et les orientations de l’EBA : Détection : par monitoring automatisé (Zabbix, Wazuh) ou par signalement interne/externe (clients, partenaires). Qualification : chaque incident est analysé et classé selon son impact, sa durée, sa portée géographique et sa criticité. Priorisation : une matrice d’évaluation (urgence de résolution et impact financier) permet de définir des niveaux de priorité allant de 1 à 4. Notification réglementaire : les incidents qualifiés comme « majeurs » font l’objet d’un reporting à l’ACPR : rapport initial transmis dans les 4 heures, rapport intermédiaire sous 3 jours ouvrés, rapport final sous 20 jours. Transparence et retour d’expérience En parallèle du reporting réglementaire, les incidents majeurs font l’objet d’une communication transparente envers les clients impactés. Une analyse post-mortem est systématiquement menée afin de tirer les enseignements, renforcer les procédures existantes et mettre en place des actions correctives. Ce dispositif permet à CentralPay non seulement de répondre efficacement aux incidents, mais surtout de renforcer continuellement sa résilience et la confiance de ses clients. 5. Tests de résilience CentralPay considère que la résilience d’une infrastructure ne se prouve pas uniquement sur le papier mais par des tests réguliers et documentés. C’est pourquoi la plateforme organise différents scénarios de test visant à mesurer son niveau de sécurité, sa capacité de reprise et la réactivité de ses équipes. Tests d’intrusion Les tests d’intrusion sont réalisés de manière récurrente par des équipes internes et par des prestataires spécialisés, afin de bénéficier d’un regard externe indépendant. Trois méthodologies sont appliquées : Black-box : l’auditeur ne dispose d’aucune information préalable, ce qui simule le comportement d’un attaquant externe ; Grey-box : l’auditeur dispose d’informations partielles (comptes utilisateurs limités, schémas d’architecture simplifiés) afin de reproduire un scénario réaliste d’utilisateur malveillant ; White-box : l’auditeur dispose d’une connaissance complète de l’architecture, permettant une analyse approfondie et la détection de vulnérabilités complexes. Ces tests couvrent à la fois les couches réseau et applicatives, avec un focus particulier sur les vulnérabilités répertoriées par le Top Ten OWASP. Les résultats font l’objet de rapports détaillés, comprenant une classification des failles selon leur criticité (Critical, High, Medium, Low) et des recommandations de remédiation. Tests de segmentation réseau CentralPay réalise aussi des tests de segmentation afin de vérifier que les cloisonnements logiques entre les zones (DMZ, interne, administration, logs) sont efficaces et qu’aucun flux non autorisé n’est possible. Ces tests garantissent que, même en cas de compromission d’une zone exposée, l’attaquant ne puisse pas atteindre les systèmes critiques. Exercices de simulation et bascules PCA En parallèle des tests techniques, des exercices de simulation de crise sont menés. Ces exercices impliquent plusieurs équipes (techniques, conformité, direction) et simulent des scénarios d’attaque ou de panne majeure. L’objectif est de tester non seulement la robustesse de l’infrastructure, mais aussi la qualité de la coordination et de la communication en situation de crise. Enfin, des tests de bascule PCA sont organisés au minimum une fois par an. Ils permettent de vérifier que les services critiques peuvent être transférés vers le site secondaire dans les délais prévus et que les équipes maîtrisent parfaitement les procédures de reprise. Ces différents tests, documentés et suivis, démontrent la volonté de CentralPay de s’inscrire dans une démarche d’amélioration continue de sa résilience. 6. Haute disponibilité et PCA La disponibilité des services de paiement est une exigence absolue pour CentralPay. Afin de garantir une continuité sans faille, l’entreprise a conçu son architecture autour du principe de haute disponibilité (HA) et d’un Plan de Continuité d’Activité (PCA) multi-sites. Architecture multi-sites CentralPay dispose de deux sites distincts : un site de production principal et un site secondaire dédié au PCA. Ces sites sont opérés par des fournisseurs différents, intègrent un routage BGP et utilisent des accès Internet fournis par plusieurs opérateurs, ce qui réduit le risque de dépendance vis-à-vis d’un seul acteur. Redondance des composants Chaque composant critique est déployé en redondance : Firewalls et load balancers : configurés en actif/actif ou actif/passif, permettant une bascule automatique en cas de défaillance ; Serveurs applicatifs : répartis sur plusieurs nœuds afin de garantir la tolérance aux pannes ; Bases de données : répliquées en temps réel entre les sites de production et de PCA, assurant un RPO quasi nul ; Proxys applicatifs et WAF : disposés en frontal pour absorber les charges et filtrer les menaces, avec bascule automatique. Objectifs de reprise (RTO et RPO) RPO (Recovery Point Objective) : grâce à la réplication continue, les données critiques peuvent être restaurées à l’état quasi instantané précédant l’incident ; RTO (Recovery Time Objective) : les mécanismes de bascule automatique permettent un retour en service des applications critiques en quelques minutes à une heure maximum selon le type de composant. Scénarios de bascule et tests Le PCA est conçu pour répondre à divers scénarios : panne matérielle, défaillance réseau, indisponibilité d’un datacenter, attaque cyber majeure. Chaque scénario dispose d’un plan d’action documenté. Des tests réguliers de bascule confirment que les engagements RTO/RPO sont tenus dans la pratique. Grâce à ce dispositif, CentralPay assure à ses clients que, même en cas d’incident majeur, leurs transactions de paiement resteront disponibles et sécurisées. 7. Continuité et sauvegardes La continuité des services de CentralPay ne repose pas uniquement sur la redondance de son infrastructure et le PCA. Elle est également assurée par une politique stricte de sauvegarde et de restauration des données. Sauvegardes quotidiennes et chiffrées Les données critiques – qu’il s’agisse des données de paiement ou des données opérationnelles de la plateforme – font l’objet de sauvegardes quotidiennes. Celles-ci sont chiffrées en AES-256, conformément aux standards internationaux, afin de garantir leur confidentialité en cas d’accès non autorisé. Stockage sécurisé et rotation Les sauvegardes sont stockées selon une logique de redondance et de rotation : Une copie est conservée sur les serveurs de sauvegarde internes, protégés par des accès restreints ; Une copie est déplacée et conservée dans un coffre-fort sécurisé ; D’autres copies sont externalisées hors site, afin de garantir la disponibilité même en cas de sinistre physique affectant un site. La rotation régulière des supports assure que les sauvegardes restent fiables et exploitables. Tests de restauration La valeur d’une sauvegarde ne se mesure pas uniquement à sa conservation mais aussi à sa capacité à être restaurée. CentralPay procède donc à des tests de restauration réguliers, qui permettent de vérifier non seulement l’intégrité des données sauvegardées mais aussi la rapidité avec laquelle elles peuvent être réinjectées dans le système de production. Grâce à cette approche, CentralPay garantit que, même en cas d’incident majeur, ses clients ne subiront pas de perte significative de données et pourront reprendre leurs activités sans interruption prolongée. 8. Gestion des prestataires critiques CentralPay est conscient que la sécurité et la continuité de ses services dépendent également de la solidité de ses partenaires. C’est pourquoi l’entreprise a mis en place une gouvernance stricte autour de la gestion des prestataires critiques, en particulier ceux qui participent directement à l’hébergement, au traitement des données ou aux services de paiement. Audits et certifications Chaque année, un audit est conduit auprès de l’hébergeur principal et des prestataires considérés comme critiques. L’objectif est de vérifier la solidité de leurs dispositifs de sécurité, leurs capacités de continuité et leur conformité réglementaire.Pour les prestataires qui traitent, stockent ou transmettent des données de cartes, CentralPay exige la certification PCI DSS et obtient une attestation de conformité (AOC) actualisée chaque année. Clauses contractuelles et supervision Les contrats avec les prestataires critiques incluent des clauses spécifiques DORA, portant notamment sur : les engagements de service (SLA en matière de disponibilité et de performance), les obligations de sécurité, la mise en place d’un PCA/PRA compatible avec celui de CentralPay, la notification immédiate en cas d’incident de sécurité. CentralPay conserve une cartographie actualisée de l’ensemble de ses prestataires critiques et de leurs services associés. Ce registre est régulièrement mis à jour et constitue une base de reporting vers l’ACPR et les autorités de supervision. Pérennité et amélioration continue Enfin, la relation avec les prestataires ne se limite pas à un contrôle ponctuel. Les résultats des audits, les tests de continuité et les incidents éventuels sont présentés en comité de gouvernance. Des plans d’action sont ensuite décidés pour renforcer la sécurité ou la disponibilité des services externalisés. Ainsi, CentralPay garantit à ses clients que les tiers qui contribuent à ses services critiques sont soumis au même niveau d’exigence que ses propres équipes. FAQ - Conformité et résilience Gouvernance et responsabilités Qui est responsable de la sécurité chez CentralPay ?La sécurité est pilotée par notre RSSI (Responsable de la Sécurité des Systèmes d’Information), rattaché directement à la Présidence. Le RSSI s’appuie sur un comité TIC et sur un cadre de gestion des risques aligné sur ISO 27005 et sur le règlement DORA. Le RSSI est joignable à l’adresse suivante : rssi@centralpay.com Avez-vous une politique de sécurité documentée ?Oui. Notre Politique de Sécurité du Système d’Information (PSSI) définit les règles applicables à l’ensemble de nos équipes et de nos prestataires. Elle couvre la classification des données, la gestion des accès, la protection des systèmes, la gestion des incidents, la continuité d’activité et l’encadrement des prestataires TIC. Comment intégrez-vous la sécurité dans vos décisions stratégiques ?La sécurité et la résilience sont intégrées à notre cadre global de gestion des risques. Celui-ci inclut une cartographie alignée ISO/DORA, une politique d’appétence aux risques, et un suivi par indicateurs (KRI). Les décisions de sécurité sont arbitrées au sein du comité Sécurité & Conformité et validées par la Direction Générale. Comment contrôlez-vous vos dispositifs de sécurité ?Nous appliquons le modèle des trois lignes de défense : les équipes métiers réalisent les contrôles opérationnels, la conformité et le contrôle permanent assurent la supervision, et le contrôle périodique réalise une évaluation indépendante. Protection des données et des systèmes Comment protégez-vous les données et systèmes de CentralPay ?Toutes les données sont chiffrées : TLS 1.2/1.3 pour les échanges en transit et AES-256 pour le stockage. Les données de carte sont traitées uniquement dans un environnement certifié PCI DSS niveau 1 et immédiatement tokenisées, afin qu’aucun numéro complet ne soit conservé en clair. Nos infrastructures sont segmentées et protégées par des firewalls, IDS/IPS et une supervision SOC. Les accès aux environnements sensibles sont limités, appliquent le principe du moindre privilège et sont protégés par MFA. Tous les postes de travail sont chiffrés, sécurisés par antivirus/EDR et mis à jour automatiquement. Tests et contrôles de sécurité Réalisez-vous des tests de sécurité ?Oui. Nous effectuons régulièrement des tests de pénétration indépendants, des scans automatisés de vulnérabilités et des audits externes (dont PCI DSS). Ces contrôles permettent d’identifier les failles et de renforcer en permanence notre dispositif. Comment gérez-vous la journalisation et les logs ?Les journaux sont conservés 24 mois, horodatés, protégés par chiffrement et intégrés dans notre système de supervision (SIEM). Leur accès est strictement restreint aux équipes habilitées. Comment gérez-vous les vulnérabilités et mises à jour ?Nous appliquons une politique stricte de patch management : correction des vulnérabilités critiques sous 24h, vulnérabilités hautes sous 7 jours, et autres correctifs selon une fréquence planifiée. Le suivi est assuré par des scans et des rapports de conformité. Organisation et culture sécurité Comment sensibilisez-vous vos collaborateurs à la sécurité ?Tous les collaborateurs suivent une formation annuelle obligatoire sur la cybersécurité, le RGPD et la LCB-FT. Des campagnes de sensibilisation régulières (exercices phishing, e-learning) complètent ce dispositif. Les équipes techniques bénéficient de formations renforcées. Comment garantissez-vous que les accès restent limités ?Nous appliquons le principe du moindre privilège : chaque utilisateur n’accède qu’aux ressources nécessaires à sa mission. Les droits sont justifiés, temporaires et systématiquement tracés. Comment encadrez-vous les accès administrateurs ?Les accès à privilèges élevés sont limités à un nombre restreint de personnes, soumis à MFA, tracés et revus régulièrement. Ils ne sont accordés que pour des besoins précis et pour une durée limitée. Anticipation et amélioration continue Comment anticipez-vous les menaces émergentes ?Nous assurons une veille cybersécurité active via les bulletins CERT-FR, ANSSI, éditeurs logiciels et fournisseurs cloud. Cette activité de threat intelligence permet d’adapter nos défenses en temps réel. Comment améliorez-vous en permanence votre sécurité ?Chaque incident, audit ou test fait l’objet d’un retour d’expérience documenté et d’un plan d’actions correctives. Nos politiques et procédures sont revues annuellement pour intégrer ces enseignements et les évolutions réglementaires. Résilience et continuité Comment assurez-vous la continuité de vos services ?Nous disposons d’un Plan d’Urgence et de Poursuite d’Activité (PUPA) intégrant un PCA (continuité) et un PRI (reprise). Ces plans sont régulièrement testés à travers des exercices de crise et des scénarios de bascule. Comment garantissez-vous la disponibilité et la redondance ?Nos services reposent sur une architecture redondée au sein de plusieurs zones européennes, permettant d’assurer une disponibilité de plus de 99,95 %. Quels sont vos objectifs de RPO et RTO ?CentralPay définit et teste régulièrement ses objectifs de continuité : RPO (Recovery Point Objective) : inférieur à 1 minute pour les systèmes critiques, grâce à la réplication temps réel des données. RTO (Recovery Time Objective) : inférieur à 15 mn pour la reprise des services essentiels, grâce à l’architecture redondée et aux procédures de bascule.Ces objectifs sont validés lors de nos exercices PCA/PRI et intégrés dans notre dispositif DORA. Comment gérez-vous vos sauvegardes ?Les sauvegardes sont chiffrées, isolées, redondées et régulièrement testées pour garantir leur restauration. Elles suivent les mêmes politiques de sécurité que les environnements de production. Réalisez-vous des tests de résilience conformément à DORA ?Oui. Nous réalisons des exercices de crise (cyberattaques simulées, pannes critiques), des tests de charge et de performance, des scénarios de bascule et, pour les fonctions critiques, des tests avancés de type TLPT (Threat-Led Penetration Testing). Relations avec les prestataires Comment sélectionnez-vous vos prestataires critiques ?Chaque prestataire fait l’objet d’une due diligence (sécurité, conformité, localisation des données, SLA). Les contrats incluent des clauses RGPD et DORA (sécurité, notification d’incident, droit d’audit). Comment contrôlez-vous vos prestataires dans la durée ?Nous tenons un registre DORA recensant tous nos prestataires TIC et identifiant les prestataires critiques. Ces derniers font l’objet d’un suivi renforcé : revues régulières, audits, attestations ISO/PCI et évaluations de résilience. Gestion des incidents Que se passe-t-il en cas d’incident de sécurité ?Nous appliquons une procédure de gestion des incidents incluant : détection, qualification, confinement, remédiation et forensic. Si nécessaire, nous notifions la CNIL sous 72h et informons les clients concernés. Chaque incident majeur donne lieu à un retour d’expérience et à un plan d’actions correctives suivi jusqu’à sa clôture. Protection des données personnelles Dernière mise à jour : 15/09/2025 Chez CentralPay, la protection des données personnelles est au cœur de nos engagements. En tant qu’Établissement de Monnaie Électronique agréé par l’ACPR (n° d’agrément 17138 nous traitons des données personnelles conformément au Règlement Général sur la Protection des Données (RGPD – UE 2016/679) et à la législation française applicable. Cette politique présente, de manière claire et transparente, les traitements de données personnelles que nous réalisons dans le cadre de l’exécution de nos services de paiement. 1. Qui est responsable du traitement ? Le responsable de traitement est :CentralPay – 19 rue Edouard VAILLANT – 37000 TOURSContact DPO : dpo@centralpay.com 2. Quelles données collectons-nous ? CentralPay collecte uniquement les données strictement nécessaires à la fourniture de ses services de paiement et au respect de ses obligations légales et réglementaires. Données d’identification Nom, prénom, civilité. Date et lieu de naissance. Nationalité. Qualité (dirigeant, représentant légal, UBO). Données de contact Adresse email. Numéro de téléphone (mobile ou fixe). Adresse postale professionnelle ou personnelle (selon le cas). Données de paiement Coordonnées bancaires : IBAN et BIC. Données de carte : numéro de carte (collecté uniquement dans un environnement sécurisé PCI DSS et immédiatement tokenisé), date d’expiration, schéma (Visa, Mastercard, etc.), pays émetteur, 4 derniers chiffres. Important : CentralPay n’expose jamais le numéro complet ni le cryptogramme au marchand. Données transactionnelles Identifiant de transaction, date et heure. Montant, devise, statut de paiement. Référence commande (orderId). Historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude Adresse IP de connexion. Empreinte technique du terminal (navigateur, langue, résolution écran) lors de l’authentification 3DS. Résultats et scores antifraude internes. Statut éventuel de mise en surveillance (liste noire technique). Données de conformité KYC/LCB-FT Pièces d’identité (CNI, passeport, titre de séjour). Justificatifs de domicile (facture d’énergie, quittance). Documents légaux de l’entreprise (Kbis, statuts, registre des bénéficiaires effectifs). Informations sur les UBO (noms, pourcentages de détention). Données techniques (liées aux services) Journaux applicatifs et techniques (logs API). Événements de traitement (webhooks envoyés aux marchands). Identifiants techniques de suivi (transactionId, customerId, etc.). 3. Pour quelles finalités utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Chaque traitement repose sur une base légale conforme au RGPD. Exécution des paiements et gestion des services Finalité : exécuter vos opérations de paiement (SEPA, carte, prélèvement, virement, récurrents ou fractionnés), assurer la facturation et gérer les flux financiers. Données concernées : coordonnées bancaires (IBAN, BIC), données de carte (token, schéma, pays, PAN masqué), identifiants de transaction, montants, devises, références commandes. Base légale : exécution du contrat (art. 6.1.b RGPD). Vérification d’identité et obligations réglementaires (KYC/LCB-FT) Finalité : satisfaire aux obligations légales de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), et aux exigences de supervision de l’ACPR. Données concernées : données d’identification (nom, prénom, date de naissance, nationalité), pièces d’identité, justificatifs de domicile, documents légaux de l’entreprise, informations sur les UBO. Base légale : obligation légale (art. 6.1.c RGPD, Code monétaire et financier art. L561-1 et suivants). Prévention et détection de la fraude Finalité : sécuriser les transactions, prévenir les paiements non autorisés ou frauduleux, appliquer les règles d’authentification renforcée (DSP2/3DS). Données concernées : adresse IP, empreinte technique du navigateur/appareil, schéma et pays émetteur de la carte, résultats des contrôles antifraude, statut éventuel de mise en surveillance. Base légale : obligation légale (DSP2) et intérêt légitime (sécurité des paiements – art. 6.1.f RGPD). Gestion de la relation client et du support Finalité : communiquer avec les clients et utilisateurs (confirmation d’opérations, envoi de liens de paiement, notifications), répondre aux demandes de support, assurer le suivi des réclamations et litiges. Données concernées : email, téléphone, identifiants client, données transactionnelles associées. Base légale : exécution du contrat (art. 6.1.b RGPD) et intérêt légitime (gestion de la relation client). Respect d’obligations comptables, fiscales et probatoires Finalité : conserver certaines données pour répondre aux obligations légales de conservation (Code de commerce, Code général des impôts), produire des justificatifs comptables et probatoires. Données concernées : données transactionnelles (montants, devises, dates, statuts, références), coordonnées bancaires liées aux opérations. Base légale : obligation légale (art. 6.1.c RGPD). Amélioration de nos services et sécurité technique Finalité : analyser l’usage de nos services, optimiser la performance, assurer la résilience et la cybersécurité, conformément au règlement DORA. Données concernées : journaux techniques (logs), événements (webhooks), identifiants techniques, statistiques d’usage anonymisées. Base légale : intérêt légitime (art. 6.1.f RGPD). 4. Quelle est la base légale de ces traitements ? Chaque traitement repose sur une base légale clairement définie : Exécution du contrat (art. 6.1.b RGPD) : exécution des paiements, gestion de compte, relation client, support. Obligation légale (art. 6.1.c RGPD) : conformité LCB-FT (art. L561 CMF), obligations comptables et fiscales (Code de commerce, CGI), obligations réglementaires (DSP2, ACPR). Intérêt légitime (art. 6.1.f RGPD) : prévention de la fraude, sécurité des systèmes, gestion des litiges, amélioration des services. Consentement (art. 6.1.a RGPD) : uniquement pour certaines communications marketing optionnelles ou si requis par la loi. 5. Combien de temps conservons-nous vos données ? CentralPay applique un calendrier de conservation strict, conforme aux exigences du RGPD, du Code monétaire et financier et du Code de commerce. Nous distinguons : a) Transactions financières (écritures comptables et probatoires) Conservées 10 ans conformément aux obligations comptables et probatoires (art. L123-22 Code de commerce). Données concernées : identifiants de transaction (transactionId), date, montant, devise, statut, référence commande (orderId). Ces informations sont nécessaires à la preuve contractuelle et à la comptabilité et ne sont pas anonymisées. b) Données personnelles associées aux transactions Conservées 24 mois maximum puis anonymisées de manière irréversible. Données concernées : Coordonnées du payeur (email, téléphone), Adresse IP, empreinte navigateur/appareil (3DS), Données carte (token, PAN masqué, date d’expiration, schéma, pays émetteur), Résultats antifraude (score, statut blacklist). Ces informations ne sont plus conservées au-delà de 24 mois car elles ne sont plus nécessaires ni légalement ni contractuellement. c) Données relatives aux cartes de paiement Conservées jusqu’à 24 mois après la date d’expiration de la carte, puis supprimées/anonymisées. CentralPay n’expose jamais le PAN complet ni le CVC hors de sa zone PCI DSS. d) Données relatives aux comptes bancaires (IBAN/BIC) et mandats SEPA Conservées pendant la durée du mandat + 10 ans (preuve contractuelle), puis supprimées/anonymisées. e) Données KYC / LCB-FT Conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF), puis supprimées/anonymisées. Données concernées : pièces d’identité, justificatifs de domicile, documents légaux de l’entreprise, informations sur les UBO. f) Abonnements et paiements fractionnés Conservés pendant la durée de l’abonnement + 5 ans (exigences probatoires), puis anonymisés. Données concernées : identifiant d’abonnement, échéancier, lien vers moyen de paiement. g) Journaux techniques et webhooks Conservés 24 mois maximum, puis anonymisés. Données concernées : logs API, événements de traitement, identifiants techniques (customerId, eventId), statuts, horodatages. 6. Qui sont les destinataires de vos données ? Vos données peuvent être transmises uniquement à : Services internes CentralPay (opérations, conformité, support, sécurité). Partenaires de paiement et établissements bancaires (acquéreurs, systèmes de règlement SEPA, schémas carte). Prestataires techniques (hébergement cloud, prestataire KYC, envoi SMS/email), soumis à des clauses contractuelles conformes RGPD. Autorités compétentes (ACPR, TRACFIN, Banque de France, autorités judiciaires). Nous ne revendons jamais vos données à des tiers. 7. Où sont traitées vos données ? Les données sont hébergées dans l’Union européenne et majoritairement en Frane En cas de transfert hors UE (ex. prestataire SMS, email), des clauses contractuelles types (SCC) et mesures supplémentaires sont mises en place pour garantir un niveau de protection équivalent. 8. Quels sont vos droits ? Conformément aux articles 15 à 22 du RGPD, vous disposez de : Droit d’accès, rectification, effacement. Droit à la limitation, opposition, portabilité. Droit de retrait du consentement (le cas échéant). Droit d’introduire une réclamation auprès de la CNIL. Vous pouvez exercer vos droits en écrivant à : dpo@centralpay.com (réponse sous 30 jours). 9. Sécurité CentralPay met en œuvre une politique de sécurité alignée sur les standards PCI DSS, ISO 27001/27005 et sur le règlement européen DORA (Digital Operational Resilience Act). Nos dispositifs couvrent l’ensemble du cycle de vie des données et des services de paiement afin de garantir leur confidentialité, leur intégrité et leur disponibilité. La sécurité est d’abord assurée par une gouvernance claire et une gestion proactive des risques. Nous disposons d’un cadre de gestion des risques validé par la direction, qui comprend une politique d’appétence au risque, une cartographie alignée sur les normes ISO et DORA, ainsi que des indicateurs de risque suivis régulièrement. Ce cadre est mis en œuvre à travers une organisation en trois lignes de défense et piloté par un comité de sécurité et de conformité. La protection des données repose sur un chiffrement systématique, tant en transit (TLS 1.2/1.3) qu’au repos (AES-256), avec une gestion centralisée des clés. Les données de paiement sont traitées exclusivement dans un environnement certifié PCI DSS niveau 1 et font l’objet d’une tokenisation irréversible qui évite toute exposition des numéros complets de carte ou des cryptogrammes. De plus, nous appliquons des politiques strictes de purge et d’anonymisation automatique des données personnelles à l’issue des durées de conservation prévues par le RGPD. Les accès aux systèmes sont strictement contrôlés grâce à une gestion des identités centralisée et basée sur le principe du moindre privilège. Chaque collaborateur est soumis à une authentification forte à deux facteurs (MFA), et les habilitations font l’objet de revues régulières afin de garantir leur pertinence. Nos infrastructures font l’objet d’une surveillance permanente. Les opérations sensibles sont journalisées de manière exhaustive et horodatée, et un système de supervision en temps réel, couplé à un SIEM, permet de détecter rapidement les incidents de sécurité. La résilience opérationnelle est assurée par un dispositif de continuité aligné sur DORA. CentralPay a mis en place un Plan d’Urgence et de Poursuite d’Activité (PUPA) incluant des volets PCA et PRI, régulièrement testés. Des tests de pénétration et des exercices de gestion de crise sont organisés chaque année, tandis qu’une politique stricte d’externalisation TIC garantit l’évaluation continue des prestataires critiques et la tenue d’un registre d’information réglementaire. La gestion des incidents suit une procédure formalisée de détection, classification et traitement. En cas d’incident majeur, nous respectons les délais de notification réglementaire auprès de l’ACPR et de la CNIL, et un retour d’expérience systématique est organisé afin d’améliorer en permanence le dispositif de sécurité. Enfin, CentralPay s’inscrit dans une logique d’amélioration continue. Des audits internes et externes, y compris des audits indépendants PCI DSS et de cybersécurité, sont réalisés régulièrement. Nos dispositifs de contrôle permanent et d’audit périodique sont revus chaque année afin de garantir leur efficacité et leur conformité aux normes internationales et aux exigences réglementaires. 10. Mise à jour de la politique Cette politique peut être modifiée pour refléter l’évolution des traitements et obligations légales. Toute mise à jour sera publiée sur notre site et, si nécessaire, communiquée aux clients concernés. Sous-traitants Dans le cadre de la fourniture de ses services de paiement, Centralpay s’appuie sur un ensemble de sous-traitants au sens de l’article 4 du Règlement Général sur la Protection des Données (RGPD). Ces sous-traitants peuvent être amenés à traiter des données à caractère personnel pour le compte de Centralpay, exclusivement sur instructions documentées et dans la limite des finalités du service auquel ils contribuent. La présente page recense les sous-traitants susceptibles d’intervenir dans le traitement des données à caractère personnel des Titulaires, Marchands et Payeurs utilisateurs des services Centralpay. Elle est mise à jour à mesure de l’évolution de notre dispositif. Sous-traitantFinalitéPays de traitement des donnéesCatégories de donnéesAmazon Web Services (AWS)Hébergement cloud de certains services et données applicativesIrlandeEnsemble des données traitées par les servicesComply Advantage (IVXS)Screening LCB-FT et vérification des listes de sanctions internationalesRoumanieDonnées d’identificationDotfileGestion des processus d’onboarding, collecte et mise à jour des dossiers KYC/KYBFranceDonnées d’identification, justificatifsGpaymentsAuthentification 3D-Secure des transactions par carte (second prestataire)IrlandeDonnées carte, authentificationInnovestSociété mère du groupe, destinataire interne pour les finalités de gouvernance, audit, conformité et reporting consolidéFranceDonnées de gouvernance et de reportingMicrosoftGestion et contrôle des flux financiersFranceDonnées transactionnelles et comptablesNetceteraAuthentification 3D-Secure des transactions par carte (Access Control Server)SuisseDonnées carte, authentificationOnfidoVérification automatisée des documents d’identité et des éléments biométriques (reconnaissance faciale, détection de vie)EuropeDonnées d’identité, données biométriquesQomboVerification of Payee (vérification du bénéficiaire d’un virement SEPA)FranceDonnées d’identification, IBANTanla Digital LabsEnvoi de SMS (codes d’authentification, notifications)EuropeNuméro de téléphone, contenu du message Encadrement des sous-traitants et procédure de modification Conformément à l’article 28 du RGPD, l’ensemble des sous-traitants engagés par Centralpay agissent exclusivement sur instructions documentées, sont liés par des engagements contractuels stricts en matière de confidentialité et de sécurité, et ne peuvent utiliser les données à caractère personnel à d’autres fins que celles définies par Centralpay. Toute modification substantielle de cette liste fera l’objet d’une information préalable par tout moyen approprié (notification dans le Portail Marchand, courrier électronique, ou mise à jour publique de la présente page), permettant aux personnes concernées, le cas échéant, de s’y opposer. Pour toute question relative au traitement de vos données ou à l’exercice de vos droits, vous pouvez contacter notre Délégué à la Protection des Données à l’adresse : dpo@centralpay.eu. FAQ - Protection des données personnelles Gouvernance et responsabilités Responsable du traitement et contact DPO CentralPay, Établissement de Monnaie Électronique (EME), est responsable du traitement pour ses services de paiement.Contact DPO : dpo@centralpay.com (réponse sous 30 jours). Données collectées Quelles données collectons-nous ? Dans le cadre de la fourniture de ses services de paiement et afin de respecter ses obligations légales, CentralPay collecte uniquement les données strictement nécessaires. Ces données varient en fonction du type d’opération (paiement, vérification KYC, lutte contre la fraude, support client). Elles se répartissent en plusieurs catégories : Données d’identification : nom, prénom, civilité, date et lieu de naissance, nationalité, qualité (par exemple représentant légal, dirigeant ou bénéficiaire effectif – UBO). Données de contact : adresse email, numéro de téléphone, adresse postale. Données de paiement : coordonnées bancaires (IBAN, BIC) ; données de carte traitées exclusivement dans un environnement certifié PCI DSS (numéro complet et CVC collectés uniquement pour être tokenisés et jamais exposés en clair), date d’expiration, schéma (Visa, Mastercard…), pays émetteur, 4 derniers chiffres. Données transactionnelles : identifiant de transaction (transactionId), date et heure, montant, devise, statut, référence commande (orderId), historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude : adresse IP, empreinte 3DS (navigateur/appareil), résultats et scores antifraude, statut éventuel de mise en surveillance technique. Données de conformité KYC/LCB-FT : pièces d’identité officielles, justificatifs de domicile, documents légaux de l’entreprise (ex. Kbis, statuts), informations sur les bénéficiaires effectifs (UBO et pourcentages de détention). Données techniques : journaux applicatifs (logs API), événements transmis aux marchands (webhooks), identifiants techniques (customerId, eventId). CentralPay ne collecte aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.), sauf si la loi l’imposait de manière exceptionnelle. Finalités Pourquoi utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Bases légales Sur quelles bases légales reposent nos traitements ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Pendant combien de temps conservons-nous vos données ? CentralPay applique des délais de conservation précis, fondés sur les obligations légales et les besoins opérationnels. À l’issue de ces délais, les données sont soit supprimées, soit anonymisées de façon irréversible. Transactions financières (écritures probatoires) : conservées 10 ans, conformément au Code de commerce. Données personnelles associées aux transactions (email, téléphone, IP, empreintes 3DS, PAN masqué, token de carte, scores fraude) : conservées 24 mois maximum, puis supprimées ou anonymisées. Données de carte (token + métadonnées) : conservées jusqu’à 24 mois après la date d’expiration de la carte. Le PAN complet et le CVC ne sont jamais exposés en clair. Payment Requests (emails/SMS) : conservées 24 mois maximum. Abonnements et paiements fractionnés : conservés pendant la durée de l’abonnement + 5 ans. Comptes bancaires (IBAN/BIC) et mandats SEPA : conservés pendant la durée du mandat + 10 ans (preuve contractuelle). KYC / LCB-FT : données conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF). Journaux techniques et webhooks : conservés 24 mois. Au-delà de ces durées, CentralPay ne conserve que des données anonymisées ou strictement nécessaires au respect d’une obligation légale. Localisation et transferts Où vos données sont-elles traitées ? Les données traitées par CentralPay sont hébergées en priorité dans l’Union européenne, principalement en France, dans des environnements certifiés PCI DSS et ISO 27001. À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Si un transfert hors UE devait être nécessaire à l’avenir (par exemple pour un prestataire SMS ou email), il serait encadré par : une analyse d’impact du transfert, la mise en place des Clauses Contractuelles Types (SCC) de la Commission européenne, des mesures techniques complémentaires (chiffrement, segmentation, contrôle d’accès), et une information transparente de nos clients. Transfert de données hors UE : comment procédons-nous ? À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Toutes les données sont hébergées et traitées dans l’UE, principalement en France et au sein d’infrastructures certifiées (PCI DSS). Si, à l’avenir, un transfert hors UE devait être nécessaire (par exemple pour un prestataire SMS ou email), CentralPay s’engage à : procéder à une analyse d’impact sur le transfert, appliquer les Clauses Contractuelles Types (SCC) de la Commission européenne, mettre en place des mesures techniques supplémentaires (chiffrement, cloisonnement, contrôle d’accès), et informer ses clients en toute transparence. Nature des données Traitons-nous des données sensibles ? Non. CentralPay ne traite aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.).Nous collectons uniquement les informations strictement nécessaires à l’exécution des paiements et au respect de nos obligations légales (LCB-FT, supervision ACPR). Collectons-nous des données de mineurs ? CentralPay fournit ses services exclusivement à des professionnels (B2B). Nous ne collectons donc pas volontairement de données de mineurs.Si, indirectement, un mineur est amené à effectuer un paiement, le traitement reste limité aux données de paiement nécessaires (ex. coordonnées bancaires ou carte), et toujours sous la responsabilité de son représentant légal lorsqu’une vérification est requise. Conformité RGPD Réalisons-nous des analyses d’impact (PIA)? Oui, nous réalisons des AIPD (PIA) pour les traitements susceptibles d’engendrer un risque élevé (ex. KYC, antifraude/3DS, tokenisation carte, analyses longitudinales). Les risques résiduels et mesures de réduction sont documentés. Comment garantissons-nous la minimisation et le privacy by design ? Nous collectons uniquement les champs nécessaires par finalité, cloisonnons les environnements (prod/préprod), nous n’utilisons aucune donnée réelle en test, limitons les payloads webhooks au minimum utile, et appliquons des purges/anonymisations automatiques à l’échéance. Comment CentralPay documente sa conformité RGPD ? Politique RGPD publique (site). Registre des traitements (interne, à jour). PIA sur les traitements à risque (interne). Politiques/procédures (sécurité, purge, incidents, droits). Rapports de contrôle interne (ACPR). Sous-traitants Comment encadrons-nous nos prestataires ? Chaque prestataire est contractuellement encadré (art. 28) : mesures de sécurité, confidentialité, notification d’incident, audibilité, localisation des données, sous-traitance en cascade contrôlée. Due diligence initiale + réévaluation régulière (sécurité, SLA, conformité). Quels prestataires utilisons-nous ? Sur demande et après NDA, nous pouvons fournir la liste à jour par catégorie de nos prestataires (hébergement/cloud, KYC, envoi email/SMS, anti-fraude, support) en indiquant la zone géographique. Comment sélectionnons-nous nos prestataires essentiels ? CentralPay applique une politique d’encadrement des sous-traitants alignée à la fois sur le RGPD (art. 28) et sur le règlement DORA. Lors de la sélection, nous menons une due diligence approfondie couvrant la sécurité (certifications, mesures techniques), la conformité réglementaire (RGPD, DSP2, LCB-FT), la localisation et le régime juridique des données, la solidité financière du prestataire ainsi que les niveaux de service (SLA) proposés. Pour les prestataires critiques, nous examinons en particulier leur intégration dans la chaîne de valeur des services de paiement et leur rôle en matière de résilience opérationnelle. Chaque relation contractuelle inclut des clauses conformes à l’article 28 RGPD (confidentialité, sécurité, notification d’incident, limitation des sous-traitances en cascade) ainsi que, le cas échéant, des Clauses Contractuelles Types (SCC) pour encadrer les transferts hors Union européenne. Conformément à DORA, nous tenons un registre d’information des prestataires TIC et identifions ceux considérés comme prestataires critiques. Ces prestataires font l’objet d’une évaluation renforcée, avec des exigences contractuelles spécifiques en matière de disponibilité, d’intégrité, de continuité et de tests de résilience. Le suivi est assuré au travers de revues régulières (contrôles, rapports d’audit, attestations de conformité type SOC/ISO, questionnaires de sécurité), d’un droit d’audit contractuel et de mécanismes de reporting périodique. Nous intégrons ces évaluations dans notre cartographie des risques TIC et nos comités de suivi DORA. Sécurité et résilience Quelles protections techniques appliquons-nous ? CentralPay protège les données et les systèmes en combinant des mécanismes techniques robustes et conformes aux meilleurs standards internationaux.Les échanges sont sécurisés par un chiffrement systématique : TLS 1.2/1.3 pour les données en transit et AES-256 pour les données au repos, avec une gestion centralisée des clés.Les données de carte sont traitées exclusivement dans un environnement PCI DSS niveau 1, avec collecte en zone dédiée et tokenisation irréversible pour éviter toute exposition du PAN complet.Les accès aux systèmes sont contrôlés par des mécanismes RBAC (role-based access control) et protégés par une authentification forte (MFA), avec des revues régulières des habilitations.Toutes les actions sensibles font l’objet d’une journalisation horodatée et inviolable, intégrée dans un SIEM qui assure la détection et l’alerte en temps réel.L’infrastructure est cloisonnée : segmentation des réseaux, séparation stricte des environnements (production, test, préproduction) et gestion sécurisée des secrets.Enfin, CentralPay teste régulièrement son dispositif à travers des tests de pénétration, des scans de vulnérabilités et des audits externes indépendants. Comment notre organisation garantit la sécurité ? La sécurité ne repose pas uniquement sur la technologie mais aussi sur une organisation et une gouvernance solides.CentralPay applique un cadre de gestion des risques intégrant une cartographie détaillée, des indicateurs de suivi (KRI) et une politique d’appétence au risque validée par la direction.La supervision s’appuie sur le modèle reconnu des trois lignes de défense : les opérations assurent les contrôles de premier niveau, une fonction indépendante de conformité et de contrôle permanent supervise la deuxième ligne, et l’audit interne constitue la troisième ligne.Un comité sécurité et conformité se réunit régulièrement pour piloter la stratégie et mettre à jour les politiques et procédures clés (gestion des accès, incidents, purges, exercice des droits RGPD).Enfin, la culture sécurité est renforcée par des formations régulières des équipes, couvrant la cybersécurité, la protection des données personnelles et les obligations LCB-FT. Que faisons-nous en cas d’incident de sécurité ? CentralPay dispose d’une procédure formalisée de gestion des incidents.En cas d’incident, nous procédons à une détection rapide, une qualification et un confinement immédiat, suivis d’actions de remédiation.Les événements sont intégralement journalisés et investigués (forensic) afin d’identifier la cause et d’éviter leur récurrence.Lorsque la réglementation l’impose, nous notifions la CNIL dans un délai maximum de 72 heures et informons les personnes concernées en cas de risque élevé.Chaque incident donne lieu à un retour d’expérience (REX) et à la mise en place d’un plan d’actions correctives, qui est suivi jusqu’à sa résolution complète. Nos audits de sécurité CentralPay est soumis à plusieurs niveaux de contrôle et de tests de sécurité, à la fois internes et externes : Audits externes réguliers : Certification annuelle PCI DSS niveau 1 sur la collecte et le traitement des données de paiement, Audits indépendants de cybersécurité, Tests de pénétration réalisés par des prestataires tiers pour identifier et corriger les vulnérabilités. Contrôles internes permanents (seconde ligne de défense) : revues des habilitations, scans de vulnérabilités, surveillance des systèmes critiques. Audits périodiques indépendants (troisième ligne de défense) : audit interne et audit externe du dispositif de sécurité, conformité réglementaire (ACPR, DORA). Revue annuelle des politiques : l’ensemble de nos politiques de sécurité, de purge, d’incidents et de gestion des prestataires est revu et validé chaque année par la direction. Tests de résilience conformément à DORA : Plans de Continuité et de Reprise d’Activité (PCA/PRI) testés régulièrement pour valider la capacité à maintenir les services en cas d’incident majeur, Exercices de crise simulant des scénarios de cyberattaque ou d’indisponibilité critique, Tests de charge et de performance sur les infrastructures critiques, Scénarios de bascule et redondance entre environnements pour garantir la disponibilité, Pour les fonctions critiques, recours progressif à des tests de résilience avancés de type “TLPT” (Threat-Led Penetration Testing), exigés par DORA pour les acteurs significatifs. Droits des personnes Quels sont vos droits et comment les exercer ? En application des articles 15 à 22 du RGPD, vous disposez des droits suivants sur vos données personnelles : droit d’accès, droit de rectification, droit à l’effacement, droit à la limitation, droit d’opposition, droit à la portabilité, droit de retrait du consentement. Vous pouvez exercer vos droits en adressant une demande à : dpo@centralpay.com.Nous nous engageons à vous répondre dans un délai de 30 jours maximum, sauf cas exceptionnel justifiant une prolongation. En cas de difficulté, vous pouvez également saisir la CNIL. Comment concilions-nous effacement et obligations légales ? CentralPay respecte le droit à l’effacement prévu par le RGPD, mais certaines données doivent être conservées en raison d’obligations légales.Nous supprimons ou anonymisons toutes les données personnelles qui ne sont plus nécessaires.En revanche, lorsque la loi nous impose de conserver certaines informations (par exemple les écritures comptables pendant 10 ans ou les données KYC pendant 5 ans après la fin de la relation), ces données sont maintenues mais : leur accès est strictement limité, elles ne sont utilisées que pour les finalités imposées par la loi (contrôle ACPR, TRACFIN, obligations probatoires). Ainsi, nous trouvons un équilibre entre le respect des droits des personnes et nos obligations réglementaires. Autres garanties Utilisons-nous des décisions automatisées ou du profilage ? CentralPay n’applique aucune décision entièrement automatisée produisant des effets juridiques ou significatifs sur les personnes, au sens de l’article 22 du RGPD.Nous utilisons en revanche des outils de scoring antifraude qui calculent un niveau de risque sur les transactions. Ces résultats servent uniquement d’aide à la décision : lorsqu’un cas est sensible ou à risque, il est systématiquement revu et validé par un contrôle humain. Utilisons-nous des cookies ou traceurs à des fins publicitaires ? Sur les parcours de paiement et dans les API, CentralPay n’utilise aucun cookie publicitaire ni traceur marketing. Seuls des cookies ou traceurs strictement nécessaires au fonctionnement technique et à la sécurité des parcours (ex. gestion de session, authentification) peuvent être utilisés.À ce stade, aucun mécanisme de consentement via bannière n’est nécessaire, puisque nous n’utilisons pas de cookies optionnels. Comment assurons-nous la résilience et les sauvegardes ? Oui. L’infrastructure est redondée sur deux data centers localisés en France ; les sauvegardes sont chiffrées et externalisées, testées régulièrement (restores) et retiennent les mêmes contrôles d’accès que la production. Avons-nous une politique de purge et d’anonymisation documentée ? Oui, avec délais par objet (transactions/personnelles 24 mois, cartes jusqu’à 24 mois après date d’expiration, KYC 5 ans post-relation, mandats 10 ans, logs 24 mois) et mécanismes (suppression vs anonymisation irréversible), plus traces de purge (logs d’exécution). Nos environnements de test contiennent-ils des données réelles ? CentralPay n’utilise jamais de données personnelles réelles dans ses environnements de test ou de préproduction. Tous nos jeux de données internes (ex. cartes, IBAN, profils clients) sont synthétiques ou fictifs et conformes aux standards PCI DSS. Cependant, les utilisateurs de nos environnements de test (par ex. marchands intégrateurs) peuvent techniquement saisir leurs propres données. Cette pratique est formellement interdite et encadrée par nos conditions d’utilisation. Si un utilisateur insère par erreur des données personnelles dans un environnement de test, celles-ci : ne sont pas utilisées à des fins de traitement de paiement réel, ne sont pas répliquées en production, et font l’objet d’une purge automatique ou manuelle dès leur détection. Comment CentralPay gère-t-il l’accès des équipes support aux données ? Les équipes support de CentralPay n’ont pas d’accès direct et permanent aux données personnelles. L’accès est accordé uniquement en cas de besoin opérationnel (par exemple pour résoudre un incident ou assister un client), et selon les principes suivants : Accès temporaire et justifié : chaque accès est accordé pour une durée limitée et doit être motivé par un ticket ou une demande validée. Principe du moindre privilège : l’agent support ne voit que les données strictement nécessaires pour traiter la demande. Authentification forte (MFA) : tous les accès sont sécurisés par une authentification à plusieurs facteurs. Traçabilité complète : chaque action effectuée par un membre du support est enregistrée et auditée. Revue régulière des habilitations : les droits d’accès sont revus mensuellement pour s’assurer qu’ils restent justifiés. Masquage des données sensibles : les champs sensibles (ex. numéro complet de carte, CVC, IBAN complet) sont systématiquement masqués dans les interfaces, afin que le support ne puisse jamais les visualiser en clair. Offrons-nous des clauses contractuelles spécifiques RGPD à vos clients ? Nos CGU/contrats intègrent les clauses nécessaires (confidentialité, sécurité, coopération incidents, sous-traitance, conservation/purge). Des avenants RGPD sont possibles selon les cas d’usage. Partageons-nous nos politiques et procédures internes ? La Politique RGPD publique est disponible en ligne. Les politiques internes détaillées (procédures incidents, purge, sécurité) ne sont, par défaut, pas partagées.
Trust Center Articles Compliance and Operational ResilienceDORA Privacy PolicyRGPD Compliance and Operational Resilience Last updated: June 30, 2025 « Our commitment to protecting your transactions and ensuring uninterrupted service. A system that complies with European requirements for security and the continuity of financial services. » 1. Governance and Security Organization At CentralPay, security is not just a set of technical rules, but a governance approach integrated at every level of the company. Our system is based on a clear organizational structure, defined responsibilities, and regular oversight by management. The security policy forms the foundation of this system. It establishes the guiding principles for data protection and service continuity. Updated annually, it is approved by the executive committee and distributed to all relevant employees. Each employee is thus made aware of best practices and commits to complying with the established rules. ICT governance is structured around several key stakeholders. The Chief Information Security Officer (CISO) leads the overall strategy, oversees security controls, and ensures compliance with international standards (PCI DSS, DORA). The technical department is responsible for the day-to-day operation of the infrastructure and ensures the availability of critical systems. Finally, an IT Committee meets regularly to analyze incidents, approve technical and budgetary changes, and ensure continuous improvement in security. This organizational structure allows us to balance operational responsiveness with regulatory requirements. It also provides our customers with clear visibility: security is monitored, managed, and controlled in a documented manner, with responsibilities shared among management, technical teams, and senior leadership. 2. Access Management and Authorizations Access management is one of the cornerstones of CentralPay’s security. Each access right is granted according to a formalized procedure approved by management, to ensure that it strictly corresponds to the employee’s business needs. When a new employee joins the company, their access rights are created in Active Directory and approved by their supervisor; upon departure, they are immediately revoked by the IT department. Security is also based on the principle of least privilege: no one may access more resources than are strictly necessary for their duties. Sensitive access, such as access to critical systems or databases, is systematically subject to multi-factor authentication (MFA). To strengthen this system, periodic reviews of access permissions are conducted every quarter to identify and correct any anomalies. This rigorous approach ensures complete control over identities and access rights, and protects our customers from any risk of unauthorized access to their data. 3. Technical Safety CentralPay’s technical security is based on an architecture designed according to the principles of defense in depth. Each layer—from the network to the applications—benefits from redundant protection mechanisms that are regularly tested. Network Segmentation The infrastructure is divided into several zones: Public DMZ for servers exposed to the Internet (reverse proxy, WAF, SMTP relay); internal zone for sensitive databases and services; an administrative network reserved for administrative operations; Isolated log area for collecting and analyzing logs. Traffic between these zones is strictly controlled by redundant firewalls configured for stateful inspection and with NAT rules. These firewalls incorporate anti-spoofing mechanisms and traffic anomaly detection. The configurations are maintained by the “system and network administrators” group and are reviewed periodically. Physical and Logical Protection Access to the production facilities is controlled by personalized ID badges, video surveillance, and remote monitoring (SECURITAS). Access to the server rooms and the PCI area is restricted to authorized personnel.From a logical standpoint, each system access is authenticated using a unique username, reinforced by MFA. Permissions are granted based on defined roles and in accordance with the principle of least privilege. Surveillance and Intrusion Detection Monitoring is carried out continuously using a combination of tools: Zabbix, for real-time monitoring of servers, applications, and critical data streams; Wazuh, with Snort integration, for intrusion detection and event correlation; ElasticSearch/Kibana, for aggregating and visualizing logs. Critical alerts are sent in real time to technical teams via email and text message, and their resolution is tracked in an incident log. Encryption and Key Management Sensitive payment data (PANs, expiration dates) is encrypted using AES-256 and rendered unreadable via a salted SHA-512 hash for comparison purposes.Key management is performed exclusively within certified hardware security modules (HSMs). The master key is split into several components, held by different individuals, to prevent any risk of compromise. Application keys cannot be exported in plain text, and their use is strictly tracked. By combining these measures, CentralPay ensures a robust technical environment that complies with PCI DSS 4.0.1 requirements and DORA resilience standards. 4. Risk and Incident Management Risk management is a strategic priority for CentralPay’s governance. The approach adopted aims to anticipate threats, reduce the likelihood of their occurrence, and ensure a rapid and effective response in the event of an incident. Risk Management Each year, a risk assessment is conducted using the Ebios methodology, which includes Integration: identifying risks related to security (intrusions, malicious attacks, data breaches) and operations (technical failures, software malfunctions); their analysis in terms of probability and business impact; their classification as Low, Medium, or High; addressing them through preventive measures (patching, network segmentation, encryption, monitoring) or mitigation measures (workarounds, redundancies). The risk register is updated on an ongoing basis and presented at annual management reviews. Incident Management CentralPay has implemented a comprehensive incident management procedure that is aligned with DORA requirements and EBA guidelines: Detection: via automated monitoring (Zabbix, Wazuh) or through internal/external reports (customers, partners). Classification: Each incident is analyzed and classified based on its impact, duration, geographic scope, and criticality. Prioritization: An evaluation matrix (based on urgency of resolution and financial impact) is used to define priority levels ranging from 1 to 4. Regulatory notification: Incidents classified as “major” must be reported to the ACPR: initial report submitted within 4 hours, interim report within 3 business days, final report within 20 days. Transparency and Feedback In addition to regulatory reporting, major incidents are communicated transparently to the affected customers. A post-incident analysis is systematically conducted to identify lessons learned, strengthen existing procedures, and implement corrective actions. This system enables CentralPay not only to respond effectively to incidents, but above all to continuously strengthen its resilience and the trust of its customers. 5. Resilience Tests CentralPay believes that the resilience of an infrastructure is not proven solely on paper but through regular, documented tests. That is why the platform conducts various test scenarios designed to measure its security level, its disaster recovery capabilities, and the responsiveness of its teams. Penetration Testing Penetration tests are conducted on a regular basis by internal teams and specialized service providers to benefit from an independent external perspective. Three methodologies are used: Black-box: The auditor has no prior information, which simulates the behavior of an external attacker; Grey-box: The auditor has partial information (limited user accounts, simplified architecture diagrams) to simulate a realistic scenario involving a malicious user; White-box: The auditor has a complete understanding of the architecture, enabling an in-depth analysis and the detection of complex vulnerabilities. These tests cover both the network and application layers, with a particular focus on the vulnerabilities listed in the OWASP Top Ten. The results are documented in detailed reports, which include a classification of vulnerabilities by severity (Critical, High, Medium, Low) and recommendations for remediation. Network Segmentation Tests CentralPay also performs segmentation tests to verify that the logical partitions between zones (DMZ, internal, administration, logs) are effective and that no unauthorized traffic is possible. These tests ensure that, even if an exposed zone is compromised, the attacker cannot access critical systems. Simulation Exercises and PCA Switches In addition to technical tests, crisis simulation exercises are conducted. These exercises involve several teams (technical, compliance, management) and simulate attack scenarios or major outages. The goal is to test not only the robustness of the infrastructure but also the quality of coordination and communication during a crisis. Finally, PCA switchover tests are conducted at least once a year. These tests verify that critical services can be transferred to the secondary site within the specified time frame and that the teams are fully proficient in the recovery procedures. These various tests, which are documented and monitored, demonstrate CentralPay’s commitment to a process of continuous improvement in its resilience. 6. High Availability and Disaster Recovery Planning The availability of payment services is an absolute requirement for CentralPay. To ensure seamless continuity, the company has designed its architecture around the principles of high availability (HA) and a multi-site Business Continuity Plan (BCP). Multi-site architecture CentralPay has two separate sites: a primary production site and a secondary site dedicated to the disaster recovery plan. These sites are operated by different providers, incorporate BGP routing, and use Internet connections provided by multiple carriers, which reduces the risk of dependence on a single provider. Component Redundancy Each critical component is deployed with redundancy: Firewalls and load balancers: configured in active/active or active/passive mode, allowing for automatic failover in the event of a failure; Application servers: distributed across multiple nodes to ensure fault tolerance; Databases: replicated in real time between the production and disaster recovery sites, ensuring a near-zero RPO; Application proxies and WAFs: deployed at the front end to handle traffic and filter out threats, with automatic failover. Recovery Objectives (RTO and RPO) RPO (Recovery Point Objective): Thanks to continuous replication, critical data can be restored to a state that is virtually identical to the one immediately prior to the incident; RTO (Recovery Time Objective): Automatic failover mechanisms ensure that critical applications are back online within a few minutes to a maximum of one hour, depending on the type of component. Failover Scenarios and Tests The PCA is designed to address various scenarios: hardware failure, network outage, data center unavailability, and major cyberattacks. Each scenario has a documented action plan. Regular failover tests confirm that RTO/RPO commitments are met in practice. Through this system, CentralPay assures its customers that, even in the event of a major incident, their payment transactions will remain available and secure. 7. Continuity and Backups The continuity of CentralPay’s services does not rely solely on the redundancy of its infrastructure and its business continuity plan. It is also ensured by a strict data backup and recovery policy. Daily, encrypted backups Critical data—whether payment data or the platform’s operational data—is backed up daily. These backups are encrypted using AES-256, in accordance with international standards, to ensure their confidentiality in the event of unauthorized access. Secure Storage and Rotation Backups are stored using a redundancy and rotation system: A copy is stored on internal backup servers, which are protected by restricted access; A copy is moved and stored in a secure safe; Other copies are stored off-site to ensure availability even in the event of a physical disaster affecting a site. Regular rotation of storage media ensures that backups remain reliable and usable. Restoration Tests The value of a backup is not measured solely by its preservation but also by its ability to be restored. CentralPay therefore conducts regular restore tests, which verify not only the integrity of the backed-up data but also how quickly it can be restored to the production system. Thanks to this approach, CentralPay ensures that, even in the event of a major incident, its customers will not suffer any significant data loss and will be able to resume their operations without prolonged disruption. 8. Management of Critical Service Providers CentralPay recognizes that the security and continuity of its services also depend on the strength of its partners. That is why the company has implemented strict governance procedures for managing critical service providers, particularly those directly involved in hosting, data processing, or payment services. Audits and Certifications Each year, an audit is conducted on the primary hosting provider and service providers deemed critical. The goal is to verify the robustness of their security measures, their business continuity capabilities, and their regulatory compliance.For service providers that process, store, or transmit card data, CentralPay requires PCI DSS certification and obtains an Attestation of Compliance (AOC) that is updated annually. Contractual Provisions and Oversight Contracts with critical service providers include specific DORA clauses, covering, in particular: service level agreements (SLAs regarding availability and performance), safety requirements, the implementation of a business continuity plan (BCP) and disaster recovery plan (DRP) compatible with CentralPay’s, immediate notification in the event of a security incident. CentralPay maintains an up-to-date inventory of all its critical service providers and their associated services. This inventory is regularly updated and serves as the basis for reporting to the ACPR and other supervisory authorities. Sustainability and Continuous Improvement Finally, the relationship with service providers is not limited to one-time reviews. The results of audits, continuity tests, and any incidents are presented to the governance committee. Action plans are then developed to strengthen the security or availability of outsourced services. As such, CentralPay guarantees its customers that third parties who contribute to its critical services are subject to the same standards as its own teams. FAQ - Compliance and Resilience Governance and Responsibilities Who is responsible for security at CentralPay?Security is overseen by our CISO (Chief Information Security Officer), who reports directly to the President. The CISO relies on an ICT committee and a risk management framework aligned with ISO 27005 and the DORA regulation. The CISO can be reached at the following address: rssi@centralpay.com Do you have a documented security policy?Yes. Our Information System Security Policy (ISSP) defines the rules that apply to all our teams and service providers. It covers data classification, access management, system protection, incident management, business continuity, and oversight of IT service providers. How do you integrate security into your strategic decisions?Security and resilience are integrated into our comprehensive risk management framework. This framework includes ISO/DORA-aligned risk mapping, a risk appetite policy, and monitoring through key risk indicators (KRIs). Security decisions are reviewed by the Security & Compliance Committee and approved by senior management. How do you monitor your security systems?We follow the three lines of defense model: business teams perform operational controls, compliance and ongoing monitoring provide oversight, and periodic audits conduct an independent assessment. Data and System Protection How do you protect CentralPay’s data and systems?All data is encrypted: TLS 1.2/1.3 for data in transit and AES-256 for data at rest. Card data is processed exclusively in a PCI DSS Level 1-certified environment and immediately tokenized, so that no full card numbers are stored in plain text. Our infrastructure is segmented and protected by firewalls, IDS/IPS, and SOC monitoring. Access to sensitive environments is restricted, follows the principle of least privilege, and is protected by MFA. All workstations are encrypted, secured by antivirus/EDR software, and updated automatically. Safety Tests and Inspections Do you conduct security tests?Yes. We regularly conduct independent penetration tests, automated vulnerability scans, and external audits (including PCI DSS). These checks help us identify vulnerabilities and continuously strengthen our security measures. How do you handle logging?Logs are retained for 24 months, time-stamped, protected by encryption, and integrated into our security information and event management (SIEM) system. Access to them is strictly limited to authorized teams. How do you manage vulnerabilities and updates?We follow a strict patch management policy: critical vulnerabilities are patched within 24 hours, high-severity vulnerabilities within 7 days, and other patches are applied on a scheduled basis. Compliance is monitored through scans and compliance reports. Organizational Structure and Safety Culture How do you raise your employees’ awareness of safety?All employees undergo mandatory annual training on cybersecurity, the GDPR, and anti-money laundering and counter-terrorism financing (AML/CTF) regulations. Regular awareness campaigns (phishing exercises, e-learning) complement this program. Technical teams receive more in-depth training. How do you ensure that access remains restricted?We follow the principle of least privilege: each user has access only to the resources necessary for their role. Permissions are justified, temporary, and systematically tracked. How do you manage administrator access?Access to elevated privileges is limited to a small number of individuals, is subject to MFA, is tracked, and is reviewed regularly. Such access is granted only for specific purposes and for a limited period of time. Proactive Planning and Continuous Improvement How do you anticipate emerging threats?We conduct active cybersecurity monitoring through bulletins from CERT-FR, ANSSI, software vendors, and cloud providers. This threat intelligence activity allows us to adapt our defenses in real time. How do you continuously improve your security?Every incident, audit, or test is followed by a documented review and a corrective action plan. Our policies and procedures are reviewed annually to integrate these lessons learned and regulatory changes. Resilience and Continuity How do you ensure the continuity of your services?We have an Emergency and Business Continuity Plan (PUPA) that includes a Business Continuity Plan (BCP) and a Disaster Recovery Plan (DRP). These plans are regularly tested through crisis drills and failover scenarios. How do you ensure availability and redundancy?Our services are based on a redundant architecture spanning multiple European regions, ensuring availability of more than 99.95%. What are your RPO and RTO goals?CentralPay regularly defines and tests its business continuity objectives: RPO (Recovery Point Objective): less than 1 minute for critical systems, thanks to real-time data replication. RTO (Recovery Time Objective): less than 15 minutes for the restoration of essential services, thanks to our redundant architecture and failover procedures.These objectives are validated during our business continuity and disaster recovery drills and incorporated into our DORA framework. How do you manage your backups?Backups are encrypted, isolated, replicated, and regularly tested to ensure they can be restored. They follow the same security policies as production environments. Do you conduct resilience tests in accordance with DORA?Yes. We conduct crisis exercises (simulated cyberattacks, critical outages), load and performance tests, failover scenarios, and—for critical functions—advanced tests such as TLPT (Threat-Led Penetration Testing). Relationships with Service Providers How do you select your critical service providers?Each service provider undergoes due diligence (security, compliance, data location, SLA). The contracts include GDPR and DORA clauses (security, incident notification, right to audit). How do you monitor your service providers over time?We maintain a DORA registry that lists all of our IT service providers and identifies critical ones. These critical providers are subject to enhanced oversight, including regular reviews, audits, ISO/PCI certifications, and resilience assessments. Incident Management What happens in the event of a security incident?We follow an incident management procedure that includes: detection, classification, containment, remediation, and forensic analysis. If necessary, we notify the CNIL within 72 hours and inform the affected customers. Every major incident results in a post-incident review and a corrective action plan that is monitored until the incident is closed. Privacy Policy Last updated: September 15, 2025 At CentralPay, the protection of personal data is at the heart of our commitments. As an Electronic money Institution authorized by the ACPR (authorization No. 17138), we process personal data in accordance with the General Data Protection Regulation (GDPR – EU 2016/679) and applicable French law. This policy clearly and transparently describes how we process personal data in connection with the provision of our payment services. 1. Who is the data controller? The data controller is:CentralPay – 19 rue Edouard VAILLANT – 37000 TOURSDPO contact: dpo@centralpay.com 2. What data do we collect? CentralPay collects only the data strictly necessary to provide its payment services and to comply with its legal and regulatory obligations. Identification Information Last name, first name, title. Date and place of birth. Nationality. Position (executive, legal representative, UBO). Contact Information Email address. Phone number (cell or landline). Business or personal mailing address (as applicable). Payment Information Bank account information: IBAN and BIC. Card data: card number (collected only in a PCI DSS-compliant environment and immediately tokenized), expiration date, card brand (Visa, Mastercard, etc.), issuing country, last 4 digits. Important: CentralPay never discloses the full card number or the security code to the Merchant. Transaction Data Transaction ID, date, and time. Amount, currency, payment status. Order reference (orderId). Transaction history (one-time payments, recurring payments, installment payments, refunds). Security and Anti-Fraud Data Connection IP address. Technical profile of the device (browser, language, screen resolution) during 3DS authentication. Internal anti-fraud results and scores. Possible monitoring status (technical blacklist). KYC/AML-CFT Compliance Data Identity documents (NIC, Passport, Residence permit). Proof of address (utility bill, receipt). Company legal documents (Commercial register, Articles of association, Register of Beneficial Owners). Information on UBOs (names, ownership percentages). Technical Data (Service-Related) Application and technical logs (API logs). Processing events (webhooks sent to Merchants). Technical tracking identifiers (transactionId, customerId, etc.). 3. For what purposes do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. Each processing activity is based on a legal basis that complies with the GDPR. Payment Processing and Service Management Purpose: To process your payment transactions (SEPA, credit cards, Direct Debit, Bank transfers, recurring or installment payments), handle billing, and manage cash flows. Data involved: bank account information (IBAN, BIC), card data (token, schema, country, masked PAN), transaction IDs, amounts, currencies, order references. Legal basis: performance of the contract (Art. 6.1.b of the GDPR). Identity Verification and Regulatory Requirements (KYC/AML-CFT) Purpose: To comply with legal obligations regarding the fight against money laundering and terrorist financing (AML/CFT) and with the supervisory requirements of the ACPR. Data covered: identification data (last name, first name, date of birth, nationality), identity documents, Proof of address, legal documents of the company, information on UBOs. Legal basis: legal obligation (Art. 6.1.c of the GDPR; Art. L561-1 et seq. of the Monetary and Financial Code). Fraud Prevention and Detection Purpose: to secure transactions, prevent unauthorized or fraudulent payments, and enforce strong authentication rules (PSD2/3DS). Data involved: IP address, technical fingerprint of the browser/device, card scheme and issuing country, results of anti-fraud checks, and any monitoring status. Legal basis: legal obligation (PSD2) and legitimate interest (payment security—Art. 6.1.f of the GDPR). Customer Relationship Management and Support Purpose: to communicate with customers and users (confirming transactions, sending payment links, sending notifications), respond to support requests, and follow up on complaints and Disputes. Data involved: email, phone number, customer credentials, and associated transaction data. Legal basis: performance of the contract (Art. 6.1.b GDPR) and legitimate interest (customer relationship management). Compliance with accounting, tax, and reporting requirements Purpose: to retain certain data in order to comply with legal retention requirements (Commercial Code, General Tax Code) and to produce accounting and evidentiary documentation. Data in question: transactional data (amounts, currencies, dates, statuses, references), and bank account information related to transactions. Legal basis: legal obligation (Art. 6.1.c GDPR). Improving Our Services and Technical Security Purpose: To analyze the use of our services, optimize performance, and ensure resilience and cybersecurity, in accordance with the DORA regulation. Data in question: technical logs, events (webhooks), technical identifiers, and anonymized usage statistics. Legal basis: legitimate interest (Art. 6.1.f of the GDPR). 4. What is the legal basis for this processing? Each data processing activity is based on a clearly defined legal basis: Contract performance (Art. 6.1.b of the GDPR): processing payments, account management, customer relations, and support. Legal obligation (Art. 6.1.c of the GDPR): AML/CFT compliance (Art. L561 of the French Monetary and Financial Code), accounting and tax obligations (Commercial Code, General Tax Code), regulatory obligations (PSD2, ACPR). Legitimate interest (Art. 6.1.f of the GDPR): fraud prevention, system security, dispute resolution, and service improvement. Consent (Art. 6.1.a GDPR): only for certain optional marketing communications or as required by law. 5. How long do we retain your data? CentralPay follows a strict data retention schedule that complies with the requirements of the GDPR, the Monetary and Financial Code, and the Commercial Code. We distinguish between: a) Financial Transactions (Accounting Entries and Supporting Documents) Retained for 10 years in accordance with accounting and evidentiary requirements (Art. L123-22 of the Commercial Code). Data involved: transaction IDs (transactionId), date, amount, currency, status, order ID (orderId). This information is required for contractual purposes and accounting and is not anonymized. (b) Personal data associated with transactions Stored for a maximum of 24 months and then irreversibly anonymized. Data in question: Payer’s contact information (email, phone number), IP address, browser/device fingerprint (3DS), Card data (token, masked PAN, expiration date, schema, issuing country), Anti-fraud results (score, blacklist status). This information is no longer retained beyond 24 months because it is no longer required by law or under any contract. (c) Payment card data Stored for up to 24 months after the card’s expiration date, then deleted or anonymized. CentralPay never discloses the full PAN or the CVC outside its PCI DSS environment. d) Bank Account information (IBAN/BIC) and SEPA direct debits Retained for the duration of the term of office plus 10 years (contractual evidence), then deleted or anonymized. e) KYC / AML-CFT Data Retained for 5 years after the end of the business relationship (Art. L561-12 CMF), then deleted or anonymized. Data covered: identity documents, proof of address, company legal documents, and information on UBOs. f) Subscriptions and installment payments Retained for the duration of the subscription plus 5 years (for evidentiary purposes), then anonymized. Data involved: subscription ID, payment schedule, link to payment method. g) Technical logs and webhooks Stored for up to 24 months, then anonymized. Data involved: API logs, processing events, technical identifiers (customerId, eventId), statuses, timestamps. 6. Who are the recipients of your data? Your data may be shared only with: CentralPay internal services (operations, compliance, support, security). Payment partners and financial institutions (acquirers, SEPA settlement systems, card schemes). Technical service providers (cloud hosting, KYC provider, SMS/email delivery) that are subject to contractual terms compliant with the GDPR. Competent authorities (ACPR, TRACFIN, Banque de France, judicial authorities). We never sell your data to third parties. 7. Where is your data processed? The data is hosted in the European Union, primarily in France. In the event of a transfer outside the EU (e.g., SMS or email service provider), standard contractual clauses (SCCs) and additional measures are implemented to ensure an equivalent level of protection. 8. What are your rights? In accordance with Articles 15 through 22 of the GDPR, you have the following rights: Right of access, correction, and deletion. Right to restriction, objection, and data portability. Right to withdraw consent (if applicable). The right to file a complaint with the CNIL. You can exercise your rights by writing to: dpo@centralpay.com (response within 30 days). 9. Safety CentralPay implements a security policy aligned with PCI DSS, ISO 27001/27005 standards, and the European DORA (Digital Operational Resilience Act) regulation. Our measures cover the entire lifecycle of data and payment services to ensure their confidentiality, integrity, and availability. Security is primarily ensured through clear governance and proactive risk management. We have a risk management framework approved by senior management, which includes a risk appetite policy, a risk map aligned with ISO and DORA standards, and risk indicators that are monitored regularly. This framework is implemented through a three-lines-of-defense structure and overseen by a security and compliance committee. Data protection is based on systematic encryption, both in transit (TLS 1.2/1.3) and at rest (AES-256), with centralized key management. Payment data is processed exclusively in a PCI DSS Level 1-certified environment and undergoes irreversible tokenization, which prevents any exposure of full card numbers or security codes. In addition, we enforce strict policies for the automatic deletion and anonymization of personal data once the retention periods specified by the GDPR have expired. Access to systems is strictly controlled through centralized identity management based on the principle of least privilege. Every employee is required to undergo strong two-factor authentication (MFA), and access permissions are reviewed regularly to ensure they remain appropriate. Our infrastructure is continuously monitored. Sensitive operations are comprehensively logged and time-stamped, and a real-time monitoring system, coupled with an SIEM, enables us to quickly detect security incidents. Operational resilience is ensured by a business continuity framework aligned with DORA. CentralPay has implemented an Emergency and Business Continuity Plan (PUPA) that includes regularly tested disaster recovery (PCA) and business continuity (PRI) components. Penetration tests and crisis management exercises are conducted annually, while a strict ICT outsourcing policy ensures the ongoing evaluation of critical service providers and the maintenance of a regulatory information registry. Incident management follows a formalized procedure for detection, classification, and resolution. In the event of a major incident, we comply with the regulatory reporting deadlines for the ACPR and the CNIL, and a systematic review is conducted to continuously improve our security measures. Finally, CentralPay is committed to continuous improvement. Internal and external audits, including independent PCI DSS and cybersecurity audits, are conducted regularly. Our ongoing monitoring and periodic audit procedures are reviewed annually to ensure their effectiveness and compliance with international standards and regulatory requirements. 10. Policy Update This policy may be amended to reflect changes in data processing practices and legal requirements. Any updates will be posted on our website and, if necessary, communicated to the affected customers. Subcontractors In providing its payment services, Centralpay relies on a number of processors as defined in Article 4 of the General Data Protection Regulation (GDPR). These processors may be required to process personal data on behalf of Centralpay, exclusively in accordance with documented instructions and within the scope of the purposes of the service to which they contribute. This page lists the subcontractors that may be involved in the processing of personal data belonging to Account Owners, Merchants, and Payers who use Centralpay services. It is updated as our system evolves. SubcontractorPurposeCountry Where Data Is ProcessedData CategoriesAmazon Web Services (AWS)Cloud hosting for certain services and application dataIrelandAll data processed by the departmentsComply Advantage (IVXS)AML/CFT Screening and Verification Against International Sanctions ListsRomaniaIdentification InformationDotfileManagement of onboarding processes, collection and updating of KYC/KYB recordsFranceIdentification Information, Supporting DocumentsGpayments3D Secure authentication for Card Transactions (second service provider)IrelandCard data, authenticationInnovestThe group’s parent company; internal recipient for the purposes of governance, audit, compliance, and consolidated reportingFranceGovernance and Reporting DataMicrosoftManagement and Control of Cash FlowsFranceTransaction and Accounting DataNetcetera3D-Secure Authentication for Card Transactions (Access Control Server)SwitzerlandCard data, authenticationOnfidoAutomated verification of identification documents and biometric data (facial recognition, liveness detection)EuropeIdentification data, biometric dataQomboVerification of Beneficiary (verification of the beneficiary of a SEPA bank transfer)FranceIdentification Information, IBANTanla Digital LabsSending text messages (authentication codes, notifications)EuropePhone number, message content Supervision of Subcontractors and Change Control Procedures In accordance with Article 28 of the GDPR, all processors engaged by Centralpay act exclusively on the basis of documented instructions, are bound by strict contractual obligations regarding confidentiality and security, and may not use personal data for any purposes other than those defined by Centralpay. Any substantial change to this list will be announced in advance by any appropriate means (notification on the Merchant Portal, email, or a public update to this page), allowing the individuals concerned, if applicable, to object to such changes. If you have any questions regarding the processing of your data or the exercise of your rights, you can contact our Data Protection Officer at: dpo@centralpay.eu. FAQ - Privacy Policy Governance and Responsibilities Data Controller and DPO Contact CentralPay, an Electronic money Institution (EMI), is the data controller for its payment services.DPO contact: dpo@centralpay.com (response within 30 days). Data Collected What data do we collect? As part of the provision of its payment services and in order to comply with its legal obligations, CentralPay collects only the data that is strictly necessary. This data varies depending on the type of transaction (payment, KYC verification, fraud prevention, customer support). It falls into several categories: Identifying information: last name, first name, title, date and place of birth, nationality, and role (e.g., legal representative, executive, or Beneficial Owner—UBO). Contact information: email address, phone number, mailing address. Payment information: bank account details (IBAN, BIC); card information processed exclusively in a PCI DSS-certified environment (full card number and CVC collected solely for tokenization and never exposed in plain text), expiration date, card brand (Visa, Mastercard, etc.), issuing country, and last 4 digits. Transaction data: transaction ID (transactionId), date and time, amount, currency, status, order ID (orderId), transaction history (one-time payments, recurring payments, split payments, refunds). Security and anti-fraud data: IP address, 3DS fingerprint (browser/device), anti-fraud results and scores, and any technical monitoring status. KYC/AML-CFT compliance data: official identity documents, proof of address, legal documents pertaining to the company (e.g., Commercial register, Articles of association), information on ultimate Beneficial Owners (UBOs and ownership percentages). Technical data: application logs (API logs), events sent to Merchants (webhooks), technical identifiers (customerId, eventId). CentralPay does not collect any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.), unless required to do so by law in exceptional circumstances. Purposes Why do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory requirements: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of anti-fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and disputes. Accounting and tax obligations: retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services; strengthening operational resilience in accordance with the DORA regulation; and continuously improving the customer experience and the security of our systems. Legal Basis What is the legal basis for our data processing? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory obligations: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and Disputes. Accounting and Tax Obligations: Retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services, strengthening operational resilience in accordance with the DORA regulation, and continuously improving the customer experience and the security of our systems. How long do we retain your data? CentralPay follows specific retention periods based on legal requirements and operational needs. At the end of these periods, the data is either deleted or irreversibly anonymized. Financial transactions (supporting documents): retained for 10 years, in accordance with the Commercial Code. Personal data associated with transactions (email, phone number, IP address, 3DS fingerprints, masked PAN, card token, fraud scores): retained for a maximum of 24 months, then deleted or anonymized. Card data (token + metadata): retained for up to 24 months after the card’s expiration date. The full PAN and CVC are never stored in plain text. Payment Requests (emails/text messages): Retained for up to 24 months. Subscriptions and installment payments: retained for the duration of the subscription plus 5 years. Bank Accounts (IBAN/BIC) and SEPA direct debits: retained for the duration of the mandate plus 10 years (contractual evidence). KYC / AML-CFT: Data retained for 5 years after the end of the business relationship (Art. L561-12 of the French Monetary and Financial Code). Technical logs and webhooks: retained for 24 months. Beyond these time periods, CentralPay retains only anonymized data or data that is strictly necessary to comply with a legal obligation. Location and Transfers Where is your data processed? The data processed by CentralPay is primarily hosted in the European Union—mainly in France—in environments certified to PCI DSS and ISO 27001 standards. To date, CentralPay does not transfer personal data outside the European Union.If a transfer outside the EU were to become necessary in the future (for example, to an SMS or email service provider), it would be governed by: an impact analysis of the transfer, the implementation of the European Commission’s Standard Contractual Clauses (SCCs), additional technical measures (encryption, segmentation, access control), and transparent communication with our customers. Data Transfers Outside the EU: How Do We Handle Them? To date, CentralPay does not transfer personal data outside the European Union.All data is hosted and processed within the EU, primarily in France and within certified (PCI DSS) infrastructure. If, in the future, a transfer outside the EU were to be necessary (for example, to an SMS or email service provider), CentralPay undertakes to: conduct an impact analysis of the transfer, apply the European Commission’s Standard Contractual Clauses (SCCs), implement additional technical measures (encryption, segmentation, access control), and keep its customers fully informed. Nature of the Data Do we process sensitive data? No. CentralPay does not process any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.). We collect only the information strictly necessary to process payments and comply with our legal obligations (anti-money laundering and counter-terrorism financing, ACPR supervision). Do we collect data from minors? CentralPay provides its services exclusively to businesses (B2B). We therefore do not knowingly collect data from minors.If, indirectly, a minor is required to make a payment, data processing is limited to the necessary payment information (e.g., bank or card details), and is always carried out under the responsibility of the minor’s legal guardian when verification is required. GDPR Compliance Do we conduct impact assessments (PIA)? Yes, we conduct AIPDs (PIAs) for processing operations that may pose a high risk (e.g., KYC, anti-fraud/3DS, card tokenization, longitudinal analyses). Residual risks and mitigation measures are documented. How do we ensure data minimization and privacy by design? We collect only the fields necessary for each specific purpose, segregate environments (LIVE/pre-production), do not use any real data in testing, limit webhook payloads to the minimum necessary, and automatically purge or anonymize data upon expiration. How does CentralPay document its GDPR compliance? Public GDPR Policy (website). Record of data processing (internal, up-to-date). PIA on High-Risk Processing (Internal). Policies/procedures (security, data deletion, incidents, rights). Internal Control Reports (ACPR). Subcontractors How do we supervise our service providers? Each service provider is subject to contractual requirements (Art. 28): security measures, confidentiality, incident reporting, auditability, data location, and controlled sub-contracting. Initial due diligence + regular reassessment (security, SLA, compliance). Which service providers do we use? Upon request and after signing an NDA, we can provide an up-to-date list of our service providers, organized by category (hosting/cloud, KYC, email/SMS delivery, fraud prevention, support), along with their geographic locations. How do we select our key service providers? CentralPay has a policy for managing subcontractors that complies with both the GDPR (Article 28) and the DORA Regulation. During the selection process, we conduct a thorough due diligence review covering security (certifications, technical measures), regulatory compliance (GDPR, PSD2, AML/CFT), data location and legal framework, the service provider’s financial stability, and the service levels (SLAs) offered. For critical service providers, we examine in particular their integration into the payment services value chain and their role in ensuring operational resilience. Each contractual relationship includes clauses that comply with Article 28 of the GDPR (confidentiality, security, incident notification, and restrictions on cascading subcontracting) as well as, where applicable, Standard Contractual Clauses (SCCs) to govern transfers outside the European Union. In accordance with DORA, we maintain a registry of ICT service providers and identify those considered critical service providers. These service providers are subject to enhanced evaluation, with specific contractual requirements regarding availability, integrity, continuity, and resilience testing. Monitoring is conducted through regular reviews (inspections, audit reports, SOC/ISO-type compliance certifications, security questionnaires), a contractual right to audit, and periodic reporting mechanisms. We perform integration of these assessments into our ICT risk mapping and our DORA monitoring committees. Security and Resilience What technical safeguards do we use? CentralPay protects data and systems by combining robust technical mechanisms that comply with the highest international standards.Communications are secured through systematic encryption: TLS 1.2/1.3 for data in transit and AES-256 for data at rest, with centralized key management.Card data is processed exclusively in a PCI DSS Level 1 environment, with data collection in a dedicated area and irreversible tokenization to prevent any exposure of the full PAN.Access to the systems is controlled by RBAC (role-based access control) mechanisms and protected by strong authentication (MFA), with regular reviews of access privileges.All sensitive actions are logged with a timestamp and cannot be tampered with; this logging is integrated into an SIEM system that provides real-time detection and alerts.The infrastructure is compartmentalized: network segmentation, strict separation of environments (production, testing, pre-production), and secure management of secrets.Finally, CentralPay regularly tests its system through penetration tests, vulnerability scans, and independent external audits. How does our organization ensure safety? Security relies not only on technology but also on strong organization and governance.CentralPay implements a risk management framework that includes detailed risk mapping, key performance indicators (KPIs), and a risk appetite policy approved by management.Oversight is based on the recognized three lines of defense model: operations provide first-line controls, an independent compliance and ongoing monitoring function serves as the second line, and internal audit constitutes the third line.A Security and Compliance Committee meets regularly to steer strategy and update key policies and procedures (access management, incident response, data purges, and the exercise of GDPR rights).Finally, the security culture is reinforced through regular training for teams, covering cybersecurity, personal data protection, and AML/CFT obligations. What should we do in the event of a security incident? CentralPay has a formalized incident management procedure.In the event of an incident, we quickly detect, assess, and immediately contain it, followed by remedial actions.All events are fully logged and investigated (forensically) to identify the cause and prevent recurrence.When required by regulation, we notify the CNIL within a maximum of 72 hours and inform the affected individuals in the event of a high-risk incident.Each incident results in a lessons-learned review and the implementation of a corrective action plan, which is monitored until the issue is fully resolved. Our Security Audits CentralPay is subject to multiple levels of security controls and testing, both internal and external: Regular external audits: Annual PCI DSS Level 1 certification for the collection and processing of payment data, Independent cybersecurity audits, Penetration tests conducted by third-party service providers to identify and fix vulnerabilities. Ongoing internal controls (second line of defense): security clearance reviews, vulnerability scans, and monitoring of critical systems. Periodic independent audits (third line of defense): internal and external audits of the security framework and regulatory compliance (ACPR, DORA). Annual Policy Review: All of our policies regarding security, data purging, incidents, and vendor management are reviewed and approved annually by management. Resilience testing in accordance with DORA: Business Continuity and Disaster Recovery Plans (BCP/DRP) that are regularly tested to verify the ability to maintain services in the event of a major incident, Crisis exercises simulating cyberattack scenarios or critical system outages, Load and performance testing of critical infrastructure, Failover and redundancy scenarios across environments to ensure availability, For critical functions, a gradual shift toward advanced resilience tests such as “TLPT” (Threat-Led Penetration Testing), as required by DORA for significant entities. Human Rights What are your rights, and how can you exercise them? Pursuant to Articles 15 through 22 of the GDPR, you have the following rights regarding your personal data: right of access, right to correction, right to erasure, right to restriction, right to object, right to data portability, right to withdraw consent. You can exercise your rights by sending a request to: dpo@centralpay.com.We are committed to responding to you within a maximum of 30 days, except in exceptional cases that warrant an extension. If you encounter any difficulties, you may also file a complaint with the CNIL. How do we balance data erasure with legal obligations? CentralPay respects the right to erasure as provided for by the GDPR, but certain data must be retained due to legal obligations.We delete or anonymize all personal data that is no longer necessary.However, when the law requires us to retain certain information (for example, accounting records for 10 years or KYC data for 5 years after the end of the relationship), this data is retained, but: access to them is strictly limited, They are used only for purposes required by law (ACPR audits, TRACFIN, evidentiary obligations). In this way, we strike a balance between respecting people’s rights and meeting our regulatory obligations. Other Coverages Do we use automated decisions or profiling? CentralPay does not apply any fully automated decisions that produce legal or significant effects on individuals, as defined in Article 22 of the GDPR.However, we do use anti-fraud scoring tools that calculate a risk level for transactions. These results are used solely as a decision-making aid: when a case is sensitive or high-risk, it is systematically reviewed and validated by a human reviewer. Do we use cookies or trackers for advertising purposes? In payment flows and APIs, CentralPay does not use any advertising cookies or marketing trackers. Only cookies or trackers that are strictly necessary for the technical operation and security of the payment flows (e.g., session management, authentication) may be used. At this point, no banner-based consent mechanism is necessary, since we do not use optional cookies. How do we ensure resilience and backups? Yes. The infrastructure is redundant across two data centers located in France; backups are encrypted and stored off-site, tested regularly (restores), and are subject to the same access controls as the production environment. Do we have a documented policy for data purging and anonymization? Yes, with retention periods by category (transactions/personal data: 24 months; cards: up to 24 months after the expiration date; KYC: 5 years after the relationship ends, power of attorney: 10 years, logs: 24 months) and mechanisms (deletion vs. irreversible anonymization), plus records of data purging (execution logs). Do our test environments contain real data? CentralPay never uses actual personal data in its test or pre-production environments. All of our internal datasets (e.g., cards, IBANs, Customer Profiles) are synthetic or fictitious and comply with PCI DSS standards. However, users of our test environments (e.g., Merchant integrators) can technically enter their own data. This practice is strictly prohibited and governed by our Terms of Use. If a user accidentally enters personal data into a test environment, that data: are not used for actual payment processing, are not replicated in production, and are automatically or manually purged as soon as they are detected. How does CentralPay manage support teams’ access to data? CentralPay’s support teams do not have direct, permanent access to personal data. Access is granted only when necessary for operational purposes (for example, to resolve an incident or assist a customer), and in accordance with the following principles: Temporary and Justified Access: Each access request is granted for a limited period and must be supported by a ticket or an approved request. Principle of least privilege: The support agent sees only the data strictly necessary to process the request. Strong Authentication (MFA): All access is secured through multi-factor authentication. Full traceability: Every action performed by a support team member is logged and audited. Regular review of access permissions: Access rights are reviewed monthly to ensure they remain justified. Masking of Sensitive Data: Sensitive fields (e.g., full card number, CVV, full IBAN) are systematically masked in the interfaces so that support staff can never view them in plain text. Do we provide your customers with specific GDPR-compliant contract terms? Our Terms of Service and contracts include the necessary provisions (confidentiality, security, incident response, subcontracting, data retention and deletion). GDPR addenda may be included depending on the specific use case. Do we share our internal policies and procedures? The public GDPR policy is available online. Detailed internal policies (incident response, data retention, security) are not shared by default.
Principes de réserve La réserve représente les sommes qui sont maintenues sur votre compte de réserve CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) lorsque votre compte de paiement n’est pas solvable. 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 sujettes 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 Marchand : Administration Versements 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 compte doit donc dépasser la valeur du pied de compte pour autoriser les versements sortants (payout). Le détail du pied de compte est visible depuis le Portail Marchand : Administration Versements 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 sur votre compte de réserve 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 si votre compte de paiement n’est pas solvable. 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 de la réserve glissante est visible depuis le Portail Marchand : Administration Versements Seuil variable
Principles of Reserve The reserve represents the funds held in your CentralPay reserve account to cover R-transactions (rejections, refusals, returns, refunds, chargebacks, and unpaid amounts) when your Payment Account lacks sufficient funds. These settings are determined based on your account’s financial risk profile and are updated based on an analysis of your R-transactions over a sufficient period of time. Recurring transactions via SEPA Direct Debit and credit card are particularly prone to the risk of R-transactions. CentralPay offers three types of protection guarantees that may apply to Merchants, depending on the nature of their contract: 1. Collateral It represents the fixed amount paid at the start of the relationship, intended to cover the credit risk in the event that the Merchant is unable to meet its repayment obligations to its customers. Le détail du collatéral est visible depuis le Portail Marchand : Administration Versements Somme des cautions 2. The account footer In the absence of collateral, a fixed amount may be deducted directly from transactions to guarantee refunds to customers if necessary. The account balance must therefore exceed the account threshold to authorize Payouts (payout). Le détail du pied de compte est visible depuis le Portail Marchand : Administration Versements Seuil fixe 3. The Rolling reserve Depending on the industry and the account settlement processes, a rolling reserve may be automatically established. This is an additional safeguard that sets aside a certain percentage of your collection volume in a reserve account to enable automatic refunds in the event of a Chargeback, fraud, or to cover potential operational fees if your Payment Account is insolvent. This amount belongs to the Merchant’s cash flow and is held for a specified number of days before being released (generally between 90 and 180 days). For example, the variable threshold for the Rolling reserve is 5% of the 90-day collection volume. The daily calculation of the reserve amount is as follows: total amount of transactions collected over the past 90 days * 5% Le détail de la réserve glissante est visible depuis le Portail Marchand : Administration Versements Seuil variable
SDD Transaction Reversal See more about SDD Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f63bac = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f63bac", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f63bac.load(); });
SDD Transaction Reversal See more about SDD Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046fa762c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa762c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa762c.load(); });
Bonnes pratiques Articles Déclaration TVA par pays Merchant Initiated Transaction (MIT) Verification of Payee (VoP) Déclaration TVA par pays CentralPay n’identifie pas le pays TVA des acheteurs : cette responsabilité incombe au marchand. Pour justifier correctement vos déclarations, collectez le pays de l’acheteur, conservez vos preuves, et transmettez‑les à CentralPay afin qu’elles figurent dans vos exports et historiques de transaction. Public cible : marchands B2C vendant des biens ou services dans plusieurs pays de l’Union européenne. 1) Principe général La TVA applicable dépend du pays de résidence de l’acheteur (consommateur final), non du pays du marchand ni du moyen de paiement utilisé. Le marchand doit donc déterminer, conserver et déclarer le pays de son client afin d’appliquer la bonne TVA. CentralPay n’a ni la légitimité réglementaire ni la fiabilité technique pour déterminer ce pays à sa place. En clair : vous êtes responsable de collecter et de stocker les informations nécessaires à la détermination du pays TVA. 2) Pourquoi CentralPay ne peut pas déterminer le pays du client Les indices techniques accessibles à un PSP (carte, IP, etc.) ne permettent pas une identification fiable du pays de l’acheteur : Pays BIN (carte) : peu fiable pour la TVA. Les cartes de banques en ligne sont souvent émises dans un autre pays que celui du détenteur. Pays IP : faussé en cas d’utilisation de VPN, proxy, mobile ou cloud. Payeur ≠ Acheteur : la personne qui paie n’est pas forcément celle soumise à la TVA (ex. carte d’un proche ou d’un employeur). C’est pourquoi CentralPay ne réalise aucune analyse pour identifier le pays du client. Seul le marchand détient l’information fiscale valide. 3) Ce que vous devez faire en tant que marchand 3.1 Collecter le pays de l’acheteur Intégrez la sélection du pays de facturation dans votre tunnel de commande. Transmettez ces informations à CentralPay via l’API au moment de la transaction. 3.2 Transmettre le pays à CentralPay Type de donnéeChamp à renseignerDescriptionPays de l’acheteur (obligatoire)Customer > countryCode ISO 3166‑1 alpha‑2 du pays du client. ⚠️ Si vous n’alimentez pas Customer.country, CentralPay ne peut pas afficher ni exporter le pays de vos acheteurs. Vos exports ne permettront donc pas de justifier vos déclarations TVA. 4) Ce que CentralPay fournit dans les exports CentralPay met à disposition des exports comportant : ColonneSourceUsageCustomer > countryValeur transmise par le marchand via Customer > countryPreuve déclarative du marchand, à utiliser pour la TVA.Transaction > end_user_ipIP de l’acheteurIndice technique non probant.Transaction > card_countryPays de la carte utilisée par l’acheteurIndice technique non probant.sctTransaction > ibanIBAN de l’acheteur par virement bancaire (contenant le code pays)Indice technique non probant.bankAccount > ibanIBAN de l’acheteur par prélèvement SEPA (contenant le code pays)Indice technique non probant. Des exports personnalisés peuvent être mis en place si vous souhaitez inclure d’autres champs ou formats (SFTP, e‑mail…). 5) Bonnes pratiques de conformité TVA Toujours collecter le pays de facturation côté front (champ obligatoire ou déduit du profil client). Croiser au moins deux preuves non contradictoires pour chaque commande. Gérer les divergences : si les indices diffèrent (ex. IP ≠ carte), demandez un justificatif avant de facturer. Enregistrer les preuves pendant au moins 10 ans (durée légale pour les services numériques UE). Vous enregistrer à l’OSS/IOSS si vous vendez à des consommateurs dans plusieurs pays de l’UE. Relier facture, transaction et preuves pour chaque vente. 6) Exemples de cas SituationDonnées collectéesAction recommandéeAdresse = FR, BIN = FRDeux preuves concordantesFacturez avec TVA FRAdresse = FR, BIN = DE, IP = DEDivergenceDemandez un justificatif avant facturationAucun pays collectéDonnée manquanteNon‑conformité potentielle – corriger votre parcours 7) FAQ CentralPay peut‑il déterminer le pays à ma place ?Non. Nous exposons des indices (pays BIN, etc.), mais la décision et la preuve fiscale relèvent de vous. Puis‑je me baser uniquement sur le BIN ?Non, le BIN n’est pas une preuve fiable. Utilisez toujours le pays de facturation comme référence principale. Comment vérifier que mes exports sont complets ?Vérifiez la présence de buyer_country_declared dans vos fichiers. Si le champ est vide, votre front n’a pas transmis le pays. Merchant Initiated Transaction (MIT) Introduction Une Merchant-Initiated Transaction (MIT) est un paiement initié sans interaction du titulaire de la carte, réalisé dans le cadre d’un contrat préexistant entre le marchand et son client. Ce modèle s’applique aux facturations récurrentes, variables ou usage-based. Dans le cadre DSP2, une MIT peut être exemptée d’authentification SCA, à condition que : Le marchand dispose d’un mandat contractuel valide, Une transaction initiale CIT authentifiée (3DS) ait été réalisée. Les MIT reposent donc sur une authentification antérieure réussie associée à un Customer et à un cardToken. Documentation 3DS 2.2 (général) 1. CIT et MIT : quelle différence ? Customer-Initiated Transaction (CIT) Une transaction CIT est initiée par le titulaire de la carte. Elle implique généralement une authentification 3DS. Rôles de la CIT initiale dans un flux MIT : authentifier la carte et le porteur, valider la création d’un Customer, permettre la génération d’un cardToken, servir de référence aux MIT futures. Merchant-Initiated Transaction (MIT) Une MIT est déclenchée par le marchand sans intervention du porteur, conformément au mandat conclu avec le client. Cas d’usage : facturation mensuelle à montant variable, frais ponctuels supplémentaires, utilisation de type usage-based. 2. Conditions nécessaires pour effectuer des MIT Deux conditions doivent être réunies : 2.1. Exécution d’une CIT initiale authentifiée (3DS) Cette CIT doit être : authentifiée via 3DS, capturée, associée à un Customer et à un cardToken. 2.2. Existence d’un mandat commercial valide Le mandat doit couvrir : la nature des services, le montant futur (fixe ou variable), les conditions et fréquences de facturation, l’accord explicite du client sur les paiements ultérieurs. Documentation Formulaire de paiement CustomForm 3. Montant de la CIT initiale Il est parfaitement conforme de réaliser une CIT initiale avec un montant symbolique (par exemple 1 € ou 0,01 €) pour : authentifier la carte, valider le contrat commercial, générer un token utilisable pour des MIT ultérieures. La CIT initiale n’a pas à couvrir le montant réel des MIT futures. Remarque : Les transactions à 0€ type “vérification / empreinte carte authentifiée” fonctionnent pour certains schémas mais n’est pas universellement supporté par les banques partenaires, d’où la recommandation d’utiliser une transaction CIT authentifiée.Également, bien que la CIT symbolique soit techniquement acceptable, l’émetteur peut — en fonction de son profil de risque, du schéma ou de l’ancienneté — décider de déclencher un challenge 3DS lors d’une MIT ultérieure." 4. Durée de validité d’une CIT pour générer des MIT Il n’existe pas de limite imposée par CentralPay.La durée de validité dépend exclusivement : 4.1. De l’ACS émetteur (banque du porteur) Les pratiques observées dans le secteur : conservation de la preuve d’authentification : ≈ 13 mois, pour certains émetteurs : jusqu’à 36 mois. Après expiration de la preuve 3DS, les MIT peuvent faire l’objet : de soft declines, de demandes d’authentification, de rejets « SCA required ». 4.2. Du recours au 3DS 2.2 – 3RI Dans certains cas, le marchand peut renouveler une authentification côté émetteur via 3RI, afin de prolonger la durée de validité du mandat. Disponibilité schémas : CB : support opérationnel, Mastercard : support opérationnel, Visa : support en cours d’évolution, non fiable à date. Documentation 3DS 2.2 – 3RI 5. Une MIT peut-elle nécessiter une authentification 3DS ? Oui. Une MIT peut être exceptionnellement requalifiée en CIT par l’émetteur (ACS), notamment dans les cas suivants : ancienneté élevée de la CIT initiale, suspicion de fraude, règles RBA de l’émetteur, montants atypiques ou plus élevés que prévu. Réduire le risque de demande 3DS utiliser 3RI lorsque supporté, conserver un cadre contractuel clair, refaire une CIT en cas d’échecs répétés. Pour en savoir plus FAQ 3DS 2.2 6. Transactions MIT ou service d’abonnement de CentralPay : comment choisir ? Il n’est pas obligatoire de passer par le module Subscription pour effectuer des MIT. 6.1. Utiliser le service d’abonnement si : les montants sont fixes, la fréquence est récurrente, la logique est celle d’un abonnement. 6.2. Utiliser les transactions MIT si : les montants sont variables (usage-based model), les facturations sont ponctuelles, les débits doivent être initiés par le marchand. Documentation Transaction carte récurrente 7. Implémentation API : effectuer une transaction MIT 7.1. CIT initiale Lors de la transaction CIT : création d’un customer, génération d’un cardTokenId, authentification 3DS. 7.2. Transaction MIT Chaque transaction MIT doit inclure : customerId, cardTokenId (ou cardId), indication du contexte MIT dans les paramètres de transaction, les métadonnées utiles pour rattacher la MIT à la CIT initiale. Documentation Transaction carte récurrente > Abonnement depuis des transactions successives 8. Bonnes pratiques pour fiabiliser un flux MIT 8.1. Techniques déclencher les MIT peu après la facturation, regrouper les paiements lorsque pertinent, utiliser 3RI pour rafraîchir l’authentification, conserver un cardToken stable. 8.2. Gestion des refus en cas de code indiquant « SCA required »,proposer au client une nouvelle CIT (paiement manuel),recréer un mandat MIT. 8.3. Contractuelles conserver la preuve du mandat : CGV, logs d’acceptation, contrat, page d’information client. 9. FAQ MIT Une CIT de 1 € suffit-elle pour un mandat MIT ? Oui, si elle est authentifiée 3DS. Combien de temps une CIT permet-elle de générer des MIT ? Cela dépend de l’ACS : généralement 13 à 36 mois. Une MIT peut-elle déclencher 3DS ? Oui, si l’ACS l’exige (RBA, ancienneté de la CIT, montants atypiques). Dois-je utiliser Subscription pour des montants variables ? Non, le service subscription est généralement adapté à des modèles d’abonnements fixes. Réaliser une transaction CIT initiale + des transactions MIT ad-hoc est le modèle recommandé. Que faire si le client change de carte ? Une nouvelle CIT est nécessaire pour générer un nouveau token. Verification of Payee (VoP) À compter du 9 octobre 2025, la réglementation européenne impose aux banques de mettre en place la Verification of Payee (VoP) pour tous les virements SEPA (règlement IPR 2024/886, art. 5c). L’objectif est de protéger les consommateurs contre les fraudes à l’IBAN. 1. Fonctionnement Lorsqu’un virement est initié, la banque du payeur doit vérifier que le nom du bénéficiaire saisi correspond à celui associé à l’IBAN. Le résultat de cette vérification est affiché au payeur : MATCH : correspondance exacte CLOSE MATCH : correspondance partielle (ex. faute de frappe, abréviation, particule) NO MATCH : aucune correspondance CHECK NOT POSSIBLE : vérification impossible ⚠️ Le payeur reste libre de poursuivre ou non le virement.Cependant, un NO MATCH ou un CLOSE MATCH augmentent fortement le risque d’abandon de la transaction. 2. Impacts pour les marchands Afin d’éviter les rejets ou abandons de virements, il est essentiel de vérifier la cohérence du nom affiché à vos clients avec la raison sociale enregistrée sur votre compte CentralPay. Cas fréquents : Nom commercial / enseigne / marque → Si vous êtes connus sous un autre nom que votre raison sociale, transmettez-nous ces dénominations. Nous pourrons les déclarer manuellement afin d’améliorer le taux de correspondance. vIBAN CentralPay → Vérifiez que vos interfaces et supports affichent bien la raison sociale du titulaire CentralPay associé à l’IBAN. SmartForm (PaymentRequest) → Aucune action nécessaire : CentralPay affiche automatiquement le titulaire du compte. Devis, factures, communications externes → Assurez-vous que la raison sociale présentée est identique à celle du compte bancaire communiqué à vos clients. À retenir : - Vérifiez que votre raison sociale est correctement enregistrée et communiquée.- Transmettez à CentralPay vos noms commerciaux ou marques si vous souhaitez les faire reconnaître.- Harmonisez vos documents (factures, devis, emails) avec le nom officiel de votre compte bancaire.- Informez vos clients : * Lorsqu’ils effectuent un virement, le nom du bénéficiaire saisi doit correspondre strictement à votre raison sociale. * En cas d’alerte de type Close match ou No match dans leur application bancaire, invitez-les à vérifier le nom renseigné. FAQ - Verification Of Payee À compter du 9 octobre 2025, la Vérification du bénéficiaire (VoP – Verification of Payee) deviendra obligatoire pour tous les virements SEPA, qu’ils soient classiques ou instantanés. Ce dispositif, gratuit pour les utilisateurs, vise à renforcer la sécurité des paiements en réduisant à la fois : les fraudes au virement (notamment les fraudes au faux RIB), les erreurs de saisie d’IBAN ou de nom du bénéficiaire. Concrètement, avant l’exécution d’un virement, l’établissement du payeur doit interroger l’établissement du bénéficiaire pour vérifier la concordance entre l’IBAN et le nom du titulaire du compte. En cas de discordance, une alerte est affichée au payeur, qui conserve la liberté de poursuivre ou non l’opération. Enjeux du dispositif Protection des utilisateurs : limiter les virements mal orientés ou frauduleux. Sécurité du système de paiement SEPA : accompagner le déploiement du virement instantané en Europe. Confiance des entreprises et des particuliers : améliorer la transparence et la fiabilité des paiements. Harmonisation européenne : instaurer une norme commune pour tous les PSP (banques, établissements de paiement et de monnaie électronique). Base légale Règlement (UE) 2021/1230 sur les virements instantanés en euros et la modification du règlement (UE) n° 260/2012 (SEPA), qui introduit l’obligation de VoP. Règlement (UE) 2015/847 sur les informations accompagnant les transferts de fonds, qui impose la transmission exacte des informations sur le payeur et le bénéficiaire. Code monétaire et financier : Articles L.133-6 et L.133-7 relatifs à l’autorisation des opérations de paiement et à l’exactitude des informations, Articles L.561-5 et suivants relatifs aux obligations de vigilance en matière de LCB-FT. Doctrine de l’ACPR, qui dans plusieurs décisions a sanctionné l’insuffisance de dispositifs de vérification et de correspondance entre l’identité du client et son compte Foire aux questions (FAQ) 1. Qu’est-ce que la VoP ? La Vérification de l’Ordre de Paiement (VoP) est un service réglementaire instauré au niveau européen.Elle permet de comparer automatiquement le nom du bénéficiaire d’un virement avec l’IBAN renseigné par le payeur, avant l’exécution du virement.Objectif : renforcer la sécurité des paiements et réduire les fraudes (notamment fraude au faux RIB). 2. Qui est concerné ? Les payeurs : particuliers ou entreprises qui initient un virement. Les bénéficiaires : toute personne physique ou morale recevant des virements (vous, en tant que client CentralPay). Les prestataires de services de paiement (PSP) : banques, établissements de paiement ou de monnaie électronique, qui doivent intégrer la VoP dans leurs systèmes. 3. Comment fonctionne la VoP concrètement ? Lorsqu’un virement est initié : Le payeur saisit l’IBAN et le nom du bénéficiaire. Sa banque interroge le PSP du bénéficiaire (via un canal sécurisé) pour vérifier la concordance entre l’IBAN et le nom enregistré dans la base du bénéficiaire. La réponse est renvoyée au PSP du payeur et affichée au payeur. 4. Quels résultats peuvent apparaître ? Trois cas sont possibles : Correspondance exacte : l’IBAN et le nom concordent → le virement peut être initié sans alerte. Correspondance partielle : l’IBAN correspond mais le nom est différent (fautes de frappe, abréviation, orthographe différente). Le payeur reçoit un avertissement et peut : corriger le nom, ou confirmer qu’il s’agit bien du bénéficiaire attendu. Absence de correspondance : l’IBAN et le nom ne correspondent pas → le payeur reçoit une alerte forte. Il peut annuler ou décider de poursuivre en acceptant le risque. Est-ce que la VoP bloque un virement ? Non. La VoP ne bloque pas l’exécution d’un virement. Elle fournit une information supplémentaire au payeur qui reste libre de valider ou non l’opération.Toutefois, certaines banques peuvent paramétrer des règles internes de blocage en cas de discordance totale. Quels échanges ont lieu entre banques et PSP ? Le PSP du bénéficiaire (ex. CentralPay) conserve dans sa base le nom exact du titulaire du compte. Lors d’une requête VoP, il répond par un code standardisé indiquant : correspondance, correspondance partielle ou absence de correspondance. Ces échanges sont sécurisés, tracés et limités aux seules données nécessaires, conformément au Règlement (UE) 2015/847 sur l’accompagnement des virements. Aucune autre donnée personnelle (adresse, documents KYC, etc.) n’est transmise. Quels sont les avantages de la VoP ? Pour le payeur : réduction des risques de fraude au virement, détection des erreurs de saisie. Pour le bénéficiaire : limitation des retards de paiement liés aux erreurs, sécurisation de l’image vis-à-vis de ses clients. Pour le système financier : meilleure prévention des fraudes et conformité avec les standards européens. Que dois-je faire en tant que bénéficiaire CentralPay ? Communiquer à vos clients l’IBAN correct et le nom exact enregistré auprès de CentralPay (raison sociale complète, sans abréviation). Vérifier que vos factures, contrats et supports incluent toujours les mêmes coordonnées bancaires. En cas de changement de dénomination sociale ou d’utilisation d’un nom commercial, informer rapidement vos clients et CentralPay pour mettre à jour les données. Que se passe-t-il en cas de non-concordance fréquente ? Si vos clients rencontrent souvent des alertes VoP lors de virements, cela peut indiquer que vos coordonnées bancaires ne sont pas communiquées de façon homogène. CentralPay peut vous accompagner pour réviser et harmoniser vos informations de paiement afin d’éviter les frictions. Illustration du VoP par le CNMP
Best practices Articles VAT Returns by Country Merchant-Initiated Transaction (MIT) Verification of Payee (VoP) VAT Returns by Country CentralPay does not identify buyers’ VAT countries: this is the Merchant’s responsibility. To ensure your tax filings are accurate, collect the buyer’s country of residence, keep your records, and submit them to CentralPay so they can be included in your export files and transaction histories. Target audience: B2C merchants selling goods or services in several European Union countries. 1) General Principle The applicable VAT depends on the buyer’s (end consumer ‘s) country of residence, not on the Merchant’s country or the payment method used. The merchant must therefore determine, record, and report the customer’s country in order to apply the correct VAT rate. CentralPay has neither the regulatory authority nor the technical capability to determine this country on the merchant’s behalf. In short: You are responsible for collecting and storing the information needed to determine the VAT country. 2) Why CentralPay Cannot Determine the Customer’s Country The technical indicators available to a PSP (card, IP address, etc.) do not allow for reliable identification of the buyer’s country: BIN Country (card): unreliable for VAT purposes. Online bank cards are often issued in a country other than the cardholder’s. IP Country: May be inaccurate when using a VPN, proxy, mobile device, or cloud service. Payer ≠ Buyer: The person who pays is not necessarily the person liable for VAT (e.g., a card belonging to a family member or an employer). That is why CentralPay does not perform any analysis to identify the customer’s country. Only the Merchant has the valid tax information. 3) What You Need to Do as a Merchant 3.1 Collect the buyer’s country Integrate the billing country selection into your checkout process. Send this information to CentralPay via the API at the time of the transaction. 3.2 Submit the country to CentralPay Data typeField to fill inDescriptionBuyer’s country (required)Customer > countryISO 3166-1 alpha-2 code for the customer’s country. ⚠️ If you do not enter the information at Customer.country, CentralPay will not be able to display or export the countries of your buyers. Your export files will therefore not be sufficient to support your VAT filings. 4) What CentralPay Provides in the Exports CentralPay provides export files that include : ColumnSourceUsageCustomer > countryAmount provided by the Merchant via Customer > countryDeclaratory statement from the Merchant, to be used for VAT purposes.Transaction > end_user_ipBuyer’s IP addressTechnical indicator is inconclusive.Transaction > card_countryCountry of the card used by the buyerTechnical indicator is inconclusive.sctTransaction > ibanBuyer’s IBAN for Bank transfer (including the country code)Technical indicator is inconclusive.bankAccount > ibanBuyer’s IBAN for SEPA Direct Debit (including the country code)Technical indicator is inconclusive. Custom exports can be set up if you want to include additional fields or formats (SFTP, email, etc.). 5) Best Practices for VAT Compliance Always collect the billing country on the front end (required field or derived from the Customer Profile). Cross-check at least two non-contradictory pieces of evidence for each order. Handling Discrepancies: If the information differs (e.g., IP ≠ map), request supporting documentation before billing. Retain records for at least 10 years (the legal retention period for digital services in the EU). Register with the OSS/IOSS if you sell to consumers in multiple EU countries. Link invoices, transactions, and receipts for each sale. 6) Case Examples LocationData CollectedRecommended ActionAddress = FR, BIN = FRTwo pieces of corroborating evidenceInvoice with French VATAddress = FR, BIN = DE, IP = DEDivergenceRequest a receipt before billingNo countries includedMissing dataPotential Non-Compliance – Correct Your Course 7) FAQ Can CentralPay determine the country for me?No. We provide guidance (BIN countries, etc.), but the decision and the tax documentation are your responsibility. Can I rely solely on the BIN?No, the BIN is not a reliable source of information. Always use the billing country as your primary reference. How can I verify that my exports are complete?Check to see if the » buyer_country_declared » field is present in your files. If the field is empty, your front-end system did not include the country. Merchant-Initiated Transaction (MIT) Introduction A Merchant-Initiated Transaction (MIT) is a payment initiated without any interaction from the cardholder, carried out under a preexisting contract between the merchant and its customer. This model applies to recurring, variable, or usage-based billing. Under PSD2, a MIT may be exempt from SCA authentication, provided that: The merchant has a valid contractual authorization, An initial CIT transaction authenticated using 3DS has been completed. MITs are therefore based on a previous successful authentication combined with a Customer and a cardToken. Documentation 3DS 2.2 (General) 1. CIT and MIT: What’s the Difference? Customer-Initiated Transaction (CIT) A CIT transaction is initiated by the account owner. It generally involves 3DS authentication. Roles of the Initial CIT in an MIT workflow: authenticate the card and the cardholder, confirm the creation of a Customer, allow the generation of a cardToken, serve as a reference for future MITs. Merchant-Initiated Transaction (MIT) An MIT is initiated by the Merchant without any action on the part of the account holder, in accordance with the agreement entered into with the customer. Use Cases: monthly billing with a variable amount, additional one-time fees, usage-based model. 2. Requirements for Conducting MITs Two conditions must be met: 2.1. Processing an Initial Authenticated CIT (3DS) This CIT must be: authenticated via 3DS, captured, associated with a Customer and a cardToken. 2.2. Existence of a Valid Commercial Power of Attorney The scope of work must include: the nature of the services, the future amount (fixed or variable), billing terms and frequency, the customer’s explicit consent to future payments. Documentation CustomForm Payment Form 3. Amount of the Initial CIT It is perfectly acceptable to make an initial CIT payment in a nominal amount (for example , €1 or €0.01) in order to: authenticate the card, approve the commercial contract, Generate a token that can be used for future MITs. The initial CIT does not have to cover the actual amount of future MITs. Note: Zero-euro transactions of the “verification/authenticated card imprint” type work for certain schemes but are not universally supported by partner banks; hence the recommendation to use an authenticated CIT transaction.Additionally, although a nominal CIT transaction is technically acceptable, the issuer may—depending on its risk profile, the payment scheme, or the account’s tenure—decide to trigger a 3DS challenge during a subsequent MIT transaction." 4. Validity Period of a CIT for Generating MITs There is no limit imposed by CentralPay.The validity period depends solely on: 4.1. From the issuing ACS (the holder’s bank) Practices observed in the sector: Retention period for authentication records: ≈ 13 months, For certain issuers: up to 36 months. After the 3DS token expires, MITs may be subject to: of soft declines, authentication requests, « SCA required » rejections. 4.2. On the Use of 3DS 2.2 – 3RI In some cases, the Merchant may renew an issuer-side authentication via 3RI in order to extend the mandate’s validity period. Availability of diagrams: CB: operational support, Mastercard: Operational Support, Visa: Support is currently under development and is not reliable at this time. Documentation 3DS 2.2 – 3RI 5. Can an MIT require 3DS authentication? Yes. An MIT may, in exceptional cases, be reclassified as a CIT by the issuer (ACS), particularly in the following cases: long history of the original CIT, suspected fraud, the issuer’s RBA rules, amounts that are unusual or higher than expected. Reducing the Risk of 3DS Requests Use 3RI when supported, maintain a clear contractual framework, Take the CIT again in the event of repeated failures. Pour en savoir plus 3DS 2.2 FAQ 6. MIT Transactions or CentralPay’s Subscription Service: Which Should You Choose? It is not required to use the Subscription module to perform MITs. 6.1. Use the subscription service if: The amounts are fixed, the frequency is recurring, The concept is similar to that of a subscription. 6.2. Use MIT transactions if: The amounts vary (usage-based model), Invoices are issued on a one-time basis, Debit transactions must be initiated by the Merchant. Documentation Recurring Card Transaction 7. API Implementation: Perform an MIT Transaction 7.1. Initial CIT During the CIT transaction: creation of a web customer, Generating a cardTokenId, 3DS authentication. 7.2. MIT Transaction Each MIT transaction must include: customerId, cardTokenId (or cardId), specifying the MIT context in the transaction parameters, the metadata needed to link the MIT to the original CIT. Documentation Recurring Card Transaction >: Subscription Based on Successive Transactions 8. Best Practices for Improving the Reliability of an MIT Workflow 8.1. Techniques initiate MITs shortly after billing, combine payments when appropriate, use 3RI to refresh authentication, Maintain a stable cardToken. 8.2. Handling Refuses If the code indicates « SCA required » (), offer the customer a new CIT (manual payment); if the code indicates « MIT required » (), recreate an MIT mandate. 8.3. Contract Workers Keep proof of the order: Terms and Conditions, acceptance logs, contract, customer information page. 9. MIT FAQ Is a CIT of 1 € sufficient for an MIT mandate? Yes, if it is 3DS-authenticated. How long does a CIT continue to generate MITs? It depends on the ACS: generally 13 to 36 months. Can an MIT trigger 3DS? Yes, if the ACS requires it (RBA, CIT tenure, atypical amounts). Should I use « Subscription » for variable amounts? No, the subscription service is generally designed for fixed subscription models. The recommended approach is to perform an initial CIT transaction followed by ad hoc MIT transactions. What should you do if a customer changes their card? A new CIT is required to generate a new token. Verification of Payee (VoP) Effective October 9, 2025, European regulations require banks to implement Verification of Payee (VoP) for all SEPA bank transfers (Regulation (EU) 2024/886, Article 5c). The goal is to protect consumers from IBAN fraud. 1. Operation When a bank transfer is initiated, the payer’s bank must verify that the beneficiary’s name entered matches the name associated with the IBAN. The result of this verification is displayed to the payer: MATCH: exact match CLOSE MATCH: partial match (e.g., typo, abbreviation, particle) NO MATCH: No matches found CHECK NOT POSSIBLE: Verification not possible ⚠️ The payer is free to decide whether or not to proceed with the bank transfer.However, a "NO MATCH" or "CLOSE MATCH" significantly increases the risk that the transaction will be abandoned. 2. Impacts on Merchants To prevent bank transfers from being rejected or abandoned, it is essential to verify that the name displayed to your customers matches the business name registered on your CentralPay account. Common cases: Trade name / business name / brand name → If you are known by a name other than your legal business name, please provide us with those names. We can enter them manually to improve the match rate. vIBAN CentralPay → Verify that your interfaces and media correctly display the business name of the CentralPay account owner associated with the IBAN. SmartForm (PaymentRequest) → No action required: CentralPay automatically displays the account owner. Quotes, invoices, external communications → Make sure the company name listed is the same as the one on the Bank Account you provide to your customers. Key points: - Verify that your business name is correctly registered and communicated.- Submit your trade names or trademarks to CentralPay if you wish to have them recognized.- Ensure that your documents (invoices, quotes, emails) match the official name on your Bank Account.- Verify that your documents (invoices, quotes, emails) match the official name on your Bank Account. - Inform your customers: * When they make a bank transfer, the beneficiary name they enter must match your business name exactly. * If they see a “Close match” or “No match” alert in their banking app, ask them to verify the name they entered. FAQ - Verification of Payee Effective October 9, 2025, Verification of Beneficiary (VoP) will become mandatory for all SEPA bank transfers, whether standard or instant. This system, which is free for users, aims to enhance payment security by reducing both: Bank transfer fraud (particularly fraud involving fake bank account information), errors in entering the IBAN or the Beneficiary’s name. Specifically, before executing a bank transfer, the payer’s financial institution must check with the Beneficiary’s financial institution to verify that the IBAN matches the account owner’s name. If there is a discrepancy, an alert is displayed to the Payer, who remains free to decide whether or not to proceed with the transaction. Challenges of the Program User protection: limiting misdirected or fraudulent bank transfers. SEPA Payment System Security: Supporting the Rollout of Instant Bank Transfers in Europe. Business and Consumer Confidence: Improving the Transparency and Reliability of Payments. European harmonization: establishing a common standard for all PSPs (banks, payment institutions, and Electronic money institutions). Legal Basis Regulation (EU) 2021/1230 on instant bank transfers in euros and amending Regulation (EU) No. 260/2012 (SEPA), which introduces the VoP requirement. Regulation (EU) 2015/847 on information accompanying fund transfers, which requires the accurate transmission of information about the Payer and the Beneficiary. Monetary and Financial Code: Articles L.133-6 and L.133-7 concerning the authorization of payment transactions and the accuracy of information, Articles L.561-5 et seq. concerning due diligence obligations in the area of AML/CFT. ACPR doctrine, which in several decisions has penalized the inadequacy of verification procedures and the failure to ensure that a customer’s identity matches their account Frequently Asked Questions (FAQ) 1. What is VoP? The Payment Order Verification (VoP) is a regulatory service established at the European level.It automatically compares the name of the Beneficiary of the bank transfer with the IBAN provided by the Payer before the bank transfer is executed.Objective: to enhance payment security and reduce fraud (particularly fraud involving fake bank account information). 2. Who is affected? Payers: individuals or businesses that initiate a bank transfer. Beneficiaries: Any individual or entity that receives bank transfers (you, as a CentralPay customer). Payment Service Providers (PSPs): banks, payment institutions, or Electronic money institutions, which must integrate VoP into their systems. 3. How does VoP actually work? When a bank transfer is initiated: The payer enters the IBAN and the beneficiary’s name. The sender’s bank queries the beneficiary’s payment service provider (via a secure channel) to verify that the IBAN matches the name on file for the beneficiary. The response is sent back to the payer’s PSP and displayed to the payer. 4. What results might occur? There are three possible scenarios: Exact match: The IBAN and name match → the bank transfer can be initiated without a warning. Partial match: The IBAN matches, but the name is different (typos, abbreviations, different spelling). The payer receives a warning and can: correct the name, or confirm that this is indeed the intended Beneficiary. Mismatch: The IBAN and name do not match → the payer receives a high-priority alert. The payer can cancel the transaction or decide to proceed by accepting the risk. Does the VoP block a bank transfer? No. VoP does not block the execution of a bank transfer. It provides additional information to the Payer, who remains free to approve or reject the transaction.However, some banks may set internal rules to block transactions in the event of a complete mismatch. What kind of data exchanges take place between banks and PSPs? The Beneficiary’s PSP (e.g., CentralPay) stores the exact name of the account owner in its database. When a VoP query is made, it responds with a standardized code indicating: match, partial match, or no match. These transactions are secure, traceable, and limited to only the necessary data, in accordance with Regulation (EU) 2015/847 on the reporting of bank transfers. No other personal data (address, KYC documents, etc.) is shared. What are the benefits of VoP? For the payer: reduced risk of bank transfer fraud; detection of data entry errors. For the beneficiary: reduced payment delays caused by errors; protection of the company’s reputation with its customers. For the financial system: improved fraud prevention and compliance with European standards. What should I do as a CentralPay Beneficiary? Provide your customers with the correct IBAN and the exact name on file with CentralPay (full company name, without abbreviations). Make sure your invoices, contracts, and other documents always include the same bank account information. If your company name changes or you start using a trade name, notify your customers and CentralPay promptly so that your information can be updated. What happens if there are frequent discrepancies? If your customers frequently encounter VoP alerts when making bank transfers, this may indicate that your bank account information is not being provided consistently. CentralPay can help you review and standardize your payment information to avoid friction. Illustration of VoP by the CNMP
Deposit jQuery(document).ready( function($) { window.live_6ab3046f59bee = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f59bee", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f59bee.load(); });
Deposit jQuery(document).ready( function($) { window.live_6ab3046f9cf68 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposit.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9cf68", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9cf68.load(); });
Conditions générales d’utilisation L’utilisation des services CentralPay est encadrée par plusieurs documents contractuels que chaque titulaire de compte doit consulter et accepter avant l’activation de son compte. 👉 Consultez les dernières versions en vigueur des conditions générales CentralPay 1. Deux types de CGU applicables CentralPay propose deux catégories de comptes, soumises à des conditions générales distinctes en fonction du service souscrit : Type de compteConditions générales applicablesCompte de paiementConditions générales de service de paiementCompte de monnaie électroniqueConditions générales de service de monnaie électronique Obligation d’acceptation : Ces conditions générales doivent être lues et acceptées électroniquement par le titulaire de chaque compte, qu’il soit ouvert directement par un marchand, ou via un partenaire CentralPay. 2. Contrat cadre pour les encaissements pour compte propre Dans le cas où un compte est utilisé pour encaisser des fonds pour compte propre (modèle marchand standard), CentralPay met également à disposition un modèle de contrat cadre dédié : Ce contrat précise les droits et obligations liés à l’utilisation du compte pour l’encaissement d’opérations commerciales, Il est signé électroniquement par le représentant légal ou par une personne habilitée (via délégation de pouvoir). 👉 Consultez les dernières versions en vigueur des conditions générales CentralPay
Terms and Conditions of Use The use of CentralPay services is governed by several contractual documents that each account owner must review and accept before activating their account. 👉 View the latest versions of the CentralPay Terms and Conditions currently in effect 1. Two Types of Applicable Terms of Use CentralPay offers two types of accounts, each subject to separate terms and conditions depending on the service subscribed to: Account typeApplicable Terms and ConditionsPayment AccountGeneral Terms and Conditions for Payment ServicesElectronic Money AccountGeneral Terms and Conditions for Electronic Money Services Obligation to Accept: These terms and conditions must be read and accepted electronically by the account owner of each account, whether the account is opened directly by a Merchant or through a CentralPay partner. 2. Master Agreement for Collections on Own Account If an account is used to collect funds on its own account (standard Merchant model), CentralPay also provides a dedicated master agreement template: This agreement sets forth the rights and obligations related to the use of the account for the collection of payments for commercial transactions, It is signed electronically by the legal representative or by an authorized person (by delegation of authority). 👉 View the latest versions of the CentralPay Terms and Conditions currently in effect
SDD Transaction Refund jQuery(document).ready( function($) { window.live_6ab3046f64050 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64050", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64050.load(); });
SDD Transaction Refund jQuery(document).ready( function($) { window.live_6ab3046fa7a9d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa7a9d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa7a9d.load(); });
Deposits jQuery(document).ready( function($) { window.live_6ab3046f5a085 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposits.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5a085", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5a085.load(); });
Deposits jQuery(document).ready( function($) { window.live_6ab3046f9d41d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Deposits.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9d41d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9d41d.load(); });
SDD Transaction Refund Reversal jQuery(document).ready( function($) { window.live_6ab3046f644a9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f644a9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f644a9.load(); });
SDD Transaction Refund Reversal jQuery(document).ready( function($) { window.live_6ab3046fa7ef7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa7ef7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa7ef7.load(); });
Guide : Mes comptes L’entrée Mes comptes du Portail Marchand CentralPay est l’espace dédié au suivi financier de vos comptes (comptes rattachés à votre Profil Marchand) : consultation des informations de compte, suivi des opérations réalisées et à venir, lecture des soldes historisés, et téléchargement des relevés mensuels officiels. Cette rubrique est particulièrement utile pour les équipes comptables, la direction financière et les personnes en charge du rapprochement et des clôtures. Accéder au Portail Marchand > Mes comptes 1. Sous-entrées disponibles La rubrique Mes comptes se compose de 4 sous-entrées : Vue d’ensemble Opérations (incluant l’onglet Opérations à venir) Solde Relevés de compte ℹ️ Selon votre profil ou votre configuration, l’accès à certaines sous-entrées peut varier. La logique fonctionnelle reste identique. 2. Vue d’ensemble La sous-entrée Vue d’ensemble permet d’identifier rapidement le compte sélectionné et d’obtenir une lecture immédiate de sa situation financière. 2.1. Informations de compte Vous y retrouvez notamment les informations clés du compte : Titulaire du compte IBAN et BIC Devise Type de compte Libellé du compte (sélecteur utile si plusieurs comptes sont rattachés à votre profil marchand) 2.2. Solde temps réel Le bloc Solde temps réel donne une vision instantanée du solde, avec une distinction utile pour la gestion quotidienne : Fonds disponibles (Valeur immédiatement accessible sur votre compte) Débits programmés (Montants des reversements et R-transactions programmés à une date ultérieure) ℹ️ Selon votre configuration, un « solde de compte de réserve » peut également être affiché. 2.3. Évolution sur période Un graphique permet d’observer l’évolution sur une période en combinant : le solde les opérations à venir (vision prévisionnelle) 3. Opérations La sous-entrée Opérations affiche la liste des mouvements affectant le compte, avec un onglet Opérations à venir pour les mouvements attendus mais non encore réalisés. C’est la vue principale pour le rapprochement comptable et la production d’exports. 3.1. Deux notions de date à connaître Pour une lecture comptable fiable, la vue distingue généralement : Date de valeur : date à laquelle l’opération est considérée comme effective sur le plan financier/comptable (très utilisée pour le rapprochement et les clôtures). Date d’opération : date/heure de l’évènement (utile pour investiguer une chronologie ou recouper un historique). ℹ️ Recommandation : pour une clôture ou un rapprochement, partez plutôt de la « date de valeur ». Pour une investigation, la « date d’opération » est souvent plus parlante. 3.2. Rechercher une opération Le moteur de recherche permet de retrouver rapidement une opération à partir d’un critère comptable, d’une référence ou d’un identifiant. Filtres essentiels FiltreÀ quoi ça sertParticularités / Bonnes pratiquesCompteRestreindre l’affichage aux opérations d’un compte spécifique.Indispensable si plusieurs comptes sont rattachés à votre profil. Commencez par sélectionner le compte avant d’appliquer d’autres filtres.Période (date de valeur)Filtrer les opérations sur une période comptable de référence.Base de travail pour les clôtures et le rapprochement. Recommandé : définissez toujours une période avant d’ajouter des critères plus fins (référence, montant, etc.).MontantRechercher une ou plusieurs opérations correspondant à un montant précis.À combiner avec Compte et Période pour éviter trop de résultats, surtout si vous avez un volume d’opérations de même montant important.RéférenceRetrouver une opération via votre référence métier personnalisée (commande, facture, identifiant interne, etc.).Très utile si vos équipes utilisent un identifiant commun entre votre système et CentralPay. Peut aussi servir à regrouper plusieurs lignes liées à un même évènement selon votre paramétrage.Operation IDRechercher une opération via son identifiant CentralPay unique.Le filtre le plus précis : un Operation ID correspond à une ligne unique. À privilégier pour les investigations support/audit lorsque l’identifiant est connu.LibelléRechercher une opération à partir de son intitulé descriptif (recherche par mots-clés).Utile lorsque vous ne disposez pas d’un identifiant (Operation ID, référence). Pratique pour retrouver une opération “à partir de ce qui est visible” dans la liste.TypeIsoler une famille d’opérations (carte, virement, prélèvement, remboursement, contestations, etc.).Idéal pour analyser un périmètre (ex. uniquement les virements entrants) ou préparer un export ciblé avant rapprochement. Filtres avancés Les filtres avancés sont utiles pour les investigations (support/audit), l’analyse de reversements et les exports comptables. Le tableau ci-dessous résume leur objectif et leurs particularités. FiltreÀ quoi ça sertParticularités / Bonnes pratiquesNatureQualifier l’origine comptable et fonctionnelle d’une opération afin de distinguer rapidement les écritures Frais, Fonds et Gestion. Frais : opérations liées aux coûts et commissions débités ou crédités sur le compte, associés à l’utilisation des services (ex. frais d’opérations, commissions, remboursements ou corrections de frais). Fonds : opérations correspondant aux flux financiers qui entrent ou sortent du compte dans le cadre de son activité (ex. transactions clients, versements sortants, remboursements de transaction). Gestion : opérations internes CentralPay réalisées pour ajuster ou sécuriser le solde du compte (ex. mouvements de réserve, gage espèces, ajustements techniques ou écritures de régularisation). Source IDRegrouper des opérations liées entre elles (ex. une autorisation carte, la transaction associée, et son remboursement) afin d’analyser un parcours complet. Le Source ID est un identifiant permettant de regrouper différentes opérations liées. Vous pouvez soit : • cliquer sur « Filtrer par ce Source ID » depuis une opération de la liste des résultats ; • ou renseigner le Source ID dans le moteur de recherche afin d’afficher toutes les opérations rattachées à ce même identifiant. Numéro de payoutRetrouver toutes les opérations liées à un reversement (payout) et en analyser la composition (fonds, frais, ajustements…). Ce filtre regroupe toutes les opérations rattachées à un même reversement (payout), ce qui permet d’en comprendre le détail et la composition. Comment obtenir le numéro de payout ? • Recherchez l’opération de versement sortant (PAYOUT), ouvrez son détail (bouton d’action), puis cliquez sur « Voir les opérations du payout » : le portail applique automatiquement le filtre et affiche les opérations concernées. • À défaut, vous pouvez le déduire depuis la référence du versement sortant : les derniers chiffres correspondent au numéro de payout (ex. PAYOUT-7usge67-153 → numéro de payout = 153). À noter : le détail des opérations d’un versement sortant est disponible uniquement lorsque les payouts automatiques sont activés. Le premier payout automatique peut ne pas afficher le détail attendu (calibrage du mode de calcul). Tiers(Tiers / Type tiers / ID tiers / Pays tiers)Filtrer les opérations selon la contrepartie impliquée (autre que vous), pour analyser des flux par acteur.Le tiers est la personne morale ou physique impliquée dans l’opération autre que vous (par exemple un client, CentralPay, un autre marchand, un compte externe…). Vous pouvez filtrer soit : • par Tiers : nom du tiers (champ libre) ; • par ID tiers : identifiant CentralPay du tiers (par exemple CustomerID ou MerchantID), pour une recherche précise ; • par Type tiers : un des quatre types suivants : Customer, Marchand, CentralPay, Compte externe ; • par Pays tiers : pays dans lequel le tiers est déclaré (par exemple selon la région d’émission de sa carte si c’est un Customer), ce qui peut être utile notamment pour certains besoins de reporting (ex. déclarations de TVA). 3.3. Synthèse débits / crédits La page présente une synthèse des débits et crédits sur la période filtrée (volume et montant), avec une ventilation possible par nature d’opération (frais, fonds, gestion). Cette lecture permet de vérifier rapidement la cohérence d’une période avant export. 3.4. Exports comptables personnalisés Depuis la vue Opérations, vous pouvez générer des exports aux formats CSV, Excel ou JSON. Le principe est simple : Paramétrez votre recherche (compte, période, filtres utiles). Lancez la recherche, puis cliquez sur Exporter. Vous recevez le fichier par email et pouvez le télécharger à tout moment depuis le Portail Marchand (rubrique Fichiers d’export). Voir la documentation : Exports comptables et relevés de compte 4. Solde La sous-entrée Solde fournit une vision historisée des soldes par compte, structurée par date de valeur (lecture « fin de journée »). Vous y retrouvez généralement : Solde de clôture (fin de journée) Opérations à venir (agrégat des mouvements attendus) Solde prévisionnel (solde tenant compte des opérations à venir) ℹ️ Cas d’usage : justifier un solde « à date » (clôture, contrôle interne), ou comparer une situation constatée vs prévisionnelle. 5. Relevés de compte La sous-entrée Relevés de compte donne accès aux relevés mensuels officiels de votre compte CentralPay. Ces documents sont les justificatifs de référence pour la comptabilité et les preuves administratives. Chaque début de mois, en plus de la facture, un relevé de compte est généré et mis à disposition dans l’espace sécurisé : Mes comptes > Relevés de compte. Deux types de relevés peuvent être proposés : Relevé détaillé : fait apparaître l’ensemble des opérations de la période. Relevé synthétique : regroupe les opérations par jour et par type d’opération. ⚠️ Si vous possédez un grand nombre d’opérations, il est possible que toutes n’apparaissent pas sur le relevé détaillé. Dans ce cas, nous vous conseillons de réaliser un export au format CSV, Excel ou JSON. Voir la documentation : Exports comptables et relevés de compte 6. Actions fréquentes 6.1. Clôture mensuelle Allez dans Opérations, filtrez par Compte et Période (date de valeur). Vérifiez la synthèse débits / crédits et la ventilation par nature (frais / fonds / gestion). Générez un export comptable (colonnes adaptées à votre rapprochement). Ou téléchargez directement le relevé mensuel dans Relevés de compte pour archivage et justificatif officiel (1 relevé par compte). 6.2. Rapprochement des opérations liée à un versement sortant (payout) Allez dans Mes comptes > Opérations et, si besoin, sélectionnez d’abord le Compte concerné. Retrouvez l’opération de versement sortant (PAYOUT), ouvrez son détail (bouton d’action), puis cliquez sur « Voir les opérations du payout » : le Portail applique automatiquement le filtre Numéro de payout et affiche uniquement les opérations rattachées à ce versement. Analysez la composition du versement à l’aide du filtre Nature pour distinguer les lignes de Fonds, Frais et Gestion (ajustements), puis vérifiez la cohérence du montant global. Si nécessaire, générez un export (CSV / Excel / JSON) afin d’archiver le détail du payout ou de l’intégrer à votre rapprochement. ℹ️ Alternative : le numéro de payout peut aussi être déduit de la référence du versement sortant (ex. PAYOUT-7usge67-153 → numéro de payout = 153). ⚠️ Le détail des opérations d’un versement sortant est disponible uniquement lorsque les payouts automatiques sont activés. Le premier payout automatique peut ne pas afficher le détail attendu (calibrage du mode de calcul). 6.3. Justifier un solde à date Allez dans Solde pour retrouver le solde de clôture à la date souhaitée. Complétez si nécessaire par le relevé mensuel dans Relevés de compte.
Guide: My Accounts The “My Accounts” section of the CentralPay Merchant Portal is where you can manage your accounts (those linked to your Merchant Profile): view account information, track completed and upcoming transactions, review historical balances, and download official monthly statements. This section is particularly useful for accounting teams, the finance department, and those responsible for account reconciliation and month-end closings. Go to the Merchant Portal > My Accounts 1. Available subentries The » My Accounts » section consists of 4 sub-entries: Overview Transactions (including the » Upcoming Transactions » tab) Balance Account Statements ℹ️ Depending on your profile or settings, access to certain sub-entries may vary. The functional logic remains the same. 2. Overview The « Overview » sub-section allows you to quickly identify the selected account and get an immediate snapshot of its financial status. 2.1. Account Information There you’ll find, among other things, key account information: Account owner IBAN and BIC Currency Account type Account Name (a useful filter if multiple accounts are linked to your Merchant Profile) 2.2. Real-Time Balance The « Real-Time Balance » section provides an instant overview of the balance, with a distinction that is useful for day-to-day management: Available Funds (Amount immediately available in your account) Scheduled Transactions (Scheduled Payouts and R-Transactions Scheduled for a Future Date) ℹ️ Depending on your settings, a "reserve account balance" may also be displayed. 2.3. Changes Over Time A graph allows you to observe trends over a period of time by combining: the balance Upcoming Operations (Forecast) 3. Operations The « Transactions » sub-tab displays a list of transactions affecting the account, with a « Upcoming Transactions » tab for transactions that are expected but have not yet been processed. This is the main view for account reconciliation and generating exports. 3.1. Two Date Concepts You Should Know To ensure reliable accounting data, the view generally distinguishes between: Value date: the date on which a transaction is considered to have taken effect for financial and accounting purposes (widely used for reconciliation and financial closings). Transaction Date: Date and time of the event (useful for investigating a timeline or cross-referencing a history). ℹ️ Recommendation: For closing or reconciliation, it’s best to use the “value date.” For an investigation, the “transaction date” is often more meaningful. 3.2. Search for a transaction The search engine allows you to quickly find a transaction based on an accounting criterion, a reference, or an identifier. Essential Filters FilterWhat is it used for?Key Features / Best PracticesAccountLimit the display to transactions for a specific account.This is essential if you have multiple accounts linked to your profile. Start by selecting the account before applying other filters. Period (value date)Filter transactions by a reference accounting period.Working basis for filtering and matching. Recommended: Always specify a time period before adding more specific criteria (reference, amount, etc.). AmountSearch for one or more transactions that match a specific amount.Combine this with » Account » and » Period » to avoid getting too many results, especially if you have a large number of transactions for the same amount.ReferenceFind a transaction using your custom business reference (order, invoice, internal ID, etc.).This is very useful if your teams use a shared ID between your system and CentralPay. It can also be used to group multiple lines related to the same event, depending on your settings. Operation IDSearch for a transaction using its unique CentralPay ID.The most precise filter: Each Operation ID corresponds to a single row. Best used for support or audit investigations when the ID is known. WordingSearch for a transaction by its descriptive title (keyword search).Useful when you don’t have an identifier (Operation ID, reference). Handy for finding an operation “based on what’s visible” in the list. TypeIdentify a category of transactions (credit cards, Bank transfers, direct debits, refunds, Chargebacks, etc.).Ideal for analyzing a specific scope (e.g., only incoming bank transfers) or preparing a targeted export before reconciliation. Advanced Filters Advanced filters are useful for investigations (support/audit), analysis of payouts, and accounting exports. The table below summarizes their purpose and features. FilterWhat is it used for?Key Features / Best PracticesNatureIdentify the accounting and functional origin of a transaction in order to quickly distinguish between Expense, Fund, and Management journal entries. Fees: Transactions related to costs and commissions debited or credited to the account, associated with the use of services (e.g., transaction fees, commissions, refunds, or fee adjustments). Funds: Transactions corresponding to cash flows entering or leaving the account as part of its activity (e.g., customer transactions, Payouts, refunds). Management: Internal CentralPay transactions carried out to adjust or secure the account balance (e.g., reserve transfers, cash pledges, technical adjustments, or adjusting entries). Source IDGroup related transactions together (e.g., a Card Authorization, the associated transaction, and its Refund) in order to analyze the entire customer journey. The Source ID is an identifier used to group related transactions. You can either: • click “Filter by this Source ID” from a transaction in the results list; • or enter the Source ID in the search bar to display all transactions associated with that identifier. Payout NumberView all transactions related to a payout and analyze their breakdown (funds, fees, adjustments, etc.). This filter groups together all transactions associated with a single Payout, making it easier to understand the details and breakdown of that Payout. How do I get the payout number? • Search for thePayout transaction, open its details (action button), then click “View Payout transactions ”: the portal automatically applies the filter and displays the relevant transactions. • Alternatively, you can derive it from the Payout reference: the last digits correspond to the payout number (e.g., PAYOUT-7usge67-153 → payout number = 153). Please note: Details of a payout are available only when automatic payouts are enabled. The first automatic payout may not display the expected details (due to calculation method calibration). Third Party(Third Party / Third-Party Type / Third-Party ID / Third Country)Filter transactions by the counterparty involved (other than you) to analyze cash flows by party.A third party is any legal entity or individual involved in the transaction other than you (for example, a customer, CentralPay, another Merchant, an external account, etc.). You can filter by either: • By a third party: name of the third party (free-form field); • by third-party ID: the third party’s CentralPay identifier (e.g., CustomerID or MerchantID), for a precise search; • By third-party type: one of the following four types: Customer, Merchant, CentralPay, External Account; • By Third-Party Country: the country in which the third party is registered (for example, based on the region where their card was issued if they are a Customer), which can be particularly useful for certain reporting requirements (e.g., VAT filings). 3.3. Debits and Credits Summary This page provides a summary of debits and credits for the filtered period (volume and amount), with the option to break them down by transaction type (expenses, funds, management). This overview allows you to quickly verify the consistency of a period before exporting the data. 3.4. Custom Accounting Exports From the Operations view, you can generate exports in CSV, Excel, or JSON formats. The process is simple: Set your search criteria (account, time period, useful filters). Start the search, then click Export. You will receive the file via email and can download it at any time from the Merchant Portal (under » Export Files« ). See the documentation: Accounting exports and account statements 4. Balance The « Balance » sub-entry provides a historical view of account balances, organized by value date (end-of-day view). You’ll usually find the following there: Closing Balance (End of Day) Upcoming Transactions (Aggregate of Expected Movements) Projected balance (balance reflecting future transactions) ℹ️ Use case: to verify a “current” balance (for closing the books, internal control), or to compare an actual balance with a projected balance. 5. Account statements The « Account Statements » sub-section provides access to the official monthly statements for your CentralPay account. These documents serve as the primary records for accounting purposes and as official documentation. At the beginning of each month, in addition to the invoice, an account statement is generated and made available in the secure area: My Accounts > Account Statements. Two types of statements may be offered: Detailed statement: Shows all transactions for the period. Summary Statement: Groups transactions by day and by transaction type. ⚠️ If you have a large number of transactions, not all of them may appear on the detailed statement. In this case, we recommend exporting the data in CSV, Excel, or JSON format. See the documentation: Accounting exports and account statements 6. Common Actions 6.1. Monthly Closing Go to » Transactions, » and filter by » Account » and » Period » (value date). Review the summary of debits and credits and the breakdown by category (expenses, funds, and administration). Generate an accounting export (with columns tailored to your reconciliation process). Or download the monthly statement directly from » Account Statements » for your records and as an official document (1 statement per account). 6.2. Reconciliation of transactions related to a payout Go to » My Accounts » > » « Transactions, » and, if necessary, select the relevant account first. Locate the payout transaction (PAYOUT), open its details (action button), then click “View payout transactions ”: the Portal automatically applies the “Payout Number ” filter and displays only the transactions associated with that payout. Analyze the breakdown of the payout using the « Type » filter to distinguish between the » Funds, » » Fees, » and « Management » (adjustments) lines, then verify that the total amount is correct. If necessary, generate an export (CSV / Excel / JSON) to archive the payout details or perform Integration with your reconciliation. ℹ️ Alternative: The payout number can also be derived from the payout reference (e.g., PAYOUT-7usge67-153 → payout number = 153). ⚠️ Transaction details for a payout are available only when automatic payouts are enabled. The first automatic payout may not display the expected details (due to calculation method calibration). 6.3. Justify a balance as of a specific date Go to » Balance » to find the closing balance as of the desired date. If necessary, supplement this with the monthly statement in « Account Statements. »
Offres commerciales CentralPay propose une tarification juste et transparente, adaptée à votre volume d’encaissement et à votre activité. Les tarifs sont dégressifs : plus votre volume augmente, plus les frais unitaires diminuent. Les frais sont calculés sur la base des volumes de transactions réalisées le mois précédent. Deux solutions, selon votre besoin Smart Collection Accédez gratuitement à la solution d’encaissement : pas d’abonnement, vous payez uniquement des frais à l’utilisation. Easy Wallet Accédez à des services complémentaires (notamment la gestion de comptes / wallets) avec un forfait mensuel en plus des frais à l’utilisation. Aucun surcoût lié aux réseaux cartes Toutes les offres CentralPay intègrent les frais d’interchange et de réseaux cartes facturés par les banques : vous n’avez donc aucun surcoût à prévoir. 👉 Pour obtenir une estimation selon votre volume et contacter notre équipe commerciale : Voir les tarifs publics CentralPay
Sales Offers CentralPay offers fair and transparent pricing tailored to your transaction volume and business. Rates are on a sliding scale: the higher your transaction volume, the lower the per-transaction fees. Fees are calculated based on the volume of transactions made in the previous month. Two options, depending on your needs Smart Collection Get free access to the payment processing solution: no subscription—you only pay per transaction. Easy Wallet Access additional services (including account/wallet management) with a monthly subscription plan in addition to pay-as-you-go fees. No additional costs associated with card networks All CentralPay plans include the interchange and Card Scheme Fees charged by banks, so you won’t incur any additional costs. 👉 To get a quote based on your volume and contact our sales team: View CentralPay’s public rates
Event jQuery(document).ready( function($) { window.live_6ab3046f5a6db = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Event.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5a6db", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5a6db.load(); });
Event jQuery(document).ready( function($) { window.live_6ab3046f9d8d5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Event.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9d8d5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9d8d5.load(); });
Subscription Model See more about Subscription Model jQuery(document).ready( function($) { window.live_6ab3046f65a21 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription Model.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f65a21", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f65a21.load(); });
Subscription Model See more about Subscription Model jQuery(document).ready( function($) { window.live_6ab3046fa9359 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription Model.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa9359", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa9359.load(); });
Frais d'interchange et réseaux cartes 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 (Vente à distance, E-commerce) Cartes émises dans l’Espace Economique Européen (EEE) Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitEEECB0,200%0,025%0,225%Cartes personnellesDébitEEEVISA0,200%0,231%0,431%Cartes personnellesDébitEEEMastercard0,200%0,219%0,419%Cartes personnellesCréditEEECB0,300%0,025%0,325%Cartes personnellesCréditEEEVISA0,300%0,231%0,531%Cartes personnellesCréditEEEMastercard0,300%0,219%0,519%Cartes professionnellesToutesEEECB0,900%0,025%0,925%Cartes professionnellesToutesEEEVISA1,450%0,070%1,520%Cartes professionnellesToutesEEEMastercard1,450%0,171%1,621%Cartes personnellesToutesEEEAMEX0,000%1,600%1,600%Cartes professionnellesToutesEEEAMEX0,000%1,600%1,600% Cartes internationales, émises hors de l’Espace Economique Européen Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitInternationaleVISA1,150%1,343%2,493%Cartes personnellesDébitInternationaleMastercard1,150%1,343%2,493%Cartes personnellesCréditInternationaleVISA1,500%1,499%2,999%Cartes personnellesCréditInternationaleMastercard1,500%0,951%2,451%Cartes professionnellesToutesInternationaleVISA2,000%0,700%2,700%Cartes professionnellesToutesInternationaleMastercard2,000%0,951%2,951%Cartes personnellesToutesInternationaleAMEX0,000%2,400%2,400%Cartes professionnellesToutesInternationaleAMEX0,000%2,400%2,400% 2. Frais d’interchange et réseaux carte (paiement de proximité) Cartes émises dans l’Espace Economique Européen (EEE) Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitEEECB0,200%0,025%0,225%Cartes personnellesDébitEEEVISA0,200%0,231%0,431%Cartes personnellesDébitEEEMastercard0,200%0,219%0,419%Cartes personnellesCréditEEECB0,300%0,025%0,325%Cartes personnellesCréditEEEVISA0,300%0,231%0,531%Cartes personnellesCréditEEEMastercard0,300%0,219%0,519%Cartes professionnellesToutesEEECB0,900%0,025%0,925%Cartes professionnellesToutesEEEVISA1,450%0,070%1,520%Cartes professionnellesToutesEEEMastercard1,450%0,171%1,621%Cartes personnellesToutesEEEAMEX0,000%1,600%1,600%Cartes professionnellesToutesEEEAMEX0,000%1,600%1,600% Cartes internationales, émises hors de l’Espace Economique Européen Données mises à jour le 29/01/2026 Type de titulaireType de carteRégion de carteRéseau de carteFrais d’InterchangeFrais de réseau carteInterchange+ (total)Cartes personnellesDébitInternationaleVISA1,150%1,343%2,493%Cartes personnellesDébitInternationaleMastercard1,150%1,343%2,493%Cartes personnellesCréditInternationaleVISA1,500%1,499%2,999%Cartes personnellesCréditInternationaleMastercard1,500%0,951%2,451%Cartes professionnellesToutesInternationaleVISA2,000%0,700%2,700%Cartes professionnellesToutesInternationaleMastercard2,000%0,951%2,951%Cartes personnellesToutesInternationaleAMEX0,000%2,400%2,400%Cartes professionnellesToutesInternationaleAMEX0,000%2,400%2,400%
Interchange Fees and Card Schemes The interchange fee is the amount charged by the issuer of a payment card (your customer’s bank) to the acquirer (the Merchant’s bank). Card Scheme Fees are the fees charged by card networks (Visa, Mastercard, CB) to operate the service. Terms have been defined to describe the combination of these costs: Interchange+Interchange fees + Card Scheme Fees Interchange++Interchange fees + Card Scheme Fees + merchant service fees (CentralPay) All of CentralPay’s commercial offerings include Interchange+ fees as well as our own service fees, so you won’t incur any additional bank fees when processing your transactions. Unless otherwise specified, a minimum processing fee of €0.15 is deducted from the IC++. 1. Interchange Fees and Card Scheme Fees (Distance Selling, E-commerce) Cards issued in the European Economic Area (EEA) Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateEEECB0,200%0,025%0,225%Personal CardsFlow RateEEEVISA0,200%0,231%0,431%Personal CardsFlow RateEEEMastercard0,200%0,219%0,419%Personal CardsCreditEEECB0,300%0,025%0,325%Personal CardsCreditEEEVISA0,300%0,231%0,531%Personal CardsCreditEEEMastercard0,300%0,219%0,519%Business CardsAllEEECB0,900%0,025%0,925%Business CardsAllEEEVISA1,450%0,070%1,520%Business CardsAllEEEMastercard1,450%0,171%1,621%Personal CardsAllEEEAMEX0,000%1,600%1,600%Business CardsAllEEEAMEX0,000%1,600%1,600% International cards issued outside the European Economic Area Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateInternationalVISA1,150%1,343%2,493%Personal CardsFlow RateInternationalMastercard1,150%1,343%2,493%Personal CardsCreditInternationalVISA1,500%1,499%2,999%Personal CardsCreditInternationalMastercard1,500%0,951%2,451%Business CardsAllInternationalVISA2,000%0,700%2,700%Business CardsAllInternationalMastercard2,000%0,951%2,951%Personal CardsAllInternationalAMEX0,000%2,400%2,400%Business CardsAllInternationalAMEX0,000%2,400%2,400% 2. Interchange fees and Card Scheme Fees (contactless payments) Cards issued in the European Economic Area (EEA) Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateEEECB0,200%0,025%0,225%Personal CardsFlow RateEEEVISA0,200%0,231%0,431%Personal CardsFlow RateEEEMastercard0,200%0,219%0,419%Personal CardsCreditEEECB0,300%0,025%0,325%Personal CardsCreditEEEVISA0,300%0,231%0,531%Personal CardsCreditEEEMastercard0,300%0,219%0,519%Business CardsAllEEECB0,900%0,025%0,925%Business CardsAllEEEVISA1,450%0,070%1,520%Business CardsAllEEEMastercard1,450%0,171%1,621%Personal CardsAllEEEAMEX0,000%1,600%1,600%Business CardsAllEEEAMEX0,000%1,600%1,600% International cards issued outside the European Economic Area Data updated on January 29, 2026 Type of account ownerCard typeMap RegionMap NetworkInterchange FeesCard Scheme FeesInterchange+ (total)Personal CardsFlow RateInternationalVISA1,150%1,343%2,493%Personal CardsFlow RateInternationalMastercard1,150%1,343%2,493%Personal CardsCreditInternationalVISA1,500%1,499%2,999%Personal CardsCreditInternationalMastercard1,500%0,951%2,451%Business CardsAllInternationalVISA2,000%0,700%2,700%Business CardsAllInternationalMastercard2,000%0,951%2,951%Personal CardsAllInternationalAMEX0,000%2,400%2,400%Business CardsAllInternationalAMEX0,000%2,400%2,400%
Exchange jQuery(document).ready( function($) { window.live_6ab3046f5ab7e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Exchange.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5ab7e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5ab7e.load(); });
Exchange jQuery(document).ready( function($) { window.live_6ab3046f9dd7a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Exchange.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9dd7a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9dd7a.load(); });
Subscription See more about Subscription jQuery(document).ready( function($) { window.live_6ab3046f662f1 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f662f1", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f662f1.load(); });
Subscription See more about Subscription jQuery(document).ready( function($) { window.live_6ab3046fa9b63 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa9b63", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa9b63.load(); });
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 autonomie2 heures d’accompagnement équipe Service ClientInclus (offres Starter, Medium et Major Company)Accompagnement standardAnalyse technique du projet par équipe Service Intégration 2 heures d’accompagnement équipe Service Intégration 2 heures d’accompagnement équipe Service Client490 €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 autonomie3 heures d’accompagnement équipe Service ClientInclus(offres Medium et Major Partner)Accompagnement standardAnalyse technique du projet par équipe Service Intégration5 heures d’accompagnement équipe Service Intégration5 heures d’accompagnement équipe Service Client990 €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 h2 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.250 €Forfait d’accompagnement 5 h5 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.490 €Forfait d’accompagnement 10 h10 heures d’accompagnement équipe Service Client, consommables par périodes de 30 minutes.890 €
Support Packages Support packages enable rapid setup, guided by our Integration Support (IS) and Customer Service (CS) teams. The support hours allow you to delegate certain account configuration tasks and request video calls: with the IS team for technical issues, and with the CS team for administrative or functional matters. 1. Smart Collection Integration Support Support for integration, as neededFees (excluding tax)Self-guided, 2 hours of support from the Customer Service teamIncludes (Starter, Medium, and Major Company plans)Standard SupportTechnical analysis of the project by the Integration Services team 2 hours of support from the Integration Services team 2 hours of support from the Customer Service team490 €Advanced SupportTechnical analysis and monitoring by a dedicated Integration Service Manager3 hours of support from a dedicated Integration Service Manager3 hours of support from a dedicated Customer Service Manager€1,990 2. Support for Smart Collection and Easy Wallet integration Support for integration, as neededFees (excluding tax)Self-guided: 3 hours of support from the Customer Service teamIncludes(Medium and Major Partner plans)Standard Support:Technical analysis of the project by the Integration Services team:5 hours of support from the Integration Services team:5 hours of support from the Customer Service team990 €Advanced SupportTechnical Analysis and Monitoring by a Dedicated Integration Service Manager10 hours of support from a Dedicated Integration Service Manager10 hours of support from a Dedicated Customer Service Manager€2,990 3. Hourly support packages offered by customer service Customizable hourly support, which can be used to delegate account configuration, troubleshooting with testing, specific analyses, and more…Fees (excluding tax)2-hour support package 2 hours of support from the Customer Service team, consumables in 30-minute periods.250 €5-hour support package 5 hours of support from the Customer Service team, consumables in 30-minute periods.490 €10-hour support package 10 hours of support from the Customer Service team, consumables in 30-minute periods.€890
Logos CentralPay Logo CentralPay SVG Logo CentralPay blanc SVG Logo CentralPay PNG Logo CentralPay blanc PNG
CentralPay Logos CentralPay SVG Logo White CentralPay Logo (SVG) CentralPay Logo PNG White CentralPay Logo PNG
Invoice See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046f66b11 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f66b11", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f66b11.load(); });
Invoice See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046faa31a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faa31a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faa31a.load(); });
Identity jQuery(document).ready( function($) { window.live_6ab3046f5b056 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Identity.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5b056", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5b056.load(); });
Identity jQuery(document).ready( function($) { window.live_6ab3046f9e22c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Identity.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9e22c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9e22c.load(); });
Logos PaySecure 1. Logos Logo PaySecure classique PNG Logo PaySecure blanc PNG Logo PaySecure classique JPG 2. 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
PaySecure Logos 1. Logos Classic PaySecure Logo (PNG) White PaySecure Logo PNG Classic PaySecure Logo (JPG) 2. Reassurance visuals (FR/EN) Reinsurance – White Background Reinsurance – Transparent Fund Reinsurance – blank Reinsurance – White Background Reinsurance – Transparent Fund Reinsurance – blank
Create Enrollement jQuery(document).ready( function($) { window.live_6ab3046f69912 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Create enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69912", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69912.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69921 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_User.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69921", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69921.load(); });
Create Enrollement jQuery(document).ready( function($) { window.live_6ab3046fac75c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Create enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fac75c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fac75c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fac76b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_User.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fac76b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fac76b.load(); });
Info jQuery(document).ready( function($) { window.live_6ab3046f5b4f4 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Info.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5b4f4", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5b4f4.load(); });
Info jQuery(document).ready( function($) { window.live_6ab3046f9e6cd = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Info.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9e6cd", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9e6cd.load(); });
InvoiceItem See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046f67318 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice Item.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f67318", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f67318.load(); });
InvoiceItem See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046faab1c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice Item.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faab1c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faab1c.load(); });
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. 1. Version française 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 2. Version anglaise 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
Reinsurance Visuals (FR/EN) Integrate one of these images below your CustomForm payment form, or simply in your website’s footer, to reassure your customers about the security of their payment information. 1. French version Reinsurance 1 – Traditional Reinsurance 1 – White Background Reinsurance 1 – blank Reinsurance 2 – Traditional Reinsurance 2 – White Background Reinsurance 2 – blank Reinsurance 3 – Traditional Reinsurance 3 – White Background Reinsurance 3 – blank Reinsurance 4 – With Amex Reinsurance 4 – Amex White Background Reinsurance 4 – White Amex Reinsurance 5 – With Amex Reinsurance 5 – Amex White Background Reinsurance 5 – White Amex Reinsurance 6 – With Amex Reinsurance 6 – Amex White Fund Reinsurance 6 – White Amex 2. English version Reinsurance 1 – Traditional Reinsurance 1 – White Background Reinsurance 1 – blank Reinsurance 2 – Traditional Reinsurance 2 – White Background Reinsurance 2 – blank Reinsurance 3 – Traditional Reinsurance 3 – White Background Reinsurance 3 – blank Reinsurance 4 – With Amex Reinsurance 4 – Amex White Background Reinsurance 4 – White Amex Reinsurance 5 – With Amex Reinsurance 5 – Amex White Background Reinsurance 5 – White Amex Reinsurance 6 – With Amex Reinsurance 6 – Amex White Fund Reinsurance 6 – White Amex
Installment Payment See more about Installment Payment jQuery(document).ready( function($) { window.live_6ab3046f5bc96 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Installment Payment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5bc96", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5bc96.load(); });
Installment Payment See more about Installment Payment jQuery(document).ready( function($) { window.live_6ab3046f9ee66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Installment Payment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9ee66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9ee66.load(); });
Complete enrollment jQuery(document).ready( function($) { window.live_6ab3046f69f7c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f7c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f7c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69f8b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete additional enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f8b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f8b.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69f97 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f97", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f97.load(); });
Complete enrollment jQuery(document).ready( function($) { window.live_6ab3046facc57 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc57", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc57.load(); }); jQuery(document).ready( function($) { window.live_6ab3046facc66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete additional enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc66.load(); }); jQuery(document).ready( function($) { window.live_6ab3046facc71 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc71", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc71.load(); });
MerchantInfo jQuery(document).ready( function($) { window.live_6ab3046f5c0f8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5c0f8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5c0f8.load(); });
MerchantInfo jQuery(document).ready( function($) { window.live_6ab3046f9f336 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9f336", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9f336.load(); });
Update enrollment jQuery(document).ready( function($) { window.live_6ab3046f6a5ea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Update enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6a5ea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6a5ea.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f6a5f9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Rollback enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6a5f9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6a5f9.load(); });
Update enrollment jQuery(document).ready( function($) { window.live_6ab3046fad152 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Update enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad152", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad152.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fad160 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Rollback enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad160", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad160.load(); });
Conformité et résilience opérationnelle Dernière mise à jour : 30 juin 2025 « Notre engagement pour protéger vos transactions et assurer un service sans interruption. Un dispositif aligné sur les exigences européennes en matière de sécurité et de continuité des services financiers » 1. Gouvernance et organisation de la sécurité Chez CentralPay, la sécurité n’est pas seulement un ensemble de règles techniques, mais une démarche de gouvernance intégrée à tous les niveaux de l’entreprise. Notre dispositif repose sur une organisation claire, des responsabilités définies et une supervision régulière par la direction. La politique de sécurité constitue le socle de ce dispositif. Elle fixe les principes directeurs en matière de protection des données et de continuité des services. Mise à jour chaque année, elle est validée en comité de direction et diffusée à l’ensemble des collaborateurs concernés. Chaque employé est ainsi sensibilisé aux bonnes pratiques et s’engage à respecter les règles établies. La gouvernance TIC est structurée autour de plusieurs acteurs clés. Le Responsable de la Sécurité des Systèmes d’Information (RSSI) pilote la stratégie globale, supervise les contrôles de sécurité et veille à la conformité avec les standards internationaux (PCI DSS, DORA). La direction technique est en charge de l’exploitation quotidienne des infrastructures et garantit la disponibilité des systèmes critiques. Enfin, un Comité TIC se réunit régulièrement afin d’analyser les incidents, de valider les évolutions techniques et budgétaires, et d’assurer une amélioration continue de la sécurité. Cette organisation permet de concilier réactivité opérationnelle et exigence réglementaire. Elle offre également à nos clients une visibilité claire : la sécurité est suivie, pilotée et contrôlée de manière documentée, avec un partage des responsabilités entre le management, les équipes techniques et la direction générale. 2. Gestion des accès et habilitations La gestion des accès constitue l’un des piliers de la sécurité de CentralPay. Chaque droit d’accès est attribué selon une procédure formalisée et validée par le management, afin de s’assurer qu’il corresponde strictement aux besoins métier du collaborateur. À l’arrivée d’un nouvel employé, ses accès sont créés dans l’Active Directory et validés par son supérieur hiérarchique ; au départ, ils sont immédiatement révoqués par le service informatique. La sécurité repose également sur le principe du moindre privilège : nul ne peut accéder à plus de ressources que ce qui est strictement nécessaire à sa mission. Les accès sensibles, comme ceux aux systèmes critiques ou aux bases de données, font systématiquement l’objet d’une authentification multi-facteurs (MFA). Pour renforcer ce dispositif, des revues périodiques des habilitations sont menées chaque trimestre, permettant d’identifier et de corriger toute anomalie. Cette rigueur garantit une maîtrise complète des identités et des droits, et protège nos clients contre tout risque d’accès non autorisé à leurs données. 3. Sécurité technique La sécurité technique de CentralPay repose sur une architecture conçue selon les principes de défense en profondeur. Chaque couche – du réseau jusqu’aux applications – bénéficie de mécanismes de protection redondants et régulièrement testés. Cloisonnement des réseaux L’infrastructure est segmentée en plusieurs zones : DMZ publique pour les serveurs exposés à Internet (reverse proxy, WAF, relais SMTP) ; zone interne pour les bases de données et services sensibles ; réseau administratif réservé aux opérations d’administration ; zone de logs isolée pour la collecte et l’analyse des journaux. Les flux entre ces zones sont strictement contrôlés par des firewalls en redondance, configurés en stateful inspection et avec des règles de NAT. Ces firewalls intègrent des mécanismes d’anti-spoofing et de détection d’anomalies de trafic. Les configurations sont maintenues par le groupe « administrateurs systèmes et réseau » et font l’objet d’une revue périodique. Protection physique et logique L’accès aux locaux de production est contrôlé par badge nominatif, surveillance vidéo et télésurveillance (SECURITAS). L’accès aux salles serveurs et à la zone PCI est limité aux personnes habilitées.Sur le plan logique, chaque accès aux systèmes se fait par identifiant unique, renforcé par MFA. Les droits sont attribués en fonction des rôles définis et selon le principe du moindre privilège. Surveillance et détection d’intrusion La surveillance est assurée en continu grâce à une combinaison d’outils : Zabbix, pour le monitoring temps réel des serveurs, applications et flux critiques ; Wazuh, intégré avec Snort, pour la détection d’intrusions et la corrélation des événements ; ElasticSearch/Kibana, pour l’agrégation et la visualisation des logs. Les alertes critiques sont transmises en temps réel aux équipes techniques par mail et SMS, et leur traitement est tracé dans un registre d’incidents. Chiffrement et gestion des clés Les données de paiement sensibles (PAN, dates d’expiration) sont chiffrées en AES-256 et rendues illisibles via un hash SHA-512 avec salt pour les comparaisons.La gestion des clés est réalisée exclusivement au sein de modules matériels de sécurité (HSM) certifiés. La clé maîtresse est fragmentée en plusieurs composantes, détenues par des personnes distinctes, afin d’éviter tout risque de compromission. Les clés applicatives ne peuvent pas être exportées en clair et leur usage est strictement tracé. En combinant ces mesures, CentralPay garantit un environnement technique robuste, conforme aux exigences PCI DSS 4.0.1 et aux standards de résilience DORA. 4. Gestion des risques et des incidents La maîtrise des risques constitue un axe stratégique de la gouvernance CentralPay. L’approche adoptée vise à anticiper les menaces, limiter leur probabilité de survenance et garantir une réponse rapide et efficace en cas d’incident. Gestion des risques Chaque année, une étude de risques est menée sur la base de la méthodologie Ebios, intégrant : l’identification des risques liés à la sécurité (intrusions, attaques malveillantes, fuites de données) et au fonctionnement (pannes techniques, défaillances logicielles) ; leur analyse en termes de probabilité et d’impact métier ; leur classification en Low, Medium ou High ; leur traitement via des mesures de prévention (patching, segmentation réseau, chiffrement, supervision) ou de mitigation (plans de contournement, redondances). Le registre des risques est mis à jour en continu et présenté lors des revues annuelles de direction. Gestion des incidents CentralPay a mis en place une procédure complète de gestion des incidents, alignée sur les obligations DORA et les orientations de l’EBA : Détection : par monitoring automatisé (Zabbix, Wazuh) ou par signalement interne/externe (clients, partenaires). Qualification : chaque incident est analysé et classé selon son impact, sa durée, sa portée géographique et sa criticité. Priorisation : une matrice d’évaluation (urgence de résolution et impact financier) permet de définir des niveaux de priorité allant de 1 à 4. Notification réglementaire : les incidents qualifiés comme « majeurs » font l’objet d’un reporting à l’ACPR : rapport initial transmis dans les 4 heures, rapport intermédiaire sous 3 jours ouvrés, rapport final sous 20 jours. Transparence et retour d’expérience En parallèle du reporting réglementaire, les incidents majeurs font l’objet d’une communication transparente envers les clients impactés. Une analyse post-mortem est systématiquement menée afin de tirer les enseignements, renforcer les procédures existantes et mettre en place des actions correctives. Ce dispositif permet à CentralPay non seulement de répondre efficacement aux incidents, mais surtout de renforcer continuellement sa résilience et la confiance de ses clients. 5. Tests de résilience CentralPay considère que la résilience d’une infrastructure ne se prouve pas uniquement sur le papier mais par des tests réguliers et documentés. C’est pourquoi la plateforme organise différents scénarios de test visant à mesurer son niveau de sécurité, sa capacité de reprise et la réactivité de ses équipes. Tests d’intrusion Les tests d’intrusion sont réalisés de manière récurrente par des équipes internes et par des prestataires spécialisés, afin de bénéficier d’un regard externe indépendant. Trois méthodologies sont appliquées : Black-box : l’auditeur ne dispose d’aucune information préalable, ce qui simule le comportement d’un attaquant externe ; Grey-box : l’auditeur dispose d’informations partielles (comptes utilisateurs limités, schémas d’architecture simplifiés) afin de reproduire un scénario réaliste d’utilisateur malveillant ; White-box : l’auditeur dispose d’une connaissance complète de l’architecture, permettant une analyse approfondie et la détection de vulnérabilités complexes. Ces tests couvrent à la fois les couches réseau et applicatives, avec un focus particulier sur les vulnérabilités répertoriées par le Top Ten OWASP. Les résultats font l’objet de rapports détaillés, comprenant une classification des failles selon leur criticité (Critical, High, Medium, Low) et des recommandations de remédiation. Tests de segmentation réseau CentralPay réalise aussi des tests de segmentation afin de vérifier que les cloisonnements logiques entre les zones (DMZ, interne, administration, logs) sont efficaces et qu’aucun flux non autorisé n’est possible. Ces tests garantissent que, même en cas de compromission d’une zone exposée, l’attaquant ne puisse pas atteindre les systèmes critiques. Exercices de simulation et bascules PCA En parallèle des tests techniques, des exercices de simulation de crise sont menés. Ces exercices impliquent plusieurs équipes (techniques, conformité, direction) et simulent des scénarios d’attaque ou de panne majeure. L’objectif est de tester non seulement la robustesse de l’infrastructure, mais aussi la qualité de la coordination et de la communication en situation de crise. Enfin, des tests de bascule PCA sont organisés au minimum une fois par an. Ils permettent de vérifier que les services critiques peuvent être transférés vers le site secondaire dans les délais prévus et que les équipes maîtrisent parfaitement les procédures de reprise. Ces différents tests, documentés et suivis, démontrent la volonté de CentralPay de s’inscrire dans une démarche d’amélioration continue de sa résilience. 6. Haute disponibilité et PCA La disponibilité des services de paiement est une exigence absolue pour CentralPay. Afin de garantir une continuité sans faille, l’entreprise a conçu son architecture autour du principe de haute disponibilité (HA) et d’un Plan de Continuité d’Activité (PCA) multi-sites. Architecture multi-sites CentralPay dispose de deux sites distincts : un site de production principal et un site secondaire dédié au PCA. Ces sites sont opérés par des fournisseurs différents, intègrent un routage BGP et utilisent des accès Internet fournis par plusieurs opérateurs, ce qui réduit le risque de dépendance vis-à-vis d’un seul acteur. Redondance des composants Chaque composant critique est déployé en redondance : Firewalls et load balancers : configurés en actif/actif ou actif/passif, permettant une bascule automatique en cas de défaillance ; Serveurs applicatifs : répartis sur plusieurs nœuds afin de garantir la tolérance aux pannes ; Bases de données : répliquées en temps réel entre les sites de production et de PCA, assurant un RPO quasi nul ; Proxys applicatifs et WAF : disposés en frontal pour absorber les charges et filtrer les menaces, avec bascule automatique. Objectifs de reprise (RTO et RPO) RPO (Recovery Point Objective) : grâce à la réplication continue, les données critiques peuvent être restaurées à l’état quasi instantané précédant l’incident ; RTO (Recovery Time Objective) : les mécanismes de bascule automatique permettent un retour en service des applications critiques en quelques minutes à une heure maximum selon le type de composant. Scénarios de bascule et tests Le PCA est conçu pour répondre à divers scénarios : panne matérielle, défaillance réseau, indisponibilité d’un datacenter, attaque cyber majeure. Chaque scénario dispose d’un plan d’action documenté. Des tests réguliers de bascule confirment que les engagements RTO/RPO sont tenus dans la pratique. Grâce à ce dispositif, CentralPay assure à ses clients que, même en cas d’incident majeur, leurs transactions de paiement resteront disponibles et sécurisées. 7. Continuité et sauvegardes La continuité des services de CentralPay ne repose pas uniquement sur la redondance de son infrastructure et le PCA. Elle est également assurée par une politique stricte de sauvegarde et de restauration des données. Sauvegardes quotidiennes et chiffrées Les données critiques – qu’il s’agisse des données de paiement ou des données opérationnelles de la plateforme – font l’objet de sauvegardes quotidiennes. Celles-ci sont chiffrées en AES-256, conformément aux standards internationaux, afin de garantir leur confidentialité en cas d’accès non autorisé. Stockage sécurisé et rotation Les sauvegardes sont stockées selon une logique de redondance et de rotation : Une copie est conservée sur les serveurs de sauvegarde internes, protégés par des accès restreints ; Une copie est déplacée et conservée dans un coffre-fort sécurisé ; D’autres copies sont externalisées hors site, afin de garantir la disponibilité même en cas de sinistre physique affectant un site. La rotation régulière des supports assure que les sauvegardes restent fiables et exploitables. Tests de restauration La valeur d’une sauvegarde ne se mesure pas uniquement à sa conservation mais aussi à sa capacité à être restaurée. CentralPay procède donc à des tests de restauration réguliers, qui permettent de vérifier non seulement l’intégrité des données sauvegardées mais aussi la rapidité avec laquelle elles peuvent être réinjectées dans le système de production. Grâce à cette approche, CentralPay garantit que, même en cas d’incident majeur, ses clients ne subiront pas de perte significative de données et pourront reprendre leurs activités sans interruption prolongée. 8. Gestion des prestataires critiques CentralPay est conscient que la sécurité et la continuité de ses services dépendent également de la solidité de ses partenaires. C’est pourquoi l’entreprise a mis en place une gouvernance stricte autour de la gestion des prestataires critiques, en particulier ceux qui participent directement à l’hébergement, au traitement des données ou aux services de paiement. Audits et certifications Chaque année, un audit est conduit auprès de l’hébergeur principal et des prestataires considérés comme critiques. L’objectif est de vérifier la solidité de leurs dispositifs de sécurité, leurs capacités de continuité et leur conformité réglementaire.Pour les prestataires qui traitent, stockent ou transmettent des données de cartes, CentralPay exige la certification PCI DSS et obtient une attestation de conformité (AOC) actualisée chaque année. Clauses contractuelles et supervision Les contrats avec les prestataires critiques incluent des clauses spécifiques DORA, portant notamment sur : les engagements de service (SLA en matière de disponibilité et de performance), les obligations de sécurité, la mise en place d’un PCA/PRA compatible avec celui de CentralPay, la notification immédiate en cas d’incident de sécurité. CentralPay conserve une cartographie actualisée de l’ensemble de ses prestataires critiques et de leurs services associés. Ce registre est régulièrement mis à jour et constitue une base de reporting vers l’ACPR et les autorités de supervision. Pérennité et amélioration continue Enfin, la relation avec les prestataires ne se limite pas à un contrôle ponctuel. Les résultats des audits, les tests de continuité et les incidents éventuels sont présentés en comité de gouvernance. Des plans d’action sont ensuite décidés pour renforcer la sécurité ou la disponibilité des services externalisés. Ainsi, CentralPay garantit à ses clients que les tiers qui contribuent à ses services critiques sont soumis au même niveau d’exigence que ses propres équipes. Articles FAQ - Conformité et résilienceDORA FAQ - Conformité et résilience Gouvernance et responsabilités Qui est responsable de la sécurité chez CentralPay ?La sécurité est pilotée par notre RSSI (Responsable de la Sécurité des Systèmes d’Information), rattaché directement à la Présidence. Le RSSI s’appuie sur un comité TIC et sur un cadre de gestion des risques aligné sur ISO 27005 et sur le règlement DORA. Le RSSI est joignable à l’adresse suivante : rssi@centralpay.com Avez-vous une politique de sécurité documentée ?Oui. Notre Politique de Sécurité du Système d’Information (PSSI) définit les règles applicables à l’ensemble de nos équipes et de nos prestataires. Elle couvre la classification des données, la gestion des accès, la protection des systèmes, la gestion des incidents, la continuité d’activité et l’encadrement des prestataires TIC. Comment intégrez-vous la sécurité dans vos décisions stratégiques ?La sécurité et la résilience sont intégrées à notre cadre global de gestion des risques. Celui-ci inclut une cartographie alignée ISO/DORA, une politique d’appétence aux risques, et un suivi par indicateurs (KRI). Les décisions de sécurité sont arbitrées au sein du comité Sécurité & Conformité et validées par la Direction Générale. Comment contrôlez-vous vos dispositifs de sécurité ?Nous appliquons le modèle des trois lignes de défense : les équipes métiers réalisent les contrôles opérationnels, la conformité et le contrôle permanent assurent la supervision, et le contrôle périodique réalise une évaluation indépendante. Protection des données et des systèmes Comment protégez-vous les données et systèmes de CentralPay ?Toutes les données sont chiffrées : TLS 1.2/1.3 pour les échanges en transit et AES-256 pour le stockage. Les données de carte sont traitées uniquement dans un environnement certifié PCI DSS niveau 1 et immédiatement tokenisées, afin qu’aucun numéro complet ne soit conservé en clair. Nos infrastructures sont segmentées et protégées par des firewalls, IDS/IPS et une supervision SOC. Les accès aux environnements sensibles sont limités, appliquent le principe du moindre privilège et sont protégés par MFA. Tous les postes de travail sont chiffrés, sécurisés par antivirus/EDR et mis à jour automatiquement. Tests et contrôles de sécurité Réalisez-vous des tests de sécurité ?Oui. Nous effectuons régulièrement des tests de pénétration indépendants, des scans automatisés de vulnérabilités et des audits externes (dont PCI DSS). Ces contrôles permettent d’identifier les failles et de renforcer en permanence notre dispositif. Comment gérez-vous la journalisation et les logs ?Les journaux sont conservés 24 mois, horodatés, protégés par chiffrement et intégrés dans notre système de supervision (SIEM). Leur accès est strictement restreint aux équipes habilitées. Comment gérez-vous les vulnérabilités et mises à jour ?Nous appliquons une politique stricte de patch management : correction des vulnérabilités critiques sous 24h, vulnérabilités hautes sous 7 jours, et autres correctifs selon une fréquence planifiée. Le suivi est assuré par des scans et des rapports de conformité. Organisation et culture sécurité Comment sensibilisez-vous vos collaborateurs à la sécurité ?Tous les collaborateurs suivent une formation annuelle obligatoire sur la cybersécurité, le RGPD et la LCB-FT. Des campagnes de sensibilisation régulières (exercices phishing, e-learning) complètent ce dispositif. Les équipes techniques bénéficient de formations renforcées. Comment garantissez-vous que les accès restent limités ?Nous appliquons le principe du moindre privilège : chaque utilisateur n’accède qu’aux ressources nécessaires à sa mission. Les droits sont justifiés, temporaires et systématiquement tracés. Comment encadrez-vous les accès administrateurs ?Les accès à privilèges élevés sont limités à un nombre restreint de personnes, soumis à MFA, tracés et revus régulièrement. Ils ne sont accordés que pour des besoins précis et pour une durée limitée. Anticipation et amélioration continue Comment anticipez-vous les menaces émergentes ?Nous assurons une veille cybersécurité active via les bulletins CERT-FR, ANSSI, éditeurs logiciels et fournisseurs cloud. Cette activité de threat intelligence permet d’adapter nos défenses en temps réel. Comment améliorez-vous en permanence votre sécurité ?Chaque incident, audit ou test fait l’objet d’un retour d’expérience documenté et d’un plan d’actions correctives. Nos politiques et procédures sont revues annuellement pour intégrer ces enseignements et les évolutions réglementaires. Résilience et continuité Comment assurez-vous la continuité de vos services ?Nous disposons d’un Plan d’Urgence et de Poursuite d’Activité (PUPA) intégrant un PCA (continuité) et un PRI (reprise). Ces plans sont régulièrement testés à travers des exercices de crise et des scénarios de bascule. Comment garantissez-vous la disponibilité et la redondance ?Nos services reposent sur une architecture redondée au sein de plusieurs zones européennes, permettant d’assurer une disponibilité de plus de 99,95 %. Quels sont vos objectifs de RPO et RTO ?CentralPay définit et teste régulièrement ses objectifs de continuité : RPO (Recovery Point Objective) : inférieur à 1 minute pour les systèmes critiques, grâce à la réplication temps réel des données. RTO (Recovery Time Objective) : inférieur à 15 mn pour la reprise des services essentiels, grâce à l’architecture redondée et aux procédures de bascule.Ces objectifs sont validés lors de nos exercices PCA/PRI et intégrés dans notre dispositif DORA. Comment gérez-vous vos sauvegardes ?Les sauvegardes sont chiffrées, isolées, redondées et régulièrement testées pour garantir leur restauration. Elles suivent les mêmes politiques de sécurité que les environnements de production. Réalisez-vous des tests de résilience conformément à DORA ?Oui. Nous réalisons des exercices de crise (cyberattaques simulées, pannes critiques), des tests de charge et de performance, des scénarios de bascule et, pour les fonctions critiques, des tests avancés de type TLPT (Threat-Led Penetration Testing). Relations avec les prestataires Comment sélectionnez-vous vos prestataires critiques ?Chaque prestataire fait l’objet d’une due diligence (sécurité, conformité, localisation des données, SLA). Les contrats incluent des clauses RGPD et DORA (sécurité, notification d’incident, droit d’audit). Comment contrôlez-vous vos prestataires dans la durée ?Nous tenons un registre DORA recensant tous nos prestataires TIC et identifiant les prestataires critiques. Ces derniers font l’objet d’un suivi renforcé : revues régulières, audits, attestations ISO/PCI et évaluations de résilience. Gestion des incidents Que se passe-t-il en cas d’incident de sécurité ?Nous appliquons une procédure de gestion des incidents incluant : détection, qualification, confinement, remédiation et forensic. Si nécessaire, nous notifions la CNIL sous 72h et informons les clients concernés. Chaque incident majeur donne lieu à un retour d’expérience et à un plan d’actions correctives suivi jusqu’à sa clôture.
Compliance and Operational Resilience Last updated: June 30, 2025 « Our commitment to protecting your transactions and ensuring uninterrupted service. A system that complies with European requirements for security and the continuity of financial services. » 1. Governance and Security Organization At CentralPay, security is not just a set of technical rules, but a governance approach integrated at every level of the company. Our system is based on a clear organizational structure, defined responsibilities, and regular oversight by management. The security policy forms the foundation of this system. It establishes the guiding principles for data protection and service continuity. Updated annually, it is approved by the executive committee and distributed to all relevant employees. Each employee is thus made aware of best practices and commits to complying with the established rules. ICT governance is structured around several key stakeholders. The Chief Information Security Officer (CISO) leads the overall strategy, oversees security controls, and ensures compliance with international standards (PCI DSS, DORA). The technical department is responsible for the day-to-day operation of the infrastructure and ensures the availability of critical systems. Finally, an IT Committee meets regularly to analyze incidents, approve technical and budgetary changes, and ensure continuous improvement in security. This organizational structure allows us to balance operational responsiveness with regulatory requirements. It also provides our customers with clear visibility: security is monitored, managed, and controlled in a documented manner, with responsibilities shared among management, technical teams, and senior leadership. 2. Access Management and Authorizations Access management is one of the cornerstones of CentralPay’s security. Each access right is granted according to a formalized procedure approved by management, to ensure that it strictly corresponds to the employee’s business needs. When a new employee joins the company, their access rights are created in Active Directory and approved by their supervisor; upon departure, they are immediately revoked by the IT department. Security is also based on the principle of least privilege: no one may access more resources than are strictly necessary for their duties. Sensitive access, such as access to critical systems or databases, is systematically subject to multi-factor authentication (MFA). To strengthen this system, periodic reviews of access permissions are conducted every quarter to identify and correct any anomalies. This rigorous approach ensures complete control over identities and access rights, and protects our customers from any risk of unauthorized access to their data. 3. Technical Safety CentralPay’s technical security is based on an architecture designed according to the principles of defense in depth. Each layer—from the network to the applications—benefits from redundant protection mechanisms that are regularly tested. Network Segmentation The infrastructure is divided into several zones: Public DMZ for servers exposed to the Internet (reverse proxy, WAF, SMTP relay); internal zone for sensitive databases and services; an administrative network reserved for administrative operations; Isolated log area for collecting and analyzing logs. Traffic between these zones is strictly controlled by redundant firewalls configured for stateful inspection and with NAT rules. These firewalls incorporate anti-spoofing mechanisms and traffic anomaly detection. The configurations are maintained by the “system and network administrators” group and are reviewed periodically. Physical and Logical Protection Access to the production facilities is controlled by personalized ID badges, video surveillance, and remote monitoring (SECURITAS). Access to the server rooms and the PCI area is restricted to authorized personnel.From a logical standpoint, each system access is authenticated using a unique username, reinforced by MFA. Permissions are granted based on defined roles and in accordance with the principle of least privilege. Surveillance and Intrusion Detection Monitoring is carried out continuously using a combination of tools: Zabbix, for real-time monitoring of servers, applications, and critical data streams; Wazuh, with Snort integration, for intrusion detection and event correlation; ElasticSearch/Kibana, for aggregating and visualizing logs. Critical alerts are sent in real time to technical teams via email and text message, and their resolution is tracked in an incident log. Encryption and Key Management Sensitive payment data (PANs, expiration dates) is encrypted using AES-256 and rendered unreadable via a salted SHA-512 hash for comparison purposes.Key management is performed exclusively within certified hardware security modules (HSMs). The master key is split into several components, held by different individuals, to prevent any risk of compromise. Application keys cannot be exported in plain text, and their use is strictly tracked. By combining these measures, CentralPay ensures a robust technical environment that complies with PCI DSS 4.0.1 requirements and DORA resilience standards. 4. Risk and Incident Management Risk management is a strategic priority for CentralPay’s governance. The approach adopted aims to anticipate threats, reduce the likelihood of their occurrence, and ensure a rapid and effective response in the event of an incident. Risk Management Each year, a risk assessment is conducted using the Ebios methodology, which includes Integration: identifying risks related to security (intrusions, malicious attacks, data breaches) and operations (technical failures, software malfunctions); their analysis in terms of probability and business impact; their classification as Low, Medium, or High; addressing them through preventive measures (patching, network segmentation, encryption, monitoring) or mitigation measures (workarounds, redundancies). The risk register is updated on an ongoing basis and presented at annual management reviews. Incident Management CentralPay has implemented a comprehensive incident management procedure that is aligned with DORA requirements and EBA guidelines: Detection: via automated monitoring (Zabbix, Wazuh) or through internal/external reports (customers, partners). Classification: Each incident is analyzed and classified based on its impact, duration, geographic scope, and criticality. Prioritization: An evaluation matrix (based on urgency of resolution and financial impact) is used to define priority levels ranging from 1 to 4. Regulatory notification: Incidents classified as “major” must be reported to the ACPR: initial report submitted within 4 hours, interim report within 3 business days, final report within 20 days. Transparency and Feedback In addition to regulatory reporting, major incidents are communicated transparently to the affected customers. A post-incident analysis is systematically conducted to identify lessons learned, strengthen existing procedures, and implement corrective actions. This system enables CentralPay not only to respond effectively to incidents, but above all to continuously strengthen its resilience and the trust of its customers. 5. Resilience Tests CentralPay believes that the resilience of an infrastructure is not proven solely on paper but through regular, documented tests. That is why the platform conducts various test scenarios designed to measure its security level, its disaster recovery capabilities, and the responsiveness of its teams. Penetration Testing Penetration tests are conducted on a regular basis by internal teams and specialized service providers to benefit from an independent external perspective. Three methodologies are used: Black-box: The auditor has no prior information, which simulates the behavior of an external attacker; Grey-box: The auditor has partial information (limited user accounts, simplified architecture diagrams) to simulate a realistic scenario involving a malicious user; White-box: The auditor has a complete understanding of the architecture, enabling an in-depth analysis and the detection of complex vulnerabilities. These tests cover both the network and application layers, with a particular focus on the vulnerabilities listed in the OWASP Top Ten. The results are documented in detailed reports, which include a classification of vulnerabilities by severity (Critical, High, Medium, Low) and recommendations for remediation. Network Segmentation Tests CentralPay also performs segmentation tests to verify that the logical partitions between zones (DMZ, internal, administration, logs) are effective and that no unauthorized traffic is possible. These tests ensure that, even if an exposed zone is compromised, the attacker cannot access critical systems. Simulation Exercises and PCA Switches In addition to technical tests, crisis simulation exercises are conducted. These exercises involve several teams (technical, compliance, management) and simulate attack scenarios or major outages. The goal is to test not only the robustness of the infrastructure but also the quality of coordination and communication during a crisis. Finally, PCA switchover tests are conducted at least once a year. These tests verify that critical services can be transferred to the secondary site within the specified time frame and that the teams are fully proficient in the recovery procedures. These various tests, which are documented and monitored, demonstrate CentralPay’s commitment to a process of continuous improvement in its resilience. 6. High Availability and Disaster Recovery Planning The availability of payment services is an absolute requirement for CentralPay. To ensure seamless continuity, the company has designed its architecture around the principles of high availability (HA) and a multi-site Business Continuity Plan (BCP). Multi-site architecture CentralPay has two separate sites: a primary production site and a secondary site dedicated to the disaster recovery plan. These sites are operated by different providers, incorporate BGP routing, and use Internet connections provided by multiple carriers, which reduces the risk of dependence on a single provider. Component Redundancy Each critical component is deployed with redundancy: Firewalls and load balancers: configured in active/active or active/passive mode, allowing for automatic failover in the event of a failure; Application servers: distributed across multiple nodes to ensure fault tolerance; Databases: replicated in real time between the production and disaster recovery sites, ensuring a near-zero RPO; Application proxies and WAFs: deployed at the front end to handle traffic and filter out threats, with automatic failover. Recovery Objectives (RTO and RPO) RPO (Recovery Point Objective): Thanks to continuous replication, critical data can be restored to a state that is virtually identical to the one immediately prior to the incident; RTO (Recovery Time Objective): Automatic failover mechanisms ensure that critical applications are back online within a few minutes to a maximum of one hour, depending on the type of component. Failover Scenarios and Tests The PCA is designed to address various scenarios: hardware failure, network outage, data center unavailability, and major cyberattacks. Each scenario has a documented action plan. Regular failover tests confirm that RTO/RPO commitments are met in practice. Through this system, CentralPay assures its customers that, even in the event of a major incident, their payment transactions will remain available and secure. 7. Continuity and Backups The continuity of CentralPay’s services does not rely solely on the redundancy of its infrastructure and its business continuity plan. It is also ensured by a strict data backup and recovery policy. Daily, encrypted backups Critical data—whether payment data or the platform’s operational data—is backed up daily. These backups are encrypted using AES-256, in accordance with international standards, to ensure their confidentiality in the event of unauthorized access. Secure Storage and Rotation Backups are stored using a redundancy and rotation system: A copy is stored on internal backup servers, which are protected by restricted access; A copy is moved and stored in a secure safe; Other copies are stored off-site to ensure availability even in the event of a physical disaster affecting a site. Regular rotation of storage media ensures that backups remain reliable and usable. Restoration Tests The value of a backup is not measured solely by its preservation but also by its ability to be restored. CentralPay therefore conducts regular restore tests, which verify not only the integrity of the backed-up data but also how quickly it can be restored to the production system. Thanks to this approach, CentralPay ensures that, even in the event of a major incident, its customers will not suffer any significant data loss and will be able to resume their operations without prolonged disruption. 8. Management of Critical Service Providers CentralPay recognizes that the security and continuity of its services also depend on the strength of its partners. That is why the company has implemented strict governance procedures for managing critical service providers, particularly those directly involved in hosting, data processing, or payment services. Audits and Certifications Each year, an audit is conducted on the primary hosting provider and service providers deemed critical. The goal is to verify the robustness of their security measures, their business continuity capabilities, and their regulatory compliance.For service providers that process, store, or transmit card data, CentralPay requires PCI DSS certification and obtains an Attestation of Compliance (AOC) that is updated annually. Contractual Provisions and Oversight Contracts with critical service providers include specific DORA clauses, covering, in particular: service level agreements (SLAs regarding availability and performance), safety requirements, the implementation of a business continuity plan (BCP) and disaster recovery plan (DRP) compatible with CentralPay’s, immediate notification in the event of a security incident. CentralPay maintains an up-to-date inventory of all its critical service providers and their associated services. This inventory is regularly updated and serves as the basis for reporting to the ACPR and other supervisory authorities. Sustainability and Continuous Improvement Finally, the relationship with service providers is not limited to one-time reviews. The results of audits, continuity tests, and any incidents are presented to the governance committee. Action plans are then developed to strengthen the security or availability of outsourced services. As such, CentralPay guarantees its customers that third parties who contribute to its critical services are subject to the same standards as its own teams. Articles FAQ - Compliance and ResilienceDORA FAQ - Compliance and Resilience Governance and Responsibilities Who is responsible for security at CentralPay?Security is overseen by our CISO (Chief Information Security Officer), who reports directly to the President. The CISO relies on an ICT committee and a risk management framework aligned with ISO 27005 and the DORA regulation. The CISO can be reached at the following address: rssi@centralpay.com Do you have a documented security policy?Yes. Our Information System Security Policy (ISSP) defines the rules that apply to all our teams and service providers. It covers data classification, access management, system protection, incident management, business continuity, and oversight of IT service providers. How do you integrate security into your strategic decisions?Security and resilience are integrated into our comprehensive risk management framework. This framework includes ISO/DORA-aligned risk mapping, a risk appetite policy, and monitoring through key risk indicators (KRIs). Security decisions are reviewed by the Security & Compliance Committee and approved by senior management. How do you monitor your security systems?We follow the three lines of defense model: business teams perform operational controls, compliance and ongoing monitoring provide oversight, and periodic audits conduct an independent assessment. Data and System Protection How do you protect CentralPay’s data and systems?All data is encrypted: TLS 1.2/1.3 for data in transit and AES-256 for data at rest. Card data is processed exclusively in a PCI DSS Level 1-certified environment and immediately tokenized, so that no full card numbers are stored in plain text. Our infrastructure is segmented and protected by firewalls, IDS/IPS, and SOC monitoring. Access to sensitive environments is restricted, follows the principle of least privilege, and is protected by MFA. All workstations are encrypted, secured by antivirus/EDR software, and updated automatically. Safety Tests and Inspections Do you conduct security tests?Yes. We regularly conduct independent penetration tests, automated vulnerability scans, and external audits (including PCI DSS). These checks help us identify vulnerabilities and continuously strengthen our security measures. How do you handle logging?Logs are retained for 24 months, time-stamped, protected by encryption, and integrated into our security information and event management (SIEM) system. Access to them is strictly limited to authorized teams. How do you manage vulnerabilities and updates?We follow a strict patch management policy: critical vulnerabilities are patched within 24 hours, high-severity vulnerabilities within 7 days, and other patches are applied on a scheduled basis. Compliance is monitored through scans and compliance reports. Organizational Structure and Safety Culture How do you raise your employees’ awareness of safety?All employees undergo mandatory annual training on cybersecurity, the GDPR, and anti-money laundering and counter-terrorism financing (AML/CTF) regulations. Regular awareness campaigns (phishing exercises, e-learning) complement this program. Technical teams receive more in-depth training. How do you ensure that access remains restricted?We follow the principle of least privilege: each user has access only to the resources necessary for their role. Permissions are justified, temporary, and systematically tracked. How do you manage administrator access?Access to elevated privileges is limited to a small number of individuals, is subject to MFA, is tracked, and is reviewed regularly. Such access is granted only for specific purposes and for a limited period of time. Proactive Planning and Continuous Improvement How do you anticipate emerging threats?We conduct active cybersecurity monitoring through bulletins from CERT-FR, ANSSI, software vendors, and cloud providers. This threat intelligence activity allows us to adapt our defenses in real time. How do you continuously improve your security?Every incident, audit, or test is followed by a documented review and a corrective action plan. Our policies and procedures are reviewed annually to integrate these lessons learned and regulatory changes. Resilience and Continuity How do you ensure the continuity of your services?We have an Emergency and Business Continuity Plan (PUPA) that includes a Business Continuity Plan (BCP) and a Disaster Recovery Plan (DRP). These plans are regularly tested through crisis drills and failover scenarios. How do you ensure availability and redundancy?Our services are based on a redundant architecture spanning multiple European regions, ensuring availability of more than 99.95%. What are your RPO and RTO goals?CentralPay regularly defines and tests its business continuity objectives: RPO (Recovery Point Objective): less than 1 minute for critical systems, thanks to real-time data replication. RTO (Recovery Time Objective): less than 15 minutes for the restoration of essential services, thanks to our redundant architecture and failover procedures.These objectives are validated during our business continuity and disaster recovery drills and incorporated into our DORA framework. How do you manage your backups?Backups are encrypted, isolated, replicated, and regularly tested to ensure they can be restored. They follow the same security policies as production environments. Do you conduct resilience tests in accordance with DORA?Yes. We conduct crisis exercises (simulated cyberattacks, critical outages), load and performance tests, failover scenarios, and—for critical functions—advanced tests such as TLPT (Threat-Led Penetration Testing). Relationships with Service Providers How do you select your critical service providers?Each service provider undergoes due diligence (security, compliance, data location, SLA). The contracts include GDPR and DORA clauses (security, incident notification, right to audit). How do you monitor your service providers over time?We maintain a DORA registry that lists all of our IT service providers and identifies critical ones. These critical providers are subject to enhanced oversight, including regular reviews, audits, ISO/PCI certifications, and resilience assessments. Incident Management What happens in the event of a security incident?We follow an incident management procedure that includes: detection, classification, containment, remediation, and forensic analysis. If necessary, we notify the CNIL within 72 hours and inform the affected customers. Every major incident results in a post-incident review and a corrective action plan that is monitored until the incident is closed.
Search enrollement jQuery(document).ready( function($) { window.live_6ab3046f6ac09 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Search enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6ac09", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6ac09.load(); });
Search enrollement jQuery(document).ready( function($) { window.live_6ab3046fad639 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Search enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad639", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad639.load(); });
Protection des données personnelles Dernière mise à jour : 15/09/2025 Chez CentralPay, la protection des données personnelles est au cœur de nos engagements. En tant qu’Établissement de Monnaie Électronique agréé par l’ACPR (n° d’agrément 17138 nous traitons des données personnelles conformément au Règlement Général sur la Protection des Données (RGPD – UE 2016/679) et à la législation française applicable. Cette politique présente, de manière claire et transparente, les traitements de données personnelles que nous réalisons dans le cadre de l’exécution de nos services de paiement. 1. Qui est responsable du traitement ? Le responsable de traitement est :CentralPay – 19 rue Edouard VAILLANT – 37000 TOURSContact DPO : dpo@centralpay.com 2. Quelles données collectons-nous ? CentralPay collecte uniquement les données strictement nécessaires à la fourniture de ses services de paiement et au respect de ses obligations légales et réglementaires. Données d’identification Nom, prénom, civilité. Date et lieu de naissance. Nationalité. Qualité (dirigeant, représentant légal, UBO). Données de contact Adresse email. Numéro de téléphone (mobile ou fixe). Adresse postale professionnelle ou personnelle (selon le cas). Données de paiement Coordonnées bancaires : IBAN et BIC. Données de carte : numéro de carte (collecté uniquement dans un environnement sécurisé PCI DSS et immédiatement tokenisé), date d’expiration, schéma (Visa, Mastercard, etc.), pays émetteur, 4 derniers chiffres. Important : CentralPay n’expose jamais le numéro complet ni le cryptogramme au marchand. Données transactionnelles Identifiant de transaction, date et heure. Montant, devise, statut de paiement. Référence commande (orderId). Historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude Adresse IP de connexion. Empreinte technique du terminal (navigateur, langue, résolution écran) lors de l’authentification 3DS. Résultats et scores antifraude internes. Statut éventuel de mise en surveillance (liste noire technique). Données de conformité KYC/LCB-FT Pièces d’identité (CNI, passeport, titre de séjour). Justificatifs de domicile (facture d’énergie, quittance). Documents légaux de l’entreprise (Kbis, statuts, registre des bénéficiaires effectifs). Informations sur les UBO (noms, pourcentages de détention). Données techniques (liées aux services) Journaux applicatifs et techniques (logs API). Événements de traitement (webhooks envoyés aux marchands). Identifiants techniques de suivi (transactionId, customerId, etc.). 3. Pour quelles finalités utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Chaque traitement repose sur une base légale conforme au RGPD. Exécution des paiements et gestion des services Finalité : exécuter vos opérations de paiement (SEPA, carte, prélèvement, virement, récurrents ou fractionnés), assurer la facturation et gérer les flux financiers. Données concernées : coordonnées bancaires (IBAN, BIC), données de carte (token, schéma, pays, PAN masqué), identifiants de transaction, montants, devises, références commandes. Base légale : exécution du contrat (art. 6.1.b RGPD). Vérification d’identité et obligations réglementaires (KYC/LCB-FT) Finalité : satisfaire aux obligations légales de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), et aux exigences de supervision de l’ACPR. Données concernées : données d’identification (nom, prénom, date de naissance, nationalité), pièces d’identité, justificatifs de domicile, documents légaux de l’entreprise, informations sur les UBO. Base légale : obligation légale (art. 6.1.c RGPD, Code monétaire et financier art. L561-1 et suivants). Prévention et détection de la fraude Finalité : sécuriser les transactions, prévenir les paiements non autorisés ou frauduleux, appliquer les règles d’authentification renforcée (DSP2/3DS). Données concernées : adresse IP, empreinte technique du navigateur/appareil, schéma et pays émetteur de la carte, résultats des contrôles antifraude, statut éventuel de mise en surveillance. Base légale : obligation légale (DSP2) et intérêt légitime (sécurité des paiements – art. 6.1.f RGPD). Gestion de la relation client et du support Finalité : communiquer avec les clients et utilisateurs (confirmation d’opérations, envoi de liens de paiement, notifications), répondre aux demandes de support, assurer le suivi des réclamations et litiges. Données concernées : email, téléphone, identifiants client, données transactionnelles associées. Base légale : exécution du contrat (art. 6.1.b RGPD) et intérêt légitime (gestion de la relation client). Respect d’obligations comptables, fiscales et probatoires Finalité : conserver certaines données pour répondre aux obligations légales de conservation (Code de commerce, Code général des impôts), produire des justificatifs comptables et probatoires. Données concernées : données transactionnelles (montants, devises, dates, statuts, références), coordonnées bancaires liées aux opérations. Base légale : obligation légale (art. 6.1.c RGPD). Amélioration de nos services et sécurité technique Finalité : analyser l’usage de nos services, optimiser la performance, assurer la résilience et la cybersécurité, conformément au règlement DORA. Données concernées : journaux techniques (logs), événements (webhooks), identifiants techniques, statistiques d’usage anonymisées. Base légale : intérêt légitime (art. 6.1.f RGPD). 4. Quelle est la base légale de ces traitements ? Chaque traitement repose sur une base légale clairement définie : Exécution du contrat (art. 6.1.b RGPD) : exécution des paiements, gestion de compte, relation client, support. Obligation légale (art. 6.1.c RGPD) : conformité LCB-FT (art. L561 CMF), obligations comptables et fiscales (Code de commerce, CGI), obligations réglementaires (DSP2, ACPR). Intérêt légitime (art. 6.1.f RGPD) : prévention de la fraude, sécurité des systèmes, gestion des litiges, amélioration des services. Consentement (art. 6.1.a RGPD) : uniquement pour certaines communications marketing optionnelles ou si requis par la loi. 5. Combien de temps conservons-nous vos données ? CentralPay applique un calendrier de conservation strict, conforme aux exigences du RGPD, du Code monétaire et financier et du Code de commerce. Nous distinguons : a) Transactions financières (écritures comptables et probatoires) Conservées 10 ans conformément aux obligations comptables et probatoires (art. L123-22 Code de commerce). Données concernées : identifiants de transaction (transactionId), date, montant, devise, statut, référence commande (orderId). Ces informations sont nécessaires à la preuve contractuelle et à la comptabilité et ne sont pas anonymisées. b) Données personnelles associées aux transactions Conservées 24 mois maximum puis anonymisées de manière irréversible. Données concernées : Coordonnées du payeur (email, téléphone), Adresse IP, empreinte navigateur/appareil (3DS), Données carte (token, PAN masqué, date d’expiration, schéma, pays émetteur), Résultats antifraude (score, statut blacklist). Ces informations ne sont plus conservées au-delà de 24 mois car elles ne sont plus nécessaires ni légalement ni contractuellement. c) Données relatives aux cartes de paiement Conservées jusqu’à 24 mois après la date d’expiration de la carte, puis supprimées/anonymisées. CentralPay n’expose jamais le PAN complet ni le CVC hors de sa zone PCI DSS. d) Données relatives aux comptes bancaires (IBAN/BIC) et mandats SEPA Conservées pendant la durée du mandat + 10 ans (preuve contractuelle), puis supprimées/anonymisées. e) Données KYC / LCB-FT Conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF), puis supprimées/anonymisées. Données concernées : pièces d’identité, justificatifs de domicile, documents légaux de l’entreprise, informations sur les UBO. f) Abonnements et paiements fractionnés Conservés pendant la durée de l’abonnement + 5 ans (exigences probatoires), puis anonymisés. Données concernées : identifiant d’abonnement, échéancier, lien vers moyen de paiement. g) Journaux techniques et webhooks Conservés 24 mois maximum, puis anonymisés. Données concernées : logs API, événements de traitement, identifiants techniques (customerId, eventId), statuts, horodatages. 6. Qui sont les destinataires de vos données ? Vos données peuvent être transmises uniquement à : Services internes CentralPay (opérations, conformité, support, sécurité). Partenaires de paiement et établissements bancaires (acquéreurs, systèmes de règlement SEPA, schémas carte). Prestataires techniques (hébergement cloud, prestataire KYC, envoi SMS/email), soumis à des clauses contractuelles conformes RGPD. Autorités compétentes (ACPR, TRACFIN, Banque de France, autorités judiciaires). Nous ne revendons jamais vos données à des tiers. 7. Où sont traitées vos données ? Les données sont hébergées dans l’Union européenne et majoritairement en Frane En cas de transfert hors UE (ex. prestataire SMS, email), des clauses contractuelles types (SCC) et mesures supplémentaires sont mises en place pour garantir un niveau de protection équivalent. 8. Quels sont vos droits ? Conformément aux articles 15 à 22 du RGPD, vous disposez de : Droit d’accès, rectification, effacement. Droit à la limitation, opposition, portabilité. Droit de retrait du consentement (le cas échéant). Droit d’introduire une réclamation auprès de la CNIL. Vous pouvez exercer vos droits en écrivant à : dpo@centralpay.com (réponse sous 30 jours). 9. Sécurité CentralPay met en œuvre une politique de sécurité alignée sur les standards PCI DSS, ISO 27001/27005 et sur le règlement européen DORA (Digital Operational Resilience Act). Nos dispositifs couvrent l’ensemble du cycle de vie des données et des services de paiement afin de garantir leur confidentialité, leur intégrité et leur disponibilité. La sécurité est d’abord assurée par une gouvernance claire et une gestion proactive des risques. Nous disposons d’un cadre de gestion des risques validé par la direction, qui comprend une politique d’appétence au risque, une cartographie alignée sur les normes ISO et DORA, ainsi que des indicateurs de risque suivis régulièrement. Ce cadre est mis en œuvre à travers une organisation en trois lignes de défense et piloté par un comité de sécurité et de conformité. La protection des données repose sur un chiffrement systématique, tant en transit (TLS 1.2/1.3) qu’au repos (AES-256), avec une gestion centralisée des clés. Les données de paiement sont traitées exclusivement dans un environnement certifié PCI DSS niveau 1 et font l’objet d’une tokenisation irréversible qui évite toute exposition des numéros complets de carte ou des cryptogrammes. De plus, nous appliquons des politiques strictes de purge et d’anonymisation automatique des données personnelles à l’issue des durées de conservation prévues par le RGPD. Les accès aux systèmes sont strictement contrôlés grâce à une gestion des identités centralisée et basée sur le principe du moindre privilège. Chaque collaborateur est soumis à une authentification forte à deux facteurs (MFA), et les habilitations font l’objet de revues régulières afin de garantir leur pertinence. Nos infrastructures font l’objet d’une surveillance permanente. Les opérations sensibles sont journalisées de manière exhaustive et horodatée, et un système de supervision en temps réel, couplé à un SIEM, permet de détecter rapidement les incidents de sécurité. La résilience opérationnelle est assurée par un dispositif de continuité aligné sur DORA. CentralPay a mis en place un Plan d’Urgence et de Poursuite d’Activité (PUPA) incluant des volets PCA et PRI, régulièrement testés. Des tests de pénétration et des exercices de gestion de crise sont organisés chaque année, tandis qu’une politique stricte d’externalisation TIC garantit l’évaluation continue des prestataires critiques et la tenue d’un registre d’information réglementaire. La gestion des incidents suit une procédure formalisée de détection, classification et traitement. En cas d’incident majeur, nous respectons les délais de notification réglementaire auprès de l’ACPR et de la CNIL, et un retour d’expérience systématique est organisé afin d’améliorer en permanence le dispositif de sécurité. Enfin, CentralPay s’inscrit dans une logique d’amélioration continue. Des audits internes et externes, y compris des audits indépendants PCI DSS et de cybersécurité, sont réalisés régulièrement. Nos dispositifs de contrôle permanent et d’audit périodique sont revus chaque année afin de garantir leur efficacité et leur conformité aux normes internationales et aux exigences réglementaires. 10. Mise à jour de la politique Cette politique peut être modifiée pour refléter l’évolution des traitements et obligations légales. Toute mise à jour sera publiée sur notre site et, si nécessaire, communiquée aux clients concernés. Articles Sous-traitants FAQ - Protection des données personnellesRGPD Sous-traitants Dans le cadre de la fourniture de ses services de paiement, Centralpay s’appuie sur un ensemble de sous-traitants au sens de l’article 4 du Règlement Général sur la Protection des Données (RGPD). Ces sous-traitants peuvent être amenés à traiter des données à caractère personnel pour le compte de Centralpay, exclusivement sur instructions documentées et dans la limite des finalités du service auquel ils contribuent. La présente page recense les sous-traitants susceptibles d’intervenir dans le traitement des données à caractère personnel des Titulaires, Marchands et Payeurs utilisateurs des services Centralpay. Elle est mise à jour à mesure de l’évolution de notre dispositif. Sous-traitantFinalitéPays de traitement des donnéesCatégories de donnéesAmazon Web Services (AWS)Hébergement cloud de certains services et données applicativesIrlandeEnsemble des données traitées par les servicesComply Advantage (IVXS)Screening LCB-FT et vérification des listes de sanctions internationalesRoumanieDonnées d’identificationDotfileGestion des processus d’onboarding, collecte et mise à jour des dossiers KYC/KYBFranceDonnées d’identification, justificatifsGpaymentsAuthentification 3D-Secure des transactions par carte (second prestataire)IrlandeDonnées carte, authentificationInnovestSociété mère du groupe, destinataire interne pour les finalités de gouvernance, audit, conformité et reporting consolidéFranceDonnées de gouvernance et de reportingMicrosoftGestion et contrôle des flux financiersFranceDonnées transactionnelles et comptablesNetceteraAuthentification 3D-Secure des transactions par carte (Access Control Server)SuisseDonnées carte, authentificationOnfidoVérification automatisée des documents d’identité et des éléments biométriques (reconnaissance faciale, détection de vie)EuropeDonnées d’identité, données biométriquesQomboVerification of Payee (vérification du bénéficiaire d’un virement SEPA)FranceDonnées d’identification, IBANTanla Digital LabsEnvoi de SMS (codes d’authentification, notifications)EuropeNuméro de téléphone, contenu du message Encadrement des sous-traitants et procédure de modification Conformément à l’article 28 du RGPD, l’ensemble des sous-traitants engagés par Centralpay agissent exclusivement sur instructions documentées, sont liés par des engagements contractuels stricts en matière de confidentialité et de sécurité, et ne peuvent utiliser les données à caractère personnel à d’autres fins que celles définies par Centralpay. Toute modification substantielle de cette liste fera l’objet d’une information préalable par tout moyen approprié (notification dans le Portail Marchand, courrier électronique, ou mise à jour publique de la présente page), permettant aux personnes concernées, le cas échéant, de s’y opposer. Pour toute question relative au traitement de vos données ou à l’exercice de vos droits, vous pouvez contacter notre Délégué à la Protection des Données à l’adresse : dpo@centralpay.eu. FAQ - Protection des données personnelles Gouvernance et responsabilités Responsable du traitement et contact DPO CentralPay, Établissement de Monnaie Électronique (EME), est responsable du traitement pour ses services de paiement.Contact DPO : dpo@centralpay.com (réponse sous 30 jours). Données collectées Quelles données collectons-nous ? Dans le cadre de la fourniture de ses services de paiement et afin de respecter ses obligations légales, CentralPay collecte uniquement les données strictement nécessaires. Ces données varient en fonction du type d’opération (paiement, vérification KYC, lutte contre la fraude, support client). Elles se répartissent en plusieurs catégories : Données d’identification : nom, prénom, civilité, date et lieu de naissance, nationalité, qualité (par exemple représentant légal, dirigeant ou bénéficiaire effectif – UBO). Données de contact : adresse email, numéro de téléphone, adresse postale. Données de paiement : coordonnées bancaires (IBAN, BIC) ; données de carte traitées exclusivement dans un environnement certifié PCI DSS (numéro complet et CVC collectés uniquement pour être tokenisés et jamais exposés en clair), date d’expiration, schéma (Visa, Mastercard…), pays émetteur, 4 derniers chiffres. Données transactionnelles : identifiant de transaction (transactionId), date et heure, montant, devise, statut, référence commande (orderId), historique des opérations (paiements uniques, récurrents, fractionnés, remboursements). Données de sécurité et de lutte contre la fraude : adresse IP, empreinte 3DS (navigateur/appareil), résultats et scores antifraude, statut éventuel de mise en surveillance technique. Données de conformité KYC/LCB-FT : pièces d’identité officielles, justificatifs de domicile, documents légaux de l’entreprise (ex. Kbis, statuts), informations sur les bénéficiaires effectifs (UBO et pourcentages de détention). Données techniques : journaux applicatifs (logs API), événements transmis aux marchands (webhooks), identifiants techniques (customerId, eventId). CentralPay ne collecte aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.), sauf si la loi l’imposait de manière exceptionnelle. Finalités Pourquoi utilisons-nous vos données ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Bases légales Sur quelles bases légales reposent nos traitements ? CentralPay traite vos données personnelles uniquement pour des finalités déterminées, explicites et légitimes. Ces traitements s’inscrivent dans le cadre de l’exécution de nos services de paiement, du respect de nos obligations réglementaires et de la sécurité de nos systèmes. Les principales finalités sont les suivantes : Exécution des paiements : traitement des opérations de paiement (SEPA, carte bancaire, paiements récurrents ou fractionnés), gestion des flux financiers, émission de factures et suivi des règlements. Respect des obligations réglementaires : application des règles de lutte contre le blanchiment des capitaux et le financement du terrorisme (LCB-FT), vérification d’identité (KYC), conservation légale des documents, supervision par l’ACPR. Prévention et détection de la fraude : mise en œuvre des contrôles de sécurité exigés par la DSP2 (authentification forte, 3DS), calcul de scores antifraude et gestion des alertes. Relation client et support : communication avec les clients et utilisateurs (notifications, confirmations, envoi de liens de paiement), traitement des demandes de support, gestion des réclamations et litiges. Obligations comptables et fiscales : conservation des pièces probatoires, respect des règles du Code de commerce et du Code général des impôts. Amélioration et sécurité technique : suivi de la performance et de la disponibilité de nos services, renforcement de la résilience opérationnelle conformément au règlement DORA, amélioration continue de l’expérience client et de la sécurité de nos systèmes. Pendant combien de temps conservons-nous vos données ? CentralPay applique des délais de conservation précis, fondés sur les obligations légales et les besoins opérationnels. À l’issue de ces délais, les données sont soit supprimées, soit anonymisées de façon irréversible. Transactions financières (écritures probatoires) : conservées 10 ans, conformément au Code de commerce. Données personnelles associées aux transactions (email, téléphone, IP, empreintes 3DS, PAN masqué, token de carte, scores fraude) : conservées 24 mois maximum, puis supprimées ou anonymisées. Données de carte (token + métadonnées) : conservées jusqu’à 24 mois après la date d’expiration de la carte. Le PAN complet et le CVC ne sont jamais exposés en clair. Payment Requests (emails/SMS) : conservées 24 mois maximum. Abonnements et paiements fractionnés : conservés pendant la durée de l’abonnement + 5 ans. Comptes bancaires (IBAN/BIC) et mandats SEPA : conservés pendant la durée du mandat + 10 ans (preuve contractuelle). KYC / LCB-FT : données conservées 5 ans après la fin de la relation d’affaires (art. L561-12 CMF). Journaux techniques et webhooks : conservés 24 mois. Au-delà de ces durées, CentralPay ne conserve que des données anonymisées ou strictement nécessaires au respect d’une obligation légale. Localisation et transferts Où vos données sont-elles traitées ? Les données traitées par CentralPay sont hébergées en priorité dans l’Union européenne, principalement en France, dans des environnements certifiés PCI DSS et ISO 27001. À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Si un transfert hors UE devait être nécessaire à l’avenir (par exemple pour un prestataire SMS ou email), il serait encadré par : une analyse d’impact du transfert, la mise en place des Clauses Contractuelles Types (SCC) de la Commission européenne, des mesures techniques complémentaires (chiffrement, segmentation, contrôle d’accès), et une information transparente de nos clients. Transfert de données hors UE : comment procédons-nous ? À ce jour, CentralPay ne transfère pas de données personnelles hors de l’Union européenne.Toutes les données sont hébergées et traitées dans l’UE, principalement en France et au sein d’infrastructures certifiées (PCI DSS). Si, à l’avenir, un transfert hors UE devait être nécessaire (par exemple pour un prestataire SMS ou email), CentralPay s’engage à : procéder à une analyse d’impact sur le transfert, appliquer les Clauses Contractuelles Types (SCC) de la Commission européenne, mettre en place des mesures techniques supplémentaires (chiffrement, cloisonnement, contrôle d’accès), et informer ses clients en toute transparence. Nature des données Traitons-nous des données sensibles ? Non. CentralPay ne traite aucune donnée sensible au sens de l’article 9 du RGPD (santé, religion, opinions politiques, orientation sexuelle, etc.).Nous collectons uniquement les informations strictement nécessaires à l’exécution des paiements et au respect de nos obligations légales (LCB-FT, supervision ACPR). Collectons-nous des données de mineurs ? CentralPay fournit ses services exclusivement à des professionnels (B2B). Nous ne collectons donc pas volontairement de données de mineurs.Si, indirectement, un mineur est amené à effectuer un paiement, le traitement reste limité aux données de paiement nécessaires (ex. coordonnées bancaires ou carte), et toujours sous la responsabilité de son représentant légal lorsqu’une vérification est requise. Conformité RGPD Réalisons-nous des analyses d’impact (PIA)? Oui, nous réalisons des AIPD (PIA) pour les traitements susceptibles d’engendrer un risque élevé (ex. KYC, antifraude/3DS, tokenisation carte, analyses longitudinales). Les risques résiduels et mesures de réduction sont documentés. Comment garantissons-nous la minimisation et le privacy by design ? Nous collectons uniquement les champs nécessaires par finalité, cloisonnons les environnements (prod/préprod), nous n’utilisons aucune donnée réelle en test, limitons les payloads webhooks au minimum utile, et appliquons des purges/anonymisations automatiques à l’échéance. Comment CentralPay documente sa conformité RGPD ? Politique RGPD publique (site). Registre des traitements (interne, à jour). PIA sur les traitements à risque (interne). Politiques/procédures (sécurité, purge, incidents, droits). Rapports de contrôle interne (ACPR). Sous-traitants Comment encadrons-nous nos prestataires ? Chaque prestataire est contractuellement encadré (art. 28) : mesures de sécurité, confidentialité, notification d’incident, audibilité, localisation des données, sous-traitance en cascade contrôlée. Due diligence initiale + réévaluation régulière (sécurité, SLA, conformité). Quels prestataires utilisons-nous ? Sur demande et après NDA, nous pouvons fournir la liste à jour par catégorie de nos prestataires (hébergement/cloud, KYC, envoi email/SMS, anti-fraude, support) en indiquant la zone géographique. Comment sélectionnons-nous nos prestataires essentiels ? CentralPay applique une politique d’encadrement des sous-traitants alignée à la fois sur le RGPD (art. 28) et sur le règlement DORA. Lors de la sélection, nous menons une due diligence approfondie couvrant la sécurité (certifications, mesures techniques), la conformité réglementaire (RGPD, DSP2, LCB-FT), la localisation et le régime juridique des données, la solidité financière du prestataire ainsi que les niveaux de service (SLA) proposés. Pour les prestataires critiques, nous examinons en particulier leur intégration dans la chaîne de valeur des services de paiement et leur rôle en matière de résilience opérationnelle. Chaque relation contractuelle inclut des clauses conformes à l’article 28 RGPD (confidentialité, sécurité, notification d’incident, limitation des sous-traitances en cascade) ainsi que, le cas échéant, des Clauses Contractuelles Types (SCC) pour encadrer les transferts hors Union européenne. Conformément à DORA, nous tenons un registre d’information des prestataires TIC et identifions ceux considérés comme prestataires critiques. Ces prestataires font l’objet d’une évaluation renforcée, avec des exigences contractuelles spécifiques en matière de disponibilité, d’intégrité, de continuité et de tests de résilience. Le suivi est assuré au travers de revues régulières (contrôles, rapports d’audit, attestations de conformité type SOC/ISO, questionnaires de sécurité), d’un droit d’audit contractuel et de mécanismes de reporting périodique. Nous intégrons ces évaluations dans notre cartographie des risques TIC et nos comités de suivi DORA. Sécurité et résilience Quelles protections techniques appliquons-nous ? CentralPay protège les données et les systèmes en combinant des mécanismes techniques robustes et conformes aux meilleurs standards internationaux.Les échanges sont sécurisés par un chiffrement systématique : TLS 1.2/1.3 pour les données en transit et AES-256 pour les données au repos, avec une gestion centralisée des clés.Les données de carte sont traitées exclusivement dans un environnement PCI DSS niveau 1, avec collecte en zone dédiée et tokenisation irréversible pour éviter toute exposition du PAN complet.Les accès aux systèmes sont contrôlés par des mécanismes RBAC (role-based access control) et protégés par une authentification forte (MFA), avec des revues régulières des habilitations.Toutes les actions sensibles font l’objet d’une journalisation horodatée et inviolable, intégrée dans un SIEM qui assure la détection et l’alerte en temps réel.L’infrastructure est cloisonnée : segmentation des réseaux, séparation stricte des environnements (production, test, préproduction) et gestion sécurisée des secrets.Enfin, CentralPay teste régulièrement son dispositif à travers des tests de pénétration, des scans de vulnérabilités et des audits externes indépendants. Comment notre organisation garantit la sécurité ? La sécurité ne repose pas uniquement sur la technologie mais aussi sur une organisation et une gouvernance solides.CentralPay applique un cadre de gestion des risques intégrant une cartographie détaillée, des indicateurs de suivi (KRI) et une politique d’appétence au risque validée par la direction.La supervision s’appuie sur le modèle reconnu des trois lignes de défense : les opérations assurent les contrôles de premier niveau, une fonction indépendante de conformité et de contrôle permanent supervise la deuxième ligne, et l’audit interne constitue la troisième ligne.Un comité sécurité et conformité se réunit régulièrement pour piloter la stratégie et mettre à jour les politiques et procédures clés (gestion des accès, incidents, purges, exercice des droits RGPD).Enfin, la culture sécurité est renforcée par des formations régulières des équipes, couvrant la cybersécurité, la protection des données personnelles et les obligations LCB-FT. Que faisons-nous en cas d’incident de sécurité ? CentralPay dispose d’une procédure formalisée de gestion des incidents.En cas d’incident, nous procédons à une détection rapide, une qualification et un confinement immédiat, suivis d’actions de remédiation.Les événements sont intégralement journalisés et investigués (forensic) afin d’identifier la cause et d’éviter leur récurrence.Lorsque la réglementation l’impose, nous notifions la CNIL dans un délai maximum de 72 heures et informons les personnes concernées en cas de risque élevé.Chaque incident donne lieu à un retour d’expérience (REX) et à la mise en place d’un plan d’actions correctives, qui est suivi jusqu’à sa résolution complète. Nos audits de sécurité CentralPay est soumis à plusieurs niveaux de contrôle et de tests de sécurité, à la fois internes et externes : Audits externes réguliers : Certification annuelle PCI DSS niveau 1 sur la collecte et le traitement des données de paiement, Audits indépendants de cybersécurité, Tests de pénétration réalisés par des prestataires tiers pour identifier et corriger les vulnérabilités. Contrôles internes permanents (seconde ligne de défense) : revues des habilitations, scans de vulnérabilités, surveillance des systèmes critiques. Audits périodiques indépendants (troisième ligne de défense) : audit interne et audit externe du dispositif de sécurité, conformité réglementaire (ACPR, DORA). Revue annuelle des politiques : l’ensemble de nos politiques de sécurité, de purge, d’incidents et de gestion des prestataires est revu et validé chaque année par la direction. Tests de résilience conformément à DORA : Plans de Continuité et de Reprise d’Activité (PCA/PRI) testés régulièrement pour valider la capacité à maintenir les services en cas d’incident majeur, Exercices de crise simulant des scénarios de cyberattaque ou d’indisponibilité critique, Tests de charge et de performance sur les infrastructures critiques, Scénarios de bascule et redondance entre environnements pour garantir la disponibilité, Pour les fonctions critiques, recours progressif à des tests de résilience avancés de type “TLPT” (Threat-Led Penetration Testing), exigés par DORA pour les acteurs significatifs. Droits des personnes Quels sont vos droits et comment les exercer ? En application des articles 15 à 22 du RGPD, vous disposez des droits suivants sur vos données personnelles : droit d’accès, droit de rectification, droit à l’effacement, droit à la limitation, droit d’opposition, droit à la portabilité, droit de retrait du consentement. Vous pouvez exercer vos droits en adressant une demande à : dpo@centralpay.com.Nous nous engageons à vous répondre dans un délai de 30 jours maximum, sauf cas exceptionnel justifiant une prolongation. En cas de difficulté, vous pouvez également saisir la CNIL. Comment concilions-nous effacement et obligations légales ? CentralPay respecte le droit à l’effacement prévu par le RGPD, mais certaines données doivent être conservées en raison d’obligations légales.Nous supprimons ou anonymisons toutes les données personnelles qui ne sont plus nécessaires.En revanche, lorsque la loi nous impose de conserver certaines informations (par exemple les écritures comptables pendant 10 ans ou les données KYC pendant 5 ans après la fin de la relation), ces données sont maintenues mais : leur accès est strictement limité, elles ne sont utilisées que pour les finalités imposées par la loi (contrôle ACPR, TRACFIN, obligations probatoires). Ainsi, nous trouvons un équilibre entre le respect des droits des personnes et nos obligations réglementaires. Autres garanties Utilisons-nous des décisions automatisées ou du profilage ? CentralPay n’applique aucune décision entièrement automatisée produisant des effets juridiques ou significatifs sur les personnes, au sens de l’article 22 du RGPD.Nous utilisons en revanche des outils de scoring antifraude qui calculent un niveau de risque sur les transactions. Ces résultats servent uniquement d’aide à la décision : lorsqu’un cas est sensible ou à risque, il est systématiquement revu et validé par un contrôle humain. Utilisons-nous des cookies ou traceurs à des fins publicitaires ? Sur les parcours de paiement et dans les API, CentralPay n’utilise aucun cookie publicitaire ni traceur marketing. Seuls des cookies ou traceurs strictement nécessaires au fonctionnement technique et à la sécurité des parcours (ex. gestion de session, authentification) peuvent être utilisés.À ce stade, aucun mécanisme de consentement via bannière n’est nécessaire, puisque nous n’utilisons pas de cookies optionnels. Comment assurons-nous la résilience et les sauvegardes ? Oui. L’infrastructure est redondée sur deux data centers localisés en France ; les sauvegardes sont chiffrées et externalisées, testées régulièrement (restores) et retiennent les mêmes contrôles d’accès que la production. Avons-nous une politique de purge et d’anonymisation documentée ? Oui, avec délais par objet (transactions/personnelles 24 mois, cartes jusqu’à 24 mois après date d’expiration, KYC 5 ans post-relation, mandats 10 ans, logs 24 mois) et mécanismes (suppression vs anonymisation irréversible), plus traces de purge (logs d’exécution). Nos environnements de test contiennent-ils des données réelles ? CentralPay n’utilise jamais de données personnelles réelles dans ses environnements de test ou de préproduction. Tous nos jeux de données internes (ex. cartes, IBAN, profils clients) sont synthétiques ou fictifs et conformes aux standards PCI DSS. Cependant, les utilisateurs de nos environnements de test (par ex. marchands intégrateurs) peuvent techniquement saisir leurs propres données. Cette pratique est formellement interdite et encadrée par nos conditions d’utilisation. Si un utilisateur insère par erreur des données personnelles dans un environnement de test, celles-ci : ne sont pas utilisées à des fins de traitement de paiement réel, ne sont pas répliquées en production, et font l’objet d’une purge automatique ou manuelle dès leur détection. Comment CentralPay gère-t-il l’accès des équipes support aux données ? Les équipes support de CentralPay n’ont pas d’accès direct et permanent aux données personnelles. L’accès est accordé uniquement en cas de besoin opérationnel (par exemple pour résoudre un incident ou assister un client), et selon les principes suivants : Accès temporaire et justifié : chaque accès est accordé pour une durée limitée et doit être motivé par un ticket ou une demande validée. Principe du moindre privilège : l’agent support ne voit que les données strictement nécessaires pour traiter la demande. Authentification forte (MFA) : tous les accès sont sécurisés par une authentification à plusieurs facteurs. Traçabilité complète : chaque action effectuée par un membre du support est enregistrée et auditée. Revue régulière des habilitations : les droits d’accès sont revus mensuellement pour s’assurer qu’ils restent justifiés. Masquage des données sensibles : les champs sensibles (ex. numéro complet de carte, CVC, IBAN complet) sont systématiquement masqués dans les interfaces, afin que le support ne puisse jamais les visualiser en clair. Offrons-nous des clauses contractuelles spécifiques RGPD à vos clients ? Nos CGU/contrats intègrent les clauses nécessaires (confidentialité, sécurité, coopération incidents, sous-traitance, conservation/purge). Des avenants RGPD sont possibles selon les cas d’usage. Partageons-nous nos politiques et procédures internes ? La Politique RGPD publique est disponible en ligne. Les politiques internes détaillées (procédures incidents, purge, sécurité) ne sont, par défaut, pas partagées.
Privacy Policy Last updated: September 15, 2025 At CentralPay, the protection of personal data is at the heart of our commitments. As an Electronic money Institution authorized by the ACPR (authorization No. 17138), we process personal data in accordance with the General Data Protection Regulation (GDPR – EU 2016/679) and applicable French law. This policy clearly and transparently describes how we process personal data in connection with the provision of our payment services. 1. Who is the data controller? The data controller is:CentralPay – 19 rue Edouard VAILLANT – 37000 TOURSDPO contact: dpo@centralpay.com 2. What data do we collect? CentralPay collects only the data strictly necessary to provide its payment services and to comply with its legal and regulatory obligations. Identification Information Last name, first name, title. Date and place of birth. Nationality. Position (executive, legal representative, UBO). Contact Information Email address. Phone number (cell or landline). Business or personal mailing address (as applicable). Payment Information Bank account information: IBAN and BIC. Card data: card number (collected only in a PCI DSS-compliant environment and immediately tokenized), expiration date, card brand (Visa, Mastercard, etc.), issuing country, last 4 digits. Important: CentralPay never discloses the full card number or the security code to the Merchant. Transaction Data Transaction ID, date, and time. Amount, currency, payment status. Order reference (orderId). Transaction history (one-time payments, recurring payments, installment payments, refunds). Security and Anti-Fraud Data Connection IP address. Technical profile of the device (browser, language, screen resolution) during 3DS authentication. Internal anti-fraud results and scores. Possible monitoring status (technical blacklist). KYC/AML-CFT Compliance Data Identity documents (NIC, Passport, Residence permit). Proof of address (utility bill, receipt). Company legal documents (Commercial register, Articles of association, Register of Beneficial Owners). Information on UBOs (names, ownership percentages). Technical Data (Service-Related) Application and technical logs (API logs). Processing events (webhooks sent to Merchants). Technical tracking identifiers (transactionId, customerId, etc.). 3. For what purposes do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. Each processing activity is based on a legal basis that complies with the GDPR. Payment Processing and Service Management Purpose: To process your payment transactions (SEPA, credit cards, Direct Debit, Bank transfers, recurring or installment payments), handle billing, and manage cash flows. Data involved: bank account information (IBAN, BIC), card data (token, schema, country, masked PAN), transaction IDs, amounts, currencies, order references. Legal basis: performance of the contract (Art. 6.1.b of the GDPR). Identity Verification and Regulatory Requirements (KYC/AML-CFT) Purpose: To comply with legal obligations regarding the fight against money laundering and terrorist financing (AML/CFT) and with the supervisory requirements of the ACPR. Data covered: identification data (last name, first name, date of birth, nationality), identity documents, Proof of address, legal documents of the company, information on UBOs. Legal basis: legal obligation (Art. 6.1.c of the GDPR; Art. L561-1 et seq. of the Monetary and Financial Code). Fraud Prevention and Detection Purpose: to secure transactions, prevent unauthorized or fraudulent payments, and enforce strong authentication rules (PSD2/3DS). Data involved: IP address, technical fingerprint of the browser/device, card scheme and issuing country, results of anti-fraud checks, and any monitoring status. Legal basis: legal obligation (PSD2) and legitimate interest (payment security—Art. 6.1.f of the GDPR). Customer Relationship Management and Support Purpose: to communicate with customers and users (confirming transactions, sending payment links, sending notifications), respond to support requests, and follow up on complaints and Disputes. Data involved: email, phone number, customer credentials, and associated transaction data. Legal basis: performance of the contract (Art. 6.1.b GDPR) and legitimate interest (customer relationship management). Compliance with accounting, tax, and reporting requirements Purpose: to retain certain data in order to comply with legal retention requirements (Commercial Code, General Tax Code) and to produce accounting and evidentiary documentation. Data in question: transactional data (amounts, currencies, dates, statuses, references), and bank account information related to transactions. Legal basis: legal obligation (Art. 6.1.c GDPR). Improving Our Services and Technical Security Purpose: To analyze the use of our services, optimize performance, and ensure resilience and cybersecurity, in accordance with the DORA regulation. Data in question: technical logs, events (webhooks), technical identifiers, and anonymized usage statistics. Legal basis: legitimate interest (Art. 6.1.f of the GDPR). 4. What is the legal basis for this processing? Each data processing activity is based on a clearly defined legal basis: Contract performance (Art. 6.1.b of the GDPR): processing payments, account management, customer relations, and support. Legal obligation (Art. 6.1.c of the GDPR): AML/CFT compliance (Art. L561 of the French Monetary and Financial Code), accounting and tax obligations (Commercial Code, General Tax Code), regulatory obligations (PSD2, ACPR). Legitimate interest (Art. 6.1.f of the GDPR): fraud prevention, system security, dispute resolution, and service improvement. Consent (Art. 6.1.a GDPR): only for certain optional marketing communications or as required by law. 5. How long do we retain your data? CentralPay follows a strict data retention schedule that complies with the requirements of the GDPR, the Monetary and Financial Code, and the Commercial Code. We distinguish between: a) Financial Transactions (Accounting Entries and Supporting Documents) Retained for 10 years in accordance with accounting and evidentiary requirements (Art. L123-22 of the Commercial Code). Data involved: transaction IDs (transactionId), date, amount, currency, status, order ID (orderId). This information is required for contractual purposes and accounting and is not anonymized. (b) Personal data associated with transactions Stored for a maximum of 24 months and then irreversibly anonymized. Data in question: Payer’s contact information (email, phone number), IP address, browser/device fingerprint (3DS), Card data (token, masked PAN, expiration date, schema, issuing country), Anti-fraud results (score, blacklist status). This information is no longer retained beyond 24 months because it is no longer required by law or under any contract. (c) Payment card data Stored for up to 24 months after the card’s expiration date, then deleted or anonymized. CentralPay never discloses the full PAN or the CVC outside its PCI DSS environment. d) Bank Account information (IBAN/BIC) and SEPA direct debits Retained for the duration of the term of office plus 10 years (contractual evidence), then deleted or anonymized. e) KYC / AML-CFT Data Retained for 5 years after the end of the business relationship (Art. L561-12 CMF), then deleted or anonymized. Data covered: identity documents, proof of address, company legal documents, and information on UBOs. f) Subscriptions and installment payments Retained for the duration of the subscription plus 5 years (for evidentiary purposes), then anonymized. Data involved: subscription ID, payment schedule, link to payment method. g) Technical logs and webhooks Stored for up to 24 months, then anonymized. Data involved: API logs, processing events, technical identifiers (customerId, eventId), statuses, timestamps. 6. Who are the recipients of your data? Your data may be shared only with: CentralPay internal services (operations, compliance, support, security). Payment partners and financial institutions (acquirers, SEPA settlement systems, card schemes). Technical service providers (cloud hosting, KYC provider, SMS/email delivery) that are subject to contractual terms compliant with the GDPR. Competent authorities (ACPR, TRACFIN, Banque de France, judicial authorities). We never sell your data to third parties. 7. Where is your data processed? The data is hosted in the European Union, primarily in France. In the event of a transfer outside the EU (e.g., SMS or email service provider), standard contractual clauses (SCCs) and additional measures are implemented to ensure an equivalent level of protection. 8. What are your rights? In accordance with Articles 15 through 22 of the GDPR, you have the following rights: Right of access, correction, and deletion. Right to restriction, objection, and data portability. Right to withdraw consent (if applicable). The right to file a complaint with the CNIL. You can exercise your rights by writing to: dpo@centralpay.com (response within 30 days). 9. Safety CentralPay implements a security policy aligned with PCI DSS, ISO 27001/27005 standards, and the European DORA (Digital Operational Resilience Act) regulation. Our measures cover the entire lifecycle of data and payment services to ensure their confidentiality, integrity, and availability. Security is primarily ensured through clear governance and proactive risk management. We have a risk management framework approved by senior management, which includes a risk appetite policy, a risk map aligned with ISO and DORA standards, and risk indicators that are monitored regularly. This framework is implemented through a three-lines-of-defense structure and overseen by a security and compliance committee. Data protection is based on systematic encryption, both in transit (TLS 1.2/1.3) and at rest (AES-256), with centralized key management. Payment data is processed exclusively in a PCI DSS Level 1-certified environment and undergoes irreversible tokenization, which prevents any exposure of full card numbers or security codes. In addition, we enforce strict policies for the automatic deletion and anonymization of personal data once the retention periods specified by the GDPR have expired. Access to systems is strictly controlled through centralized identity management based on the principle of least privilege. Every employee is required to undergo strong two-factor authentication (MFA), and access permissions are reviewed regularly to ensure they remain appropriate. Our infrastructure is continuously monitored. Sensitive operations are comprehensively logged and time-stamped, and a real-time monitoring system, coupled with an SIEM, enables us to quickly detect security incidents. Operational resilience is ensured by a business continuity framework aligned with DORA. CentralPay has implemented an Emergency and Business Continuity Plan (PUPA) that includes regularly tested disaster recovery (PCA) and business continuity (PRI) components. Penetration tests and crisis management exercises are conducted annually, while a strict ICT outsourcing policy ensures the ongoing evaluation of critical service providers and the maintenance of a regulatory information registry. Incident management follows a formalized procedure for detection, classification, and resolution. In the event of a major incident, we comply with the regulatory reporting deadlines for the ACPR and the CNIL, and a systematic review is conducted to continuously improve our security measures. Finally, CentralPay is committed to continuous improvement. Internal and external audits, including independent PCI DSS and cybersecurity audits, are conducted regularly. Our ongoing monitoring and periodic audit procedures are reviewed annually to ensure their effectiveness and compliance with international standards and regulatory requirements. 10. Policy Update This policy may be amended to reflect changes in data processing practices and legal requirements. Any updates will be posted on our website and, if necessary, communicated to the affected customers. Articles Subcontractors FAQ - Privacy PolicyRGPD Subcontractors In providing its payment services, Centralpay relies on a number of processors as defined in Article 4 of the General Data Protection Regulation (GDPR). These processors may be required to process personal data on behalf of Centralpay, exclusively in accordance with documented instructions and within the scope of the purposes of the service to which they contribute. This page lists the subcontractors that may be involved in the processing of personal data belonging to Account Owners, Merchants, and Payers who use Centralpay services. It is updated as our system evolves. SubcontractorPurposeCountry Where Data Is ProcessedData CategoriesAmazon Web Services (AWS)Cloud hosting for certain services and application dataIrelandAll data processed by the departmentsComply Advantage (IVXS)AML/CFT Screening and Verification Against International Sanctions ListsRomaniaIdentification InformationDotfileManagement of onboarding processes, collection and updating of KYC/KYB recordsFranceIdentification Information, Supporting DocumentsGpayments3D Secure authentication for Card Transactions (second service provider)IrelandCard data, authenticationInnovestThe group’s parent company; internal recipient for the purposes of governance, audit, compliance, and consolidated reportingFranceGovernance and Reporting DataMicrosoftManagement and Control of Cash FlowsFranceTransaction and Accounting DataNetcetera3D-Secure Authentication for Card Transactions (Access Control Server)SwitzerlandCard data, authenticationOnfidoAutomated verification of identification documents and biometric data (facial recognition, liveness detection)EuropeIdentification data, biometric dataQomboVerification of Beneficiary (verification of the beneficiary of a SEPA bank transfer)FranceIdentification Information, IBANTanla Digital LabsSending text messages (authentication codes, notifications)EuropePhone number, message content Supervision of Subcontractors and Change Control Procedures In accordance with Article 28 of the GDPR, all processors engaged by Centralpay act exclusively on the basis of documented instructions, are bound by strict contractual obligations regarding confidentiality and security, and may not use personal data for any purposes other than those defined by Centralpay. Any substantial change to this list will be announced in advance by any appropriate means (notification on the Merchant Portal, email, or a public update to this page), allowing the individuals concerned, if applicable, to object to such changes. If you have any questions regarding the processing of your data or the exercise of your rights, you can contact our Data Protection Officer at: dpo@centralpay.eu. FAQ - Privacy Policy Governance and Responsibilities Data Controller and DPO Contact CentralPay, an Electronic money Institution (EMI), is the data controller for its payment services.DPO contact: dpo@centralpay.com (response within 30 days). Data Collected What data do we collect? As part of the provision of its payment services and in order to comply with its legal obligations, CentralPay collects only the data that is strictly necessary. This data varies depending on the type of transaction (payment, KYC verification, fraud prevention, customer support). It falls into several categories: Identifying information: last name, first name, title, date and place of birth, nationality, and role (e.g., legal representative, executive, or Beneficial Owner—UBO). Contact information: email address, phone number, mailing address. Payment information: bank account details (IBAN, BIC); card information processed exclusively in a PCI DSS-certified environment (full card number and CVC collected solely for tokenization and never exposed in plain text), expiration date, card brand (Visa, Mastercard, etc.), issuing country, and last 4 digits. Transaction data: transaction ID (transactionId), date and time, amount, currency, status, order ID (orderId), transaction history (one-time payments, recurring payments, split payments, refunds). Security and anti-fraud data: IP address, 3DS fingerprint (browser/device), anti-fraud results and scores, and any technical monitoring status. KYC/AML-CFT compliance data: official identity documents, proof of address, legal documents pertaining to the company (e.g., Commercial register, Articles of association), information on ultimate Beneficial Owners (UBOs and ownership percentages). Technical data: application logs (API logs), events sent to Merchants (webhooks), technical identifiers (customerId, eventId). CentralPay does not collect any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.), unless required to do so by law in exceptional circumstances. Purposes Why do we use your data? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory requirements: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of anti-fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and disputes. Accounting and tax obligations: retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services; strengthening operational resilience in accordance with the DORA regulation; and continuously improving the customer experience and the security of our systems. Legal Basis What is the legal basis for our data processing? CentralPay processes your personal data solely for specific, explicit, and legitimate purposes. This processing is carried out in connection with the provision of our payment services, compliance with our regulatory obligations, and the security of our systems. The main purposes are as follows: Payment Processing: processing payment transactions (SEPA, credit cards, recurring or installment payments), managing cash flows, issuing invoices, and tracking payments. Compliance with regulatory obligations: enforcement of anti-money laundering and counter-terrorism financing (AML/CTF) rules, know-your-customer (KYC) verification, legal document retention, and supervision by the ACPR. Fraud prevention and detection: implementation of the security controls required by PSD2 (strong authentication, 3DS), calculation of fraud scores, and alert management. Customer Relations and Support: communicating with customers and users (notifications, confirmations, sending payment links), handling support requests, and managing complaints and Disputes. Accounting and Tax Obligations: Retention of supporting documents; compliance with the provisions of the Commercial Code and the General Tax Code. Technical Improvement and Security: Monitoring the performance and availability of our services, strengthening operational resilience in accordance with the DORA regulation, and continuously improving the customer experience and the security of our systems. How long do we retain your data? CentralPay follows specific retention periods based on legal requirements and operational needs. At the end of these periods, the data is either deleted or irreversibly anonymized. Financial transactions (supporting documents): retained for 10 years, in accordance with the Commercial Code. Personal data associated with transactions (email, phone number, IP address, 3DS fingerprints, masked PAN, card token, fraud scores): retained for a maximum of 24 months, then deleted or anonymized. Card data (token + metadata): retained for up to 24 months after the card’s expiration date. The full PAN and CVC are never stored in plain text. Payment Requests (emails/text messages): Retained for up to 24 months. Subscriptions and installment payments: retained for the duration of the subscription plus 5 years. Bank Accounts (IBAN/BIC) and SEPA direct debits: retained for the duration of the mandate plus 10 years (contractual evidence). KYC / AML-CFT: Data retained for 5 years after the end of the business relationship (Art. L561-12 of the French Monetary and Financial Code). Technical logs and webhooks: retained for 24 months. Beyond these time periods, CentralPay retains only anonymized data or data that is strictly necessary to comply with a legal obligation. Location and Transfers Where is your data processed? The data processed by CentralPay is primarily hosted in the European Union—mainly in France—in environments certified to PCI DSS and ISO 27001 standards. To date, CentralPay does not transfer personal data outside the European Union.If a transfer outside the EU were to become necessary in the future (for example, to an SMS or email service provider), it would be governed by: an impact analysis of the transfer, the implementation of the European Commission’s Standard Contractual Clauses (SCCs), additional technical measures (encryption, segmentation, access control), and transparent communication with our customers. Data Transfers Outside the EU: How Do We Handle Them? To date, CentralPay does not transfer personal data outside the European Union.All data is hosted and processed within the EU, primarily in France and within certified (PCI DSS) infrastructure. If, in the future, a transfer outside the EU were to be necessary (for example, to an SMS or email service provider), CentralPay undertakes to: conduct an impact analysis of the transfer, apply the European Commission’s Standard Contractual Clauses (SCCs), implement additional technical measures (encryption, segmentation, access control), and keep its customers fully informed. Nature of the Data Do we process sensitive data? No. CentralPay does not process any sensitive data as defined in Article 9 of the GDPR (health, religion, political opinions, sexual orientation, etc.). We collect only the information strictly necessary to process payments and comply with our legal obligations (anti-money laundering and counter-terrorism financing, ACPR supervision). Do we collect data from minors? CentralPay provides its services exclusively to businesses (B2B). We therefore do not knowingly collect data from minors.If, indirectly, a minor is required to make a payment, data processing is limited to the necessary payment information (e.g., bank or card details), and is always carried out under the responsibility of the minor’s legal guardian when verification is required. GDPR Compliance Do we conduct impact assessments (PIA)? Yes, we conduct AIPDs (PIAs) for processing operations that may pose a high risk (e.g., KYC, anti-fraud/3DS, card tokenization, longitudinal analyses). Residual risks and mitigation measures are documented. How do we ensure data minimization and privacy by design? We collect only the fields necessary for each specific purpose, segregate environments (LIVE/pre-production), do not use any real data in testing, limit webhook payloads to the minimum necessary, and automatically purge or anonymize data upon expiration. How does CentralPay document its GDPR compliance? Public GDPR Policy (website). Record of data processing (internal, up-to-date). PIA on High-Risk Processing (Internal). Policies/procedures (security, data deletion, incidents, rights). Internal Control Reports (ACPR). Subcontractors How do we supervise our service providers? Each service provider is subject to contractual requirements (Art. 28): security measures, confidentiality, incident reporting, auditability, data location, and controlled sub-contracting. Initial due diligence + regular reassessment (security, SLA, compliance). Which service providers do we use? Upon request and after signing an NDA, we can provide an up-to-date list of our service providers, organized by category (hosting/cloud, KYC, email/SMS delivery, fraud prevention, support), along with their geographic locations. How do we select our key service providers? CentralPay has a policy for managing subcontractors that complies with both the GDPR (Article 28) and the DORA Regulation. During the selection process, we conduct a thorough due diligence review covering security (certifications, technical measures), regulatory compliance (GDPR, PSD2, AML/CFT), data location and legal framework, the service provider’s financial stability, and the service levels (SLAs) offered. For critical service providers, we examine in particular their integration into the payment services value chain and their role in ensuring operational resilience. Each contractual relationship includes clauses that comply with Article 28 of the GDPR (confidentiality, security, incident notification, and restrictions on cascading subcontracting) as well as, where applicable, Standard Contractual Clauses (SCCs) to govern transfers outside the European Union. In accordance with DORA, we maintain a registry of ICT service providers and identify those considered critical service providers. These service providers are subject to enhanced evaluation, with specific contractual requirements regarding availability, integrity, continuity, and resilience testing. Monitoring is conducted through regular reviews (inspections, audit reports, SOC/ISO-type compliance certifications, security questionnaires), a contractual right to audit, and periodic reporting mechanisms. We perform integration of these assessments into our ICT risk mapping and our DORA monitoring committees. Security and Resilience What technical safeguards do we use? CentralPay protects data and systems by combining robust technical mechanisms that comply with the highest international standards.Communications are secured through systematic encryption: TLS 1.2/1.3 for data in transit and AES-256 for data at rest, with centralized key management.Card data is processed exclusively in a PCI DSS Level 1 environment, with data collection in a dedicated area and irreversible tokenization to prevent any exposure of the full PAN.Access to the systems is controlled by RBAC (role-based access control) mechanisms and protected by strong authentication (MFA), with regular reviews of access privileges.All sensitive actions are logged with a timestamp and cannot be tampered with; this logging is integrated into an SIEM system that provides real-time detection and alerts.The infrastructure is compartmentalized: network segmentation, strict separation of environments (production, testing, pre-production), and secure management of secrets.Finally, CentralPay regularly tests its system through penetration tests, vulnerability scans, and independent external audits. How does our organization ensure safety? Security relies not only on technology but also on strong organization and governance.CentralPay implements a risk management framework that includes detailed risk mapping, key performance indicators (KPIs), and a risk appetite policy approved by management.Oversight is based on the recognized three lines of defense model: operations provide first-line controls, an independent compliance and ongoing monitoring function serves as the second line, and internal audit constitutes the third line.A Security and Compliance Committee meets regularly to steer strategy and update key policies and procedures (access management, incident response, data purges, and the exercise of GDPR rights).Finally, the security culture is reinforced through regular training for teams, covering cybersecurity, personal data protection, and AML/CFT obligations. What should we do in the event of a security incident? CentralPay has a formalized incident management procedure.In the event of an incident, we quickly detect, assess, and immediately contain it, followed by remedial actions.All events are fully logged and investigated (forensically) to identify the cause and prevent recurrence.When required by regulation, we notify the CNIL within a maximum of 72 hours and inform the affected individuals in the event of a high-risk incident.Each incident results in a lessons-learned review and the implementation of a corrective action plan, which is monitored until the issue is fully resolved. Our Security Audits CentralPay is subject to multiple levels of security controls and testing, both internal and external: Regular external audits: Annual PCI DSS Level 1 certification for the collection and processing of payment data, Independent cybersecurity audits, Penetration tests conducted by third-party service providers to identify and fix vulnerabilities. Ongoing internal controls (second line of defense): security clearance reviews, vulnerability scans, and monitoring of critical systems. Periodic independent audits (third line of defense): internal and external audits of the security framework and regulatory compliance (ACPR, DORA). Annual Policy Review: All of our policies regarding security, data purging, incidents, and vendor management are reviewed and approved annually by management. Resilience testing in accordance with DORA: Business Continuity and Disaster Recovery Plans (BCP/DRP) that are regularly tested to verify the ability to maintain services in the event of a major incident, Crisis exercises simulating cyberattack scenarios or critical system outages, Load and performance testing of critical infrastructure, Failover and redundancy scenarios across environments to ensure availability, For critical functions, a gradual shift toward advanced resilience tests such as “TLPT” (Threat-Led Penetration Testing), as required by DORA for significant entities. Human Rights What are your rights, and how can you exercise them? Pursuant to Articles 15 through 22 of the GDPR, you have the following rights regarding your personal data: right of access, right to correction, right to erasure, right to restriction, right to object, right to data portability, right to withdraw consent. You can exercise your rights by sending a request to: dpo@centralpay.com.We are committed to responding to you within a maximum of 30 days, except in exceptional cases that warrant an extension. If you encounter any difficulties, you may also file a complaint with the CNIL. How do we balance data erasure with legal obligations? CentralPay respects the right to erasure as provided for by the GDPR, but certain data must be retained due to legal obligations.We delete or anonymize all personal data that is no longer necessary.However, when the law requires us to retain certain information (for example, accounting records for 10 years or KYC data for 5 years after the end of the relationship), this data is retained, but: access to them is strictly limited, They are used only for purposes required by law (ACPR audits, TRACFIN, evidentiary obligations). In this way, we strike a balance between respecting people’s rights and meeting our regulatory obligations. Other Coverages Do we use automated decisions or profiling? CentralPay does not apply any fully automated decisions that produce legal or significant effects on individuals, as defined in Article 22 of the GDPR.However, we do use anti-fraud scoring tools that calculate a risk level for transactions. These results are used solely as a decision-making aid: when a case is sensitive or high-risk, it is systematically reviewed and validated by a human reviewer. Do we use cookies or trackers for advertising purposes? In payment flows and APIs, CentralPay does not use any advertising cookies or marketing trackers. Only cookies or trackers that are strictly necessary for the technical operation and security of the payment flows (e.g., session management, authentication) may be used. At this point, no banner-based consent mechanism is necessary, since we do not use optional cookies. How do we ensure resilience and backups? Yes. The infrastructure is redundant across two data centers located in France; backups are encrypted and stored off-site, tested regularly (restores), and are subject to the same access controls as the production environment. Do we have a documented policy for data purging and anonymization? Yes, with retention periods by category (transactions/personal data: 24 months; cards: up to 24 months after the expiration date; KYC: 5 years after the relationship ends, power of attorney: 10 years, logs: 24 months) and mechanisms (deletion vs. irreversible anonymization), plus records of data purging (execution logs). Do our test environments contain real data? CentralPay never uses actual personal data in its test or pre-production environments. All of our internal datasets (e.g., cards, IBANs, Customer Profiles) are synthetic or fictitious and comply with PCI DSS standards. However, users of our test environments (e.g., Merchant integrators) can technically enter their own data. This practice is strictly prohibited and governed by our Terms of Use. If a user accidentally enters personal data into a test environment, that data: are not used for actual payment processing, are not replicated in production, and are automatically or manually purged as soon as they are detected. How does CentralPay manage support teams’ access to data? CentralPay’s support teams do not have direct, permanent access to personal data. Access is granted only when necessary for operational purposes (for example, to resolve an incident or assist a customer), and in accordance with the following principles: Temporary and Justified Access: Each access request is granted for a limited period and must be supported by a ticket or an approved request. Principle of least privilege: The support agent sees only the data strictly necessary to process the request. Strong Authentication (MFA): All access is secured through multi-factor authentication. Full traceability: Every action performed by a support team member is logged and audited. Regular review of access permissions: Access rights are reviewed monthly to ensure they remain justified. Masking of Sensitive Data: Sensitive fields (e.g., full card number, CVV, full IBAN) are systematically masked in the interfaces so that support staff can never view them in plain text. Do we provide your customers with specific GDPR-compliant contract terms? Our Terms of Service and contracts include the necessary provisions (confidentiality, security, incident response, subcontracting, data retention and deletion). GDPR addenda may be included depending on the specific use case. Do we share our internal policies and procedures? The public GDPR policy is available online. Detailed internal policies (incident response, data retention, security) are not shared by default.
MID jQuery(document).ready( function($) { window.live_6ab3046f5c790 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_MID.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5c790", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5c790.load(); });
MID jQuery(document).ready( function($) { window.live_6ab3046f9f842 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_MID.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9f842", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9f842.load(); });
The PAYMENT-ACCOUNT object PAYMENT_ACCOUNT_STATUS_UPDATEDWhen a payment account is updated { "blockConfigurationId": "e09287a2-xxxx-xxxx-xxxx-02e4d8a90f84", "blockReason": "ACCOUNT_DUPLICATE", "blockStatus": "IN_OUT", "creationDate": "2026-04-16T09:03:48.171329+02:00", "enrollmentUuid": "af5c4ccb-xxxx-xxxx-xxxx-3365ebad820c", "merchantUuid": "aa23c0d6-xxxx-xxxx-xxxx-0765feacc9f1" }
The PAYMENT-ACCOUNT object PAYMENT_ACCOUNT_STATUS_UPDATEDWhen a payment account is updated { "blockConfigurationId": "e09287a2-xxxx-xxxx-xxxx-02e4d8a90f84", "blockReason": "ACCOUNT_DUPLICATE", "blockStatus": "IN_OUT", "creationDate": "2026-04-16T09:03:48.171329+02:00", "enrollmentUuid": "af5c4ccb-xxxx-xxxx-xxxx-3365ebad820c", "merchantUuid": "aa23c0d6-xxxx-xxxx-xxxx-0765feacc9f1" }
Enrollment Details jQuery(document).ready( function($) { window.live_6ab3046f6b1c8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment details.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b1c8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b1c8.load(); });
Enrollment Details jQuery(document).ready( function($) { window.live_6ab3046fad9ff = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment details.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad9ff", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad9ff.load(); });
Movement jQuery(document).ready( function($) { window.live_6ab3046f5cc30 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Movement.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5cc30", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5cc30.load(); });
Movement jQuery(document).ready( function($) { window.live_6ab3046f9fd6b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Movement.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f9fd6b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f9fd6b.load(); });
Origin See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046f5d3ff = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Origin.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5d3ff", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5d3ff.load(); });
Origin See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046fa0769 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Origin.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa0769", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa0769.load(); });
PIS See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046f5dba1 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PIS.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5dba1", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5dba1.load(); });
PIS See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046fa0f23 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PIS.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa0f23", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa0f23.load(); });
Payment Request See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046f5e31c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payment Request.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5e31c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5e31c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f5e32b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PaymentRequestHistory.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5e32b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5e32b.load(); });
Payment Request See more about Payment Requests jQuery(document).ready( function($) { window.live_6ab3046fa16d0 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payment Request.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa16d0", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa16d0.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fa16df = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PaymentRequestHistory.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa16df", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa16df.load(); });
E-money jQuery(document).ready( function($) { window.live_6ab3046f6b79e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autocomplete.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b79e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b79e.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f6b7ad = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autoupdate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b7ad", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b7ad.load(); });
E-money jQuery(document).ready( function($) { window.live_6ab3046fade0c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autocomplete.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fade0c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fade0c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fade1a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autoupdate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fade1a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fade1a.load(); });
Payout See more about Payout jQuery(document).ready( function($) { window.live_6ab3046f5eb57 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payout.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5eb57", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5eb57.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f5eb66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant Payout Setup.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5eb66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5eb66.load(); });
Payout See more about Payout jQuery(document).ready( function($) { window.live_6ab3046fa25da = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Payout.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa25da", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa25da.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fa25ee = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Merchant Payout Setup.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa25ee", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa25ee.load(); });
Misc jQuery(document).ready( function($) { window.live_6ab3046f6bbc3 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Configuration.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6bbc3", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6bbc3.load(); });
Misc jQuery(document).ready( function($) { window.live_6ab3046fae419 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Configuration.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fae419", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fae419.load(); });
MERCHANT-ENROLLMENT status This page lists the possible values returned by the status field in the EnrollmentWorkflow object. These statuses indicate the current state of a merchant onboarding process initiated through CentralPay’s API or user portal. 📌 Status List StatusDescriptionAPI_CALLThe enrollment was initiated via API. The workflow has been created but no validation has occurred yet.VALIDATIONThe onboarding request is currently under validation (e.g., verifying provided data and uploaded documents).ON_GOINGThe process is ongoing. The merchant is expected to provide more information or complete additional steps.OVERRIDECentralPay has overridden a previous decision and resumed processing the enrollment.REFUSEDThe enrollment request has been refused. CentralPay may have detected a regulatory issue, risk, or missing eligibility requirement.ACCEPTEDThe merchant enrollment is complete and validated. The merchant can now use their CentralPay account. 🔁 Status Flow Overview ✅ Standard Status Flow API_CALL → VALIDATION → ON_GOING → ACCEPTED This is the default progression for a successful enrollment: API_CALL – The enrollment has been created via API. No validation has started yet. VALIDATION – CentralPay is verifying the submitted information and documents. ON_GOING – The merchant is expected to provide additional data or complete onboarding steps. ACCEPTED – The enrollment has been approved. The merchant can now use their CentralPay account. ❌ Alternative Flow – Rejection API_CALL → VALIDATION → REFUSED or API_CALL → VALIDATION → ON_GOING → REFUSED The enrollment is rejected during the process, either early on or after attempted completion. Common reasons include: Invalid or non-compliant documents Ineligible merchant activity Excessive financial or regulatory risk 🔁 Manual Override After Refusal REFUSED → OVERRIDE → VALIDATION / ON_GOING If new or corrected information is provided, a CentralPay operator may resume the process after an initial refusal. The OVERRIDE status indicates that a manual decision has been made to re-open the enrollment flow. 💬 Notes An Agent or DME may retrieve the enrollment status via API to track progress. CentralPay sends webhooks to the configured endpoint when the enrollment status changes (e.g., ACCEPTED, REFUSED). Once the enrollment is ACCEPTED, the merchant’s profile becomes active, and their account is ready for use.
MERCHANT-ENROLLMENT status This page lists the possible values returned by the status field in the EnrollmentWorkflow object. These statuses indicate the current state of a merchant onboarding process initiated through CentralPay’s API or user portal. 📌 Status List StatusDescriptionAPI_CALLThe enrollment was initiated via API. The workflow has been created but no validation has occurred yet.VALIDATIONThe onboarding request is currently under validation (e.g., verifying provided data and uploaded documents).ON_GOINGThe process is ongoing. The merchant is expected to provide more information or complete additional steps.OVERRIDECentralPay has overridden a previous decision and resumed processing the enrollment.REFUSEDThe enrollment request has been refused. CentralPay may have detected a regulatory issue, risk, or missing eligibility requirement.ACCEPTEDThe merchant enrollment is complete and validated. The merchant can now use their CentralPay account. 🔁 Status Flow Overview ✅ Standard Status Flow API_CALL → VALIDATION → ON_GOING → ACCEPTED This is the default progression for a successful enrollment: API_CALL – The enrollment has been created via API. No validation has started yet. VALIDATION – CentralPay is verifying the submitted information and documents. ON_GOING – The merchant is expected to provide additional data or complete onboarding steps. ACCEPTED – The enrollment has been approved. The merchant can now use their CentralPay account. ❌ Alternative Flow – Rejection API_CALL → VALIDATION → REFUSED or API_CALL → VALIDATION → ON_GOING → REFUSED The enrollment is rejected during the process, either early on or after attempted completion. Common reasons include: Invalid or non-compliant documents Ineligible merchant activity Excessive financial or regulatory risk 🔁 Manual Override After Refusal REFUSED → OVERRIDE → VALIDATION / ON_GOING If new or corrected information is provided, a CentralPay operator may resume the process after an initial refusal. The OVERRIDE status indicates that a manual decision has been made to re-open the enrollment flow. 💬 Notes An Agent or DME may retrieve the enrollment status via API to track progress. CentralPay sends webhooks to the configured endpoint when the enrollment status changes (e.g., ACCEPTED, REFUSED). Once the enrollment is ACCEPTED, the merchant’s profile becomes active, and their account is ready for use.
Point Of Sale jQuery(document).ready( function($) { window.live_6ab3046f5f073 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Point Of Sale.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5f073", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5f073.load(); });
Point Of Sale jQuery(document).ready( function($) { window.live_6ab3046fa2b01 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Point Of Sale.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa2b01", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa2b01.load(); });
Refund See more about Refund for Card Transaction See more about Refund for SCT Transaction See more about Refund for SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046f5fe48 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f5fe48", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f5fe48.load(); });
Refund See more about Refund for Card Transaction See more about Refund for SCT Transaction See more about Refund for SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046fa394c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa394c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa394c.load(); });
TRANSFER status This page lists and describes the status values associated with the Transfer object. These statuses reflect the progression of a fund transfer operation created via the /transfer endpoint in CentralPay’s API. Status values StatusDescriptionCREATEDThe transfer has been successfully created and registered. It has not yet been executed.SCHEDULEDThe transfer is scheduled for automatic execution at a defined date/time.PENDINGThe transfer is being processed. Execution is in progress but not yet finalized.CANCELEDThe transfer was canceled before execution. No movement of funds occurred.PROCESSEDThe transfer was processed by CentralPay. Funds have been deducted from the source wallet.DONEThe transfer was successfully completed and the funds have been credited to the target account or wallet.FAILEDThe transfer could not be executed due to an error. No debit occurred or the operation was reversed.REVERSEDThe transfer was previously executed but has since been reversed. Funds were returned to the source wallet. Status lifecycle ✅ Standard flow CREATED → SCHEDULED → PENDING → PROCESSED → DONE This is the typical status flow when the transfer is executed successfully. ⚠️ Alternative flow (error or cancellation) CREATED → CANCELED If the transfer is canceled before execution. CREATED → SCHEDULED → PENDING → FAILED If the transfer encounters an error during processing (e.g., insufficient funds, invalid wallet, technical issue). DONE → REVERSED If the transfer was previously executed but later reversed (e.g., manual operation or compliance reversal). Notes Only CREATED or SCHEDULED transfers may be canceled manually. A FAILED status usually indicates validation errors (e.g. insufficient funds, inactive wallet, invalid beneficiary). The REVERSED status applies when a reversal is triggered using the /transferReversal endpoint. Status fields are returned in the status property of the Transfer JSON object and may be monitored using the API or relevant webhooks.
TRANSFER status This page lists and describes the status values associated with the Transfer object. These statuses reflect the progression of a fund transfer operation created via the /transfer endpoint in CentralPay’s API. Status values StatusDescriptionCREATEDThe transfer has been successfully created and registered. It has not yet been executed.SCHEDULEDThe transfer is scheduled for automatic execution at a defined date/time.PENDINGThe transfer is being processed. Execution is in progress but not yet finalized.CANCELEDThe transfer was canceled before execution. No movement of funds occurred.PROCESSEDThe transfer was processed by CentralPay. Funds have been deducted from the source wallet.DONEThe transfer was successfully completed and the funds have been credited to the target account or wallet.FAILEDThe transfer could not be executed due to an error. No debit occurred or the operation was reversed.REVERSEDThe transfer was previously executed but has since been reversed. Funds were returned to the source wallet. Status lifecycle ✅ Standard flow CREATED → SCHEDULED → PENDING → PROCESSED → DONE This is the typical status flow when the transfer is executed successfully. ⚠️ Alternative flow (error or cancellation) CREATED → CANCELED If the transfer is canceled before execution. CREATED → SCHEDULED → PENDING → FAILED If the transfer encounters an error during processing (e.g., insufficient funds, invalid wallet, technical issue). DONE → REVERSED If the transfer was previously executed but later reversed (e.g., manual operation or compliance reversal). Notes Only CREATED or SCHEDULED transfers may be canceled manually. A FAILED status usually indicates validation errors (e.g. insufficient funds, inactive wallet, invalid beneficiary). The REVERSED status applies when a reversal is triggered using the /transferReversal endpoint. Status fields are returned in the status property of the Transfer JSON object and may be monitored using the API or relevant webhooks.
TRANSFER REVERSAL status This page provides the list of statuses associated with the Transfer Reversal object, accessible via the /transferReversal endpoint. A Transfer Reversal allows you to cancel or refund a previously created transfer, typically used to revert funds between wallets when an operation is aborted or updated after execution. 📌 Status List StatusDescriptionPENDINGThe reversal has been requested but not yet processed.IN_PROGRESSThe reversal request is currently being executed.DONEThe reversal has been successfully completed.REFUSEDThe reversal has been refused. This may be due to authorization failure, insufficient funds, or policy restrictions.CANCELEDThe reversal request was canceled before being processed. These statuses are returned in the status field of the Transfer Reversal object and can be queried through the API to track reversal lifecycle. 🔁 Status Flow Overview ✅ Standard Status Flow PENDING → IN_PROGRESS → DONE This is the expected successful path for a properly submitted reversal. ❌ Alternate Outcomes Rejected during or after processing: PENDING → REFUSEDPENDING → IN_PROGRESS → REFUSED Cancellation before processing: PENDING → CANCELED 🔍 Notes A reversal can only be initiated if the original transfer is eligible. Once DONE, the reversal is final and reflected in both wallets. Status changes can be tracked via webhook notifications if configured.
TRANSFER REVERSAL status This page provides the list of statuses associated with the Transfer Reversal object, accessible via the /transferReversal endpoint. A Transfer Reversal allows you to cancel or refund a previously created transfer, typically used to revert funds between wallets when an operation is aborted or updated after execution. 📌 Status List StatusDescriptionPENDINGThe reversal has been requested but not yet processed.IN_PROGRESSThe reversal request is currently being executed.DONEThe reversal has been successfully completed.REFUSEDThe reversal has been refused. This may be due to authorization failure, insufficient funds, or policy restrictions.CANCELEDThe reversal request was canceled before being processed. These statuses are returned in the status field of the Transfer Reversal object and can be queried through the API to track reversal lifecycle. 🔁 Status Flow Overview ✅ Standard Status Flow PENDING → IN_PROGRESS → DONE This is the expected successful path for a properly submitted reversal. ❌ Alternate Outcomes Rejected during or after processing: PENDING → REFUSEDPENDING → IN_PROGRESS → REFUSED Cancellation before processing: PENDING → CANCELED 🔍 Notes A reversal can only be initiated if the original transfer is eligible. Once DONE, the reversal is final and reflected in both wallets. Status changes can be tracked via webhook notifications if configured.
PendingOperation jQuery(document).ready( function($) { window.live_6ab3046f60340 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PendingOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f60340", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f60340.load(); });
PendingOperation jQuery(document).ready( function($) { window.live_6ab3046fa3e89 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_PendingOperation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa3e89", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa3e89.load(); });
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 ExplanationACTIVEUNPAIDPayment 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, PIS 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.
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 ExplanationACTIVEUNPAIDPayment 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, PIS 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.
Regularisation jQuery(document).ready( function($) { window.live_6ab3046f607c4 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Regularisation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f607c4", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f607c4.load(); });
Regularisation jQuery(document).ready( function($) { window.live_6ab3046fa430d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Regularisation.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa430d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa430d.load(); });
TRANSACTION status Status « Transaction » StatusDescriptionSUCCESSThe 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.
TRANSACTION status Status « Transaction » StatusDescriptionSUCCESSThe 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.
RIB jQuery(document).ready( function($) { window.live_6ab3046f60bf5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Rib.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f60bf5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f60bf5.load(); });
RIB jQuery(document).ready( function($) { window.live_6ab3046fa47e9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Rib.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa47e9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa47e9.load(); });
SCT Transaction Articles SCT Transaction SCT Transaction Reversal SCT Transaction Refund SCT transaction Refund Reversal Bank Reconciliation Bank Reconciliation external SCT Transaction See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046eefdd2 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046eefdd2", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046eefdd2.load(); }); SCT Transaction Reversal See more about SCT Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f23dbb = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f23dbb", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f23dbb.load(); }); SCT Transaction Refund See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f43d3e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f43d3e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f43d3e.load(); }); SCT transaction Refund Reversal See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f4d2fa = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4d2fa", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4d2fa.load(); }); Bank Reconciliation See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f4e2ea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation wireTransfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4e2ea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4e2ea.load(); }); Bank Reconciliation external See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f61bc6 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation external.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f61bc6", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f61bc6.load(); });
SCT Transaction Articles SCT Transaction SCT Transaction Reversal SCT Transaction Refund SCT transaction Refund Reversal Bank Reconciliation Bank Reconciliation external SCT Transaction See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046ef062c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046ef062c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046ef062c.load(); }); SCT Transaction Reversal See more about SCT Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f2459c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f2459c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f2459c.load(); }); SCT Transaction Refund See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f44638 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f44638", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f44638.load(); }); SCT transaction Refund Reversal See more about SCT Transaction jQuery(document).ready( function($) { window.live_6ab3046f4db1b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SCT transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4db1b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4db1b.load(); }); Bank Reconciliation See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046f4eb2d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation wireTransfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f4eb2d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f4eb2d.load(); }); Bank Reconciliation external See more about Bank Reconciliation jQuery(document).ready( function($) { window.live_6ab3046fa59db = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Bank Reconciliation external.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa59db", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa59db.load(); });
REFUND status Statuts « Refund » StatutDescriptionCLEAREDProcessed refund.UNCLEAREDRefund pending processing.FAILURERefund in error.CANCELEDRefund cancelled, either by you or by your customer via the customer portal.
REFUND status Statuts « Refund » StatutDescriptionCLEAREDProcessed refund.UNCLEAREDRefund pending processing.FAILURERefund in error.CANCELEDRefund cancelled, either by you or by your customer via the customer portal.
SDD Transaction Articles Mandate SDD Transaction SDD Transaction Reversal SDD Transaction Refund SDD Transaction Refund Reversal Mandate See more about Mandate jQuery(document).ready( function($) { window.live_6ab3046f628b5 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Mandate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f628b5", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f628b5.load(); }); SDD Transaction See more about SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046f6330d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6330d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6330d.load(); }); SDD Transaction Reversal See more about SDD Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046f63bac = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f63bac", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f63bac.load(); }); SDD Transaction Refund jQuery(document).ready( function($) { window.live_6ab3046f64050 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64050", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64050.load(); }); SDD Transaction Refund Reversal jQuery(document).ready( function($) { window.live_6ab3046f644a9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f644a9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f644a9.load(); });
SDD Transaction Articles Mandate SDD Transaction SDD Transaction Reversal SDD Transaction Refund SDD Transaction Refund Reversal Mandate See more about Mandate jQuery(document).ready( function($) { window.live_6ab3046fa65f7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Mandate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa65f7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa65f7.load(); }); SDD Transaction See more about SDD Transaction jQuery(document).ready( function($) { window.live_6ab3046fa6e0c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa6e0c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa6e0c.load(); }); SDD Transaction Reversal See more about SDD Transaction Reversal jQuery(document).ready( function($) { window.live_6ab3046fa762c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa762c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa762c.load(); }); SDD Transaction Refund jQuery(document).ready( function($) { window.live_6ab3046fa7a9d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa7a9d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa7a9d.load(); }); SDD Transaction Refund Reversal jQuery(document).ready( function($) { window.live_6ab3046fa7ef7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SDD Transaction Refund Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa7ef7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa7ef7.load(); });
CREDIT status Status « Credit » StatusDescriptionCLEAREDCredit processed.UNCLEAREDCredit pending processingFAILURECredit in error.CANCELEDCredit cancelled, either by you or by your Customer via the customer portal.
CREDIT status Status « Credit » StatusDescriptionCLEAREDCredit processed.UNCLEAREDCredit pending processingFAILURECredit in error.CANCELEDCredit cancelled, either by you or by your Customer via the customer portal.
DISPUTES status Status « Disputes » StatutDescriptionFRAUD_NOTICEDA preventive fraud alert sent by the issuer via the card scheme (e.g., Visa TC40). It is not a formal dispute nor a refund. Use it to anticipate controls and block similar attempts.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.
DISPUTES status Status « Disputes » StatutDescriptionFRAUD_NOTICEDA preventive fraud alert sent by the issuer via the card scheme (e.g., Visa TC40). It is not a formal dispute nor a refund. Use it to anticipate controls and block similar attempts.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.
Scenario jQuery(document).ready( function($) { window.live_6ab3046f64a11 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Scenario.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64a11", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64a11.load(); });
Scenario jQuery(document).ready( function($) { window.live_6ab3046fa832c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Scenario.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa832c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa832c.load(); });
SUBSCRIPTION status Status « Subscription » StatusDescriptionACCEPTEDThe 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.CANCELEDThe subscription has been canceled either by you or by your Customer via the customer portal.
SUBSCRIPTION status Status « Subscription » StatusDescriptionACCEPTEDThe 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.CANCELEDThe subscription has been canceled either by you or by your Customer via the customer portal.
SourceType jQuery(document).ready( function($) { window.live_6ab3046f64e68 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SourceType.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f64e68", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f64e68.load(); });
SourceType jQuery(document).ready( function($) { window.live_6ab3046fa885d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_SourceType.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa885d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa885d.load(); });
Subscription Articles Subscription Model Subscription Invoice InvoiceItem Subscription Model See more about Subscription Model jQuery(document).ready( function($) { window.live_6ab3046f65a21 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription Model.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f65a21", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f65a21.load(); }); Subscription See more about Subscription jQuery(document).ready( function($) { window.live_6ab3046f662f1 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f662f1", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f662f1.load(); }); Invoice See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046f66b11 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f66b11", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f66b11.load(); }); InvoiceItem See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046f67318 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice Item.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f67318", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f67318.load(); });
Subscription Articles Subscription Model Subscription Invoice InvoiceItem Subscription Model See more about Subscription Model jQuery(document).ready( function($) { window.live_6ab3046fa9359 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription Model.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa9359", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa9359.load(); }); Subscription See more about Subscription jQuery(document).ready( function($) { window.live_6ab3046fa9b63 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Subscription.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fa9b63", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fa9b63.load(); }); Invoice See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046faa31a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faa31a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faa31a.load(); }); InvoiceItem See more about Invoice & invoiceItem jQuery(document).ready( function($) { window.live_6ab3046faab1c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Invoice Item.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faab1c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faab1c.load(); });
INSTALLMENT status Status « Subscription » StatusDescriptionACTIVEThe 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.
INSTALLMENT status Status « Subscription » StatusDescriptionACTIVEThe 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.
Transfer jQuery(document).ready( function($) { window.live_6ab3046f678e9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f678e9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f678e9.load(); });
Transfer jQuery(document).ready( function($) { window.live_6ab3046faaf58 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046faaf58", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046faaf58.load(); });
SDD TRANSACTION status Statuts « SDD Transaction » StatutDescriptionACTIVEPending 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.
SDD TRANSACTION status Statuts « SDD Transaction » StatutDescriptionACTIVEPending 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.
TransferReversal jQuery(document).ready( function($) { window.live_6ab3046f67d0b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f67d0b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f67d0b.load(); });
TransferReversal jQuery(document).ready( function($) { window.live_6ab3046fab358 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Transfer Reversal.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fab358", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fab358.load(); });
MANDATE status Status « Mandate » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable.
MANDATE status Status « Mandate » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable.
BANK ACCOUNT status StatusDescriptionACCEPTEDThe 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.CANCELEDThe bank account is no longer usable (closed account, fraud, …).
BANK ACCOUNT status StatusDescriptionACCEPTEDThe 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.CANCELEDThe bank account is no longer usable (closed account, fraud, …).
Wallet jQuery(document).ready( function($) { window.live_6ab3046f682e7 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Wallet.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f682e7", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f682e7.load(); });
Wallet jQuery(document).ready( function($) { window.live_6ab3046fab777 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Wallet.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fab777", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fab777.load(); });
PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELEDThe payout has been canceled (only in pending).REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet.
PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELEDThe payout has been canceled (only in pending).REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet.
Blacklist jQuery(document).ready( function($) { window.live_6ab3046f6880d = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Blacklist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6880d", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6880d.load(); });
Blacklist jQuery(document).ready( function($) { window.live_6ab3046fabb58 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Blacklist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fabb58", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fabb58.load(); });
SCT TRANSACTION status Status « SCT Transaction » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded.
SCT TRANSACTION status Status « SCT Transaction » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded.
WhiteList jQuery(document).ready( function($) { window.live_6ab3046f68dea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Whitelist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f68dea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f68dea.load(); });
WhiteList jQuery(document).ready( function($) { window.live_6ab3046fabf09 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/core-api/openapi_Whitelist.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fabf09", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fabf09.load(); });
The WALLETS object WALLET_CREATEDWhen a wallet is created { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } WALLET_UPDATEDWhen a wallet is updated { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" }
The WALLETS object WALLET_CREATEDWhen a wallet is created { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } WALLET_UPDATEDWhen a wallet is updated { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" }
Onboarding Articles Create Enrollement Complete enrollment Update enrollment Search enrollement Enrollment Details E-money Misc Create Enrollement jQuery(document).ready( function($) { window.live_6ab3046f69912 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Create enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69912", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69912.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69921 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_User.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69921", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69921.load(); }); Complete enrollment jQuery(document).ready( function($) { window.live_6ab3046f69f7c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f7c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f7c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69f8b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete additional enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f8b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f8b.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f69f97 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f69f97", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f69f97.load(); }); Update enrollment jQuery(document).ready( function($) { window.live_6ab3046f6a5ea = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Update enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6a5ea", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6a5ea.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f6a5f9 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Rollback enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6a5f9", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6a5f9.load(); }); Search enrollement jQuery(document).ready( function($) { window.live_6ab3046f6ac09 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Search enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6ac09", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6ac09.load(); }); Enrollment Details jQuery(document).ready( function($) { window.live_6ab3046f6b1c8 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment details.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b1c8", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b1c8.load(); }); E-money jQuery(document).ready( function($) { window.live_6ab3046f6b79e = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autocomplete.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b79e", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b79e.load(); }); jQuery(document).ready( function($) { window.live_6ab3046f6b7ad = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autoupdate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6b7ad", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6b7ad.load(); }); Misc jQuery(document).ready( function($) { window.live_6ab3046f6bbc3 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Configuration.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046f6bbc3", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046f6bbc3.load(); });
Onboarding Articles Create Enrollement Complete enrollment Update enrollment Search enrollement Enrollment Details E-money Misc Create Enrollement jQuery(document).ready( function($) { window.live_6ab3046fac75c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Create enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fac75c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fac75c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fac76b = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_User.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fac76b", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fac76b.load(); }); Complete enrollment jQuery(document).ready( function($) { window.live_6ab3046facc57 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc57", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc57.load(); }); jQuery(document).ready( function($) { window.live_6ab3046facc66 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Complete additional enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc66", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc66.load(); }); jQuery(document).ready( function($) { window.live_6ab3046facc71 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046facc71", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046facc71.load(); }); Update enrollment jQuery(document).ready( function($) { window.live_6ab3046fad152 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Update enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad152", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad152.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fad160 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Rollback enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad160", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad160.load(); }); Search enrollement jQuery(document).ready( function($) { window.live_6ab3046fad639 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Search enrollment.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad639", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad639.load(); }); Enrollment Details jQuery(document).ready( function($) { window.live_6ab3046fad9ff = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Enrollment details.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fad9ff", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fad9ff.load(); }); E-money jQuery(document).ready( function($) { window.live_6ab3046fade0c = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autocomplete.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fade0c", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fade0c.load(); }); jQuery(document).ready( function($) { window.live_6ab3046fade1a = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Autoupdate.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fade1a", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fade1a.load(); }); Misc jQuery(document).ready( function($) { window.live_6ab3046fae419 = SwaggerUIBundle({ url: "https://docs.centralpay.com/wp-content/Swagger/obd-api/openapi_Configuration.yaml", dom_id: "#wp-swagger-ui-container-live_6ab3046fae419", deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, //SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], //layout: "StandaloneLayout" }); window.live_6ab3046fae419.load(); });
The BANKACCOUNT object BANKACCOUNT_ACCEPTEDWhen 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_PENDINGWhen 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_UPDATEDWhen 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": [] } BANKACCOUNT_REFUSEDWhen a Bank account is refused { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "refusalComment": "The bank details do not match the name of the company, SC CONNECTING FIRST.", "refusalReason": "IBAN_INVALID", "status": "REFUSED", "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": [] } BANKACCOUNT_CANCELEDWhen a Bank account is canceled { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "status": "CANCELED", "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 BANKACCOUNT object BANKACCOUNT_ACCEPTEDWhen 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_PENDINGWhen 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_UPDATEDWhen 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": [] } BANKACCOUNT_REFUSEDWhen a Bank account is refused { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "refusalComment": "The bank details do not match the name of the company, SC CONNECTING FIRST.", "refusalReason": "IBAN_INVALID", "status": "REFUSED", "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": [] } BANKACCOUNT_CANCELEDWhen a Bank account is canceled { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "status": "CANCELED", "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_UPDATEDWhen 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_CREATEDWhen 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 CARD object CARD_UPDATEDWhen 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_CREATEDWhen 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" }
Object status Articles MERCHANT-ENROLLMENT status TRANSFER status TRANSFER REVERSAL 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 MERCHANT-ENROLLMENT status This page lists the possible values returned by the status field in the EnrollmentWorkflow object. These statuses indicate the current state of a merchant onboarding process initiated through CentralPay’s API or user portal. 📌 Status List StatusDescriptionAPI_CALLThe enrollment was initiated via API. The workflow has been created but no validation has occurred yet.VALIDATIONThe onboarding request is currently under validation (e.g., verifying provided data and uploaded documents).ON_GOINGThe process is ongoing. The merchant is expected to provide more information or complete additional steps.OVERRIDECentralPay has overridden a previous decision and resumed processing the enrollment.REFUSEDThe enrollment request has been refused. CentralPay may have detected a regulatory issue, risk, or missing eligibility requirement.ACCEPTEDThe merchant enrollment is complete and validated. The merchant can now use their CentralPay account. 🔁 Status Flow Overview ✅ Standard Status Flow API_CALL → VALIDATION → ON_GOING → ACCEPTED This is the default progression for a successful enrollment: API_CALL – The enrollment has been created via API. No validation has started yet. VALIDATION – CentralPay is verifying the submitted information and documents. ON_GOING – The merchant is expected to provide additional data or complete onboarding steps. ACCEPTED – The enrollment has been approved. The merchant can now use their CentralPay account. ❌ Alternative Flow – Rejection API_CALL → VALIDATION → REFUSED or API_CALL → VALIDATION → ON_GOING → REFUSED The enrollment is rejected during the process, either early on or after attempted completion. Common reasons include: Invalid or non-compliant documents Ineligible merchant activity Excessive financial or regulatory risk 🔁 Manual Override After Refusal REFUSED → OVERRIDE → VALIDATION / ON_GOING If new or corrected information is provided, a CentralPay operator may resume the process after an initial refusal. The OVERRIDE status indicates that a manual decision has been made to re-open the enrollment flow. 💬 Notes An Agent or DME may retrieve the enrollment status via API to track progress. CentralPay sends webhooks to the configured endpoint when the enrollment status changes (e.g., ACCEPTED, REFUSED). Once the enrollment is ACCEPTED, the merchant’s profile becomes active, and their account is ready for use. TRANSFER status This page lists and describes the status values associated with the Transfer object. These statuses reflect the progression of a fund transfer operation created via the /transfer endpoint in CentralPay’s API. Status values StatusDescriptionCREATEDThe transfer has been successfully created and registered. It has not yet been executed.SCHEDULEDThe transfer is scheduled for automatic execution at a defined date/time.PENDINGThe transfer is being processed. Execution is in progress but not yet finalized.CANCELEDThe transfer was canceled before execution. No movement of funds occurred.PROCESSEDThe transfer was processed by CentralPay. Funds have been deducted from the source wallet.DONEThe transfer was successfully completed and the funds have been credited to the target account or wallet.FAILEDThe transfer could not be executed due to an error. No debit occurred or the operation was reversed.REVERSEDThe transfer was previously executed but has since been reversed. Funds were returned to the source wallet. Status lifecycle ✅ Standard flow CREATED → SCHEDULED → PENDING → PROCESSED → DONE This is the typical status flow when the transfer is executed successfully. ⚠️ Alternative flow (error or cancellation) CREATED → CANCELED If the transfer is canceled before execution. CREATED → SCHEDULED → PENDING → FAILED If the transfer encounters an error during processing (e.g., insufficient funds, invalid wallet, technical issue). DONE → REVERSED If the transfer was previously executed but later reversed (e.g., manual operation or compliance reversal). Notes Only CREATED or SCHEDULED transfers may be canceled manually. A FAILED status usually indicates validation errors (e.g. insufficient funds, inactive wallet, invalid beneficiary). The REVERSED status applies when a reversal is triggered using the /transferReversal endpoint. Status fields are returned in the status property of the Transfer JSON object and may be monitored using the API or relevant webhooks. TRANSFER REVERSAL status This page provides the list of statuses associated with the Transfer Reversal object, accessible via the /transferReversal endpoint. A Transfer Reversal allows you to cancel or refund a previously created transfer, typically used to revert funds between wallets when an operation is aborted or updated after execution. 📌 Status List StatusDescriptionPENDINGThe reversal has been requested but not yet processed.IN_PROGRESSThe reversal request is currently being executed.DONEThe reversal has been successfully completed.REFUSEDThe reversal has been refused. This may be due to authorization failure, insufficient funds, or policy restrictions.CANCELEDThe reversal request was canceled before being processed. These statuses are returned in the status field of the Transfer Reversal object and can be queried through the API to track reversal lifecycle. 🔁 Status Flow Overview ✅ Standard Status Flow PENDING → IN_PROGRESS → DONE This is the expected successful path for a properly submitted reversal. ❌ Alternate Outcomes Rejected during or after processing: PENDING → REFUSEDPENDING → IN_PROGRESS → REFUSED Cancellation before processing: PENDING → CANCELED 🔍 Notes A reversal can only be initiated if the original transfer is eligible. Once DONE, the reversal is final and reflected in both wallets. Status changes can be tracked via webhook notifications if configured. 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 ExplanationACTIVEUNPAIDPayment 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, PIS 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 » StatusDescriptionSUCCESSThe 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 » StatutDescriptionCLEAREDProcessed refund.UNCLEAREDRefund pending processing.FAILURERefund in error.CANCELEDRefund cancelled, either by you or by your customer via the customer portal. CREDIT status Status « Credit » StatusDescriptionCLEAREDCredit processed.UNCLEAREDCredit pending processingFAILURECredit in error.CANCELEDCredit cancelled, either by you or by your Customer via the customer portal. DISPUTES status Status « Disputes » StatutDescriptionFRAUD_NOTICEDA preventive fraud alert sent by the issuer via the card scheme (e.g., Visa TC40). It is not a formal dispute nor a refund. Use it to anticipate controls and block similar attempts.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 » StatusDescriptionACCEPTEDThe 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.CANCELEDThe subscription has been canceled either by you or by your Customer via the customer portal. INSTALLMENT status Status « Subscription » StatusDescriptionACTIVEThe 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 » StatutDescriptionACTIVEPending 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 » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable. BANK ACCOUNT status StatusDescriptionACCEPTEDThe 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.CANCELEDThe bank account is no longer usable (closed account, fraud, …). PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELEDThe payout has been canceled (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 » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded.
Object status Articles MERCHANT-ENROLLMENT status TRANSFER status TRANSFER REVERSAL 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 MERCHANT-ENROLLMENT status This page lists the possible values returned by the status field in the EnrollmentWorkflow object. These statuses indicate the current state of a merchant onboarding process initiated through CentralPay’s API or user portal. 📌 Status List StatusDescriptionAPI_CALLThe enrollment was initiated via API. The workflow has been created but no validation has occurred yet.VALIDATIONThe onboarding request is currently under validation (e.g., verifying provided data and uploaded documents).ON_GOINGThe process is ongoing. The merchant is expected to provide more information or complete additional steps.OVERRIDECentralPay has overridden a previous decision and resumed processing the enrollment.REFUSEDThe enrollment request has been refused. CentralPay may have detected a regulatory issue, risk, or missing eligibility requirement.ACCEPTEDThe merchant enrollment is complete and validated. The merchant can now use their CentralPay account. 🔁 Status Flow Overview ✅ Standard Status Flow API_CALL → VALIDATION → ON_GOING → ACCEPTED This is the default progression for a successful enrollment: API_CALL – The enrollment has been created via API. No validation has started yet. VALIDATION – CentralPay is verifying the submitted information and documents. ON_GOING – The merchant is expected to provide additional data or complete onboarding steps. ACCEPTED – The enrollment has been approved. The merchant can now use their CentralPay account. ❌ Alternative Flow – Rejection API_CALL → VALIDATION → REFUSED or API_CALL → VALIDATION → ON_GOING → REFUSED The enrollment is rejected during the process, either early on or after attempted completion. Common reasons include: Invalid or non-compliant documents Ineligible merchant activity Excessive financial or regulatory risk 🔁 Manual Override After Refusal REFUSED → OVERRIDE → VALIDATION / ON_GOING If new or corrected information is provided, a CentralPay operator may resume the process after an initial refusal. The OVERRIDE status indicates that a manual decision has been made to re-open the enrollment flow. 💬 Notes An Agent or DME may retrieve the enrollment status via API to track progress. CentralPay sends webhooks to the configured endpoint when the enrollment status changes (e.g., ACCEPTED, REFUSED). Once the enrollment is ACCEPTED, the merchant’s profile becomes active, and their account is ready for use. TRANSFER status This page lists and describes the status values associated with the Transfer object. These statuses reflect the progression of a fund transfer operation created via the /transfer endpoint in CentralPay’s API. Status values StatusDescriptionCREATEDThe transfer has been successfully created and registered. It has not yet been executed.SCHEDULEDThe transfer is scheduled for automatic execution at a defined date/time.PENDINGThe transfer is being processed. Execution is in progress but not yet finalized.CANCELEDThe transfer was canceled before execution. No movement of funds occurred.PROCESSEDThe transfer was processed by CentralPay. Funds have been deducted from the source wallet.DONEThe transfer was successfully completed and the funds have been credited to the target account or wallet.FAILEDThe transfer could not be executed due to an error. No debit occurred or the operation was reversed.REVERSEDThe transfer was previously executed but has since been reversed. Funds were returned to the source wallet. Status lifecycle ✅ Standard flow CREATED → SCHEDULED → PENDING → PROCESSED → DONE This is the typical status flow when the transfer is executed successfully. ⚠️ Alternative flow (error or cancellation) CREATED → CANCELED If the transfer is canceled before execution. CREATED → SCHEDULED → PENDING → FAILED If the transfer encounters an error during processing (e.g., insufficient funds, invalid wallet, technical issue). DONE → REVERSED If the transfer was previously executed but later reversed (e.g., manual operation or compliance reversal). Notes Only CREATED or SCHEDULED transfers may be canceled manually. A FAILED status usually indicates validation errors (e.g. insufficient funds, inactive wallet, invalid beneficiary). The REVERSED status applies when a reversal is triggered using the /transferReversal endpoint. Status fields are returned in the status property of the Transfer JSON object and may be monitored using the API or relevant webhooks. TRANSFER REVERSAL status This page provides the list of statuses associated with the Transfer Reversal object, accessible via the /transferReversal endpoint. A Transfer Reversal allows you to cancel or refund a previously created transfer, typically used to revert funds between wallets when an operation is aborted or updated after execution. 📌 Status List StatusDescriptionPENDINGThe reversal has been requested but not yet processed.IN_PROGRESSThe reversal request is currently being executed.DONEThe reversal has been successfully completed.REFUSEDThe reversal has been refused. This may be due to authorization failure, insufficient funds, or policy restrictions.CANCELEDThe reversal request was canceled before being processed. These statuses are returned in the status field of the Transfer Reversal object and can be queried through the API to track reversal lifecycle. 🔁 Status Flow Overview ✅ Standard Status Flow PENDING → IN_PROGRESS → DONE This is the expected successful path for a properly submitted reversal. ❌ Alternate Outcomes Rejected during or after processing: PENDING → REFUSEDPENDING → IN_PROGRESS → REFUSED Cancellation before processing: PENDING → CANCELED 🔍 Notes A reversal can only be initiated if the original transfer is eligible. Once DONE, the reversal is final and reflected in both wallets. Status changes can be tracked via webhook notifications if configured. 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 ExplanationACTIVEUNPAIDPayment 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, PIS 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 » StatusDescriptionSUCCESSThe 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 » StatutDescriptionCLEAREDProcessed refund.UNCLEAREDRefund pending processing.FAILURERefund in error.CANCELEDRefund cancelled, either by you or by your customer via the customer portal. CREDIT status Status « Credit » StatusDescriptionCLEAREDCredit processed.UNCLEAREDCredit pending processingFAILURECredit in error.CANCELEDCredit cancelled, either by you or by your Customer via the customer portal. DISPUTES status Status « Disputes » StatutDescriptionFRAUD_NOTICEDA preventive fraud alert sent by the issuer via the card scheme (e.g., Visa TC40). It is not a formal dispute nor a refund. Use it to anticipate controls and block similar attempts.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 » StatusDescriptionACCEPTEDThe 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.CANCELEDThe subscription has been canceled either by you or by your Customer via the customer portal. INSTALLMENT status Status « Subscription » StatusDescriptionACTIVEThe 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 » StatutDescriptionACTIVEPending 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 » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable. BANK ACCOUNT status StatusDescriptionACCEPTEDThe 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.CANCELEDThe bank account is no longer usable (closed account, fraud, …). PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELEDThe payout has been canceled (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 » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded.
Webhook notifications Articles The PAYMENT-ACCOUNT object The MERCHANT-ENROLLMENT object The WALLETS object 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 PAYMENT-ACCOUNT object PAYMENT_ACCOUNT_STATUS_UPDATEDWhen a payment account is updated { "blockConfigurationId": "e09287a2-xxxx-xxxx-xxxx-02e4d8a90f84", "blockReason": "ACCOUNT_DUPLICATE", "blockStatus": "IN_OUT", "creationDate": "2026-04-16T09:03:48.171329+02:00", "enrollmentUuid": "af5c4ccb-xxxx-xxxx-xxxx-3365ebad820c", "merchantUuid": "aa23c0d6-xxxx-xxxx-xxxx-0765feacc9f1" } The MERCHANT-ENROLLMENT object Prochainement The WALLETS object WALLET_CREATEDWhen a wallet is created { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } WALLET_UPDATEDWhen a wallet is updated { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } The BANKACCOUNT object BANKACCOUNT_ACCEPTEDWhen 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_PENDINGWhen 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_UPDATEDWhen 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": [] } BANKACCOUNT_REFUSEDWhen a Bank account is refused { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "refusalComment": "The bank details do not match the name of the company, SC CONNECTING FIRST.", "refusalReason": "IBAN_INVALID", "status": "REFUSED", "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": [] } BANKACCOUNT_CANCELEDWhen a Bank account is canceled { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "status": "CANCELED", "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_UPDATEDWhen 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_CREATEDWhen 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_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen 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": [] } } CREDIT_CLEAREDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_CLEARED", "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": "CLEARED", "transactionTransfers": [] } } CREDIT_SETTLEDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_SETTLED", "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": "CLEARED", "transactionTransfers": [] } } The CUSTOMER object CUSTOMER_CREATEDWhen 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_UPDATEDWhen 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_OTPWhen 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_CREATEDWhen 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_UPDATEDWhen a deposit is updated The DISPUTE object DISPUTE_UPDATEDWhen 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_CREATEDWhen a dispute is created The INSTALLMENT object INSTALLMENTPAYMENT_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVATEDWhen an installment is activated INSTALLMENTPAYMENT_FAILUREWhen an installment failed to be paid INSTALLMENTPAYMENT_PAIDWhen 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_UNPAIDWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_CREATEDWhen 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_UPDATEDAn 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_DOCUMENTSSome 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_DOCUMENTSSome 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_CREATEDThe 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_UPDATEDThe account has been update. You receive those elements ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTEDAdditionnal 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_UPDATEDAdditionnal documents or information have been provided by the account holder in one ongoing onboarding. ONBOARDING_ENROLLMENT_WORKFLOW_RESETThe 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_RESULTThe 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_CREATEDWhen an enrollement is created The PAYMENT REQUEST object PAYMENTREQUEST_CREATEDHappen 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_CANCELEDHappen 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_CLOSEDHappen 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_PAIDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_SUCCEEDEDHappen when the SDD transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } The PAYOUT object PAYOUT_CREATEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_PAIDWhen 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_CREATEDWhen a payout reversal has been created The REFUND object REFUND_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen a refund is updated REFUND_CLEAREDWhen a refund is cleared REFUND_SETTLEDWhen a refund is settled The SCT Transaction object SCT_TRANSACTION_CREATEDWhen 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_UPDATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen 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_CREATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen a sct transaction refund is cancelled SCT_TRANSACTION_REFUNDED_RECEIVED,When a sct transaction refund is received SCT_TRANSACTION_REFUNDEDWhen a sct transaction reversal is created The SDD TRANSACTION object SDDTRANSACTION_CREATEDWhen 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_CLEAREDWhen 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_VALIDATEDWhen 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_CANCELEDWhen 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_RENEWOTPWhen 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_CREATEDWhen a SDD Transaction reversal is created The MANDATE object MANDATE_CREATEDWhen 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_SIGNEDWhen 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_OBSOLETEDWhen 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_RENEWOTPWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVEWhen a Subscription is active SUBSCRIPTION_FAILUREWhen 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_UNPAIDWhen a Subscription is unpaid SUBSCRIPTION_REACTIVATEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_DELETEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CLOSEDWhen 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_REOPENWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_SUCCEEDEDWhen 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_CANCELEDWhen 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_CAPTUREDWhen 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_CLEAREDWhen a transaction is sent to the clearing and will be debited { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_CLEARED", "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_SETTLEDWhen a transaction has been sent to the clearing and has been credit to the merchant { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_SETTLED", "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_EXPIREDWhen 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_UPDATEDWhen 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_DISPUTEDWhen 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_FAILEDWhen 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_FRAUDULENTWhen 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_ACCEPTEDWhen a transaction is refused because entering an acceptance rule TRANSACTION_REFUNDEDWhen 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_RISKYWhen a transaction is refused because of its risk score exceed the limit TRANSACTION_THREEDS_AUTH_FAILEDWhen a transaction is declined because the card holder failed to authenticate himself during the 3DS process The TRANSFER REVERSAL object TRANSFERREVERSAL_SUCCEEDEDWhen 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_UPDATEDWhen 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_SUCCEEDEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_CREATEDWhen a wire transfer is created WIRETRANSFER_UPDATEDWhen a wire transfer is updated WIRETRANSFER_RECEIVEDWhen a wire transfer is received WIRETRANSFER_CANCELEDWhen a wire transfer is cancelled
Webhook notifications Articles The PAYMENT-ACCOUNT object The MERCHANT-ENROLLMENT object The WALLETS object 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 PAYMENT-ACCOUNT object PAYMENT_ACCOUNT_STATUS_UPDATEDWhen a payment account is updated { "blockConfigurationId": "e09287a2-xxxx-xxxx-xxxx-02e4d8a90f84", "blockReason": "ACCOUNT_DUPLICATE", "blockStatus": "IN_OUT", "creationDate": "2026-04-16T09:03:48.171329+02:00", "enrollmentUuid": "af5c4ccb-xxxx-xxxx-xxxx-3365ebad820c", "merchantUuid": "aa23c0d6-xxxx-xxxx-xxxx-0765feacc9f1" } The MERCHANT-ENROLLMENT object Prochainement The WALLETS object WALLET_CREATEDWhen a wallet is created { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } WALLET_UPDATEDWhen a wallet is updated { "activityStatus": "ACTIVE", "additionalData": [], "available": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "closedAccount": false, "creationDate": "2026-09-16T09:51:26.776625Z", "currency": "EUR", "customerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "defaultWallet": false, "hasDebt": false, "merchantPayoutSetupId": "xxxx-xxxx-xxxx-xxxx-xxxx", "owner": { "name": "Martin Durant", "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx", }, "ownerId": "xxxx-xxxx-xxxx-xxxx-xxxx", "name": "PAYMENT ACCOUNT", "pending": [ { "amount": 0, "currency": "EUR", "minimumAmount": 0 } ], "personal": false, "realtimeBalance": { "availableBalance": 0, "clearedBalance": 0, "pendingBalance": 0, "pendingCreditSum": 0, "pendingDebitSum": 0 }, "reserve": 0, "type": "PS", "walletId": "e0b54b2f-badc-4aef-b402-902fec733bc2" } The BANKACCOUNT object BANKACCOUNT_ACCEPTEDWhen 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_PENDINGWhen 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_UPDATEDWhen 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": [] } BANKACCOUNT_REFUSEDWhen a Bank account is refused { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "refusalComment": "The bank details do not match the name of the company, SC CONNECTING FIRST.", "refusalReason": "IBAN_INVALID", "status": "REFUSED", "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": [] } BANKACCOUNT_CANCELEDWhen a Bank account is canceled { "name": "BANKACCOUNT REF API", "description": null, "ownerName": "BANKACCOUNT REFAPI", "ownerAddress": "142 RUE DE LA REFAPI", "ownerDescription": null, "ownerPostalCode": "37000", "ownerCity": "TOURS", "ownerCountry": "FRA", "iban": "FR7612548029980000000150086", "bic": "AXABFRPP", "currency": "EUR", "status": "CANCELED", "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_UPDATEDWhen 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_CREATEDWhen 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_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen 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": [] } } CREDIT_CLEAREDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_CLEARED", "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": "CLEARED", "transactionTransfers": [] } } CREDIT_SETTLEDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_SETTLED", "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": "CLEARED", "transactionTransfers": [] } } The CUSTOMER object CUSTOMER_CREATEDWhen 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_UPDATEDWhen 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_OTPWhen 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_CREATEDWhen 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_UPDATEDWhen a deposit is updated The DISPUTE object DISPUTE_UPDATEDWhen 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_CREATEDWhen a dispute is created The INSTALLMENT object INSTALLMENTPAYMENT_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVATEDWhen an installment is activated INSTALLMENTPAYMENT_FAILUREWhen an installment failed to be paid INSTALLMENTPAYMENT_PAIDWhen 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_UNPAIDWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_CREATEDWhen 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_UPDATEDAn 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_DOCUMENTSSome 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_DOCUMENTSSome 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_CREATEDThe 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_UPDATEDThe account has been update. You receive those elements ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTEDAdditionnal 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_UPDATEDAdditionnal documents or information have been provided by the account holder in one ongoing onboarding. ONBOARDING_ENROLLMENT_WORKFLOW_RESETThe 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_RESULTThe 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_CREATEDWhen an enrollement is created The PAYMENT REQUEST object PAYMENTREQUEST_CREATEDHappen 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_CANCELEDHappen 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_CLOSEDHappen 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_PAIDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_SUCCEEDEDHappen when the SDD transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } The PAYOUT object PAYOUT_CREATEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_PAIDWhen 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_CREATEDWhen a payout reversal has been created The REFUND object REFUND_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen a refund is updated REFUND_CLEAREDWhen a refund is cleared REFUND_SETTLEDWhen a refund is settled The SCT Transaction object SCT_TRANSACTION_CREATEDWhen 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_UPDATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen 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_CREATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen a sct transaction refund is cancelled SCT_TRANSACTION_REFUNDED_RECEIVED,When a sct transaction refund is received SCT_TRANSACTION_REFUNDEDWhen a sct transaction reversal is created The SDD TRANSACTION object SDDTRANSACTION_CREATEDWhen 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_CLEAREDWhen 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_VALIDATEDWhen 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_CANCELEDWhen 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_RENEWOTPWhen 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_CREATEDWhen a SDD Transaction reversal is created The MANDATE object MANDATE_CREATEDWhen 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_SIGNEDWhen 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_OBSOLETEDWhen 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_RENEWOTPWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVEWhen a Subscription is active SUBSCRIPTION_FAILUREWhen 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_UNPAIDWhen a Subscription is unpaid SUBSCRIPTION_REACTIVATEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_DELETEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CLOSEDWhen 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_REOPENWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_SUCCEEDEDWhen 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_CANCELEDWhen 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_CAPTUREDWhen 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_CLEAREDWhen a transaction is sent to the clearing and will be debited { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_CLEARED", "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_SETTLEDWhen a transaction has been sent to the clearing and has been credit to the merchant { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_SETTLED", "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_EXPIREDWhen 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_UPDATEDWhen 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_DISPUTEDWhen 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_FAILEDWhen 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_FRAUDULENTWhen 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_ACCEPTEDWhen a transaction is refused because entering an acceptance rule TRANSACTION_REFUNDEDWhen 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_RISKYWhen a transaction is refused because of its risk score exceed the limit TRANSACTION_THREEDS_AUTH_FAILEDWhen a transaction is declined because the card holder failed to authenticate himself during the 3DS process The TRANSFER REVERSAL object TRANSFERREVERSAL_SUCCEEDEDWhen 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_UPDATEDWhen 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_SUCCEEDEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_CREATEDWhen a wire transfer is created WIRETRANSFER_UPDATEDWhen a wire transfer is updated WIRETRANSFER_RECEIVEDWhen a wire transfer is received WIRETRANSFER_CANCELEDWhen a wire transfer is cancelled
The CREDIT object CREDIT_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen 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": [] } } CREDIT_CLEAREDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_CLEARED", "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": "CLEARED", "transactionTransfers": [] } } CREDIT_SETTLEDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_SETTLED", "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": "CLEARED", "transactionTransfers": [] } }
The CREDIT object CREDIT_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen 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": [] } } CREDIT_CLEAREDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_CLEARED", "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": "CLEARED", "transactionTransfers": [] } } CREDIT_SETTLEDWhen a credit is cleared { "eventId": "b51f11be-c535-49a4-8a70-6241afd75654", "type": "CREDIT_SETTLED", "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": "CLEARED", "transactionTransfers": [] } }
Resources by type Articles Codes Test values Codes HTTP Codes Find below the list of HTTP return codes: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident. Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency 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 CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_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: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
Resources by type Articles Codes Test values Codes HTTP Codes Find below the list of HTTP return codes: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident. Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency 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 CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_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: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
The CUSTOMER object CUSTOMER_CREATEDWhen 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_UPDATEDWhen 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_OTPWhen 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 CUSTOMER object CUSTOMER_CREATEDWhen 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_UPDATEDWhen 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_OTPWhen 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_CREATEDWhen 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_UPDATEDWhen a deposit is updated
The DEPOSIT object DEPOSIT_CREATEDWhen 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_UPDATEDWhen a deposit is updated
The DISPUTE object DISPUTE_UPDATEDWhen 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_CREATEDWhen a dispute is created
The DISPUTE object DISPUTE_UPDATEDWhen 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_CREATEDWhen a dispute is created
The INSTALLMENT object INSTALLMENTPAYMENT_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVATEDWhen an installment is activated INSTALLMENTPAYMENT_FAILUREWhen an installment failed to be paid INSTALLMENTPAYMENT_PAIDWhen 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_UNPAIDWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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 INSTALLMENT object INSTALLMENTPAYMENT_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVATEDWhen an installment is activated INSTALLMENTPAYMENT_FAILUREWhen an installment failed to be paid INSTALLMENTPAYMENT_PAIDWhen 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_UNPAIDWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_CREATEDWhen 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_UPDATEDAn 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_DOCUMENTSSome 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_DOCUMENTSSome 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_CREATEDThe 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_UPDATEDThe account has been update. You receive those elements ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTEDAdditionnal 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_UPDATEDAdditionnal documents or information have been provided by the account holder in one ongoing onboarding. ONBOARDING_ENROLLMENT_WORKFLOW_RESETThe 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_RESULTThe 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_CREATEDWhen an enrollement is created
The ONBOARDING object ONBOARDING_ENROLLMENT_CREATEDWhen 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_UPDATEDAn 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_DOCUMENTSSome 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_DOCUMENTSSome 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_CREATEDThe 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_UPDATEDThe account has been update. You receive those elements ONBOARDING_ADDITIONAL_DOCUMENT_REQUESTEDAdditionnal 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_UPDATEDAdditionnal documents or information have been provided by the account holder in one ongoing onboarding. ONBOARDING_ENROLLMENT_WORKFLOW_RESETThe 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_RESULTThe 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_CREATEDWhen an enrollement is created
The PAYMENT REQUEST object PAYMENTREQUEST_CREATEDHappen 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_CANCELEDHappen 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_CLOSEDHappen 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_PAIDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_SUCCEEDEDHappen when the SDD transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" }
The PAYMENT REQUEST object PAYMENTREQUEST_CREATEDHappen 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_CANCELEDHappen 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_CLOSEDHappen 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_PAIDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_FAILEDHappen 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_SUCCEEDEDHappen 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_SUCCEEDEDHappen when the SDD transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" } PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded { "additionalData": [], "amount": 9500, "automaticValidation": true, "commission": 0, "creationDate": "2025-05-22T04:01:54.502927+02:00", "currency": "EUR", "endToEndIdentification": "SDD-1F9EF68A-F1E6-4632-BF6A", "endUserIp": "91.206.156.116", "fee": 0, "mandateId": "062572aa-e4c6-4759-a470-f4e7042464d2", "movementId": "a92a5dc6-7b29-49b3-b608-89f9d2ee0b30", "otpExpired": false, "paymentRequestBreakdownId": "f2e668b1-5718-4c82-87c1-9d361e426f01", "payoutAmount": 9500, "payoutCurrency": "EUR", "pointOfSaleId": "358a1ef4-1954-4c12-9900-7365fbaf194c", "remittanceInformation": "670646D49F3A", "requestedCollectionDate": "2025-05-23", "sddTransactionId": "53fd1a29-8a85-495c-951b-7a03fd7cbfa9", "sequenceType": "RCUR", "status": "CLEARED", "transactionTransfers": [], "validationDate": "2025-05-22T04:01:54.504469+02:00", "walletId": "23d3c9b0-ad0f-4cd5-a48e-32315827b1fa" }
The PAYOUT object PAYOUT_CREATEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_PAIDWhen 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_CREATEDWhen a payout reversal has been created
The PAYOUT object PAYOUT_CREATEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_PAIDWhen 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_CREATEDWhen a payout reversal has been created
The REFUND object REFUND_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen a refund is updated REFUND_CLEAREDWhen a refund is cleared REFUND_SETTLEDWhen a refund is settled
The REFUND object REFUND_CREATEDWhen 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_CANCELEDWhen 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_UPDATEDWhen a refund is updated REFUND_CLEAREDWhen a refund is cleared REFUND_SETTLEDWhen a refund is settled
The SCT Transaction object SCT_TRANSACTION_CREATEDWhen 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_UPDATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen 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_CREATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen a sct transaction refund is cancelled SCT_TRANSACTION_REFUNDED_RECEIVED,When a sct transaction refund is received SCT_TRANSACTION_REFUNDEDWhen a sct transaction reversal is created
The SCT Transaction object SCT_TRANSACTION_CREATEDWhen 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_UPDATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen 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_CREATEDWhen 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_RECEIVEDWhen 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_CANCELEDWhen a sct transaction refund is cancelled SCT_TRANSACTION_REFUNDED_RECEIVED,When a sct transaction refund is received SCT_TRANSACTION_REFUNDEDWhen a sct transaction reversal is created
The SDD TRANSACTION object SDDTRANSACTION_CREATEDWhen 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_CLEAREDWhen 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_VALIDATEDWhen 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_CANCELEDWhen 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_RENEWOTPWhen 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_CREATEDWhen a SDD Transaction reversal is created
The SDD TRANSACTION object SDDTRANSACTION_CREATEDWhen 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_CLEAREDWhen 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_VALIDATEDWhen 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_CANCELEDWhen 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_RENEWOTPWhen 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_CREATEDWhen a SDD Transaction reversal is created
The MANDATE object MANDATE_CREATEDWhen 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_SIGNEDWhen 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_OBSOLETEDWhen 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_RENEWOTPWhen 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 MANDATE object MANDATE_CREATEDWhen 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_SIGNEDWhen 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_OBSOLETEDWhen 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_RENEWOTPWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVEWhen a Subscription is active SUBSCRIPTION_FAILUREWhen 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_UNPAIDWhen a Subscription is unpaid SUBSCRIPTION_REACTIVATEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_DELETEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CLOSEDWhen 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_REOPENWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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 SUBSCRIPTION object SUBSCRIPTIONMODEL_CREATEDWhen 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_UPDATEDWhen 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_CREATEDWhen 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_FAILEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_ACTIVEWhen a Subscription is active SUBSCRIPTION_FAILUREWhen 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_UNPAIDWhen a Subscription is unpaid SUBSCRIPTION_REACTIVATEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_DELETEDWhen 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_CREATEDWhen 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_UPDATEDWhen 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_CLOSEDWhen 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_REOPENWhen 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_SUCCEEDEDWhen 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_FAILEDWhen 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_SUCCEEDEDWhen 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_CANCELEDWhen 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_CAPTUREDWhen 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_CLEAREDWhen a transaction is sent to the clearing and will be debited { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_CLEARED", "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_SETTLEDWhen a transaction has been sent to the clearing and has been credit to the merchant { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_SETTLED", "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_EXPIREDWhen 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_UPDATEDWhen 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_DISPUTEDWhen 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_FAILEDWhen 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_FRAUDULENTWhen 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_ACCEPTEDWhen a transaction is refused because entering an acceptance rule TRANSACTION_REFUNDEDWhen 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_RISKYWhen a transaction is refused because of its risk score exceed the limit TRANSACTION_THREEDS_AUTH_FAILEDWhen a transaction is declined because the card holder failed to authenticate himself during the 3DS process
The TRANSACTION object TRANSACTION_SUCCEEDEDWhen 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_CANCELEDWhen 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_CAPTUREDWhen 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_CLEAREDWhen a transaction is sent to the clearing and will be debited { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_CLEARED", "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_SETTLEDWhen a transaction has been sent to the clearing and has been credit to the merchant { "eventId": "ecd3fead-ccb1-44e4-b41b-5806b78dc5a5", "type": "TRANSACTION_SETTLED", "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_EXPIREDWhen 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_UPDATEDWhen 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_DISPUTEDWhen 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_FAILEDWhen 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_FRAUDULENTWhen 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_ACCEPTEDWhen a transaction is refused because entering an acceptance rule TRANSACTION_REFUNDEDWhen 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_RISKYWhen a transaction is refused because of its risk score exceed the limit TRANSACTION_THREEDS_AUTH_FAILEDWhen a transaction is declined because the card holder failed to authenticate himself during the 3DS process
The TRANSFER REVERSAL object TRANSFERREVERSAL_SUCCEEDEDWhen 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_UPDATEDWhen 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 REVERSAL object TRANSFERREVERSAL_SUCCEEDEDWhen 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_UPDATEDWhen 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_SUCCEEDEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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 TRANSFER object TRANSFER_SUCCEEDEDWhen 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_UPDATEDWhen 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_CANCELEDWhen 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_CREATEDWhen a wire transfer is created WIRETRANSFER_UPDATEDWhen a wire transfer is updated WIRETRANSFER_RECEIVEDWhen a wire transfer is received WIRETRANSFER_CANCELEDWhen a wire transfer is cancelled
The WIRETRANSFER object (Deprecated) WIRETRANSFER_CREATEDWhen a wire transfer is created WIRETRANSFER_UPDATEDWhen a wire transfer is updated WIRETRANSFER_RECEIVEDWhen a wire transfer is received WIRETRANSFER_CANCELEDWhen a wire transfer is cancelled
Codes Articles HTTP Codes Card authorization - Bank return codes Card Disputes - 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: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident. Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency 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 CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_TRANSACTION_ID ErrorComponent possible values« C »THREE_DS_SDK« S »THREE_DS_SERVER« D »DIRECTORY_SERVER« A »ACCESS_CONTROL_SERVER
Codes Articles HTTP Codes Card authorization - Bank return codes Card Disputes - 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: 200OKNote: The request was executed correctly400BAD REQUESTNote: Wrong parameter or rule401UNAUTHORIZEDNote: Login / password are missing for HTTP authentication402PAYMENT_REQUIREDNote: Authorization denied*403FORBIDDENNote: Wrong authentication404NOT FOUNDNote: Incorrect URL500INTERNAL SERVER ERRORNote: Server error (*) Only possible for the creation of a transaction Card authorization - Bank return codes Issuer response codes returned to CentralPay after a card authorization request. These values generally correspond to the ISO 8583 “Response code” (DE39) returned by card networks/issuers. Depending on the scheme, country, and routing, you may also receive network-specific or gateway-specific variants (for example alphanumeric or 3-digit codes). Important: the same code can cover multiple issuer-side reasons. Unless explicitly stated, CentralPay passes these codes as received. For troubleshooting, combine the response code with your transaction context (amount, currency, 3DS result, merchant category, card brand, retries). Most common response codes CodeDescriptionRecommended action00ApprovedProceed with capture / fulfillment.02Contact card issuerAsk customer to contact their bank; retry only if customer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID, acquirer routing).04Pick up / retain cardDo not retry; follow your in-store procedure (if applicable).05Do not honorGeneric decline: do not “loop” retries; ask customer to contact issuer or use another payment method.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-outRetry once after a short delay; if repeated, check connectivity/acquirer status.10Unable to reverseEscalate to support with trace/reference; avoid repeated reversals.11Partial approvalOnly relevant if your flow supports partial approvals (often prepaid); otherwise request another method.12Invalid transactionCheck request consistency (type, lifecycle, capture/void rules); if persistent, escalate with logs.13Invalid amountValidate amount format/currency decimals; check min/max constraints.14Invalid card numberCustomer should re-enter card details; if repeated, use another card.15Unknown issuerUse another card/payment method; escalate if routing issue suspected.19Try again laterRetry once later; if repeated, ask customer to contact issuer.30Format errorCheck field formats (PAN/expiry/CVV, currency, recurring flags); escalate if needed.33Card expiredCustomer must use another card.38PIN attempts exceededCardholder must contact issuer / reset PIN; do not retry.39Transaction not allowedLikely product/merchant restriction; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.43Stolen cardDo not retry; request another payment method.51Insufficient fundsAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Expired cardCustomer must use another card.55Incorrect PINCard-present only: customer must retry carefully or contact issuer after repeated failures.57Transaction not permitted to cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities & configuration; may be MCC/terminal restriction.59Suspected fraudDo not retry “blindly”; ask customer to contact issuer or use a different method; review fraud rules if frequent.61Exceeds withdrawal/amount limitReduce amount or ask customer to contact issuer.62Restricted cardIssuer restriction; customer should contact issuer.65Frequency limit exceededWait and retry later; avoid repeated attempts in short timeframes.68Response received too lateRetry once; check acquirer/network status if repeated.75PIN attempts exceededSame as 38: cardholder must contact issuer.82Invalid CVVCustomer should re-enter CVV; if repeated, use another card.91Issuer/switch unavailableRetry later; if widespread, treat as incident (issuer/network outage).94Duplicate requestAvoid immediate retries with same identifiers; ensure idempotency / unique reference.95Contact acquirerEscalate to support/acquirer with transaction reference.96System malfunctionRetry later; if repeated, escalate with traces/logs. All response codes (exhaustive) The following codes may be returned depending on the network, country, routing, or integration. This section is exhaustive compared to the previous version of this page, and includes both standard and non-standard variants. CodeDescriptionRecommended action00Transaction approved or successfully processedProceed with capture / fulfillment.02Contact card issuerAsk the customer to contact their issuer; retry only if issuer confirms.03Invalid acceptorCheck merchant/terminal configuration (MID/TID), acquirer routing, and credentials.04Keep cardDo not retry; follow in-store procedure if applicable; request another payment method.05Do not honorGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.06Transaction invalid for terminalCheck terminal capability / transaction type compatibility; verify integration parameters.07Honor with IDIf card-present: request ID verification; otherwise ask customer to contact issuer.08Time-OutRetry once after a short delay; if repeated, check network/acquirer connectivity.09No originalFor reversals/adjustments: ensure you reference an existing original transaction; escalate if needed.10Unable to reverseDo not repeat reversals blindly; escalate to support with transaction references.11Partial approvalHandle partial approval if supported (often prepaid); otherwise request another method.12Invalid transactionCheck transaction type/lifecycle (auth/capture/void/refund), parameters; escalate with logs if persistent.13Invalid amountValidate amount format, currency decimals, and min/max constraints; retry after correction.14Invalid cardholder numberCustomer should re-enter card details; if repeated, use another card.15Unknown card issuerTry another card/payment method; if widespread, suspect routing/config issue and escalate.17Invalid capture date (terminal business date)Check terminal business date / batch settings; retry after correction if applicable.19Repeat transaction laterRetry once later; avoid multiple attempts in a short window; ask customer to contact issuer if repeated.20No From AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.21No To AccountNot typical for purchase flows; verify transaction type and account fields; escalate if unexpected.22Account not verifiedAsk customer to contact issuer; consider another payment method.23Account not savedRetry later if applicable; otherwise use another method; escalate if recurring.24No Credit AccountAsk customer to contact issuer; use another method.25Unable to locate record in fileFor adjustments/reversals: verify original reference; escalate with trace/reference.26Record duplicatedCheck idempotency and uniqueness of references; do not retry with same identifiers.27‘Edit’ error in file update fieldCheck field formats and constraints; escalate with payload/logs.28File access deniedConfiguration/permission issue: escalate to support/acquirer with context.29File update not possibleEscalate with trace/reference; avoid repeating the same update operation.30Format errorCheck request formatting (amount/currency, PAN/expiry, flags, message structure); escalate with logs.31Identifier of acquiring organization unknownCheck acquirer routing and merchant configuration; escalate to support/acquirer.32Transaction partially completedCheck final status via retrieval; avoid blind retry; escalate if inconsistent.33Card validity date exceededCustomer must use another card.34Implausible card dataCustomer should re-enter details; verify card data collection; use another card if repeated.38Number of PIN attempts exceededDo not retry; customer must contact issuer / reset PIN.39Transaction not allowedCheck transaction type and merchant capability; ask customer to contact issuer or use another method.41Lost cardDo not retry; request another payment method.42Special PickupDo not retry; request another method; in-store: follow procedure if applicable.43Stolen cardDo not retry; request another payment method.44Stolen cardDo not retry; request another payment method.51Insufficient funds or overdraftAsk customer to use another method or wait for funds; avoid repeated immediate retries.54Card expiredCustomer must use another card.55Incorrect PINCard-present: retry carefully; if repeated, customer contacts issuer.56Card not on fileVerify card details; customer should contact issuer or use another card.57Transaction not authorized to this cardholderIssuer restriction; ask customer to contact issuer or use another method.58Transaction prohibited at terminalCheck merchant/terminal capabilities and MCC/terminal restrictions; adjust configuration.59Suspected fraudAvoid retry loops; customer contacts issuer or uses another method; review risk rules if frequent.60The card acceptor must contact the buyerAsk customer to contact issuer / confirm details; avoid repeated attempts.61Withdrawal amount over limitReduce amount or ask customer to contact issuer.62Card use restrictedCustomer contacts issuer; use another method.63MAC Key ErrorCryptographic/config issue: escalate to support/acquirer with trace and timestamps.65Frequency limit exceededWait and retry later; avoid multiple attempts in short timeframe.66Acquirer limit reachedEscalate to acquirer/support; retry only after confirmation.67Card withheldDo not retry; request another method; in-store: follow procedure if applicable.68Response not received or received too lateRetry once; if repeated, check acquirer/network status and escalate.75Number of PIN attempts exceededSame as 38: do not retry; customer must contact issuer.76Invalid AccountAsk customer to contact issuer; use another card/method.77Issuer not participating in serviceUse another card or method; escalate if routing/regional issue suspected.78Function not availableRemove/disable unsupported feature; verify transaction type and integration flags.79Key validation errorCryptographic/config issue: escalate to support/acquirer with trace.80Approved for purchase amount onlyIf you requested cash-back/extra: retry without it; otherwise proceed as approved.81Unable to verify PINCard-present: retry; if repeated, customer contacts issuer or use another method.82Invalid CVVRe-enter CVV; if repeated, use another card.83Not refusedTreat as non-decline / ambiguous: verify final status via retrieval; escalate if inconsistent.84Invalid transaction lifecycleCheck auth/capture/void/refund ordering and timing; fix integration logic.85No key to useCryptographic/config issue: escalate to support/acquirer.86KME synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.87PIN errorCard-present: retry; if repeated, customer contacts issuer.88MAC synchronization errorCryptographic sync issue: escalate with logs, trace, timestamps.89Security violationStop retries; escalate to support/acquirer; review fraud/security configuration.90Temporary system shutdownRetry later; if persistent, treat as incident and escalate.91Card transmitter inaccessibleRetry later; if widespread, treat as issuer/network outage.92Card issuer unknownUse another card; if repeated across cards, suspect routing/config and escalate.93Transacation cannot be finalizedRetry later once; if persistent, escalate with trace/logs.94Duplicate requestEnsure idempotency / unique references; do not resend the exact same request.95Contact acquirerEscalate to support/acquirer with transaction reference and timestamps.96System malfunctionRetry later; if repeated, escalate with traces/logs.97No Funds TransferNot typical for purchase flows; verify transaction type; escalate if unexpected.98Duplicate ReversalDo not repeat reversal; verify original reversal status; ensure idempotency.99Duplicate TransactionCheck idempotency and client retries; ensure unique transaction identifiers.N3Cash Service Not AvailableNot applicable to purchase flows; ignore unless supporting cash services.N4Cash Back Request Exceeds Issuer LimitReduce cash-back amount or remove cash-back.N7Declined for CVV2 failureRe-enter CVV; if repeated, use another card.R0Stop Payment OrderDo not retry; customer must contact issuer.R1Revocation of Authorisation OrderDo not retry; customer must contact issuer.R3Revocation of all Authorisations OrderDo not retry; customer must contact issuer.A0Withdrawal in contact modeNot applicable to e-commerce purchase flows; verify transaction type; remove cash/withdrawal feature if not supported.A1VADS fallbackRouting/fallback case: verify gateway/acquirer configuration; escalate if frequent or unexpected.000ApprovedProceed with capture / fulfillment.001Approve with IDIf supported: apply ID verification; otherwise treat as approved.002Partial approval (prepaid cards only)Handle partial approval if supported; otherwise request another method.100RejectGeneric decline: avoid retry loops; ask customer to contact issuer or use another method.101Card expired / invalid expiry dateCustomer must use another card.106PIN attempts exceededDo not retry; customer must contact issuer.107Please call issuerCustomer must contact issuer; retry only after confirmation.109Invalid merchantCheck merchant configuration and routing; escalate to support/acquirer.110Invalid amountValidate amount format/limits; retry after correction.111Invalid account / Invalid MICR (traveler’s check)Ask customer to contact issuer; use another card/method.115Requested function not supportedDisable unsupported feature/flag; verify transaction type.117Invalid PINCard-present: retry carefully; if repeated, customer contacts issuer.119Cardholder not registered / not authorizedCustomer must contact issuer; use another method.122Invalid card security code (alias CID, 4DBC, 4CSC)Re-enter security code; if repeated, use another card.125Invalid effective dateCheck date fields / terminal business date; escalate if applicable.181Format errorCheck request formatting and fields; escalate with logs if persistent.183Invalid currency codeVerify ISO currency code and acquirer configuration; correct and retry.187Refuse – New card issuedCustomer must use another card; advise contacting issuer.189Refuse – Merchant cancelled or closed / SECheck merchant status/configuration; escalate to support/acquirer.200Refuse – Pick up cardDo not retry; request another method; in-store: follow procedure if applicable.900Accepted – ATC synchronizationProceed but monitor; if repeated, escalate (potential chip/crypto sync issue).909System malfunction (cryptographic error)Escalate to support/acquirer with trace, timestamps, and logs.912Issuer not availableRetry later; if widespread, treat as issuer outage / incident. Card Disputes - Bank Return codes CB Scheme CBDescriptionGIE DISPUTE 12Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 13Merchant Forced TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 14Unauthorized TransactionTRANSACTION_NOT_AUTHORIZED 15Guarantee by Card, by Day and by SIRETTRANSACTION_NOT_AUTHORIZED 16PIN Not VerifiedTRANSACTION_NOT_AUTHORIZED 17Invalid SIRETTRANSACTION_NOT_AUTHORIZED 18Certificate Not VerifiableTRANSACTION_NOT_AUTHORIZED 21Expired CardTRANSACTION_NOT_AUTHORIZED 22Late PresentmentINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 23Missing ImprintINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 25Exceeds Transaction Amount LimitINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 27Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 28Credit Processed as DebitTRANSACTION_NOT_AUTHORIZED 40Cancelled CardINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 41Documentation Not Provided or IllegibleINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 42Duplicate ProcessingDUPLICATE 43No Such Card NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 44Disputed AmountFRAUDULENT 45Disputed TransactionFRAUDULENT 46Merchant Bankruptcy or Judicial ReorganizationINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 61Merchant Suspended or TerminatedTRANSACTION_NOT_AUTHORIZED 62Transaction Not PermittedTRANSACTION_NOT_AUTHORIZED Mastercard Scheme MASTERCARDDescriptionGIE DISPUTE 4801Requested Transaction Data Not ReceivedTRANSACTION_NOT_AUTHORIZED 4802Cardholder Does Not Recognize TransactionTRANSACTION_NOT_AUTHORIZED 4807Cardholder Disputes a CreditFRAUDULENT 4808Authorization-Related ChargebackTRANSACTION_NOT_AUTHORIZED 4809Transaction Not AuthorizedFRAUDULENT 4810Fraud — Card-Not-Present EnvironmentFRAUDULENT 4522Goods or Services Not as Described / Not ReceivedOTHER 4811Credit Not ProcessedTRANSACTION_NOT_AUTHORIZED 4812Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 4831Goods or Services Not ReceivedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4834Duplicate ProcessingDUPLICATE 4835Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4837No Cardholder Authorization (Lost/Stolen Card)FRAUDULENT 4840Fraudulent Processing of TransactionsFRAUDULENT 4841Cancelled Recurring TransactionTRANSACTION_NOT_AUTHORIZED 4842Counterfeit CardTRANSACTION_NOT_AUTHORIZED 4843Transaction Not Valid / Authorization ReversalTRANSACTION_NOT_AUTHORIZED 4846Non-Compliance With Authorization RequirementsINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4847Invalid Recurring TransactionINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 4849Duplicate ProcessingDUPLICATE 4850ATM Cash Disbursement Not AuthorizedTRANSACTION_NOT_AUTHORIZED 4851Cardholder Disputes Transaction (Offline)TRANSACTION_NOT_AUTHORIZED 4853Cardholder Disputes Transaction Not as DescribedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4854Exceeds Floor LimitPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4855Non-Receipt of Merchandise / ServicesPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 4857Cardholder Disputes Transaction — Services Not ProvidedTRANSACTION_NOT_AUTHORIZED 4859Services Not Provided / Merchandise Not ReceivedTRANSACTION_NOT_AUTHORIZED 4860Transaction Processing ErrorTRANSACTION_NOT_AUTHORIZED 4862Cardholder Disputes Transaction — Invalid AuthorizationTRANSACTION_NOT_AUTHORIZED 4863Credit Not Processed / Cash Not DispensedFRAUDULENT 4870Chip Liability Shift — Counterfeit FraudFRAUDULENT 4871Chip Liability Shift — Lost/Stolen FraudFRAUDULENT 4880Late PresentmentTRANSACTION_NOT_AUTHORIZED 4890Currency Conversion DisputeTRANSACTION_NOT_AUTHORIZED 4900Defective/Not as Described MerchandiseOTHER 4901Credit Not ProcessedOTHER 4902Merchandise Not AcceptedOTHER 4903Incorrect Merchandise DeliveredOTHER 4905Services Not ProvidedOTHER 4908Cash Not DispensedOTHER Visa Scheme VISADescriptionGIE DISPUTE 10Fraud — Card-Absent EnvironmentFRAUDULENT 11Fraud — Card-Present EnvironmentTRANSACTION_NOT_AUTHORIZED 12Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 13Fraudulent Transaction — No AuthorizationFRAUDULENT 30Services Not Provided or Merchandise Not ReceivedPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 41Credit Not ProcessedOTHER 53Not as Described or Defective MerchandiseOTHER 57Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 62Counterfeit TransactionFRAUDULENT 70Processing ErrorOTHER 71Declined AuthorizationOTHER 72Cancelled TransactionOTHER 73Duplicate ProcessingOTHER 74Credit Not ProcessedOTHER 75Transaction Not RecognizedOTHER 76Incorrect Transaction Amount or Account NumberOTHER 77Non-Receipt of MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 78Fraudulent Transaction — No Cardholder AuthorizationOTHER 80Incorrect Transaction Amount or Account NumberINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 81Fraudulent Transaction — Lost CardFRAUDULENT 82Fraudulent Transaction — Stolen CardDUPLICATE 83Fraudulent Transaction — Card-Absent EnvironmentFRAUDULENT 85Duplicate ProcessingOTHER 86Non-Compliance With AuthorizationDUPLICATE 93Late PresentmentFRAUDULENT 1001Fraud — Card-Absent Environment (E-Commerce)FRAUDULENT 1002Fraudulent Transaction — E-CommerceFRAUDULENT 1003Services Not Provided or Merchandise Not ReceivedFRAUDULENT 1004Fraudulent Transaction — No Cardholder AuthorizationFRAUDULENT 1005Not as Described or Defective MerchandiseFRAUDULENT 1101Processing Error — AuthorizationOTHER 1102Incorrect Transaction AmountOTHER 1103Exceeds Authorized AmountOTHER 1201Services Not Provided or Merchandise Not ReceivedOTHER 1202Not as Described Merchandise / ServiceOTHER 1203Recurring Transaction Not RecognizedOTHER 1204Defective MerchandiseINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1205Services Not ProvidedINCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 1206Non-Receipt of MerchandiseDUPLICATE 1207Duplicate ProcessingOTHER 1301Fraudulent Transaction — Card-Present EnvironmentPRODUCT_NOT_RECEIVED_OR_SERVICE_NOT_PROVIDED 1302Fraudulent Transaction — No Cardholder AuthorizationOTHER 1303Fraudulent Transaction — Card-Absent EnvironmentOTHER 1304Duplicate ProcessingOTHER 1305Services Not Provided or Merchandise Not ReceivedOTHER 1306Credit Not ProcessedOTHER 1307Recurring Transaction Not RecognizedOTHER 1308Transaction Processing ErrorOTHER Currency codes List of currency codes: AEDUAE DirhamCurrency code: 784AFNAfghaniCurrency code: 971ALLLekCurrency code: 008AMDArmenian DramCurrency code: 051ANGNetherlands Antillean GuilderCurrency code: 532AOAKwanzaCurrency code: 973ARSArgentine PesoCurrency code: 032AUDAustralian DollarCurrency code: 036AWGAruban FlorinCurrency code: 533AZNAzerbaijanian ManatCurrency code: 944BAMConvertible MarkCurrency code: 977BBDBarbados DollarCurrency code: 052BDTTakaCurrency code: 050BGNBulgarian LevCurrency code: 975BHDBahraini DinarCurrency code: 048BIFBurundi FrancCurrency code: 108BMDBermudian DollarCurrency code: 060BNDBrunei DollarCurrency code: 096BOBBolivianoCurrency code: 068BOVMvdolCurrency code: 984BRLBrazilian RealCurrency code: 986BSDBahamian DollarCurrency code: 044BTNNgultrumCurrency code: 064BWPPulaCurrency code: 072BYRBelarussian RubleCurrency code: 974BZDBelize DollarCurrency code: 084CADCanadian DollarCurrency code: 124CDFCongolese FrancCurrency code: 976CHEWIR EuroCurrency code: 947CHFSwiss FrancCurrency code: 756CHWWIR FrancCurrency code: 948CLFUnidad de FomentoCurrency code: 990CLPChilean PesoCurrency code: 152CNYYuan RenminbiCurrency code: 156COPColombian PesoCurrency code: 170COUUnidad de Valor RealCurrency code: 970CRCCosta Rican ColonCurrency code: 188CUCPeso ConvertibleCurrency code: 931CUPCuban PesoCurrency code: 192CVECabo Verde EscudoCurrency code: 132CZKCzech KorunaCurrency code: 203DJFDjibouti FrancCurrency code: 262DKKDanish KroneCurrency code: 208DOPDominican PesoCurrency code: 214DZDAlgerian DinarCurrency code: 012EGPEgyptian PoundCurrency code: 818ERNNakfaCurrency code: 232ETBEthiopian BirrCurrency code: 230EUREuroCurrency code: 978FJDFiji DollarCurrency code: 242FKPFalkland Islands PoundCurrency code: 238GBPPound SterlingCurrency code: 826GELLariCurrency code: 981GHSGhana CediCurrency code: 936GIPGibraltar PoundCurrency code: 292GMDDalasiCurrency code: 270GNFGuinea FrancCurrency code: 324GTQQuetzalCurrency code: 320GYDGuyana DollarCurrency code: 328HKDHong Kong DollarCurrency code: 344HNLLempiraCurrency code: 340HRKKunaCurrency code: 191HTGGourdeCurrency code: 332HUFForintCurrency code: 348IDRRupiahCurrency code: 360ILSNew Israeli SheqelCurrency code: 376INRIndian RupeeCurrency code: 356IQDIraqi DinarCurrency code: 368IRRIranian RialCurrency code: 364ISKIceland KronaCurrency code: 352JMDJamaican DollarCurrency code: 388JODJordanian DinarCurrency code: 400JPYYenCurrency code: 392KESKenyan ShillingCurrency code: 404KGSSomCurrency code: 417KHRRielCurrency code: 116KMFComoro FrancCurrency code: 174KPWNorth Korean WonCurrency code: 408KRWWonCurrency code: 410KWDKuwaiti DinarCurrency code: 414KYDCayman Islands DollarCurrency code: 136KZTTengeCurrency code: 398LAKKipCurrency code: 418LBPLebanese PoundCurrency code: 422LKRSri Lanka RupeeCurrency code: 144LRDLiberian DollarCurrency code: 430LSLLotiCurrency code: 426LYDLibyan DinarCurrency code: 434MADMoroccan DirhamCurrency code: 504MDLMoldovan LeuCurrency code: 498MGAMalagasy AriaryCurrency code: 969MKDDenarCurrency code: 807MMKKyatCurrency code: 104MNTTugrikCurrency code: 496MOPPatacaCurrency code: 446MROOuguiyaCurrency code: 478MURMauritius RupeeCurrency code: 480MVRRufiyaaCurrency code: 462MWKKwachaCurrency code: 454MXNMexican PesoCurrency code: 484MXVMexican Unidad de Inversion (UDI)Currency code: 979MYRMalaysian RinggitCurrency code: 458MZNMozambique MeticalCurrency code: 943NADNamibia DollarCurrency code: 516NGNNairaCurrency code: 566NIOCordoba OroCurrency code: 558NOKNorwegian KroneCurrency code: 578NPRNepalese RupeeCurrency code: 524NZDNew Zealand DollarCurrency code: 554OMRRial OmaniCurrency code: 512PABBalboaCurrency code: 590PENNuevo SolCurrency code: 604PGKKinaCurrency code: 598PHPPhilippine PesoCurrency code: 608PKRPakistan RupeeCurrency code: 586PLNZlotyCurrency code: 985PYGGuaraniCurrency code: 600QARQatari RialCurrency code: 634RONRomanian LeuCurrency code: 946RSDSerbian DinarCurrency code: 941RUBRussian RubleCurrency code: 643RWFRwanda FrancCurrency code: 646SARSaudi RiyalCurrency code: 682SBDSolomon Islands DollarCurrency code: 090SCRSeychelles RupeeCurrency code: 690SDGSudanese PoundCurrency code: 938SEKSwedish KronaCurrency code: 752SGDSingapore DollarCurrency code: 702SHPSaint Helena PoundCurrency code: 654SLLLeoneCurrency code: 694SOSSomali ShillingCurrency code: 706SRDSurinam DollarCurrency code: 968SSPSouth Sudanese PoundCurrency code: 728STDDobraCurrency code: 678SVCEl Salvador ColonCurrency code: 222SYPSyrian PoundCurrency code: 760SZLLilangeniCurrency code: 748THBBahtCurrency code: 764TJSSomoniCurrency code: 972TMTTurkmenistan New ManatCurrency code: 934TNDTunisian DinarCurrency code: 788TOPPa’angaCurrency code: 776TRYTurkish LiraCurrency code: 949TTDTrinidad and Tobago DollarCurrency code: 780TWDNew Taiwan DollarCurrency code: 901TZSTanzanian ShillingCurrency code: 834UAHHryvniaCurrency code: 980UGXUganda ShillingCurrency code: 800USDUS DollarCurrency code: 840USNUS Dollar (Next day)Currency code: 997UYIUruguay Peso en Unidades Indexadas (URUIURUI)Currency code: 940UYUPeso UruguayoCurrency code: 858UZSUzbekistan SumCurrency code: 860VEFBolivarCurrency code: 937VNDDongCurrency code: 704VUVVatuCurrency code: 548WSTTalaCurrency code: 882XAGSilverCurrency code: 961XAUGoldCurrency code: 959XBABond Markets Unit European Composite Unit (EURCO)Currency code: 955XBBBond Markets Unit European Monetary Unit (E.M.U.-6)Currency code: 956XBCBond Markets Unit European Unit of Account 9 (E.U.A.-9)Currency code: 957XBDBond Markets Unit European Unit of Account 17 (E.U.A.-17)Currency code: 958XCDEast Caribbean DollarCurrency code: 951XDRSDR (Special Drawing Right)Currency code: 960XOFCFA Franc BCEAOCurrency code: 952XPDPalladiumCurrency code: 964XPFCFP FrancCurrency code: 953XPTPlatinumCurrency code: 962XSUSucreCurrency code: 994XTSCodes specifically reserved for testing purposesCurrency code: 963XUAADB Unit of AccountCurrency code: 965XXXThe codes assigned for transactions where no currency is involvedCurrency code: 999YERYemeni RialCurrency code: 886ZARRandCurrency code: 710ZMWZambian KwachaCurrency code: 967ZWLZimbabwe DollarCurrency 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 CodeDescriptionAB05Timeout Creditor AgentAB06Timeout Instructed AgentAB07Offline AgentAB08Offline Creditor AgentAB09Error Creditor AgentAB10Error Instructed AgentAC01Incorrect Account NumberAC03Invalid Creditor Account NumberAC04Account ClosedAC06Account blocked, reason not specifiedAC13Wrong Debtor accountAG01Forbidden on this type of accountAG02Operation/Transaction code incorrect, invalid file formatAG09Payment Not ReceivedAG10Agent SuspendedAG11Creditor Agent SuspendedAGNTIncorrect AgentAM02Not Allowed AmountAM04Insufficient FundsAM05Duplicate paymentAM09Wrong AmountAM23Amount Exceeds Settlement LimitARDTAlready a returned transactionBE04Account address invalidBE05Creditor Identifier incorrectCUSTCustomer decisionCURRIncorrect CurrencyCUTACancellation Upon Unable to ApplyCNORCreditor Bank is not RegisteredDNORDebtor Bank is not RegisteredDUPLDuplicate PaymentED05Settlement FailedERINERI Option Not SupportedFF01Invalid File FormatFOCRPositive answer to the recall or RfROFRADFraudulent originated credit transferLEGLLegal DecisionMD01No valid mandateMD02Mandate data missing or invalidMD06Refund Request By End CustomerMD07Beneficiary DeceasedMS02By order of the beneficiaryMS03Reason not specifiedNOASNo Answer From CustomerNOORNo Original Transaction ReceivedRC01Invalid BICRC07Invalid Creditor BIC IdentifierRR01Missing Debtor Account Or IdentificationRR02Missing Debtors Name Or AddressRR03Missing Creditors Name Or AddressRR04Regulatory ReasonSL01Specific service offered by debtor BankTECHTechnical problems resulting in erroneous SCT’sTM01Invalid Cut Off TimeUPAYUndue Payment Country codes List of country codes: 004AfghanistanAlpha2 code: AFAlpha3 code: AFG008AlbaniaAlpha2 code: ALAlpha3 code: ALB010AntarcticaAlpha2 code: AQAlpha3 code: ATA012AlgeriaAlpha2 code: DZAlpha3 code: DZA016American SamoaAlpha2 code: ASAlpha3 code: ASM020AndorraAlpha2 code: ADAlpha3 code: AND024AngolaAlpha2 code: AOAlpha3 code: AGO028Antigua and BarbudaAlpha2 code: AGAlpha3 code: ATG031AzerbaijanAlpha2 code: AZAlpha3 code: AZE032ArgentinaAlpha2 code: ARAlpha3 code: ARG036AustraliaAlpha2 code: AUAlpha3 code: AUS040AustriaAlpha2 code: ATAlpha3 code: AUT044Bahamas (the)Alpha2 code: BSAlpha3 code: BHS048BahrainAlpha2 code: BHAlpha3 code: BHR050BangladeshAlpha2 code: BDAlpha3 code: BGD051ArmeniaAlpha2 code: AMAlpha3 code: ARM052BarbadosAlpha2 code: BBAlpha3 code: BRB056BelgiumAlpha2 code: BEAlpha3 code: BEL060BermudaAlpha2 code: BMAlpha3 code: BMU064BhutanAlpha2 code: BTAlpha3 code: BTN068Bolivia, Plurinational State ofAlpha2 code: BOAlpha3 code: BOL070Bosnia and HerzegovinaAlpha2 code: BAAlpha3 code: BIH072BotswanaAlpha2 code: BWAlpha3 code: BWA074Bouvet IslandAlpha2 code: BVAlpha3 code: BVT076BrazilAlpha2 code: BRAlpha3 code: BRA084BelizeAlpha2 code: BZAlpha3 code: BLZ086British Indian Ocean Territory (the)Alpha2 code: IOAlpha3 code: IOT090Solomon Islands (the)Alpha2 code: SBAlpha3 code: SLB092Virgin Islands (British)Alpha2 code: VGAlpha3 code: VGB096Brunei DarussalamAlpha2 code: BNAlpha3 code: BRN100BulgariaAlpha2 code: BGAlpha3 code: BGR104MyanmarAlpha2 code: MMAlpha3 code: MMR108BurundiAlpha2 code: BIAlpha3 code: BDI112BelarusAlpha2 code: BYAlpha3 code: BLR116CambodiaAlpha2 code: KHAlpha3 code: KHM120CameroonAlpha2 code: CMAlpha3 code: CMR124CanadaAlpha2 code: CAAlpha3 code: CAN132Cape VerdeAlpha2 code: CVAlpha3 code: CPV136Cayman Islands (the)Alpha2 code: KYAlpha3 code: CYM140Central African Republic (the)Alpha2 code: CFAlpha3 code: CAF144Sri LankaAlpha2 code: LKAlpha3 code: LKA148ChadAlpha2 code: TDAlpha3 code: TCD152ChileAlpha2 code: CLAlpha3 code: CHL156ChinaAlpha2 code: CNAlpha3 code: CHN158Taiwan (Province of China)Alpha2 code: TWAlpha3 code: TWN162Christmas IslandAlpha2 code: CXAlpha3 code: CXR166Cocos (Keeling) Islands (the)Alpha2 code: CCAlpha3 code: CCK170ColombiaAlpha2 code: COAlpha3 code: COL174ComorosAlpha2 code: KMAlpha3 code: COM175MayotteAlpha2 code: YTAlpha3 code: MYT178CongoAlpha2 code: CGAlpha3 code: COG180Congo (the Democratic Republic of the)Alpha2 code: CDAlpha3 code: COD184Cook Islands (the)Alpha2 code: CKAlpha3 code: COK188Costa RicaAlpha2 code: CRAlpha3 code: CRI191CroatiaAlpha2 code: HRAlpha3 code: HRV192CubaAlpha2 code: CUAlpha3 code: CUB196CyprusAlpha2 code: CYAlpha3 code: CYP203Czech Republic (the)Alpha2 code: CZAlpha3 code: CZE204BeninAlpha2 code: BJAlpha3 code: BEN208DenmarkAlpha2 code: DKAlpha3 code: DNK212DominicaAlpha2 code: DMAlpha3 code: DMA214Dominican Republic (the)Alpha2 code: DOAlpha3 code: DOM218EcuadorAlpha2 code: ECAlpha3 code: ECU222El SalvadorAlpha2 code: SVAlpha3 code: SLV226Equatorial GuineaAlpha2 code: GQAlpha3 code: GNQ231EthiopiaAlpha2 code: ETAlpha3 code: ETH232EritreaAlpha2 code: ERAlpha3 code: ERI233EstoniaAlpha2 code: EEAlpha3 code: EST234Faroe Islands (the)Alpha2 code: FOAlpha3 code: FRO238Falkland Islands (the) [Malvinas]Alpha2 code: FKAlpha3 code: FLK239South Georgia and the South Sandwich IslandsAlpha2 code: GSAlpha3 code: SGS242FijiAlpha2 code: FJAlpha3 code: FJI246FinlandAlpha2 code: FIAlpha3 code: FIN248Ã…land IslandsAlpha2 code: AXAlpha3 code: ALA250FranceAlpha2 code: FRAlpha3 code: FRA254French GuianaAlpha2 code: GFAlpha3 code: GUF258French PolynesiaAlpha2 code: PFAlpha3 code: PYF260French Southern Territories (the)Alpha2 code: TFAlpha3 code: ATF262DjiboutiAlpha2 code: DJAlpha3 code: DJI266GabonAlpha2 code: GAAlpha3 code: GAB268GeorgiaAlpha2 code: GEAlpha3 code: GEO270Gambia (The)Alpha2 code: GMAlpha3 code: GMB275Palestine, State ofAlpha2 code: PSAlpha3 code: PSE276GermanyAlpha2 code: DEAlpha3 code: DEU288GhanaAlpha2 code: GHAlpha3 code: GHA292GibraltarAlpha2 code: GIAlpha3 code: GIB296KiribatiAlpha2 code: KIAlpha3 code: KIR300GreeceAlpha2 code: GRAlpha3 code: GRC304GreenlandAlpha2 code: GLAlpha3 code: GRL308GrenadaAlpha2 code: GDAlpha3 code: GRD312GuadeloupeAlpha2 code: GPAlpha3 code: GLP316GuamAlpha2 code: GUAlpha3 code: GUM320GuatemalaAlpha2 code: GTAlpha3 code: GTM324GuineaAlpha2 code: GNAlpha3 code: GIN328GuyanaAlpha2 code: GYAlpha3 code: GUY332HaitiAlpha2 code: HTAlpha3 code: HTI334Heard Island and McDonald IslandsAlpha2 code: HMAlpha3 code: HMD336Holy See (the) [Vatican City State]Alpha2 code: VAAlpha3 code: VAT340HondurasAlpha2 code: HNAlpha3 code: HND344Hong KongAlpha2 code: HKAlpha3 code: HKG348HungaryAlpha2 code: HUAlpha3 code: HUN352IcelandAlpha2 code: ISAlpha3 code: ISL356IndiaAlpha2 code: INAlpha3 code: IND360IndonesiaAlpha2 code: IDAlpha3 code: IDN364Iran (the Islamic Republic of)Alpha2 code: IRAlpha3 code: IRN368IraqAlpha2 code: IQAlpha3 code: IRQ372IrelandAlpha2 code: IEAlpha3 code: IRL376IsraelAlpha2 code: ILAlpha3 code: ISR380ItalyAlpha2 code: ITAlpha3 code: ITA384Ivory coastAlpha2 code: CIAlpha3 code: CIV388JamaicaAlpha2 code: JMAlpha3 code: JAM392JapanAlpha2 code: JPAlpha3 code: JPN398KazakhstanAlpha2 code: KZAlpha3 code: KAZ400JordanAlpha2 code: JOAlpha3 code: JOR404KenyaAlpha2 code: KEAlpha3 code: KEN408Korea (the Democratic People’s Republic of)Alpha2 code: KPAlpha3 code: PRK410Korea (the Republic of)Alpha2 code: KRAlpha3 code: KOR414KuwaitAlpha2 code: KWAlpha3 code: KWT417KyrgyzstanAlpha2 code: KGAlpha3 code: KGZ418Lao People’s Democratic Republic (the)Alpha2 code: LAAlpha3 code: LAO422LebanonAlpha2 code: LBAlpha3 code: LBN426LesothoAlpha2 code: LSAlpha3 code: LSO428LatviaAlpha2 code: LVAlpha3 code: LVA430LiberiaAlpha2 code: LRAlpha3 code: LBR434LibyaAlpha2 code: LYAlpha3 code: LBY438LiechtensteinAlpha2 code: LIAlpha3 code: LIE440LithuaniaAlpha2 code: LTAlpha3 code: LTU442LuxembourgAlpha2 code: LUAlpha3 code: LUX446MacaoAlpha2 code: MOAlpha3 code: MAC450MadagascarAlpha2 code: MGAlpha3 code: MDG454MalawiAlpha2 code: MWAlpha3 code: MWI458MalaysiaAlpha2 code: MYAlpha3 code: MYS462MaldivesAlpha2 code: MVAlpha3 code: MDV466MaliAlpha2 code: MLAlpha3 code: MLI470MaltaAlpha2 code: MTAlpha3 code: MLT474MartiniqueAlpha2 code: MQAlpha3 code: MTQ478MauritaniaAlpha2 code: MRAlpha3 code: MRT480MauritiusAlpha2 code: MUAlpha3 code: MUS484MexicoAlpha2 code: MXAlpha3 code: MEX492MonacoAlpha2 code: MCAlpha3 code: MCO496MongoliaAlpha2 code: MNAlpha3 code: MNG498Moldova (the Republic of)Alpha2 code: MDAlpha3 code: MDA499MontenegroAlpha2 code: MEAlpha3 code: MNE500MontserratAlpha2 code: MSAlpha3 code: MSR504MoroccoAlpha2 code: MAAlpha3 code: MAR508MozambiqueAlpha2 code: MZAlpha3 code: MOZ512OmanAlpha2 code: OMAlpha3 code: OMN516NamibiaAlpha2 code: NAAlpha3 code: NAM520NauruAlpha2 code: NRAlpha3 code: NRU524NepalAlpha2 code: NPAlpha3 code: NPL528Netherlands (the)Alpha2 code: NLAlpha3 code: NLD531CuracaoAlpha2 code: CWAlpha3 code: CUW533ArubaAlpha2 code: AWAlpha3 code: ABW534Sint Maarten (Dutch part)Alpha2 code: SXAlpha3 code: SXM535Bonaire, Sint Eustatius and SabaAlpha2 code: BQAlpha3 code: BES540New CaledoniaAlpha2 code: NCAlpha3 code: NCL548VanuatuAlpha2 code: VUAlpha3 code: VUT554New ZealandAlpha2 code: NZAlpha3 code: NZL558NicaraguaAlpha2 code: NIAlpha3 code: NIC562Niger (the)Alpha2 code: NEAlpha3 code: NER566NigeriaAlpha2 code: NGAlpha3 code: NGA570NiueAlpha2 code: NUAlpha3 code: NIU574Norfolk IslandAlpha2 code: NFAlpha3 code: NFK578NorwayAlpha2 code: NOAlpha3 code: NOR580Northern Mariana Islands (the)Alpha2 code: MPAlpha3 code: MNP581United States Minor Outlying Islands (the)Alpha2 code: UMAlpha3 code: UMI583Micronesia (the Federated States of)Alpha2 code: FMAlpha3 code: FSM584Marshall Islands (the)Alpha2 code: MHAlpha3 code: MHL585PalauAlpha2 code: PWAlpha3 code: PLW586PakistanAlpha2 code: PKAlpha3 code: PAK591PanamaAlpha2 code: PAAlpha3 code: PAN598Papua New GuineaAlpha2 code: PGAlpha3 code: PNG600ParaguayAlpha2 code: PYAlpha3 code: PRY604PeruAlpha2 code: PEAlpha3 code: PER608Philippines (the)Alpha2 code: PHAlpha3 code: PHL612PitcairnAlpha2 code: PNAlpha3 code: PCN616PolandAlpha2 code: PLAlpha3 code: POL620PortugalAlpha2 code: PTAlpha3 code: PRT624Guinea-BissauAlpha2 code: GWAlpha3 code: GNB626Timor-LesteAlpha2 code: TLAlpha3 code: TLS630Puerto RicoAlpha2 code: PRAlpha3 code: PRI634QatarAlpha2 code: QAAlpha3 code: QAT638RéunionAlpha2 code: REAlpha3 code: REU642RomaniaAlpha2 code: ROAlpha3 code: ROU643Russian Federation (the)Alpha2 code: RUAlpha3 code: RUS646RwandaAlpha2 code: RWAlpha3 code: RWA652Saint BarthélemyAlpha2 code: BLAlpha3 code: BLM654Saint Helena, Ascension and Tristan da CunhaAlpha2 code: SHAlpha3 code: SHN659Saint Kitts and NevisAlpha2 code: KNAlpha3 code: KNA660AnguillaAlpha2 code: AIAlpha3 code: AIA662Saint LuciaAlpha2 code: LCAlpha3 code: LCA663Saint Martin (French part)Alpha2 code: MFAlpha3 code: MAF666Saint Pierre and MiquelonAlpha2 code: PMAlpha3 code: SPM670Saint Vincent and the GrenadinesAlpha2 code: VCAlpha3 code: VCT674San MarinoAlpha2 code: SMAlpha3 code: SMR678Sao Tome and PrincipeAlpha2 code: STAlpha3 code: STP682Saudi ArabiaAlpha2 code: SAAlpha3 code: SAU686SenegalAlpha2 code: SNAlpha3 code: SEN688SerbiaAlpha2 code: RSAlpha3 code: SRB690SeychellesAlpha2 code: SCAlpha3 code: SYC694Sierra LeoneAlpha2 code: SLAlpha3 code: SLE702SingaporeAlpha2 code: SGAlpha3 code: SGP703SlovakiaAlpha2 code: SKAlpha3 code: SVK704Viet NamAlpha2 code: VNAlpha3 code: VNM705SloveniaAlpha2 code: SIAlpha3 code: SVN706SomaliaAlpha2 code: SOAlpha3 code: SOM710South AfricaAlpha2 code: ZAAlpha3 code: ZAF716ZimbabweAlpha2 code: ZWAlpha3 code: ZWE724SpainAlpha2 code: ESAlpha3 code: ESP728South SudanAlpha2 code: SSAlpha3 code: SSD729Sudan (the)Alpha2 code: SDAlpha3 code: SDN732Western SaharaAlpha2 code: EHAlpha3 code: ESH740SurinameAlpha2 code: SRAlpha3 code: SUR744Svalbard and Jan MayenAlpha2 code: SJAlpha3 code: SJM748SwazilandAlpha2 code: SZAlpha3 code: SWZ752SwedenAlpha2 code: SEAlpha3 code: SWE756SwitzerlandAlpha2 code: CHAlpha3 code: CHE760Syrian Arab Republic (the)Alpha2 code: SYAlpha3 code: SYR762TajikistanAlpha2 code: TJAlpha3 code: TJK764ThailandAlpha2 code: THAlpha3 code: THA768TogoAlpha2 code: TGAlpha3 code: TGO772TokelauAlpha2 code: TKAlpha3 code: TKL776TongaAlpha2 code: TOAlpha3 code: TON780Trinidad and TobagoAlpha2 code: TTAlpha3 code: TTO784United Arab Emirates (the)Alpha2 code: AEAlpha3 code: ARE788TunisiaAlpha2 code: TNAlpha3 code: TUN792TurkeyAlpha2 code: TRAlpha3 code: TUR795TurkmenistanAlpha2 code: TMAlpha3 code: TKM796Turks and Caicos Islands (the)Alpha2 code: TCAlpha3 code: TCA798TuvaluAlpha2 code: TVAlpha3 code: TUV800UgandaAlpha2 code: UGAlpha3 code: UGA804UkraineAlpha2 code: UAAlpha3 code: UKR807Macedonia (the former Yugoslav Republic of)Alpha2 code: MKAlpha3 code: MKD818EgyptAlpha2 code: EGAlpha3 code: EGY826United Kingdom (the)Alpha2 code: GBAlpha3 code: GBR831GuernseyAlpha2 code: GGAlpha3 code: GGY832JerseyAlpha2 code: JEAlpha3 code: JEY833Isle of ManAlpha2 code: IMAlpha3 code: IMN834Tanzania, United Republic ofAlpha2 code: TZAlpha3 code: TZA840United States (the)Alpha2 code: USAlpha3 code: USA850Virgin Islands (U.S.)Alpha2 code: VIAlpha3 code: VIR854Burkina FasoAlpha2 code: BFAlpha3 code: BFA858UruguayAlpha2 code: UYAlpha3 code: URY860UzbekistanAlpha2 code: UZAlpha3 code: UZB862Venezuela, Bolivarian Republic ofAlpha2 code: VEAlpha3 code: VEN876Wallis and FutunaAlpha2 code: WFAlpha3 code: WLF882SamoaAlpha2 code: WSAlpha3 code: WSM887YemenAlpha2 code: YEAlpha3 code: YEM894Zambia Alpha2 code: ZMAlpha3 code: ZMB Transfer purpose codes ACCT : AccountManagementADCS : AdvisoryDonationCopyrightServicesADMG : AdministrativeManagementADVA : AdvancePaymentAEMP : ActiveEmploymentPolicyAGRT : AgriculturalTransferAIRB : AirALLW : AllowanceALMY : AlimonyPaymentAMEX : AmexANNI : AnnuityANTS : AnesthesiaServicesAREN : AccountsReceivablesEntryAUCO : AuthenticatedCollectionsB112 : TrailerFeePaymentBBSC : BabyBonusSchemeBCDM : BearerChequeDomesticBCFG : BearerChequeForeignBECH : ChildBenefitBENE : UnemploymentDisabilityBenefitBEXP : BusinessExpensesBFWD : BondForwardBKDF : BankLoanDelayedDrawFundingBKFE : BankLoanFeesBKFM : BankLoanFundingMemoBKIP : BankLoanAccruedInterestPaymentBKPP : BankLoanPrincipalPaydownBLDM : BuildingMaintenanceBNET : BondForwardNettingBOCE : BackOfficeConversionEntryBOND : BondsBONU : BonusPayment.BR12 : TrailerFeeRebateBUSB : BusCABD : CorporateActions-BondsCAEQ : CorporateActions-EquitiesCAFI : CustodianManagementFeeInhouseCASH : CashManagementTransferCBCR : CreditCardCBFF : CapitalBuildingCBFR : CapitalBuildingRetirementCBLK : CardBulkClearingCBTV : CableTVBillCCHD : CashCompensationHelplessnessDisabilityCCIR : CrossCurrencyIRSCCPC : CCPClearedInitialMarginCCPM : CCPClearedVariationMarginCCRD : CreditCardPaymentCCSM : CCPClearedInitialMarginSegregatedCashCDBL : CreditCardBillCDCB : CardPaymentWithCashBackCDCD : CashDisbursementCashSettlementCDCS : CashDisbursementWithSurchargingCDDP : CardDeferredPaymentCDEP : CreditDefaultEventPaymentCDOC : OriginalCreditCDQC : QuasiCashCFDI : CapitalFallingDueInhouseCFEE : CancellationFeeCGDD : CardGeneratedDirectDebitCHAR : CharityPaymentCLPR : CarLoanPrincipalRepaymentCMDT : CommodityTransferCOLL : CollectionPaymentCOMC : CommercialPaymentCOMM : CommissionCOMP : CompensationPaymentCOMT : ConsumerThirdPartyConsolidatedPaymentCORT : TradeSettlementPaymentCOST : CostsCPEN : CashPenaltiesCPKC : CarparkChargesCPYR : CopyrightCRDS : CreditDefaultSwapCRPR : CrossProductCRSP : CreditSupportCRTL : CreditLineCSDB : CashDisbursementCashManagementCSLP : CompanySocialLoanPaymentToBankCVCF : ConvalescentCareFacilityDBCR : DebitCardDBTC : DebitCollectionPaymentDCRD : DebitCardPaymentDEBT : ChargesBorneByDebtorDEPD : DependentSupportPaymentDEPT : DepositDERI : DerivativesDICL : DinersDIVD : DividendDMEQ : DurableMedicaleEquipmentDNTS : DentalServicesDSMT : PrintedOrderDisbursementDVPM : DeliverAgainstPaymentECPG : GuaranteedEPaymentECPR : EPaymentReturnECPU : NonGuaranteedEPaymentEDUC : EducationEFTC : LowValueCreditEFTD : LowValueDebitELEC : ElectricityBillENRG : EnergiesEPAY : EpaymentEQPT : EquityOptionEQTS : EquitiesEQUS : EquitySwapESTX : EstateTaxETUP : EPurseTopUpEXPT : ExoticOptionEXTD : ExchangeTradedDerivativesFACT : FactorUpdateRelatedPaymentFAND : FinancialAidInCaseOfNaturalDisasterFCOL : FeeCollectionFCPM : LatePaymentOfFeesAndChargesFEES : PaymentOfFeesFERB : FerryFIXI : FixedIncomeFLCR : FleetCardFNET : FuturesNettingPaymentFORW : ForwardForeignExchangeFREX : ForeignExchangeFUTR : FuturesFWBC : ForwardBrokerOwnedCashCollateralFWCC : ForwardClientOwnedCashCollateralFWLV : ForeignWorkerLevyFWSB : ForwardBrokerOwnedCashCollateralSegregatedFWSC : ForwardClientOwnedSegregatedCashCollateralFXNT : ForeignExchangeRelatedNettingGAFA : GovernmentFamilyAllowanceGAHO : GovernmentHousingAllowanceGAMB : GamblingOrWageringPaymentGASB : GasBillGDDS : PurchaseSaleOfGoodsGDSV : PurchaseSaleOfGoodsAndServicesGFRP : GuaranteeFundRightsPaymentGIFT : GiftGOVI : GovernmentInsuranceGOVT : GovernmentPaymentGSCB : PurchaseSaleOfGoodsAndServicesWithCashBackGSTX : GoodsServicesTaxGVEA : AustrianGovernmentEmployeesCategoryAGVEB : AustrianGovernmentEmployeesCategoryBGVEC : AustrianGovernmentEmployeesCategoryCGVED : AustrianGovernmentEmployeesCategoryDGWLT : GovermentWarLegislationTransferHEDG : HedgingHLRP : PropertyLoanRepaymentHLST : PropertyLoanSettlementHLTC : HomeHealthCareHLTI : HealthInsuranceHREC : HousingRelatedContributionHSPC : HospitalCareHSTX : HousingTaxICCP : IrrevocableCreditCardPaymentICRF : IntermediateCareFacilityIDCP : IrrevocableDebitCardPaymentIHRP : InstalmentHirePurchaseAgreementINPC : InsurancePremiumCarINPR : InsurancePremiumRefundINSC : PaymentOfInsuranceClaimINSM : InstallmentINSU : InsurancePremiumINTC : IntraCompanyPaymentINTE : InterestINTP : IntraPartyPaymentINTX : IncomeTaxINVS : InvestmentAndSecuritiesIPAY : InstantPaymentsIPCA : InstantPaymentsCancellationIPDO : InstantPaymentsForDonationsIPEA : InstantPaymentsInECommerceWithoutAddressDataIPEC : InstantPaymentsInECommerceWithAddressDataIPEW : InstantPaymentsInECommerceIPPS : InstantPaymentsAtPOSIPRT : InstantPaymentsReturnIPU2 : InstantPaymentsUnattendedVendingMachineWith2FAIPUW : InstantPaymentsUnattendedVendingMachineWithout2FAIVPT : InvoicePaymentLBIN : LendingBuyInNettingLBRI : LaborInsuranceLCOL : LendingCashCollateralFreeMovementLFEE : LendingFeesLICF : LicenseFeeLIFI : LifeInsuranceLIMA : LiquidityManagementLMEQ : LendingEquityMarkedToMarketCashCollateralLMFI : LendingFixedIncomeMarkedToMarketCashCollateralLMRK : LendingUnspecifiedTypeOfMarkedToMarketCashCollateralLOAN : LoanLOAR : LoanRepaymentLOTT : LotteryPaymentLREB : LendingRebatePaymentsLREV : LendingRevenuePaymentsLSFL : LendingClaimPaymentLTCF : LongTermCareFacilityMAFC : MedicalAidFundContributionMARF : MedicalAidRefundMARG : DailyMarginOnListedDerivativesMBSB : MBSBrokerOwnedCashCollateralMBSC : MBSClientOwnedCashCollateralMCDM : MultiCurrenyChequeDomesticMCFG : MultiCurrenyChequeForeignMDCS : MedicalServicesMGCC : FuturesInitialMarginMGSC : FuturesInitialMarginClientOwnedSegregatedCashCollateralMOMA : MoneyMarketMP2B : MobileP2BPaymentMP2P : MobileP2PPaymentMSVC : MultipleServiceTypesMTUP : MobileTopUpNETT : NettingNITX : NetIncomeTaxNOWS : NotOtherwiseSpecifiedNWCH : NetworkChargeNWCM : NetworkCommunicationOCCC : ClientOwnedOCCPledgedCollateralOCDM : OrderChequeDomesticOCFG : OrderChequeForeignOFEE : OpeningFeeOPBC : OTCOptionBrokerOwnedCashCollateralOPCC : OTCOptionClientOwnedCashCollateralOPSB : OTCOptionBrokerOwnedSegregatedCashCollateralOPSC : OTCOptionClientOwnedCashSegregatedCashCollateralOPTN : FXOptionOTCD : OTCDerivativesOTHR : OtherOTLC : OtherTelecomRelatedBillPADD : PreauthorizedDebitPAYR : PayrollPCOM : PropertyCompletionPaymentPDEP : PropertyDepositPEFC : PensionFundContributionPENO : PaymentBasedOnEnforcementOrderPENS : PensionPaymentPHON : TelephoneBillPLDS : PropertyLoanDisbursementPLRF : PropertyLoanRefinancingPOPE : PointOfPurchaseEntryPPTI : PropertyInsurancePRCP : PricePaymentPRME : PreciousMetalPTSP : PaymentTermsPTXP : PropertyTaxRAPI : RapidPaymentInstructionRCKE : RepresentedCheckEntryRCPT : ReceiptPaymentRDTX : RoadTaxREBT : RebateREFU : RefundRELG : RentalLeaseGeneralRENT : RentREOD : AccountOverdraftRepaymentREPO : RepurchaseAgreementRETL : RetailPaymentRHBS : RehabilitationSupportRIMB : ReimbursementOfAPreviousErroneousTransactionRINP : RecurringInstallmentPaymentRLWY : RailwayROYA : RoyaltiesRPBC : BilateralRepoBrokerOwnedCollateralRPCC : RepoClientOwnedCollateralRPNT : BilateralRepoInternetNettingRPSB : BilateralRepoBrokerOwnedSegregatedCashCollateralRPSC : BilateralRepoClientOwnedSegregatedCashCollateralRRBN : RoundRobinRRCT : ReimbursementReceivedCreditTransferRRTP : RelatedRequestToPayRVPM : ReceiveAgainstPaymentRVPO : ReverseRepurchaseAgreementSALA : SalaryPaymentSASW : ATMSAVG : SavingsSBSC : SecuritiesBuySellSellBuyBackSCIE : SingleCurrencyIRSExoticSCIR : SingleCurrencyIRSSCRP : SecuritiesCrossProductsSCVE : PurchaseSaleOfServicesSECU : SecuritiesSEPI : SecuritiesPurchaseInhouseSERV : ServiceChargesSHBC : BrokerOwnedCollateralShortSaleSHCC : ClientOwnedCollateralShortSaleSHSL : ShortSellSLEB : SecuritiesLendingAndBorrowingSLOA : SecuredLoanSLPI : PaymentSlipInstructionSPLT : SplitPaymentsSPSP : SalaryPensionSumPaymentSSBE : SocialSecurityBenefitSTDY : StudySUBS : SubscriptionSUPP : SupplierPaymentSWBC : SwapBrokerOwnedCashCollateralSWCC : SwapClientOwnedCashCollateralSWFP : SwapContractFinalPaymentSWPP : SwapContractPartialPaymentSWPT : SwaptionSWRS : SwapContractResetPaymentSWSB : SwapsBrokerOwnedSegregatedCashCollateralSWSC : SwapsClientOwnedSegregatedCashCollateralSWUF : SwapContractUpfrontPaymentTAXR : TaxRefundTAXS : TaxPaymentTBAN : TBAPairOffNettingTBAS : ToBeAnnouncedTBBC : TBABrokerOwnedCashCollateralTBCC : TBAClientOwnedCashCollateralTBIL : TelecommunicationsBillTCSC : TownCouncilServiceChargesTELI : TelephoneInitiatedTransactionTLRF : NonUSMutualFundTrailerFeePaymentTLRR : NonUSMutualFundTrailerFeeRebatePaymentTMPG : TMPGClaimPaymentTPRI : TriPartyRepoInterestTPRP : TriPartyRepoNettingTRAD : CommercialTRCP : TreasuryCrossProductTREA : TreasuryPaymentTRFD : TrustFundTRNC : TruncatedPaymentSlipTRPT : RoadPricingTRVC : TravellerChequeUBIL : UtilitiesUNIT : UnitTrustPurchaseVATX : ValueAddedTaxPaymentVIEW : VisionCareWEBI : InternetInitiatedTransactionWHLD : WithHoldingWTER : WaterBill SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary PaymentTREA(1) (2)Treasury PaymentADVA(2)Advance PaymentAGRT(2)Agricultural TransferALMY(2)Alimony PaymentBECH(2)Child BenefitBENE(2)Unemployment Disability BenefitBONU(2)Bonus PaymentCASH(1) (2)Cash Management TransferCBFF(2)Capital BuildingCHAR(2)Charity PaymentCOLL(2)Collection PaymentCMDT(2)Commodity TransferCOMC(2)Commercial PaymentCOMM(2)CommissionCOST(2)CostsCPYR(2)CopyrightDIVI(1) (2)DividendFREX(2)Foreign ExchangeGDDS(2)Purchase Sale Of GoodsGOVT(1) (2)Gouvernment PaymentIHRP(2)Instalment Hire Purchase AgreementINTC(1) (2)Intra Company PaymentINSU(2)Insurance PremiumINTE(1) (2)InterestLIFC(2)Licence FeeLOAN(1) (2)LoanLOAR(2)Loan RepaymentNETT(2)NettingPAYR(2)Payment RollPENS(1) (2)PensionREFU (2)RefundRENT(2)RentROYA(2)RoyaltiesSCVE(2)Purchase Sale Of ServicesSECU(1) (2)SecuritiesSSBE(1) (2)Social Security BenefitSUBS(2)SubscriptionTAXS(1) (2)Tax PaymentCOMT(2)Consumer Third Party Consolidated PaymentDBTC(2)Debit Collection PaymentSUPP(1) (2)Supplier PaymentHEDG(1) (2)HedgingMSVC(2)Multiple Service TypesNOWS(2)Not Otherwise SpecifiedCARD(2)Card PaymentCDBL(2)Credit Card BillFERB(2)FerryAIRB(2)AirBUSB(2)BusRLWY(2)RailwayCVCF(2)Convalescent Care FacilityDNTS(2)Dental ServicesANTS(2)Anesthesia ServicesHLTC(2)Home Health CareHSPC(2)Hospital CareICRF(2)Intermediate Care FacilityLTCF(2)Long Term Care FacilityMDCS(2)Medical ServicesVIEW(2)Vision CareDMEQ(2)Durable Medicale EquipmentCBTV(2)Cable TV BillELEC(2)Electricity BillGASB(2)Gas BillPHON(2)Telephone BillOTLC(2)Other Telecom Related BillWTER(2)Water BillSTDY(2)StudyPRCP(2)Price PaymentINSM(2)InstallmentRINP(2)Recurring Installment PaymentOFEE(2)Opening FeeCFEE(2)Cancellation FeeGOVI(2)Government InsuranceINPC(2)Insurance Premium CarLBRI(2)Labor InsuranceLIFI(2)Life InsurancePPTI(2)Property InsuranceHLTI(2)Health InsuranceCLPR(2)Car Loan Principal RepaymentESTX(2)Estate TaxHLRP(2)Housing Loan RepaymentCSLP(2)Company Social Loan Payment To BankHSTX(2)Housing TaxINTX(2)Income TaxNITX(2)Net Income TaxNWCH(2)Network ChargeNWCM(2)Network CommunicationBEXP(2)Business ExpensesTRFD(2)Trust FundRCPT(2)ReceiptPTSP(2)Payment TermsOTHR(2)OtherWHLD(1)(2)With HoldingCORT(1)Trade Settlement PaymentVATX(1)Value Added Tax PaymentTRAD(1)Trade Error codes ErrorDetails ATTRIBUTESerrorCodeCode 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 values101MESSAGE_RECEIVED_INVALID102MESSAGE_VERSION_NUMBER_NOT_SUPPORTED103SENT_MESSAGES_LIMIT_EXCEEDED201REQUIRED_ELEMENT_MISSING202CRITICAL_MESSAGE_EXTENSION_NOT_RECOGNIZED203FORMAT_ON_ONE_OR_MORE_ELEMENTS_INVALID_ACCORDING_SPECS204DUPLICATE_DATA_ELEMENT301TRANSACTION_ID_NOT_RECOGNIZED302DATA_DECRYPTION_FAILURE303ACCESS_DENIED_INVALID_ENDPOINT304ISO_CODE_NOT_VALID305TRANSACTION_DATA_NOT_VALID306MCC_NOT_VALID_FOR_PAYMENT_SYSTEM307SERIAL_NUMBER_NOT_VALID402TRANSACTION_TIMED_OUT403TRANSIENT_SYSTEM_FAILURE404PERMANENT_SYSTEM_FAILURE405SYSTEM_CONNECTION_FAILURE911DATA_FIELDS_RELEVANCE_CHECK_FAILURE912DUPLICATED_TRANSACTION_ID ErrorComponent possible values« C »THREE_DS_SDK« S »THREE_DS_SERVER« D »DIRECTORY_SERVER« A »ACCESS_CONTROL_SERVER
Test values Articles Test IBAN values Test cards Values Test IBAN values Find below the list of HTTP return codes: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.
Test values Articles Test IBAN values Test cards Values Test IBAN values Find below the list of HTTP return codes: DE75512108001245126199SOGEDEFFXXXFR7630004000031234567890143BNPAFRPPXXXAT483200000012345864RLNWATWWXXXBE71096123456769GKCCBEBBAL35202111090000000001234567SGSBALTXEE471000001020145685EEUHEE2XES7921000813610123456789CAIXESBBXXX Test cards Values This page provides a list of test card PANs you can use to validate your CentralPay integration. Each PAN below triggers a predictable scenario (bank refusal, 3DS authentication outcome, or card attributes such as EEA / region / product type). Note: 3DS outcome values (transStatus such as Y, C, D, I, N…) are described in the dedicated 3DS 2.2 BRW documentation. Card details to use: for all test PANs on this page, the expiry date and CVC values are free. The only requirement is that the expiry date must be later than today’s date. The CVC must be 3 digits (for example: 123). Legend: ✅ Success · ❌ Bank refusal · ⛔ 3DS refused · 🛡️ 3DS · 🔒 3DS Challenge · 🔁 3DS Decoupled · ℹ️ 3DS Info · 🧭 Attributes Quick test cards (most common scenarios) PANScenarioWhat you should observe4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)Authorization succeeds with a successful 3DS authentication.4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)Challenge flow expected (you must complete the challenge step to proceed).4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowDecoupled authentication scenario (handling depends on your 3DS implementation).4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)The API responds with HTTP 200, but the 3DS authentication is refused (transStatus = N) and the payment is declined.4000 0000 0000 0077❌ Bank refusal – Insufficient funds (51)Authorization is refused with bank return code 51 (Insufficient funds).4000 0000 0000 0085❌ Bank refusal – Do not honor (5)Authorization is refused with bank return code 5 (Do not honor / refused). Bank refusal PANs: these PANs are refused at the bank authorization stage regardless of the authentication flow. Visa Card numbers 1) Bank refusals (regardless of the authentication flow) PANScenarioDescription4000 0000 0000 0051❌ Card lost (41)This PAN simulates a bank refusal with return code 41 (Card lost), regardless of the authentication flow.4000 0000 0000 0069❌ Fraud suspicion (59)This PAN simulates a bank refusal with return code 59 (Fraud suspicion), regardless of the authentication flow.4000 0000 0000 0077❌ Insufficient funds (51)This PAN simulates a bank refusal with return code 51 (Insufficient funds), regardless of the authentication flow.4000 0000 0000 0085❌ Do not honor / refused (5)This PAN simulates a bank refusal with return code 5 (Do not honor / refused), regardless of the authentication flow. 2) 3DS scenarios These PANs are designed to reproduce specific 3DS outcomes (transStatus). If transStatus = C, a challenge flow is expected and must be completed. If transStatus = N, the 3DS authentication is refused and the payment is declined. PANScenarioDescription4556 5579 5572 6624✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).4916 9940 6425 2017🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4024 0071 7987 2394🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.4234 6319 8242 8908ℹ️🛡️ 3DS information only (transStatus = I)This PAN simulates a 3DS authentication with transStatus = I (Information only), to validate how you handle an informational 3DS outcome.4234 6319 8242 8916🔁🛡️ 3DS decoupled (transStatus = D) – application flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using an application flow.4234 6319 8242 8924🔁🛡️ 3DS decoupled (transStatus = D) – browser flowThis PAN simulates a 3DS decoupled authentication outcome (transStatus = D) using a browser flow.4556 1041 6038 2032⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 3) Card attributes simulation (EEA / region / productType / cardType) These PANs are designed to simulate card metadata (EEA / region / productType / cardType). Use them to validate your business rules, reporting, segmentation, or routing logic based on card attributes. PANAttributes returnedDescription4032 0389 8296 2700🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBITThis PAN simulates an EEA consumer debit card in Europe.4032 0343 8883 4767🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDITThis PAN simulates an EEA consumer credit card in Europe.4020 0280 0191 2012🧭 EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates an EEA consumer card in Europe with cardType=UNKNOWN.4032 0337 9569 2248🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.4032 0368 1354 0364🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDITThis PAN simulates an EEA corporate credit card in Europe.4032 0387 5662 0096🧭 EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates an EEA corporate card in Europe with cardType=UNKNOWN.4032 0358 5604 7592🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and DEBIT.4032 0302 9068 3219🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDITThis PAN simulates an EEA card in Europe with productType=UNKNOWN and CREDIT.4032 0377 5134 3001🧭 EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates an EEA card in Europe with productType=UNKNOWN and cardType=UNKNOWN.4032 0307 5488 6225🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in USA/CANADA.4032 0310 2547 6341🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in USA/CANADA.4032 0341 4311 3978🧭 EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWNThis PAN simulates a non-EEA consumer card in USA/CANADA with cardType=UNKNOWN.4032 0309 5816 7398🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in USA/CANADA.4032 0375 4480 7536🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDITThis PAN simulates a non-EEA corporate credit card in USA/CANADA.4032 0366 9148 7225🧭 EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWNThis PAN simulates a non-EEA corporate card in USA/CANADA with cardType=UNKNOWN.4032 0325 8917 3860🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and DEBIT.4032 0388 0897 9557🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDITThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and CREDIT.4032 0374 2147 1240🧭 EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWNThis PAN simulates a non-EEA card in USA/CANADA with productType=UNKNOWN and cardType=UNKNOWN. Mastercard Card numbers 1) 3DS scenarios PANScenarioDescription5333 2591 5564 3223✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).5306 8899 4283 3340🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5187 4346 4359 3002🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.5328 7203 8458 2224⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType / cardType) PANAttributes returnedDescription5517 4500 0000 0168🧭 EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDITThis PAN simulates a non-EEA consumer credit card in the US.5223 8599 0000 0174🧭 EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBITThis PAN simulates a non-EEA corporate debit card in the US.5325 0900 0000 0115🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5325 0900 0000 0008🧭 EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBITThis PAN simulates an EEA corporate debit card in Europe.5486 7467 7300 0005🧭 EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUSThis PAN simulates a non-EEA consumer debit card with Country=RUS.5588 1000 0000 0007🧭 EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in CEMEA.5122 9400 0000 0009🧭 EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBITThis PAN simulates a non-EEA consumer debit card in LATIN_AMERICA. Amex Card numbers 1) 3DS scenarios PANScenarioDescription3415 0209 8634 895✅🛡️ 3DS success (transStatus = Y)This PAN simulates a successful authorization with a successful 3DS authentication (transStatus = Y).3486 3826 7931 507🔒🛡️ 3DS challenge required (transStatus = C)This PAN simulates a 3DS authentication requiring a challenge (transStatus = C). You must complete the challenge step to proceed.3456 9539 9207 589⛔🛡️ 3DS authentication refused (transStatus = N)This PAN triggers a 3DS authentication flow that is refused (transStatus = N). The API responds with HTTP 200 but the payment is declined. 2) Card attributes simulation (EEA / region / productType) PANAttributes returnedDescription3415 0209 8634 895🧭 EEA=false ; region=EUROPE ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in Europe.3486 3826 7931 507🧭 EEA=false ; region=EUROPE ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in Europe.3718 4294 2351 004🧭 EEA=false ; region=EUROPE ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in Europe with productType=UNKNOWN.3712 5311 3391 201🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMERThis PAN simulates a non-EEA consumer Amex card in ASIA_PACIFIC.3423 1631 7472 410🧭 EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATEThis PAN simulates a non-EEA corporate Amex card in ASIA_PACIFIC.3710 9829 7279 338🧭 EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWNThis PAN simulates a non-EEA Amex card in ASIA_PACIFIC with productType=UNKNOWN. CB Card numbers These PANs allow you to test how the card is classified under the CB scheme (CB vs co-badged CB_VISA / CB_MASTERCARD) in your integration and reporting. PANScenarioDescription4020 0235 6597 5380✅🛡️ 3DS success (transStatus = Y) – scheme: CBThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB scheme.4020 0254 4041 8403✅🛡️ 3DS success (transStatus = Y) – scheme: CB_VISAThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_VISA scheme.5232 1035 2372 2651✅🛡️ 3DS success (transStatus = Y) – scheme: CB_MASTERCARDThis PAN simulates a successful authorization with 3DS (transStatus = Y) on the CB_MASTERCARD scheme. Troubleshooting (what to check) If you don’t get the expected outcome, start by checking: Bank refusals: verify the returned bank refusal code/message in your transaction response or webhook (e.g., 51, 41, 59, 5). 3DS scenarios: verify the returned transStatus. If C, a challenge flow must be completed; if N, the 3DS authentication is refused and the payment is declined; if D, the expected handling depends on your decoupled implementation. Card attributes: verify the returned card metadata (EEA / region / productType / cardType) in the payment method or transaction details.