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
Compte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de :– Sa contractualisation : grille tarifaire, CGU…– Son administration : authentification, profils utilisateurs…– Sa configuration : scenario de notification, points de vente, règles d’acceptations– Sa conformité : KYC/KYB, accréditations… Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique. 1/ Les types de compte CentralPay et droits associés Il existe plusieurs types de compte CentralPay disposants de droits spécifiques à chacun : Participant (anciennement Basic) : destiné aux sous-marchands et participants. Il dispose d’un compte de paiement ou de monnaie électronique, à travers duquel il peut uniquement recevoir des transferts en provenance du partenaire l’ayant inscrit. Il peut piloter ses reversements depuis son Portail utilisateur mais n’a aucun accès à l’API CentralPay. Marchand (anciennement Standard) : destiné aux marchands. Il dispose d’un ou plusieurs comptes de paiement, à travers desquels il peut réaliser des opérations de paiement et piloter ses reversements. Il peut également disposer d’un compte de commission sur lequel CentralPay prélèvera ses frais, afin de segmenter ce type d’opérations du reste des transactions. Partenaire MOBSP (disponible prochainement) : destiné aux partenaires MOBSP. Il dispose d’un compte de commission pour recevoir les frais associés à ses services, et potentiellement d’un compte de paiement pour opérer ses propres encaissements. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont CentralPay est le titulaire et à accès aux services partenaires MOBSP (demande d’inscription de sous-marchands, transferts via transaction…). Partenaire DME (disponible prochainement) : destiné aux partenaires distributeurs de Monnaie Électronique. Il dispose d’un compte de commission pour recevoir les frais associés à ses services. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont CentralPay est le titulaire et à accès aux services partenaires DME (demande d’inscription de sous-marchands / participants, transferts via transaction, transferts en Monnaie Électronique…) Partenaire Agent (anciennement Agent) : destiné aux partenaires Agents Prestataires de Services de Paiement. Il dispose d’un compte de commission pour recevoir les frais associés à ses services, et potentiellement d’un compte de paiement pour opérer ses propres encaissements. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont il est le titulaire et à accès aux services partenaires Agent (demande d’inscription de sous-marchands, transferts via transaction, transferts indépendants…). NB : Un compte peut-être « Marchand » et « Participant » à la fois, dans le cas d’une activité propre en complément de sa participation à une plateforme. 2/ Paramétrage des emails de contacts du compte Afin d’adresser nos demandes ou de transférer les informations importantes aux bonnes personnes au sein de votre entité, il est important de renseigner les emails de contact du compte : Email contact : email du responsable général du compte Email administratif : email du responsable administratif du compte Email technique : email du responsable technique du compte Email financier : email du responsable financier du compte NB : par défaut, les emails sont renseignés avec celui du titulaire du compte. Accès Portail utilisateur de RCT – Paramétrage des coordonnées Accès Portail utilisateur de PROD – Paramétrage des coordonnées
Certifications et agréments CentralPay propose des solutions de paiement modulaires permettant l’unification des flux d’encaissement pour compte propre et l’automatisation des reversements pour le compte de tiers. La typologie de services et d’opérations proposées par CentralPay varie en fonction des besoins et de l’activité de ses marchands et partenaires. CentralPay est une société indépendante, entièrement propriétaire de sa technologie et de ses agréments. Garantissant la meilleure autonomie possible dans ses choix de partenariats et de son évolution. CentralPay est autorisé à entrer en relation d’affaires avec les entreprises enregistrées dans l’Espace Économique Européen. ACPR (Banque de France)Établissement de Monnaie Électronique : CentralPay est un Établissement de Monnaie Électronique régulé par la Banque de France à travers son autorité de contrôle prudentiel et de résolution, l’ACPR (CIB 17138).DSP2 : CentralPay est conforme à la 2ème Directive sur les Services de Paiements qui impose notamment des exigences en matière d’authentification forte et de protection des données.PCI-DSS : CentralPay obtient annuellement la certification la plus élevée possible en matière de sécurisation des données bancaires et prévention de la fraude ; la norme PCI DSS de niveau 1.EBA CLEARING & EPC : En qualité de membre de l’European Payment Council et sa connexion à l’EBA CLEARING, CentralPay intègre les schémas européens des règlements SEPA afin d’émettre et de recevoir des virements et des prélèvements depuis ses propres IBAN et IBAN virtuels.SWIFT : Connecté au réseau SWIFT, messagerie la plus acceptée à l’échelle mondiale, CentralPay est en mesure d’échanger des flux financiers internationaux avec la plupart des banques et des institutions financières participantes.Visa, Mastercard, Cartes bancaires, American Express : CentralPay est accrédité auprès des grands réseaux de cartes, afin d’optimiser les parcours et la conversion des paiements de tous ses utilisateurs.
How to use the swagger > You’ll find below instruction to use our swagger properly 1 – This is where you can choose the server you’ll call for your tests. For now, only RCT (Test Api) is available.2 – In order to do your tests, you’ll need to authenticate with your credentials. You can use here your Api login and password. You can also use our test login : Doctest:4I9HJRTd 3 – This is where you will be able to see the parameters for each endpoint, and do your tests. 4 – Try it out. Use this if you want to be able to test the endpoint. Make sure you’re authenticated before doing so.5 – This is where you’ll be able to use the test values of your choosing. By default, most values are already filled, but use yours for better results.6 – Click here once values are filled to call our Api and do your tests.7 – This is where you’ll see the results once you called our Api. You’ll also find here by default responses example for this endpoint.
Guide de démarrage rapide > 1/ Entrée en relation Consultez les offres tarifaires de CentralPay Présentez votre projet aux équipes commerciales de Centralpay Choisissez le modèle d’entrée en relation qui correspond à votre projet Consultez les étapes d’entrée en relation 2/ Création de votre compte de test Un environnement de recette est mis à disposition pour effectuer vos développements et tests d’intégration : Compte de test Marchand : si vous souhaitez uniquement accéder à la solution d’encaissement Smart Collection, cliquez sur le lien suivant et renseignez vos informations : obtenir un compte de test marchand Compte de test Partenaire : si vous souhaitez accéder aux solutions d’encaissement Smart Collection et de transfert des paiements Easy Wallet, veuillez contacter notre service client qui créera et paramètrera votre compte de test en conséquence. 3/ Choix de votre méthode d’intégration Déterminez la méthode d’intégration que vous souhaitez utiliser : Intégration Smart : utilisez les demandes de paiement et la page de paiement CentralPay pour encaisser vos transactions. Les parcours clients sont prêts à l’emploi, pour un lancement rapide de votre projet. Intégration Custom : intégrez les services API de transaction par carte, par virement et/ou par prélèvement SEPA pour encaisser vos transactions. Les parcours doivent être entièrement développés par vos soins, ce qui vous permet de le maitriser entièrement, mais requiert plus d’efforts et de responsabilités. 4/ Paramétrage de votre compte Votre compte CentralPay dispose d’un certain nombre de paramétrages qui peuvent être réalisés en autonomie ou avec l’aide de notre service client. Les paramétrages réalisés sur votre compte de RCT ne seront pas répercutés automatiquement sur votre compte de PROD, veillez à reparamétrer correctement votre compte de PROD une fois en votre possession. Paramétrages principaux : Récupération des accès d’authentification API du compte Déclaration des domaines autorisés (si intégration Custom uniquement) Comptes de paiement et affectation des comptes bancaires de sortie Paramétrage des utilisateurs du Portail utilisateur Création et paramétrage des points de vente Paramétrage des Webhooks Paramétrage de l’Identifiant de Créancier SEPA ou ICS (si prélèvements SEPA uniquement) Paramétrages secondaires : Paramétrage des emails de contact du compte Paramétrage des règles d’acceptation Paramétrage des reversements Paramétrage du libellé de relevé bancaire (carte) Paramétrage des notifications automatiques Paramétrage de la page de paiement SmartForm Paramétrage des profils de demandes de paiement Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement carte Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement SEPA 5/ Simuler des paiements Avant la mise en production de votre compte, vous devez simuler des paiements client dans votre compte de RCT afin de vous assurer du bon fonctionnement de votre intégration : Simuler une transaction carte : consultez la liste des cartes de test permettant de simuler différents types et statuts de transactions Simuler une transaction par virement SEPA (SCT) : créez une ou plusieurs transactions SCT puis demandez au support CentralPay de simuler les opérations Simuler une transaction par prélèvement SEPA (SDD) : récupérez un IBAN/BIC de test depuis notre liste dédiée 6/ Mise en production Une fois vos workflows de paiement testés et validés sur l’environnement de RCT, il va être nécessaire de préparer la MEP vers l’environnement de production. Tout paramétrage ayant été réalisé en RCT devra être réeffectuer en PROD si vous désirez le même comportement.Pour cela il vous faudra : récupérer les crédentials de PROD du ou des utilisateurs API s’assurer de bien avoir l’URL API de PROD récupérer la merchantPublicKey liée à votre marchand afin de créer des cardToken informer CentralPay de la mise en production d’un site ou d’une évolution majeure impactant Centralpay sur la connaissance de l’activité du marchand définir l’URL de votre site sur votre point de vente du marchand afin d’avoir le droit d’utiliser des demandes de paiement vérifier l’accès à la page de contact du support depuis le portail utilisateur : https://backoffice.centralpay.net/admin/support/ Une fois la MEP sur l’environnement de PRD effectuée, il est toléré de faire une ou deux transactions d’un Euro afin de contrôler le bon fonctionnement du paiement.
Contacter CentralPay > CentralPay s’emploie à une croissance saine, permettant à nos utilisateurs d’être quotidiennement accompagnés par des équipes stables et expertes dans leur domaine (conformité, monétique, sécurité…). Ainsi, nos services client et support sont joignables du Lundi au Vendredi depuis l’espace « Aide & Support » de votre Portail utilisateur, par email ou par visioconférence sur rendez-vous. 1/ Avant d’adresser une demande technique Quelques points que vous pouvez vérifier préalablement : Authentification : êtes-vous correctement authentifié ? Environnement : êtes-vous sur le bon environnement du Portail utilisateur et de l’API (RCT ou PROD) ? Autorisation : avez-vous les autorisations nécessaires pour réaliser cette opération ? L’erreur HTTP 403 signale une erreur d’autorisation. Erreur HTTP : Consultez la signification des codes d’erreurs HTTP CentralPay. Si vous recevez un code erreur HTTP 500, veuillez contacter immédiatement le support technique. 2/ Informations à communiquer pour toutes demandes techniques Dates et heures précises des évènements concernés Lien (url) de la page concernée Une ou des capture(s) d’écran, idéalement une vidéo (Cloudapp permet de faire une vidéo d’une page du navigateur Google chrome) Un UUID (ou id) de l’opération concernée et son type (transaction carte, remboursements, demande de paiement…). L’environnement sur lequel vous travaillez (recette RCT ou production PROD) Une description précise du problème rencontré ou de votre interrogation Ces informations nous permettrons de vous accompagner et d’analyser votre situation plus efficacement. Vos demandes seront traitées de façon prioritaire si elles sont envoyées depuis l’espace « Aide et Support » du Portail utilisateur : Aide et support – Portail utilisateur de RCT Aide et support – Portail utilisateur de PROD
Card token See more about Card Token The Json « CardToken » object The « CardToken » object represents a debit/credit card token. Merchants usually want to be able to charge payment cards, IBAN or other without having to store sensitive data on their servers.Token.js makes this easy in the browser, but you can use the same technique in other environments with our token API. Tokens can be created with your publishable API key, which can safely be embedded in downloadable applications like iPhone and Android apps. You can then use a token anywhere in our API when a credit/debit card, bank account or any personal ID number is accepted. You need to add a header "Origin" with an URL previously added in your Back Office as an Authorized Custom form Host.For your tests, you can use the origin : https://example.centralpay.net.
Bank return codes List of codes returned by the issuer bank to CentralPay after an autorization request 00Transaction approved or successfully processed02Contact card issuer03Invalid acceptor04Keep card05Do not honor06Transaction invalid for terminal07Honor with ID08Time-Out09No original10Unable to reverse11Partial approval12Invalid transaction13Invalid amount14Invalid cardholder number15Unknown card issuer17Invalid capture date (terminal business date)19Repeat transaction later20No From Account21No To Account22Account not verified23Account not saved24No Credit Account25Unable to locate record in file26Record duplicated27 ‘Edit’ error in file update field28File access denied29File update not possible30Format error31Identifier of acquiring organization unknown32Transaction partially completed33Card validity date exceeded34Implausible card data38Number of PIN attempts exceeded39Transaction not allowed41Lost card42Special Pickup43Stolen card44Stolen card51Insufficient funds or overdraft54 Card expired55Incorrect PIN56 Card not on file57Transaction not authorized to this cardholder58Transaction prohibited at terminal59Suspected fraud60 the card acceptor must contact the buyer61Withdrawal amount over limit62Card use restricted63MAC Key Error65 Frequency limit exceeded66Acquirer limit reached67Card withheld68Response not received or received too late75Number of PIN attempts exceeded76Invalid Account77Issuer not participating in service78Function not available79Key validation error80Approved for purchase amount only81Unable to verify PIN82Invalid CVV83Not refused84Invalid transaction lifecycle85No key to use86KME synchronization error87PIN error88MAC synchronization error89Security violation90Temporary system shutdown91Card transmitter inaccessible92Card issuer unknown93Transacation cannot be finalized94Duplicate request95Contact acquirer96System malfunction97No Funds Transfer98Duplicate Reversal99Duplicate TransactionN3Cash Service Not AvailableN4Cash Back Request Exceeds Issuer LimitN7Declined for CVV2 failureR0Stop Payment OrderR1Revocation of Authorisation OrderR3Revocation of all Authorisations OrderA0Withdrawal in contact modeA1VADS fallback000Approved001Approve with ID002Partial approval (prepaid cards only)100Reject101Card expired / invalid expiry date106PIN attempts exceeded107Please call issuer109Invalid merchant110Invalid amount111Invalid account / Invalid MICR (traveler’s check)115Requested function not supported117Invalid PIN119Cardholder not registered / not authorized122Invalid card security code (alias CID, 4DBC, 4CSC)125Invalid effective date181Format error183Invalid currency code187Refuse – New card issued189Refuse – Merchant cancelled or closed / SE200Refuse – Pick up card900Accepted – ATC synchronization909System malfunction (cryptographic error)912Issuer not available
À propos de CentralPay Articles Certifications et agréments Sécurité et hébergement Engagements de disponibilité Évolution de la plateforme Principes de réserve Certifications et agréments CentralPay propose des solutions de paiement modulaires permettant l’unification des flux d’encaissement pour compte propre et l’automatisation des reversements pour le compte de tiers. La typologie de services et d’opérations proposées par CentralPay varie en fonction des besoins et de l’activité de ses marchands et partenaires. CentralPay est une société indépendante, entièrement propriétaire de sa technologie et de ses agréments. Garantissant la meilleure autonomie possible dans ses choix de partenariats et de son évolution. CentralPay est autorisé à entrer en relation d’affaires avec les entreprises enregistrées dans l’Espace Économique Européen. ACPR (Banque de France)Établissement de Monnaie Électronique : CentralPay est un Établissement de Monnaie Électronique régulé par la Banque de France à travers son autorité de contrôle prudentiel et de résolution, l’ACPR (CIB 17138).DSP2 : CentralPay est conforme à la 2ème Directive sur les Services de Paiements qui impose notamment des exigences en matière d’authentification forte et de protection des données.PCI-DSS : CentralPay obtient annuellement la certification la plus élevée possible en matière de sécurisation des données bancaires et prévention de la fraude ; la norme PCI DSS de niveau 1.EBA CLEARING & EPC : En qualité de membre de l’European Payment Council et sa connexion à l’EBA CLEARING, CentralPay intègre les schémas européens des règlements SEPA afin d’émettre et de recevoir des virements et des prélèvements depuis ses propres IBAN et IBAN virtuels.SWIFT : Connecté au réseau SWIFT, messagerie la plus acceptée à l’échelle mondiale, CentralPay est en mesure d’échanger des flux financiers internationaux avec la plupart des banques et des institutions financières participantes.Visa, Mastercard, Cartes bancaires, American Express : CentralPay est accrédité auprès des grands réseaux de cartes, afin d’optimiser les parcours et la conversion des paiements de tous ses utilisateurs. Sécurité et hébergement CentralPay exploite ses services depuis deux Datacenter Français. Les équipements et services exploités sur ces deux sites sont entièrement redondés. Un hébergement hautement résiliant : Deux Datacenter de conception TIER III basés à Tours Environnement actif/actif entre les deux sites Des engagements contractuels (SLA) de 99.9% Des normes reconnues : ISO27001, PCI-DSS, Code of Conduct Une infrastructure garante de la sécurité de vos données : Cœur de réseau allant jusqu’à 10 Gb/s Réseau électrique entièrement redondé | Densité électrique allant de 600 mA à 32 A Système de contrôle d’accès avec double authentification (badge & code personnel) Vidéo-surveillance et alarme reliée 24h/7j à notre télésurveillance Système d’extinction d’incendie par aérosol FirePro Engagements de disponibilité CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants : CPAY APITraitement des opérations de paiementCPAY PORTALSPortails d’inscription, client et utilisateur99,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 d’atteinte de cette garantie correspond à la disponibilité des portails de l’environnement de production. Évolution de la plateforme Les API de CentralPay reposent sur une architecture en micro services apportant un maximum de flexibilité. Notre approche modulaire permet de faire constamment évoluer nos solutions afin d’apporter toujours plus de services et de fonctionnalités. Ces évolutions sont réalisées après des analyses d’impact poussées afin de ne pas provoquer de changement dans les intégrations de nos utilisateurs. Dans de très rares cas, celles-ci peuvent appeler des modifications mineures ou plus importantes lorsque des changements de régulations surviennent, comme ce fut le cas pour l’évolution vers la version 2.0 du 3DS par exemple. En cas d’évolution de la plateforme ou de modifications des attentes concernant la consommation de ses APIs, CentralPay s’engage à vous prévenir dans un délai correspondant à l’ampleur des actions à mener : Modifications mineures nécessitant aucune action du marchand ou partenaire :remise d’information simple Modifications mineures avec action nécessaire par le marchand ou partenaire :2 mois minimum de délai de prévenance + accompagnement à la réalisation Modifications majeures avec action nécessaire par le marchand ou partenaire :6 mois minimum de délai de prévenance + accompagnement à la réalisation À noter que les modifications nécessitant une action de nos marchands ou partenaires sont qualifiées d’exceptionnelles à inexistantes et que toutes les précautions sont prises pour éviter tout impact sur leur activité. Principes de réserve La réserve représente les sommes qui sont maintenues sur votre compte CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) liés à des opérations de paiement. Ses paramètres sont définis en fonction du profil de risque financier de votre compte, et sont actualisés en fonction de l’analyse de vos R-transactions sur une période suffisante. Les transactions récurrentes par prélèvement SEPA et par carte bancaire sont particulièrement sujets au risque de R-transactions. CentralPay possède 3 types de garanties de protection qui peuvent s’appliquer aux marchands, en fonction de la nature de leur contrat : 1/ Le collatéral Il représente la somme fixe versée en début de relation, servant à couvrir le risque de crédit dans le cas où le marchand ne pourrait pas satisfaire ses obligations de remboursement envers ses clients. Le détail du Collatéral est visible depuis le Portail utilisateur : Administration Reversements Somme des cautions 2/ Le pied de compte En l’absence de Collatéral, une somme fixe peut être prélevée directement sur les opérations afin de garantir le remboursement des clients en cas de besoin. Le wallet doit donc dépasser la valeur du pied de compte pour autoriser les reversements (payout). Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil fixe 3/ La réserve glissante Selon le secteur d’activité et les processus de règlement du compte, une réserve glissante (« rolling réserve » en anglais) peut être automatiquement ouverte. Il s’agit d’une garantie de protection supplémentaire qui permet de maintenir un certain pourcentage du volume d’encaissement marchand sur le compte CentralPay afin de permettre l’initiation de remboursements automatiques en cas de contestation de transaction, de fraude ou encore afin de couvrir d’éventuels frais opérationnels. Cette somme appartient à la trésorerie du marchand, elle est gardée un nombre défini de jours avant d’être libérée (généralement entre 90 à 180 jours). Par exemple, le seuil variable de la réserve glissante est de 5% du volume d’encaissement sur 90 jours. Le calcul quotidien du montant de réserve est le suivant : montant des transactions encaissées lors des 90 derniers jours * 5% Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil variable
Profils clients 1/ Introduction Les profils clients (ou « Customer ») unifient et sécurisent toutes vos données client pour en faciliter la gestion. Ils interagissent avec les autres services de CentralPay et permettent notamment de : centraliser leur historique de paiements (tous canaux de vente et moyens de paiement confondus) digitaliser et stocker de manière sécurisée leurs supports de paiement (cartes, mandats SEPA, IBAN virtuels) suivre facilement leurs paiements récurrents (abonnements, paiements fractionnés) ou règlements en attente (demandes de paiement). Dans certains cas, ils peuvent également être associés à un compte de monnaie électronique permettant au client de recevoir et d’utiliser des fonds au sein du réseau du partenaire distributeur de cette monnaie électronique. Un Customer est obligatoirement identifié soit par son email, soit par son numéro de téléphone. Il est également possible de déclarer d’autres informations le concernant comme son nom, son prénom, sa langue, sa référence personnalisée, son moyen de paiement par défaut… 2/ Utilisation La création d’un Customer est obligatoire pour la réalisation : d’abonnements ou de paiements fractionnés par carte de paiements en 1 clic par carte de paiements par prélèvement SEPA de paiements par virement SEPA avec IBAN Virtuel dédié à celui-ci de création d’un compte de monnaie électronique anonyme 3/ Interfaces Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail utilisateur > Compte > Customers : Accès Customers – Portail utilisateur de RCT Accès Customers – Portail utilisateur de PROD Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise. 4/ Création d’un Customer Il existe deux méthodes pour créer un Customer : Créer un Customer depuis le service API dédié, permettant ensuite de créer une Card, de gérer un IBAN Virtuel pour ce Customer, d’initier une transaction, une demande de paiement… Créer un Customer via une demande de paiement CentralPay assure l’unicité des Customers : si vous initiez une demande de paiement avec création d’un Customer alors que son email ou son numéro de téléphone est déjà connu dans votre compte, CentralPay ne créera pas de nouveau Customer et associera la transaction au profil existant.
Sécurité et hébergement CentralPay exploite ses services depuis deux Datacenter Français. Les équipements et services exploités sur ces deux sites sont entièrement redondés. Un hébergement hautement résiliant : Deux Datacenter de conception TIER III basés à Tours Environnement actif/actif entre les deux sites Des engagements contractuels (SLA) de 99.9% Des normes reconnues : ISO27001, PCI-DSS, Code of Conduct Une infrastructure garante de la sécurité de vos données : Cœur de réseau allant jusqu’à 10 Gb/s Réseau électrique entièrement redondé | Densité électrique allant de 600 mA à 32 A Système de contrôle d’accès avec double authentification (badge & code personnel) Vidéo-surveillance et alarme reliée 24h/7j à notre télésurveillance Système d’extinction d’incendie par aérosol FirePro
Le compte CentralPay Articles Compte CentralPay Profils clients Points de vente Comptes de paiement Comptes de ME Compte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de :– Sa contractualisation : grille tarifaire, CGU…– Son administration : authentification, profils utilisateurs…– Sa configuration : scenario de notification, points de vente, règles d’acceptations– Sa conformité : KYC/KYB, accréditations… Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique. 1/ Les types de compte CentralPay et droits associés Il existe plusieurs types de compte CentralPay disposants de droits spécifiques à chacun : Participant (anciennement Basic) : destiné aux sous-marchands et participants. Il dispose d’un compte de paiement ou de monnaie électronique, à travers duquel il peut uniquement recevoir des transferts en provenance du partenaire l’ayant inscrit. Il peut piloter ses reversements depuis son Portail utilisateur mais n’a aucun accès à l’API CentralPay. Marchand (anciennement Standard) : destiné aux marchands. Il dispose d’un ou plusieurs comptes de paiement, à travers desquels il peut réaliser des opérations de paiement et piloter ses reversements. Il peut également disposer d’un compte de commission sur lequel CentralPay prélèvera ses frais, afin de segmenter ce type d’opérations du reste des transactions. Partenaire MOBSP (disponible prochainement) : destiné aux partenaires MOBSP. Il dispose d’un compte de commission pour recevoir les frais associés à ses services, et potentiellement d’un compte de paiement pour opérer ses propres encaissements. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont CentralPay est le titulaire et à accès aux services partenaires MOBSP (demande d’inscription de sous-marchands, transferts via transaction…). Partenaire DME (disponible prochainement) : destiné aux partenaires distributeurs de Monnaie Électronique. Il dispose d’un compte de commission pour recevoir les frais associés à ses services. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont CentralPay est le titulaire et à accès aux services partenaires DME (demande d’inscription de sous-marchands / participants, transferts via transaction, transferts en Monnaie Électronique…) Partenaire Agent (anciennement Agent) : destiné aux partenaires Agents Prestataires de Services de Paiement. Il dispose d’un compte de commission pour recevoir les frais associés à ses services, et potentiellement d’un compte de paiement pour opérer ses propres encaissements. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont il est le titulaire et à accès aux services partenaires Agent (demande d’inscription de sous-marchands, transferts via transaction, transferts indépendants…). NB : Un compte peut-être « Marchand » et « Participant » à la fois, dans le cas d’une activité propre en complément de sa participation à une plateforme. 2/ Paramétrage des emails de contacts du compte Afin d’adresser nos demandes ou de transférer les informations importantes aux bonnes personnes au sein de votre entité, il est important de renseigner les emails de contact du compte : Email contact : email du responsable général du compte Email administratif : email du responsable administratif du compte Email technique : email du responsable technique du compte Email financier : email du responsable financier du compte NB : par défaut, les emails sont renseignés avec celui du titulaire du compte. Accès Portail utilisateur de RCT – Paramétrage des coordonnées Accès Portail utilisateur de PROD – Paramétrage des coordonnées Profils clients 1/ Introduction Les profils clients (ou « Customer ») unifient et sécurisent toutes vos données client pour en faciliter la gestion. Ils interagissent avec les autres services de CentralPay et permettent notamment de : centraliser leur historique de paiements (tous canaux de vente et moyens de paiement confondus) digitaliser et stocker de manière sécurisée leurs supports de paiement (cartes, mandats SEPA, IBAN virtuels) suivre facilement leurs paiements récurrents (abonnements, paiements fractionnés) ou règlements en attente (demandes de paiement). Dans certains cas, ils peuvent également être associés à un compte de monnaie électronique permettant au client de recevoir et d’utiliser des fonds au sein du réseau du partenaire distributeur de cette monnaie électronique. Un Customer est obligatoirement identifié soit par son email, soit par son numéro de téléphone. Il est également possible de déclarer d’autres informations le concernant comme son nom, son prénom, sa langue, sa référence personnalisée, son moyen de paiement par défaut… 2/ Utilisation La création d’un Customer est obligatoire pour la réalisation : d’abonnements ou de paiements fractionnés par carte de paiements en 1 clic par carte de paiements par prélèvement SEPA de paiements par virement SEPA avec IBAN Virtuel dédié à celui-ci de création d’un compte de monnaie électronique anonyme 3/ Interfaces Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail utilisateur > Compte > Customers : Accès Customers – Portail utilisateur de RCT Accès Customers – Portail utilisateur de PROD Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise. 4/ Création d’un Customer Il existe deux méthodes pour créer un Customer : Créer un Customer depuis le service API dédié, permettant ensuite de créer une Card, de gérer un IBAN Virtuel pour ce Customer, d’initier une transaction, une demande de paiement… Créer un Customer via une demande de paiement CentralPay assure l’unicité des Customers : si vous initiez une demande de paiement avec création d’un Customer alors que son email ou son numéro de téléphone est déjà connu dans votre compte, CentralPay ne créera pas de nouveau Customer et associera la transaction au profil existant. Points de vente 1/ Introduction Les points de vente (« Point of Sales » ou « POS ») sont la représentation de vos différents sites web, boutiques, ou équipes de vente. Ils permettent de segmenter les opérations de votre compte CentralPay à des fins : Techniques : vous pouvez réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom expéditeur des emails de confirmation, logo affiché dans la page de paiement …) Administratives : vous pouvez limiter les droits de consultation ou de modification de vos profils utilisateurs à certains points de ventes Comptables : vous pouvez filtrer les opérations par point de vente dans votre Portail utilisateur ou dans vos exports de données Lors de la création de votre compte CentralPay, un premier Point de Vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre Portail utilisateur pour paramétrer ce dernier, ou en créer de nouveaux : Accès Points de ventes – Portail utilisateur de RCT Accès Points de ventes – Portail utilisateur de PROD 2/ Paramétrages Les Points de Vente comprennent un certain nombre de paramétrages obligatoires : Paramètres généraux Nom : nom du point de vente (visible par vos clients) URL du site : s’il s’agit d’un site e-commerce, renseignez l’URL de ce dernier. Sinon, renseigner l’URL de votre site vitrine. Pays du point de vente Configuration Type technique : sélectionnez « Vente à distance » Utilisateurs API : sélectionnez les utilisateurs API ayant un droit d’accès à ce Point de Vente Contrats : sélectionnez le contrat VAD carte qui a été paramétré pour votre compte (en règle générale, vous n’aurez qu’un seul contrat à disposition) Contrat par défaut : sélectionnez le contrat VAD carte qui sera utilisé par défaut (en règle générale, vous n’aurez qu’un seul contrat à disposition) Viban prioritaire : si vous souhaitez que les IBAN Virtuels affichés dans les demandes de paiement soient ceux des Customers, alors sélectionnez « Client ». Si vous préférez afficher des IBAN Virtuels dédiés à chaque demande de paiement, alors sélectionnez « SCT ». Si besoin d’informations complémentaires, consultez notre rubrique sur les IBAN Virtuel. D’autres paramétrages ne sont pas obligatoires, mais sont importants pour votre parcours de vente : Paramètres généraux Logo : chargez le logo de votre entreprise ou celui dédié à votre point de vente. Il apparaitra dans la page de paiement générée par les demandes de paiement. ID point de vente du marchand : renseignez une référence personnalisée vous permettant d’identifier plus simplement le point de vente dans vos systèmes d’information. Emails de confirmation Coche « Activer l’email de confirmation de paiement » : En cochant cette case, vous activez l’envoi d’un email à vos clients lorsqu’ils réalisent un paiement par carte. Il s’agit d’un email standardisé non modifiable contenant un récapitulatif du paiement (raison sociale de votre compte, nom de votre point de vente, date du paiement, identifiant de la transaction CentralPay, référence marchand de la transaction, description marchand de la transaction, code d’autorisation du paiement, marque de la carte, 6 premiers et 4 derniers chiffres de la carte, montant de la transaction, état de la transaction). La langue et le pied de page de l’email peuvent être paramétrés depuis le Portail utilisateur > Configuration > Email confirmation paiement. Email de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser l’adresse expéditeur en utilisant l’une de vos adresses email (par exemple : no-reply@mondomaine.com). Attention, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine. Nom de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser le nom de l’expéditeur (par exemple : MonEntreprise). Coche « Recevoir une copie de la confirmation de paiement » : En cochant cette case, vous activez l’envoi d’une copie de l’email adressé à vos clients lorsqu’ils réalisent un paiement par carte. Cela peut vous permettre d’être informé facilement par email lorsqu’un client réalise un paiement. Email du destinataire : si vous avez coché la case « Recevoir une copie de la confirmation de paiement », vous devez renseigner l’adresse email du destinataire de cette copie. Enfin, d’autres paramètres secondaires sont disponibles : OTP Email de l’expéditeur OTP email : Email affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…) Nom de l’expéditeur OTP email : Nom affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…) Numéro de téléphone ou nom de l’expéditeur OTP SMS : Nom ou numéro de téléphone affiché en tant qu’expéditeur des SMS de One Time Password (validation de mandat SEPA…) Paramètres de communication Ces paramètres sont appliqués aux mails ou SMS transmettant le lien vers le formulaire de paiement d’une demande de paiement (paymentRequest). Ils s’appliquent uniquement lorsque aucun scenario n’a été configuré sur la demande paiement. Expéditeur SMS : Nom du correspondant affiché sur le SMS Expéditeur Email : Email du correspondant affiché sur l’email Nom de l’expéditeur Email : Nom du correspondant affiché sur l’email Adresse de réponse Email : Email utilisé pour les réponses des emails envoyés (applicable prochainement) Pied de page de l’email : Pied de page des emails (applicable prochainement) Comptes de paiement 1/ Introduction Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…). Ils permettent de stocker des fonds dans une devise ISO (EUR, USD, CHF, GBP…) et possèdent un IBAN/BIC qui lui est propre. Un compte de paiement est, sauf exception, associé à un compte bancaire ayant le même titulaire, permettant à CentralPay de réaliser des reversements automatiques par virement SEPA. Si vous disposez de plusieurs comptes bancaires sur lesquels vos fonds doivent être reversés, vous pouvez demander à votre contact CentralPay de créer le même nombre de comptes de paiement dans votre compte CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des reversements SEPA en conséquence.Il est également possible de créer plusieurs comptes de paiement à des fins de segmentation des fonds (avec un compte dédié aux opérations de commission ou de frais par exemple). Vous pouvez consulter le détail de vos comptes de paiements depuis ces accès : Comptes de paiement – Portail utilisateur de RCT Comptes de paiement – Portail utilisateur de PROD 2/ Utilisations Les comptes de paiement sont systématiquement utilisés pour les opérations de paiement de notre plateforme, à l’exception des opérations de monnaie électronique. 3/ Création de comptes de paiement Si vous êtes marchand CentralPay, vous pouvez adresser une demande par email aux équipes CentralPay pour la création de plusieurs comptes de paiement à votre nom. Cela afin de segmenter vos opérations ou d’ouvrir un compte dans une devise différente. Si vous êtes Partenaire MOBSP ou AGENT de CentralPay, vous pouvez créer des comptes pour vos sous-marchands en utilisant le service de création de comptes de paiement. Comptes de ME 1/ Introduction Uniquement réservé aux Partenaires DME et à leurs utilisateurs. Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un partenaire DME). Un partenaire DME peut demander la création de comptes de ME pour les participants de son réseau puis réaliser des transferts de fonds en ME entre ces comptes. Le titulaire d’un compte de ME ne peut recevoir des paiements et utiliser sa monnaie électronique que par l’intermédiaire du partenaire DME. Il peut cependant demander le remboursement de sa monnaie électronique à tout moment et recevra ses fonds en devise ISO : soit sur son compte bancaire par virement SEPA, soit sur sa carte bancaire, selon les paramétrages de son compte. Vous pouvez consulter le détail de vos comptes de ME depuis ces accès : Comptes de ME – Portail utilisateur de RCT Comptes de ME – Portail utilisateur de PROD 2/ Utilisations Les comptes de ME sont principalement utilisés pour permettre à des personnes physiques de recevoir et d’échanger facilement des fonds dans les contextes suivants : Marketplaces C2C de produits ou de services Stockage et utilisation de valeurs cadeaux au sein d’un réseau de commerçants indépendants 3/ Spécificités Le CMF (Code Monétaire et Financier) présente des conditions spécifiques pour la monnaie électronique. Ainsi, il existe deux types de comptes de ME chez CentralPay : Compte de ME anonyme : ce compte peut être ouvert sans vérification d’identité du titulaire, à condition qu’il soit adressé à une personne physique et soit limité à 150 € de solde ou d’encaissement sur 30 jours. Ce type de compte est particulièrement utile dans le cadre d’une utilisation ponctuelle du compte par son titulaire, ou tout simplement pour simplifier l’entrée en relation avec le partenaire DME. Compte de ME vérifié : un compte anonyme peut être ensuite vérifié par les équipes conformité de CentralPay (procédure KYC) pour augmenter les limites qui lui étaient imposées, il devient ainsi « vérifié ». 4/ Création de comptes de ME Si vous êtes Partenaire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos participants.
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
Glossaire Articles Glossaire CentralPay Lexique du paiement Glossaire CentralPay DésignationDescriptionCompte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de : – Sa contractualisation : grille tarifaire, CGU… – Son administration : credentials, profils utilisateurs… – Sa configuration : scenario de notification, points de vente, règles d’acceptations – Sa conformité : KYC/KYB, accréditations…Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.Il est représenté par l’objet « merchant » dans l’API CentralPay.Compte de paiementCompte ouvert dans un établissement de paiement. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…).Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de monnaie électroniqueCompte ouvert dans un établissement de Monnaie Électronique. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distribteur (devises CUSTOM).Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de commissionCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler les opérations liées aux frais CentralPay du reste des opérations de paiement.Si utilisation par un partenaire, ce compte permet également de collecter ses propres commissions imputées aux transactions de ses sous-marchands.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de réserveCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler ses fonds de réserve Centralpay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom de l’Agent. Il est dédié à la réception des fonds du partenaire Agent avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de collecte « Partenaire »Compte de paiement détenu par CentralPay et mise à disposition du Partenaire en lecture seule. Il est dédié à la réception des opérations d’un partenaire avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.MarchandPersonne morale ou autoentreprise réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Dispose d’un compte CentralPay en droits « Standard ».Partenaire MOBSPPersonne morale, porteur d’un projet impliquant la réalisation d’opérations d’encaissement pour compte de tiers par CentralPay à destination de sous-marchands de CentralPay. Dispose d’un compte CentralPay en droits « Partner MOBSP ».Partenaire DMEPersonne morale déclarée comme Distributeur de Monnaie Électronique par CentralPay auprès de l’ACPR (Banque de France). Porteur d’un projet impliquant la réalisation d’opérations d’encaissement pour compte de tiers par CentralPay à destination de sous-marchands de CentralPay mais également d’émission et d’échange de Monnaie Électronique. Dispose d’un compte CentralPay en droits « EMD Partner ».Partenaire AgentPersonne morale agréée comme Agent Prestataire de Services de Paiement de CentralPay auprès de l’ACPR (Banque de France). Réalisant notamment des opérations d’encaissement pour compte de tiers à destination de ses sous-marchands. Dispose d’un compte CentralPay en droits « Agent Partner ».Sous-marchandPersonne morale ou physique agissant à des fins commerciales ou dans le cadre d’une activité LMNP. Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».ParticipantPersonne physique ou morale agissant à des fins non commerciales (exemple : chargement d’un compte de paiement ou de monnaie électronique dans le but de participer au projet d’un partenaire). Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».IntégrateurPersonne morale, généralement une société de développement informatique, ayant intégré tout ou partie des API CentralPay dans sa propre plateforme technique. Il permet ainsi à ses utilisateurs disposant d’un compte CentralPay d’accéder aux services CentralPay dans le contexte de sa plateforme. L’intégrateur ne commercialise pas les services de CentralPay.ActeurToute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.Utilisateur BOPersonne physique disposant d’un accès à un ou plusieurs comptes CentralPay. Dispose d’un type « Legal » s’il est représentant légal du compte, sinon dispose d’un type « Natural ».Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur réalisant les appels API sur un compte CentralPay.Client / PayeurClient d’un marchand ou d’un partenaire ayant émis un paiement vers un compte CentralPay. Peut disposer d’un profil client CentralPay ou non.Frais CentralPayEnsemble des frais dus à CentralPay déduits des opérations correspondantes, prélevés sur un compte de commission dédié ou facturés en fin de mois.Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP …)Devise CUSTOMDevise de Monnaie Électronique créée pour un Partenaire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO comme l’EURO par exemple.Compte bancaireCompte bancaire externe lié à un compte CentralPay pour réaliser des reversements (payout) ou à un profil client pour réaliser des prélèvements SEPA.Il est représenté par l’objet « bankAccount » dans l’API CentralPay.Reversement bancaireVirement sortant d’un compte CentralPay vers un compte bancaire lié. Peut-être réalisé par SEPA ou SWIFT.Il est représenté par l’objet « payout » dans l’API CentralPay.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. Lexique du paiement DésignationDéfinitionIdentifiant de Créancier SEPA (ICS)L’ICS est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque ou s’il est multi-bancarisé.DébiteurPersonne physique ou morale qui doit une somme d’argent à une autre, appelée créancier, que ce soit dans le cadre de transactions commerciales, de prêts ou d’autres obligations financières.CréancierPersonne physique ou morale à qui une somme d’argent est due par une autre, appelée débiteur.Les créanciers (banques, entreprises ou particuliers qui ont prêté de l’argent ou fourni des biens ou services à crédit) ont le droit légal de réclamer le paiement de la dette, généralement formalisé par un contrat ou une autre forme d’accord.Émetteur (ou donneur d’ordre)Le payeur, c’est-à-dire la personne physique ou morale qui va émettre les fonds d’une transaction financière.BénéficiaireLe destinataire, autrement dit la personne physique ou morale qui va percevoir les fonds d’une transaction financière.Autorisation bancairePropre aux transactions par carte. Interrogation de l’acquéreur vers la banque du porteur de carte concernant le montant de la transaction. Suite au « code de retour banque », l’acquéreur est en mesure de savoir si la somme demandée est disponible, et si non pourquoi (fonds insuffisants, carte volée…). Une autorisation valide assure au marchand la possibilité de capturer la somme demandée jusqu’à 7 jours.Passerelle de paiement (ou Payment Gateway)Technologie agissant comme intermédiaire entre le site du marchand et le réseau de paiement qui permet d’assurer la transmission sécurisée d’informations liées aux paiements. Les passerelles vérifient également la disponibilité des fonds et autorisent les paiements, tout en offrant des fonctionnalités telles que la gestion des paiements récurrents et la détection de la fraude.Prestataire de Services de Paiement (ou PSP)Etablissement financier qui fournit des services liés à l’acceptation et au traitement des paiements aux marchands. Ces services incluent également la gestion des comptes de paiements ouverts, la sécurité des transactions ainsi que la conformité réglementaire.KYB (Know your Business)Le KYB (Know Your Business) est un protocole d’authentification de l’identité et de la conformité des personnes morales, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).Ce processus inclut la collecte et la vérification de documents tels que les statuts de l’entreprise, les informations sur les propriétaires et les dirigeants, les justificatifs d’adresse et les informations financières.KYC (Know your Customer)Le KYC (Know Your Customer) est un protocole d’authentification de l’identité et de la conformité des personnes physiques, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).Ce processus inclut la collecte et la vérification de documents tels que les pièces d’identité, les preuves de domicile et les informations sur les activités professionnelles.Rapprochement d’un virementProcessus de vérification et de correspondance des factures émises enregistrées dans le compte de l’entreprise avec les paiements reçus.Ce traitement permet de s’assurer que toutes les transactions prévues ont bien été exécutées, de détecter toute anomalie ou erreur et de maintenir l’exactitude des enregistrements financiers de l’entreprise.Frais d’interchangeFrais payés par la banque du marchand (banque acquéreur) à la banque de l’acheteur (banque émettrice) lors d’une transaction par carte, afin de couvrir les coûts et les risques associés à la gestion des paiements. Ils varient en fonction de plusieurs facteurs, tels que le type de carte utilisée, le type de transaction et le pays dans lequel la transaction est effectuée.Frais de réseaux carteFrais facturés par les réseaux de cartes (CB, Visa, Mastercard…) aux banques et PSP qui traitent des paiements par carte. Ces frais couvrent les coûts liés à l’utilisation du réseau de paiement, notamment l’infrastructure technologique, la sécurité des transactions et le traitement des paiements.Interchange++Somme des commissions prélevées sur les opérations de paiement en ligne du marchand. Il est composé de :– Frais d’Interchange ;– Frais de réseaux de carte ;– Frais de services, facturés par le PSP qui assure le fonctionnement de la plateforme de paiement et des services associés. Ce calcul permet de déterminer le coût de revient exact de chacune des transactions.Open BankingEncouragé par la DSP2, l’Open Banking est une pratique financière permettant aux banques de partager de manière sécurisée les données financières de leurs clients avec des tiers autorisés, tels que des fintechs, à travers des API (interfaces de programmation applicative). Ce système bancaire ouvert vise à stimuler l’innovation et la concurrence dans le secteur financier, en permettant le développement de nouvelles applications et services qui peuvent offrir des expériences client améliorées, une gestion financière plus efficace et des offres personnalisées.Exemple : Initiation de paiementImpayé carte (ou chargeback / contestation / litige)Processus par lequel un titulaire de carte signale une transaction suspecte ou non autorisée à l’émetteur, en vue d’un remboursement ou d’une rétrofacturation. Les motifs de contestation peuvent inclure des transactions frauduleuses, des erreurs de facturation, des biens ou des services non reçus ou d’autres problèmes liés à l’utilisation de la carte.Rejet de prélèvement SEPAUn rejet de prélèvement se produit lorsqu’une demande de prélèvement est refusée par la banque du débiteur. Les raisons d’un rejet peuvent inclure des fonds insuffisants sur le compte du débiteur, des informations bancaires incorrectes, un mandat de prélèvement expiré ou non valide, ou une opposition au prélèvement de la part du débiteur.Lorsqu’un prélèvement est rejeté, les fonds ne sont pas transférés, et le créancier est informé du rejet pour qu’il puisse prendre les mesures appropriées.RIB (Relevé d’Identité Bancaire)Document fourni par une banque qui contient les informations nécessaires à l’identification d’un compte bancaire, afin de faciliter les opérations de virement ou de prélèvement. Le RIB inclut le numéro de compte, le code banque, le code guichet, l’IBAN (International Bank Account Number) ainsi que le BIC (Bank Identifier Code) de la banque.EEE (Espace Économique Européen)Zone économique composée des 27 pays membres de l’Union Européenne (UE) ainsi que de la Norvège, l’Islande et le Liechtenstein. L’EEE permet aux États membres de participer au marché unique de l’UE, offrant la libre circulation des biens, des services, des capitaux et des personnes.
Points de vente 1/ Introduction Les points de vente (« Point of Sales » ou « POS ») sont la représentation de vos différents sites web, boutiques, ou équipes de vente. Ils permettent de segmenter les opérations de votre compte CentralPay à des fins : Techniques : vous pouvez réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom expéditeur des emails de confirmation, logo affiché dans la page de paiement …) Administratives : vous pouvez limiter les droits de consultation ou de modification de vos profils utilisateurs à certains points de ventes Comptables : vous pouvez filtrer les opérations par point de vente dans votre Portail utilisateur ou dans vos exports de données Lors de la création de votre compte CentralPay, un premier Point de Vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre Portail utilisateur pour paramétrer ce dernier, ou en créer de nouveaux : Accès Points de ventes – Portail utilisateur de RCT Accès Points de ventes – Portail utilisateur de PROD 2/ Paramétrages Les Points de Vente comprennent un certain nombre de paramétrages obligatoires : Paramètres généraux Nom : nom du point de vente (visible par vos clients) URL du site : s’il s’agit d’un site e-commerce, renseignez l’URL de ce dernier. Sinon, renseigner l’URL de votre site vitrine. Pays du point de vente Configuration Type technique : sélectionnez « Vente à distance » Utilisateurs API : sélectionnez les utilisateurs API ayant un droit d’accès à ce Point de Vente Contrats : sélectionnez le contrat VAD carte qui a été paramétré pour votre compte (en règle générale, vous n’aurez qu’un seul contrat à disposition) Contrat par défaut : sélectionnez le contrat VAD carte qui sera utilisé par défaut (en règle générale, vous n’aurez qu’un seul contrat à disposition) Viban prioritaire : si vous souhaitez que les IBAN Virtuels affichés dans les demandes de paiement soient ceux des Customers, alors sélectionnez « Client ». Si vous préférez afficher des IBAN Virtuels dédiés à chaque demande de paiement, alors sélectionnez « SCT ». Si besoin d’informations complémentaires, consultez notre rubrique sur les IBAN Virtuel. D’autres paramétrages ne sont pas obligatoires, mais sont importants pour votre parcours de vente : Paramètres généraux Logo : chargez le logo de votre entreprise ou celui dédié à votre point de vente. Il apparaitra dans la page de paiement générée par les demandes de paiement. ID point de vente du marchand : renseignez une référence personnalisée vous permettant d’identifier plus simplement le point de vente dans vos systèmes d’information. Emails de confirmation Coche « Activer l’email de confirmation de paiement » : En cochant cette case, vous activez l’envoi d’un email à vos clients lorsqu’ils réalisent un paiement par carte. Il s’agit d’un email standardisé non modifiable contenant un récapitulatif du paiement (raison sociale de votre compte, nom de votre point de vente, date du paiement, identifiant de la transaction CentralPay, référence marchand de la transaction, description marchand de la transaction, code d’autorisation du paiement, marque de la carte, 6 premiers et 4 derniers chiffres de la carte, montant de la transaction, état de la transaction). La langue et le pied de page de l’email peuvent être paramétrés depuis le Portail utilisateur > Configuration > Email confirmation paiement. Email de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser l’adresse expéditeur en utilisant l’une de vos adresses email (par exemple : no-reply@mondomaine.com). Attention, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine. Nom de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser le nom de l’expéditeur (par exemple : MonEntreprise). Coche « Recevoir une copie de la confirmation de paiement » : En cochant cette case, vous activez l’envoi d’une copie de l’email adressé à vos clients lorsqu’ils réalisent un paiement par carte. Cela peut vous permettre d’être informé facilement par email lorsqu’un client réalise un paiement. Email du destinataire : si vous avez coché la case « Recevoir une copie de la confirmation de paiement », vous devez renseigner l’adresse email du destinataire de cette copie. Enfin, d’autres paramètres secondaires sont disponibles : OTP Email de l’expéditeur OTP email : Email affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…) Nom de l’expéditeur OTP email : Nom affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…) Numéro de téléphone ou nom de l’expéditeur OTP SMS : Nom ou numéro de téléphone affiché en tant qu’expéditeur des SMS de One Time Password (validation de mandat SEPA…) Paramètres de communication Ces paramètres sont appliqués aux mails ou SMS transmettant le lien vers le formulaire de paiement d’une demande de paiement (paymentRequest). Ils s’appliquent uniquement lorsque aucun scenario n’a été configuré sur la demande paiement. Expéditeur SMS : Nom du correspondant affiché sur le SMS Expéditeur Email : Email du correspondant affiché sur l’email Nom de l’expéditeur Email : Nom du correspondant affiché sur l’email Adresse de réponse Email : Email utilisé pour les réponses des emails envoyés (applicable prochainement) Pied de page de l’email : Pied de page des emails (applicable prochainement)
Engagements de disponibilité CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants : CPAY APITraitement des opérations de paiementCPAY PORTALSPortails d’inscription, client et utilisateur99,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 d’atteinte de cette garantie correspond à la disponibilité des portails de l’environnement de production.
Services liés au compte Articles Notifications email/sms Services anti-fraude Reversement bancaire Exports comptables Exports de données Webhooks Notifications email/sms 1/ Introduction Les notifications peuvent être adressées en fonction des évènements liés à certains objets API : Demande de paiement (PaymentRequest) Contestation carte (dispute) Paiement X fois (installment) Transaction carte (transaction) Reversement (payout) Remboursement carte (refund) Abonnement (subscription) Crédit carte (credit) Transaction SDD (sddTransaction) Transaction SDD inversée (sddTransactionReversal) Mandat (mandate) 2/ Types de scénarios de notification Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre compte CentralPay : encaissement d’un virement, contestation client, échec de règlement…Vous maitrisez le contenu de chaque notification depuis des templates personnalisés et définissez un mode d’envoi par email, par sms ou par Json. Vous automatisez ainsi le pointage de vos encaissements, les notifications clients, ou encore la mise à jour de votre système d’information. 3/ Paramétrage des modèles de notification 3.1/ Paramétrage des modèles (templates) Accès paramétrage templates emails : Portail utilisateur de recette Portail utilisateur de production Accès paramétrage templates SMS : Portail utilisateur de recette Portail utilisateur de production Accès paramétrage templates hooks : Portail utilisateur de recette Portail utilisateur de production Pour commencer le paramétrage de vos notifications, vous devez créer vos modèles de communication (email, sms ou hook) en renseignant les éléments demandés. Par exemple l’objet du mail, le nom et email de l’émetteur, le corps du texte… Vous pouvez intégrer des éléments dynamiques (tags) dans le corps du texte en tapant le caractère « # », qui fera apparaitre la liste des tags disponible pour le type de scénario de notification sélectionné. Attention, si vous utilisez les notifications emails, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine. Concernant les SMS, veillez à calculer le nombre de caractères : vous serez facturés d’un SMS par 160 caractères (espaces inclus). 3.2/ Paramétrage du header et footer pour templates emails Paramétrage en-tête d’email (header) Portail utilisateur de recette Portail utilisateur de production Paramétrage pied de page d’email (footer) Portail utilisateur de recette Portail utilisateur de production En cas de création d’un template email, un « header » et un « footer » devront être créés. Vous pouvez par exemple intégrer votre logo en Header, et vos conditions de contact ou mentions légales en Footer. 4/ Paramétrage des scénarios de notification Accès Scénarios de notification – Portail utilisateur de RCT Accès Scénarios de notification – Portail utilisateur de PROD Pour spécifier à la plateforme les conditions d’envoi et destinataires de vos notifications, vous devez créer un scénario intégrant une ou plusieurs règles d’envoi. Après avoir choisi le type de scénario souhaité, vous pouvez créer une règle d’envoi. Cette règle est scindée en deux parties : le “QUAND” va permettre de définir l’évènement déclencheur de la notification tandis que le “ALORS” va permettre de choisir les actions qui seront effectuées lorsque l’évènement se produira. 4.1/ Dans la partie « QUAND » : Tapez « # » pour visualiser l’ensemble des attributs disponible pour votre scénario Utilisez des opérateurs logiques pour constituer votre règle : Pour les chaînes de caractères (doivent être entourés de guillemets « ») : = (égal) != (différent de) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Pour les nombres (attention les montants doivent être renseignés en centimes) : = (égal) != (différent de) < (plus petit que) <= (plus petit ou égal à) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Pour les boolean (affirmations en vrai ou faux) : = (égal à) != (différent de) Vous pouvez utiliser des conditions pour compléter votre règle : AND (pour ajouter une autre condition d’activation) OR (pour ajouter une autre possibilité d’activition) Il est possible de donner des priorités en mettant des parenthèses autour des conditions. Si vous utilisez les conditionnels AND et OR dans la même règle, il est nécessaire de prioriser. Si vous utilisez plusieurs fois AND ou plusieurs fois OR, il sera également nécessaire de prioriser chaque partie. Exemples de règles : #end_user_country in ('FRA', 'BE') #authorisation_status = 'FAILURE' or (#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY' ) #transaction_amount > 100000 and ( #authorisation_status = 'FAILURE' or #context = 'TRANSACTION_RISKY' ) ((#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY') or ( #authorisation_status = 'FAILURE' and #transaction_amount < 100000 )) and (#card_product_type = 'Consumer') Avant de pouvoir enregistrer une règle, il est obligatoire de d’abord tester sa règle avec le bouton « tester ». Cela va permettre de vérifier que votre règle est grammaticalement correcte. Attention, cela ne garantit pas que votre règle correspond à ce que vous souhaitiez faire. 4.2/ Dans la partie « ALORS » : Le “ALORS” va permettre de choisir le destinataire et le template utilisé pour la notification. Vous n’avez accès qu’aux templates qui correspondent au type de template requis (SMS, Email, Hook) et qui correspond au type de scénario choisi (transaction carte, demande de paiement, remboursement …). Services anti-fraude 1/ Organisation des services anti-fraude Les services anti-fraude sont segmentés en 4 outils : 1/ Liste blanche (whitelist)Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation.La règle définie devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP.Cette fonctionnalité permet d’être moins restrictif sur des populations d’utilisateurs. 2/ Liste noire (blacklist) :Le service de « blacklist » permet de refuser les paiements.Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte (Carte, IP, Tel, email). 3/ Règles d’acceptation des transactions :Cet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement. 4/ Scoring anti-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. 4.3/ Les opérateurs de comparaison disponibles = (égal) != (différent de) < (plus petit que) <= (plus petit ou égal à) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Les opérateurs de comparaison = , != , > , < , >= et <= doivent être suivis d’une valeur. Les opérateurs IN et NOT IN sont suivis d’une liste de valeurs de comparaison.Une liste de valeurs est entourée par des parenthèses et les valeurs à l’intérieur de la liste sont séparées par des virgules. Exemple : REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF') L’exemple présenté ci-dessus permet de refuser tous les paiements dont la devise n’est pas l’Euro, le Dollar US, la Livre Sterling ou le Franc Suisse. Cette syntaxe évite d’écrire plusieurs règles ou plusieurs conditions dans la même règle. 4.4/ Les valeurs disponibles : En fonction du type de valeur, la syntaxe permettant de définir la valeur ne sera pas la même : Entiers (valeur numérique sans décimale) : syntaxe classique (ex : 100) Doubles (valeur numérique avec décimales) : la valeur est définie avec un point comme séparateur de décimale (ex : 12.32) Chaîne de caractères : la valeur est définie entre ‘quotes’ simples (ex : ‘FRA’) Booléens : la valeur est true ou false (ex : false) ATTENTION : les valeurs de « montants » doivent être renseignées en centimes (ex : pour 10 € on renseignera une valeur de 1000). 4.5/ Les opérateurs logiques : Les opérateurs disponibles sont AND et OR. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le « AND » permet une inclusion tandis que le « OR » une exclusion. Exemple : REFUSE if #amount < 1000 and #card_country != 'FRA' L’exemple présenté ci-dessus permet de refuser les paiements dont le montant est inférieur à 10 € ET dont la carte n’est pas française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée. Reversement bancaire 1/ Introduction Les reversements bancaires (ou « Payout ») sont des virements sortant de votre compte de paiement CentralPay vers le compte bancaire qui y est associé. Ils peuvent être réalisés manuellement depuis le Portail utilisateur ou l’API Payment. Ils peuvent également être automatisés depuis le Portail utilisateur. Depuis le Portail utilisateur, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et réaliser les reversements. 2/ Les deux modes de reversement 2.1/ Reversement automatique Le titulaire du compte peut définir la périodicité : quotidien, hebdomadaire (choix du jour de la semaine, ex : chaque mardi) ou mensuel (choix du jour dans le mois, ex : le cinq du mois).Le service PAYOUT automatique exécutera automatiquement à 01h00 du jour donné un virement des fonds disponibles sur votre compte de paiement. Exemple d’un reversement hebdomadaire programmé le mardi :CentralPay exécutera la demande de création du virement (PAYOUT) le mardi matin avec les fonds disponibles (AVAILABLE) sur le compte de paiement jusqu’au mardi 01h00. 2.2/ Reversement manuel (via BO ou API) Vous avez la possibilité d’exécuter des payouts manuellement depuis le Portail utilisateur ou l’API CentralPay. Vous pouvez déterminer le montant à reverser (avec en maximum le montant disponible sur votre compte). Attention, le PAYOUT ne sera exécuté immédiatement que s’il est effectué avant 05h00 le matin. À défaut, il sera exécuté le lendemain à 05h00 du matin également. 3/ Délais de disponibilité des fonds Les reversements comprennent uniquement les fonds disponibles (ou « AVAILABLE ») de vos comptes de paiement. Les fonds issus d’une transaction par carte bancaire sont par exemple disponibles à J+2 : une transaction carte réalisée le lundi, apparaîtra en « Pending » le lundi, sera « Available » le mardi soir, le payout automatique sera effectué le mercredi matin à 00h05 et la réception du virement SEPA sur votre compte bancaire le jeudi. NB : Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT). 4/ Création d’un reversement manuel 4.1/ Payout manuel par Portail utilisateur Accès Reversements – Portail utilisateur de RCT Accès Reversements – Portail utilisateur de PROD Depuis le Portail Utilisateur > Administration > Mon compte> Reversements : cliquez sur « Transferts externes », sélectionnez le compte d’émission, le montant du reversement ainsi que l’IBAN destinataire, puis cliquez sur « confirmer le transfert ». 4.2/ Payout manuel par API Consultez la rubrique développeurs du service Payout. 5/ Reversement en euros ou devises via le réseau SWIFT Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises. Si vous disposez d’un compte en devises ou n’étant pas accessible via le réseau SEPA, vous pouvez réaliser vos virements via le réseau SWIFT. Contactez CentralPay pour en savoir plus. Les virements bancaires du réseau SWIFT présentent des frais très largement supérieurs aux virements SEPA. Vous pouvez demander à CentralPay de paramétrer vos reversements automatiques afin qu'ils soient déclenchés à partir d'un certain seuil de fonds disponibles. 6/ Retours, statuts et webhooks 6.1/ Statuts Statuts PAYOUT 6.2/ Webhooks Webhooks PAYOUT Exports comptables 1/ Introduction Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports. 2/ Export comptable des opérations du compte Accès opérations – Portail utilisateur de RCT Accès opérations – Portail utilisateur de PROD Cet export reprend l’ensemble des mouvements financiers débiteurs et créditeurs qui ont été réalisés sur votre compte : autorisations cartes, transactions cartes, transactions SDD, transactions SCT, transfers, payout, frais CentralPay…Vous disposerez du détail de chaque opération afin que vous puissiez le rapprocher facilement à vos factures ou vos dossiers. L’export contient les données suivantes : DénominationSignificationmovement_creation_datedate de l’opérationmovement_ididentifiant CentralPay de l’opérationmovement_gross_amountmontant brutmovement_gross_currencydevise du montant brutmovement_fee_amountmontant des frais CentralPaymovement_fee_currencydevise des fraismovement_net_amountmontant netmovement_net_currencydevise du montant netmovement_expected_availability_datedate de disponibilité des fonds estiméemovement_available_datedate de disponibilité des fonds réellemovement_statusstatut du mouvement (success, failed …)movement_source_typetype d’opération (transaction, transfert …)movement_source_uuididentifiant associé au type d’opération (transactionId, wireTransferId, transferId, …)merchant_descriptiondescription définie par le marchandmerchant_reference_idréférence définie par le marchandcard_countrypays d’émission de la cartecard_regionzone d’émission de la carte (UE, hors UE)point_of_sale_idID CentralPay du point de vente 3/ Télécharger le rapport financier mensuel Chaque début de mois, en plus de la facture, un rapport financier est généré, puis mis à disposition dans l’espace sécurisé de votre compte (Administration > compte > documents > Rapports financiers). Il présente les montants totaux de crédit, de débit, de frais et de réserve de votre compte : Accès documents – Portail utilisateur de RCT Accès documents – Portail utilisateur de PROD Pour bien comprendre votre rapport financier :A) Le total des montants acquis / reçus sur votre compte au cours de la périodeB) Le montant net reçu sur votre compte, déduction faite de l’ensemble des frais selon le calcul « B = A – I »C) Le montant de la réserve détenue en garantie au jour de clôture de la périodeD) Le montant des fonds disponibles au jour de clôture de la périodeE) La valeur totale des fonds disponibles et en garantie enregistrée dans les livres de CentralPay au jour de clôture de la période selon la formule « E = C + D »F) La valeur totale des fonds retirés / transférés à la banque du marchand pendant la périodeG) Le total des frais de service et commissions facturées sur les transactions définies dans la grille tarifaireH) Total des frais d’opérations techniques : frais d’autorisation cartes, de contestation, de payout…I) Total des frais techniques et commissions ou « I = G + H » Exports de données 1/ Introduction Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports. 2/ Export des transactions cartes Accès Transactions – Portail utilisateur de RCT Accès Transactions – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des transactions cartes que vous avez réalisées au cours d’une période donnée.Cet export simplifie la lecture de vos transactions carte en agrégeant les opérations d’autorisations et de débit, et présente des données complémentaires spécifiques aux transactions cartes. L’export contient les données suivantes : Dé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 3/ Export des remboursements cartes Accès Remboursements cartes – Portail utilisateur de RCT Accès Remboursements cartes – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des remboursements cartes que vous avez réalisées au cours d’une période donnée. 4/ Export des contestations de transactions cartes Accès Contestations cartes – Portail utilisateur de RCT Accès Contestations cartes – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des contestations de transactions cartes (disputes/chargebacks) que vous avez reçues au cours d’une période donnée. 5/ Export des abonnements (cartes et SDD) Accès Abonnements – Portail utilisateur de RCT Accès Abonnements – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des abonnements cartes et SDD que vous avez réalisés au cours d’une période donnée. Webhooks 1/ Introduction Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (ou « Events ») qui surviennent sur votre compte CentralPay. Ces évènements correspondent à la création, au changement de donnée ou au changement de statut d’un objet des API CentralPay. Le service permet ainsi d’avertir en temps réel votre système d’information, dès qu’une opération est réalisée sur votre compte CentralPay. Par exemple, une transaction réussie ou échouée, la création d’une nouvelle souscription (abonnement), un nouveau client (Customer), la réception d’un impayé… Les webhooks sont classés en deux catégories : liés aux Points de Vente « POS » liés aux « Comptes » Le serveur distant doit confirmer la bonne réception de la requête en retournant un code 2XX. Dans le cas contraire, une nouvelle requête sera adressée toutes les 5 min pendant 2h. Pour s’assurer de la bonne réception des hooks, nous vous conseillons d’utiliser le service Webhook Site. Entrez l’URL donnée par le site et l’adresse mail, et effectuez vos tests. Une fois que vous êtes satisfait des réponses hooks, vous pouvez remplacer l’adresse mail et l’URL par les vôtres et effectuez un nouveau test. 2/ Liste des Webhooks Vous pouvez consulter la liste des webhooks depuis la rubrique Développeurs > Webhook notifications.
CARD Transaction Articles Card token Transaction Card Credit Disputes Card token See more about Card Token The Json « CardToken » object The « CardToken » object represents a debit/credit card token. Merchants usually want to be able to charge payment cards, IBAN or other without having to store sensitive data on their servers.Token.js makes this easy in the browser, but you can use the same technique in other environments with our token API. Tokens can be created with your publishable API key, which can safely be embedded in downloadable applications like iPhone and Android apps. You can then use a token anywhere in our API when a credit/debit card, bank account or any personal ID number is accepted. You need to add a header "Origin" with an URL previously added in your Back Office as an Authorized Custom form Host.For your tests, you can use the origin : https://example.centralpay.net. Transaction See more about card transactions Card See more about Card You can store multiple Cards per Customer in order to charge the customer later on (subscription, etc.). It can also be used to store multiple debit or credit cards on a recipient in order to transfer to these cards later. Note: If the card is already registered for this merchant, the API will return the previous cardId registered (not a new one). Credit See more about Credit Disputes See more about Disputes A dispute is opened when a customer questions a transaction with their bank or credit/debit card provider. When the transaction is tagged as a dispute, you can respond to the dispute with evidence that shows the charge is legitimate. If the transaction cannot be proven legitimate, the dispute will become a chargeback.
Offres commerciales CentralPay propose 2 modèles d’offres commerciales : Les offres Starter et Medium, intégrant un forfait mensuel fixe et des frais par transaction simplifiés (ou « blind rate ») Les offres Major, intégrant également un forfait mensuel fixe, mais avec des frais par transaction plus détaillés (ou « interchange++ ») Dans ces deux modèles, les offres CentralPay intègrent les frais d’interchange et de réseaux cartes qui sont facturés par les banques. Vous n’avez donc aucun surcoût à prévoir. Consultez le détail des offres CentralPay
Card See more about Card You can store multiple Cards per Customer in order to charge the customer later on (subscription, etc.). It can also be used to store multiple debit or credit cards on a recipient in order to transfer to these cards later. Note: If the card is already registered for this merchant, the API will return the previous cardId registered (not a new one).
API et interfaces Articles Utilisation des API CentralPay Portail utilisateur Portail client Portail d'inscription Utilisation des API CentralPay L’API utilise un protocole HTTP pour transporter et renvoyer toutes les réponses formatées en JSON. Les API CentralPay sont des API REST permettant de faciliter l’intégration de nos services de paiement. CentralPay mets à disposition de ses utilisateurs deux API : L’API « Core Payment » : pour toutes les fonctions liées aux opérations de paiement L’API « Onboarding » : pour toutes les fonctions liées à la création de comptes de paiement et de monnaie électronique (accessibles aux partenaires uniquement) 1/ Fonctions Toutes les fonctions utilisent les types « MIME » : « application/x-www-form-urlencoded » et « multipart/form-data ». Les fonctions utilisent les méthodes suivantes : Méthode HTTP POST pour la création ou la mise à jour d’un objet Méthode HTTP GET pour la recherche d’objets Méthode HTTP DELETE pour supprimer des objets 2/ Authentification L’API de CentralPay utilise l’authentification de base HTTP pour l’authentification. Toutes les demandes adressées à notre API doivent être authentifiées (intégrant le nom d’utilisateur et le mot de passe fournis par la plateforme) et doivent être effectuées via HTTPS. Vous pouvez récupérer vos identifiants API depuis votre Portail utilisateur : Administration Mon compte Technique Cliquez ensuite sur Identifiant API Modifier Générer Copiez le mot de passe API Mettre à jour Accès Compte Technique – Portail utilisateur de RCT Accès Compte Technique – Portail utilisateur de PROD NB : Certains services comme le cardToken requièrent la déclaration de votre MerchantPublicKey, également disponibles depuis les liens présentés ci-dessus. MerchantPublicKey La MerchantPublicKey permet de s’authentifier sur le service API cardToken qui ne nécessite pas d’autre type d’authentification et permet d’identifier un marchand.Cette clé est trouvable dans l’onglet Technique des détails de votre compte sur notre portail utilisateur : 3/ HTTP Request Toujours utiliser HTTP-Header pour les formats de sérialisation (user_agent, …) Le Content-Type (application/x-www-form-urlencoded ou multipart/form-data) doit être renseigné pour toutes les requêtes dans l’en-tête. L’utilisation du champ « Idempotence-Key » dans l’en-tête HTTP permet d’identifier la requête qui a été envoyée. Si la même valeur « Idempotence-Key » est envoyée à nouveau, la demande sera considérée comme déjà traitée et ne sera pas relancée. Ce contrôle permet au commerçant d’éviter d’envoyer des entrées en double. Cette clé doit être construite avec un hachage « sha1 » des paramètres de la demande (SANS date) concaténés comme ceci : Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) NB : La clé "Idempotence-Key" est valable 24 heures. 4/ HTTP Response Dans chaque réponse HTTP, le champ « Request-Id » est inscrit dans l’en-tête HTTP. NB : Si vous avez une demande spécifique à envoyer via l'API REST de CentralPay, veuillez contacter le support ou votre référent CentralPay. Portail utilisateur Le Portail utilisateur est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre compte CentralPay. Les comptes ayant des droits « Partenaires » peuvent également consulter l’activité des comptes de leurs sous-marchands. Accès Portail utilisateur de recette (RCT) Accès Portail utilisateur de production (PROD) 1/ Fonctionnalités Le Portail utilisateur permet notamment : De consulter les opérations comptables du compte De consulter les paiements par carte (« transaction ») De consulter les paiements par virement SEPA (« sctTransaction ») De consulter les paiements par prélèvement SEPA (« sddTransaction ») De créer et de consulter les demandes de paiement (« paymentRequest ») De créer et de paramétrer les profils clients (« customer ») De créer et de paramétrer les points de vente (« pointOfSale ») De paramétrer les notifications Smart Push (templates, scénarios …) D’initier et de gérer les paramètres de reversement (« payout ») De générer des exports et de télécharger les rapports financiers mensuels Pour les comptes « Partenaires » uniquement : De créer et de consulter les demandes d’onboarding (« merchant-enrollment ») De consulter les opérations et de paramétrer les comptes de leurs sous-marchands NB : Les comptes ayant des droits "Participant" (sous-marchands/participants de partenaires) peuvent uniquement consulter les opérations dont ils sont bénéficiaires ("transfer") et gérer leurs paramètres de reversement ("payout"). 2/ Les profils utilisateurs du Portail Ils représentent des personnes physiques pouvant accéder à un ou plusieurs comptes CentralPay ainsi qu’à tout ou partie des services du Portail utilisateur. 2.1/ Gestion des profils utilisateurs « Legal » et « Natural » Accès Portail utilisateur de RCT – Gestion des profils utilisateurs BO Accès Portail utilisateur de PROD – Gestion des profils utilisateurs BO Lors de la création du compte CentralPay, le responsable ayant réalisé l’onboarding (dirigeant ou personne physique disposant d’une délégation de pouvoir) se voit attribuer un profil utilisateur dit « Legal ». Il dispose ainsi de tous les droits administrateur du compte, mais également de droits légaux permettant de paramétrer les éléments les plus sensibles du compte : Paramètres du compte de paiement : Changement d’IBAN de sortie (payout) Changement des conditions de reversements sur compte bancaire Mise à jour des documents de société Paramètres des utilisateurs : Création de nouveaux utilisateurs « Legal » [à compléter] Une fois le compte créé, vous avez la possibilité de créer autant de profils utilisateurs que nécessaire en renseignant leur nom, leur prénom, leur email et leur rôle utilisateur (définissant les droits qu’ils auront sur le compte). Les profils ainsi créés sont nommés « Natural ». NB : Si vous disposez de plusieurs comptes CentralPay et que vos équipes doivent avoir accès à ces différents comptes, créez leur profil utilisateur depuis l’un d’entre eux, puis demander à CentralPay d’affecter leur profil à vos autres comptes. Ils bénéficieront ainsi d’un unique centralisé pour tous ces comptes. 2.2/ Gestion des rôles et droits des profils utilisateurs « Natural » Accès Portail utilisateur de RCT – Gestion des rôles utilisateurs BO Accès Portail utilisateur de PROD – Gestion des rôles utilisateurs BO Les droits des profils utilisateurs « Natural » sont régis par leur rôle utilisateur. Le rôle comprend une liste de droits (lecture seule, création, modification, suppression) paramétrables par service (transaction, demandes de paiement, règles d’acceptation…). Ces droits peuvent être différents en fonction des services sélectionnés. Les utilisateurs disposant des droits nécessaires peuvent créer des rôles pour chaque équipe de leur entreprise, cependant des rôles préétablis sont disponibles nativement : Standard Admin : Accès complet à toutes les fonctionnalités du Portail utilisateur (excepté les fonctionnalités admin). Attention, ce rôle comprend des accès à des services sensibles comme les règles d’acceptation, les whitelists, les blacklists, les créations d’utilisateurs Portail utilisateur, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API … Standard read only : [à compléter] [à compléter] Contactez le service client CentralPay si vous avez besoin d’aide pour la création de rôles personnalisés. Quelques précisions importantes concernant les rôles : Les rôles sont cumulables, un utilisateur peut ainsi se voir assigner plusieurs rôles Les droits des rôles sont héritables, ainsi un utilisateur ayant le droit de créer d’autres profils utilisateurs ne pourra affecter qu’un rôle similaire ou inférieur au sien. 2.3/ Gestion des catégories de point de vente Accès Portail utilisateur de RCT – Gestion des catégories de point de vente Accès Portail utilisateur de PROD – Gestion des catégories de point de vente Si vous avez le besoin de limiter l’accès d’utilisateurs à certains points de ventes, vous pouvez créer des catégories, les affecter à vos points de ventes puis les affecter à vos profils utilisateurs. Exemple : un utilisateur ayant des droits de création de demandes de paiement ne pourra le faire que sur les points de ventes de sa catégorie. Il ne pourra également visualiser que les demandes de paiement émises via les points de vente de sa catégorie. Contactez le service client CentralPay si vous avez besoin d’aide pour la création de catégories de point de vente personnalisées. 3/ Liste des types d’opérations visibles sur le Portail utilisateur Type d’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 Portail client Le portail client CentralPay est l’interface des profils clients (Customer). Il permet à vos clients de : consulter leur historique de paiement, d’administrer leurs opérations en cours (mise à jour de leur moyen de paiement par défaut, résiliation d’abonnement…) mais aussi d’interagir avec vous en cas de question concernant une opération (formulaire de contact). Ce portail est principalement utilisé pour l’administration des paiements récurrents par les clients. Les équipes conformité de CentralPay peuvent requérir que l’URL de ce portail soit intégrée dans le pied de page ou les conditions générales de votre site marchand. Pour s’y connecter, vos clients ont deux options : Via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre compte CentralPay : Accès portail client de RCT : https://test-customer.centralpay.net/home Accès portail client de PROD : https://customer.centralpay.net/home En direct via le lien communiqué dans les emails automatique de création d’abonnement / de paiement fractionné, ou en intégrant le CustomerID visible dans votre Portail utilisateur > Compte > Customer > Détail > CustomerId : Accès portail client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId] Accès portail client de RCT : https://customer.centralpay.net/customer/?uuid=[CustomerId] Portail d'inscription Le portail d’inscription de CentralPay permet la création d’un Compte CentralPay et d’un compte de paiement : de la création du profil utilisateur, jusqu’à la contractualisation, en passant par la collecte du KYC/KYB. Il interagit avec l’API Onboarding de CentralPay. Pour les comptes « Partenaires », il permet donc de créer des sous-marchands facilement depuis un portail hébergé par CentralPay, et d’ainsi éviter une intégration complète de l’API Onboarding. Pour adresser un lien d’onboarding à l’un de vos futurs sous-marchands, vous pouvez utiliser le service de création de compte de paiement. Accès au portail d’inscription de RCT Accès au portail d’inscription de PROD
Évolution de la plateforme Les API de CentralPay reposent sur une architecture en micro services apportant un maximum de flexibilité. Notre approche modulaire permet de faire constamment évoluer nos solutions afin d’apporter toujours plus de services et de fonctionnalités. Ces évolutions sont réalisées après des analyses d’impact poussées afin de ne pas provoquer de changement dans les intégrations de nos utilisateurs. Dans de très rares cas, celles-ci peuvent appeler des modifications mineures ou plus importantes lorsque des changements de régulations surviennent, comme ce fut le cas pour l’évolution vers la version 2.0 du 3DS par exemple. En cas d’évolution de la plateforme ou de modifications des attentes concernant la consommation de ses APIs, CentralPay s’engage à vous prévenir dans un délai correspondant à l’ampleur des actions à mener : Modifications mineures nécessitant aucune action du marchand ou partenaire :remise d’information simple Modifications mineures avec action nécessaire par le marchand ou partenaire :2 mois minimum de délai de prévenance + accompagnement à la réalisation Modifications majeures avec action nécessaire par le marchand ou partenaire :6 mois minimum de délai de prévenance + accompagnement à la réalisation À noter que les modifications nécessitant une action de nos marchands ou partenaires sont qualifiées d’exceptionnelles à inexistantes et que toutes les précautions sont prises pour éviter tout impact sur leur activité.
Comptes de paiement 1/ Introduction Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…). Ils permettent de stocker des fonds dans une devise ISO (EUR, USD, CHF, GBP…) et possèdent un IBAN/BIC qui lui est propre. Un compte de paiement est, sauf exception, associé à un compte bancaire ayant le même titulaire, permettant à CentralPay de réaliser des reversements automatiques par virement SEPA. Si vous disposez de plusieurs comptes bancaires sur lesquels vos fonds doivent être reversés, vous pouvez demander à votre contact CentralPay de créer le même nombre de comptes de paiement dans votre compte CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des reversements SEPA en conséquence.Il est également possible de créer plusieurs comptes de paiement à des fins de segmentation des fonds (avec un compte dédié aux opérations de commission ou de frais par exemple). Vous pouvez consulter le détail de vos comptes de paiements depuis ces accès : Comptes de paiement – Portail utilisateur de RCT Comptes de paiement – Portail utilisateur de PROD 2/ Utilisations Les comptes de paiement sont systématiquement utilisés pour les opérations de paiement de notre plateforme, à l’exception des opérations de monnaie électronique. 3/ Création de comptes de paiement Si vous êtes marchand CentralPay, vous pouvez adresser une demande par email aux équipes CentralPay pour la création de plusieurs comptes de paiement à votre nom. Cela afin de segmenter vos opérations ou d’ouvrir un compte dans une devise différente. Si vous êtes Partenaire MOBSP ou AGENT de CentralPay, vous pouvez créer des comptes pour vos sous-marchands en utilisant le service de création de comptes de paiement.
SDD return codes Return 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
Liens de paiement Articles Informations générales Demandes de paiement Page de paiement (SmartForm) Retours, statuts et hooks Informations générales 1/ Les deux modes d’intégration de Smart Collection La solution Smart Collection permet d’encaisser des paiements depuis divers moyens de paiement. Vous pouvez au choix : créer et intégrer vos propres parcours de paiement (intégration CUSTOM), en consommant les services API de chaque moyen de paiement : Transaction par carte Transaction par virement Transaction par prélèvement SEPA utiliser nos parcours de demande de paiement sécurisés (intégration SMART), grâce à notre service dédié : Demandes de paiement (PaymentRequest) NB : si vous choisissez l’intégration SMART, certaines fonctionnalités spécifiques comme les R-transactions, la gestion des libellés bancaires, la gestion des IBAN Virtuels… sont présentées dans la documentation dans les rubriques CUSTOM dédiées à chaque moyen de paiement. 2/ À propos de l’intégration SMART La demande de paiement permet de générer un lien de paiement menant à une page de paiement hébergée par CentralPay. Votre client peut ainsi vous régler selon les conditions de règlement que vous avez déterminé (moyens et modes de paiement autorisés, délais de règlement …). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé…). La demande de paiement doit être alimenté des conditions de règlement de votre panier ou de votre facture : Montant à régler Moyens de paiement acceptés (carte, virement, prélèvement, initiation de paiement) Modes de paiement acceptés (unitaire, par abonnement, paiement fractionné…) Référence de commande Description de commande Coordonnés clients Délais de règlement autorisé Délais d’expiration du lien … Le lien de paiement peut être adressé à vos clients depuis : vos tunnels de vente ou interfaces web, vos outils de communications (email, sms, courriers via QR code…) le service de notifications email / sms de CentralPay La page de paiement permet ensuite au client de réaliser sa ou ses transactions : Visualisation des informations de la demande de paiement Sélection du moyen ou mode de paiement Renseignement des données clients Renseignement des coordonnées de paiement Demandes de paiement 1/ Introduction La demande de paiement (ou PaymentRequest) est le service vous permettant de générer des liens de paiement. Vous pouvez créer des demandes de paiement par API ou via le Portail utilisateur. La demande de paiement peut également être couplé au service de notification de CentralPay, vous permettant d’adresser facilement un lien de paiement par email ou sms à vos clients et de programmer des relances automatisées. 2/ Création par API 2.1/ Créer une « PaymentRequest » Vous trouverez ci-dessous les moyens de paiement disponibles et les valeurs API correspondantes dans le service PaymentRequest : Moyen ou mode de paiement souhaitéValeurs API à renseignerPaiements unitairesTransaction par cartepaymentMethod[]=TRANSACTIONPré-autorisation sur carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION transaction[source]=DPVérification carte (transaction à 0 €)paymentMethod[]=TRANSACTION transaction[source]=RITransaction par virement bancairepaymentMethod[]=SCT_TRANSACTIONTransaction par prélèvement SEPApaymentMethod[]=SDDsdd[remittanceInformation]Transaction par initiation de paiementProchainementPaiements 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[]=TRANSACTIONpaymentMethod[]=SCT_TRANSACTION Attention, certaines combinaisons de moyens ou modes de paiement peuvent rentrer en conflits et votre PaymentRequest pourra retourner une erreur. Par exemple, vous ne pouvez pas autoriser une TRANSACTION et une SUBSCRIPTION, cependant vous pouvez autoriser une TRANSACTION et un INSTALLMENT. Voici les informations principales concernant d’autres valeurs à renseigner lors de la création d’une PaymentRequest : DésignationDé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 paiement.descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.additionalData[*]Donnée clé-valeur libre, vous permettant de transiter une ou plusieurs données (références de factures, numéro client etc…). N’est pas visible par votre client dans la page de paiement.createCustomerCréation TRUE / FALSE d’un compte Customer (permet notamment l’enregistrement du moyen de paiement client : carte, mandat SEPA, et création d’un IBAN virtuel dédié au Customer)breakdown[customerId]Sélection d’un Customer déjà existant NOTE : pour les transactions par virement SEPA, vous pouvez définir si vous souhaitez afficher l’IBAN Virtuel dédié au Customer ou générer un IBAN Virtuel à usage unique (SCT) depuis les paramètres de vos Points de Vente. 2.2/ Envoyer une PaymentRequest par email / sms Lors de sa création, vous pouvez demander à CentralPay d’adresser la demande de paiement à votre client. Il existe deux méthodes d’envoi : Via le mailer par défaut des PaymentRequest : CentralPay adresse la demande de paiement depuis un modèle d’email/sms standardisé et depuis l’email expéditeur renseigné dans votre point de vente (ou à défaut l’email expéditeur de CentralPay « no-reply@centralpay.eu »). Pour cela vous devez [à compléter] Via le service de notification email/sms de CentralPay : CentralPay adresse la demande de paiement selon le scénario et les modèles de communication que vous avez paramétrés. Ce service permet notamment l’automatisation de relances clients, basés sur les paramètres de la demande de paiement (délais de paiement, avancement du paiement…). Pour cela vous devez [à compléter] 2.3/ Fonctions spécifiques Demande de paiement à montant libre (multi-moyens de paiements) Il est possible d’autoriser la modification du montant à régler (avec pour maximum le montant initial), afin que vos payeurs puissent régler la somme due depuis plusieurs moyens de paiements ou à des moments différents. Par exemple sur une demande de paiement de 500€ : Régler 250€ en virement puis 250€ en carte Ou 300€ avec une première carte puis 200€ avec une autre. Ou régler 350€ avec une carte, puis revenir plus tard pour régler les 150€ restants avec cette même carte. Pour ce faire vous devez [à compléter] Envoyer une demande de paiement à plusieurs destinataires Il est possible d’adresser une demande de paiement à plusieurs destinataires avec un montant différent à régler pour chacun d’entre eux. Ainsi : Chaque participant reçoit une notification e-mail ou SMS détaillant l’objet du service à régler Les montants sont fixés par l’initiateur ou laissé libre à chaque participant qui règle le montant souhaité Les dates paramétrées à la demande (création, expiration…) permettent de générer des notifications vers chaque participant Pour ce faire vous devez [à compléter] 3/ Création depuis le Portail utilisateur 3.1/ Création et types de demandes de paiement Accès Demandes de paiement – Portail utilisateur de recette Accès Demandes de paiement – Portail utilisateur de production Vous pouvez créer une demande de paiement depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Créer. Les demandes de paiement créées depuis le Portail utilisateur sont obligatoirement adressées à vos clients par CentralPay. En fonction de vos besoins, vous devrez choisir l’un des types de demandes suivant : Demande instantanée : une demande simple, envoyée depuis les expéditeurs et les templates emails / sms standards de CentralPay. Demande programmée : une demande avancée, utilisant les modèles de communication, scénarios et règles d’envoi/de relance que vous aurez préalablement paramétrés depuis le service de notifications email/sms de CentralPay. Une demande programmée adressée sans avoir sélectionné de scénario de notification sera automatiquement requalifiée en demande instantanée. Une fois créée, vous pouvez accéder à la page de paiement en cliquant sur le détail de la demande de paiement > Formulaire de paiement. Ainsi, vous pourrez retransmettre à votre client l’URL de la page en cas d’erreur d’envoi. 3.2/ Les profils de demandes de paiement Afin de faciliter la création de demandes de paiement, vous avez la possibilité de créer des profils prédéfinis intégrant les principaux paramétrages de la demande : Point de vente Devise Langue Moyens de paiement autorisés Limite de paiement (délais de paiement contractuel) Expiration du lien (délais avant expiration du lien) Scénarios de notification Reroutage de l’email de confirmation de paiement Règles d’affichage (paramètres de la page de paiement) Création de Customer Pièces jointes Vous pouvez ensuite utiliser ce profil lors de la création de vos demandes de paiement programmées via le Portail utilisateur, ou via import de fichiers plats. 3.3/ Création de demandes de paiements par import de fichiers plats Depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Importer, vous pouvez déposer un fichier d’importation de demandes de paiement. Cette utilisation peut être recommandée pour les entreprises souhaitant adresser en fin de mois et relancer automatiquement une liste de créanciers. Vous pouvez télécharger le modèle de fichier ci-après : Modèle au format CSV Modèle au format JSON Quelques informations importantes : DésginationDé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) 1/ Introduction La page de paiement (aussi appelé SmartForm) est une page hébergée et sécurisée par CentralPay destinée à la collecte des données clients et de leurs coordonnées de paiement. Générée via le service de demande de paiement, elle permet à vos clients de visualiser les détails de cette demande (montant, référence de commande…) et de sélectionner un moyen de paiement autorisé avant de passer à l’étape de règlement. 2/ Paramétrage de la page Accès paramétrage formulaire – Portail utilisateur de RCT Accès paramétrage formulaire – Portail utilisateur de PROD Vous pouvez créer un ou plusieurs modèles de page afin de personnaliser votre parcours de paiement. Ci-dessous la liste des éléments paramétrables sur la page : DésignationDé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 dernier.URL de redirectionURL de redirection après paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.Délais de redirectionDélais de redirection vers l’URL de redirection après paiement. Champ vide : pas de redirection, 0 : redirection immédiate, autre valeur : nombre de secondes avant la 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 besoin.Couleur 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…). 3/ Personnalisation du logo affiché sur le SmartForm Le logo affiché sur le SmartForm est celui que vous aurez renseigné dans les paramètres du point de vente utilisé pour votre demande de paiement. Par défaut, le logo de CentralPay est affiché. Retours, statuts et hooks 1/ Statuts liés aux demandes de paiement Statuts Payment Request 2/ Webhooks liés aux demandes de paiement Les demandes de paiement permettant indirectement la création de transactions cartes, SCT et SDD mais aussi d’autres objets comme les Customer, Subscription ou Installment, selon les cas d’usages, il peut être utile de suivre les webhooks associés. Webhooks « PaymentRequest » Webhooks PaymentRequest Webhooks « Transaction » Webhooks Transaction Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « SDD Transaction » Webhooks SDD Transaction Webhooks « Customer » Webhooks Customer Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment
Frais d'interchange et réseaux cartes Introduction L’interchange correspond à la valeur chargée par l’établissement émetteur d’une carte de paiement (la banque de votre client) à l’établissement acquéreur (la banque du marchand). Les frais de réseaux carte (ou « Card Scheme Fees ») correspondent aux frais pris par les réseaux carte (Visa, Mastercard, CB) pour faire fonctionner le service. Des termes ont été définis pour désigner l’assemblage de ces frais : Interchange+Les frais d’Interchange + les frais des réseaux cartes (card scheme fees). Interchange++Les frais d’Interchange + les frais des réseaux cartes (card scheme fees) + les frais de service de l’établissement (CentralPay) Toutes les offres commerciales de CentralPay intègrent les frais d’Interchange+ ainsi que nos propres frais de service, vous n’avez donc aucun frais bancaire supplémentaire à prévoir pour réaliser vos transactions. 1/ Frais d’interchange et réseaux carte (E-commerce) Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)Carte de débit ou prépayéCB, VISA, MASTERCARD0,2 %1,15 %Carte de crédit ou débit différéCB, VISA, MASTERCARD0,3 %1,5 %Carte professionnelleCB0,9 %/Carte professionnelleVISA1,45 %2 %Carte professionnelleMASTERCARD1,45 %2 %Toutes cartesAMERICAN EXPRESSAucunAucun Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)Réseau CB (Cartes bancaires)0,015 %/Réseau VISA0,070 %0,70 %Réseau MASTERCARD0,171 %0,951 %Réseau AMERICAN EXPRESS1,600 %2,400 % 2/ Frais d’interchange et réseaux carte (paiement de proximité) Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)Carte de débit ou prépayéCB, VISA, MASTERCARD0,2 %1,15 %Carte de crédit ou débit différéCB, VISA, MASTERCARD0,3 %1,5 %Carte professionnelleCB0,9 %/Carte professionnelleVISA1,45 %2 %Carte professionnelleMASTERCARD1,45 %2 %Toutes cartesAMERICAN EXPRESSAucunAucun Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)Réseau CB (Cartes bancaires)0,015 %/Réseau VISA0,014 %0,322 %Réseau MASTERCARD0,061 %0,240 %Réseau AMERICAN EXPRESS1,600 %2,400 %
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
Entrée en relation Articles Étapes d'entrée en relation Modèle "Marchand" Modèle "Intégrateur" Modèle "Partenaire" Déclaration partenaires MOBSP Déclaration partenaires Agent Déclaration partenaires DME Étapes d'entrée en relation Voici les étapes d’entrée en relation vous permettant d’accéder à la plateforme CentralPay. Notez que pour les partenaires, des étapes complémentaires peuvent être demandées. Qualification de votre projetLes équipes commerciales qualifient votre projet lors d’un échange email ou d’un appel visio : parcours de paiement et moyens de paiement souhaités, méthodes d’intégration possibles, typologie de clients adressé, volumétrie de votre projet… Acceptation de l’offre commercialeLes équipes commerciales vous adressent nos offres commerciales correspondant à vos besoins et votre activité. En retour, elles attendent de votre part le choix de l’offre et un premier accord de principe. Analyse risque de votre projetVotre structure et votre projet sont analysées par nos équipes conformité afin de déterminer si nous pouvons entrer en relation d’affaires, et selon quelles conditions (mesures de gestion du risque financier, de gestion de la fraude…) Initiation du projetVous recevez les accès à votre environnement de test et aux documentations correspondantes afin de commencer votre intégration CentralPay. Si vous avez souscrit à l’une de nos offres d’accompagnement, une réunion d’initiation du projet est organisée avec vos référents CentralPay (service commercial, service client et service intégration). Cette réunion permet notamment de guider vos équipes techniques dans leur appréciation des API CentralPay, et de prévoir les paramétrages à réaliser sur votre compte (notifications, reversements, profils utilisateurs…). Création du compte CentralPayEn parallèle de l’intégration technique, le service client CentralPay adressera un lien d’inscription permettant la création de votre compte au responsable légal de votre structure. Il devra soumettre les informations et les documents justificatifs de votre structure avant de signer électroniquement le contrat CentralPay. Suite à l’inscription, des documents supplémentaires peuvent être demandés par le service conformité de CentralPay. Consulter le contrat cadre de services de paiement En cas de besoin, le responsable légal de votre structure peut désigner un mandataire pour réaliser l’inscription CentralPay et être titulaire du compte CentralPay à sa place. Un modèle de délégation de pouvoir est disponible sur demande. Mise en productionAprès avoir validé votre compte, votre intégration et le règlement de vos factures en attente, une date de mise en production vous sera demandée. À cette date, votre compte sera débloqué et vous pourrez encaisser vos premières transactions. Modèle "Marchand" 1/ Description du modèle Le modèle « Marchand » est adressé aux personnes morales réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA 2/ Frais et commissions CentralPay vous facture un forfait plateforme fixe ainsi que les frais de service liés aux opérations réalisées sur votre compte. CentralPay prélève ces frais de service sur votre compte de paiement principal ou votre compte de commission dédié. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de virement SEPA vous sera adressée. Les frais mensuels fixes sont eux prélevés mensuellement par prélèvement SEPA, demandés annuellement par virement SEPA ou prélevés sur votre compte selon les conditions de votre contrat. Modèle "Intégrateur" 1/ Description du modèle Le modèle « Intégrateur » est adressé aux éditeurs de solutions, souhaitant proposer une intégration technique clé-en-main de CentralPay à ses utilisateurs. Ils peuvent intégrer tout ou partie de la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA Mais également tout ou partie de la solution Easy Wallet, incluant notamment : Les services de création de comptes Les services de transfert des paiements 2/ Spécificités lors de l’entrée en relation L’intégrateur n’a pas à suivre les étapes d’entrée en relation classique. Contrairement aux marchands ou partenaires, un intégrateur ne crée pas de compte CentralPay. Il permet uniquement à ses utilisateurs également marchands de CentralPay d’accéder plus facilement à notre plateforme technique via sa solution. CentralPay contractualise et facture ses marchands en direct, sans intervention de l’intégrateur. Le marchand peut ensuite créer des accès API dédiés à l’intégrateur et lui communiquer afin qu’il renseigne son compte CentralPay via son intégration. CentralPay est lié avec l’intégrateur par un contrat intégrateur spécifiant les conditions d’utilisation de nos API. Modèle "Partenaire" 1/ Description du modèle Le modèle « Partenaire » est adressé aux personnes morales souhaitant piloter des opérations d’encaissement pour compte de tiers (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA Mais également la solution Easy Wallet, incluant notamment : Les services de création de comptes Les services de transfert des paiements 2/ Explications du modèle de partenariat Gérer des encaissements pour compte de tiers est une activité nécessitant un agrément hautement contrôlé et impliquant des responsabilités et des risques forts (blanchiment, financement du terrorisme, risque financier…). En savoir plus sur les agréments de CentralPay De ce fait, CentralPay est responsable des opérations de paiement réalisées par ses marchands et partenaires. Bien que de nombreuses opérations techniques puissent vous être déléguées, les opérations de paiement seront toujours effectuées par CentralPay. Ainsi, pour limiter au maximum votre responsabilité, CentralPay doit avoir une relation directe avec vos sous-marchands. Vos utilisateurs accèdent à leurs comptes CentralPay depuis votre environnement incluant des services API de CentralPay, et peuvent si besoin se connecter à notre Portail utilisateur. Vous disposez de vos propres conditions générales pour cette relation avec vos utilisateurs. Les frais que vous leur facturez pour accéder à vos services doivent être définis dans vos conditions générales. Bien qu’en relation directe avec vos sous-marchands, CentralPay ne se substitue pas à votre rôle de partenaire. Nous entrons principalement en contact avec vos sous-marchands lors de la création de leur compte de paiement et lors des mises à jour règlementaires de leurs documents justificatifs. Lorsque vos utilisateurs ouvrent des comptes CentralPay, ils acceptent et signent les conditions générales d’utilisation de CentralPay depuis notre portail d’inscription. Dans le même temps, ils acceptent que vous puissiez effectuer certaines opérations via votre intégration. 3/ Frais et commissions Commissions partenaire : Vous facturez vos services à vos utilisateurs selon vos propres conditions générales. Vous pouvez préciser le montant de vos commissions dans chaque opération réalisée sur la plateforme. CentralPay se chargera de les prélever sur le compte de paiement de votre sous-marchand et de les transférer à votre compte de commission dédié. Notez que CentralPay peut contrôler vos opérations pour s’assurer que la règlementation soit respectée. Par exemple, CentralPay peut vérifier que vos commissions prélevées par le biais de la plateforme correspondent bien à vos conditions générales. Frais CentralPay : CentralPay vous facture un forfait plateforme mensuel ainsi que des frais de service lié aux opérations réalisées pour vos sous-marchands. CentralPay prélève ces frais de service sur votre compte de commission. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de chargement par virement SEPA vous sera adressée. Le forfait plateforme sera lui prélevé mensuellement par prélèvement SEPA, demandé annuellement par virement SEPA ou prélevé sur votre compte de commission selon les conditions de votre contrat. 4/ Les trois types de partenaires Le partenaire MOBSPdestiné aux plateformes de ventes de biens ou de services standards (marketplace B2B ou B2C, éditeurs de solutions…). Ce modèle nécessite votre déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement (MOBSP) auprès de l’ORIAS. Le partenaire DMEdestiné aux plateformes de ventes de biens ou de services entre particuliers (marketplace C2C) ou des éditeurs de solutions souhaitant développer des services de porte-monnaie électronique pour leurs particuliers utilisateurs.Ce modèle nécessite la déclaration d’un statut de Distributeur de Monnaie Électronique par CentralPay à l’ACPR. Le partenaire Agentdestiné aux plateformes de ventes de biens ou de services souhaitant commercialiser des services de paiement ou des plateformes financières ayant besoin de piloter des transferts de valeurs avancés entre les comptes CentralPay de leurs utilisateurs.Ce modèle nécessite la déclaration d’un statut d’Agent Prestataire de Services de Paiement par CentralPay à l’ACPR, et son acceptation par cette dernière. 5/ Spécificités lors de l’entrée en relation En plus des étapes d’entrée en relation classique, les partenaires doivent suivre des étapes complémentaires : Signature du contrat partenaireLes équipes commerciales de CentralPay vous adresseront un document à signer électroniquement avant l’étape d’initiation de votre projet. Déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement auprès de l’ORIAS (partenaire MOBSP seulement) Déclaration en tant que Distributeur de Monnaie Électronique à l’ACPR (partenaires DME seulement) Demande du statut d’Agent Prestataire de Services de Paiement à l’ACPR (partenaires Agent seulement) 6/ Spécificités liées au suivi de l’activité Il est important de noter que des réglementations s’appliquent à toute entité souhaitant devenir Agent ou DME d’un établissement financier, et que ces réglementations doivent être scrupuleusement respectées. 6.1/ Formation LCB-FT À ce titre, une formation de deux (2) heures en matière de LCB-FT (lutte contre le blanchiment de capitaux et de financement du terrorisme) est dispensée par CENTRALPAY à tout nouvel agent ou DME, dans un délai de trois (3) mois à compter du début de son activité en tant que tel : Cette formation s’adresse aux dirigeants et aux membres du personnel du partenaire qui participent à la mise en œuvre des prestations externalisées. Le partenaire devra désigner un maximum de 10 personnes pour participer à la formation. La formation aura lieu à distance. À l’issue de la formation, CENTRALPAY remettra aux participants à la formation un support de formation CENTRALPAY s’engage à informer le partenaire de toutes modifications qui interviendraient en matière de LCB-FT, afin que le partenaire puisse procéder à l’actualisation des connaissances de ses salariés. Le partenaire s’engage à assurer la formation de tout nouvel employé. CENTRALPAY pourra exiger que le personnel du partenaire suive des formations supplémentaires tout au long de la relation d’affaires en cas d’insuffisance constatée. 6.2/ Reporting Par leur statut régulé, les partenaires DME et Agent sont soumis au contrôle de leur établissement et ont un devoir de reporting régulier envers ce dernier. Pour permettre à CENTRALPAY de contrôler les activités externalisées, le partenaire s’engage à communiquer à CENTRALPAY les reportings suivants : Un reporting trimestriel sur la gestion des réclamations : date de réception date de traitement nature de la réclamation solution apportée date de résolution Un reporting trimestriel sur la gestion des remboursements (réalisés hors de la plateforme CentralPay) : % de remboursement, délai moyen de remboursement avec une extraction des remboursements effectués Un reporting trimestriel sur la gestion des incidents : En sus des déclarations d’incidents constatés au fil de l’eau Lors de votre entrée en relation, CentralPay vous transmettra une liste et une trame de reporting que vous devrez alimenter et renvoyer périodiquement à CentralPay à partir de votre date de mise en production. Cette trame a été conçue pour simplifier au maximum les tâches de reporting qui vous incombent. 6.3/ Manquement contractuel En cas de non-réalisation ou retard significatif vis-à-vis des devoirs de formation ou de reporting du partenaire, CentralPay se réserve le droit d’interrompre ou de résilier le contrat de partenaire. Déclaration partenaires MOBSP Introduction Avant de lire cette page, veuillez consulter la rubrique dédiée à l’entrée en relation pour les partenaires. Les partenaires CentralPay basés en France opèrent avec le statut d’intermédiaires en opérations de banque et en service de paiement (IOBSP), plus précisément en tant que Mandataires en Opérations de Banques et Services de Paiement (MOBSP). Pour devenir partenaire MOBSP de CentralPay, vous devez vous déclarer à l’ORIAS. CentralPay devra ensuite vous déclarer en tant que son mandataire. Votre partie peut être réalisée en quelques heures, celle de CentralPay prend quelques jours. L’ORIAS peut quant à elle prendre jusqu’à deux mois pour examiner votre demande. Bien que ce processus vous incombe, CentralPay peut vous assister en cas de besoin. Contactez notre service client en cas de besoin. 1/ Préparez vos données 1.1 Obtenez votre attestation de mandat Après avoir signé votre contrat de partenariat avec CentralPay : 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. Déclaration partenaires Agent 1/ Introduction L’ACPR (Autorité de contrôle Prudentiel et de Résolution) est un organe de la Banque de France. En tant que régulateur, elle seule détermine la validation ou non des Agents d’un Établissement comme CentralPay. L’ACPR traite uniquement avec ses Établissements agréés, le futur Agent ne peut donc pas échanger en direct avec elle. La déclaration d’un Agent Prestataire de Services de Paiement se déroule en trois étapes : Le montage et la soumission du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur Agent, Le traitement des demandes de l’ACPR concernant le dossier : réalisé par CentralPay avec l’aide de son futur Agent, La décision d’acceptation : émise par l’ACPR à CentralPay. 2/ Responsabilités de l’Agent CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment : L’activité de votre sous-marchand ; La réalité économique de l’opération ; La lutte contre la fraude. Les Établissements régulés qui font appel à des Agents restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place. Un statut d’agent passe par : La contractualisation d’un contrat Cadre d’Agent de paiement qui définit les relations entre les parties ; Des CGU vendeurs. Dans le cas où un agent internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC. 3/ Devenir Partenaire Agent CentralPay Devenir Agent de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs mois. Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs. 3.1/ Résumé des étapes Compréhension du modèle Explication des services apportés par le partenaire Définition de son modèle d’affaires Validation par les services Juridique et Conformité de CentralPay Offre commerciale Présentation Validation Validation du Partenaire par les services Juridique et Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le Partenaire 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 d’agrément d’Agent Présentation du dossier de déclaration de l’agent auprès de l’ACPR Mise en production Validation en environnement de test (environnement de recette) Mise en production 3.2/ Pièces à fournir à CentralPay Pré-constitution du dossier : CGU service de paiement Définition des activités régulées utilisées par le Partenaire, description des services attachés aux prestations régulées, modèle d’affaires Organigramme de la société ou du groupe le cas échéant avec son effectif réparti par service Structure de l’actionnariat Flux prévisionnels qui seront confiés à CentralPay au cours des 3 prochaines années Nombre d’enrôlements prévisionnels au cours des 3 prochaines années Reprise éventuelle de KYC existant dans le cadre d’une migration Préparation du contrat d’Agent. Déclaration de l’agent auprès du régulateur :Signature du contrat d’Agent ; Le Service Juridique CentralPay se charge de constituer le dossier de déclaration et collecte les pièces suivantes :Kbis de moins de 3 mois de la société et des sociétés gérantes le cas échéant ; Statuts à jour de la société et des sociétés gérantes le cas échéant datés et signés par un représentant légal ; Pièce d’identité en couleur des dirigeants ; CV des dirigeants daté et signé ; Casier judiciaire des dirigeants ; Déclaration de non-condamnation des dirigeants ; Répartition de la détention de parts de la société ; Kbis des personnes morales actionnaires le cas échéant et Organigramme Groupe si applicable ; PV d’AG si des changements juridiques ont eu lieu récemment (fusion, actif inférieur à la moitié du capital social, changement de direction, etc.) ; Peuvent être demandés également lors de l’instruction : Derniers bilans et compte de résultats ; États financiers de l’année en cours et/ou de l’année venant de s’écouler ; Toute pièce jugée utile à la demande du régulateur. 3.3/ Délais d’instruction Une fois la totalité des pièces collectées, le service Juridique instruit le dossier dans un délai d’environ 2 semaines. L’ACPR dispose ensuite d’un délai de deux mois pour répondre, les premières questions arrivent généralement sous 30 jours. L’ACPR adresse en général des questions complémentaires et/ou des demandes de documents complémentaires en fonction de la situation et/ou de l’activité de votre société. 3.4/ Instruction finalisée et agent déclaré Une fois le dossier validé par l’ACPR, l’Agent est réputé pouvoir démarrer son activité avec CentralPay. Votre société peut donc désormais commencer à encaisser via CentralPay et faire ouvrir des comptes de paiement à ses clients. À l’issue de l’instruction par le régulateur et l’Agent validé, il est référencé dans les registres de l’ACPR et reçoit un numéro d’enregistrement qu’il doit utiliser dans ses communications et ses CGU. 3.5/ Particularités d’un agent spécialisé dans le domaine du télécom Un agent travaillant dans le domaine du télécom, c’est-à-dire réalisant des encaissements via des appels sur des numéros surtaxés, se doit de produire un récapitulatif des minutes de téléphone réalisées sous chaque opérateur téléphonique. Lors de la réception du virement de l’opérateur téléphonique chez CentralPay, ce récapitulatif doit être fourni à CentralPay. De plus, le calcul de la répartition des opérations devant être envoyées à chaque marchand via CentralPay doit également être envoyé au Service Conformité. Le Service Conformité de CentralPay consigne ces informations et s’assure que les marchands ont bien été crédités de leurs encaissements. Déclaration partenaires DME 1/ Introduction Les Établissements émetteurs de monnaie électronique comme CentralPay peuvent mandater des Distributeurs de Monnaie Électronique (DME) afin de collecter des fonds et d’assurer les échanges permettant l’achat et le remboursement de ME dans un réseau de participants défini. La déclaration d’un Distributeur de Monnaie Électronique se déroule en deux étapes : Le montage du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur DME, L’instruction du dossier à l’ACPR : réalisé par CentralPay. Elle ne nécessite pas de validation particulière de l’ACPR. 2/ Responsabilité du partenaire DME CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment : La réalité économique de l’opération ; La lutte contre la fraude. Les Établissements régulés qui font appel à des distributeurs restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place. Un statut de Distributeur de Monnaie Electronique passe par : La contractualisation d’un contrat Cadre de Distribution de Monnaie Électronique qui définit les relations entre les parties ; Des CGU d’utilisation de Monnaie Électronique. Dans le cas où un DME internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC ou réalise des interfaces de gestion qui ne permettrait pas à CentralPay d’assurer l’exécution du service sans le concours du PSEE. 3/ Devenir partenaire DME Devenir Distributeur de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs semaines. Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs. 3.1/ Résumé des étapes Compréhension du modèle Explication des services apportés par le partenaire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du Partenaire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le Partenaire 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 3.2/ Pièces à fournir à CentralPay Prochainement
Comptes de ME 1/ Introduction Uniquement réservé aux Partenaires DME et à leurs utilisateurs. Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un partenaire DME). Un partenaire DME peut demander la création de comptes de ME pour les participants de son réseau puis réaliser des transferts de fonds en ME entre ces comptes. Le titulaire d’un compte de ME ne peut recevoir des paiements et utiliser sa monnaie électronique que par l’intermédiaire du partenaire DME. Il peut cependant demander le remboursement de sa monnaie électronique à tout moment et recevra ses fonds en devise ISO : soit sur son compte bancaire par virement SEPA, soit sur sa carte bancaire, selon les paramétrages de son compte. Vous pouvez consulter le détail de vos comptes de ME depuis ces accès : Comptes de ME – Portail utilisateur de RCT Comptes de ME – Portail utilisateur de PROD 2/ Utilisations Les comptes de ME sont principalement utilisés pour permettre à des personnes physiques de recevoir et d’échanger facilement des fonds dans les contextes suivants : Marketplaces C2C de produits ou de services Stockage et utilisation de valeurs cadeaux au sein d’un réseau de commerçants indépendants 3/ Spécificités Le CMF (Code Monétaire et Financier) présente des conditions spécifiques pour la monnaie électronique. Ainsi, il existe deux types de comptes de ME chez CentralPay : Compte de ME anonyme : ce compte peut être ouvert sans vérification d’identité du titulaire, à condition qu’il soit adressé à une personne physique et soit limité à 150 € de solde ou d’encaissement sur 30 jours. Ce type de compte est particulièrement utile dans le cadre d’une utilisation ponctuelle du compte par son titulaire, ou tout simplement pour simplifier l’entrée en relation avec le partenaire DME. Compte de ME vérifié : un compte anonyme peut être ensuite vérifié par les équipes conformité de CentralPay (procédure KYC) pour augmenter les limites qui lui étaient imposées, il devient ainsi « vérifié ». 4/ Création de comptes de ME Si vous êtes Partenaire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos participants.
Principes de réserve La réserve représente les sommes qui sont maintenues sur votre compte CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) liés à des opérations de paiement. Ses paramètres sont définis en fonction du profil de risque financier de votre compte, et sont actualisés en fonction de l’analyse de vos R-transactions sur une période suffisante. Les transactions récurrentes par prélèvement SEPA et par carte bancaire sont particulièrement sujets au risque de R-transactions. CentralPay possède 3 types de garanties de protection qui peuvent s’appliquer aux marchands, en fonction de la nature de leur contrat : 1/ Le collatéral Il représente la somme fixe versée en début de relation, servant à couvrir le risque de crédit dans le cas où le marchand ne pourrait pas satisfaire ses obligations de remboursement envers ses clients. Le détail du Collatéral est visible depuis le Portail utilisateur : Administration Reversements Somme des cautions 2/ Le pied de compte En l’absence de Collatéral, une somme fixe peut être prélevée directement sur les opérations afin de garantir le remboursement des clients en cas de besoin. Le wallet doit donc dépasser la valeur du pied de compte pour autoriser les reversements (payout). Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil fixe 3/ La réserve glissante Selon le secteur d’activité et les processus de règlement du compte, une réserve glissante (« rolling réserve » en anglais) peut être automatiquement ouverte. Il s’agit d’une garantie de protection supplémentaire qui permet de maintenir un certain pourcentage du volume d’encaissement marchand sur le compte CentralPay afin de permettre l’initiation de remboursements automatiques en cas de contestation de transaction, de fraude ou encore afin de couvrir d’éventuels frais opérationnels. Cette somme appartient à la trésorerie du marchand, elle est gardée un nombre défini de jours avant d’être libérée (généralement entre 90 à 180 jours). Par exemple, le seuil variable de la réserve glissante est de 5% du volume d’encaissement sur 90 jours. Le calcul quotidien du montant de réserve est le suivant : montant des transactions encaissées lors des 90 derniers jours * 5% Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil variable
Transaction par carte Articles Informations générales Formulaire de paiement CUSTOM Authentification 3DS 2.0 Transaction carte Transaction carte récurrente Transaction carte via wallet R-transaction carte Email de confirmation Libellé relevé bancaire Gestion des devises Gestion des cartes virtuelles (VCC) Retours, statuts et hooks Informations générales 1/ Introduction Une transaction carte comprend une succession d’actions : Authentification 3DS 2.0 :Elle permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client : Si les données ne concordent pas ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »). Sinon, elle autorise directement le paiement (« Frictionless »). Autorisation bancaire :Demande effectuée par CentralPay à la banque du payeur permettant de vérifier la validité et la provision de sa carte. Les fonds « autorisés » sont bloqués jusqu’à la réalisation de la capture des fonds. Si aucune capture n’est réalisée sous un délai de 7 jours, les fonds « autorisés » sont libérés et le marchand devra renouveler son autorisation.Pour les activités éligibles (location, hôtellerie…), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours. Capture :La capture permet d’initier le débit de la carte sur la base d’une autorisation ou d’une pré-autorisation. Un marchand peut réaliser une capture complète ou partielle du montant autorisé. 2/ Types et réseaux de cartes acceptés : Les cartes de paiement sont émises par les banques ou les établissements de paiement agréés, elles peuvent être badgées par un ou plusieurs réseaux de carte (aussi nommés « Card Scheme »). Les réseaux acceptés par CentralPay sont : Carte Bancaire VISA MasterCard American Express En France, la majorité des cartes émises sont co-badgées CB et VISA ou CB et Mastercard. Dans ce cas, le client doit avoir la possibilité de choisir le réseau qu’il souhaite utiliser. Les cartes peuvent être de débit ou de débit différé / crédit (en France la majorité des cartes sont de débit), et peuvent être des cartes de particulier (dit « Consumer ») ou des cartes de professionnels (dit « Corporate »). À noter que ces paramètres impactent le coût de la transaction pour le marchand (interchange bancaire et frais de réseaux carte). Formulaire de paiement CUSTOM 1/ Introduction Le service API Transaction permet d’opérer une autorisation puis une capture de la carte de paiement de votre client. Les différents modes de paiement par carte sont pilotés via ce même service. Pour initier la première transaction d’un client encore inconnu, vous devez d’abord collecter les données de sa carte de paiement en générant un « cardTokenId » via le service de tokenisation de CentralPay « token.js ». Un objet « card » sera ensuite retourné en tant que « cardId », pourra être enregistré dans un « customer » et ensuite être utilisé lors des prochaines transactions de ce client (pour des paiements en 1 clic ou des paiements récurrents). Attention, avec le Custom Form, vous devrez également intégrer le processus d’authentification 3DS 2.0 avant d’initier vos transactions. Schéma de transaction avec « cardTokenId » via le service « token.js » : Note : Si vous disposez déjà des données de la carte dans votre système et que vous disposez d’un agrément PCI-DSS level 1, vous pouvez directement utiliser le sous-objet « card » en adressant toutes les données de la carte de paiement (BIN, date d’expiration, CVC). 2/ Prérequis Déclarez les domaines autorisésDéclarez les domaines sur lesquels vos formulaires de paiement CUSTOM vont être hébergés. Allez sur votre Portail utilisateur > Administration > Mon compte > Onglet Technique > cliquez sur « Modifier » > Déclarez vos domaines dans « Hosts Custom Forms autorisés » Accès Portail utilisateur de RCT – Compte > Technique Accès Portail utilisateur de PROD – Compte > Technique Sécurisez vos pages de paiement Utilisez TLS (1.2 min) (Transport Layer Security) afin qu’elles utilisent les protocoles HTTPS requis par la norme Passez en revue et validez la conformité PCI de votre service chaque annéeGrâce à la combinaison de « CUSTOM + TOKEN.JS », vous gérez vous-même vos formulaires de paiement pour une expérience de paiement optimisée. Cette méthode implique que vous initialisez les paiements sur vos serveurs et vous devez vous conformer au niveau PCI-DSS SAQ A-EP. Vous pouvez télécharger le formulaire SAQ A-EP ici. 3/ Création d’un formulaire de paiement par carte (WEB) Ce tutoriel explique comment utiliser le langage HTML et Token.js pour obtenir un cardTokenID afin de créer une transaction depuis votre propre formulaire de paiement CUSTOM. Le Token.js est le JavaScript que nous mettons à votre disposition pour vous aider à implémenter le premier composant dont vous avez besoin pour créer un cardTokenID. Une fois que vous obtenez un cardTokenId, vous serez en mesure d’initialiser une transaction pour débiter la carte de votre client. Consultez nos exemples en ligne de formulaires CUSTOM FORM : Exemple de formulaire Custom Form sans 3DS 2.0 Exemple de formulaire Custom Form avec 3DS 2.0 3.1 Créer un formulaire de paiement HTML Contrairement à la page de paiement SMART FORM qui est généré et hébergé par CentralPay, le CUSTOM FORM doit être créé et intégré par vos soins. Vous devez donc générer le code HTML qui convient à votre parcours de paiement, avec notamment les champs suivants : Numéro de carte (16 digits pour CB, Visa, Mastercard – 15 digits pour Amex) Date d’expiration (MM/AAAA) CVC (3 digits pour CB, Visa, Mastercard – 4 digits pour Amex) 3.2 Envoyer les informations de carte avec le Token.js Envoyez les données cartes du navigateur du client à la plateforme PCI-DSS de CentralPay qui vous adressera un cardTokenId en retour. Pour ce faire, vous devez ajouter dans le <body> le tag ci-dessous : Tag du Token.js de recette : <script src="https://test-js.centralpay.net/js/token.js"></script> Tag du Token.js de production : <script src="https://js.centralpay.net/js/token.js"></script> Ajoutez également votre merchantPublicKey dans un tag séparé : <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('8ce4b92abd7c3110e2033ffbfa7cca0f097a66f1f1d267ff6c94429884ed82ac') : alert('Error loading html form'); </script> /!\ La merchantPublicKey identifie vos requêtes vers la Plateforme. Remplacez celle présente dans l’exemple ci-dessus par la vôtre. Consultez notre rubrique sur l’Authentification de nos API pour connaitre comment la récupérer. 3.3 Réceptionner le cardTokenID dans votre système Récupérez le cardTokenID qui vous a été retourné dans le JavaScript afin de pouvoir soumettre votre requête à la plateforme. Toutes les données de la carte sont maintenant stockées dans cardTokenID pendant une durée de 5 min. C’est donc cette valeur que vous devrez transmettre à notre API et en aucun cas les données brutes de la carte bancaire. 3.4 Créer une transaction à l’aide de la cardTokenID Maintenant que vous êtes en possession du cardTokenID, vous êtes prêts pour initialiser une transaction. À la différence des étapes précédentes qui se déroulent depuis le navigateur, celle-ci sera exécutée depuis vos serveurs. Consultez les pages dédiés au mode de paiement par carte que vous souhaitez intégrer : Transaction par carte unitaire (standard, capture différée, vérification carte, MoTo, en 1 clic) Transaction par carte récurrente (abonnement, fractionné) Ou consultez directement le swagger du service API Transaction pour avoir plus de détails techniques. 3.5 Sauvegarder les informations d’une carte dans un profil client Le cardTokenId n’est utilisable qu’une seule fois. Si vous prévoyez d’utiliser les données de la carte ultérieurement (paiement en 1 clic, paiement récurrent…), vous devez donc créer un Customer et y enregistrer une Card. Ainsi, la prochaine fois, au lieu d’utiliser un nouveau cardTokenId, vous utiliserez le customerID correspondant. 4/ Créer un formulaire de paiement par carte (APP) Les marchands veulent généralement pouvoir débiter des cartes de paiement sans avoir à stocker des données sensibles sur leurs serveurs. Notre javascript Token.js rend cela simple depuis un navigateur web, mais vous pouvez utiliser la même technique dans d’autres environnements avec notre cardToken. Ces tokens sont créés grâce à votre merchantPublicKey, qui peut être intégrée en toute sécurité dans des applications téléchargeables telles que les applications iPhone et Android. Vous pouvez ensuite utiliser ces Tokens pour initier vos transactions. Vous devez ajouter un header « Origin » avec une URL précédemment déclaré dans vos domaines autorisés (voir 2/ Prérequis).Pour vos tests, vous pouvez utiliser l’Origin : https://example.centralpay.net Authentification 3DS 2.0 Le protocole 3D Secure 2.0 permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client : Si les données ne sont pas concordantes ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »). Sinon, elle autorise directement le paiement (« Frictionless »). Il existe deux types de 3DS, selon si vous souhaitez initier une transaction classique (pour laquelle le porteur est présent) ou si vous exécutez une échéance de paiement récurrent (pour laquelle le porteur n’est pas présent) : Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction)Représente la majorité des intégrations de 3DS 2. Il requiert l’authentification du client afin de vérifier qu’il est bien le porteur légitime de la carte au moment de la transaction. Il déclenche si nécessaire un challenge qui vérifie l’identité du porteur de carte (SCA).Découvrez comment intégrer le 3DS 2.0 BRW Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents)3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand lorsque le porteur n’est pas présent ou non participant. 3RI offre la possibilité de générer les authentifications 3DS nécessaires sans que le client ne soit impliqué. Cela permet d’utiliser une authentification générée précédemment avec un client. Elle est utilisée dans les contextes suivants de paiements récurrents : Paiement fractionné, Abonnement, Refund, etc.Découvrez comment intégrer le 3DS 2.0 3RI Transaction carte Selon les besoins de votre activité, CentralPay propose divers modes de transactions unitaires via son service API Transaction. Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form et intégrer l’authentification 3DS 2.0. Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales. 1/ Autorisation et capture instantanée Pour réaliser un paiement simple par carte (autorisation puis capture instantanée) : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « EC » 2/ Autorisation et capture différée Ce mode de transaction peut être utile si vous souhaitez bloquer les fonds de votre client avant de le débiter définitivement, le temps de la validation de votre commande par exemple. Ainsi, vous pouvez annuler l’opération sans être soumis aux frais de transaction ou de remboursement. Pour réaliser un paiement par carte avec capture différée (autorisation puis capture différée), vous devez : Réaliser une autorisation en renseignant le paramètre « capture » de la Transaction avec la valeur « false ». Les fonds seront ainsi bloqués sur la carte du client. Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount ») Vous avez 7 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés. 3/ Pré-autorisation et capture différée Le service de pré-autorisation et capture différée (ou caution / PLBS) permet d’effectuer une pré-autorisation d’un certain montant, que vous pourrez ensuite capturer partiellement ou pleinement sous 30 jours. Durant cette période, les fonds vous sont garantis, ils sont donc bloqués sur la carte et ne peuvent être utilisés par votre client. Ce service n’est accessible qu’à certaines activités autorisées (locations de véhicules ou de matériels, hôtellerie…) Pour réaliser une pré-autorisation et capture différée, vous devez : Réaliser une pré-autorisation en renseignant le paramètre « source » de la Transaction avec la valeur « DP ». Les fonds seront ainsi bloqués sur la carte du client. Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount ») Vous avez 30 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés. 4/ Vérification carte (empreinte sécurisée) Le service d’empreinte & vérification carte permet d’effectuer une autorisation à 0€ avec authentification du porteur (3DS 2.0). Ainsi, vous disposerez des informations concernant la carte de votre client (carte de débit, de crédit, prépayée…), et vous vous assurerez qu’elle n’est pas frauduleuse (carte non volée, porteur identifié…). Ce service est généralement utilisé pour enregistrer une carte avec 3DS en vue d’un abonnement avec une date de démarrage différée. Pour réaliser une prise d’empreinte & vérification carte (autorisation à 0€ sans capture), vous devez : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « RI » Nous vous recommandons également de créer un « customer » lors de la transaction, afin d’associer le « cardId » ainsi généré et de vous permettre un éventuel débit ultérieur de cette carte. 5/ Débit carte seul (MO/TO) Le service de paiement MOTO (Mail Order / Telephone Order) permet d’effectuer une autorisation puis une capture d’une carte, sans la présence de son porteur. Il est généralement utilisé par les hôtels pour le débit de services ou de consommations additionnelles en fin de séjour. Attention, ce service n’est accessible qu’à certaines activités autorisées (hôtellerie…), et apporte des résultats de conversion de moins en moins performants depuis la directive DSP2, car elle ne permet pas l’authentification du porteur de carte. Pour réaliser un paiement MOTO, vous devez : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « MO » (Mail Order) ou « TO » (Telephone Order). 6/ Paiement par carte en 1 clic Le paiement par carte en 1 clic consiste à enregistrer les données cartes de votre client, afin qu’il puisse régler sa commande sans avoir à les ressaisir. La ou les cartes du client sont stockées de manière sécurisée dans le Customer CentralPay. Il est dans ce cadre nécessaire de permettre à votre client de sélectionner la carte qu’il souhaite utiliser ou d’ajouter une nouvelle carte. Pour réaliser un paiement par carte en 1 clic, vous devez : Sélectionner l’option « One-click » dans la configuration du point de vente. Vous assurer que vos customer ont une carte liée à leur profil. Transaction carte récurrente Selon les besoins de votre activité, CentralPay propose plusieurs modes de transactions récurrentes : Abonnement depuis un modèle d’abonnementCentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont. Abonnement depuis des transactions successivesVous pilotez le prélèvement de chaque échéance vous-même par API. Paiement fractionnéCentralPay fractionne une somme due en plusieurs transactions et gère leur prélèvement, selon les conditions de règlement que vous avez renseigné. Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form, créer un profil Customer pour ce client, et intégrer les principes d’authentification 3DS 2.0. Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales. Lors d’un paiement récurrent, votre client reçoit automatiquement un email contenant le détail de ses échéances. Ce mail contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire et de résilier un abonnement si besoin est. 1/ Abonnement depuis un modèle d’abonnement 1.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card et réaliser une authentification 3DS 2.0 BRW. Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur. 1.2/ Cas d’intégration spécifiques Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une Transaction suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. Si vous souhaitez simplement faire démarrer un abonnement à une date précise, vous pouvez d’abord réaliser une empreinte carte vérifiée suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. 2/ Abonnement depuis des transactions successives 2.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card réaliser une authentification 3DS 2.0 BRW réaliser une première Transaction Ensuite, vous pourrez initier vous-même les prochaines Transactions en utilisant l’authentification 3DS 3RI. 2.2/ Informations importantes pour garantir un taux de conversion optimum, le montant de la première transaction doit être supérieur ou égal aux montants des transactions suivantes réalisées avec l’authentification 3DS 3RI. la plateforme CentralPay ne considérera pas les transactions générées comme des « abonnements », ainsi les interfaces « Portail utilisateur » et « Portail client » afficheront ces opérations au même titre qu’une succession de transactions unitaires. avec ce modèle, le système d’automatisation des nouvelles tentatives ne s’appliquera pas en cas d’échec de prélèvement d’une de vos transactions. 3/ Paiement fractionné 3.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card et réaliser une authentification 3DS 2.0 BRW. Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. Transaction carte via wallet Afin de pouvoir effectuer une transaction, ou créer un cardToken avec Apple Pay ou Google Pay, vous aurez besoin de mettre en place une configuration spécifique avec l’aide du support de Centralpay au préalable. Une fois la mise en place faite, vous devez être en possession de votre token Apple Pay ou Google Pay. Exemple : 1/ Apple Pay – Création de CardToken avec votre token Apple pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘.Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de CardToken avec votre token Apple pay déchiffré. Si vous avez déchiffré votre Token Apple Pay, lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayTransactionId‘ ainsi que ‘amount‘ et ‘currency‘ de la future transaction. Les champs ‘card[]‘ seront renseignés avec les données déchiffrées. Les informations de sécurité (ECI et CAVV) doivent être passées si elles sont présentes dans le TokenVous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de Transaction avec votre token Apple pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘. 2/ Google Pay – Création de CardToken avec votre token Google pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayToken‘ au format JSON comprenant votre token Google Pay qui inclus les éléments ‘signature‘, ‘intermediateSigningKey‘, ‘protocolVersion‘ and ‘signedMessage‘.Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de CardToken avec votre token Google pay déchiffré. Si vous avez déchiffré votre Token GooglePay, lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayMessageId‘ ainsi que ‘onlinePaymentCryptogram‘ et ‘eciIndicator‘. Les champs ‘card[]‘ seront renseignés avec les données déchiffrées. Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de Transaction avec votre token Google pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayToken‘ au format JSON comprenant votre token Google Pay qui inclus les éléments ‘signature‘, ‘intermediateSigningKey‘, ‘protocolVersion‘ and ‘signedMessage‘. R-transaction carte 1/ Remboursement Vous pouvez rembourser une Transaction si celle-ci est « Cleared » via le service Refund ou depuis le détail de la Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant. Votre client recevra les fonds sur sa carte sous 3 à 5 jours ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération. Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé. 2/ Crédit Vous pouvez créditer la carte d’un client sans transaction initiale depuis le service Credit. Pour cela, il existe plusieurs solutions : Tokeniser une carte via le service cardToken pour ensuite la renseigner dans le service Credit Créer ou rechercher un Customer disposant d’une carte valide, puis renseigner son « customerId » ainsi que son « cardId » dans le service Credit NB : ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus. 3/ Contestation Pour tout paiement par carte, votre client a la possibilité de contester une transaction auprès de sa banque (opération nommée contestation, chargeback ou impayé) : pendant 120 jours à compter de la transaction sur les réseaux « Visa » ou « Mastercard » pendant 13 mois à compter de la date d’opération sur le réseau Français « Carte Bancaire ». En France, une contestation n'est en principe autorisée que dans le cadre d'une utilisation frauduleuse de la carte (carte volée, prélèvements abusifs…). Cependant, dans d'autres pays européens, la contestation peut également être utilisée dans le cadre d'un litige commercial (service ou produit non rendu / non conforme). En cas de contestation, CentralPay en est informé et crée automatiquement sur votre compte une opération de Dispute liée à la transaction contestée. Le montant de cette transaction vous sera débité afin de rembourser votre client. Des frais non remboursables s’appliquent également pour chaque contestation reçue. À ce stade, le statut de la Dispute sera CHARGEBACK_NOTICED et vous pourrez consulter sur le Portail utilisateur ou via notre API le motif de contestation de votre client. Vous disposez ainsi d’un délai de 20 jours calendaires pour répondre en fournissant la preuve de livraison du service ou du produit. À défaut de réponse dans les délais impartis, il ne sera plus possible de répondre à la contestation. Notez que dans le cadre des transactions non authentifiées (sans 3DS), vous devez également justifier du consentement du titulaire de la carte. Vous devez à minima prouver que le nom et prénom de votre client est bien le même que celui qui est indiqué sur la carte de paiement. Une fois votre réponse émise, celle-ci est étudiée par la banque de votre client avant d’adresser son verdict : Vous avez obtenu gain de cause, la contestation a été rejetée. Le montant de la transaction vous est remboursé et le statut de la Dispute passe en CHARGEBACK_WON. Vos preuves sont jugées insuffisantes, la contestation est maintenue. Le statut de la Dispute passe en CHARGEBACK_LOST. NB : Il est possible, en amont d'une contestation, qu'un client réalise une demande d'information sur une transaction afin d'en connaitre les détails. CentralPay créera une opération Dispute avec statut RETRIEVAL_NOTICED. Vous devez répondre dans les 7 jours en fournissant la nature du service délivré, la preuve de consentement du client et/ou la preuve de livraison. Si votre réponse est acceptée, le statut de la Dispute passera à RETRIEVAL_CLOSE. À défaut de réponse, votre client pourra déclencher une contestation auprès de sa banque. Email de confirmation 1/ Introduction Quand une transaction par carte a été réalisée avec succès, CentralPay peut adresser un email de confirmation de paiement à votre client. Pour cela, vous devez l’activer en renseignant les paramétrages de l’email de confirmation dans votre Point de Vente. Cet email est adressé par défaut à l’email du Customer associé à la transaction, mais vous pouvez renseigner la valeur receiptEmail de la transaction si vous souhaitez l’adresser à un autre. 2/ Paramétrage L’email de confirmation possède une mise en forme standardisée affichant les différentes informations de paiement, vous pouvez cependant configurer plusieurs paramètres depuis le Portail utilisateur. 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 compte CentralPay « marchand » ou « partenaire » est créé, un libellé de relevé bancaire est défini automatiquement en utilisant le nom de votre premier Point de Vente : CPAY*NomDuPointDeVente Vous pouvez demander à CentralPay de modifier votre libellé, cependant il doit permettre à vos clients de vous identifier clairement ou d’accéder à votre site de réclamation. Gestion des devises Introduction Dans le cadre d’une activité internationale, vos clients peuvent disposer d’une carte adossée à un compte bancaire en devises non Euros. Quelle que soit votre intégration, ces clients pourront vous régler en Euros grâce au système de conversion automatique des réseaux carte (Visa, Mastercard, American Express). Vos clients porteront l’ensemble des coûts de conversion des devises, et vous recevrez des Euros sur votre compte CentralPay. Dans certains cas, CentralPay peut vous permettre d’encaisser des transactions par carte bancaire dans différentes devises : Euros (EUR), Dollars (USD), Francs Suisses (CHF) et Livres (GBP). Contactez CentralPay si la gestion de transaction en devises est un enjeu pour votre activité. Notez que dans ce cas, les coûts d’acquisition en devises (hors EUROS) sont soumis à des frais complémentaires et seront déduits du montant de vos transactions. Les reversements (payout) par virement SEPA ne peuvent être réalisés que sur les valeurs disponibles en EUROS. Les valeurs hors EUROS sont reversées par virement SWIFT ayant des frais supérieurs. Il est cependant possible de programmer les reversements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de reversement. Gestion des cartes virtuelles (VCC) 1/ Introduction Fonctionnement des OTALes 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. Avec la crise du covid19, booking n'autorise plus les débits de ses VCC qu'un jour après le checkin du client.En savoir plus sur le fonctionnement des cartes virtuelles de booking.com Cartes virtuelles ExpediaChez EXPEDIA, il est possible de laisser le visiteur choisir entre la possibilité de payer à l’hôtel (Hotel Collect) ou de payer directement lorsqu’il réalise la réservation (Expedia Collect). Cette option est appelée Expedia Traveler Preference (ETP). Si un client utilise la méthode Expedia Collect, une carte virtuelle sera alors générée.En savoir plus sur le fonctionnement des cartes virtuelles d'expedia.com 2/ Gestion des cartes virtuelles avec CentralPay La meilleure méthode pour stocker une VCC et de pouvoir l’utiliser une fois disponible est de créer un « Customer » et de lui associer la carte concernée. Deux options sont ouvertes : Soit la carte est débitable au moment de la création et une demande de vérification est réalisable à la création du Customer Soit la carte n’est pas utilisable à la création du customer et la carte doit être créé sans vérification. Cela ne signifie pas qu’elle ne pourra pas être utilisée à terme. Cela veut simplement dire qu’elle ne doit être débitée qu’à une certaine date. En général, les OTA auront préalablement vérifié les données de la carte pour s’assurer qu’elle était débitable. Ainsi, créer un Customer dans l’API CentralPay permet de tokeniser la carte virtuelle, sécuriser son stockage et de faciliter son utilisation lorsque les conditions d’acceptation initiales auront été réunies. Retours, statuts et hooks 1/ Codes de retour banque liés aux transactions carte Lorsqu’une transaction carte (objet « transaction ») est initiée, une demande d’autorisation est soumise à la banque émettrice de la carte. Cette dernière répond avec un code, permettant d’interpréter l’acceptation, le refus et la cause du refus de l’autorisation. La banque du titulaire de la carte (appelée également banque émettrice) exprime son refus en fonction de choix qui lui sont propres et totalement indépendants de CentralPay. CentralPay n’est en possession d’aucune information complémentaire si une carte est refusée et n’a aucun moyen d’en obtenir. Les principaux codes de retour banque : 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. Consulter la liste complète des codes de retour banque 2/ Statuts liés aux transactions carte Statuts « Transaction » Statuts TRANSACTION Statuts « Refund » Statuts REFUND Statuts « Credit » Statuts CREDIT Statuts « Disputes » Statuts DISPUTES Statuts « Subscription » Statuts SUBSCRIPTION Statuts « Installment » Statuts INSTALLMENT 3/ Webhooks liés aux transactions carte Webhooks « Transaction » Webhooks Transaction Webhooks « Card » Webhooks Card Webhooks « Refund » Webhooks Refund Webhooks « Credit » Webhooks Credit Webhooks « Customer » Webhooks Customer Webhooks « Dispute » Webhooks Dispute Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment
SDD Transaction Articles Mandate SDD Transaction SDD Transaction Reversal Mandate See more about Mandate SDD Transaction See more about SDD Transaction SDD Transaction Reversal See more about SDD Transaction Reversal
Disputes See more about Disputes A dispute is opened when a customer questions a transaction with their bank or credit/debit card provider. When the transaction is tagged as a dispute, you can respond to the dispute with evidence that shows the charge is legitimate. If the transaction cannot be proven legitimate, the dispute will become a chargeback.
Transfer purpose codes ACCT : 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
Notifications email/sms 1/ Introduction Les notifications peuvent être adressées en fonction des évènements liés à certains objets API : Demande de paiement (PaymentRequest) Contestation carte (dispute) Paiement X fois (installment) Transaction carte (transaction) Reversement (payout) Remboursement carte (refund) Abonnement (subscription) Crédit carte (credit) Transaction SDD (sddTransaction) Transaction SDD inversée (sddTransactionReversal) Mandat (mandate) 2/ Types de scénarios de notification Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre compte CentralPay : encaissement d’un virement, contestation client, échec de règlement…Vous maitrisez le contenu de chaque notification depuis des templates personnalisés et définissez un mode d’envoi par email, par sms ou par Json. Vous automatisez ainsi le pointage de vos encaissements, les notifications clients, ou encore la mise à jour de votre système d’information. 3/ Paramétrage des modèles de notification 3.1/ Paramétrage des modèles (templates) Accès paramétrage templates emails : Portail utilisateur de recette Portail utilisateur de production Accès paramétrage templates SMS : Portail utilisateur de recette Portail utilisateur de production Accès paramétrage templates hooks : Portail utilisateur de recette Portail utilisateur de production Pour commencer le paramétrage de vos notifications, vous devez créer vos modèles de communication (email, sms ou hook) en renseignant les éléments demandés. Par exemple l’objet du mail, le nom et email de l’émetteur, le corps du texte… Vous pouvez intégrer des éléments dynamiques (tags) dans le corps du texte en tapant le caractère « # », qui fera apparaitre la liste des tags disponible pour le type de scénario de notification sélectionné. Attention, si vous utilisez les notifications emails, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine. Concernant les SMS, veillez à calculer le nombre de caractères : vous serez facturés d’un SMS par 160 caractères (espaces inclus). 3.2/ Paramétrage du header et footer pour templates emails Paramétrage en-tête d’email (header) Portail utilisateur de recette Portail utilisateur de production Paramétrage pied de page d’email (footer) Portail utilisateur de recette Portail utilisateur de production En cas de création d’un template email, un « header » et un « footer » devront être créés. Vous pouvez par exemple intégrer votre logo en Header, et vos conditions de contact ou mentions légales en Footer. 4/ Paramétrage des scénarios de notification Accès Scénarios de notification – Portail utilisateur de RCT Accès Scénarios de notification – Portail utilisateur de PROD Pour spécifier à la plateforme les conditions d’envoi et destinataires de vos notifications, vous devez créer un scénario intégrant une ou plusieurs règles d’envoi. Après avoir choisi le type de scénario souhaité, vous pouvez créer une règle d’envoi. Cette règle est scindée en deux parties : le “QUAND” va permettre de définir l’évènement déclencheur de la notification tandis que le “ALORS” va permettre de choisir les actions qui seront effectuées lorsque l’évènement se produira. 4.1/ Dans la partie « QUAND » : Tapez « # » pour visualiser l’ensemble des attributs disponible pour votre scénario Utilisez des opérateurs logiques pour constituer votre règle : Pour les chaînes de caractères (doivent être entourés de guillemets « ») : = (égal) != (différent de) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Pour les nombres (attention les montants doivent être renseignés en centimes) : = (égal) != (différent de) < (plus petit que) <= (plus petit ou égal à) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Pour les boolean (affirmations en vrai ou faux) : = (égal à) != (différent de) Vous pouvez utiliser des conditions pour compléter votre règle : AND (pour ajouter une autre condition d’activation) OR (pour ajouter une autre possibilité d’activition) Il est possible de donner des priorités en mettant des parenthèses autour des conditions. Si vous utilisez les conditionnels AND et OR dans la même règle, il est nécessaire de prioriser. Si vous utilisez plusieurs fois AND ou plusieurs fois OR, il sera également nécessaire de prioriser chaque partie. Exemples de règles : #end_user_country in ('FRA', 'BE') #authorisation_status = 'FAILURE' or (#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY' ) #transaction_amount > 100000 and ( #authorisation_status = 'FAILURE' or #context = 'TRANSACTION_RISKY' ) ((#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY') or ( #authorisation_status = 'FAILURE' and #transaction_amount < 100000 )) and (#card_product_type = 'Consumer') Avant de pouvoir enregistrer une règle, il est obligatoire de d’abord tester sa règle avec le bouton « tester ». Cela va permettre de vérifier que votre règle est grammaticalement correcte. Attention, cela ne garantit pas que votre règle correspond à ce que vous souhaitiez faire. 4.2/ Dans la partie « ALORS » : Le “ALORS” va permettre de choisir le destinataire et le template utilisé pour la notification. Vous n’avez accès qu’aux templates qui correspondent au type de template requis (SMS, Email, Hook) et qui correspond au type de scénario choisi (transaction carte, demande de paiement, remboursement …).
Glossaire CentralPay DésignationDescriptionCompte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de : – Sa contractualisation : grille tarifaire, CGU… – Son administration : credentials, profils utilisateurs… – Sa configuration : scenario de notification, points de vente, règles d’acceptations – Sa conformité : KYC/KYB, accréditations…Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.Il est représenté par l’objet « merchant » dans l’API CentralPay.Compte de paiementCompte ouvert dans un établissement de paiement. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…).Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de monnaie électroniqueCompte ouvert dans un établissement de Monnaie Électronique. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distribteur (devises CUSTOM).Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de commissionCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler les opérations liées aux frais CentralPay du reste des opérations de paiement.Si utilisation par un partenaire, ce compte permet également de collecter ses propres commissions imputées aux transactions de ses sous-marchands.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de réserveCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler ses fonds de réserve Centralpay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom de l’Agent. Il est dédié à la réception des fonds du partenaire Agent avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de collecte « Partenaire »Compte de paiement détenu par CentralPay et mise à disposition du Partenaire en lecture seule. Il est dédié à la réception des opérations d’un partenaire avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.MarchandPersonne morale ou autoentreprise réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Dispose d’un compte CentralPay en droits « Standard ».Partenaire MOBSPPersonne morale, porteur d’un projet impliquant la réalisation d’opérations d’encaissement pour compte de tiers par CentralPay à destination de sous-marchands de CentralPay. Dispose d’un compte CentralPay en droits « Partner MOBSP ».Partenaire DMEPersonne morale déclarée comme Distributeur de Monnaie Électronique par CentralPay auprès de l’ACPR (Banque de France). Porteur d’un projet impliquant la réalisation d’opérations d’encaissement pour compte de tiers par CentralPay à destination de sous-marchands de CentralPay mais également d’émission et d’échange de Monnaie Électronique. Dispose d’un compte CentralPay en droits « EMD Partner ».Partenaire AgentPersonne morale agréée comme Agent Prestataire de Services de Paiement de CentralPay auprès de l’ACPR (Banque de France). Réalisant notamment des opérations d’encaissement pour compte de tiers à destination de ses sous-marchands. Dispose d’un compte CentralPay en droits « Agent Partner ».Sous-marchandPersonne morale ou physique agissant à des fins commerciales ou dans le cadre d’une activité LMNP. Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».ParticipantPersonne physique ou morale agissant à des fins non commerciales (exemple : chargement d’un compte de paiement ou de monnaie électronique dans le but de participer au projet d’un partenaire). Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».IntégrateurPersonne morale, généralement une société de développement informatique, ayant intégré tout ou partie des API CentralPay dans sa propre plateforme technique. Il permet ainsi à ses utilisateurs disposant d’un compte CentralPay d’accéder aux services CentralPay dans le contexte de sa plateforme. L’intégrateur ne commercialise pas les services de CentralPay.ActeurToute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.Utilisateur BOPersonne physique disposant d’un accès à un ou plusieurs comptes CentralPay. Dispose d’un type « Legal » s’il est représentant légal du compte, sinon dispose d’un type « Natural ».Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur réalisant les appels API sur un compte CentralPay.Client / PayeurClient d’un marchand ou d’un partenaire ayant émis un paiement vers un compte CentralPay. Peut disposer d’un profil client CentralPay ou non.Frais CentralPayEnsemble des frais dus à CentralPay déduits des opérations correspondantes, prélevés sur un compte de commission dédié ou facturés en fin de mois.Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP …)Devise CUSTOMDevise de Monnaie Électronique créée pour un Partenaire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO comme l’EURO par exemple.Compte bancaireCompte bancaire externe lié à un compte CentralPay pour réaliser des reversements (payout) ou à un profil client pour réaliser des prélèvements SEPA.Il est représenté par l’objet « bankAccount » dans l’API CentralPay.Reversement bancaireVirement sortant d’un compte CentralPay vers un compte bancaire lié. Peut-être réalisé par SEPA ou SWIFT.Il est représenté par l’objet « payout » dans l’API CentralPay.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.
Transaction par virement Articles Informations générales IBAN Virtuels Transaction par virement Rapprochement à une demande de paiement R-transaction SCT Virements internationaux Retours, statuts et webhooks Informations générales 1/ Introduction Le virement bancaire est le moyen de paiement le plus répandu pour les règlements d’entreprises. Il consiste en un transfert direct des fonds d’un compte (bancaire ou de paiement) à un autre, sans utiliser de support additionnel comme une carte par exemple. La personne physique ou morale qui demande l’émission du virement est dénommée le donneur d’ordre (ou l’émetteur), celle qui reçoit l’argent le bénéficiaire. Contrairement à un paiement par carte ou par prélèvement SEPA, seul l’émetteur lui-même peut initier un virement. Il se rend ainsi sur l’espace personnel de sa banque, déclare les coordonnées bancaires du bénéficiaire (IBAN + BIC + Nom de titulaire), puis renseigne un montant et une référence de virement. Quelques informations importantes : Le délai de réception d’un virement classique chez CentralPay est de 4 à 24 heures ouvrées (contre 24 à 48 heures ouvrées chez la majorité des banques traditionnelles). Il sera également possible de recevoir des virements instantanés (réception <5 secondes) à partir d’octobre 2024. Le virement ne présente pas de risque financier majeur pour le marchand bénéficiaire, car l’émetteur s’authentifie fortement auprès de sa banque et ne peut donc pas contester cette opération. Les banques émettrices accordent un plafond de règlement par virement nettement plus élevé que celui appliqué aux opérations de prélèvement SEPA ou de règlement par carte. Selon les fonctionnalités proposées par sa banque, l’émetteur peut programmer un virement récurrent ou à date différée. 2/ Types de réseaux acceptés Il existe deux types de virements bancaires : les virements SEPA (ou SEPA Credit Transfer) : utilisés pour les opérations en EUROS réalisées entre deux pays membres de la zone SEPA (= 27 pays de l’Union européenne + Royaume-Uni, Monaco, Andorre, Vatican, Suisse, Liechtenstein, Norvège, Islande et Saint-Marin) les virements internationaux : utilisés pour les opérations internationales en EUROS ou en devises, via le réseau SWIFT. Les frais applicables aux réseaux SEPA sont très largement favorables (à peine quelques dizaines de centimes contre plusieurs dizaines d’euros pour SWIFT). SWIFT permet cependant plusieurs options liées au règlement de ses frais : à la charge de l’émetteur, du bénéficiaire ou partagés. CentralPay est atteignable par toutes les banques de l’Espace Économique Européen utilisant les réseaux SEPA (via STEP2 pour les SCT/SDD, ainsi que TIPS et RT1 pour les « Instant SCT »). Seuls les virements de réseaux internationaux ou en devises hors EUROS ne sont pas recevables pour le moment (via réseau SWIFT par exemple). IBAN Virtuels 1/ Introduction Le paiement par virement bancaire impose une responsabilité au client émetteur : celle de renseigner les coordonnées bancaires (IBAN + BIC + Nom du titulaire), le montant du règlement mais aussi la référence de virement. Une absence ou un mauvais formatage de la référence (causé par le client ou par le système de sa banque) contraint le bénéficiaire d’analyser manuellement le virement reçu pour le rapprocher à la bonne facture et au bon poste client. CentralPay vous permet de présenter un IBAN virtuel différent à chacun de vos clients (Customer) ou dans chacune de vos factures (PaymentRequest). Ainsi lors de la réception d’un virement, CentralPay identifie automatiquement l’émetteur et peut rapprocher la facture pour vous, selon l’IBAN virtuel utilisé par votre client, même en cas d’erreur de référence. Un IBAN Virtuel est en tous points identique à un IBAN classique, ce qui rend le processus entièrement transparent pour vos clients. Ce service vous permettra notamment : d’être informé instantanément quand un client vous a réglé par virement, d’automatiser vos alertes internes et vos relances clients (via le service de notifications), d’automatiser le rapprochement de vos paiements dans vos solutions comptables ou de facturations (ERP…), pour les plateformes et marketplaces : d’identifier facilement le marchand bénéficiaire et de lui transférer les fonds Vous pourrez créer des IBAN Virtuels CentralPay depuis différents services de la plateforme : Depuis le service Customer Depuis le service SCT Transaction Depuis le service PaymentRequest Chaque compte de paiement ou de monnaie électronique dispose nativement d'un IBAN Virtuel dédié 2/ Consulter l’IBAN Virtuel de ses comptes Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail utilisateur Administration Comptes IBAN/BIC : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount 3/ Créer un IBAN Virtuel dédié à un Customer Vous pouvez créer un IBAN Virtuel dédié à un client lors de la création d’un nouveau Customer, ou via l’update d’un Customer existant. Pour cela, vous devez renseigner le champ « walletIdForIban » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre Customer. Le BIC des IBAN émis par CentralPay sont : CEAYFR22 4/ Création d’un IBAN Virtuel dédié à une SCT Transaction Comme pour un Customer, vous pouvez créer un IBAN Virtuel dédié à une transaction par virement lors de la création d’une SCT Transaction. Pour rappel, une SCT Transaction est créée automatiquement par CentralPay lorsque vous recevez un virement sur votre IBAN Virtuel principal ou celui d'un Customer. Il est cependant possible de créer une SCT Transaction en amont afin de lui affecter un IBAN Virtuel dédié et une référence personnalisée par exemple. Pour cela, vous devez renseigner le champ « ibanWalletId » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre SCT Transaction. Un IBAN Virtuel dédié à une SCT Transaction n'est plus fonctionnel une fois que sa SCT Transaction a été entièrement réglée. Il est cependant possible de recevoir plusieurs virements d'un montant inférieur sur un même IBAN pour compléter le montant de la SCT Transaction.À noter que si un virement reçu dépasse le montant de la SCT Transaction, il sera tout de même accepté. Vous devrez réaliser un remboursement partiel pour reverser le trop perçu à votre client. 5/ Utilisation des IBAN Virtuels depuis les demandes de paiement Il est possible d’utiliser des IBAN Virtuels Customer ou SCT Transaction depuis le service de demande de paiement, si vous acceptez le moyen de paiement « SCT Transaction ». Vous pouvez sélectionner le type d’IBAN Virtuel que vous souhaitez afficher dans vos demandes de paiement depuis le champ « Viban prioritaire » des paramétrages de votre point de vente. Si vous sélectionnez : SCT La demande de paiement créera systématiquement un IBAN Virtuel dédié à la SCT Transaction Client La demande de paiement utilisera l’IBAN Virtuel du Customer s’il en dispose déjà d’un, sinon elle en créera un automatiquement Dans le cas d'une demande de paiement avec vIBAN à la SCT Transaction uniquement : si vous annulez la demande de paiement, le vIBAN associé ne sera plus atteignable. Ainsi, chaque virement reçu sur ce vIBAN sera automatiquement renvoyé à son émetteur. Transaction par virement 1/ Introduction Une SCT Transaction représente un virement bancaire reçu sur un de vos IBAN Virtuel CentralPay. Elle peut être créée de trois manières différentes : 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 utilisateur > Administration > Comptes > UUID. Si vous souhaitez utiliser un IBAN Virtuel existant (dédié à un Customer ou à un compte de paiement), renseignez le champ « iban » avec l’IBAN souhaité. Vous pourrez ensuite récupérer la valeur « sepaReference » générée par CentralPay et la transmettre à votre client pour laisser CentralPay rapprocher le virement à votre transaction ou renseigner la valeur « merchantSctTransactionId » avec votre propre référence personnalisée pour rapprocher vous-même le virement via nos exports d’opérations. Rapprochement à une demande de paiement CentralPay met à disposition un service nommé bankReconciliation permettant de lier une ou plusieurs SCT Transaction à une demande de paiement (PaymentRequest) si vous n’utilisez pas les IBAN Virtuel dédié aux SCT Transaction. 1/ En cas d’erreur de référence par votre client Lorsque vous utilisez les demandes de paiement avec IBAN Virtuels dédiés à un Customer et que votre client ne renseigne pas correctement la « sepaReference » lors de l’émission de son virement ; CentralPay n’est pas en mesure de rapprocher automatiquement le virement à la demande de paiement. Vous pouvez donc utiliser le service bankReconciliation pour affecter la SCT Transaction reçue à la demande de paiement créée initialement : Amount = montant du virement en centimes wireTransferID = ID de la SCT TRANSACTION (accessible dans le hook de la SCT TRANSACTION) paymentRequestBreakdownId = ID du breakdown de la PaymentRequest (accessible dans le hook de la PaymentRequest) 2/ Si vous utilisez votre propre référence de commande Si vous souhaitez organiser vos créances clients dans CentralPay grâce au service de Demandes de paiement sans utiliser la page de paiement SmartForm, voici la démarche à suivre : pour chaque client : créer un Customer avec vIBAN, récupérer le vIBAN et l’afficher dans votre tunnel de vente avec votre référence de commande créer en parallèle une paymentRequest contenant cette même référence de commande (dans le champ « merchantPaymentRequestId ») et le montant de commande Dès réception d’un virement client, vous identifiez la commande liée grâce au champ « description » de la SCT Transaction Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId » si une PaymentRequest présente la même référence, vous l’associez avec le service « bankReconciliation » si aucune PaymentRequest ne présente la même référence mais que le virement a été reçu sur un vIBAN Customer n’ayant qu’une seule PaymentRequest en attente ou d’un montant identique, vous pouvez faire en sorte de les rapprocher avec une bankReconciliation si aucune PaymentRequest ne présente la même référence et que le Customer présente plusieurs PaymentRequest en attente de règlement ou d’un montant différent, levez une alerte dans votre système pour faire rapprocher le virement manuellement par votre service financier (qui l’associera manuellement à la bonne PaymentRequest via une bankReconciliation) Les virements non liés à une PaymentRequest seront ainsi facilement identifiables De même que les PaymentRequest non payées ou partiellement payées. R-transaction SCT 1/ Remboursement Vous pouvez rembourser une SCT Transaction si celle-ci est « RECEIVED » via le service Refund ou depuis le détail de la SCT Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant. Votre client recevra les fonds sur son compte bancaire sous 24 à 48 heures ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération. Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé. Virements internationaux Introduction Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises. Il sera prochainement possible d’accepter des virements internationaux via le service SCT Transaction. Veuillez contacter CentralPay si ce service est un enjeu pour le développement de votre activité. Retours, statuts et webhooks 1/ Retours liés aux SCT Transactions Il n’existe pas de code retours pour les SCT Transactions. 2/ Statuts liés aux SCT Transactions Statuts « SCT Transaction » Statuts SCT TRANSACTION Statuts « Refund » Statuts REFUND 3/ Webhooks liés aux SCT Transactions Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « Refund » Webhooks Refund Webhooks « Customer » Webhooks Customer
SCT Transaction Articles SCT Transaction SCT Transaction Reversal Bank Reconciliation Bank Reconciliation external SCT Transaction See more about SCT Transaction SCT Transaction Reversal See more about SCT Transaction Reversal Bank Reconciliation See more about Bank Reconciliation Bank Reconciliation external See more about Bank Reconciliation
SDD purpose codes The categoryPurposeCode(1) and purposeCode(2) used in the SDDTransaction. SALA(1) (2)Salary 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
Services anti-fraude 1/ Organisation des services anti-fraude Les services anti-fraude sont segmentés en 4 outils : 1/ Liste blanche (whitelist)Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation.La règle définie devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP.Cette fonctionnalité permet d’être moins restrictif sur des populations d’utilisateurs. 2/ Liste noire (blacklist) :Le service de « blacklist » permet de refuser les paiements.Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte (Carte, IP, Tel, email). 3/ Règles d’acceptation des transactions :Cet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement. 4/ Scoring anti-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. 4.3/ Les opérateurs de comparaison disponibles = (égal) != (différent de) < (plus petit que) <= (plus petit ou égal à) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Les opérateurs de comparaison = , != , > , < , >= et <= doivent être suivis d’une valeur. Les opérateurs IN et NOT IN sont suivis d’une liste de valeurs de comparaison.Une liste de valeurs est entourée par des parenthèses et les valeurs à l’intérieur de la liste sont séparées par des virgules. Exemple : REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF') L’exemple présenté ci-dessus permet de refuser tous les paiements dont la devise n’est pas l’Euro, le Dollar US, la Livre Sterling ou le Franc Suisse. Cette syntaxe évite d’écrire plusieurs règles ou plusieurs conditions dans la même règle. 4.4/ Les valeurs disponibles : En fonction du type de valeur, la syntaxe permettant de définir la valeur ne sera pas la même : Entiers (valeur numérique sans décimale) : syntaxe classique (ex : 100) Doubles (valeur numérique avec décimales) : la valeur est définie avec un point comme séparateur de décimale (ex : 12.32) Chaîne de caractères : la valeur est définie entre ‘quotes’ simples (ex : ‘FRA’) Booléens : la valeur est true ou false (ex : false) ATTENTION : les valeurs de « montants » doivent être renseignées en centimes (ex : pour 10 € on renseignera une valeur de 1000). 4.5/ Les opérateurs logiques : Les opérateurs disponibles sont AND et OR. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le « AND » permet une inclusion tandis que le « OR » une exclusion. Exemple : REFUSE if #amount < 1000 and #card_country != 'FRA' L’exemple présenté ci-dessus permet de refuser les paiements dont le montant est inférieur à 10 € ET dont la carte n’est pas française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée.
Lexique du paiement DésignationDéfinitionIdentifiant de Créancier SEPA (ICS)L’ICS est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque ou s’il est multi-bancarisé.DébiteurPersonne physique ou morale qui doit une somme d’argent à une autre, appelée créancier, que ce soit dans le cadre de transactions commerciales, de prêts ou d’autres obligations financières.CréancierPersonne physique ou morale à qui une somme d’argent est due par une autre, appelée débiteur.Les créanciers (banques, entreprises ou particuliers qui ont prêté de l’argent ou fourni des biens ou services à crédit) ont le droit légal de réclamer le paiement de la dette, généralement formalisé par un contrat ou une autre forme d’accord.Émetteur (ou donneur d’ordre)Le payeur, c’est-à-dire la personne physique ou morale qui va émettre les fonds d’une transaction financière.BénéficiaireLe destinataire, autrement dit la personne physique ou morale qui va percevoir les fonds d’une transaction financière.Autorisation bancairePropre aux transactions par carte. Interrogation de l’acquéreur vers la banque du porteur de carte concernant le montant de la transaction. Suite au « code de retour banque », l’acquéreur est en mesure de savoir si la somme demandée est disponible, et si non pourquoi (fonds insuffisants, carte volée…). Une autorisation valide assure au marchand la possibilité de capturer la somme demandée jusqu’à 7 jours.Passerelle de paiement (ou Payment Gateway)Technologie agissant comme intermédiaire entre le site du marchand et le réseau de paiement qui permet d’assurer la transmission sécurisée d’informations liées aux paiements. Les passerelles vérifient également la disponibilité des fonds et autorisent les paiements, tout en offrant des fonctionnalités telles que la gestion des paiements récurrents et la détection de la fraude.Prestataire de Services de Paiement (ou PSP)Etablissement financier qui fournit des services liés à l’acceptation et au traitement des paiements aux marchands. Ces services incluent également la gestion des comptes de paiements ouverts, la sécurité des transactions ainsi que la conformité réglementaire.KYB (Know your Business)Le KYB (Know Your Business) est un protocole d’authentification de l’identité et de la conformité des personnes morales, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).Ce processus inclut la collecte et la vérification de documents tels que les statuts de l’entreprise, les informations sur les propriétaires et les dirigeants, les justificatifs d’adresse et les informations financières.KYC (Know your Customer)Le KYC (Know Your Customer) est un protocole d’authentification de l’identité et de la conformité des personnes physiques, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).Ce processus inclut la collecte et la vérification de documents tels que les pièces d’identité, les preuves de domicile et les informations sur les activités professionnelles.Rapprochement d’un virementProcessus de vérification et de correspondance des factures émises enregistrées dans le compte de l’entreprise avec les paiements reçus.Ce traitement permet de s’assurer que toutes les transactions prévues ont bien été exécutées, de détecter toute anomalie ou erreur et de maintenir l’exactitude des enregistrements financiers de l’entreprise.Frais d’interchangeFrais payés par la banque du marchand (banque acquéreur) à la banque de l’acheteur (banque émettrice) lors d’une transaction par carte, afin de couvrir les coûts et les risques associés à la gestion des paiements. Ils varient en fonction de plusieurs facteurs, tels que le type de carte utilisée, le type de transaction et le pays dans lequel la transaction est effectuée.Frais de réseaux carteFrais facturés par les réseaux de cartes (CB, Visa, Mastercard…) aux banques et PSP qui traitent des paiements par carte. Ces frais couvrent les coûts liés à l’utilisation du réseau de paiement, notamment l’infrastructure technologique, la sécurité des transactions et le traitement des paiements.Interchange++Somme des commissions prélevées sur les opérations de paiement en ligne du marchand. Il est composé de :– Frais d’Interchange ;– Frais de réseaux de carte ;– Frais de services, facturés par le PSP qui assure le fonctionnement de la plateforme de paiement et des services associés. Ce calcul permet de déterminer le coût de revient exact de chacune des transactions.Open BankingEncouragé par la DSP2, l’Open Banking est une pratique financière permettant aux banques de partager de manière sécurisée les données financières de leurs clients avec des tiers autorisés, tels que des fintechs, à travers des API (interfaces de programmation applicative). Ce système bancaire ouvert vise à stimuler l’innovation et la concurrence dans le secteur financier, en permettant le développement de nouvelles applications et services qui peuvent offrir des expériences client améliorées, une gestion financière plus efficace et des offres personnalisées.Exemple : Initiation de paiementImpayé carte (ou chargeback / contestation / litige)Processus par lequel un titulaire de carte signale une transaction suspecte ou non autorisée à l’émetteur, en vue d’un remboursement ou d’une rétrofacturation. Les motifs de contestation peuvent inclure des transactions frauduleuses, des erreurs de facturation, des biens ou des services non reçus ou d’autres problèmes liés à l’utilisation de la carte.Rejet de prélèvement SEPAUn rejet de prélèvement se produit lorsqu’une demande de prélèvement est refusée par la banque du débiteur. Les raisons d’un rejet peuvent inclure des fonds insuffisants sur le compte du débiteur, des informations bancaires incorrectes, un mandat de prélèvement expiré ou non valide, ou une opposition au prélèvement de la part du débiteur.Lorsqu’un prélèvement est rejeté, les fonds ne sont pas transférés, et le créancier est informé du rejet pour qu’il puisse prendre les mesures appropriées.RIB (Relevé d’Identité Bancaire)Document fourni par une banque qui contient les informations nécessaires à l’identification d’un compte bancaire, afin de faciliter les opérations de virement ou de prélèvement. Le RIB inclut le numéro de compte, le code banque, le code guichet, l’IBAN (International Bank Account Number) ainsi que le BIC (Bank Identifier Code) de la banque.EEE (Espace Économique Européen)Zone économique composée des 27 pays membres de l’Union Européenne (UE) ainsi que de la Norvège, l’Islande et le Liechtenstein. L’EEE permet aux États membres de participer au marché unique de l’UE, offrant la libre circulation des biens, des services, des capitaux et des personnes.
Transaction prélèvement SEPA Articles Informations générales Identifiant de Créancier SEPA Déclaration du compte bancaire Création du mandat SEPA Transaction par prélèvement R-transaction SDD Retours, statuts et webhooks Informations générales Introduction Le prélèvement SEPA (SEPA Direct Debit ou « SDD » en anglais) permet à un créancier (marchand) de prélever un montant dû directement sur le compte de son débiteur (client). Il est principalement destiné aux règlements récurrents (abonnements ou paiements en plusieurs fois) mais peut-être dans certains cas utilisé pour des règlements ponctuels (par exemple pour le règlement de factures entre professionnels). Étant émis à l’initiative du créancier, il requiert la collecte préalable d’une autorisation de son débiteur. Le marchand édite ainsi un « Mandat SEPA » précisant les conditions de prélèvement et les coordonnées bancaires des deux parties que son débiteur devra signer. 1/ Les deux types de prélèvement SEPA Il existe deux types de prélèvements SEPA : Le prélèvement SEPA « CORE » : le plus répandu, il permet aux créanciers de débiter des comptes de particuliers comme de personnes morales. Le mandat SEPA est édité et signé entre les deux parties sans contraintes particulières. Le débiteur est cependant protégé et peut contester un prélèvement CORE sans motifs auprès de sa banque sous 8 semaines. Le prélèvement SEPA « B2B » : réservé aux prélèvements entre entreprises. Le mandat SEPA est édité, signé puis doit être transmis par le débiteur à sa banque. Le parcours de contractualisation requiert ainsi une action forte du débiteur et la validation de sa banque. Cependant, les prélèvements initiés depuis ce type de mandats ne sont pas contestables. CentralPay ne propose pas ce service de prélèvement SEPA type « B2B ». 2/ Risques de rejet et de contestation Le prélèvement SEPA étant un moyen de paiement dont les transactions sont initiées sans authentification forte du client, les risques de rejets et de contestations sont à prendre en considération. Consultez la rubrique « R-Transaction SDD » pour en savoir plus sur les rejets et contestations SDD. 3/ Informations importantes Le prélèvement SEPA est utilisable sur la vaste majorité des comptes bancaires « courants » des pays de la zone SEPA et certains de l’Espace Économique Européen hors SEPA. Cela dépend de la connectivité aux réseaux SEPA des banques des débiteurs. Les comptes spéciaux type « comptes épargnes » ne sont pas atteignables. Les opérations SEPA sont traitées en devise EUROS (€) uniquement. Les opérations SEPA sont traitées lors des jours ouvrés uniquement (hors weekend et jours fériés). Ainsi, le délai de réception des fonds varie entre 2 à 5 jours à compter de la date d’initiation de l’opération. Le débiteur doit être informé par le créancier des prélèvements à venir, au moins 14 jours avant la date, soit par l’envoi d’un échéancier, d’une notification ou d’une facture. La durée de validité d’un mandat SEPA est de 36 mois après la dernière transaction opérée sur ce mandat. Dans le cadre d’un prélèvement SEPA sur le compte bancaire d’une entreprise (personne morale), le créancier doit veiller à ce que le mandat SEPA soit adressé et signé par le dirigeant ou un responsable habilité (gérant, service comptabilité…). Le prélèvement SEPA est particulièrement adapté aux transactions récurrentes d’un montant situé entre 20 et 200 EUR pour les débiteurs particuliers, et entre 20 et 2 000 EUR pour les débiteurs personnes morales. Identifiant de Créancier SEPA L’Identifiant Créancier SEPA (ICS) est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France). Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque. Communiquez votre ICS à CentralPay lors de votre entrée en relation afin que nos équipes puissent le déclarer dans votre compte. Déclaration du compte bancaire Pour réaliser une transaction par prélèvement SEPA, il faut d’abord créer le profil de votre client (le débiteur) et déclarer ses coordonnées bancaires sur la plateforme CentralPay. 1/ Créer un profil client « Customer » Collecter les informations de votre client (email, nom, prénom …) Créer un profil client Customer Récupérer la propriété « customerId » dans le retour de création du Customer 2/ Créer un compte bancaire « bankAccount » Collecter les coordonnées bancaires de votre client (IBAN, BIC, nom du titulaire du compte …) Créer un compte bancaire bankAccount en renseignant le « customerId » de votre client Récupérer le « bankAccountId » et le « identityId » dans le retour de création du bankAccount Création du mandat SEPA Après avoir déclaré le compte bancaire « bankAccount » du client et rattaché son profil client « Customer », vous pouvez créer un mandat SEPA « mandate » et collecter la signature électronique de votre client via un code (OTP) envoyé par SMS. Prérequis : vous devez récupérer le « creditorBankAccountId » de votre compte CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail utilisateur en utilisant un profil avec des droits Admin : Administration Mon compte Comptes bancaires Identifiez la ligne présentant votre ICS dans la colonne « IBAN » puis copiez l’UUID associé. 1/ Création et signature d’un nouveau mandat SEPA Créez un mandat SEPA : Créez un « Mandate » Renseignez votre « creditorBankAccountId » Renseignez le « CustomerId » de votre client Renseignez votre Référence Unique de Mandat (RUM) Indiquez le type de mandat que vous souhaitez créer dans la propriété « paymentType » Renseignez le numéro de téléphone de votre client dans la propriété « debtorPhone » Renseignez l’email de votre client dans la propriété « debtorEmail » Indiquez le compte bancaire de votre client en renseignant son « bankAccountId » dans la propriété « debtorBankAccountId » Une fois le mandat SEPA créé : Un « mandateId » sera généré Le statut du mandat sera en « PENDING » Un code à 6 chiffres (OTP) sera envoyé à votre client par SMS (durée de vie 15 min). Vous pouvez renouveler l’envoi de l’OTP. Signez un mandat SEPA : Signez le « Mandate » Collectez le code à 6 chiffres auprès de votre client, et renseignez-le dans la propriété « otp » Renseignez le « mandateId » généré lors de la création du mandat Renseignez l’IP de votre client dans la propriété « endUserIp » Le statut du mandat passera ainsi en « ACTIVE » et le mandat SEPA au format PDF sera envoyé au client par email Schéma de déclaration du compte bancaire et création mandat 2/ Déclaration d’un mandat existant (migration) Dans le cadre d’une migration de mandats déjà créé auprès d’un autre prestataire de paiement, il est possible de désactiver la fonction de signature par OTP sms et d’envoi du mandat SEPA par email. Si c’est votre cas, contactez nos équipes afin d’obtenir plus de détails concernant cette procédure. Prérequis : Les mandats doivent avoir été créés avec votre Identifiant de Créancier SEPA (ICS) Les mandats doivent avoir été créés avec votre entité juridique actuelle Les mandats doivent avoir été dûment signés et acceptés par vos débiteurs Les mandats doivent être encore actifs (<36 mois depuis la dernière transaction) Transaction par prélèvement Une fois les étapes de création et de signature de mandat réalisées, vous pouvez créer une transaction en prélèvement SEPA (Transaction SDD). Chaque transaction SDD sera liée au mandat correspondant. Pour créer des transactions SDD, vous avez plusieurs possibilités : 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 Créez une « SDDTransaction » Renseignez l’identifiant du mandat SEPA « mandateId » Renseignez le montant de la transaction en centimes « amount » Renseignez la devise EUR dans la propriété « currency » Renseignez votre identifiant unique de transaction dans la propriété « endToEndIdentification » Renseignez la description de la transaction dans la propriété « remittanceInformation » (cette donnée apparaitra sur le relevé de compte de vos clients) Renseignez l’IP de votre client dans « endUserIp » Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId » Renseignez la date souhaitée de la transaction dans « requestedCollectionDate » Vous pouvez ensuite répéter l’opération à chaque échéance de prélèvement de votre client. [Optionnel] Demander au client une validation par SMS Pour plus de sécurité, vous pouvez configurer un OTP pour la validation de chaque SDDTransaction : un OTP sera alors généré à la création et envoyé à votre client par SMS. Un sddTransactionId sera également généré à la création. Par défaut, la validation des SDDTransaction est automatique. Cette étape est nécessaire que si vous avez configuré une validation OTP pour la SDDTransaction Récupérer auprès de votre client son code secret Nous le transmettre, ainsi que le sddTransactionId. Par cette action, la SDDTransaction sera considéré comme validé et sera donc effectuée. 2/ Transactions SDD depuis les modèles d’abonnement « subscription » 2.1/ Création Vous devez d’abord créer un Customer contenant au moins un Mandate. Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur. 2.2/ Cas d’intégration spécifiques Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une SDD Transaction seule, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. Si vous souhaitez simplement faire démarrer un abonnement à une date précise (ex : date d’entrée en vigueur de votre contrat), vous pouvez renseigner une date de démarrage (startingDate) dans l’objet Subscription. 3/ Transactions SDD en paiement fractionné « Installment » 3.1/ Création Vous devez d’abord créer un Customer contenant au moins un Mandate. Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. R-transaction SDD 1/ Remboursement de prélèvement SEPA Il n’est pour l’instant pas possible de réaliser un remboursement sur un prélèvement SEPA (date : 06/06/2024). Veuillez contacter CentralPay pour plus d’informations. 2/ Rejet et contestations de prélèvement SEPA Les rejets et contestations de prélèvements SEPA sont émis par les banques de vos clients. Ils sont représentés dans votre compte CentralPay par les opérations « SDD Transaction Reversal ». Un rejet de prélèvement SEPA est émis par la banque avant la mise à disposition des fonds au créancier (sous 2 à 5 jours). Voici les principaux motifs de rejet des prélèvements SEPA Core : Provisions insuffisantes : le compte bancaire du débiteur ne dispose pas de fonds suffisants pour réaliser l’opération. Compte clôturé : le compte bancaire du débiteur a été fermé. Coordonnées bancaires incorrectes : l’IBAN ou BIC utilisé est incorrect, ou le compte n’est pas en devise EUROS. Une contestation de prélèvement SEPA peut être émise par le débiteur jusqu’à 13 mois après l’opération. C’est le principal facteur de risque financier de ce moyen de paiement. Voici les principaux motifs de contestation des prélèvements SEPA Core : Contestation de l’opération (sous 8 semaines max) : le mandat SEPA est valide, mais le client conteste l’opération auprès de sa banque pour quelconque motif. L’opération est entièrement remboursée et des frais de contestation sont applicables au créancier. Le délai est de 70 jours pour les banques hors de l’Union européenne ou de l’Espace Économique Européen. Contestation pour absence de mandat (sous 13 mois max) : le mandat SEPA n’est pas valide (absence de mandat, mauvais signataire…), le client conteste les opérations réalisées. Les opérations sont entièrement remboursées et des frais de contestation sont applicables au créancier. Pour en savoir plus, consultez la liste complète des codes de rejets et contestation de prélèvement SEPA : Codes de retour SDD Retours, statuts et webhooks 1/ Retours liés aux prélèvements SEPA Lorsqu’une transaction SDD (prélèvement SEPA) est rejetée, la banque de votre client adresse un code de rejet permettant d’en identifier la cause. Il faut principalement différencier les rejets (à l’initiative de la banque, ils sont reçus rapidement) des contestations (à l’initiative du client, elles peuvent être reçues plusieurs semaines ou mois après la transaction) : 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…) Consulter la liste complète des codes de rejet SDD 2/ Statuts liés aux prélèvements SEPA Statuts « SDD Transaction » Statuts SDD Transaction Statuts « Mandate » Statuts MANDATE Statuts « bankAccount » [à compléter] Statuts « Subscription » Statuts SUBSCRIPTION Statuts « Installment » Statuts INSTALLMENT 3/ Webhooks liés aux prélèvements SEPA Webhooks « SDD Transaction » Webhooks SDD Transaction Webhooks « Mandate » Webhooks Mandate Webhooks « Bank Account » Webhooks BankAccount Webhooks « Customer » Webhooks Customer Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment
Tarifs Articles Offres commerciales Frais d'interchange et réseaux cartes Forfaits d'accompagnement Offres commerciales CentralPay propose 2 modèles d’offres commerciales : Les offres Starter et Medium, intégrant un forfait mensuel fixe et des frais par transaction simplifiés (ou « blind rate ») Les offres Major, intégrant également un forfait mensuel fixe, mais avec des frais par transaction plus détaillés (ou « interchange++ ») Dans ces deux modèles, les offres CentralPay intègrent les frais d’interchange et de réseaux cartes qui sont facturés par les banques. Vous n’avez donc aucun surcoût à prévoir. Consultez le détail des offres CentralPay Frais d'interchange et réseaux cartes Introduction L’interchange correspond à la valeur chargée par l’établissement émetteur d’une carte de paiement (la banque de votre client) à l’établissement acquéreur (la banque du marchand). Les frais de réseaux carte (ou « Card Scheme Fees ») correspondent aux frais pris par les réseaux carte (Visa, Mastercard, CB) pour faire fonctionner le service. Des termes ont été définis pour désigner l’assemblage de ces frais : Interchange+Les frais d’Interchange + les frais des réseaux cartes (card scheme fees). Interchange++Les frais d’Interchange + les frais des réseaux cartes (card scheme fees) + les frais de service de l’établissement (CentralPay) Toutes les offres commerciales de CentralPay intègrent les frais d’Interchange+ ainsi que nos propres frais de service, vous n’avez donc aucun frais bancaire supplémentaire à prévoir pour réaliser vos transactions. 1/ Frais d’interchange et réseaux carte (E-commerce) Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)Carte de débit ou prépayéCB, VISA, MASTERCARD0,2 %1,15 %Carte de crédit ou débit différéCB, VISA, MASTERCARD0,3 %1,5 %Carte professionnelleCB0,9 %/Carte professionnelleVISA1,45 %2 %Carte professionnelleMASTERCARD1,45 %2 %Toutes cartesAMERICAN EXPRESSAucunAucun Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)Réseau CB (Cartes bancaires)0,015 %/Réseau VISA0,070 %0,70 %Réseau MASTERCARD0,171 %0,951 %Réseau AMERICAN EXPRESS1,600 %2,400 % 2/ Frais d’interchange et réseaux carte (paiement de proximité) Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)Carte de débit ou prépayéCB, VISA, MASTERCARD0,2 %1,15 %Carte de crédit ou débit différéCB, VISA, MASTERCARD0,3 %1,5 %Carte professionnelleCB0,9 %/Carte professionnelleVISA1,45 %2 %Carte professionnelleMASTERCARD1,45 %2 %Toutes cartesAMERICAN EXPRESSAucunAucun Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)Réseau CB (Cartes bancaires)0,015 %/Réseau VISA0,014 %0,322 %Réseau MASTERCARD0,061 %0,240 %Réseau AMERICAN EXPRESS1,600 %2,400 % Forfaits d'accompagnement Les forfaits d’accompagnement permettent une mise en service rapide, guidée par nos équipes support intégration (SI) et service client (SC). Les heures d’accompagnement vous permettent de déléguer certains paramétrages de votre compte et de solliciter des échanges visio : avec le SI pour les sujets techniques, avec le SC pour ceux d’ordre administratif / fonctionnels. 1/ Accompagnement à l’intégration Smart Collection Accompagnement à l’intégration, au choixFrais (HT)En 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 €
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
Logos et visuels Articles Logos CentralPay Logos PaySecure Visuels de réassurance (FR/EN) Logos CentralPay Logo CentralPay SVG Logo CentralPay blanc SVG Logo CentralPay PNG Logo CentralPay blanc PNG Logos PaySecure Logos Logo PaySecure classique PNG Logo PaySecure blanc PNG Logo PaySecure classique JPG Visuels de réassurance (FR/EN) Réassurance – fond blanc Réassurance – fond transparent Réassurance – blanc Réassurance – fond blanc Réassurance – fond transparent Réassurance – blanc Visuels de réassurance (FR/EN) Intégrez un de ces visuels en dessous de votre formulaire de paiement CustomForm, ou simplement dans le footer de votre site afin de rassurer vos clients concernant la sécurité de leurs données de paiement. Réassurance 1 – classique Réassurance 1 – fond blanc Réassurance 1 – blanc Réassurance 2 – classique Réassurance 2 – fond blanc Réassurance 2 – blanc Réassurance 3 – classique Réassurance 3 – fond blanc Réassurance 3 – blanc Réassurance 4 – Avec Amex Réassurance 4 – Amex fond blanc Réassurance 4 – Amex blanc Réassurance 5 – Avec Amex Réassurance 5 – Amex fond blanc Réassurance 5 – Amex blanc Réassurance 6 – Avec Amex Réassurance 6 – Amex fond blanc Réassurance 6 – Amex blanc Réassurance 1 – classique Réassurance 1 – fond blanc Réassurance 1 – blanc Réassurance 2 – classique Réassurance 2 – fond blanc Réassurance 2 – blanc Réassurance 3 – classique Réassurance 3 – fond blanc Réassurance 3 – blanc Réassurance 4 – Avec Amex Réassurance 4 – Amex fond blanc Réassurance 4 – Amex blanc Réassurance 5 – Avec Amex Réassurance 5 – Amex fond blanc Réassurance 5 – Amex blanc Réassurance 6 – Avec Amex Réassurance 6 – Amex fond blanc Réassurance 6 – Amex blanc
Utilisation des API CentralPay L’API utilise un protocole HTTP pour transporter et renvoyer toutes les réponses formatées en JSON. Les API CentralPay sont des API REST permettant de faciliter l’intégration de nos services de paiement. CentralPay mets à disposition de ses utilisateurs deux API : L’API « Core Payment » : pour toutes les fonctions liées aux opérations de paiement L’API « Onboarding » : pour toutes les fonctions liées à la création de comptes de paiement et de monnaie électronique (accessibles aux partenaires uniquement) 1/ Fonctions Toutes les fonctions utilisent les types « MIME » : « application/x-www-form-urlencoded » et « multipart/form-data ». Les fonctions utilisent les méthodes suivantes : Méthode HTTP POST pour la création ou la mise à jour d’un objet Méthode HTTP GET pour la recherche d’objets Méthode HTTP DELETE pour supprimer des objets 2/ Authentification L’API de CentralPay utilise l’authentification de base HTTP pour l’authentification. Toutes les demandes adressées à notre API doivent être authentifiées (intégrant le nom d’utilisateur et le mot de passe fournis par la plateforme) et doivent être effectuées via HTTPS. Vous pouvez récupérer vos identifiants API depuis votre Portail utilisateur : Administration Mon compte Technique Cliquez ensuite sur Identifiant API Modifier Générer Copiez le mot de passe API Mettre à jour Accès Compte Technique – Portail utilisateur de RCT Accès Compte Technique – Portail utilisateur de PROD NB : Certains services comme le cardToken requièrent la déclaration de votre MerchantPublicKey, également disponibles depuis les liens présentés ci-dessus. MerchantPublicKey La MerchantPublicKey permet de s’authentifier sur le service API cardToken qui ne nécessite pas d’autre type d’authentification et permet d’identifier un marchand.Cette clé est trouvable dans l’onglet Technique des détails de votre compte sur notre portail utilisateur : 3/ HTTP Request Toujours utiliser HTTP-Header pour les formats de sérialisation (user_agent, …) Le Content-Type (application/x-www-form-urlencoded ou multipart/form-data) doit être renseigné pour toutes les requêtes dans l’en-tête. L’utilisation du champ « Idempotence-Key » dans l’en-tête HTTP permet d’identifier la requête qui a été envoyée. Si la même valeur « Idempotence-Key » est envoyée à nouveau, la demande sera considérée comme déjà traitée et ne sera pas relancée. Ce contrôle permet au commerçant d’éviter d’envoyer des entrées en double. Cette clé doit être construite avec un hachage « sha1 » des paramètres de la demande (SANS date) concaténés comme ceci : Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) NB : La clé "Idempotence-Key" est valable 24 heures. 4/ HTTP Response Dans chaque réponse HTTP, le champ « Request-Id » est inscrit dans l’en-tête HTTP. NB : Si vous avez une demande spécifique à envoyer via l'API REST de CentralPay, veuillez contacter le support ou votre référent CentralPay.
Reversement bancaire 1/ Introduction Les reversements bancaires (ou « Payout ») sont des virements sortant de votre compte de paiement CentralPay vers le compte bancaire qui y est associé. Ils peuvent être réalisés manuellement depuis le Portail utilisateur ou l’API Payment. Ils peuvent également être automatisés depuis le Portail utilisateur. Depuis le Portail utilisateur, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et réaliser les reversements. 2/ Les deux modes de reversement 2.1/ Reversement automatique Le titulaire du compte peut définir la périodicité : quotidien, hebdomadaire (choix du jour de la semaine, ex : chaque mardi) ou mensuel (choix du jour dans le mois, ex : le cinq du mois).Le service PAYOUT automatique exécutera automatiquement à 01h00 du jour donné un virement des fonds disponibles sur votre compte de paiement. Exemple d’un reversement hebdomadaire programmé le mardi :CentralPay exécutera la demande de création du virement (PAYOUT) le mardi matin avec les fonds disponibles (AVAILABLE) sur le compte de paiement jusqu’au mardi 01h00. 2.2/ Reversement manuel (via BO ou API) Vous avez la possibilité d’exécuter des payouts manuellement depuis le Portail utilisateur ou l’API CentralPay. Vous pouvez déterminer le montant à reverser (avec en maximum le montant disponible sur votre compte). Attention, le PAYOUT ne sera exécuté immédiatement que s’il est effectué avant 05h00 le matin. À défaut, il sera exécuté le lendemain à 05h00 du matin également. 3/ Délais de disponibilité des fonds Les reversements comprennent uniquement les fonds disponibles (ou « AVAILABLE ») de vos comptes de paiement. Les fonds issus d’une transaction par carte bancaire sont par exemple disponibles à J+2 : une transaction carte réalisée le lundi, apparaîtra en « Pending » le lundi, sera « Available » le mardi soir, le payout automatique sera effectué le mercredi matin à 00h05 et la réception du virement SEPA sur votre compte bancaire le jeudi. NB : Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT). 4/ Création d’un reversement manuel 4.1/ Payout manuel par Portail utilisateur Accès Reversements – Portail utilisateur de RCT Accès Reversements – Portail utilisateur de PROD Depuis le Portail Utilisateur > Administration > Mon compte> Reversements : cliquez sur « Transferts externes », sélectionnez le compte d’émission, le montant du reversement ainsi que l’IBAN destinataire, puis cliquez sur « confirmer le transfert ». 4.2/ Payout manuel par API Consultez la rubrique développeurs du service Payout. 5/ Reversement en euros ou devises via le réseau SWIFT Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises. Si vous disposez d’un compte en devises ou n’étant pas accessible via le réseau SEPA, vous pouvez réaliser vos virements via le réseau SWIFT. Contactez CentralPay pour en savoir plus. Les virements bancaires du réseau SWIFT présentent des frais très largement supérieurs aux virements SEPA. Vous pouvez demander à CentralPay de paramétrer vos reversements automatiques afin qu'ils soient déclenchés à partir d'un certain seuil de fonds disponibles. 6/ Retours, statuts et webhooks 6.1/ Statuts Statuts PAYOUT 6.2/ Webhooks Webhooks PAYOUT
Transaction par initiation Articles Informations générales Retours, statuts et webhooks Informations générales Introduction L’initiation de paiement (ou Pay by Bank) permet d’adresser des demandes de virement à ses clients, directement dans leur application bancaire. CentralPay transmet le montant, l’IBAN bénéficiaire et la référence, afin qu’ils n’aient plus qu’à valider l’émission du virement. Que votre client ait émis un virement classique ou instantané, vous recevez immédiatement un avis de virement pour vous informer de son émission. Ce moyen de paiement constitue une bonne alternative, car il permet de contourner certaines problématiques propres aux cartes (plafond) ou aux virements (erreurs de références, délais de traitement). 1/ Création d’une Initiation de paiement L’Initiation de paiement sera prochainement disponible depuis le service de demandes de paiement uniquement. Retours, statuts et webhooks 1/ Retours liés aux Initiations de paiement [à compléter avec les codes de retour banque liés aux remboursements de SCT Transaction s’il en existe] 2/ Statuts liés aux Initiations de paiement Statuts « Payment Request » Statuts Payment Request Statuts « SCT Transaction » Statuts SCT Transaction Statuts « Refund » Statuts Refund 3/ Webhooks liés aux Initiations de paiement Webhooks « Payment Request » Webhooks Payment Request Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « Refund » Webhooks Refund Webhooks « Customer » Webhooks Customer
Subscription Articles Subscription Model Subscription Invoice & invoiceItem Subscription Model See more about Subscription Model Subscription See more about Subscription Invoice & invoiceItem See more about Invoice & invoiceItem
Test IBAN values Find below the list of HTTP return codes: DE91100000000123456789AXABFRPPAZ96AZEJ00000000001234567890AXABFRPPCY21002001950000357001234567AXABFRPPES7921000813610123456789AXABFRPPFR7630006000011234567890189AXABFRPPFO9264600123456789AXABFRPP
Portail utilisateur Le Portail utilisateur est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre compte CentralPay. Les comptes ayant des droits « Partenaires » peuvent également consulter l’activité des comptes de leurs sous-marchands. Accès Portail utilisateur de recette (RCT) Accès Portail utilisateur de production (PROD) 1/ Fonctionnalités Le Portail utilisateur permet notamment : De consulter les opérations comptables du compte De consulter les paiements par carte (« transaction ») De consulter les paiements par virement SEPA (« sctTransaction ») De consulter les paiements par prélèvement SEPA (« sddTransaction ») De créer et de consulter les demandes de paiement (« paymentRequest ») De créer et de paramétrer les profils clients (« customer ») De créer et de paramétrer les points de vente (« pointOfSale ») De paramétrer les notifications Smart Push (templates, scénarios …) D’initier et de gérer les paramètres de reversement (« payout ») De générer des exports et de télécharger les rapports financiers mensuels Pour les comptes « Partenaires » uniquement : De créer et de consulter les demandes d’onboarding (« merchant-enrollment ») De consulter les opérations et de paramétrer les comptes de leurs sous-marchands NB : Les comptes ayant des droits "Participant" (sous-marchands/participants de partenaires) peuvent uniquement consulter les opérations dont ils sont bénéficiaires ("transfer") et gérer leurs paramètres de reversement ("payout"). 2/ Les profils utilisateurs du Portail Ils représentent des personnes physiques pouvant accéder à un ou plusieurs comptes CentralPay ainsi qu’à tout ou partie des services du Portail utilisateur. 2.1/ Gestion des profils utilisateurs « Legal » et « Natural » Accès Portail utilisateur de RCT – Gestion des profils utilisateurs BO Accès Portail utilisateur de PROD – Gestion des profils utilisateurs BO Lors de la création du compte CentralPay, le responsable ayant réalisé l’onboarding (dirigeant ou personne physique disposant d’une délégation de pouvoir) se voit attribuer un profil utilisateur dit « Legal ». Il dispose ainsi de tous les droits administrateur du compte, mais également de droits légaux permettant de paramétrer les éléments les plus sensibles du compte : Paramètres du compte de paiement : Changement d’IBAN de sortie (payout) Changement des conditions de reversements sur compte bancaire Mise à jour des documents de société Paramètres des utilisateurs : Création de nouveaux utilisateurs « Legal » [à compléter] Une fois le compte créé, vous avez la possibilité de créer autant de profils utilisateurs que nécessaire en renseignant leur nom, leur prénom, leur email et leur rôle utilisateur (définissant les droits qu’ils auront sur le compte). Les profils ainsi créés sont nommés « Natural ». NB : Si vous disposez de plusieurs comptes CentralPay et que vos équipes doivent avoir accès à ces différents comptes, créez leur profil utilisateur depuis l’un d’entre eux, puis demander à CentralPay d’affecter leur profil à vos autres comptes. Ils bénéficieront ainsi d’un unique centralisé pour tous ces comptes. 2.2/ Gestion des rôles et droits des profils utilisateurs « Natural » Accès Portail utilisateur de RCT – Gestion des rôles utilisateurs BO Accès Portail utilisateur de PROD – Gestion des rôles utilisateurs BO Les droits des profils utilisateurs « Natural » sont régis par leur rôle utilisateur. Le rôle comprend une liste de droits (lecture seule, création, modification, suppression) paramétrables par service (transaction, demandes de paiement, règles d’acceptation…). Ces droits peuvent être différents en fonction des services sélectionnés. Les utilisateurs disposant des droits nécessaires peuvent créer des rôles pour chaque équipe de leur entreprise, cependant des rôles préétablis sont disponibles nativement : Standard Admin : Accès complet à toutes les fonctionnalités du Portail utilisateur (excepté les fonctionnalités admin). Attention, ce rôle comprend des accès à des services sensibles comme les règles d’acceptation, les whitelists, les blacklists, les créations d’utilisateurs Portail utilisateur, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API … Standard read only : [à compléter] [à compléter] Contactez le service client CentralPay si vous avez besoin d’aide pour la création de rôles personnalisés. Quelques précisions importantes concernant les rôles : Les rôles sont cumulables, un utilisateur peut ainsi se voir assigner plusieurs rôles Les droits des rôles sont héritables, ainsi un utilisateur ayant le droit de créer d’autres profils utilisateurs ne pourra affecter qu’un rôle similaire ou inférieur au sien. 2.3/ Gestion des catégories de point de vente Accès Portail utilisateur de RCT – Gestion des catégories de point de vente Accès Portail utilisateur de PROD – Gestion des catégories de point de vente Si vous avez le besoin de limiter l’accès d’utilisateurs à certains points de ventes, vous pouvez créer des catégories, les affecter à vos points de ventes puis les affecter à vos profils utilisateurs. Exemple : un utilisateur ayant des droits de création de demandes de paiement ne pourra le faire que sur les points de ventes de sa catégorie. Il ne pourra également visualiser que les demandes de paiement émises via les points de vente de sa catégorie. Contactez le service client CentralPay si vous avez besoin d’aide pour la création de catégories de point de vente personnalisées. 3/ Liste des types d’opérations visibles sur le Portail utilisateur Type d’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
Exports comptables 1/ Introduction Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports. 2/ Export comptable des opérations du compte Accès opérations – Portail utilisateur de RCT Accès opérations – Portail utilisateur de PROD Cet export reprend l’ensemble des mouvements financiers débiteurs et créditeurs qui ont été réalisés sur votre compte : autorisations cartes, transactions cartes, transactions SDD, transactions SCT, transfers, payout, frais CentralPay…Vous disposerez du détail de chaque opération afin que vous puissiez le rapprocher facilement à vos factures ou vos dossiers. L’export contient les données suivantes : DénominationSignificationmovement_creation_datedate de l’opérationmovement_ididentifiant CentralPay de l’opérationmovement_gross_amountmontant brutmovement_gross_currencydevise du montant brutmovement_fee_amountmontant des frais CentralPaymovement_fee_currencydevise des fraismovement_net_amountmontant netmovement_net_currencydevise du montant netmovement_expected_availability_datedate de disponibilité des fonds estiméemovement_available_datedate de disponibilité des fonds réellemovement_statusstatut du mouvement (success, failed …)movement_source_typetype d’opération (transaction, transfert …)movement_source_uuididentifiant associé au type d’opération (transactionId, wireTransferId, transferId, …)merchant_descriptiondescription définie par le marchandmerchant_reference_idréférence définie par le marchandcard_countrypays d’émission de la cartecard_regionzone d’émission de la carte (UE, hors UE)point_of_sale_idID CentralPay du point de vente 3/ Télécharger le rapport financier mensuel Chaque début de mois, en plus de la facture, un rapport financier est généré, puis mis à disposition dans l’espace sécurisé de votre compte (Administration > compte > documents > Rapports financiers). Il présente les montants totaux de crédit, de débit, de frais et de réserve de votre compte : Accès documents – Portail utilisateur de RCT Accès documents – Portail utilisateur de PROD Pour bien comprendre votre rapport financier :A) Le total des montants acquis / reçus sur votre compte au cours de la périodeB) Le montant net reçu sur votre compte, déduction faite de l’ensemble des frais selon le calcul « B = A – I »C) Le montant de la réserve détenue en garantie au jour de clôture de la périodeD) Le montant des fonds disponibles au jour de clôture de la périodeE) La valeur totale des fonds disponibles et en garantie enregistrée dans les livres de CentralPay au jour de clôture de la période selon la formule « E = C + D »F) La valeur totale des fonds retirés / transférés à la banque du marchand pendant la périodeG) Le total des frais de service et commissions facturées sur les transactions définies dans la grille tarifaireH) Total des frais d’opérations techniques : frais d’autorisation cartes, de contestation, de payout…I) Total des frais techniques et commissions ou « I = G + H »
Paiements récurrents Articles Abonnement Fractionné Abonnement Introduction Le service d’abonnement vous permet se réaliser automatiquement des transactions récurrentes sur vos profils clients en se basant sur un modèle d’abonnement défini en amont depuis l’API CentralPay ou le Portail utilisateur. Il est ensuite possible d’ajouter des échéances ou de modifier leur montant à la volée depuis les services Invoice & Invoice Item. Ce service permet de générer soit des transactions carte, soit des transactions SDD (prélèvement SEPA). Définitions utiles pour cette section :– SubscriptionModel : modèle d’abonnement (définissant le montant et la fréquence d’abonnement)– Subscription : abonnement appliqué à un client– Invoice : facture, option à utiliser si vous devez modifier la valeur à l’intérieur d’un plan d’abonnement– InvoiceItem : ligne ou article inclus dans la facture. Une facture a potentiellement plusieurs lignes ou éléments Le service "Subscription" n'est pas le seul moyen de réaliser des transactions récurrentes. Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement. 1/ Créer un modèle d’abonnement (subscriptionModel) Accès modèles d’abonnements – Portail utilisateur de RCT Accès modèles d’abonnements – Portail utilisateur de PROD Le subcriptionModel vous permet de pouvoir créer différents types d’abonnements en fonction de vos services proposés. Par exemple, si vous avez à votre disposition deux types d’offre d’abonnement, le premier en utilisant les caractéristiques de base de votre service et l’autre en utilisant les fonctionnalités avancées, vous allez devoir créer deux modèles : Un pour l’offre d’abonnement « basique » Un pour l’offre d’abonnement « avancé » Chaque « SubscriptionModel » possède un ID unique. Vous fournirez cet identifiant dans vos requêtes API lorsque vous souhaiterez appliquer un abonnement à un client sur la base de ce modèle. Vous pouvez utiliser les attributs suivants : amount : montant à renseigner en centimes intervalUnit : DAY / WEEK / MONTH / YEAR (jour / semaine / mois / année) intervalCount : nombre de « intervalUnit » entre deux échéances (ex : si intervalUnit = DAY et intervalCount = 10, alors il y aura une transaction tous les 10 jours). iterationCount : nombre d’échéances (attention la première transaction n’est pas comptabilisée dans ce paramètre, elle s’ajoute donc à ce nombre). Exemple : amount = 3000 intervalUnit = DAY intervalCount = 3 iterationCount = 3 Ainsi votre modèle d’abonnement sera configuré pour facturer à votre client 30,00 EUR tous les 3 jours pendant 4 échéances (pour un total d’un abonnement de 12 Jours). 2/ Créer un abonnement (subscription) Pour créer un abonnement, vous devez d’abord créer un Customer contenant au moins : une Card (si vous souhaitez opérer des transactions carte) ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA). Vous pouvez ensuite créer une Subscription : Selon le moyen de paiement souhaité : pour des transactions carte : renseignez l’identifiant du profil client « customerId » pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate » pour des transactions entre comptes CentralPay : renseignez l’identifiant du compte émetteur « walletId » Renseignez l’identifiant du modèle d’abonnement « subscriptionModelId » Renseignez l’IP de votre client dans « endUserIp » Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId » Notez qu’à la création d’un abonnement, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire ou son mandat SEPA et de résilier un abonnement si besoin est. Un client pouvant à tout moment résilier son abonnement depuis le portail client mis à sa disposition. Veillez à vous inscrire aux webhooks d'annulation d'abonnement. Si votre abonnement comprend une période d'engagement, il est préférable d'utiliser la méthode d'abonnement par transactions successives, ou demander à CentralPay de ne pas diffuser le lien vers le portail client. 3/ Automatisation des nouvelles tentatives en cas d’échec En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur. Accès paramétrages abonnements – Portail utilisateur de RCT Accès paramétrages abonnements – Portail utilisateur de PROD Comportement des champs : Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay Sélection d’une valeur de 4 à 23 1er échec de paiement de facture : comportement en cas d’un premier échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. 2nd échec de paiement de facture : comportement en cas d’un deuxième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. 3eme échec de paiement de facture : comportement en cas d’un troisième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. Action finale : comportement si les actions précédentes ont échoué CANCELED = Annulation de l’abonnement (modification du statut de l’abonnement en CANCELED) FAILURE = Échec de l’abonnement (modification du statut de l’abonnement en FAILURE) UNPAID = Abonnement impayé (modification du statut de l’abonnement en FAILURE + envoi de hook SUBSCRIPTION_UNPAID) 4/ Fonctions d’annulation des abonnements Il existe deux fonctions d’annulation d’abonnement depuis l’API, le Portail Utilisateur ou le Portail Client : Annuler : l’abonnement est annulé immédiatement Annuler en fin de période : l’abonnement sera annulé à la fin de l’échéance en cours (afin de laisser l’abonné bénéficier de votre service durant sa dernière période payée). Par API, vous devrez renseigner le champ « atPeriodEnd ». Note : Durant ce laps de temps, vous pouvez réactiver l’abonnement avec le service « reactivate » des Subscription. Les abonnements dont l'ensemble des échéances ont été réalisées passent automatiquement en statut CANCELED. 5/ Modifier le montant d’une échéance d’abonnement CentralPay crée un invoice pour chaque échéance d’un abonnement (Subscription), selon le modèle d’abonnement associé (subscriptionModel). Vous pouvez procéder à des actions manuelles à n’importe quel moment pour modifier les échéances (invoice) d’un abonnement (subscription). Vous trouverez ci-dessous une liste d’actions possibles : Modifier le montant d’une échéance : Le service invoiceItem vous permet de modifier le montant d’une échéance (invoice) en renseignant un montant positif ou négatif qui s’additionnera au montant initial de l’échéance. L’invoiceItem sera pris en compte lors de la prochaine échéance de l’abonnement, qu’elle soit créée manuellement ou automatiquement. Vous avez également la possibilité de spécifier une échéance donnée dans votre requête en renseignant un invoiceId. Créer une échéance supplémentaire : les échéances (invoice) dites « périodiques » sont créées automatiquement selon votre subscriptionModel. Vous avez la possibilité de créer d’autres échéances ponctuelles sur votre abonnement en créant une invoice. Supprimer un invoiceItem non traité : s’il n’est pas encore lié à une facture Fermer une échéance à venir : si vous souhaitez que CentralPay ne réalise pas le prélèvement d’une échéance (et/ou ses nouvelles tentatives automatiques), vous pouvez fermer cette dernière depuis le service « close » de l’invoice. Au besoin vous pourrez rouvrir cette échéance via le service « reopen » de l’invoice, si elle n’a pas été payée ou qu’il reste des nouvelles tentatives programmées. Forcer le paiement d’une échéance : les transactions sont effectuées automatiquement par le service d’abonnement, vous pouvez cependant initier la transaction en avance ou réaliser une nouvelle tentative manuellement avec le service « pay » de l’invoice. Ces paiements « manuels » ne sont pas comptabilisés par le système de nouvelles tentatives automatisées. Cette action peut être effectuée sur une facture fermée. 6/ Schéma complet de création d’un abonnement Fractionné Introduction Le paiement fractionné permet de découper le règlement d’une facture en plusieurs échéances. CentralPay prélève ensuite la carte du client selon un échéancier défini lors de la première transaction. Il peut être utilisé pour proposer un étalement de règlement à votre client ou pour automatiser un règlement type « acompte/solde ». Contrairement aux abonnements, un client ne peut pas résilier un paiement fractionné depuis le portail client. CentralPay vous aide à recouvrer les échéances dues par vos clients avec un système de nouvelles tentatives automatisées en cas d’échec de prélèvement. Cependant, CentralPay ne garantie pas les sommes dues à l’aide d’un crédit ou d’un système de financement de créances. Le service "Installment" n'est pas le seul moyen de réaliser des transactions récurrentes. Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement. 1/ Créer un paiement fractionné Vous devez d’abord créer un Customer contenant au moins : une Card (si vous souhaitez opérer des transactions carte) ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA). Ensuite, le service Installment vous permettra de créer facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. Vous pouvez ensuite créer un Installment: Selon le moyen de paiement souhaité : pour des transactions carte : renseignez l’identifiant du profil client « customerId » pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate » Renseignez le montant en centimes « amount » Renseignez la devise en format ISO « currency » Renseignez l’IP de votre client dans « endUserIp » Renseignez les paramètres de fractionnement « iterationCount », « intervalCount » et « intervalUnit » Avec ce service, il est également possible : d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements de définir un montant d’acompte qui sera déduit du montant total (depositAmount). Cet acompte peut également être défini à une date spécifique (depositStartingDate). de définir une date de démarrage du paiement fractionné (startingDate) : si l’on souhaite par exemple que l’acompte soit réglé tout de suite, et que les premières échéances soient prélevées à partir d’une certaine date. Notez qu’à la création d’un paiement fractionné, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent et de changer sa carte bancaire ou son mandat SEPA si besoin est. 2/ Exemple de paiement fractionné Vous souhaitez facturer à votre client 1 000 € divisés en 3 mois à partir du 05/07/2024, avec un acompte de 200 € le 28/06/2024 et ajouter un frais supplémentaire de 10 € : amount =100000 depositAmount = 20000 feeAmount = 1000 currency = EUR intervalUnit = MONTH intervalCount = 1 iterationCount = 3 depositStartingDate = 2024-06-28 startingDate = 2024-07-05 Le plan de fractionnement sera le suivant : 28/06/2024 = 200,00 € (acompte) 05/07/2024 = 276,68 € (premier fractionnement + ajustement arrondis + frais supplémentaires) 05/08/2024 = 276,66 € (deuxième fractionnement) 05/09/2024 = 276,66 € (troisième fractionnement) Les arrondis sont appliqués au premier paiement (hors acompte). 3/ Automatisation des nouvelles tentatives en cas d’échec En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur : Accès paramétrages paiements fractionnés – Portail utilisateur de RCT Accès paramétrages paiements fractionnés – Portail utilisateur de PROD Comportement des champs : Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay Sélection d’une valeur de 4 à 23 1er échec de paiement : comportement en cas d’un premier échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale Stop = le système ne réalisera pas de nouvelle tentative de prélèvement. 2nd échec de paiement : comportement en cas d’un deuxième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de deuxième nouvelle tentative de prélèvement. 3eme échec de paiement : comportement en cas d’un troisième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de troisième nouvelle tentative de prélèvement. 4eme échec de paiement : comportement en cas d’un quatrième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de quatrième nouvelle tentative de prélèvement.
Test cards Values You will find below a list of cards that you can use to test and check your integration. Visa Card numbers 4000 0000 0000 0051Card lost (41) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0069Fraud suspicion (59) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0077Insufficient funds (51) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0085To be refused (5) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4556 5579 5572 6624Transaction successful (3DS) & Authentication = Y4916 9940 6425 2017Transaction successful (3DS) & Authentication = C4556 1041 6038 2032Transaction successful (NON 3DS) & Authentication = N4024 0071 7987 2394Transaction (NON 3DS) & Authentication = N4234 6319 8242 8908Transaction (3DS) & Authentication = I4234 6319 8242 8916Transaction successful (3DS) & Authentication = D : application flow4234 6319 8242 8924Transaction successful (3DS) & Authentication = D : browser flow4032 0389 8296 2700EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBIT ;4032 0343 8883 4767EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDIT ;4020 0280 0191 2012EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWN ;4032 0337 9569 2248EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBIT ;4032 0368 1354 0364EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDIT ;4032 0387 5662 0096EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWN ;4032 0358 5604 7592EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBIT ;4032 0302 9068 3219EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDIT ;4032 0377 5134 3001EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWN ;4032 0307 5488 6225EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBIT ;4032 0310 2547 6341EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDIT ;4032 0341 4311 3978EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWN ;4032 0309 5816 7398EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBIT ;4032 0375 4480 7536EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDIT ;4032 0366 9148 7225EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWN ;4032 0325 8917 3860EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBIT ;4032 0388 0897 9557EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDIT ;4032 0374 2147 1240EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWN ; Mastercard Card numbers 5333 2591 5564 3223Transaction successful (3DS) & Authentication = Y5306 8899 4283 3340Transaction successful (3DS) & Authentication = C5328 7203 8458 2224Transaction successful (NON 3DS) & Authentication = N5187 4346 4359 3002Transaction successful (NON 3DS) & Authentication = N5517 4500 0000 0168EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDIT5223 8599 0000 0174EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBIT5325 0900 0000 0115EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT5325 0900 0000 0008EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT5486 7467 7300 0005EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUS5588 1000 0000 0007EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBIT5122 9400 0000 0009EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBIT Amex Card numbers 3415 0209 8634 895Transaction successful (3DS) & Authentication = Y3486 3826 7931 507Transaction successful (3DS) & Authentication = C3456 9539 9207 589Transaction successful (NON 3DS) & Authentication = N3415 0209 8634 895EEA=false ; region=EUROPE ; productType=CONSUMER3486 3826 7931 507EEA=false ; region=EUROPE ; productType=CORPORATE3718 4294 2351 004EEA=false ; region=EUROPE ; productType=UNKNOWN3712 5311 3391 201EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMER3423 1631 7472 410EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATE3710 9829 7279 338EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWN CB Card numbers 4020 0235 6597 5380Transaction successful (NON 3DS), scheme : CB4020 0254 4041 8403Transaction successful (NON 3DS), scheme : CB_VISA5232 1035 2372 2651Transaction successful (NON 3DS), scheme : CB_MASTERCARD
Développeurs Articles How to use the swagger > Payment Request > CARD Transaction 3DS 2.2 > SDD Transaction SCT Transaction Customer > Subscription Installment Payment > Refund > BankAccount > Onboarding Wallet > Transfer > TransferReversal > MerchantInfo > Blacklist > WhiteList > Payout > Webhook notifications Object status Resources by type How to use the swagger > You’ll find below instruction to use our swagger properly 1 – This is where you can choose the server you’ll call for your tests. For now, only RCT (Test Api) is available.2 – In order to do your tests, you’ll need to authenticate with your credentials. You can use here your Api login and password. You can also use our test login : Doctest:4I9HJRTd 3 – This is where you will be able to see the parameters for each endpoint, and do your tests. 4 – Try it out. Use this if you want to be able to test the endpoint. Make sure you’re authenticated before doing so.5 – This is where you’ll be able to use the test values of your choosing. By default, most values are already filled, but use yours for better results.6 – Click here once values are filled to call our Api and do your tests.7 – This is where you’ll see the results once you called our Api. You’ll also find here by default responses example for this endpoint. Payment Request > See more about Payment Requests CARD Transaction Card token See more about Card Token The Json « CardToken » object The « CardToken » object represents a debit/credit card token. Merchants usually want to be able to charge payment cards, IBAN or other without having to store sensitive data on their servers.Token.js makes this easy in the browser, but you can use the same technique in other environments with our token API. Tokens can be created with your publishable API key, which can safely be embedded in downloadable applications like iPhone and Android apps. You can then use a token anywhere in our API when a credit/debit card, bank account or any personal ID number is accepted. You need to add a header "Origin" with an URL previously added in your Back Office as an Authorized Custom form Host.For your tests, you can use the origin : https://example.centralpay.net. Transaction See more about card transactions Card See more about Card You can store multiple Cards per Customer in order to charge the customer later on (subscription, etc.). It can also be used to store multiple debit or credit cards on a recipient in order to transfer to these cards later. Note: If the card is already registered for this merchant, the API will return the previous cardId registered (not a new one). Credit See more about Credit Disputes See more about Disputes A dispute is opened when a customer questions a transaction with their bank or credit/debit card provider. When the transaction is tagged as a dispute, you can respond to the dispute with evidence that shows the charge is legitimate. If the transaction cannot be proven legitimate, the dispute will become a chargeback. 3DS 2.2 > See more about 3DS 2.2 SDD Transaction Mandate See more about Mandate SDD Transaction See more about SDD Transaction SDD Transaction Reversal See more about SDD Transaction Reversal SCT Transaction SCT Transaction See more about SCT Transaction SCT Transaction Reversal See more about SCT Transaction Reversal Bank Reconciliation See more about Bank Reconciliation Bank Reconciliation external See more about Bank Reconciliation Customer > See more about Customer Subscription Subscription Model See more about Subscription Model Subscription See more about Subscription Invoice & invoiceItem See more about Invoice & invoiceItem Installment Payment > See more about Installment Payment Refund > See more about Refund for Card Transaction See more about Refund for SCT Transaction See more about Refund for SDD Transaction BankAccount > See more about BankAccount Once your identity has been created (Merchant or Customer), you can create a bank account you’ll link to it. Merchants must create for their customer the bank account with informations provided by them. It must be noted that to become a creditor, you need to have a level STANDARD or more. Onboarding Create Enrollement Complete enrollment Update enrollment Search enrollement Enrollment Details E-money Misc Wallet > Transfer > TransferReversal > MerchantInfo > Blacklist > WhiteList > Payout > See more about Payout Webhook notifications The BANKACCOUNT object BANKACCOUNT_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": [] } 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": [] } } 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 ONBOARDING_ENROLLMENT_VALID_DOCUMENTSSome documents are regarded as valid by the Centralpay conformity 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 PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded 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 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_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 Object status PAYMENT REQUEST status Payment request status: ACTIVE CLOSED CANCELED Payment status : UNPAID ACCEPTED PARTIALLY_PAID PAID The following table explains every possible status combination and what they point out : Payment request statusPayment status 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, 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 » StatutDescriptionRETRIEVAL_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.CANCELLEDThe subscription has been cancelled 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.CANCELLEDThe bank account is no longer usable (closed account, fraud, …). PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELLEDThe payout has been cancelled (only in pending).REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet. SCT TRANSACTION status Status « SCT Transaction » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded. Resources by type Codes Test values
Authentification 3DS 2.2 Articles 3DS 2.2 BRW (paiement unitaire) 3DS 2.2 3RI (paiements récurrents) FAQ 3DS 2.2 3DS 2.2 BRW (paiement unitaire) Téléchargement des sources 3DS 2.0 Vous pouvez télécharger les sources ici : 3ds2.zip Introduction Tout ce processus doit se dérouler sur la même page web (ceci est une contrainte du process bancaire). Les grandes étapes du 3D Secure 2.0 : Consultez un exemple de formulaire de paiement CUSTOM intégrant le 3DS 2.0 1) Versioning Cette étape consiste à adresser le PAN de la carte à l’API Centralpay. Exemple de code Curl : curl -v POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ -h 'Content-Type: application/x-www-form-urlencoded' \ -u 'doctest:4I9HJRTd' \ -d 'acctNumber=4000001000000067' En réponse : Si la carte n’est pas 3DS 2.0, le versioning vous retournera une erreur 404. Cela signifie que la carte utilisée n’est pas enrôlée 3DS 2.0 et que la transaction ne peut pas se faire en 3DS 2.0. Si la carte est 3DS 2.0, vous recevrez un UUID identifiant l’opération jusqu’au résultat final + les données nécessaire pour réaliser le « 3DS Method » (URL + base64) Deux réponses au Versionning sont possibles si la carte est 3DS 2.0 : Version 1 (la plus fréquente) : { "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL":"https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm":{ "threeDSMethodData":"eyJ0aHJlZURTTWV0aG9kTm90aWZ pY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJ hbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9 uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2M tZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails":null } Cette réponse est renvoyée quand la banque a besoin de l’acs url dans la requête de l’authentification. Le process 3DS Method est alors nécessaire, vous pouvez passer au point 2 : 3DS METHOD. Version 2 : { "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Cette réponse est renvoyée quand la banque n’a pas besoin de l’acs url dans la requête de l’authentification.Le versioning renvoie une réponse où seul « threeDSServerTransID » possède une valeur non null. Le process 3DS Method n’est alors pas nécessaire, vous pouvez passer au point 3 : 3DS AUTHENTICATION BRW. 2) 3DS METHOD Lorsque le versioning renvoi les champs threeDSMethodURL et threeDSMethodDataForm en « Non Null », le process 3DS Method est alors nécessaire.Cette fonction a pour but de poster la donnée base64 reçue du versioning vers l’ACS.Le formulaire iframe doit être réalisée par le navigateur client vers la banque simultanément avec l’authentification.Il faut réaliser une iFrame cachée qui servira à poster la donnée base64 (threeDSMethodData) à l’URL reçue dans le versioning (threeDSMethodURL). 3) 3DS AUTHENTICATION BRW L’appel devra être adressé vers l’url suivante de l’API CentralPay : « 3ds2/authentication »Cette requête permet l’envoi des données contextuelles liées au porteur Exemple d’appel (curl code) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'threeDSServerTransID=7d031b8e-7fb7-4215-b866-eaacb395002f' \ --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \ --data-urlencode 'deviceChannel=02' \ --data-urlencode 'messageCategory=01' \ --data-urlencode 'purchaseAmount=1000' \ --data-urlencode 'purchaseCurrency=EUR' \ --data-urlencode 'threeDSRequestorAuthenticationInd=01' \ --data-urlencode 'browserJavaEnabled=true' \ --data-urlencode 'browserLanguage=fr-FR' \ --data-urlencode 'browserColorDepth=24' \ --data-urlencode 'browserScreenHeight=1052' \ --data-urlencode 'browserScreenWidth=1853' \ --data-urlencode 'browserTZ=120' \ --data-urlencode 'browserIP=127.0.0.1' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' \ --data-urlencode 'browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ --data-urlencode 'notificationURL=http://dev4.dev.centralpay.net:1101/requestor/challenge-notification' \ --data-urlencode 'threeDSRequestorURL=https://www.centralpay.eu' L’api va retourner un statut de transaction (« transStatus »), voici les valeurs et leurs significations : Pas d’autorisation (ne pas faire la transaction) : N = Non authentifié /Compte non vérifié. Transaction refusée. U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq. R = Authentification/vérification du compte rejetée. l’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS. Autorisation sans challenge : Y = Vérification de l’authentification réussie. A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie. Autorisation après challenge : C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes. D = Challenge requis. Authentification découplée confirmée. Exemples de réponses possibles : C = Challenge requis : {"threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f","transStatus": "C","acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge","acsChallengeMandated": "Y","base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=","contractId": "71602dd0-2790-4743-877b-e72530d7576d"} Le Challenge est nécessaire. Y = authentification réussie : { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Le Challenge n’est pas nécessaire.Les champs requis au 3DS 2.0 sont dans la réponse (threeDSServerTransID, transStatus, authenticationValue (cavv), eci). Note : Le xid n’est pas fourni, car il s’agit d’une référence libre pour les marchands. N = Transaction refusée : { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } Transaction refusée. 4) Challenge Lorsque la réponse de l’authentification est « C« , l’utilisateur doit effectuer un challenge, une Iframe doit alors soumettre un formulaire à l’url (acsURL) retournée par l’API lors de l’appel à « 3ds2/authentication ». Le seul paramètre envoyé est : creq qui comprend la valeur base64EncodedChallengeRequest qui provient de l’appel à « 3ds2/authentication ». A la fin du challenge, l’url configurée (paramètre notificationURL ) dans l’appel « 3ds2/authentication » est appelée. Voici ce que vous aurez dans notre environnement de test pour l’affichage du Challenge OTP (dans des conditions de PROD, la fenêtre affichée sera celle de l’ACS) : Voici les OTP en environnement test : 1234 retourne Y pour Challenge réussi 4444 retourne A pour Challenge réussi 1111 retourne N pour Challenge échoué 2222 retourne R pour Challenge échoué 3333 retourne U pour Challenge échoué 5) Réponse À l’issue du challenge, les informations concernant celui-ci sont disponibles dans la variable « finalCresValue » Pour récupérer les informations de cette valeur base 64 il faut la décoder, voici un exemple en php : $retour = json_decode(base64_decode($_POST['cres']), true) Si celui-ci est égal à Y ou A alors le client a effectué le challenge correctement et le paiement est autorisé, vous devrez alors appeler GET /results afin de connaitre les données nécessaire aux 3DS 2.0 pour votre transaction. Si le statut de transaction est égal à une autre valeur, alors le client n’a pas effectué le challenge correctement et le paiement est refusé. 6) Résultat Pour connaitre les données 3DS 2.0 à renseigner à la création d’une transaction 3DS 2.0, vous devrez adresser le threeDSServerTransID de l’authentification 3DS 2.0 préalablement effectuée. Rappel : Si vous avez obtenu un transStatus à « Y » en réponse de l’authentification, les données 3DS 2.0 sont déjà contenu dans celui-ci. Appel : curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic e3tERUZBVUxUX1VTRVJ9fTp7e0RFRkFVTFRfUEFTU1dPUkR9fQ==' Réponse : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 7) Transaction Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 : 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci 3ds[xid] = Paramètre Custom destiné aux marchands. Exemple d’une transaction 3DS 2.0 : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \ --header 'Origin: https://example.centralpay.net' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'currency=EUR' \ --data-urlencode 'amount=1500' \ --data-urlencode 'endUserIp=9.64.32.8' \ --data-urlencode 'endUserLanguage=ita' \ --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \ --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \ --data-urlencode 'browserAcceptLanguage=it_IT' \ --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'receiptEmail=support@centralpay.eu' \ --data-urlencode 'capture=true' \ --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \ --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \ --data-urlencode 'order[firstName]=John' \ --data-urlencode 'order[lastName]=Doe' \ --data-urlencode 'source=EC' \ --data-urlencode '3ds[xid]=35876533346561303461' \ --data-urlencode '3ds[cavv]=JAmi21makAifmwqo2120cjq1AAA=' \ --data-urlencode '3ds[eci]=01' \ --data-urlencode '3ds[status]=Y' \ --data-urlencode '3ds[threeDSServerTransID]=7d031b8e-7fb7-4215-b866-eaacb395002f' 3DS 2.2 3RI (paiements récurrents) Prérequis Afin de réaliser une transaction en 3DS 2.0 3RI, il faut que l’utilisateur ait déjà réalisé une transaction 3DS 2.0 avec une authentification BRW.Une fois celle-ci effectuée, gardez le acsTransId qui est envoyé, il faudra le passer dans threeDSReqPriorRef. 1/ 3DS AUTHENTICATION RI L’appel devra être adressé vers l’URL suivante de l’API CentralPay : « 3ds2/authentication » Le acsTransId que vous avez gardé de l’authentification BRW doit être mis dans threeDSReqPriorRef. Si l’api vous retourne un statut de transaction (« transStatus ») à « Y » l’authentification 3RI est autorisé. Voici les valeurs possibles de transStatus et leur signification : Y = Vérification de l’authentification réussie. N = Non authentifié /Compte non vérifié. Transaction refusée. U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq. A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie. C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes. D = Challenge requis. Authentification découplée confirmée. R = Authentification/vérification du compte rejetée. L’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation. I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS. Exemple d’appel 3RI (curl code) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \ --data-urlencode 'pointOfSaleId=08960d92-874b-4447-800b-aaa53fa976f5' \ --data-urlencode 'deviceChannel=03' \ --data-urlencode 'messageCategory=02' \ --data-urlencode 'acctType=03' \ --data-urlencode 'cardExpiryDate=9999' \ --data-urlencode 'purchaseAmount=4880' \ --data-urlencode 'purchaseCurrency=978' \ --data-urlencode 'purchaseExponent=2' \ --data-urlencode 'purchaseDate=20230101122345' \ --data-urlencode 'recurringExpiry=20330101' \ --data-urlencode 'recurringFrequency=0' \ --data-urlencode 'chAccAgeInd=03' \ --data-urlencode 'chAccChange=20220901' \ --data-urlencode 'chAccDate=20220901' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'nbPurchaseAccount=2' \ --data-urlencode 'paymentAccAge=20221001' \ --data-urlencode 'paymentAccInd=03' \ --data-urlencode 'threeDSReqPriorAuthMethod=02' \ --data-urlencode 'threeDSReqPriorAuthTimestamp=202209010123' \ --data-urlencode 'threeDSReqPriorRef=7d031b8e-7fb7-4215-b866-eaacb395002f' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeDSRequestorChallengeInd=02' \ --data-urlencode 'threeRIInd=01' Explication de certains paramètres deviceChannel 03 -> 3DS Requestor Initiated (3RI) messageCategory 02 -> La valeur 02 force la transaction en 3RI. purchaseAmount -> Montant de l’achat courant purchaseCurrency -> Monnaie au format ISO purchaseExponent -> Unité mineure de la monnaie courante purchaseDate -> Date de l’achat recurringExpiry -> Date à laquelle il n’y aura plus d’autorisations qui pourront être effectuées recurringFrequency -> Nombre de jours minimums entre deux autorisations. acctType -> Debit chAccAgeInd -> Durée pendant laquelle le titulaire de la carte possède le compte auprès du demandeur 3DS. Les valeurs acceptées sont : 01 -> Pas de compte 02 -> Créé durant la transaction 03 -> Moins de 30 jours 04 -> Entre 30 et 60 jours 05 -> Plus de 60 jours. chAccChange -> Date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Format de la date = YYYYMMDD. chAccDate -> Date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Format de la date = YYYYMMDD. nbPurchaseAccount -> Nombre d’achats effectués avec ce compte de titulaire de carte au cours des six derniers mois. paymentAccAge -> Date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. paymentAccInd -> Indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs acceptées sont : 01 -> Pas de compte 02 -> Créé durant la transaction 03 -> Moins de 30 jours 04 -> Entre 30 et 60 jours 05 -> Plus de 60 jours. threeDSReqPriorAuthMethod 02 -> Vérification du porteur de carte effectué par l’ACS. threeDSReqPriorAuthTimestamp -> Date et heure en UTC de l’authentification précédente. Le format de date accepté est YYYYMMDDHHMM. threeDSReqPriorRef -> Le champ doit contenir la valeur « acsTransId » de la transaction 3DS BRW précédente. threeDSRequestorDecReqInd N -> Ne pas utiliser l’authentification découplée. threeDSRequestorAuthenticationInd 02 -> Transaction récurrente threeDSRequestorChallengeInd 02 -> Pas de Challenge requis threeRIInd 01 -> Transaction récurrente Exemple de réponse : { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } 2/ Transaction Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 : 3ds[threeDSServerTransID] = threeDSServerTransID (ajouter le nouveau génerer par l’authentification 3RI) 3ds[status] = transStatus 3ds[eci] = eci 3ds[xid] = Paramètre Custom destiné aux marchands. Lors d’une transaction en 3RI, il ne faut pas envoyer le 3ds[cavv]. Exemple d’une transaction 3DS 2.0 : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \ --header 'Origin: https://example.centralpay.net' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'currency=EUR' \ --data-urlencode 'amount=1500' \ --data-urlencode 'endUserIp=9.64.32.8' \ --data-urlencode 'endUserLanguage=ita' \ --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \ --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \ --data-urlencode 'browserAcceptLanguage=it_IT' \ --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'receiptEmail=support@centralpay.eu' \ --data-urlencode 'capture=true' \ --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \ --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \ --data-urlencode 'order[firstName]=John' \ --data-urlencode 'order[lastName]=Doe' \ --data-urlencode 'source=EC' \ --data-urlencode '3ds[xid]=35876533346561303461' \ --data-urlencode '3ds[eci]=02' \ --data-urlencode '3ds[status]=Y' \ --data-urlencode '3ds[threeDSServerTransID]=67dc456c-6c7a-987f-92cf-f68752525d0c' FAQ 3DS 2.2 Foire aux questions autour du 3-D Secure 2.0. Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ? Consultez la liste des cartes de tests de l’environnement de RCT Ma transaction a reçu le code retour banque 5, qu’est-ce que ça signifie ? Cela signifie, que la banque refuse sans donner de statut particulier.Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives. Ma transaction a reçu le code retour banque 12, qu’est-ce que ça signifie ? Cela signifie que la banque refuse sans donner de statut particulier.La raison peut être : – Simplement une transaction invalide – Un code 75 de la part de la banque émetteur (le code PIN de la carte a été trop de fois incorrecte) – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS) – Ou une autre décision que nous ne connaissons pas. L’API transaction me retourne une erreur « Soft Decline » pourtant le paramètre « threeDSServerTransID » est bien celui retourné par le cres.Comment devons-nous interpréter ce retour et que devons-nous faire ? Le soft decline est renvoyé par la banque lorsque que le 3DS n’est pas présent dans la transaction.Il faut vérifier s’il manque des champs présentés dans cette partie de la documentation : https://ref-api.centralpay.net/payment#106-3ds-sub-object Ma requête du Versioning me retourne une erreur « 404 » avec le message « Card account number not found in card ranges from Directory Server ».Qu’est-ce que ça signifie et que dois-je faire ? Cela signifie que la carte utilisée n’est pas enrôlée 3DS2.0 et que la transaction ne peut pas se faire en 3DS2.0.Pour ce cas, nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce genre de carte. La réponse de la requête Result nous a renvoyé le transStatus à U.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? La valeur U de transStatus en réponse de la requête result signifie que l’authentification ou la vérification n’a pas pu se faire suite à un problème technique ou autres problèmes.Du côté du smart form lors du challenge avec la requête result, seules les valeurs Y et A permettent de valider le challenge et continuer le paiement.Les autres valeurs font échouer le challenge et le paiement.Mais dans le cas d’un custom form le fonctionnement peut être différent, vous pouvez utiliser la valeur U pour faire une nouvelle tentative de challenge et si ça échoue encore alors le paiement passe en 3DS1 ou est refusé, ou alors pour directement retenter le paiement en 3DS1 ou le considérer comme un échec de paiement.Ces différents cas sont possibles à réaliser. Nous avons soumis le formulaire à l’URL retournée par l’authentication avec le base64EncodedChallengeRequest.Mais le client est aussitôt revenu sur notre site sans CRES mais avec un paramètre ERROR contenant la valeur « eyJ0aHJlZURTU…Mi4xLjAifQ== » ainsi que le paramètre « THREEDSSESSIONDATA » qui lui était vide.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? Lorsque vous avez un retour de ce genre, il faut vérifier que votre processus du 3DS2 se déroule bien sûr une seule et même page avec la solution d’un iframe.Si le processus est conforme, alors contactez le support technique avec les informations nécessaires. Pour rappel, toutes les étapes du formulaire se réalisent sur une seule et même page sans redirection vers une page bancaire ou autre.Cela se fait grâce à la solution de l'Iframe.Toute la procédure du 3DS2.0 se passe sur la même page ! Nous avons reçu une erreur 303 : « acquirerBIN, acquirerMerchantID not recognized » lors d’un appel à l’authentication.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? Il s’agit soit du contrat qui n’est pas 3DS2, soit d’autres problèmes.Dans le cas d’un autre problème, il faut alors contacter le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations pouvant être nécessaire. Sur l’étape d’authentication, nous avons eu une erreur 203 : « Validation of 3DS Requestor Authentication data failed.Data element not in the required format or value is invalid » pour le champ merchant.merchantName.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? L’erreur 203 signifie qu’il y a un caractère invalide dans le paramètre « merchant.merchantName ». Lors d’un test d’appel de la fonction 3DS2 « authentication », l’erreur suivante est retournée dans la clé « card data » : « There is no unique source of card ».Qu’est-ce que cela signifie ? L’erreur « There is no unique source of card » est commune à toute la plateforme et est présent lorsque vous envoyez des informations de cartes deux fois : par exemple via un cardToken et un cardId ou un PAN et un cardToken etc…
Portail client Le portail client CentralPay est l’interface des profils clients (Customer). Il permet à vos clients de : consulter leur historique de paiement, d’administrer leurs opérations en cours (mise à jour de leur moyen de paiement par défaut, résiliation d’abonnement…) mais aussi d’interagir avec vous en cas de question concernant une opération (formulaire de contact). Ce portail est principalement utilisé pour l’administration des paiements récurrents par les clients. Les équipes conformité de CentralPay peuvent requérir que l’URL de ce portail soit intégrée dans le pied de page ou les conditions générales de votre site marchand. Pour s’y connecter, vos clients ont deux options : Via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre compte CentralPay : Accès portail client de RCT : https://test-customer.centralpay.net/home Accès portail client de PROD : https://customer.centralpay.net/home En direct via le lien communiqué dans les emails automatique de création d’abonnement / de paiement fractionné, ou en intégrant le CustomerID visible dans votre Portail utilisateur > Compte > Customer > Détail > CustomerId : Accès portail client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId] Accès portail client de RCT : https://customer.centralpay.net/customer/?uuid=[CustomerId]
Exports de données 1/ Introduction Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports. 2/ Export des transactions cartes Accès Transactions – Portail utilisateur de RCT Accès Transactions – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des transactions cartes que vous avez réalisées au cours d’une période donnée.Cet export simplifie la lecture de vos transactions carte en agrégeant les opérations d’autorisations et de débit, et présente des données complémentaires spécifiques aux transactions cartes. L’export contient les données suivantes : Dé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 3/ Export des remboursements cartes Accès Remboursements cartes – Portail utilisateur de RCT Accès Remboursements cartes – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des remboursements cartes que vous avez réalisées au cours d’une période donnée. 4/ Export des contestations de transactions cartes Accès Contestations cartes – Portail utilisateur de RCT Accès Contestations cartes – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des contestations de transactions cartes (disputes/chargebacks) que vous avez reçues au cours d’une période donnée. 5/ Export des abonnements (cartes et SDD) Accès Abonnements – Portail utilisateur de RCT Accès Abonnements – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des abonnements cartes et SDD que vous avez réalisés au cours d’une période donnée.
Refund > See more about Refund for Card Transaction See more about Refund for SCT Transaction See more about Refund for SDD Transaction
Documentation Articles Guide de démarrage rapide > Le compte CentralPay Services liés au compte Liens de paiement Transaction par carte Transaction par virement Transaction prélèvement SEPA Transaction par initiation Paiements récurrents Authentification 3DS 2.2 Créer des comptes Transférer des paiements Cas d'usages Guide de démarrage rapide > 1/ Entrée en relation Consultez les offres tarifaires de CentralPay Présentez votre projet aux équipes commerciales de Centralpay Choisissez le modèle d’entrée en relation qui correspond à votre projet Consultez les étapes d’entrée en relation 2/ Création de votre compte de test Un environnement de recette est mis à disposition pour effectuer vos développements et tests d’intégration : Compte de test Marchand : si vous souhaitez uniquement accéder à la solution d’encaissement Smart Collection, cliquez sur le lien suivant et renseignez vos informations : obtenir un compte de test marchand Compte de test Partenaire : si vous souhaitez accéder aux solutions d’encaissement Smart Collection et de transfert des paiements Easy Wallet, veuillez contacter notre service client qui créera et paramètrera votre compte de test en conséquence. 3/ Choix de votre méthode d’intégration Déterminez la méthode d’intégration que vous souhaitez utiliser : Intégration Smart : utilisez les demandes de paiement et la page de paiement CentralPay pour encaisser vos transactions. Les parcours clients sont prêts à l’emploi, pour un lancement rapide de votre projet. Intégration Custom : intégrez les services API de transaction par carte, par virement et/ou par prélèvement SEPA pour encaisser vos transactions. Les parcours doivent être entièrement développés par vos soins, ce qui vous permet de le maitriser entièrement, mais requiert plus d’efforts et de responsabilités. 4/ Paramétrage de votre compte Votre compte CentralPay dispose d’un certain nombre de paramétrages qui peuvent être réalisés en autonomie ou avec l’aide de notre service client. Les paramétrages réalisés sur votre compte de RCT ne seront pas répercutés automatiquement sur votre compte de PROD, veillez à reparamétrer correctement votre compte de PROD une fois en votre possession. Paramétrages principaux : Récupération des accès d’authentification API du compte Déclaration des domaines autorisés (si intégration Custom uniquement) Comptes de paiement et affectation des comptes bancaires de sortie Paramétrage des utilisateurs du Portail utilisateur Création et paramétrage des points de vente Paramétrage des Webhooks Paramétrage de l’Identifiant de Créancier SEPA ou ICS (si prélèvements SEPA uniquement) Paramétrages secondaires : Paramétrage des emails de contact du compte Paramétrage des règles d’acceptation Paramétrage des reversements Paramétrage du libellé de relevé bancaire (carte) Paramétrage des notifications automatiques Paramétrage de la page de paiement SmartForm Paramétrage des profils de demandes de paiement Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement carte Paramétrage des nouvelles tentatives automatiques pour les échecs de prélèvement SEPA 5/ Simuler des paiements Avant la mise en production de votre compte, vous devez simuler des paiements client dans votre compte de RCT afin de vous assurer du bon fonctionnement de votre intégration : Simuler une transaction carte : consultez la liste des cartes de test permettant de simuler différents types et statuts de transactions Simuler une transaction par virement SEPA (SCT) : créez une ou plusieurs transactions SCT puis demandez au support CentralPay de simuler les opérations Simuler une transaction par prélèvement SEPA (SDD) : récupérez un IBAN/BIC de test depuis notre liste dédiée 6/ Mise en production Une fois vos workflows de paiement testés et validés sur l’environnement de RCT, il va être nécessaire de préparer la MEP vers l’environnement de production. Tout paramétrage ayant été réalisé en RCT devra être réeffectuer en PROD si vous désirez le même comportement.Pour cela il vous faudra : récupérer les crédentials de PROD du ou des utilisateurs API s’assurer de bien avoir l’URL API de PROD récupérer la merchantPublicKey liée à votre marchand afin de créer des cardToken informer CentralPay de la mise en production d’un site ou d’une évolution majeure impactant Centralpay sur la connaissance de l’activité du marchand définir l’URL de votre site sur votre point de vente du marchand afin d’avoir le droit d’utiliser des demandes de paiement vérifier l’accès à la page de contact du support depuis le portail utilisateur : https://backoffice.centralpay.net/admin/support/ Une fois la MEP sur l’environnement de PRD effectuée, il est toléré de faire une ou deux transactions d’un Euro afin de contrôler le bon fonctionnement du paiement. Le compte CentralPay Compte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de :– Sa contractualisation : grille tarifaire, CGU…– Son administration : authentification, profils utilisateurs…– Sa configuration : scenario de notification, points de vente, règles d’acceptations– Sa conformité : KYC/KYB, accréditations… Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique. 1/ Les types de compte CentralPay et droits associés Il existe plusieurs types de compte CentralPay disposants de droits spécifiques à chacun : Participant (anciennement Basic) : destiné aux sous-marchands et participants. Il dispose d’un compte de paiement ou de monnaie électronique, à travers duquel il peut uniquement recevoir des transferts en provenance du partenaire l’ayant inscrit. Il peut piloter ses reversements depuis son Portail utilisateur mais n’a aucun accès à l’API CentralPay. Marchand (anciennement Standard) : destiné aux marchands. Il dispose d’un ou plusieurs comptes de paiement, à travers desquels il peut réaliser des opérations de paiement et piloter ses reversements. Il peut également disposer d’un compte de commission sur lequel CentralPay prélèvera ses frais, afin de segmenter ce type d’opérations du reste des transactions. Partenaire MOBSP (disponible prochainement) : destiné aux partenaires MOBSP. Il dispose d’un compte de commission pour recevoir les frais associés à ses services, et potentiellement d’un compte de paiement pour opérer ses propres encaissements. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont CentralPay est le titulaire et à accès aux services partenaires MOBSP (demande d’inscription de sous-marchands, transferts via transaction…). Partenaire DME (disponible prochainement) : destiné aux partenaires distributeurs de Monnaie Électronique. Il dispose d’un compte de commission pour recevoir les frais associés à ses services. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont CentralPay est le titulaire et à accès aux services partenaires DME (demande d’inscription de sous-marchands / participants, transferts via transaction, transferts en Monnaie Électronique…) Partenaire Agent (anciennement Agent) : destiné aux partenaires Agents Prestataires de Services de Paiement. Il dispose d’un compte de commission pour recevoir les frais associés à ses services, et potentiellement d’un compte de paiement pour opérer ses propres encaissements. Il peut réaliser des opérations de paiement au travers d’un compte de collecte dont il est le titulaire et à accès aux services partenaires Agent (demande d’inscription de sous-marchands, transferts via transaction, transferts indépendants…). NB : Un compte peut-être « Marchand » et « Participant » à la fois, dans le cas d’une activité propre en complément de sa participation à une plateforme. 2/ Paramétrage des emails de contacts du compte Afin d’adresser nos demandes ou de transférer les informations importantes aux bonnes personnes au sein de votre entité, il est important de renseigner les emails de contact du compte : Email contact : email du responsable général du compte Email administratif : email du responsable administratif du compte Email technique : email du responsable technique du compte Email financier : email du responsable financier du compte NB : par défaut, les emails sont renseignés avec celui du titulaire du compte. Accès Portail utilisateur de RCT – Paramétrage des coordonnées Accès Portail utilisateur de PROD – Paramétrage des coordonnées Profils clients 1/ Introduction Les profils clients (ou « Customer ») unifient et sécurisent toutes vos données client pour en faciliter la gestion. Ils interagissent avec les autres services de CentralPay et permettent notamment de : centraliser leur historique de paiements (tous canaux de vente et moyens de paiement confondus) digitaliser et stocker de manière sécurisée leurs supports de paiement (cartes, mandats SEPA, IBAN virtuels) suivre facilement leurs paiements récurrents (abonnements, paiements fractionnés) ou règlements en attente (demandes de paiement). Dans certains cas, ils peuvent également être associés à un compte de monnaie électronique permettant au client de recevoir et d’utiliser des fonds au sein du réseau du partenaire distributeur de cette monnaie électronique. Un Customer est obligatoirement identifié soit par son email, soit par son numéro de téléphone. Il est également possible de déclarer d’autres informations le concernant comme son nom, son prénom, sa langue, sa référence personnalisée, son moyen de paiement par défaut… 2/ Utilisation La création d’un Customer est obligatoire pour la réalisation : d’abonnements ou de paiements fractionnés par carte de paiements en 1 clic par carte de paiements par prélèvement SEPA de paiements par virement SEPA avec IBAN Virtuel dédié à celui-ci de création d’un compte de monnaie électronique anonyme 3/ Interfaces Vous pouvez consulter l’ensemble des Customers de votre compte depuis votre Portail utilisateur > Compte > Customers : Accès Customers – Portail utilisateur de RCT Accès Customers – Portail utilisateur de PROD Vos Customers disposent également d’un portail client leur permettant d’administrer les paiements réalisés avec votre entreprise. 4/ Création d’un Customer Il existe deux méthodes pour créer un Customer : Créer un Customer depuis le service API dédié, permettant ensuite de créer une Card, de gérer un IBAN Virtuel pour ce Customer, d’initier une transaction, une demande de paiement… Créer un Customer via une demande de paiement CentralPay assure l’unicité des Customers : si vous initiez une demande de paiement avec création d’un Customer alors que son email ou son numéro de téléphone est déjà connu dans votre compte, CentralPay ne créera pas de nouveau Customer et associera la transaction au profil existant. Points de vente 1/ Introduction Les points de vente (« Point of Sales » ou « POS ») sont la représentation de vos différents sites web, boutiques, ou équipes de vente. Ils permettent de segmenter les opérations de votre compte CentralPay à des fins : Techniques : vous pouvez réaliser des paramétrages différents par point de vente (notifications clients, notifications internes, nom expéditeur des emails de confirmation, logo affiché dans la page de paiement …) Administratives : vous pouvez limiter les droits de consultation ou de modification de vos profils utilisateurs à certains points de ventes Comptables : vous pouvez filtrer les opérations par point de vente dans votre Portail utilisateur ou dans vos exports de données Lors de la création de votre compte CentralPay, un premier Point de Vente est créé automatiquement. Vous pouvez ensuite vous rendre sur votre Portail utilisateur pour paramétrer ce dernier, ou en créer de nouveaux : Accès Points de ventes – Portail utilisateur de RCT Accès Points de ventes – Portail utilisateur de PROD 2/ Paramétrages Les Points de Vente comprennent un certain nombre de paramétrages obligatoires : Paramètres généraux Nom : nom du point de vente (visible par vos clients) URL du site : s’il s’agit d’un site e-commerce, renseignez l’URL de ce dernier. Sinon, renseigner l’URL de votre site vitrine. Pays du point de vente Configuration Type technique : sélectionnez « Vente à distance » Utilisateurs API : sélectionnez les utilisateurs API ayant un droit d’accès à ce Point de Vente Contrats : sélectionnez le contrat VAD carte qui a été paramétré pour votre compte (en règle générale, vous n’aurez qu’un seul contrat à disposition) Contrat par défaut : sélectionnez le contrat VAD carte qui sera utilisé par défaut (en règle générale, vous n’aurez qu’un seul contrat à disposition) Viban prioritaire : si vous souhaitez que les IBAN Virtuels affichés dans les demandes de paiement soient ceux des Customers, alors sélectionnez « Client ». Si vous préférez afficher des IBAN Virtuels dédiés à chaque demande de paiement, alors sélectionnez « SCT ». Si besoin d’informations complémentaires, consultez notre rubrique sur les IBAN Virtuel. D’autres paramétrages ne sont pas obligatoires, mais sont importants pour votre parcours de vente : Paramètres généraux Logo : chargez le logo de votre entreprise ou celui dédié à votre point de vente. Il apparaitra dans la page de paiement générée par les demandes de paiement. ID point de vente du marchand : renseignez une référence personnalisée vous permettant d’identifier plus simplement le point de vente dans vos systèmes d’information. Emails de confirmation Coche « Activer l’email de confirmation de paiement » : En cochant cette case, vous activez l’envoi d’un email à vos clients lorsqu’ils réalisent un paiement par carte. Il s’agit d’un email standardisé non modifiable contenant un récapitulatif du paiement (raison sociale de votre compte, nom de votre point de vente, date du paiement, identifiant de la transaction CentralPay, référence marchand de la transaction, description marchand de la transaction, code d’autorisation du paiement, marque de la carte, 6 premiers et 4 derniers chiffres de la carte, montant de la transaction, état de la transaction). La langue et le pied de page de l’email peuvent être paramétrés depuis le Portail utilisateur > Configuration > Email confirmation paiement. Email de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser l’adresse expéditeur en utilisant l’une de vos adresses email (par exemple : no-reply@mondomaine.com). Attention, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine. Nom de l’expéditeur : si vous avez coché la case « Activer l’email de confirmation de paiement », vous pouvez personnaliser le nom de l’expéditeur (par exemple : MonEntreprise). Coche « Recevoir une copie de la confirmation de paiement » : En cochant cette case, vous activez l’envoi d’une copie de l’email adressé à vos clients lorsqu’ils réalisent un paiement par carte. Cela peut vous permettre d’être informé facilement par email lorsqu’un client réalise un paiement. Email du destinataire : si vous avez coché la case « Recevoir une copie de la confirmation de paiement », vous devez renseigner l’adresse email du destinataire de cette copie. Enfin, d’autres paramètres secondaires sont disponibles : OTP Email de l’expéditeur OTP email : Email affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…) Nom de l’expéditeur OTP email : Nom affiché en tant qu’expéditeur des emails de One Time Password (connexion à l’espace Administration du Portail Utilisateur…) Numéro de téléphone ou nom de l’expéditeur OTP SMS : Nom ou numéro de téléphone affiché en tant qu’expéditeur des SMS de One Time Password (validation de mandat SEPA…) Paramètres de communication Ces paramètres sont appliqués aux mails ou SMS transmettant le lien vers le formulaire de paiement d’une demande de paiement (paymentRequest). Ils s’appliquent uniquement lorsque aucun scenario n’a été configuré sur la demande paiement. Expéditeur SMS : Nom du correspondant affiché sur le SMS Expéditeur Email : Email du correspondant affiché sur l’email Nom de l’expéditeur Email : Nom du correspondant affiché sur l’email Adresse de réponse Email : Email utilisé pour les réponses des emails envoyés (applicable prochainement) Pied de page de l’email : Pied de page des emails (applicable prochainement) Comptes de paiement 1/ Introduction Les comptes de paiement sont utilisés pour réaliser des opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…). Ils permettent de stocker des fonds dans une devise ISO (EUR, USD, CHF, GBP…) et possèdent un IBAN/BIC qui lui est propre. Un compte de paiement est, sauf exception, associé à un compte bancaire ayant le même titulaire, permettant à CentralPay de réaliser des reversements automatiques par virement SEPA. Si vous disposez de plusieurs comptes bancaires sur lesquels vos fonds doivent être reversés, vous pouvez demander à votre contact CentralPay de créer le même nombre de comptes de paiement dans votre compte CentralPay. Ainsi, chaque compte de paiement sera lié à un compte bancaire différent et adressera des reversements SEPA en conséquence.Il est également possible de créer plusieurs comptes de paiement à des fins de segmentation des fonds (avec un compte dédié aux opérations de commission ou de frais par exemple). Vous pouvez consulter le détail de vos comptes de paiements depuis ces accès : Comptes de paiement – Portail utilisateur de RCT Comptes de paiement – Portail utilisateur de PROD 2/ Utilisations Les comptes de paiement sont systématiquement utilisés pour les opérations de paiement de notre plateforme, à l’exception des opérations de monnaie électronique. 3/ Création de comptes de paiement Si vous êtes marchand CentralPay, vous pouvez adresser une demande par email aux équipes CentralPay pour la création de plusieurs comptes de paiement à votre nom. Cela afin de segmenter vos opérations ou d’ouvrir un compte dans une devise différente. Si vous êtes Partenaire MOBSP ou AGENT de CentralPay, vous pouvez créer des comptes pour vos sous-marchands en utilisant le service de création de comptes de paiement. Comptes de ME 1/ Introduction Uniquement réservé aux Partenaires DME et à leurs utilisateurs. Les comptes de ME (Monnaie Électronique) sont utilisés pour stocker et échanger des fonds dans une devise CUSTOM (devise dédiée à un partenaire DME). Un partenaire DME peut demander la création de comptes de ME pour les participants de son réseau puis réaliser des transferts de fonds en ME entre ces comptes. Le titulaire d’un compte de ME ne peut recevoir des paiements et utiliser sa monnaie électronique que par l’intermédiaire du partenaire DME. Il peut cependant demander le remboursement de sa monnaie électronique à tout moment et recevra ses fonds en devise ISO : soit sur son compte bancaire par virement SEPA, soit sur sa carte bancaire, selon les paramétrages de son compte. Vous pouvez consulter le détail de vos comptes de ME depuis ces accès : Comptes de ME – Portail utilisateur de RCT Comptes de ME – Portail utilisateur de PROD 2/ Utilisations Les comptes de ME sont principalement utilisés pour permettre à des personnes physiques de recevoir et d’échanger facilement des fonds dans les contextes suivants : Marketplaces C2C de produits ou de services Stockage et utilisation de valeurs cadeaux au sein d’un réseau de commerçants indépendants 3/ Spécificités Le CMF (Code Monétaire et Financier) présente des conditions spécifiques pour la monnaie électronique. Ainsi, il existe deux types de comptes de ME chez CentralPay : Compte de ME anonyme : ce compte peut être ouvert sans vérification d’identité du titulaire, à condition qu’il soit adressé à une personne physique et soit limité à 150 € de solde ou d’encaissement sur 30 jours. Ce type de compte est particulièrement utile dans le cadre d’une utilisation ponctuelle du compte par son titulaire, ou tout simplement pour simplifier l’entrée en relation avec le partenaire DME. Compte de ME vérifié : un compte anonyme peut être ensuite vérifié par les équipes conformité de CentralPay (procédure KYC) pour augmenter les limites qui lui étaient imposées, il devient ainsi « vérifié ». 4/ Création de comptes de ME Si vous êtes Partenaire DME de CentralPay, vous pouvez demander la création de comptes de ME pour vos participants. Services liés au compte Notifications email/sms 1/ Introduction Les notifications peuvent être adressées en fonction des évènements liés à certains objets API : Demande de paiement (PaymentRequest) Contestation carte (dispute) Paiement X fois (installment) Transaction carte (transaction) Reversement (payout) Remboursement carte (refund) Abonnement (subscription) Crédit carte (credit) Transaction SDD (sddTransaction) Transaction SDD inversée (sddTransactionReversal) Mandat (mandate) 2/ Types de scénarios de notification Notifiez vos clients et alertez vos collaborateurs automatiquement lorsque certains évènements ont lieu sur votre compte CentralPay : encaissement d’un virement, contestation client, échec de règlement…Vous maitrisez le contenu de chaque notification depuis des templates personnalisés et définissez un mode d’envoi par email, par sms ou par Json. Vous automatisez ainsi le pointage de vos encaissements, les notifications clients, ou encore la mise à jour de votre système d’information. 3/ Paramétrage des modèles de notification 3.1/ Paramétrage des modèles (templates) Accès paramétrage templates emails : Portail utilisateur de recette Portail utilisateur de production Accès paramétrage templates SMS : Portail utilisateur de recette Portail utilisateur de production Accès paramétrage templates hooks : Portail utilisateur de recette Portail utilisateur de production Pour commencer le paramétrage de vos notifications, vous devez créer vos modèles de communication (email, sms ou hook) en renseignant les éléments demandés. Par exemple l’objet du mail, le nom et email de l’émetteur, le corps du texte… Vous pouvez intégrer des éléments dynamiques (tags) dans le corps du texte en tapant le caractère « # », qui fera apparaitre la liste des tags disponible pour le type de scénario de notification sélectionné. Attention, si vous utilisez les notifications emails, veillez à nous demander de vous communiquer nos clés SPF et DKIM afin que vous puissiez autoriser CentralPay à envoyer des emails depuis votre domaine. Concernant les SMS, veillez à calculer le nombre de caractères : vous serez facturés d’un SMS par 160 caractères (espaces inclus). 3.2/ Paramétrage du header et footer pour templates emails Paramétrage en-tête d’email (header) Portail utilisateur de recette Portail utilisateur de production Paramétrage pied de page d’email (footer) Portail utilisateur de recette Portail utilisateur de production En cas de création d’un template email, un « header » et un « footer » devront être créés. Vous pouvez par exemple intégrer votre logo en Header, et vos conditions de contact ou mentions légales en Footer. 4/ Paramétrage des scénarios de notification Accès Scénarios de notification – Portail utilisateur de RCT Accès Scénarios de notification – Portail utilisateur de PROD Pour spécifier à la plateforme les conditions d’envoi et destinataires de vos notifications, vous devez créer un scénario intégrant une ou plusieurs règles d’envoi. Après avoir choisi le type de scénario souhaité, vous pouvez créer une règle d’envoi. Cette règle est scindée en deux parties : le “QUAND” va permettre de définir l’évènement déclencheur de la notification tandis que le “ALORS” va permettre de choisir les actions qui seront effectuées lorsque l’évènement se produira. 4.1/ Dans la partie « QUAND » : Tapez « # » pour visualiser l’ensemble des attributs disponible pour votre scénario Utilisez des opérateurs logiques pour constituer votre règle : Pour les chaînes de caractères (doivent être entourés de guillemets « ») : = (égal) != (différent de) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Pour les nombres (attention les montants doivent être renseignés en centimes) : = (égal) != (différent de) < (plus petit que) <= (plus petit ou égal à) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Pour les boolean (affirmations en vrai ou faux) : = (égal à) != (différent de) Vous pouvez utiliser des conditions pour compléter votre règle : AND (pour ajouter une autre condition d’activation) OR (pour ajouter une autre possibilité d’activition) Il est possible de donner des priorités en mettant des parenthèses autour des conditions. Si vous utilisez les conditionnels AND et OR dans la même règle, il est nécessaire de prioriser. Si vous utilisez plusieurs fois AND ou plusieurs fois OR, il sera également nécessaire de prioriser chaque partie. Exemples de règles : #end_user_country in ('FRA', 'BE') #authorisation_status = 'FAILURE' or (#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY' ) #transaction_amount > 100000 and ( #authorisation_status = 'FAILURE' or #context = 'TRANSACTION_RISKY' ) ((#transaction_amount > 100000 and #context = 'TRANSACTION_RISKY') or ( #authorisation_status = 'FAILURE' and #transaction_amount < 100000 )) and (#card_product_type = 'Consumer') Avant de pouvoir enregistrer une règle, il est obligatoire de d’abord tester sa règle avec le bouton « tester ». Cela va permettre de vérifier que votre règle est grammaticalement correcte. Attention, cela ne garantit pas que votre règle correspond à ce que vous souhaitiez faire. 4.2/ Dans la partie « ALORS » : Le “ALORS” va permettre de choisir le destinataire et le template utilisé pour la notification. Vous n’avez accès qu’aux templates qui correspondent au type de template requis (SMS, Email, Hook) et qui correspond au type de scénario choisi (transaction carte, demande de paiement, remboursement …). Services anti-fraude 1/ Organisation des services anti-fraude Les services anti-fraude sont segmentés en 4 outils : 1/ Liste blanche (whitelist)Le but de la « whitelist » est de rendre sélective l’application d’une règle d’acceptation.La règle définie devient inopérante pour des clients identifiés, VIP ou reconnus de confiance qui sont intégrés à une « whitelist ».Les « whitelists » portent sur les données spécifiques d’un client, comme le numéro de sa Carte Bancaire ou son adresse IP.Cette fonctionnalité permet d’être moins restrictif sur des populations d’utilisateurs. 2/ Liste noire (blacklist) :Le service de « blacklist » permet de refuser les paiements.Tout comme pour les « whitelists », les « blacklists » portent sur les données propres au porteur de carte (Carte, IP, Tel, email). 3/ Règles d’acceptation des transactions :Cet outil permet de construire les règles spécifiques définissant les conditions d’acceptation d’un paiement. 4/ Scoring anti-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. 4.3/ Les opérateurs de comparaison disponibles = (égal) != (différent de) < (plus petit que) <= (plus petit ou égal à) in (dans ce qui va suivre) not in (pas dans ce qui va suivre) Les opérateurs de comparaison = , != , > , < , >= et <= doivent être suivis d’une valeur. Les opérateurs IN et NOT IN sont suivis d’une liste de valeurs de comparaison.Une liste de valeurs est entourée par des parenthèses et les valeurs à l’intérieur de la liste sont séparées par des virgules. Exemple : REFUSE if #currency NOT IN ('EUR', 'USD', 'GBP', 'CHF') L’exemple présenté ci-dessus permet de refuser tous les paiements dont la devise n’est pas l’Euro, le Dollar US, la Livre Sterling ou le Franc Suisse. Cette syntaxe évite d’écrire plusieurs règles ou plusieurs conditions dans la même règle. 4.4/ Les valeurs disponibles : En fonction du type de valeur, la syntaxe permettant de définir la valeur ne sera pas la même : Entiers (valeur numérique sans décimale) : syntaxe classique (ex : 100) Doubles (valeur numérique avec décimales) : la valeur est définie avec un point comme séparateur de décimale (ex : 12.32) Chaîne de caractères : la valeur est définie entre ‘quotes’ simples (ex : ‘FRA’) Booléens : la valeur est true ou false (ex : false) ATTENTION : les valeurs de « montants » doivent être renseignées en centimes (ex : pour 10 € on renseignera une valeur de 1000). 4.5/ Les opérateurs logiques : Les opérateurs disponibles sont AND et OR. Ils permettent de définir comment le moteur de règle va interpréter la succession de ces règles. Le « AND » permet une inclusion tandis que le « OR » une exclusion. Exemple : REFUSE if #amount < 1000 and #card_country != 'FRA' L’exemple présenté ci-dessus permet de refuser les paiements dont le montant est inférieur à 10 € ET dont la carte n’est pas française. Si l’une ou l’autre des conditions définies n’est pas remplie, l’action ne sera pas exécutée. Reversement bancaire 1/ Introduction Les reversements bancaires (ou « Payout ») sont des virements sortant de votre compte de paiement CentralPay vers le compte bancaire qui y est associé. Ils peuvent être réalisés manuellement depuis le Portail utilisateur ou l’API Payment. Ils peuvent également être automatisés depuis le Portail utilisateur. Depuis le Portail utilisateur, seuls les profils utilisateurs titulaires du compte (dit « Legal ») peuvent paramétrer et réaliser les reversements. 2/ Les deux modes de reversement 2.1/ Reversement automatique Le titulaire du compte peut définir la périodicité : quotidien, hebdomadaire (choix du jour de la semaine, ex : chaque mardi) ou mensuel (choix du jour dans le mois, ex : le cinq du mois).Le service PAYOUT automatique exécutera automatiquement à 01h00 du jour donné un virement des fonds disponibles sur votre compte de paiement. Exemple d’un reversement hebdomadaire programmé le mardi :CentralPay exécutera la demande de création du virement (PAYOUT) le mardi matin avec les fonds disponibles (AVAILABLE) sur le compte de paiement jusqu’au mardi 01h00. 2.2/ Reversement manuel (via BO ou API) Vous avez la possibilité d’exécuter des payouts manuellement depuis le Portail utilisateur ou l’API CentralPay. Vous pouvez déterminer le montant à reverser (avec en maximum le montant disponible sur votre compte). Attention, le PAYOUT ne sera exécuté immédiatement que s’il est effectué avant 05h00 le matin. À défaut, il sera exécuté le lendemain à 05h00 du matin également. 3/ Délais de disponibilité des fonds Les reversements comprennent uniquement les fonds disponibles (ou « AVAILABLE ») de vos comptes de paiement. Les fonds issus d’une transaction par carte bancaire sont par exemple disponibles à J+2 : une transaction carte réalisée le lundi, apparaîtra en « Pending » le lundi, sera « Available » le mardi soir, le payout automatique sera effectué le mercredi matin à 00h05 et la réception du virement SEPA sur votre compte bancaire le jeudi. NB : Le paramètre EscrowDate peut influer sur la date de disponibilité des fonds d’une transaction (concerne uniquement les partenaires AGENT). 4/ Création d’un reversement manuel 4.1/ Payout manuel par Portail utilisateur Accès Reversements – Portail utilisateur de RCT Accès Reversements – Portail utilisateur de PROD Depuis le Portail Utilisateur > Administration > Mon compte> Reversements : cliquez sur « Transferts externes », sélectionnez le compte d’émission, le montant du reversement ainsi que l’IBAN destinataire, puis cliquez sur « confirmer le transfert ». 4.2/ Payout manuel par API Consultez la rubrique développeurs du service Payout. 5/ Reversement en euros ou devises via le réseau SWIFT Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises. Si vous disposez d’un compte en devises ou n’étant pas accessible via le réseau SEPA, vous pouvez réaliser vos virements via le réseau SWIFT. Contactez CentralPay pour en savoir plus. Les virements bancaires du réseau SWIFT présentent des frais très largement supérieurs aux virements SEPA. Vous pouvez demander à CentralPay de paramétrer vos reversements automatiques afin qu'ils soient déclenchés à partir d'un certain seuil de fonds disponibles. 6/ Retours, statuts et webhooks 6.1/ Statuts Statuts PAYOUT 6.2/ Webhooks Webhooks PAYOUT Exports comptables 1/ Introduction Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports. 2/ Export comptable des opérations du compte Accès opérations – Portail utilisateur de RCT Accès opérations – Portail utilisateur de PROD Cet export reprend l’ensemble des mouvements financiers débiteurs et créditeurs qui ont été réalisés sur votre compte : autorisations cartes, transactions cartes, transactions SDD, transactions SCT, transfers, payout, frais CentralPay…Vous disposerez du détail de chaque opération afin que vous puissiez le rapprocher facilement à vos factures ou vos dossiers. L’export contient les données suivantes : DénominationSignificationmovement_creation_datedate de l’opérationmovement_ididentifiant CentralPay de l’opérationmovement_gross_amountmontant brutmovement_gross_currencydevise du montant brutmovement_fee_amountmontant des frais CentralPaymovement_fee_currencydevise des fraismovement_net_amountmontant netmovement_net_currencydevise du montant netmovement_expected_availability_datedate de disponibilité des fonds estiméemovement_available_datedate de disponibilité des fonds réellemovement_statusstatut du mouvement (success, failed …)movement_source_typetype d’opération (transaction, transfert …)movement_source_uuididentifiant associé au type d’opération (transactionId, wireTransferId, transferId, …)merchant_descriptiondescription définie par le marchandmerchant_reference_idréférence définie par le marchandcard_countrypays d’émission de la cartecard_regionzone d’émission de la carte (UE, hors UE)point_of_sale_idID CentralPay du point de vente 3/ Télécharger le rapport financier mensuel Chaque début de mois, en plus de la facture, un rapport financier est généré, puis mis à disposition dans l’espace sécurisé de votre compte (Administration > compte > documents > Rapports financiers). Il présente les montants totaux de crédit, de débit, de frais et de réserve de votre compte : Accès documents – Portail utilisateur de RCT Accès documents – Portail utilisateur de PROD Pour bien comprendre votre rapport financier :A) Le total des montants acquis / reçus sur votre compte au cours de la périodeB) Le montant net reçu sur votre compte, déduction faite de l’ensemble des frais selon le calcul « B = A – I »C) Le montant de la réserve détenue en garantie au jour de clôture de la périodeD) Le montant des fonds disponibles au jour de clôture de la périodeE) La valeur totale des fonds disponibles et en garantie enregistrée dans les livres de CentralPay au jour de clôture de la période selon la formule « E = C + D »F) La valeur totale des fonds retirés / transférés à la banque du marchand pendant la périodeG) Le total des frais de service et commissions facturées sur les transactions définies dans la grille tarifaireH) Total des frais d’opérations techniques : frais d’autorisation cartes, de contestation, de payout…I) Total des frais techniques et commissions ou « I = G + H » Exports de données 1/ Introduction Vous pouvez réaliser plusieurs exports de votre compte aux formats CSV, EXCEL, ou JSON depuis votre Portail utilisateur. Pour cela, paramétrez votre recherche avec les filtres disponibles sur la page de l’export souhaité, cliquez sur « Rechercher » puis « Exporter ». En quelques secondes, vous recevrez le fichier par email et pourrez le télécharger à tout moment depuis votre Portail utilisateur > Compte > Exports. 2/ Export des transactions cartes Accès Transactions – Portail utilisateur de RCT Accès Transactions – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des transactions cartes que vous avez réalisées au cours d’une période donnée.Cet export simplifie la lecture de vos transactions carte en agrégeant les opérations d’autorisations et de débit, et présente des données complémentaires spécifiques aux transactions cartes. L’export contient les données suivantes : Dé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 3/ Export des remboursements cartes Accès Remboursements cartes – Portail utilisateur de RCT Accès Remboursements cartes – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des remboursements cartes que vous avez réalisées au cours d’une période donnée. 4/ Export des contestations de transactions cartes Accès Contestations cartes – Portail utilisateur de RCT Accès Contestations cartes – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des contestations de transactions cartes (disputes/chargebacks) que vous avez reçues au cours d’une période donnée. 5/ Export des abonnements (cartes et SDD) Accès Abonnements – Portail utilisateur de RCT Accès Abonnements – Portail utilisateur de PROD Cet export vous permet d’obtenir le détail des abonnements cartes et SDD que vous avez réalisés au cours d’une période donnée. Webhooks 1/ Introduction Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (ou « Events ») qui surviennent sur votre compte CentralPay. Ces évènements correspondent à la création, au changement de donnée ou au changement de statut d’un objet des API CentralPay. Le service permet ainsi d’avertir en temps réel votre système d’information, dès qu’une opération est réalisée sur votre compte CentralPay. Par exemple, une transaction réussie ou échouée, la création d’une nouvelle souscription (abonnement), un nouveau client (Customer), la réception d’un impayé… Les webhooks sont classés en deux catégories : liés aux Points de Vente « POS » liés aux « Comptes » Le serveur distant doit confirmer la bonne réception de la requête en retournant un code 2XX. Dans le cas contraire, une nouvelle requête sera adressée toutes les 5 min pendant 2h. Pour s’assurer de la bonne réception des hooks, nous vous conseillons d’utiliser le service Webhook Site. Entrez l’URL donnée par le site et l’adresse mail, et effectuez vos tests. Une fois que vous êtes satisfait des réponses hooks, vous pouvez remplacer l’adresse mail et l’URL par les vôtres et effectuez un nouveau test. 2/ Liste des Webhooks Vous pouvez consulter la liste des webhooks depuis la rubrique Développeurs > Webhook notifications. Liens de paiement Informations générales 1/ Les deux modes d’intégration de Smart Collection La solution Smart Collection permet d’encaisser des paiements depuis divers moyens de paiement. Vous pouvez au choix : créer et intégrer vos propres parcours de paiement (intégration CUSTOM), en consommant les services API de chaque moyen de paiement : Transaction par carte Transaction par virement Transaction par prélèvement SEPA utiliser nos parcours de demande de paiement sécurisés (intégration SMART), grâce à notre service dédié : Demandes de paiement (PaymentRequest) NB : si vous choisissez l’intégration SMART, certaines fonctionnalités spécifiques comme les R-transactions, la gestion des libellés bancaires, la gestion des IBAN Virtuels… sont présentées dans la documentation dans les rubriques CUSTOM dédiées à chaque moyen de paiement. 2/ À propos de l’intégration SMART La demande de paiement permet de générer un lien de paiement menant à une page de paiement hébergée par CentralPay. Votre client peut ainsi vous régler selon les conditions de règlement que vous avez déterminé (moyens et modes de paiement autorisés, délais de règlement …). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé…). La demande de paiement doit être alimenté des conditions de règlement de votre panier ou de votre facture : Montant à régler Moyens de paiement acceptés (carte, virement, prélèvement, initiation de paiement) Modes de paiement acceptés (unitaire, par abonnement, paiement fractionné…) Référence de commande Description de commande Coordonnés clients Délais de règlement autorisé Délais d’expiration du lien … Le lien de paiement peut être adressé à vos clients depuis : vos tunnels de vente ou interfaces web, vos outils de communications (email, sms, courriers via QR code…) le service de notifications email / sms de CentralPay La page de paiement permet ensuite au client de réaliser sa ou ses transactions : Visualisation des informations de la demande de paiement Sélection du moyen ou mode de paiement Renseignement des données clients Renseignement des coordonnées de paiement Demandes de paiement 1/ Introduction La demande de paiement (ou PaymentRequest) est le service vous permettant de générer des liens de paiement. Vous pouvez créer des demandes de paiement par API ou via le Portail utilisateur. La demande de paiement peut également être couplé au service de notification de CentralPay, vous permettant d’adresser facilement un lien de paiement par email ou sms à vos clients et de programmer des relances automatisées. 2/ Création par API 2.1/ Créer une « PaymentRequest » Vous trouverez ci-dessous les moyens de paiement disponibles et les valeurs API correspondantes dans le service PaymentRequest : Moyen ou mode de paiement souhaitéValeurs API à renseignerPaiements unitairesTransaction par cartepaymentMethod[]=TRANSACTIONPré-autorisation sur carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION transaction[source]=DPVérification carte (transaction à 0 €)paymentMethod[]=TRANSACTION transaction[source]=RITransaction par virement bancairepaymentMethod[]=SCT_TRANSACTIONTransaction par prélèvement SEPApaymentMethod[]=SDDsdd[remittanceInformation]Transaction par initiation de paiementProchainementPaiements 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[]=TRANSACTIONpaymentMethod[]=SCT_TRANSACTION Attention, certaines combinaisons de moyens ou modes de paiement peuvent rentrer en conflits et votre PaymentRequest pourra retourner une erreur. Par exemple, vous ne pouvez pas autoriser une TRANSACTION et une SUBSCRIPTION, cependant vous pouvez autoriser une TRANSACTION et un INSTALLMENT. Voici les informations principales concernant d’autres valeurs à renseigner lors de la création d’une PaymentRequest : DésignationDé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 paiement.descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.additionalData[*]Donnée clé-valeur libre, vous permettant de transiter une ou plusieurs données (références de factures, numéro client etc…). N’est pas visible par votre client dans la page de paiement.createCustomerCréation TRUE / FALSE d’un compte Customer (permet notamment l’enregistrement du moyen de paiement client : carte, mandat SEPA, et création d’un IBAN virtuel dédié au Customer)breakdown[customerId]Sélection d’un Customer déjà existant NOTE : pour les transactions par virement SEPA, vous pouvez définir si vous souhaitez afficher l’IBAN Virtuel dédié au Customer ou générer un IBAN Virtuel à usage unique (SCT) depuis les paramètres de vos Points de Vente. 2.2/ Envoyer une PaymentRequest par email / sms Lors de sa création, vous pouvez demander à CentralPay d’adresser la demande de paiement à votre client. Il existe deux méthodes d’envoi : Via le mailer par défaut des PaymentRequest : CentralPay adresse la demande de paiement depuis un modèle d’email/sms standardisé et depuis l’email expéditeur renseigné dans votre point de vente (ou à défaut l’email expéditeur de CentralPay « no-reply@centralpay.eu »). Pour cela vous devez [à compléter] Via le service de notification email/sms de CentralPay : CentralPay adresse la demande de paiement selon le scénario et les modèles de communication que vous avez paramétrés. Ce service permet notamment l’automatisation de relances clients, basés sur les paramètres de la demande de paiement (délais de paiement, avancement du paiement…). Pour cela vous devez [à compléter] 2.3/ Fonctions spécifiques Demande de paiement à montant libre (multi-moyens de paiements) Il est possible d’autoriser la modification du montant à régler (avec pour maximum le montant initial), afin que vos payeurs puissent régler la somme due depuis plusieurs moyens de paiements ou à des moments différents. Par exemple sur une demande de paiement de 500€ : Régler 250€ en virement puis 250€ en carte Ou 300€ avec une première carte puis 200€ avec une autre. Ou régler 350€ avec une carte, puis revenir plus tard pour régler les 150€ restants avec cette même carte. Pour ce faire vous devez [à compléter] Envoyer une demande de paiement à plusieurs destinataires Il est possible d’adresser une demande de paiement à plusieurs destinataires avec un montant différent à régler pour chacun d’entre eux. Ainsi : Chaque participant reçoit une notification e-mail ou SMS détaillant l’objet du service à régler Les montants sont fixés par l’initiateur ou laissé libre à chaque participant qui règle le montant souhaité Les dates paramétrées à la demande (création, expiration…) permettent de générer des notifications vers chaque participant Pour ce faire vous devez [à compléter] 3/ Création depuis le Portail utilisateur 3.1/ Création et types de demandes de paiement Accès Demandes de paiement – Portail utilisateur de recette Accès Demandes de paiement – Portail utilisateur de production Vous pouvez créer une demande de paiement depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Créer. Les demandes de paiement créées depuis le Portail utilisateur sont obligatoirement adressées à vos clients par CentralPay. En fonction de vos besoins, vous devrez choisir l’un des types de demandes suivant : Demande instantanée : une demande simple, envoyée depuis les expéditeurs et les templates emails / sms standards de CentralPay. Demande programmée : une demande avancée, utilisant les modèles de communication, scénarios et règles d’envoi/de relance que vous aurez préalablement paramétrés depuis le service de notifications email/sms de CentralPay. Une demande programmée adressée sans avoir sélectionné de scénario de notification sera automatiquement requalifiée en demande instantanée. Une fois créée, vous pouvez accéder à la page de paiement en cliquant sur le détail de la demande de paiement > Formulaire de paiement. Ainsi, vous pourrez retransmettre à votre client l’URL de la page en cas d’erreur d’envoi. 3.2/ Les profils de demandes de paiement Afin de faciliter la création de demandes de paiement, vous avez la possibilité de créer des profils prédéfinis intégrant les principaux paramétrages de la demande : Point de vente Devise Langue Moyens de paiement autorisés Limite de paiement (délais de paiement contractuel) Expiration du lien (délais avant expiration du lien) Scénarios de notification Reroutage de l’email de confirmation de paiement Règles d’affichage (paramètres de la page de paiement) Création de Customer Pièces jointes Vous pouvez ensuite utiliser ce profil lors de la création de vos demandes de paiement programmées via le Portail utilisateur, ou via import de fichiers plats. 3.3/ Création de demandes de paiements par import de fichiers plats Depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Importer, vous pouvez déposer un fichier d’importation de demandes de paiement. Cette utilisation peut être recommandée pour les entreprises souhaitant adresser en fin de mois et relancer automatiquement une liste de créanciers. Vous pouvez télécharger le modèle de fichier ci-après : Modèle au format CSV Modèle au format JSON Quelques informations importantes : DésginationDé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) 1/ Introduction La page de paiement (aussi appelé SmartForm) est une page hébergée et sécurisée par CentralPay destinée à la collecte des données clients et de leurs coordonnées de paiement. Générée via le service de demande de paiement, elle permet à vos clients de visualiser les détails de cette demande (montant, référence de commande…) et de sélectionner un moyen de paiement autorisé avant de passer à l’étape de règlement. 2/ Paramétrage de la page Accès paramétrage formulaire – Portail utilisateur de RCT Accès paramétrage formulaire – Portail utilisateur de PROD Vous pouvez créer un ou plusieurs modèles de page afin de personnaliser votre parcours de paiement. Ci-dessous la liste des éléments paramétrables sur la page : DésignationDé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 dernier.URL de redirectionURL de redirection après paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.Délais de redirectionDélais de redirection vers l’URL de redirection après paiement. Champ vide : pas de redirection, 0 : redirection immédiate, autre valeur : nombre de secondes avant la 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 besoin.Couleur 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…). 3/ Personnalisation du logo affiché sur le SmartForm Le logo affiché sur le SmartForm est celui que vous aurez renseigné dans les paramètres du point de vente utilisé pour votre demande de paiement. Par défaut, le logo de CentralPay est affiché. Retours, statuts et hooks 1/ Statuts liés aux demandes de paiement Statuts Payment Request 2/ Webhooks liés aux demandes de paiement Les demandes de paiement permettant indirectement la création de transactions cartes, SCT et SDD mais aussi d’autres objets comme les Customer, Subscription ou Installment, selon les cas d’usages, il peut être utile de suivre les webhooks associés. Webhooks « PaymentRequest » Webhooks PaymentRequest Webhooks « Transaction » Webhooks Transaction Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « SDD Transaction » Webhooks SDD Transaction Webhooks « Customer » Webhooks Customer Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment Transaction par carte Informations générales 1/ Introduction Une transaction carte comprend une succession d’actions : Authentification 3DS 2.0 :Elle permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client : Si les données ne concordent pas ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »). Sinon, elle autorise directement le paiement (« Frictionless »). Autorisation bancaire :Demande effectuée par CentralPay à la banque du payeur permettant de vérifier la validité et la provision de sa carte. Les fonds « autorisés » sont bloqués jusqu’à la réalisation de la capture des fonds. Si aucune capture n’est réalisée sous un délai de 7 jours, les fonds « autorisés » sont libérés et le marchand devra renouveler son autorisation.Pour les activités éligibles (location, hôtellerie…), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours. Capture :La capture permet d’initier le débit de la carte sur la base d’une autorisation ou d’une pré-autorisation. Un marchand peut réaliser une capture complète ou partielle du montant autorisé. 2/ Types et réseaux de cartes acceptés : Les cartes de paiement sont émises par les banques ou les établissements de paiement agréés, elles peuvent être badgées par un ou plusieurs réseaux de carte (aussi nommés « Card Scheme »). Les réseaux acceptés par CentralPay sont : Carte Bancaire VISA MasterCard American Express En France, la majorité des cartes émises sont co-badgées CB et VISA ou CB et Mastercard. Dans ce cas, le client doit avoir la possibilité de choisir le réseau qu’il souhaite utiliser. Les cartes peuvent être de débit ou de débit différé / crédit (en France la majorité des cartes sont de débit), et peuvent être des cartes de particulier (dit « Consumer ») ou des cartes de professionnels (dit « Corporate »). À noter que ces paramètres impactent le coût de la transaction pour le marchand (interchange bancaire et frais de réseaux carte). Formulaire de paiement CUSTOM 1/ Introduction Le service API Transaction permet d’opérer une autorisation puis une capture de la carte de paiement de votre client. Les différents modes de paiement par carte sont pilotés via ce même service. Pour initier la première transaction d’un client encore inconnu, vous devez d’abord collecter les données de sa carte de paiement en générant un « cardTokenId » via le service de tokenisation de CentralPay « token.js ». Un objet « card » sera ensuite retourné en tant que « cardId », pourra être enregistré dans un « customer » et ensuite être utilisé lors des prochaines transactions de ce client (pour des paiements en 1 clic ou des paiements récurrents). Attention, avec le Custom Form, vous devrez également intégrer le processus d’authentification 3DS 2.0 avant d’initier vos transactions. Schéma de transaction avec « cardTokenId » via le service « token.js » : Note : Si vous disposez déjà des données de la carte dans votre système et que vous disposez d’un agrément PCI-DSS level 1, vous pouvez directement utiliser le sous-objet « card » en adressant toutes les données de la carte de paiement (BIN, date d’expiration, CVC). 2/ Prérequis Déclarez les domaines autorisésDéclarez les domaines sur lesquels vos formulaires de paiement CUSTOM vont être hébergés. Allez sur votre Portail utilisateur > Administration > Mon compte > Onglet Technique > cliquez sur « Modifier » > Déclarez vos domaines dans « Hosts Custom Forms autorisés » Accès Portail utilisateur de RCT – Compte > Technique Accès Portail utilisateur de PROD – Compte > Technique Sécurisez vos pages de paiement Utilisez TLS (1.2 min) (Transport Layer Security) afin qu’elles utilisent les protocoles HTTPS requis par la norme Passez en revue et validez la conformité PCI de votre service chaque annéeGrâce à la combinaison de « CUSTOM + TOKEN.JS », vous gérez vous-même vos formulaires de paiement pour une expérience de paiement optimisée. Cette méthode implique que vous initialisez les paiements sur vos serveurs et vous devez vous conformer au niveau PCI-DSS SAQ A-EP. Vous pouvez télécharger le formulaire SAQ A-EP ici. 3/ Création d’un formulaire de paiement par carte (WEB) Ce tutoriel explique comment utiliser le langage HTML et Token.js pour obtenir un cardTokenID afin de créer une transaction depuis votre propre formulaire de paiement CUSTOM. Le Token.js est le JavaScript que nous mettons à votre disposition pour vous aider à implémenter le premier composant dont vous avez besoin pour créer un cardTokenID. Une fois que vous obtenez un cardTokenId, vous serez en mesure d’initialiser une transaction pour débiter la carte de votre client. Consultez nos exemples en ligne de formulaires CUSTOM FORM : Exemple de formulaire Custom Form sans 3DS 2.0 Exemple de formulaire Custom Form avec 3DS 2.0 3.1 Créer un formulaire de paiement HTML Contrairement à la page de paiement SMART FORM qui est généré et hébergé par CentralPay, le CUSTOM FORM doit être créé et intégré par vos soins. Vous devez donc générer le code HTML qui convient à votre parcours de paiement, avec notamment les champs suivants : Numéro de carte (16 digits pour CB, Visa, Mastercard – 15 digits pour Amex) Date d’expiration (MM/AAAA) CVC (3 digits pour CB, Visa, Mastercard – 4 digits pour Amex) 3.2 Envoyer les informations de carte avec le Token.js Envoyez les données cartes du navigateur du client à la plateforme PCI-DSS de CentralPay qui vous adressera un cardTokenId en retour. Pour ce faire, vous devez ajouter dans le <body> le tag ci-dessous : Tag du Token.js de recette : <script src="https://test-js.centralpay.net/js/token.js"></script> Tag du Token.js de production : <script src="https://js.centralpay.net/js/token.js"></script> Ajoutez également votre merchantPublicKey dans un tag séparé : <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('8ce4b92abd7c3110e2033ffbfa7cca0f097a66f1f1d267ff6c94429884ed82ac') : alert('Error loading html form'); </script> /!\ La merchantPublicKey identifie vos requêtes vers la Plateforme. Remplacez celle présente dans l’exemple ci-dessus par la vôtre. Consultez notre rubrique sur l’Authentification de nos API pour connaitre comment la récupérer. 3.3 Réceptionner le cardTokenID dans votre système Récupérez le cardTokenID qui vous a été retourné dans le JavaScript afin de pouvoir soumettre votre requête à la plateforme. Toutes les données de la carte sont maintenant stockées dans cardTokenID pendant une durée de 5 min. C’est donc cette valeur que vous devrez transmettre à notre API et en aucun cas les données brutes de la carte bancaire. 3.4 Créer une transaction à l’aide de la cardTokenID Maintenant que vous êtes en possession du cardTokenID, vous êtes prêts pour initialiser une transaction. À la différence des étapes précédentes qui se déroulent depuis le navigateur, celle-ci sera exécutée depuis vos serveurs. Consultez les pages dédiés au mode de paiement par carte que vous souhaitez intégrer : Transaction par carte unitaire (standard, capture différée, vérification carte, MoTo, en 1 clic) Transaction par carte récurrente (abonnement, fractionné) Ou consultez directement le swagger du service API Transaction pour avoir plus de détails techniques. 3.5 Sauvegarder les informations d’une carte dans un profil client Le cardTokenId n’est utilisable qu’une seule fois. Si vous prévoyez d’utiliser les données de la carte ultérieurement (paiement en 1 clic, paiement récurrent…), vous devez donc créer un Customer et y enregistrer une Card. Ainsi, la prochaine fois, au lieu d’utiliser un nouveau cardTokenId, vous utiliserez le customerID correspondant. 4/ Créer un formulaire de paiement par carte (APP) Les marchands veulent généralement pouvoir débiter des cartes de paiement sans avoir à stocker des données sensibles sur leurs serveurs. Notre javascript Token.js rend cela simple depuis un navigateur web, mais vous pouvez utiliser la même technique dans d’autres environnements avec notre cardToken. Ces tokens sont créés grâce à votre merchantPublicKey, qui peut être intégrée en toute sécurité dans des applications téléchargeables telles que les applications iPhone et Android. Vous pouvez ensuite utiliser ces Tokens pour initier vos transactions. Vous devez ajouter un header « Origin » avec une URL précédemment déclaré dans vos domaines autorisés (voir 2/ Prérequis).Pour vos tests, vous pouvez utiliser l’Origin : https://example.centralpay.net Authentification 3DS 2.0 Le protocole 3D Secure 2.0 permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client : Si les données ne sont pas concordantes ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »). Sinon, elle autorise directement le paiement (« Frictionless »). Il existe deux types de 3DS, selon si vous souhaitez initier une transaction classique (pour laquelle le porteur est présent) ou si vous exécutez une échéance de paiement récurrent (pour laquelle le porteur n’est pas présent) : Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction)Représente la majorité des intégrations de 3DS 2. Il requiert l’authentification du client afin de vérifier qu’il est bien le porteur légitime de la carte au moment de la transaction. Il déclenche si nécessaire un challenge qui vérifie l’identité du porteur de carte (SCA).Découvrez comment intégrer le 3DS 2.0 BRW Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents)3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand lorsque le porteur n’est pas présent ou non participant. 3RI offre la possibilité de générer les authentifications 3DS nécessaires sans que le client ne soit impliqué. Cela permet d’utiliser une authentification générée précédemment avec un client. Elle est utilisée dans les contextes suivants de paiements récurrents : Paiement fractionné, Abonnement, Refund, etc.Découvrez comment intégrer le 3DS 2.0 3RI Transaction carte Selon les besoins de votre activité, CentralPay propose divers modes de transactions unitaires via son service API Transaction. Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form et intégrer l’authentification 3DS 2.0. Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales. 1/ Autorisation et capture instantanée Pour réaliser un paiement simple par carte (autorisation puis capture instantanée) : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « EC » 2/ Autorisation et capture différée Ce mode de transaction peut être utile si vous souhaitez bloquer les fonds de votre client avant de le débiter définitivement, le temps de la validation de votre commande par exemple. Ainsi, vous pouvez annuler l’opération sans être soumis aux frais de transaction ou de remboursement. Pour réaliser un paiement par carte avec capture différée (autorisation puis capture différée), vous devez : Réaliser une autorisation en renseignant le paramètre « capture » de la Transaction avec la valeur « false ». Les fonds seront ainsi bloqués sur la carte du client. Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount ») Vous avez 7 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés. 3/ Pré-autorisation et capture différée Le service de pré-autorisation et capture différée (ou caution / PLBS) permet d’effectuer une pré-autorisation d’un certain montant, que vous pourrez ensuite capturer partiellement ou pleinement sous 30 jours. Durant cette période, les fonds vous sont garantis, ils sont donc bloqués sur la carte et ne peuvent être utilisés par votre client. Ce service n’est accessible qu’à certaines activités autorisées (locations de véhicules ou de matériels, hôtellerie…) Pour réaliser une pré-autorisation et capture différée, vous devez : Réaliser une pré-autorisation en renseignant le paramètre « source » de la Transaction avec la valeur « DP ». Les fonds seront ainsi bloqués sur la carte du client. Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount ») Vous avez 30 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés. 4/ Vérification carte (empreinte sécurisée) Le service d’empreinte & vérification carte permet d’effectuer une autorisation à 0€ avec authentification du porteur (3DS 2.0). Ainsi, vous disposerez des informations concernant la carte de votre client (carte de débit, de crédit, prépayée…), et vous vous assurerez qu’elle n’est pas frauduleuse (carte non volée, porteur identifié…). Ce service est généralement utilisé pour enregistrer une carte avec 3DS en vue d’un abonnement avec une date de démarrage différée. Pour réaliser une prise d’empreinte & vérification carte (autorisation à 0€ sans capture), vous devez : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « RI » Nous vous recommandons également de créer un « customer » lors de la transaction, afin d’associer le « cardId » ainsi généré et de vous permettre un éventuel débit ultérieur de cette carte. 5/ Débit carte seul (MO/TO) Le service de paiement MOTO (Mail Order / Telephone Order) permet d’effectuer une autorisation puis une capture d’une carte, sans la présence de son porteur. Il est généralement utilisé par les hôtels pour le débit de services ou de consommations additionnelles en fin de séjour. Attention, ce service n’est accessible qu’à certaines activités autorisées (hôtellerie…), et apporte des résultats de conversion de moins en moins performants depuis la directive DSP2, car elle ne permet pas l’authentification du porteur de carte. Pour réaliser un paiement MOTO, vous devez : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « MO » (Mail Order) ou « TO » (Telephone Order). 6/ Paiement par carte en 1 clic Le paiement par carte en 1 clic consiste à enregistrer les données cartes de votre client, afin qu’il puisse régler sa commande sans avoir à les ressaisir. La ou les cartes du client sont stockées de manière sécurisée dans le Customer CentralPay. Il est dans ce cadre nécessaire de permettre à votre client de sélectionner la carte qu’il souhaite utiliser ou d’ajouter une nouvelle carte. Pour réaliser un paiement par carte en 1 clic, vous devez : Sélectionner l’option « One-click » dans la configuration du point de vente. Vous assurer que vos customer ont une carte liée à leur profil. Transaction carte récurrente Selon les besoins de votre activité, CentralPay propose plusieurs modes de transactions récurrentes : Abonnement depuis un modèle d’abonnementCentralPay gère le prélèvement des échéances selon un modèle d’abonnement que vous avez défini en amont. Abonnement depuis des transactions successivesVous pilotez le prélèvement de chaque échéance vous-même par API. Paiement fractionnéCentralPay fractionne une somme due en plusieurs transactions et gère leur prélèvement, selon les conditions de règlement que vous avez renseigné. Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form, créer un profil Customer pour ce client, et intégrer les principes d’authentification 3DS 2.0. Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales. Lors d’un paiement récurrent, votre client reçoit automatiquement un email contenant le détail de ses échéances. Ce mail contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire et de résilier un abonnement si besoin est. 1/ Abonnement depuis un modèle d’abonnement 1.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card et réaliser une authentification 3DS 2.0 BRW. Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur. 1.2/ Cas d’intégration spécifiques Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une Transaction suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. Si vous souhaitez simplement faire démarrer un abonnement à une date précise, vous pouvez d’abord réaliser une empreinte carte vérifiée suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. 2/ Abonnement depuis des transactions successives 2.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card réaliser une authentification 3DS 2.0 BRW réaliser une première Transaction Ensuite, vous pourrez initier vous-même les prochaines Transactions en utilisant l’authentification 3DS 3RI. 2.2/ Informations importantes pour garantir un taux de conversion optimum, le montant de la première transaction doit être supérieur ou égal aux montants des transactions suivantes réalisées avec l’authentification 3DS 3RI. la plateforme CentralPay ne considérera pas les transactions générées comme des « abonnements », ainsi les interfaces « Portail utilisateur » et « Portail client » afficheront ces opérations au même titre qu’une succession de transactions unitaires. avec ce modèle, le système d’automatisation des nouvelles tentatives ne s’appliquera pas en cas d’échec de prélèvement d’une de vos transactions. 3/ Paiement fractionné 3.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card et réaliser une authentification 3DS 2.0 BRW. Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. Transaction carte via wallet Afin de pouvoir effectuer une transaction, ou créer un cardToken avec Apple Pay ou Google Pay, vous aurez besoin de mettre en place une configuration spécifique avec l’aide du support de Centralpay au préalable. Une fois la mise en place faite, vous devez être en possession de votre token Apple Pay ou Google Pay. Exemple : 1/ Apple Pay – Création de CardToken avec votre token Apple pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘.Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de CardToken avec votre token Apple pay déchiffré. Si vous avez déchiffré votre Token Apple Pay, lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayTransactionId‘ ainsi que ‘amount‘ et ‘currency‘ de la future transaction. Les champs ‘card[]‘ seront renseignés avec les données déchiffrées. Les informations de sécurité (ECI et CAVV) doivent être passées si elles sont présentes dans le TokenVous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de Transaction avec votre token Apple pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘. 2/ Google Pay – Création de CardToken avec votre token Google pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayToken‘ au format JSON comprenant votre token Google Pay qui inclus les éléments ‘signature‘, ‘intermediateSigningKey‘, ‘protocolVersion‘ and ‘signedMessage‘.Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de CardToken avec votre token Google pay déchiffré. Si vous avez déchiffré votre Token GooglePay, lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayMessageId‘ ainsi que ‘onlinePaymentCryptogram‘ et ‘eciIndicator‘. Les champs ‘card[]‘ seront renseignés avec les données déchiffrées. Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de Transaction avec votre token Google pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayToken‘ au format JSON comprenant votre token Google Pay qui inclus les éléments ‘signature‘, ‘intermediateSigningKey‘, ‘protocolVersion‘ and ‘signedMessage‘. R-transaction carte 1/ Remboursement Vous pouvez rembourser une Transaction si celle-ci est « Cleared » via le service Refund ou depuis le détail de la Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant. Votre client recevra les fonds sur sa carte sous 3 à 5 jours ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération. Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé. 2/ Crédit Vous pouvez créditer la carte d’un client sans transaction initiale depuis le service Credit. Pour cela, il existe plusieurs solutions : Tokeniser une carte via le service cardToken pour ensuite la renseigner dans le service Credit Créer ou rechercher un Customer disposant d’une carte valide, puis renseigner son « customerId » ainsi que son « cardId » dans le service Credit NB : ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus. 3/ Contestation Pour tout paiement par carte, votre client a la possibilité de contester une transaction auprès de sa banque (opération nommée contestation, chargeback ou impayé) : pendant 120 jours à compter de la transaction sur les réseaux « Visa » ou « Mastercard » pendant 13 mois à compter de la date d’opération sur le réseau Français « Carte Bancaire ». En France, une contestation n'est en principe autorisée que dans le cadre d'une utilisation frauduleuse de la carte (carte volée, prélèvements abusifs…). Cependant, dans d'autres pays européens, la contestation peut également être utilisée dans le cadre d'un litige commercial (service ou produit non rendu / non conforme). En cas de contestation, CentralPay en est informé et crée automatiquement sur votre compte une opération de Dispute liée à la transaction contestée. Le montant de cette transaction vous sera débité afin de rembourser votre client. Des frais non remboursables s’appliquent également pour chaque contestation reçue. À ce stade, le statut de la Dispute sera CHARGEBACK_NOTICED et vous pourrez consulter sur le Portail utilisateur ou via notre API le motif de contestation de votre client. Vous disposez ainsi d’un délai de 20 jours calendaires pour répondre en fournissant la preuve de livraison du service ou du produit. À défaut de réponse dans les délais impartis, il ne sera plus possible de répondre à la contestation. Notez que dans le cadre des transactions non authentifiées (sans 3DS), vous devez également justifier du consentement du titulaire de la carte. Vous devez à minima prouver que le nom et prénom de votre client est bien le même que celui qui est indiqué sur la carte de paiement. Une fois votre réponse émise, celle-ci est étudiée par la banque de votre client avant d’adresser son verdict : Vous avez obtenu gain de cause, la contestation a été rejetée. Le montant de la transaction vous est remboursé et le statut de la Dispute passe en CHARGEBACK_WON. Vos preuves sont jugées insuffisantes, la contestation est maintenue. Le statut de la Dispute passe en CHARGEBACK_LOST. NB : Il est possible, en amont d'une contestation, qu'un client réalise une demande d'information sur une transaction afin d'en connaitre les détails. CentralPay créera une opération Dispute avec statut RETRIEVAL_NOTICED. Vous devez répondre dans les 7 jours en fournissant la nature du service délivré, la preuve de consentement du client et/ou la preuve de livraison. Si votre réponse est acceptée, le statut de la Dispute passera à RETRIEVAL_CLOSE. À défaut de réponse, votre client pourra déclencher une contestation auprès de sa banque. Email de confirmation 1/ Introduction Quand une transaction par carte a été réalisée avec succès, CentralPay peut adresser un email de confirmation de paiement à votre client. Pour cela, vous devez l’activer en renseignant les paramétrages de l’email de confirmation dans votre Point de Vente. Cet email est adressé par défaut à l’email du Customer associé à la transaction, mais vous pouvez renseigner la valeur receiptEmail de la transaction si vous souhaitez l’adresser à un autre. 2/ Paramétrage L’email de confirmation possède une mise en forme standardisée affichant les différentes informations de paiement, vous pouvez cependant configurer plusieurs paramètres depuis le Portail utilisateur. 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 compte CentralPay « marchand » ou « partenaire » est créé, un libellé de relevé bancaire est défini automatiquement en utilisant le nom de votre premier Point de Vente : CPAY*NomDuPointDeVente Vous pouvez demander à CentralPay de modifier votre libellé, cependant il doit permettre à vos clients de vous identifier clairement ou d’accéder à votre site de réclamation. Gestion des devises Introduction Dans le cadre d’une activité internationale, vos clients peuvent disposer d’une carte adossée à un compte bancaire en devises non Euros. Quelle que soit votre intégration, ces clients pourront vous régler en Euros grâce au système de conversion automatique des réseaux carte (Visa, Mastercard, American Express). Vos clients porteront l’ensemble des coûts de conversion des devises, et vous recevrez des Euros sur votre compte CentralPay. Dans certains cas, CentralPay peut vous permettre d’encaisser des transactions par carte bancaire dans différentes devises : Euros (EUR), Dollars (USD), Francs Suisses (CHF) et Livres (GBP). Contactez CentralPay si la gestion de transaction en devises est un enjeu pour votre activité. Notez que dans ce cas, les coûts d’acquisition en devises (hors EUROS) sont soumis à des frais complémentaires et seront déduits du montant de vos transactions. Les reversements (payout) par virement SEPA ne peuvent être réalisés que sur les valeurs disponibles en EUROS. Les valeurs hors EUROS sont reversées par virement SWIFT ayant des frais supérieurs. Il est cependant possible de programmer les reversements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de reversement. Gestion des cartes virtuelles (VCC) 1/ Introduction Fonctionnement des OTALes 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. Avec la crise du covid19, booking n'autorise plus les débits de ses VCC qu'un jour après le checkin du client.En savoir plus sur le fonctionnement des cartes virtuelles de booking.com Cartes virtuelles ExpediaChez EXPEDIA, il est possible de laisser le visiteur choisir entre la possibilité de payer à l’hôtel (Hotel Collect) ou de payer directement lorsqu’il réalise la réservation (Expedia Collect). Cette option est appelée Expedia Traveler Preference (ETP). Si un client utilise la méthode Expedia Collect, une carte virtuelle sera alors générée.En savoir plus sur le fonctionnement des cartes virtuelles d'expedia.com 2/ Gestion des cartes virtuelles avec CentralPay La meilleure méthode pour stocker une VCC et de pouvoir l’utiliser une fois disponible est de créer un « Customer » et de lui associer la carte concernée. Deux options sont ouvertes : Soit la carte est débitable au moment de la création et une demande de vérification est réalisable à la création du Customer Soit la carte n’est pas utilisable à la création du customer et la carte doit être créé sans vérification. Cela ne signifie pas qu’elle ne pourra pas être utilisée à terme. Cela veut simplement dire qu’elle ne doit être débitée qu’à une certaine date. En général, les OTA auront préalablement vérifié les données de la carte pour s’assurer qu’elle était débitable. Ainsi, créer un Customer dans l’API CentralPay permet de tokeniser la carte virtuelle, sécuriser son stockage et de faciliter son utilisation lorsque les conditions d’acceptation initiales auront été réunies. Retours, statuts et hooks 1/ Codes de retour banque liés aux transactions carte Lorsqu’une transaction carte (objet « transaction ») est initiée, une demande d’autorisation est soumise à la banque émettrice de la carte. Cette dernière répond avec un code, permettant d’interpréter l’acceptation, le refus et la cause du refus de l’autorisation. La banque du titulaire de la carte (appelée également banque émettrice) exprime son refus en fonction de choix qui lui sont propres et totalement indépendants de CentralPay. CentralPay n’est en possession d’aucune information complémentaire si une carte est refusée et n’a aucun moyen d’en obtenir. Les principaux codes de retour banque : 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. Consulter la liste complète des codes de retour banque 2/ Statuts liés aux transactions carte Statuts « Transaction » Statuts TRANSACTION Statuts « Refund » Statuts REFUND Statuts « Credit » Statuts CREDIT Statuts « Disputes » Statuts DISPUTES Statuts « Subscription » Statuts SUBSCRIPTION Statuts « Installment » Statuts INSTALLMENT 3/ Webhooks liés aux transactions carte Webhooks « Transaction » Webhooks Transaction Webhooks « Card » Webhooks Card Webhooks « Refund » Webhooks Refund Webhooks « Credit » Webhooks Credit Webhooks « Customer » Webhooks Customer Webhooks « Dispute » Webhooks Dispute Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment Transaction par virement Informations générales 1/ Introduction Le virement bancaire est le moyen de paiement le plus répandu pour les règlements d’entreprises. Il consiste en un transfert direct des fonds d’un compte (bancaire ou de paiement) à un autre, sans utiliser de support additionnel comme une carte par exemple. La personne physique ou morale qui demande l’émission du virement est dénommée le donneur d’ordre (ou l’émetteur), celle qui reçoit l’argent le bénéficiaire. Contrairement à un paiement par carte ou par prélèvement SEPA, seul l’émetteur lui-même peut initier un virement. Il se rend ainsi sur l’espace personnel de sa banque, déclare les coordonnées bancaires du bénéficiaire (IBAN + BIC + Nom de titulaire), puis renseigne un montant et une référence de virement. Quelques informations importantes : Le délai de réception d’un virement classique chez CentralPay est de 4 à 24 heures ouvrées (contre 24 à 48 heures ouvrées chez la majorité des banques traditionnelles). Il sera également possible de recevoir des virements instantanés (réception <5 secondes) à partir d’octobre 2024. Le virement ne présente pas de risque financier majeur pour le marchand bénéficiaire, car l’émetteur s’authentifie fortement auprès de sa banque et ne peut donc pas contester cette opération. Les banques émettrices accordent un plafond de règlement par virement nettement plus élevé que celui appliqué aux opérations de prélèvement SEPA ou de règlement par carte. Selon les fonctionnalités proposées par sa banque, l’émetteur peut programmer un virement récurrent ou à date différée. 2/ Types de réseaux acceptés Il existe deux types de virements bancaires : les virements SEPA (ou SEPA Credit Transfer) : utilisés pour les opérations en EUROS réalisées entre deux pays membres de la zone SEPA (= 27 pays de l’Union européenne + Royaume-Uni, Monaco, Andorre, Vatican, Suisse, Liechtenstein, Norvège, Islande et Saint-Marin) les virements internationaux : utilisés pour les opérations internationales en EUROS ou en devises, via le réseau SWIFT. Les frais applicables aux réseaux SEPA sont très largement favorables (à peine quelques dizaines de centimes contre plusieurs dizaines d’euros pour SWIFT). SWIFT permet cependant plusieurs options liées au règlement de ses frais : à la charge de l’émetteur, du bénéficiaire ou partagés. CentralPay est atteignable par toutes les banques de l’Espace Économique Européen utilisant les réseaux SEPA (via STEP2 pour les SCT/SDD, ainsi que TIPS et RT1 pour les « Instant SCT »). Seuls les virements de réseaux internationaux ou en devises hors EUROS ne sont pas recevables pour le moment (via réseau SWIFT par exemple). IBAN Virtuels 1/ Introduction Le paiement par virement bancaire impose une responsabilité au client émetteur : celle de renseigner les coordonnées bancaires (IBAN + BIC + Nom du titulaire), le montant du règlement mais aussi la référence de virement. Une absence ou un mauvais formatage de la référence (causé par le client ou par le système de sa banque) contraint le bénéficiaire d’analyser manuellement le virement reçu pour le rapprocher à la bonne facture et au bon poste client. CentralPay vous permet de présenter un IBAN virtuel différent à chacun de vos clients (Customer) ou dans chacune de vos factures (PaymentRequest). Ainsi lors de la réception d’un virement, CentralPay identifie automatiquement l’émetteur et peut rapprocher la facture pour vous, selon l’IBAN virtuel utilisé par votre client, même en cas d’erreur de référence. Un IBAN Virtuel est en tous points identique à un IBAN classique, ce qui rend le processus entièrement transparent pour vos clients. Ce service vous permettra notamment : d’être informé instantanément quand un client vous a réglé par virement, d’automatiser vos alertes internes et vos relances clients (via le service de notifications), d’automatiser le rapprochement de vos paiements dans vos solutions comptables ou de facturations (ERP…), pour les plateformes et marketplaces : d’identifier facilement le marchand bénéficiaire et de lui transférer les fonds Vous pourrez créer des IBAN Virtuels CentralPay depuis différents services de la plateforme : Depuis le service Customer Depuis le service SCT Transaction Depuis le service PaymentRequest Chaque compte de paiement ou de monnaie électronique dispose nativement d'un IBAN Virtuel dédié 2/ Consulter l’IBAN Virtuel de ses comptes Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail utilisateur Administration Comptes IBAN/BIC : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount 3/ Créer un IBAN Virtuel dédié à un Customer Vous pouvez créer un IBAN Virtuel dédié à un client lors de la création d’un nouveau Customer, ou via l’update d’un Customer existant. Pour cela, vous devez renseigner le champ « walletIdForIban » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre Customer. Le BIC des IBAN émis par CentralPay sont : CEAYFR22 4/ Création d’un IBAN Virtuel dédié à une SCT Transaction Comme pour un Customer, vous pouvez créer un IBAN Virtuel dédié à une transaction par virement lors de la création d’une SCT Transaction. Pour rappel, une SCT Transaction est créée automatiquement par CentralPay lorsque vous recevez un virement sur votre IBAN Virtuel principal ou celui d'un Customer. Il est cependant possible de créer une SCT Transaction en amont afin de lui affecter un IBAN Virtuel dédié et une référence personnalisée par exemple. Pour cela, vous devez renseigner le champ « ibanWalletId » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre SCT Transaction. Un IBAN Virtuel dédié à une SCT Transaction n'est plus fonctionnel une fois que sa SCT Transaction a été entièrement réglée. Il est cependant possible de recevoir plusieurs virements d'un montant inférieur sur un même IBAN pour compléter le montant de la SCT Transaction.À noter que si un virement reçu dépasse le montant de la SCT Transaction, il sera tout de même accepté. Vous devrez réaliser un remboursement partiel pour reverser le trop perçu à votre client. 5/ Utilisation des IBAN Virtuels depuis les demandes de paiement Il est possible d’utiliser des IBAN Virtuels Customer ou SCT Transaction depuis le service de demande de paiement, si vous acceptez le moyen de paiement « SCT Transaction ». Vous pouvez sélectionner le type d’IBAN Virtuel que vous souhaitez afficher dans vos demandes de paiement depuis le champ « Viban prioritaire » des paramétrages de votre point de vente. Si vous sélectionnez : SCT La demande de paiement créera systématiquement un IBAN Virtuel dédié à la SCT Transaction Client La demande de paiement utilisera l’IBAN Virtuel du Customer s’il en dispose déjà d’un, sinon elle en créera un automatiquement Dans le cas d'une demande de paiement avec vIBAN à la SCT Transaction uniquement : si vous annulez la demande de paiement, le vIBAN associé ne sera plus atteignable. Ainsi, chaque virement reçu sur ce vIBAN sera automatiquement renvoyé à son émetteur. Transaction par virement 1/ Introduction Une SCT Transaction représente un virement bancaire reçu sur un de vos IBAN Virtuel CentralPay. Elle peut être créée de trois manières différentes : 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 utilisateur > Administration > Comptes > UUID. Si vous souhaitez utiliser un IBAN Virtuel existant (dédié à un Customer ou à un compte de paiement), renseignez le champ « iban » avec l’IBAN souhaité. Vous pourrez ensuite récupérer la valeur « sepaReference » générée par CentralPay et la transmettre à votre client pour laisser CentralPay rapprocher le virement à votre transaction ou renseigner la valeur « merchantSctTransactionId » avec votre propre référence personnalisée pour rapprocher vous-même le virement via nos exports d’opérations. Rapprochement à une demande de paiement CentralPay met à disposition un service nommé bankReconciliation permettant de lier une ou plusieurs SCT Transaction à une demande de paiement (PaymentRequest) si vous n’utilisez pas les IBAN Virtuel dédié aux SCT Transaction. 1/ En cas d’erreur de référence par votre client Lorsque vous utilisez les demandes de paiement avec IBAN Virtuels dédiés à un Customer et que votre client ne renseigne pas correctement la « sepaReference » lors de l’émission de son virement ; CentralPay n’est pas en mesure de rapprocher automatiquement le virement à la demande de paiement. Vous pouvez donc utiliser le service bankReconciliation pour affecter la SCT Transaction reçue à la demande de paiement créée initialement : Amount = montant du virement en centimes wireTransferID = ID de la SCT TRANSACTION (accessible dans le hook de la SCT TRANSACTION) paymentRequestBreakdownId = ID du breakdown de la PaymentRequest (accessible dans le hook de la PaymentRequest) 2/ Si vous utilisez votre propre référence de commande Si vous souhaitez organiser vos créances clients dans CentralPay grâce au service de Demandes de paiement sans utiliser la page de paiement SmartForm, voici la démarche à suivre : pour chaque client : créer un Customer avec vIBAN, récupérer le vIBAN et l’afficher dans votre tunnel de vente avec votre référence de commande créer en parallèle une paymentRequest contenant cette même référence de commande (dans le champ « merchantPaymentRequestId ») et le montant de commande Dès réception d’un virement client, vous identifiez la commande liée grâce au champ « description » de la SCT Transaction Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId » si une PaymentRequest présente la même référence, vous l’associez avec le service « bankReconciliation » si aucune PaymentRequest ne présente la même référence mais que le virement a été reçu sur un vIBAN Customer n’ayant qu’une seule PaymentRequest en attente ou d’un montant identique, vous pouvez faire en sorte de les rapprocher avec une bankReconciliation si aucune PaymentRequest ne présente la même référence et que le Customer présente plusieurs PaymentRequest en attente de règlement ou d’un montant différent, levez une alerte dans votre système pour faire rapprocher le virement manuellement par votre service financier (qui l’associera manuellement à la bonne PaymentRequest via une bankReconciliation) Les virements non liés à une PaymentRequest seront ainsi facilement identifiables De même que les PaymentRequest non payées ou partiellement payées. R-transaction SCT 1/ Remboursement Vous pouvez rembourser une SCT Transaction si celle-ci est « RECEIVED » via le service Refund ou depuis le détail de la SCT Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant. Votre client recevra les fonds sur son compte bancaire sous 24 à 48 heures ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération. Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé. Virements internationaux Introduction Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises. Il sera prochainement possible d’accepter des virements internationaux via le service SCT Transaction. Veuillez contacter CentralPay si ce service est un enjeu pour le développement de votre activité. Retours, statuts et webhooks 1/ Retours liés aux SCT Transactions Il n’existe pas de code retours pour les SCT Transactions. 2/ Statuts liés aux SCT Transactions Statuts « SCT Transaction » Statuts SCT TRANSACTION Statuts « Refund » Statuts REFUND 3/ Webhooks liés aux SCT Transactions Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « Refund » Webhooks Refund Webhooks « Customer » Webhooks Customer Transaction prélèvement SEPA Informations générales Introduction Le prélèvement SEPA (SEPA Direct Debit ou « SDD » en anglais) permet à un créancier (marchand) de prélever un montant dû directement sur le compte de son débiteur (client). Il est principalement destiné aux règlements récurrents (abonnements ou paiements en plusieurs fois) mais peut-être dans certains cas utilisé pour des règlements ponctuels (par exemple pour le règlement de factures entre professionnels). Étant émis à l’initiative du créancier, il requiert la collecte préalable d’une autorisation de son débiteur. Le marchand édite ainsi un « Mandat SEPA » précisant les conditions de prélèvement et les coordonnées bancaires des deux parties que son débiteur devra signer. 1/ Les deux types de prélèvement SEPA Il existe deux types de prélèvements SEPA : Le prélèvement SEPA « CORE » : le plus répandu, il permet aux créanciers de débiter des comptes de particuliers comme de personnes morales. Le mandat SEPA est édité et signé entre les deux parties sans contraintes particulières. Le débiteur est cependant protégé et peut contester un prélèvement CORE sans motifs auprès de sa banque sous 8 semaines. Le prélèvement SEPA « B2B » : réservé aux prélèvements entre entreprises. Le mandat SEPA est édité, signé puis doit être transmis par le débiteur à sa banque. Le parcours de contractualisation requiert ainsi une action forte du débiteur et la validation de sa banque. Cependant, les prélèvements initiés depuis ce type de mandats ne sont pas contestables. CentralPay ne propose pas ce service de prélèvement SEPA type « B2B ». 2/ Risques de rejet et de contestation Le prélèvement SEPA étant un moyen de paiement dont les transactions sont initiées sans authentification forte du client, les risques de rejets et de contestations sont à prendre en considération. Consultez la rubrique « R-Transaction SDD » pour en savoir plus sur les rejets et contestations SDD. 3/ Informations importantes Le prélèvement SEPA est utilisable sur la vaste majorité des comptes bancaires « courants » des pays de la zone SEPA et certains de l’Espace Économique Européen hors SEPA. Cela dépend de la connectivité aux réseaux SEPA des banques des débiteurs. Les comptes spéciaux type « comptes épargnes » ne sont pas atteignables. Les opérations SEPA sont traitées en devise EUROS (€) uniquement. Les opérations SEPA sont traitées lors des jours ouvrés uniquement (hors weekend et jours fériés). Ainsi, le délai de réception des fonds varie entre 2 à 5 jours à compter de la date d’initiation de l’opération. Le débiteur doit être informé par le créancier des prélèvements à venir, au moins 14 jours avant la date, soit par l’envoi d’un échéancier, d’une notification ou d’une facture. La durée de validité d’un mandat SEPA est de 36 mois après la dernière transaction opérée sur ce mandat. Dans le cadre d’un prélèvement SEPA sur le compte bancaire d’une entreprise (personne morale), le créancier doit veiller à ce que le mandat SEPA soit adressé et signé par le dirigeant ou un responsable habilité (gérant, service comptabilité…). Le prélèvement SEPA est particulièrement adapté aux transactions récurrentes d’un montant situé entre 20 et 200 EUR pour les débiteurs particuliers, et entre 20 et 2 000 EUR pour les débiteurs personnes morales. Identifiant de Créancier SEPA L’Identifiant Créancier SEPA (ICS) est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France). Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque. Communiquez votre ICS à CentralPay lors de votre entrée en relation afin que nos équipes puissent le déclarer dans votre compte. Déclaration du compte bancaire Pour réaliser une transaction par prélèvement SEPA, il faut d’abord créer le profil de votre client (le débiteur) et déclarer ses coordonnées bancaires sur la plateforme CentralPay. 1/ Créer un profil client « Customer » Collecter les informations de votre client (email, nom, prénom …) Créer un profil client Customer Récupérer la propriété « customerId » dans le retour de création du Customer 2/ Créer un compte bancaire « bankAccount » Collecter les coordonnées bancaires de votre client (IBAN, BIC, nom du titulaire du compte …) Créer un compte bancaire bankAccount en renseignant le « customerId » de votre client Récupérer le « bankAccountId » et le « identityId » dans le retour de création du bankAccount Création du mandat SEPA Après avoir déclaré le compte bancaire « bankAccount » du client et rattaché son profil client « Customer », vous pouvez créer un mandat SEPA « mandate » et collecter la signature électronique de votre client via un code (OTP) envoyé par SMS. Prérequis : vous devez récupérer le « creditorBankAccountId » de votre compte CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail utilisateur en utilisant un profil avec des droits Admin : Administration Mon compte Comptes bancaires Identifiez la ligne présentant votre ICS dans la colonne « IBAN » puis copiez l’UUID associé. 1/ Création et signature d’un nouveau mandat SEPA Créez un mandat SEPA : Créez un « Mandate » Renseignez votre « creditorBankAccountId » Renseignez le « CustomerId » de votre client Renseignez votre Référence Unique de Mandat (RUM) Indiquez le type de mandat que vous souhaitez créer dans la propriété « paymentType » Renseignez le numéro de téléphone de votre client dans la propriété « debtorPhone » Renseignez l’email de votre client dans la propriété « debtorEmail » Indiquez le compte bancaire de votre client en renseignant son « bankAccountId » dans la propriété « debtorBankAccountId » Une fois le mandat SEPA créé : Un « mandateId » sera généré Le statut du mandat sera en « PENDING » Un code à 6 chiffres (OTP) sera envoyé à votre client par SMS (durée de vie 15 min). Vous pouvez renouveler l’envoi de l’OTP. Signez un mandat SEPA : Signez le « Mandate » Collectez le code à 6 chiffres auprès de votre client, et renseignez-le dans la propriété « otp » Renseignez le « mandateId » généré lors de la création du mandat Renseignez l’IP de votre client dans la propriété « endUserIp » Le statut du mandat passera ainsi en « ACTIVE » et le mandat SEPA au format PDF sera envoyé au client par email Schéma de déclaration du compte bancaire et création mandat 2/ Déclaration d’un mandat existant (migration) Dans le cadre d’une migration de mandats déjà créé auprès d’un autre prestataire de paiement, il est possible de désactiver la fonction de signature par OTP sms et d’envoi du mandat SEPA par email. Si c’est votre cas, contactez nos équipes afin d’obtenir plus de détails concernant cette procédure. Prérequis : Les mandats doivent avoir été créés avec votre Identifiant de Créancier SEPA (ICS) Les mandats doivent avoir été créés avec votre entité juridique actuelle Les mandats doivent avoir été dûment signés et acceptés par vos débiteurs Les mandats doivent être encore actifs (<36 mois depuis la dernière transaction) Transaction par prélèvement Une fois les étapes de création et de signature de mandat réalisées, vous pouvez créer une transaction en prélèvement SEPA (Transaction SDD). Chaque transaction SDD sera liée au mandat correspondant. Pour créer des transactions SDD, vous avez plusieurs possibilités : 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 Créez une « SDDTransaction » Renseignez l’identifiant du mandat SEPA « mandateId » Renseignez le montant de la transaction en centimes « amount » Renseignez la devise EUR dans la propriété « currency » Renseignez votre identifiant unique de transaction dans la propriété « endToEndIdentification » Renseignez la description de la transaction dans la propriété « remittanceInformation » (cette donnée apparaitra sur le relevé de compte de vos clients) Renseignez l’IP de votre client dans « endUserIp » Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId » Renseignez la date souhaitée de la transaction dans « requestedCollectionDate » Vous pouvez ensuite répéter l’opération à chaque échéance de prélèvement de votre client. [Optionnel] Demander au client une validation par SMS Pour plus de sécurité, vous pouvez configurer un OTP pour la validation de chaque SDDTransaction : un OTP sera alors généré à la création et envoyé à votre client par SMS. Un sddTransactionId sera également généré à la création. Par défaut, la validation des SDDTransaction est automatique. Cette étape est nécessaire que si vous avez configuré une validation OTP pour la SDDTransaction Récupérer auprès de votre client son code secret Nous le transmettre, ainsi que le sddTransactionId. Par cette action, la SDDTransaction sera considéré comme validé et sera donc effectuée. 2/ Transactions SDD depuis les modèles d’abonnement « subscription » 2.1/ Création Vous devez d’abord créer un Customer contenant au moins un Mandate. Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur. 2.2/ Cas d’intégration spécifiques Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une SDD Transaction seule, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. Si vous souhaitez simplement faire démarrer un abonnement à une date précise (ex : date d’entrée en vigueur de votre contrat), vous pouvez renseigner une date de démarrage (startingDate) dans l’objet Subscription. 3/ Transactions SDD en paiement fractionné « Installment » 3.1/ Création Vous devez d’abord créer un Customer contenant au moins un Mandate. Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. R-transaction SDD 1/ Remboursement de prélèvement SEPA Il n’est pour l’instant pas possible de réaliser un remboursement sur un prélèvement SEPA (date : 06/06/2024). Veuillez contacter CentralPay pour plus d’informations. 2/ Rejet et contestations de prélèvement SEPA Les rejets et contestations de prélèvements SEPA sont émis par les banques de vos clients. Ils sont représentés dans votre compte CentralPay par les opérations « SDD Transaction Reversal ». Un rejet de prélèvement SEPA est émis par la banque avant la mise à disposition des fonds au créancier (sous 2 à 5 jours). Voici les principaux motifs de rejet des prélèvements SEPA Core : Provisions insuffisantes : le compte bancaire du débiteur ne dispose pas de fonds suffisants pour réaliser l’opération. Compte clôturé : le compte bancaire du débiteur a été fermé. Coordonnées bancaires incorrectes : l’IBAN ou BIC utilisé est incorrect, ou le compte n’est pas en devise EUROS. Une contestation de prélèvement SEPA peut être émise par le débiteur jusqu’à 13 mois après l’opération. C’est le principal facteur de risque financier de ce moyen de paiement. Voici les principaux motifs de contestation des prélèvements SEPA Core : Contestation de l’opération (sous 8 semaines max) : le mandat SEPA est valide, mais le client conteste l’opération auprès de sa banque pour quelconque motif. L’opération est entièrement remboursée et des frais de contestation sont applicables au créancier. Le délai est de 70 jours pour les banques hors de l’Union européenne ou de l’Espace Économique Européen. Contestation pour absence de mandat (sous 13 mois max) : le mandat SEPA n’est pas valide (absence de mandat, mauvais signataire…), le client conteste les opérations réalisées. Les opérations sont entièrement remboursées et des frais de contestation sont applicables au créancier. Pour en savoir plus, consultez la liste complète des codes de rejets et contestation de prélèvement SEPA : Codes de retour SDD Retours, statuts et webhooks 1/ Retours liés aux prélèvements SEPA Lorsqu’une transaction SDD (prélèvement SEPA) est rejetée, la banque de votre client adresse un code de rejet permettant d’en identifier la cause. Il faut principalement différencier les rejets (à l’initiative de la banque, ils sont reçus rapidement) des contestations (à l’initiative du client, elles peuvent être reçues plusieurs semaines ou mois après la transaction) : 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…) Consulter la liste complète des codes de rejet SDD 2/ Statuts liés aux prélèvements SEPA Statuts « SDD Transaction » Statuts SDD Transaction Statuts « Mandate » Statuts MANDATE Statuts « bankAccount » [à compléter] Statuts « Subscription » Statuts SUBSCRIPTION Statuts « Installment » Statuts INSTALLMENT 3/ Webhooks liés aux prélèvements SEPA Webhooks « SDD Transaction » Webhooks SDD Transaction Webhooks « Mandate » Webhooks Mandate Webhooks « Bank Account » Webhooks BankAccount Webhooks « Customer » Webhooks Customer Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment Transaction par initiation Informations générales Introduction L’initiation de paiement (ou Pay by Bank) permet d’adresser des demandes de virement à ses clients, directement dans leur application bancaire. CentralPay transmet le montant, l’IBAN bénéficiaire et la référence, afin qu’ils n’aient plus qu’à valider l’émission du virement. Que votre client ait émis un virement classique ou instantané, vous recevez immédiatement un avis de virement pour vous informer de son émission. Ce moyen de paiement constitue une bonne alternative, car il permet de contourner certaines problématiques propres aux cartes (plafond) ou aux virements (erreurs de références, délais de traitement). 1/ Création d’une Initiation de paiement L’Initiation de paiement sera prochainement disponible depuis le service de demandes de paiement uniquement. Retours, statuts et webhooks 1/ Retours liés aux Initiations de paiement [à compléter avec les codes de retour banque liés aux remboursements de SCT Transaction s’il en existe] 2/ Statuts liés aux Initiations de paiement Statuts « Payment Request » Statuts Payment Request Statuts « SCT Transaction » Statuts SCT Transaction Statuts « Refund » Statuts Refund 3/ Webhooks liés aux Initiations de paiement Webhooks « Payment Request » Webhooks Payment Request Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « Refund » Webhooks Refund Webhooks « Customer » Webhooks Customer Paiements récurrents Abonnement Introduction Le service d’abonnement vous permet se réaliser automatiquement des transactions récurrentes sur vos profils clients en se basant sur un modèle d’abonnement défini en amont depuis l’API CentralPay ou le Portail utilisateur. Il est ensuite possible d’ajouter des échéances ou de modifier leur montant à la volée depuis les services Invoice & Invoice Item. Ce service permet de générer soit des transactions carte, soit des transactions SDD (prélèvement SEPA). Définitions utiles pour cette section :– SubscriptionModel : modèle d’abonnement (définissant le montant et la fréquence d’abonnement)– Subscription : abonnement appliqué à un client– Invoice : facture, option à utiliser si vous devez modifier la valeur à l’intérieur d’un plan d’abonnement– InvoiceItem : ligne ou article inclus dans la facture. Une facture a potentiellement plusieurs lignes ou éléments Le service "Subscription" n'est pas le seul moyen de réaliser des transactions récurrentes. Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement. 1/ Créer un modèle d’abonnement (subscriptionModel) Accès modèles d’abonnements – Portail utilisateur de RCT Accès modèles d’abonnements – Portail utilisateur de PROD Le subcriptionModel vous permet de pouvoir créer différents types d’abonnements en fonction de vos services proposés. Par exemple, si vous avez à votre disposition deux types d’offre d’abonnement, le premier en utilisant les caractéristiques de base de votre service et l’autre en utilisant les fonctionnalités avancées, vous allez devoir créer deux modèles : Un pour l’offre d’abonnement « basique » Un pour l’offre d’abonnement « avancé » Chaque « SubscriptionModel » possède un ID unique. Vous fournirez cet identifiant dans vos requêtes API lorsque vous souhaiterez appliquer un abonnement à un client sur la base de ce modèle. Vous pouvez utiliser les attributs suivants : amount : montant à renseigner en centimes intervalUnit : DAY / WEEK / MONTH / YEAR (jour / semaine / mois / année) intervalCount : nombre de « intervalUnit » entre deux échéances (ex : si intervalUnit = DAY et intervalCount = 10, alors il y aura une transaction tous les 10 jours). iterationCount : nombre d’échéances (attention la première transaction n’est pas comptabilisée dans ce paramètre, elle s’ajoute donc à ce nombre). Exemple : amount = 3000 intervalUnit = DAY intervalCount = 3 iterationCount = 3 Ainsi votre modèle d’abonnement sera configuré pour facturer à votre client 30,00 EUR tous les 3 jours pendant 4 échéances (pour un total d’un abonnement de 12 Jours). 2/ Créer un abonnement (subscription) Pour créer un abonnement, vous devez d’abord créer un Customer contenant au moins : une Card (si vous souhaitez opérer des transactions carte) ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA). Vous pouvez ensuite créer une Subscription : Selon le moyen de paiement souhaité : pour des transactions carte : renseignez l’identifiant du profil client « customerId » pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate » pour des transactions entre comptes CentralPay : renseignez l’identifiant du compte émetteur « walletId » Renseignez l’identifiant du modèle d’abonnement « subscriptionModelId » Renseignez l’IP de votre client dans « endUserIp » Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId » Notez qu’à la création d’un abonnement, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire ou son mandat SEPA et de résilier un abonnement si besoin est. Un client pouvant à tout moment résilier son abonnement depuis le portail client mis à sa disposition. Veillez à vous inscrire aux webhooks d'annulation d'abonnement. Si votre abonnement comprend une période d'engagement, il est préférable d'utiliser la méthode d'abonnement par transactions successives, ou demander à CentralPay de ne pas diffuser le lien vers le portail client. 3/ Automatisation des nouvelles tentatives en cas d’échec En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur. Accès paramétrages abonnements – Portail utilisateur de RCT Accès paramétrages abonnements – Portail utilisateur de PROD Comportement des champs : Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay Sélection d’une valeur de 4 à 23 1er échec de paiement de facture : comportement en cas d’un premier échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. 2nd échec de paiement de facture : comportement en cas d’un deuxième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. 3eme échec de paiement de facture : comportement en cas d’un troisième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. Action finale : comportement si les actions précédentes ont échoué CANCELED = Annulation de l’abonnement (modification du statut de l’abonnement en CANCELED) FAILURE = Échec de l’abonnement (modification du statut de l’abonnement en FAILURE) UNPAID = Abonnement impayé (modification du statut de l’abonnement en FAILURE + envoi de hook SUBSCRIPTION_UNPAID) 4/ Fonctions d’annulation des abonnements Il existe deux fonctions d’annulation d’abonnement depuis l’API, le Portail Utilisateur ou le Portail Client : Annuler : l’abonnement est annulé immédiatement Annuler en fin de période : l’abonnement sera annulé à la fin de l’échéance en cours (afin de laisser l’abonné bénéficier de votre service durant sa dernière période payée). Par API, vous devrez renseigner le champ « atPeriodEnd ». Note : Durant ce laps de temps, vous pouvez réactiver l’abonnement avec le service « reactivate » des Subscription. Les abonnements dont l'ensemble des échéances ont été réalisées passent automatiquement en statut CANCELED. 5/ Modifier le montant d’une échéance d’abonnement CentralPay crée un invoice pour chaque échéance d’un abonnement (Subscription), selon le modèle d’abonnement associé (subscriptionModel). Vous pouvez procéder à des actions manuelles à n’importe quel moment pour modifier les échéances (invoice) d’un abonnement (subscription). Vous trouverez ci-dessous une liste d’actions possibles : Modifier le montant d’une échéance : Le service invoiceItem vous permet de modifier le montant d’une échéance (invoice) en renseignant un montant positif ou négatif qui s’additionnera au montant initial de l’échéance. L’invoiceItem sera pris en compte lors de la prochaine échéance de l’abonnement, qu’elle soit créée manuellement ou automatiquement. Vous avez également la possibilité de spécifier une échéance donnée dans votre requête en renseignant un invoiceId. Créer une échéance supplémentaire : les échéances (invoice) dites « périodiques » sont créées automatiquement selon votre subscriptionModel. Vous avez la possibilité de créer d’autres échéances ponctuelles sur votre abonnement en créant une invoice. Supprimer un invoiceItem non traité : s’il n’est pas encore lié à une facture Fermer une échéance à venir : si vous souhaitez que CentralPay ne réalise pas le prélèvement d’une échéance (et/ou ses nouvelles tentatives automatiques), vous pouvez fermer cette dernière depuis le service « close » de l’invoice. Au besoin vous pourrez rouvrir cette échéance via le service « reopen » de l’invoice, si elle n’a pas été payée ou qu’il reste des nouvelles tentatives programmées. Forcer le paiement d’une échéance : les transactions sont effectuées automatiquement par le service d’abonnement, vous pouvez cependant initier la transaction en avance ou réaliser une nouvelle tentative manuellement avec le service « pay » de l’invoice. Ces paiements « manuels » ne sont pas comptabilisés par le système de nouvelles tentatives automatisées. Cette action peut être effectuée sur une facture fermée. 6/ Schéma complet de création d’un abonnement Fractionné Introduction Le paiement fractionné permet de découper le règlement d’une facture en plusieurs échéances. CentralPay prélève ensuite la carte du client selon un échéancier défini lors de la première transaction. Il peut être utilisé pour proposer un étalement de règlement à votre client ou pour automatiser un règlement type « acompte/solde ». Contrairement aux abonnements, un client ne peut pas résilier un paiement fractionné depuis le portail client. CentralPay vous aide à recouvrer les échéances dues par vos clients avec un système de nouvelles tentatives automatisées en cas d’échec de prélèvement. Cependant, CentralPay ne garantie pas les sommes dues à l’aide d’un crédit ou d’un système de financement de créances. Le service "Installment" n'est pas le seul moyen de réaliser des transactions récurrentes. Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement. 1/ Créer un paiement fractionné Vous devez d’abord créer un Customer contenant au moins : une Card (si vous souhaitez opérer des transactions carte) ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA). Ensuite, le service Installment vous permettra de créer facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. Vous pouvez ensuite créer un Installment: Selon le moyen de paiement souhaité : pour des transactions carte : renseignez l’identifiant du profil client « customerId » pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate » Renseignez le montant en centimes « amount » Renseignez la devise en format ISO « currency » Renseignez l’IP de votre client dans « endUserIp » Renseignez les paramètres de fractionnement « iterationCount », « intervalCount » et « intervalUnit » Avec ce service, il est également possible : d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements de définir un montant d’acompte qui sera déduit du montant total (depositAmount). Cet acompte peut également être défini à une date spécifique (depositStartingDate). de définir une date de démarrage du paiement fractionné (startingDate) : si l’on souhaite par exemple que l’acompte soit réglé tout de suite, et que les premières échéances soient prélevées à partir d’une certaine date. Notez qu’à la création d’un paiement fractionné, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent et de changer sa carte bancaire ou son mandat SEPA si besoin est. 2/ Exemple de paiement fractionné Vous souhaitez facturer à votre client 1 000 € divisés en 3 mois à partir du 05/07/2024, avec un acompte de 200 € le 28/06/2024 et ajouter un frais supplémentaire de 10 € : amount =100000 depositAmount = 20000 feeAmount = 1000 currency = EUR intervalUnit = MONTH intervalCount = 1 iterationCount = 3 depositStartingDate = 2024-06-28 startingDate = 2024-07-05 Le plan de fractionnement sera le suivant : 28/06/2024 = 200,00 € (acompte) 05/07/2024 = 276,68 € (premier fractionnement + ajustement arrondis + frais supplémentaires) 05/08/2024 = 276,66 € (deuxième fractionnement) 05/09/2024 = 276,66 € (troisième fractionnement) Les arrondis sont appliqués au premier paiement (hors acompte). 3/ Automatisation des nouvelles tentatives en cas d’échec En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur : Accès paramétrages paiements fractionnés – Portail utilisateur de RCT Accès paramétrages paiements fractionnés – Portail utilisateur de PROD Comportement des champs : Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay Sélection d’une valeur de 4 à 23 1er échec de paiement : comportement en cas d’un premier échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale Stop = le système ne réalisera pas de nouvelle tentative de prélèvement. 2nd échec de paiement : comportement en cas d’un deuxième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de deuxième nouvelle tentative de prélèvement. 3eme échec de paiement : comportement en cas d’un troisième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de troisième nouvelle tentative de prélèvement. 4eme échec de paiement : comportement en cas d’un quatrième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de quatrième nouvelle tentative de prélèvement. Authentification 3DS 2.2 3DS 2.2 BRW (paiement unitaire) Téléchargement des sources 3DS 2.0 Vous pouvez télécharger les sources ici : 3ds2.zip Introduction Tout ce processus doit se dérouler sur la même page web (ceci est une contrainte du process bancaire). Les grandes étapes du 3D Secure 2.0 : Consultez un exemple de formulaire de paiement CUSTOM intégrant le 3DS 2.0 1) Versioning Cette étape consiste à adresser le PAN de la carte à l’API Centralpay. Exemple de code Curl : curl -v POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ -h 'Content-Type: application/x-www-form-urlencoded' \ -u 'doctest:4I9HJRTd' \ -d 'acctNumber=4000001000000067' En réponse : Si la carte n’est pas 3DS 2.0, le versioning vous retournera une erreur 404. Cela signifie que la carte utilisée n’est pas enrôlée 3DS 2.0 et que la transaction ne peut pas se faire en 3DS 2.0. Si la carte est 3DS 2.0, vous recevrez un UUID identifiant l’opération jusqu’au résultat final + les données nécessaire pour réaliser le « 3DS Method » (URL + base64) Deux réponses au Versionning sont possibles si la carte est 3DS 2.0 : Version 1 (la plus fréquente) : { "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL":"https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm":{ "threeDSMethodData":"eyJ0aHJlZURTTWV0aG9kTm90aWZ pY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJ hbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9 uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2M tZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails":null } Cette réponse est renvoyée quand la banque a besoin de l’acs url dans la requête de l’authentification. Le process 3DS Method est alors nécessaire, vous pouvez passer au point 2 : 3DS METHOD. Version 2 : { "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Cette réponse est renvoyée quand la banque n’a pas besoin de l’acs url dans la requête de l’authentification.Le versioning renvoie une réponse où seul « threeDSServerTransID » possède une valeur non null. Le process 3DS Method n’est alors pas nécessaire, vous pouvez passer au point 3 : 3DS AUTHENTICATION BRW. 2) 3DS METHOD Lorsque le versioning renvoi les champs threeDSMethodURL et threeDSMethodDataForm en « Non Null », le process 3DS Method est alors nécessaire.Cette fonction a pour but de poster la donnée base64 reçue du versioning vers l’ACS.Le formulaire iframe doit être réalisée par le navigateur client vers la banque simultanément avec l’authentification.Il faut réaliser une iFrame cachée qui servira à poster la donnée base64 (threeDSMethodData) à l’URL reçue dans le versioning (threeDSMethodURL). 3) 3DS AUTHENTICATION BRW L’appel devra être adressé vers l’url suivante de l’API CentralPay : « 3ds2/authentication »Cette requête permet l’envoi des données contextuelles liées au porteur Exemple d’appel (curl code) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'threeDSServerTransID=7d031b8e-7fb7-4215-b866-eaacb395002f' \ --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \ --data-urlencode 'deviceChannel=02' \ --data-urlencode 'messageCategory=01' \ --data-urlencode 'purchaseAmount=1000' \ --data-urlencode 'purchaseCurrency=EUR' \ --data-urlencode 'threeDSRequestorAuthenticationInd=01' \ --data-urlencode 'browserJavaEnabled=true' \ --data-urlencode 'browserLanguage=fr-FR' \ --data-urlencode 'browserColorDepth=24' \ --data-urlencode 'browserScreenHeight=1052' \ --data-urlencode 'browserScreenWidth=1853' \ --data-urlencode 'browserTZ=120' \ --data-urlencode 'browserIP=127.0.0.1' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' \ --data-urlencode 'browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ --data-urlencode 'notificationURL=http://dev4.dev.centralpay.net:1101/requestor/challenge-notification' \ --data-urlencode 'threeDSRequestorURL=https://www.centralpay.eu' L’api va retourner un statut de transaction (« transStatus »), voici les valeurs et leurs significations : Pas d’autorisation (ne pas faire la transaction) : N = Non authentifié /Compte non vérifié. Transaction refusée. U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq. R = Authentification/vérification du compte rejetée. l’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS. Autorisation sans challenge : Y = Vérification de l’authentification réussie. A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie. Autorisation après challenge : C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes. D = Challenge requis. Authentification découplée confirmée. Exemples de réponses possibles : C = Challenge requis : {"threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f","transStatus": "C","acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge","acsChallengeMandated": "Y","base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=","contractId": "71602dd0-2790-4743-877b-e72530d7576d"} Le Challenge est nécessaire. Y = authentification réussie : { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Le Challenge n’est pas nécessaire.Les champs requis au 3DS 2.0 sont dans la réponse (threeDSServerTransID, transStatus, authenticationValue (cavv), eci). Note : Le xid n’est pas fourni, car il s’agit d’une référence libre pour les marchands. N = Transaction refusée : { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } Transaction refusée. 4) Challenge Lorsque la réponse de l’authentification est « C« , l’utilisateur doit effectuer un challenge, une Iframe doit alors soumettre un formulaire à l’url (acsURL) retournée par l’API lors de l’appel à « 3ds2/authentication ». Le seul paramètre envoyé est : creq qui comprend la valeur base64EncodedChallengeRequest qui provient de l’appel à « 3ds2/authentication ». A la fin du challenge, l’url configurée (paramètre notificationURL ) dans l’appel « 3ds2/authentication » est appelée. Voici ce que vous aurez dans notre environnement de test pour l’affichage du Challenge OTP (dans des conditions de PROD, la fenêtre affichée sera celle de l’ACS) : Voici les OTP en environnement test : 1234 retourne Y pour Challenge réussi 4444 retourne A pour Challenge réussi 1111 retourne N pour Challenge échoué 2222 retourne R pour Challenge échoué 3333 retourne U pour Challenge échoué 5) Réponse À l’issue du challenge, les informations concernant celui-ci sont disponibles dans la variable « finalCresValue » Pour récupérer les informations de cette valeur base 64 il faut la décoder, voici un exemple en php : $retour = json_decode(base64_decode($_POST['cres']), true) Si celui-ci est égal à Y ou A alors le client a effectué le challenge correctement et le paiement est autorisé, vous devrez alors appeler GET /results afin de connaitre les données nécessaire aux 3DS 2.0 pour votre transaction. Si le statut de transaction est égal à une autre valeur, alors le client n’a pas effectué le challenge correctement et le paiement est refusé. 6) Résultat Pour connaitre les données 3DS 2.0 à renseigner à la création d’une transaction 3DS 2.0, vous devrez adresser le threeDSServerTransID de l’authentification 3DS 2.0 préalablement effectuée. Rappel : Si vous avez obtenu un transStatus à « Y » en réponse de l’authentification, les données 3DS 2.0 sont déjà contenu dans celui-ci. Appel : curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic e3tERUZBVUxUX1VTRVJ9fTp7e0RFRkFVTFRfUEFTU1dPUkR9fQ==' Réponse : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 7) Transaction Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 : 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci 3ds[xid] = Paramètre Custom destiné aux marchands. Exemple d’une transaction 3DS 2.0 : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \ --header 'Origin: https://example.centralpay.net' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'currency=EUR' \ --data-urlencode 'amount=1500' \ --data-urlencode 'endUserIp=9.64.32.8' \ --data-urlencode 'endUserLanguage=ita' \ --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \ --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \ --data-urlencode 'browserAcceptLanguage=it_IT' \ --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'receiptEmail=support@centralpay.eu' \ --data-urlencode 'capture=true' \ --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \ --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \ --data-urlencode 'order[firstName]=John' \ --data-urlencode 'order[lastName]=Doe' \ --data-urlencode 'source=EC' \ --data-urlencode '3ds[xid]=35876533346561303461' \ --data-urlencode '3ds[cavv]=JAmi21makAifmwqo2120cjq1AAA=' \ --data-urlencode '3ds[eci]=01' \ --data-urlencode '3ds[status]=Y' \ --data-urlencode '3ds[threeDSServerTransID]=7d031b8e-7fb7-4215-b866-eaacb395002f' 3DS 2.2 3RI (paiements récurrents) Prérequis Afin de réaliser une transaction en 3DS 2.0 3RI, il faut que l’utilisateur ait déjà réalisé une transaction 3DS 2.0 avec une authentification BRW.Une fois celle-ci effectuée, gardez le acsTransId qui est envoyé, il faudra le passer dans threeDSReqPriorRef. 1/ 3DS AUTHENTICATION RI L’appel devra être adressé vers l’URL suivante de l’API CentralPay : « 3ds2/authentication » Le acsTransId que vous avez gardé de l’authentification BRW doit être mis dans threeDSReqPriorRef. Si l’api vous retourne un statut de transaction (« transStatus ») à « Y » l’authentification 3RI est autorisé. Voici les valeurs possibles de transStatus et leur signification : Y = Vérification de l’authentification réussie. N = Non authentifié /Compte non vérifié. Transaction refusée. U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq. A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie. C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes. D = Challenge requis. Authentification découplée confirmée. R = Authentification/vérification du compte rejetée. L’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation. I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS. Exemple d’appel 3RI (curl code) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \ --data-urlencode 'pointOfSaleId=08960d92-874b-4447-800b-aaa53fa976f5' \ --data-urlencode 'deviceChannel=03' \ --data-urlencode 'messageCategory=02' \ --data-urlencode 'acctType=03' \ --data-urlencode 'cardExpiryDate=9999' \ --data-urlencode 'purchaseAmount=4880' \ --data-urlencode 'purchaseCurrency=978' \ --data-urlencode 'purchaseExponent=2' \ --data-urlencode 'purchaseDate=20230101122345' \ --data-urlencode 'recurringExpiry=20330101' \ --data-urlencode 'recurringFrequency=0' \ --data-urlencode 'chAccAgeInd=03' \ --data-urlencode 'chAccChange=20220901' \ --data-urlencode 'chAccDate=20220901' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'nbPurchaseAccount=2' \ --data-urlencode 'paymentAccAge=20221001' \ --data-urlencode 'paymentAccInd=03' \ --data-urlencode 'threeDSReqPriorAuthMethod=02' \ --data-urlencode 'threeDSReqPriorAuthTimestamp=202209010123' \ --data-urlencode 'threeDSReqPriorRef=7d031b8e-7fb7-4215-b866-eaacb395002f' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeDSRequestorChallengeInd=02' \ --data-urlencode 'threeRIInd=01' Explication de certains paramètres deviceChannel 03 -> 3DS Requestor Initiated (3RI) messageCategory 02 -> La valeur 02 force la transaction en 3RI. purchaseAmount -> Montant de l’achat courant purchaseCurrency -> Monnaie au format ISO purchaseExponent -> Unité mineure de la monnaie courante purchaseDate -> Date de l’achat recurringExpiry -> Date à laquelle il n’y aura plus d’autorisations qui pourront être effectuées recurringFrequency -> Nombre de jours minimums entre deux autorisations. acctType -> Debit chAccAgeInd -> Durée pendant laquelle le titulaire de la carte possède le compte auprès du demandeur 3DS. Les valeurs acceptées sont : 01 -> Pas de compte 02 -> Créé durant la transaction 03 -> Moins de 30 jours 04 -> Entre 30 et 60 jours 05 -> Plus de 60 jours. chAccChange -> Date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Format de la date = YYYYMMDD. chAccDate -> Date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Format de la date = YYYYMMDD. nbPurchaseAccount -> Nombre d’achats effectués avec ce compte de titulaire de carte au cours des six derniers mois. paymentAccAge -> Date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. paymentAccInd -> Indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs acceptées sont : 01 -> Pas de compte 02 -> Créé durant la transaction 03 -> Moins de 30 jours 04 -> Entre 30 et 60 jours 05 -> Plus de 60 jours. threeDSReqPriorAuthMethod 02 -> Vérification du porteur de carte effectué par l’ACS. threeDSReqPriorAuthTimestamp -> Date et heure en UTC de l’authentification précédente. Le format de date accepté est YYYYMMDDHHMM. threeDSReqPriorRef -> Le champ doit contenir la valeur « acsTransId » de la transaction 3DS BRW précédente. threeDSRequestorDecReqInd N -> Ne pas utiliser l’authentification découplée. threeDSRequestorAuthenticationInd 02 -> Transaction récurrente threeDSRequestorChallengeInd 02 -> Pas de Challenge requis threeRIInd 01 -> Transaction récurrente Exemple de réponse : { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } 2/ Transaction Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 : 3ds[threeDSServerTransID] = threeDSServerTransID (ajouter le nouveau génerer par l’authentification 3RI) 3ds[status] = transStatus 3ds[eci] = eci 3ds[xid] = Paramètre Custom destiné aux marchands. Lors d’une transaction en 3RI, il ne faut pas envoyer le 3ds[cavv]. Exemple d’une transaction 3DS 2.0 : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \ --header 'Origin: https://example.centralpay.net' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'currency=EUR' \ --data-urlencode 'amount=1500' \ --data-urlencode 'endUserIp=9.64.32.8' \ --data-urlencode 'endUserLanguage=ita' \ --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \ --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \ --data-urlencode 'browserAcceptLanguage=it_IT' \ --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'receiptEmail=support@centralpay.eu' \ --data-urlencode 'capture=true' \ --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \ --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \ --data-urlencode 'order[firstName]=John' \ --data-urlencode 'order[lastName]=Doe' \ --data-urlencode 'source=EC' \ --data-urlencode '3ds[xid]=35876533346561303461' \ --data-urlencode '3ds[eci]=02' \ --data-urlencode '3ds[status]=Y' \ --data-urlencode '3ds[threeDSServerTransID]=67dc456c-6c7a-987f-92cf-f68752525d0c' FAQ 3DS 2.2 Foire aux questions autour du 3-D Secure 2.0. Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ? Consultez la liste des cartes de tests de l’environnement de RCT Ma transaction a reçu le code retour banque 5, qu’est-ce que ça signifie ? Cela signifie, que la banque refuse sans donner de statut particulier.Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives. Ma transaction a reçu le code retour banque 12, qu’est-ce que ça signifie ? Cela signifie que la banque refuse sans donner de statut particulier.La raison peut être : – Simplement une transaction invalide – Un code 75 de la part de la banque émetteur (le code PIN de la carte a été trop de fois incorrecte) – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS) – Ou une autre décision que nous ne connaissons pas. L’API transaction me retourne une erreur « Soft Decline » pourtant le paramètre « threeDSServerTransID » est bien celui retourné par le cres.Comment devons-nous interpréter ce retour et que devons-nous faire ? Le soft decline est renvoyé par la banque lorsque que le 3DS n’est pas présent dans la transaction.Il faut vérifier s’il manque des champs présentés dans cette partie de la documentation : https://ref-api.centralpay.net/payment#106-3ds-sub-object Ma requête du Versioning me retourne une erreur « 404 » avec le message « Card account number not found in card ranges from Directory Server ».Qu’est-ce que ça signifie et que dois-je faire ? Cela signifie que la carte utilisée n’est pas enrôlée 3DS2.0 et que la transaction ne peut pas se faire en 3DS2.0.Pour ce cas, nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce genre de carte. La réponse de la requête Result nous a renvoyé le transStatus à U.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? La valeur U de transStatus en réponse de la requête result signifie que l’authentification ou la vérification n’a pas pu se faire suite à un problème technique ou autres problèmes.Du côté du smart form lors du challenge avec la requête result, seules les valeurs Y et A permettent de valider le challenge et continuer le paiement.Les autres valeurs font échouer le challenge et le paiement.Mais dans le cas d’un custom form le fonctionnement peut être différent, vous pouvez utiliser la valeur U pour faire une nouvelle tentative de challenge et si ça échoue encore alors le paiement passe en 3DS1 ou est refusé, ou alors pour directement retenter le paiement en 3DS1 ou le considérer comme un échec de paiement.Ces différents cas sont possibles à réaliser. Nous avons soumis le formulaire à l’URL retournée par l’authentication avec le base64EncodedChallengeRequest.Mais le client est aussitôt revenu sur notre site sans CRES mais avec un paramètre ERROR contenant la valeur « eyJ0aHJlZURTU…Mi4xLjAifQ== » ainsi que le paramètre « THREEDSSESSIONDATA » qui lui était vide.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? Lorsque vous avez un retour de ce genre, il faut vérifier que votre processus du 3DS2 se déroule bien sûr une seule et même page avec la solution d’un iframe.Si le processus est conforme, alors contactez le support technique avec les informations nécessaires. Pour rappel, toutes les étapes du formulaire se réalisent sur une seule et même page sans redirection vers une page bancaire ou autre.Cela se fait grâce à la solution de l'Iframe.Toute la procédure du 3DS2.0 se passe sur la même page ! Nous avons reçu une erreur 303 : « acquirerBIN, acquirerMerchantID not recognized » lors d’un appel à l’authentication.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? Il s’agit soit du contrat qui n’est pas 3DS2, soit d’autres problèmes.Dans le cas d’un autre problème, il faut alors contacter le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations pouvant être nécessaire. Sur l’étape d’authentication, nous avons eu une erreur 203 : « Validation of 3DS Requestor Authentication data failed.Data element not in the required format or value is invalid » pour le champ merchant.merchantName.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? L’erreur 203 signifie qu’il y a un caractère invalide dans le paramètre « merchant.merchantName ». Lors d’un test d’appel de la fonction 3DS2 « authentication », l’erreur suivante est retournée dans la clé « card data » : « There is no unique source of card ».Qu’est-ce que cela signifie ? L’erreur « There is no unique source of card » est commune à toute la plateforme et est présent lorsque vous envoyez des informations de cartes deux fois : par exemple via un cardToken et un cardId ou un PAN et un cardToken etc… Créer des comptes Informations générales Prochainement Création de compte de paiement Prochainement Création de compte de ME Introduction Prochainement Schéma de création d’un compte de ME limité Schéma de validation KYC d’un compte de ME Documents KYC et KYB Prochainement Conditions générales CGU CentralPay Prochainement Liste des activités interdites Prochainement Retours, statuts et webhooks Prochainement Transférer des paiements Informations générales 1/ Introduction La solution EasyWallet permet aux plateformes d’encaisser des paiements et de les transférer à des tiers tout en respectant la réglementation européenne. Pour ce faire, le module comprend deux principaux services : L’inscription : permettant la création de comptes de paiement et de monnaie électronique pour les marchands ou participants d’une plateforme. Le transfert : permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique. Selon le modèle de partenariat CentralPay, les possibilités d’inscription et de transferts sont différentes. 2/ Les types de transferts Selon le modèle de partenariat établi avec CentralPay, le transfert des paiements est réalisé différemment : Partenaires MOBSP : vous devez utiliser le service de transfert via transaction Agents PSP : vous pouvez utiliser le service de transfert libre ou transfert via transaction Distributeurs de ME : vous devez utiliser le service de transfert via transaction pour la phase d’encaissement en devise. Ensuite, vous pouvez utiliser le service de transfert libre uniquement pour mouvementer la monnaie électronique entre les comptes de vos participants. Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay. Transfert indépendant Transfert indépendant L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits « Plateforme ». Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte « Plateforme » qui initie les transactions depuis l’API vers un compte « Basic » connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique. Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement. Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net. Les fonds issus de transfers issus d’une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2. Exemple 1 :Amount = 100Fee = 30Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100. Exemple 2 :Amount = 70Fee = 0Le détenteur du compte de destination recevra 70 sans indication de frais. Type de transfer 1 Mode Asynchrone Manuel (valable uniquement pour les Agents) La « Plateforme » réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH. Exemple : POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout). Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles. 2 Mode synchrone Auto Le compte « Plateforme » réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur. Exemple : POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la devise de règlement (payout) Exemple : transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 } transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 } Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais. Transfert indépendant en ME Transfert via transaction Transfert via transaction Vous pouvez paramétrer un transfert depuis tous types de transaction : Transaction CARD (cartes de paiement) : voir comment créer une transaction CARD Transaction SCT (virements SEPA entrants) : voir comment créer une transaction SCT Transaction SDD (prélèvements SEPA) : voir comment créer une transaction SDD Paramétrer un transfert depuis une transaction Le transfert depuis une transaction permet de renseigner les destinataires des transferts, les montants correspondants, et votre commission. [Renseigner les items API à utiliser pour réaliser un transfert depuis une transaction] Transfert en ME via transaction Transfert via demande de paiement Reversement bancaire pour tiers Reversement par marketplace Vous pouvez créer des payouts pour vos marchands, pour cela, plusieurs solutions, soit : Soit passer par le endpoint : /payout/byThirdParty (vous pouvez retrouver tous les paramètres de celui-ci dans « Référence API » Soit passer par le Portail utilisateur Via le Portail utilisateur, voici les étapes à réaliser : 1/ Rendez-vous sur les comptes liés 2/ Sélectionnez le marchand sur lequel faire le payout 3/ Se rendre dans les comptes bancaires 4/ Faire le payout Reversement pour compte de tiers Retours, statuts et webhooks Cas d'usages Marketplace C2C Prochainement
Portail d'inscription Le portail d’inscription de CentralPay permet la création d’un Compte CentralPay et d’un compte de paiement : de la création du profil utilisateur, jusqu’à la contractualisation, en passant par la collecte du KYC/KYB. Il interagit avec l’API Onboarding de CentralPay. Pour les comptes « Partenaires », il permet donc de créer des sous-marchands facilement depuis un portail hébergé par CentralPay, et d’ainsi éviter une intégration complète de l’API Onboarding. Pour adresser un lien d’onboarding à l’un de vos futurs sous-marchands, vous pouvez utiliser le service de création de compte de paiement. Accès au portail d’inscription de RCT Accès au portail d’inscription de PROD
Webhooks 1/ Introduction Les webhooks permettent d’adresser des notifications HTTP sur les URL de votre choix en fonction des évènements (ou « Events ») qui surviennent sur votre compte CentralPay. Ces évènements correspondent à la création, au changement de donnée ou au changement de statut d’un objet des API CentralPay. Le service permet ainsi d’avertir en temps réel votre système d’information, dès qu’une opération est réalisée sur votre compte CentralPay. Par exemple, une transaction réussie ou échouée, la création d’une nouvelle souscription (abonnement), un nouveau client (Customer), la réception d’un impayé… Les webhooks sont classés en deux catégories : liés aux Points de Vente « POS » liés aux « Comptes » Le serveur distant doit confirmer la bonne réception de la requête en retournant un code 2XX. Dans le cas contraire, une nouvelle requête sera adressée toutes les 5 min pendant 2h. Pour s’assurer de la bonne réception des hooks, nous vous conseillons d’utiliser le service Webhook Site. Entrez l’URL donnée par le site et l’adresse mail, et effectuez vos tests. Une fois que vous êtes satisfait des réponses hooks, vous pouvez remplacer l’adresse mail et l’URL par les vôtres et effectuez un nouveau test. 2/ Liste des Webhooks Vous pouvez consulter la liste des webhooks depuis la rubrique Développeurs > Webhook notifications.
Créer des comptes Articles Informations générales Création de compte de paiement Création de compte de ME Documents KYC et KYB Conditions générales Retours, statuts et webhooks Informations générales Prochainement Création de compte de paiement Prochainement Création de compte de ME Introduction Prochainement Schéma de création d’un compte de ME limité Schéma de validation KYC d’un compte de ME Documents KYC et KYB Prochainement Conditions générales CGU CentralPay Prochainement Liste des activités interdites Prochainement Retours, statuts et webhooks Prochainement
BankAccount > See more about BankAccount Once your identity has been created (Merchant or Customer), you can create a bank account you’ll link to it. Merchants must create for their customer the bank account with informations provided by them. It must be noted that to become a creditor, you need to have a level STANDARD or more.
Informations générales Articles Contacter CentralPay > À propos de CentralPay Glossaire API et interfaces Entrée en relation Tarifs Logos et visuels Contacter CentralPay > CentralPay s’emploie à une croissance saine, permettant à nos utilisateurs d’être quotidiennement accompagnés par des équipes stables et expertes dans leur domaine (conformité, monétique, sécurité…). Ainsi, nos services client et support sont joignables du Lundi au Vendredi depuis l’espace « Aide & Support » de votre Portail utilisateur, par email ou par visioconférence sur rendez-vous. 1/ Avant d’adresser une demande technique Quelques points que vous pouvez vérifier préalablement : Authentification : êtes-vous correctement authentifié ? Environnement : êtes-vous sur le bon environnement du Portail utilisateur et de l’API (RCT ou PROD) ? Autorisation : avez-vous les autorisations nécessaires pour réaliser cette opération ? L’erreur HTTP 403 signale une erreur d’autorisation. Erreur HTTP : Consultez la signification des codes d’erreurs HTTP CentralPay. Si vous recevez un code erreur HTTP 500, veuillez contacter immédiatement le support technique. 2/ Informations à communiquer pour toutes demandes techniques Dates et heures précises des évènements concernés Lien (url) de la page concernée Une ou des capture(s) d’écran, idéalement une vidéo (Cloudapp permet de faire une vidéo d’une page du navigateur Google chrome) Un UUID (ou id) de l’opération concernée et son type (transaction carte, remboursements, demande de paiement…). L’environnement sur lequel vous travaillez (recette RCT ou production PROD) Une description précise du problème rencontré ou de votre interrogation Ces informations nous permettrons de vous accompagner et d’analyser votre situation plus efficacement. Vos demandes seront traitées de façon prioritaire si elles sont envoyées depuis l’espace « Aide et Support » du Portail utilisateur : Aide et support – Portail utilisateur de RCT Aide et support – Portail utilisateur de PROD À propos de CentralPay Certifications et agréments CentralPay propose des solutions de paiement modulaires permettant l’unification des flux d’encaissement pour compte propre et l’automatisation des reversements pour le compte de tiers. La typologie de services et d’opérations proposées par CentralPay varie en fonction des besoins et de l’activité de ses marchands et partenaires. CentralPay est une société indépendante, entièrement propriétaire de sa technologie et de ses agréments. Garantissant la meilleure autonomie possible dans ses choix de partenariats et de son évolution. CentralPay est autorisé à entrer en relation d’affaires avec les entreprises enregistrées dans l’Espace Économique Européen. ACPR (Banque de France)Établissement de Monnaie Électronique : CentralPay est un Établissement de Monnaie Électronique régulé par la Banque de France à travers son autorité de contrôle prudentiel et de résolution, l’ACPR (CIB 17138).DSP2 : CentralPay est conforme à la 2ème Directive sur les Services de Paiements qui impose notamment des exigences en matière d’authentification forte et de protection des données.PCI-DSS : CentralPay obtient annuellement la certification la plus élevée possible en matière de sécurisation des données bancaires et prévention de la fraude ; la norme PCI DSS de niveau 1.EBA CLEARING & EPC : En qualité de membre de l’European Payment Council et sa connexion à l’EBA CLEARING, CentralPay intègre les schémas européens des règlements SEPA afin d’émettre et de recevoir des virements et des prélèvements depuis ses propres IBAN et IBAN virtuels.SWIFT : Connecté au réseau SWIFT, messagerie la plus acceptée à l’échelle mondiale, CentralPay est en mesure d’échanger des flux financiers internationaux avec la plupart des banques et des institutions financières participantes.Visa, Mastercard, Cartes bancaires, American Express : CentralPay est accrédité auprès des grands réseaux de cartes, afin d’optimiser les parcours et la conversion des paiements de tous ses utilisateurs. Sécurité et hébergement CentralPay exploite ses services depuis deux Datacenter Français. Les équipements et services exploités sur ces deux sites sont entièrement redondés. Un hébergement hautement résiliant : Deux Datacenter de conception TIER III basés à Tours Environnement actif/actif entre les deux sites Des engagements contractuels (SLA) de 99.9% Des normes reconnues : ISO27001, PCI-DSS, Code of Conduct Une infrastructure garante de la sécurité de vos données : Cœur de réseau allant jusqu’à 10 Gb/s Réseau électrique entièrement redondé | Densité électrique allant de 600 mA à 32 A Système de contrôle d’accès avec double authentification (badge & code personnel) Vidéo-surveillance et alarme reliée 24h/7j à notre télésurveillance Système d’extinction d’incendie par aérosol FirePro Engagements de disponibilité CentralPay garantit une disponibilité annuelle de ses services (SLA & PCA) selon les barèmes suivants : CPAY APITraitement des opérations de paiementCPAY PORTALSPortails d’inscription, client et utilisateur99,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 d’atteinte de cette garantie correspond à la disponibilité des portails de l’environnement de production. Évolution de la plateforme Les API de CentralPay reposent sur une architecture en micro services apportant un maximum de flexibilité. Notre approche modulaire permet de faire constamment évoluer nos solutions afin d’apporter toujours plus de services et de fonctionnalités. Ces évolutions sont réalisées après des analyses d’impact poussées afin de ne pas provoquer de changement dans les intégrations de nos utilisateurs. Dans de très rares cas, celles-ci peuvent appeler des modifications mineures ou plus importantes lorsque des changements de régulations surviennent, comme ce fut le cas pour l’évolution vers la version 2.0 du 3DS par exemple. En cas d’évolution de la plateforme ou de modifications des attentes concernant la consommation de ses APIs, CentralPay s’engage à vous prévenir dans un délai correspondant à l’ampleur des actions à mener : Modifications mineures nécessitant aucune action du marchand ou partenaire :remise d’information simple Modifications mineures avec action nécessaire par le marchand ou partenaire :2 mois minimum de délai de prévenance + accompagnement à la réalisation Modifications majeures avec action nécessaire par le marchand ou partenaire :6 mois minimum de délai de prévenance + accompagnement à la réalisation À noter que les modifications nécessitant une action de nos marchands ou partenaires sont qualifiées d’exceptionnelles à inexistantes et que toutes les précautions sont prises pour éviter tout impact sur leur activité. Principes de réserve La réserve représente les sommes qui sont maintenues sur votre compte CentralPay afin de permettre de couvrir les R-transactions (rejets, refus, retours, remboursements, contestations, impayés) liés à des opérations de paiement. Ses paramètres sont définis en fonction du profil de risque financier de votre compte, et sont actualisés en fonction de l’analyse de vos R-transactions sur une période suffisante. Les transactions récurrentes par prélèvement SEPA et par carte bancaire sont particulièrement sujets au risque de R-transactions. CentralPay possède 3 types de garanties de protection qui peuvent s’appliquer aux marchands, en fonction de la nature de leur contrat : 1/ Le collatéral Il représente la somme fixe versée en début de relation, servant à couvrir le risque de crédit dans le cas où le marchand ne pourrait pas satisfaire ses obligations de remboursement envers ses clients. Le détail du Collatéral est visible depuis le Portail utilisateur : Administration Reversements Somme des cautions 2/ Le pied de compte En l’absence de Collatéral, une somme fixe peut être prélevée directement sur les opérations afin de garantir le remboursement des clients en cas de besoin. Le wallet doit donc dépasser la valeur du pied de compte pour autoriser les reversements (payout). Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil fixe 3/ La réserve glissante Selon le secteur d’activité et les processus de règlement du compte, une réserve glissante (« rolling réserve » en anglais) peut être automatiquement ouverte. Il s’agit d’une garantie de protection supplémentaire qui permet de maintenir un certain pourcentage du volume d’encaissement marchand sur le compte CentralPay afin de permettre l’initiation de remboursements automatiques en cas de contestation de transaction, de fraude ou encore afin de couvrir d’éventuels frais opérationnels. Cette somme appartient à la trésorerie du marchand, elle est gardée un nombre défini de jours avant d’être libérée (généralement entre 90 à 180 jours). Par exemple, le seuil variable de la réserve glissante est de 5% du volume d’encaissement sur 90 jours. Le calcul quotidien du montant de réserve est le suivant : montant des transactions encaissées lors des 90 derniers jours * 5% Le détail du pied de compte est visible depuis le Portail utilisateur : Administration Reversements Seuil variable Glossaire Glossaire CentralPay DésignationDescriptionCompte CentralPay Ouvert pour une entité (personne physique ou morale), il est le support de : – Sa contractualisation : grille tarifaire, CGU… – Son administration : credentials, profils utilisateurs… – Sa configuration : scenario de notification, points de vente, règles d’acceptations – Sa conformité : KYC/KYB, accréditations…Le compte CentralPay contient un ou plusieurs comptes de paiement ou de monnaie électronique.Il est représenté par l’objet « merchant » dans l’API CentralPay.Compte de paiementCompte ouvert dans un établissement de paiement. Ce compte est utilisé exclusivement pour la réalisation d’opérations de paiement (collecte de paiements en devises ISO, reversement des fonds vers un compte bancaire…).Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de monnaie électroniqueCompte ouvert dans un établissement de Monnaie Électronique. Ce compte est utilisé exclusivement pour le stockage et l’échange de valeurs en monnaie électronique au sein du réseau du distribteur (devises CUSTOM).Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de commissionCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler les opérations liées aux frais CentralPay du reste des opérations de paiement.Si utilisation par un partenaire, ce compte permet également de collecter ses propres commissions imputées aux transactions de ses sous-marchands.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de réserveCompte de paiement secondaire d’un marchand ou partenaire permettant d’isoler ses fonds de réserve Centralpay (pied de compte, collatéral ou réserve glissante). N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de collecte « Agent »Compte de paiement ouvert dans les livres de CentralPay au nom de l’Agent. Il est dédié à la réception des fonds du partenaire Agent avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.Compte de collecte « Partenaire »Compte de paiement détenu par CentralPay et mise à disposition du Partenaire en lecture seule. Il est dédié à la réception des opérations d’un partenaire avant leur transfert vers les comptes de paiement de ses sous-marchands. N’est pas autorisé à réaliser de Payout.Il est représenté par l’objet « wallet » dans l’API CentralPay.MarchandPersonne morale ou autoentreprise réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Dispose d’un compte CentralPay en droits « Standard ».Partenaire MOBSPPersonne morale, porteur d’un projet impliquant la réalisation d’opérations d’encaissement pour compte de tiers par CentralPay à destination de sous-marchands de CentralPay. Dispose d’un compte CentralPay en droits « Partner MOBSP ».Partenaire DMEPersonne morale déclarée comme Distributeur de Monnaie Électronique par CentralPay auprès de l’ACPR (Banque de France). Porteur d’un projet impliquant la réalisation d’opérations d’encaissement pour compte de tiers par CentralPay à destination de sous-marchands de CentralPay mais également d’émission et d’échange de Monnaie Électronique. Dispose d’un compte CentralPay en droits « EMD Partner ».Partenaire AgentPersonne morale agréée comme Agent Prestataire de Services de Paiement de CentralPay auprès de l’ACPR (Banque de France). Réalisant notamment des opérations d’encaissement pour compte de tiers à destination de ses sous-marchands. Dispose d’un compte CentralPay en droits « Agent Partner ».Sous-marchandPersonne morale ou physique agissant à des fins commerciales ou dans le cadre d’une activité LMNP. Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».ParticipantPersonne physique ou morale agissant à des fins non commerciales (exemple : chargement d’un compte de paiement ou de monnaie électronique dans le but de participer au projet d’un partenaire). Obligatoirement lié à un Partenaire. Dispose d’un compte CentralPay en droits « Basic ».IntégrateurPersonne morale, généralement une société de développement informatique, ayant intégré tout ou partie des API CentralPay dans sa propre plateforme technique. Il permet ainsi à ses utilisateurs disposant d’un compte CentralPay d’accéder aux services CentralPay dans le contexte de sa plateforme. L’intégrateur ne commercialise pas les services de CentralPay.ActeurToute entité identifiée sur la plateforme CentralPay. Peut-être un marchand, un partenaire, un point de vente, un établissement tiers, ou même CentralPay.Utilisateur BOPersonne physique disposant d’un accès à un ou plusieurs comptes CentralPay. Dispose d’un type « Legal » s’il est représentant légal du compte, sinon dispose d’un type « Natural ».Utilisateur APIEntité créée via la plateforme CentralPay permettant d’identifier l’utilisateur réalisant les appels API sur un compte CentralPay.Client / PayeurClient d’un marchand ou d’un partenaire ayant émis un paiement vers un compte CentralPay. Peut disposer d’un profil client CentralPay ou non.Frais CentralPayEnsemble des frais dus à CentralPay déduits des opérations correspondantes, prélevés sur un compte de commission dédié ou facturés en fin de mois.Devises ISODevises conventionnelles aux normes ISO 4217 (exemple : EUR, USD, CHF, GBP …)Devise CUSTOMDevise de Monnaie Électronique créée pour un Partenaire DME de CentralPay. La valeur de la devise CUSTOM est toujours adossée à celle d’une devise ISO comme l’EURO par exemple.Compte bancaireCompte bancaire externe lié à un compte CentralPay pour réaliser des reversements (payout) ou à un profil client pour réaliser des prélèvements SEPA.Il est représenté par l’objet « bankAccount » dans l’API CentralPay.Reversement bancaireVirement sortant d’un compte CentralPay vers un compte bancaire lié. Peut-être réalisé par SEPA ou SWIFT.Il est représenté par l’objet « payout » dans l’API CentralPay.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. Lexique du paiement DésignationDéfinitionIdentifiant de Créancier SEPA (ICS)L’ICS est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France).Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque ou s’il est multi-bancarisé.DébiteurPersonne physique ou morale qui doit une somme d’argent à une autre, appelée créancier, que ce soit dans le cadre de transactions commerciales, de prêts ou d’autres obligations financières.CréancierPersonne physique ou morale à qui une somme d’argent est due par une autre, appelée débiteur.Les créanciers (banques, entreprises ou particuliers qui ont prêté de l’argent ou fourni des biens ou services à crédit) ont le droit légal de réclamer le paiement de la dette, généralement formalisé par un contrat ou une autre forme d’accord.Émetteur (ou donneur d’ordre)Le payeur, c’est-à-dire la personne physique ou morale qui va émettre les fonds d’une transaction financière.BénéficiaireLe destinataire, autrement dit la personne physique ou morale qui va percevoir les fonds d’une transaction financière.Autorisation bancairePropre aux transactions par carte. Interrogation de l’acquéreur vers la banque du porteur de carte concernant le montant de la transaction. Suite au « code de retour banque », l’acquéreur est en mesure de savoir si la somme demandée est disponible, et si non pourquoi (fonds insuffisants, carte volée…). Une autorisation valide assure au marchand la possibilité de capturer la somme demandée jusqu’à 7 jours.Passerelle de paiement (ou Payment Gateway)Technologie agissant comme intermédiaire entre le site du marchand et le réseau de paiement qui permet d’assurer la transmission sécurisée d’informations liées aux paiements. Les passerelles vérifient également la disponibilité des fonds et autorisent les paiements, tout en offrant des fonctionnalités telles que la gestion des paiements récurrents et la détection de la fraude.Prestataire de Services de Paiement (ou PSP)Etablissement financier qui fournit des services liés à l’acceptation et au traitement des paiements aux marchands. Ces services incluent également la gestion des comptes de paiements ouverts, la sécurité des transactions ainsi que la conformité réglementaire.KYB (Know your Business)Le KYB (Know Your Business) est un protocole d’authentification de l’identité et de la conformité des personnes morales, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).Ce processus inclut la collecte et la vérification de documents tels que les statuts de l’entreprise, les informations sur les propriétaires et les dirigeants, les justificatifs d’adresse et les informations financières.KYC (Know your Customer)Le KYC (Know Your Customer) est un protocole d’authentification de l’identité et de la conformité des personnes physiques, avant la création de leur compte de paiement. Imposée par le régulateur, cette vérification permet d’évaluer le niveau de risque marchand de ces dernières afin de prévenir toutes activités illégales telles que le blanchiment d’argent, la fraude et le financement du terrorisme (LCB-FT).Ce processus inclut la collecte et la vérification de documents tels que les pièces d’identité, les preuves de domicile et les informations sur les activités professionnelles.Rapprochement d’un virementProcessus de vérification et de correspondance des factures émises enregistrées dans le compte de l’entreprise avec les paiements reçus.Ce traitement permet de s’assurer que toutes les transactions prévues ont bien été exécutées, de détecter toute anomalie ou erreur et de maintenir l’exactitude des enregistrements financiers de l’entreprise.Frais d’interchangeFrais payés par la banque du marchand (banque acquéreur) à la banque de l’acheteur (banque émettrice) lors d’une transaction par carte, afin de couvrir les coûts et les risques associés à la gestion des paiements. Ils varient en fonction de plusieurs facteurs, tels que le type de carte utilisée, le type de transaction et le pays dans lequel la transaction est effectuée.Frais de réseaux carteFrais facturés par les réseaux de cartes (CB, Visa, Mastercard…) aux banques et PSP qui traitent des paiements par carte. Ces frais couvrent les coûts liés à l’utilisation du réseau de paiement, notamment l’infrastructure technologique, la sécurité des transactions et le traitement des paiements.Interchange++Somme des commissions prélevées sur les opérations de paiement en ligne du marchand. Il est composé de :– Frais d’Interchange ;– Frais de réseaux de carte ;– Frais de services, facturés par le PSP qui assure le fonctionnement de la plateforme de paiement et des services associés. Ce calcul permet de déterminer le coût de revient exact de chacune des transactions.Open BankingEncouragé par la DSP2, l’Open Banking est une pratique financière permettant aux banques de partager de manière sécurisée les données financières de leurs clients avec des tiers autorisés, tels que des fintechs, à travers des API (interfaces de programmation applicative). Ce système bancaire ouvert vise à stimuler l’innovation et la concurrence dans le secteur financier, en permettant le développement de nouvelles applications et services qui peuvent offrir des expériences client améliorées, une gestion financière plus efficace et des offres personnalisées.Exemple : Initiation de paiementImpayé carte (ou chargeback / contestation / litige)Processus par lequel un titulaire de carte signale une transaction suspecte ou non autorisée à l’émetteur, en vue d’un remboursement ou d’une rétrofacturation. Les motifs de contestation peuvent inclure des transactions frauduleuses, des erreurs de facturation, des biens ou des services non reçus ou d’autres problèmes liés à l’utilisation de la carte.Rejet de prélèvement SEPAUn rejet de prélèvement se produit lorsqu’une demande de prélèvement est refusée par la banque du débiteur. Les raisons d’un rejet peuvent inclure des fonds insuffisants sur le compte du débiteur, des informations bancaires incorrectes, un mandat de prélèvement expiré ou non valide, ou une opposition au prélèvement de la part du débiteur.Lorsqu’un prélèvement est rejeté, les fonds ne sont pas transférés, et le créancier est informé du rejet pour qu’il puisse prendre les mesures appropriées.RIB (Relevé d’Identité Bancaire)Document fourni par une banque qui contient les informations nécessaires à l’identification d’un compte bancaire, afin de faciliter les opérations de virement ou de prélèvement. Le RIB inclut le numéro de compte, le code banque, le code guichet, l’IBAN (International Bank Account Number) ainsi que le BIC (Bank Identifier Code) de la banque.EEE (Espace Économique Européen)Zone économique composée des 27 pays membres de l’Union Européenne (UE) ainsi que de la Norvège, l’Islande et le Liechtenstein. L’EEE permet aux États membres de participer au marché unique de l’UE, offrant la libre circulation des biens, des services, des capitaux et des personnes. API et interfaces Utilisation des API CentralPay L’API utilise un protocole HTTP pour transporter et renvoyer toutes les réponses formatées en JSON. Les API CentralPay sont des API REST permettant de faciliter l’intégration de nos services de paiement. CentralPay mets à disposition de ses utilisateurs deux API : L’API « Core Payment » : pour toutes les fonctions liées aux opérations de paiement L’API « Onboarding » : pour toutes les fonctions liées à la création de comptes de paiement et de monnaie électronique (accessibles aux partenaires uniquement) 1/ Fonctions Toutes les fonctions utilisent les types « MIME » : « application/x-www-form-urlencoded » et « multipart/form-data ». Les fonctions utilisent les méthodes suivantes : Méthode HTTP POST pour la création ou la mise à jour d’un objet Méthode HTTP GET pour la recherche d’objets Méthode HTTP DELETE pour supprimer des objets 2/ Authentification L’API de CentralPay utilise l’authentification de base HTTP pour l’authentification. Toutes les demandes adressées à notre API doivent être authentifiées (intégrant le nom d’utilisateur et le mot de passe fournis par la plateforme) et doivent être effectuées via HTTPS. Vous pouvez récupérer vos identifiants API depuis votre Portail utilisateur : Administration Mon compte Technique Cliquez ensuite sur Identifiant API Modifier Générer Copiez le mot de passe API Mettre à jour Accès Compte Technique – Portail utilisateur de RCT Accès Compte Technique – Portail utilisateur de PROD NB : Certains services comme le cardToken requièrent la déclaration de votre MerchantPublicKey, également disponibles depuis les liens présentés ci-dessus. MerchantPublicKey La MerchantPublicKey permet de s’authentifier sur le service API cardToken qui ne nécessite pas d’autre type d’authentification et permet d’identifier un marchand.Cette clé est trouvable dans l’onglet Technique des détails de votre compte sur notre portail utilisateur : 3/ HTTP Request Toujours utiliser HTTP-Header pour les formats de sérialisation (user_agent, …) Le Content-Type (application/x-www-form-urlencoded ou multipart/form-data) doit être renseigné pour toutes les requêtes dans l’en-tête. L’utilisation du champ « Idempotence-Key » dans l’en-tête HTTP permet d’identifier la requête qui a été envoyée. Si la même valeur « Idempotence-Key » est envoyée à nouveau, la demande sera considérée comme déjà traitée et ne sera pas relancée. Ce contrôle permet au commerçant d’éviter d’envoyer des entrées en double. Cette clé doit être construite avec un hachage « sha1 » des paramètres de la demande (SANS date) concaténés comme ceci : Idempotence-Key = sha1(card[number] + card[cvc] + card[expirationMonth] + card[expirationYear] + card[check] + merchantPublicKey) NB : La clé "Idempotence-Key" est valable 24 heures. 4/ HTTP Response Dans chaque réponse HTTP, le champ « Request-Id » est inscrit dans l’en-tête HTTP. NB : Si vous avez une demande spécifique à envoyer via l'API REST de CentralPay, veuillez contacter le support ou votre référent CentralPay. Portail utilisateur Le Portail utilisateur est une interface web connectée aux APIs de CentralPay. Il permet de consulter l’activité et d’administrer votre compte CentralPay. Les comptes ayant des droits « Partenaires » peuvent également consulter l’activité des comptes de leurs sous-marchands. Accès Portail utilisateur de recette (RCT) Accès Portail utilisateur de production (PROD) 1/ Fonctionnalités Le Portail utilisateur permet notamment : De consulter les opérations comptables du compte De consulter les paiements par carte (« transaction ») De consulter les paiements par virement SEPA (« sctTransaction ») De consulter les paiements par prélèvement SEPA (« sddTransaction ») De créer et de consulter les demandes de paiement (« paymentRequest ») De créer et de paramétrer les profils clients (« customer ») De créer et de paramétrer les points de vente (« pointOfSale ») De paramétrer les notifications Smart Push (templates, scénarios …) D’initier et de gérer les paramètres de reversement (« payout ») De générer des exports et de télécharger les rapports financiers mensuels Pour les comptes « Partenaires » uniquement : De créer et de consulter les demandes d’onboarding (« merchant-enrollment ») De consulter les opérations et de paramétrer les comptes de leurs sous-marchands NB : Les comptes ayant des droits "Participant" (sous-marchands/participants de partenaires) peuvent uniquement consulter les opérations dont ils sont bénéficiaires ("transfer") et gérer leurs paramètres de reversement ("payout"). 2/ Les profils utilisateurs du Portail Ils représentent des personnes physiques pouvant accéder à un ou plusieurs comptes CentralPay ainsi qu’à tout ou partie des services du Portail utilisateur. 2.1/ Gestion des profils utilisateurs « Legal » et « Natural » Accès Portail utilisateur de RCT – Gestion des profils utilisateurs BO Accès Portail utilisateur de PROD – Gestion des profils utilisateurs BO Lors de la création du compte CentralPay, le responsable ayant réalisé l’onboarding (dirigeant ou personne physique disposant d’une délégation de pouvoir) se voit attribuer un profil utilisateur dit « Legal ». Il dispose ainsi de tous les droits administrateur du compte, mais également de droits légaux permettant de paramétrer les éléments les plus sensibles du compte : Paramètres du compte de paiement : Changement d’IBAN de sortie (payout) Changement des conditions de reversements sur compte bancaire Mise à jour des documents de société Paramètres des utilisateurs : Création de nouveaux utilisateurs « Legal » [à compléter] Une fois le compte créé, vous avez la possibilité de créer autant de profils utilisateurs que nécessaire en renseignant leur nom, leur prénom, leur email et leur rôle utilisateur (définissant les droits qu’ils auront sur le compte). Les profils ainsi créés sont nommés « Natural ». NB : Si vous disposez de plusieurs comptes CentralPay et que vos équipes doivent avoir accès à ces différents comptes, créez leur profil utilisateur depuis l’un d’entre eux, puis demander à CentralPay d’affecter leur profil à vos autres comptes. Ils bénéficieront ainsi d’un unique centralisé pour tous ces comptes. 2.2/ Gestion des rôles et droits des profils utilisateurs « Natural » Accès Portail utilisateur de RCT – Gestion des rôles utilisateurs BO Accès Portail utilisateur de PROD – Gestion des rôles utilisateurs BO Les droits des profils utilisateurs « Natural » sont régis par leur rôle utilisateur. Le rôle comprend une liste de droits (lecture seule, création, modification, suppression) paramétrables par service (transaction, demandes de paiement, règles d’acceptation…). Ces droits peuvent être différents en fonction des services sélectionnés. Les utilisateurs disposant des droits nécessaires peuvent créer des rôles pour chaque équipe de leur entreprise, cependant des rôles préétablis sont disponibles nativement : Standard Admin : Accès complet à toutes les fonctionnalités du Portail utilisateur (excepté les fonctionnalités admin). Attention, ce rôle comprend des accès à des services sensibles comme les règles d’acceptation, les whitelists, les blacklists, les créations d’utilisateurs Portail utilisateur, les créations de rôles utilisateurs du Portail, la création et la gestion d’utilisateurs API … Standard read only : [à compléter] [à compléter] Contactez le service client CentralPay si vous avez besoin d’aide pour la création de rôles personnalisés. Quelques précisions importantes concernant les rôles : Les rôles sont cumulables, un utilisateur peut ainsi se voir assigner plusieurs rôles Les droits des rôles sont héritables, ainsi un utilisateur ayant le droit de créer d’autres profils utilisateurs ne pourra affecter qu’un rôle similaire ou inférieur au sien. 2.3/ Gestion des catégories de point de vente Accès Portail utilisateur de RCT – Gestion des catégories de point de vente Accès Portail utilisateur de PROD – Gestion des catégories de point de vente Si vous avez le besoin de limiter l’accès d’utilisateurs à certains points de ventes, vous pouvez créer des catégories, les affecter à vos points de ventes puis les affecter à vos profils utilisateurs. Exemple : un utilisateur ayant des droits de création de demandes de paiement ne pourra le faire que sur les points de ventes de sa catégorie. Il ne pourra également visualiser que les demandes de paiement émises via les points de vente de sa catégorie. Contactez le service client CentralPay si vous avez besoin d’aide pour la création de catégories de point de vente personnalisées. 3/ Liste des types d’opérations visibles sur le Portail utilisateur Type d’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 Portail client Le portail client CentralPay est l’interface des profils clients (Customer). Il permet à vos clients de : consulter leur historique de paiement, d’administrer leurs opérations en cours (mise à jour de leur moyen de paiement par défaut, résiliation d’abonnement…) mais aussi d’interagir avec vous en cas de question concernant une opération (formulaire de contact). Ce portail est principalement utilisé pour l’administration des paiements récurrents par les clients. Les équipes conformité de CentralPay peuvent requérir que l’URL de ce portail soit intégrée dans le pied de page ou les conditions générales de votre site marchand. Pour s’y connecter, vos clients ont deux options : Via la page d’accueil du portail Client, en renseignant les informations d’un de leurs paiements opéré avec votre compte CentralPay : Accès portail client de RCT : https://test-customer.centralpay.net/home Accès portail client de PROD : https://customer.centralpay.net/home En direct via le lien communiqué dans les emails automatique de création d’abonnement / de paiement fractionné, ou en intégrant le CustomerID visible dans votre Portail utilisateur > Compte > Customer > Détail > CustomerId : Accès portail client de RCT : https://test-customer.centralpay.net/customer/?uuid=[CustomerId] Accès portail client de RCT : https://customer.centralpay.net/customer/?uuid=[CustomerId] Portail d'inscription Le portail d’inscription de CentralPay permet la création d’un Compte CentralPay et d’un compte de paiement : de la création du profil utilisateur, jusqu’à la contractualisation, en passant par la collecte du KYC/KYB. Il interagit avec l’API Onboarding de CentralPay. Pour les comptes « Partenaires », il permet donc de créer des sous-marchands facilement depuis un portail hébergé par CentralPay, et d’ainsi éviter une intégration complète de l’API Onboarding. Pour adresser un lien d’onboarding à l’un de vos futurs sous-marchands, vous pouvez utiliser le service de création de compte de paiement. Accès au portail d’inscription de RCT Accès au portail d’inscription de PROD Entrée en relation Étapes d'entrée en relation Voici les étapes d’entrée en relation vous permettant d’accéder à la plateforme CentralPay. Notez que pour les partenaires, des étapes complémentaires peuvent être demandées. Qualification de votre projetLes équipes commerciales qualifient votre projet lors d’un échange email ou d’un appel visio : parcours de paiement et moyens de paiement souhaités, méthodes d’intégration possibles, typologie de clients adressé, volumétrie de votre projet… Acceptation de l’offre commercialeLes équipes commerciales vous adressent nos offres commerciales correspondant à vos besoins et votre activité. En retour, elles attendent de votre part le choix de l’offre et un premier accord de principe. Analyse risque de votre projetVotre structure et votre projet sont analysées par nos équipes conformité afin de déterminer si nous pouvons entrer en relation d’affaires, et selon quelles conditions (mesures de gestion du risque financier, de gestion de la fraude…) Initiation du projetVous recevez les accès à votre environnement de test et aux documentations correspondantes afin de commencer votre intégration CentralPay. Si vous avez souscrit à l’une de nos offres d’accompagnement, une réunion d’initiation du projet est organisée avec vos référents CentralPay (service commercial, service client et service intégration). Cette réunion permet notamment de guider vos équipes techniques dans leur appréciation des API CentralPay, et de prévoir les paramétrages à réaliser sur votre compte (notifications, reversements, profils utilisateurs…). Création du compte CentralPayEn parallèle de l’intégration technique, le service client CentralPay adressera un lien d’inscription permettant la création de votre compte au responsable légal de votre structure. Il devra soumettre les informations et les documents justificatifs de votre structure avant de signer électroniquement le contrat CentralPay. Suite à l’inscription, des documents supplémentaires peuvent être demandés par le service conformité de CentralPay. Consulter le contrat cadre de services de paiement En cas de besoin, le responsable légal de votre structure peut désigner un mandataire pour réaliser l’inscription CentralPay et être titulaire du compte CentralPay à sa place. Un modèle de délégation de pouvoir est disponible sur demande. Mise en productionAprès avoir validé votre compte, votre intégration et le règlement de vos factures en attente, une date de mise en production vous sera demandée. À cette date, votre compte sera débloqué et vous pourrez encaisser vos premières transactions. Modèle "Marchand" 1/ Description du modèle Le modèle « Marchand » est adressé aux personnes morales réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA 2/ Frais et commissions CentralPay vous facture un forfait plateforme fixe ainsi que les frais de service liés aux opérations réalisées sur votre compte. CentralPay prélève ces frais de service sur votre compte de paiement principal ou votre compte de commission dédié. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de virement SEPA vous sera adressée. Les frais mensuels fixes sont eux prélevés mensuellement par prélèvement SEPA, demandés annuellement par virement SEPA ou prélevés sur votre compte selon les conditions de votre contrat. Modèle "Intégrateur" 1/ Description du modèle Le modèle « Intégrateur » est adressé aux éditeurs de solutions, souhaitant proposer une intégration technique clé-en-main de CentralPay à ses utilisateurs. Ils peuvent intégrer tout ou partie de la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA Mais également tout ou partie de la solution Easy Wallet, incluant notamment : Les services de création de comptes Les services de transfert des paiements 2/ Spécificités lors de l’entrée en relation L’intégrateur n’a pas à suivre les étapes d’entrée en relation classique. Contrairement aux marchands ou partenaires, un intégrateur ne crée pas de compte CentralPay. Il permet uniquement à ses utilisateurs également marchands de CentralPay d’accéder plus facilement à notre plateforme technique via sa solution. CentralPay contractualise et facture ses marchands en direct, sans intervention de l’intégrateur. Le marchand peut ensuite créer des accès API dédiés à l’intégrateur et lui communiquer afin qu’il renseigne son compte CentralPay via son intégration. CentralPay est lié avec l’intégrateur par un contrat intégrateur spécifiant les conditions d’utilisation de nos API. Modèle "Partenaire" 1/ Description du modèle Le modèle « Partenaire » est adressé aux personnes morales souhaitant piloter des opérations d’encaissement pour compte de tiers (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA Mais également la solution Easy Wallet, incluant notamment : Les services de création de comptes Les services de transfert des paiements 2/ Explications du modèle de partenariat Gérer des encaissements pour compte de tiers est une activité nécessitant un agrément hautement contrôlé et impliquant des responsabilités et des risques forts (blanchiment, financement du terrorisme, risque financier…). En savoir plus sur les agréments de CentralPay De ce fait, CentralPay est responsable des opérations de paiement réalisées par ses marchands et partenaires. Bien que de nombreuses opérations techniques puissent vous être déléguées, les opérations de paiement seront toujours effectuées par CentralPay. Ainsi, pour limiter au maximum votre responsabilité, CentralPay doit avoir une relation directe avec vos sous-marchands. Vos utilisateurs accèdent à leurs comptes CentralPay depuis votre environnement incluant des services API de CentralPay, et peuvent si besoin se connecter à notre Portail utilisateur. Vous disposez de vos propres conditions générales pour cette relation avec vos utilisateurs. Les frais que vous leur facturez pour accéder à vos services doivent être définis dans vos conditions générales. Bien qu’en relation directe avec vos sous-marchands, CentralPay ne se substitue pas à votre rôle de partenaire. Nous entrons principalement en contact avec vos sous-marchands lors de la création de leur compte de paiement et lors des mises à jour règlementaires de leurs documents justificatifs. Lorsque vos utilisateurs ouvrent des comptes CentralPay, ils acceptent et signent les conditions générales d’utilisation de CentralPay depuis notre portail d’inscription. Dans le même temps, ils acceptent que vous puissiez effectuer certaines opérations via votre intégration. 3/ Frais et commissions Commissions partenaire : Vous facturez vos services à vos utilisateurs selon vos propres conditions générales. Vous pouvez préciser le montant de vos commissions dans chaque opération réalisée sur la plateforme. CentralPay se chargera de les prélever sur le compte de paiement de votre sous-marchand et de les transférer à votre compte de commission dédié. Notez que CentralPay peut contrôler vos opérations pour s’assurer que la règlementation soit respectée. Par exemple, CentralPay peut vérifier que vos commissions prélevées par le biais de la plateforme correspondent bien à vos conditions générales. Frais CentralPay : CentralPay vous facture un forfait plateforme mensuel ainsi que des frais de service lié aux opérations réalisées pour vos sous-marchands. CentralPay prélève ces frais de service sur votre compte de commission. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de chargement par virement SEPA vous sera adressée. Le forfait plateforme sera lui prélevé mensuellement par prélèvement SEPA, demandé annuellement par virement SEPA ou prélevé sur votre compte de commission selon les conditions de votre contrat. 4/ Les trois types de partenaires Le partenaire MOBSPdestiné aux plateformes de ventes de biens ou de services standards (marketplace B2B ou B2C, éditeurs de solutions…). Ce modèle nécessite votre déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement (MOBSP) auprès de l’ORIAS. Le partenaire DMEdestiné aux plateformes de ventes de biens ou de services entre particuliers (marketplace C2C) ou des éditeurs de solutions souhaitant développer des services de porte-monnaie électronique pour leurs particuliers utilisateurs.Ce modèle nécessite la déclaration d’un statut de Distributeur de Monnaie Électronique par CentralPay à l’ACPR. Le partenaire Agentdestiné aux plateformes de ventes de biens ou de services souhaitant commercialiser des services de paiement ou des plateformes financières ayant besoin de piloter des transferts de valeurs avancés entre les comptes CentralPay de leurs utilisateurs.Ce modèle nécessite la déclaration d’un statut d’Agent Prestataire de Services de Paiement par CentralPay à l’ACPR, et son acceptation par cette dernière. 5/ Spécificités lors de l’entrée en relation En plus des étapes d’entrée en relation classique, les partenaires doivent suivre des étapes complémentaires : Signature du contrat partenaireLes équipes commerciales de CentralPay vous adresseront un document à signer électroniquement avant l’étape d’initiation de votre projet. Déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement auprès de l’ORIAS (partenaire MOBSP seulement) Déclaration en tant que Distributeur de Monnaie Électronique à l’ACPR (partenaires DME seulement) Demande du statut d’Agent Prestataire de Services de Paiement à l’ACPR (partenaires Agent seulement) 6/ Spécificités liées au suivi de l’activité Il est important de noter que des réglementations s’appliquent à toute entité souhaitant devenir Agent ou DME d’un établissement financier, et que ces réglementations doivent être scrupuleusement respectées. 6.1/ Formation LCB-FT À ce titre, une formation de deux (2) heures en matière de LCB-FT (lutte contre le blanchiment de capitaux et de financement du terrorisme) est dispensée par CENTRALPAY à tout nouvel agent ou DME, dans un délai de trois (3) mois à compter du début de son activité en tant que tel : Cette formation s’adresse aux dirigeants et aux membres du personnel du partenaire qui participent à la mise en œuvre des prestations externalisées. Le partenaire devra désigner un maximum de 10 personnes pour participer à la formation. La formation aura lieu à distance. À l’issue de la formation, CENTRALPAY remettra aux participants à la formation un support de formation CENTRALPAY s’engage à informer le partenaire de toutes modifications qui interviendraient en matière de LCB-FT, afin que le partenaire puisse procéder à l’actualisation des connaissances de ses salariés. Le partenaire s’engage à assurer la formation de tout nouvel employé. CENTRALPAY pourra exiger que le personnel du partenaire suive des formations supplémentaires tout au long de la relation d’affaires en cas d’insuffisance constatée. 6.2/ Reporting Par leur statut régulé, les partenaires DME et Agent sont soumis au contrôle de leur établissement et ont un devoir de reporting régulier envers ce dernier. Pour permettre à CENTRALPAY de contrôler les activités externalisées, le partenaire s’engage à communiquer à CENTRALPAY les reportings suivants : Un reporting trimestriel sur la gestion des réclamations : date de réception date de traitement nature de la réclamation solution apportée date de résolution Un reporting trimestriel sur la gestion des remboursements (réalisés hors de la plateforme CentralPay) : % de remboursement, délai moyen de remboursement avec une extraction des remboursements effectués Un reporting trimestriel sur la gestion des incidents : En sus des déclarations d’incidents constatés au fil de l’eau Lors de votre entrée en relation, CentralPay vous transmettra une liste et une trame de reporting que vous devrez alimenter et renvoyer périodiquement à CentralPay à partir de votre date de mise en production. Cette trame a été conçue pour simplifier au maximum les tâches de reporting qui vous incombent. 6.3/ Manquement contractuel En cas de non-réalisation ou retard significatif vis-à-vis des devoirs de formation ou de reporting du partenaire, CentralPay se réserve le droit d’interrompre ou de résilier le contrat de partenaire. Déclaration partenaires MOBSP Introduction Avant de lire cette page, veuillez consulter la rubrique dédiée à l’entrée en relation pour les partenaires. Les partenaires CentralPay basés en France opèrent avec le statut d’intermédiaires en opérations de banque et en service de paiement (IOBSP), plus précisément en tant que Mandataires en Opérations de Banques et Services de Paiement (MOBSP). Pour devenir partenaire MOBSP de CentralPay, vous devez vous déclarer à l’ORIAS. CentralPay devra ensuite vous déclarer en tant que son mandataire. Votre partie peut être réalisée en quelques heures, celle de CentralPay prend quelques jours. L’ORIAS peut quant à elle prendre jusqu’à deux mois pour examiner votre demande. Bien que ce processus vous incombe, CentralPay peut vous assister en cas de besoin. Contactez notre service client en cas de besoin. 1/ Préparez vos données 1.1 Obtenez votre attestation de mandat Après avoir signé votre contrat de partenariat avec CentralPay : 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. Déclaration partenaires Agent 1/ Introduction L’ACPR (Autorité de contrôle Prudentiel et de Résolution) est un organe de la Banque de France. En tant que régulateur, elle seule détermine la validation ou non des Agents d’un Établissement comme CentralPay. L’ACPR traite uniquement avec ses Établissements agréés, le futur Agent ne peut donc pas échanger en direct avec elle. La déclaration d’un Agent Prestataire de Services de Paiement se déroule en trois étapes : Le montage et la soumission du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur Agent, Le traitement des demandes de l’ACPR concernant le dossier : réalisé par CentralPay avec l’aide de son futur Agent, La décision d’acceptation : émise par l’ACPR à CentralPay. 2/ Responsabilités de l’Agent CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment : L’activité de votre sous-marchand ; La réalité économique de l’opération ; La lutte contre la fraude. Les Établissements régulés qui font appel à des Agents restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place. Un statut d’agent passe par : La contractualisation d’un contrat Cadre d’Agent de paiement qui définit les relations entre les parties ; Des CGU vendeurs. Dans le cas où un agent internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC. 3/ Devenir Partenaire Agent CentralPay Devenir Agent de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs mois. Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs. 3.1/ Résumé des étapes Compréhension du modèle Explication des services apportés par le partenaire Définition de son modèle d’affaires Validation par les services Juridique et Conformité de CentralPay Offre commerciale Présentation Validation Validation du Partenaire par les services Juridique et Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le Partenaire 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 d’agrément d’Agent Présentation du dossier de déclaration de l’agent auprès de l’ACPR Mise en production Validation en environnement de test (environnement de recette) Mise en production 3.2/ Pièces à fournir à CentralPay Pré-constitution du dossier : CGU service de paiement Définition des activités régulées utilisées par le Partenaire, description des services attachés aux prestations régulées, modèle d’affaires Organigramme de la société ou du groupe le cas échéant avec son effectif réparti par service Structure de l’actionnariat Flux prévisionnels qui seront confiés à CentralPay au cours des 3 prochaines années Nombre d’enrôlements prévisionnels au cours des 3 prochaines années Reprise éventuelle de KYC existant dans le cadre d’une migration Préparation du contrat d’Agent. Déclaration de l’agent auprès du régulateur :Signature du contrat d’Agent ; Le Service Juridique CentralPay se charge de constituer le dossier de déclaration et collecte les pièces suivantes :Kbis de moins de 3 mois de la société et des sociétés gérantes le cas échéant ; Statuts à jour de la société et des sociétés gérantes le cas échéant datés et signés par un représentant légal ; Pièce d’identité en couleur des dirigeants ; CV des dirigeants daté et signé ; Casier judiciaire des dirigeants ; Déclaration de non-condamnation des dirigeants ; Répartition de la détention de parts de la société ; Kbis des personnes morales actionnaires le cas échéant et Organigramme Groupe si applicable ; PV d’AG si des changements juridiques ont eu lieu récemment (fusion, actif inférieur à la moitié du capital social, changement de direction, etc.) ; Peuvent être demandés également lors de l’instruction : Derniers bilans et compte de résultats ; États financiers de l’année en cours et/ou de l’année venant de s’écouler ; Toute pièce jugée utile à la demande du régulateur. 3.3/ Délais d’instruction Une fois la totalité des pièces collectées, le service Juridique instruit le dossier dans un délai d’environ 2 semaines. L’ACPR dispose ensuite d’un délai de deux mois pour répondre, les premières questions arrivent généralement sous 30 jours. L’ACPR adresse en général des questions complémentaires et/ou des demandes de documents complémentaires en fonction de la situation et/ou de l’activité de votre société. 3.4/ Instruction finalisée et agent déclaré Une fois le dossier validé par l’ACPR, l’Agent est réputé pouvoir démarrer son activité avec CentralPay. Votre société peut donc désormais commencer à encaisser via CentralPay et faire ouvrir des comptes de paiement à ses clients. À l’issue de l’instruction par le régulateur et l’Agent validé, il est référencé dans les registres de l’ACPR et reçoit un numéro d’enregistrement qu’il doit utiliser dans ses communications et ses CGU. 3.5/ Particularités d’un agent spécialisé dans le domaine du télécom Un agent travaillant dans le domaine du télécom, c’est-à-dire réalisant des encaissements via des appels sur des numéros surtaxés, se doit de produire un récapitulatif des minutes de téléphone réalisées sous chaque opérateur téléphonique. Lors de la réception du virement de l’opérateur téléphonique chez CentralPay, ce récapitulatif doit être fourni à CentralPay. De plus, le calcul de la répartition des opérations devant être envoyées à chaque marchand via CentralPay doit également être envoyé au Service Conformité. Le Service Conformité de CentralPay consigne ces informations et s’assure que les marchands ont bien été crédités de leurs encaissements. Déclaration partenaires DME 1/ Introduction Les Établissements émetteurs de monnaie électronique comme CentralPay peuvent mandater des Distributeurs de Monnaie Électronique (DME) afin de collecter des fonds et d’assurer les échanges permettant l’achat et le remboursement de ME dans un réseau de participants défini. La déclaration d’un Distributeur de Monnaie Électronique se déroule en deux étapes : Le montage du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur DME, L’instruction du dossier à l’ACPR : réalisé par CentralPay. Elle ne nécessite pas de validation particulière de l’ACPR. 2/ Responsabilité du partenaire DME CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment : La réalité économique de l’opération ; La lutte contre la fraude. Les Établissements régulés qui font appel à des distributeurs restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place. Un statut de Distributeur de Monnaie Electronique passe par : La contractualisation d’un contrat Cadre de Distribution de Monnaie Électronique qui définit les relations entre les parties ; Des CGU d’utilisation de Monnaie Électronique. Dans le cas où un DME internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC ou réalise des interfaces de gestion qui ne permettrait pas à CentralPay d’assurer l’exécution du service sans le concours du PSEE. 3/ Devenir partenaire DME Devenir Distributeur de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs semaines. Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs. 3.1/ Résumé des étapes Compréhension du modèle Explication des services apportés par le partenaire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du Partenaire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le Partenaire 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 3.2/ Pièces à fournir à CentralPay Prochainement Tarifs Offres commerciales CentralPay propose 2 modèles d’offres commerciales : Les offres Starter et Medium, intégrant un forfait mensuel fixe et des frais par transaction simplifiés (ou « blind rate ») Les offres Major, intégrant également un forfait mensuel fixe, mais avec des frais par transaction plus détaillés (ou « interchange++ ») Dans ces deux modèles, les offres CentralPay intègrent les frais d’interchange et de réseaux cartes qui sont facturés par les banques. Vous n’avez donc aucun surcoût à prévoir. Consultez le détail des offres CentralPay Frais d'interchange et réseaux cartes Introduction L’interchange correspond à la valeur chargée par l’établissement émetteur d’une carte de paiement (la banque de votre client) à l’établissement acquéreur (la banque du marchand). Les frais de réseaux carte (ou « Card Scheme Fees ») correspondent aux frais pris par les réseaux carte (Visa, Mastercard, CB) pour faire fonctionner le service. Des termes ont été définis pour désigner l’assemblage de ces frais : Interchange+Les frais d’Interchange + les frais des réseaux cartes (card scheme fees). Interchange++Les frais d’Interchange + les frais des réseaux cartes (card scheme fees) + les frais de service de l’établissement (CentralPay) Toutes les offres commerciales de CentralPay intègrent les frais d’Interchange+ ainsi que nos propres frais de service, vous n’avez donc aucun frais bancaire supplémentaire à prévoir pour réaliser vos transactions. 1/ Frais d’interchange et réseaux carte (E-commerce) Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)Carte de débit ou prépayéCB, VISA, MASTERCARD0,2 %1,15 %Carte de crédit ou débit différéCB, VISA, MASTERCARD0,3 %1,5 %Carte professionnelleCB0,9 %/Carte professionnelleVISA1,45 %2 %Carte professionnelleMASTERCARD1,45 %2 %Toutes cartesAMERICAN EXPRESSAucunAucun Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)Réseau CB (Cartes bancaires)0,015 %/Réseau VISA0,070 %0,70 %Réseau MASTERCARD0,171 %0,951 %Réseau AMERICAN EXPRESS1,600 %2,400 % 2/ Frais d’interchange et réseaux carte (paiement de proximité) Type de carteInterchange Intrarégional (EEE)Interchange Interrégional (hors EEE)Carte de débit ou prépayéCB, VISA, MASTERCARD0,2 %1,15 %Carte de crédit ou débit différéCB, VISA, MASTERCARD0,3 %1,5 %Carte professionnelleCB0,9 %/Carte professionnelleVISA1,45 %2 %Carte professionnelleMASTERCARD1,45 %2 %Toutes cartesAMERICAN EXPRESSAucunAucun Réseau carteFrais de réseaux carte Intrarégional (EEE)Frais de réseaux carte Interrégional (hors EEE)Réseau CB (Cartes bancaires)0,015 %/Réseau VISA0,014 %0,322 %Réseau MASTERCARD0,061 %0,240 %Réseau AMERICAN EXPRESS1,600 %2,400 % Forfaits d'accompagnement Les forfaits d’accompagnement permettent une mise en service rapide, guidée par nos équipes support intégration (SI) et service client (SC). Les heures d’accompagnement vous permettent de déléguer certains paramétrages de votre compte et de solliciter des échanges visio : avec le SI pour les sujets techniques, avec le SC pour ceux d’ordre administratif / fonctionnels. 1/ Accompagnement à l’intégration Smart Collection Accompagnement à l’intégration, au choixFrais (HT)En 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 Logos Logo PaySecure classique PNG Logo PaySecure blanc PNG Logo PaySecure classique JPG Visuels de réassurance (FR/EN) Réassurance – fond blanc Réassurance – fond transparent Réassurance – blanc Réassurance – fond blanc Réassurance – fond transparent Réassurance – blanc Visuels de réassurance (FR/EN) Intégrez un de ces visuels en dessous de votre formulaire de paiement CustomForm, ou simplement dans le footer de votre site afin de rassurer vos clients concernant la sécurité de leurs données de paiement. Réassurance 1 – classique Réassurance 1 – fond blanc Réassurance 1 – blanc Réassurance 2 – classique Réassurance 2 – fond blanc Réassurance 2 – blanc Réassurance 3 – classique Réassurance 3 – fond blanc Réassurance 3 – blanc Réassurance 4 – Avec Amex Réassurance 4 – Amex fond blanc Réassurance 4 – Amex blanc Réassurance 5 – Avec Amex Réassurance 5 – Amex fond blanc Réassurance 5 – Amex blanc Réassurance 6 – Avec Amex Réassurance 6 – Amex fond blanc Réassurance 6 – Amex blanc Réassurance 1 – classique Réassurance 1 – fond blanc Réassurance 1 – blanc Réassurance 2 – classique Réassurance 2 – fond blanc Réassurance 2 – blanc Réassurance 3 – classique Réassurance 3 – fond blanc Réassurance 3 – blanc Réassurance 4 – Avec Amex Réassurance 4 – Amex fond blanc Réassurance 4 – Amex blanc Réassurance 5 – Avec Amex Réassurance 5 – Amex fond blanc Réassurance 5 – Amex blanc Réassurance 6 – Avec Amex Réassurance 6 – Amex fond blanc Réassurance 6 – Amex blanc
Informations générales 1/ Les deux modes d’intégration de Smart Collection La solution Smart Collection permet d’encaisser des paiements depuis divers moyens de paiement. Vous pouvez au choix : créer et intégrer vos propres parcours de paiement (intégration CUSTOM), en consommant les services API de chaque moyen de paiement : Transaction par carte Transaction par virement Transaction par prélèvement SEPA utiliser nos parcours de demande de paiement sécurisés (intégration SMART), grâce à notre service dédié : Demandes de paiement (PaymentRequest) NB : si vous choisissez l’intégration SMART, certaines fonctionnalités spécifiques comme les R-transactions, la gestion des libellés bancaires, la gestion des IBAN Virtuels… sont présentées dans la documentation dans les rubriques CUSTOM dédiées à chaque moyen de paiement. 2/ À propos de l’intégration SMART La demande de paiement permet de générer un lien de paiement menant à une page de paiement hébergée par CentralPay. Votre client peut ainsi vous régler selon les conditions de règlement que vous avez déterminé (moyens et modes de paiement autorisés, délais de règlement …). Les transactions ainsi créées sont automatiquement liées à la demande de paiement et permettent d’actualiser son statut (non payé, partiellement payé, payé…). La demande de paiement doit être alimenté des conditions de règlement de votre panier ou de votre facture : Montant à régler Moyens de paiement acceptés (carte, virement, prélèvement, initiation de paiement) Modes de paiement acceptés (unitaire, par abonnement, paiement fractionné…) Référence de commande Description de commande Coordonnés clients Délais de règlement autorisé Délais d’expiration du lien … Le lien de paiement peut être adressé à vos clients depuis : vos tunnels de vente ou interfaces web, vos outils de communications (email, sms, courriers via QR code…) le service de notifications email / sms de CentralPay La page de paiement permet ensuite au client de réaliser sa ou ses transactions : Visualisation des informations de la demande de paiement Sélection du moyen ou mode de paiement Renseignement des données clients Renseignement des coordonnées de paiement
Transférer des paiements Articles Informations générales Transfert indépendant Transfert via transaction Transfert via demande de paiement Reversement bancaire pour tiers Retours, statuts et webhooks Informations générales 1/ Introduction La solution EasyWallet permet aux plateformes d’encaisser des paiements et de les transférer à des tiers tout en respectant la réglementation européenne. Pour ce faire, le module comprend deux principaux services : L’inscription : permettant la création de comptes de paiement et de monnaie électronique pour les marchands ou participants d’une plateforme. Le transfert : permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique. Selon le modèle de partenariat CentralPay, les possibilités d’inscription et de transferts sont différentes. 2/ Les types de transferts Selon le modèle de partenariat établi avec CentralPay, le transfert des paiements est réalisé différemment : Partenaires MOBSP : vous devez utiliser le service de transfert via transaction Agents PSP : vous pouvez utiliser le service de transfert libre ou transfert via transaction Distributeurs de ME : vous devez utiliser le service de transfert via transaction pour la phase d’encaissement en devise. Ensuite, vous pouvez utiliser le service de transfert libre uniquement pour mouvementer la monnaie électronique entre les comptes de vos participants. Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay. Transfert indépendant Transfert indépendant L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits « Plateforme ». Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte « Plateforme » qui initie les transactions depuis l’API vers un compte « Basic » connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique. Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement. Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net. Les fonds issus de transfers issus d’une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2. Exemple 1 :Amount = 100Fee = 30Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100. Exemple 2 :Amount = 70Fee = 0Le détenteur du compte de destination recevra 70 sans indication de frais. Type de transfer 1 Mode Asynchrone Manuel (valable uniquement pour les Agents) La « Plateforme » réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH. Exemple : POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout). Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles. 2 Mode synchrone Auto Le compte « Plateforme » réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur. Exemple : POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la devise de règlement (payout) Exemple : transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 } transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 } Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais. Transfert indépendant en ME Transfert via transaction Transfert via transaction Vous pouvez paramétrer un transfert depuis tous types de transaction : Transaction CARD (cartes de paiement) : voir comment créer une transaction CARD Transaction SCT (virements SEPA entrants) : voir comment créer une transaction SCT Transaction SDD (prélèvements SEPA) : voir comment créer une transaction SDD Paramétrer un transfert depuis une transaction Le transfert depuis une transaction permet de renseigner les destinataires des transferts, les montants correspondants, et votre commission. [Renseigner les items API à utiliser pour réaliser un transfert depuis une transaction] Transfert en ME via transaction Transfert via demande de paiement Reversement bancaire pour tiers Reversement par marketplace Vous pouvez créer des payouts pour vos marchands, pour cela, plusieurs solutions, soit : Soit passer par le endpoint : /payout/byThirdParty (vous pouvez retrouver tous les paramètres de celui-ci dans « Référence API » Soit passer par le Portail utilisateur Via le Portail utilisateur, voici les étapes à réaliser : 1/ Rendez-vous sur les comptes liés 2/ Sélectionnez le marchand sur lequel faire le payout 3/ Se rendre dans les comptes bancaires 4/ Faire le payout Reversement pour compte de tiers Retours, statuts et webhooks
Onboarding Articles Create Enrollement Complete enrollment Update enrollment Search enrollement Enrollment Details E-money Misc Create Enrollement Complete enrollment Update enrollment Search enrollement Enrollment Details E-money Misc
Étapes d'entrée en relation Voici les étapes d’entrée en relation vous permettant d’accéder à la plateforme CentralPay. Notez que pour les partenaires, des étapes complémentaires peuvent être demandées. Qualification de votre projetLes équipes commerciales qualifient votre projet lors d’un échange email ou d’un appel visio : parcours de paiement et moyens de paiement souhaités, méthodes d’intégration possibles, typologie de clients adressé, volumétrie de votre projet… Acceptation de l’offre commercialeLes équipes commerciales vous adressent nos offres commerciales correspondant à vos besoins et votre activité. En retour, elles attendent de votre part le choix de l’offre et un premier accord de principe. Analyse risque de votre projetVotre structure et votre projet sont analysées par nos équipes conformité afin de déterminer si nous pouvons entrer en relation d’affaires, et selon quelles conditions (mesures de gestion du risque financier, de gestion de la fraude…) Initiation du projetVous recevez les accès à votre environnement de test et aux documentations correspondantes afin de commencer votre intégration CentralPay. Si vous avez souscrit à l’une de nos offres d’accompagnement, une réunion d’initiation du projet est organisée avec vos référents CentralPay (service commercial, service client et service intégration). Cette réunion permet notamment de guider vos équipes techniques dans leur appréciation des API CentralPay, et de prévoir les paramétrages à réaliser sur votre compte (notifications, reversements, profils utilisateurs…). Création du compte CentralPayEn parallèle de l’intégration technique, le service client CentralPay adressera un lien d’inscription permettant la création de votre compte au responsable légal de votre structure. Il devra soumettre les informations et les documents justificatifs de votre structure avant de signer électroniquement le contrat CentralPay. Suite à l’inscription, des documents supplémentaires peuvent être demandés par le service conformité de CentralPay. Consulter le contrat cadre de services de paiement En cas de besoin, le responsable légal de votre structure peut désigner un mandataire pour réaliser l’inscription CentralPay et être titulaire du compte CentralPay à sa place. Un modèle de délégation de pouvoir est disponible sur demande. Mise en productionAprès avoir validé votre compte, votre intégration et le règlement de vos factures en attente, une date de mise en production vous sera demandée. À cette date, votre compte sera débloqué et vous pourrez encaisser vos premières transactions.
Modèle "Marchand" 1/ Description du modèle Le modèle « Marchand » est adressé aux personnes morales réalisant des opérations d’encaissement pour compte propre (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA 2/ Frais et commissions CentralPay vous facture un forfait plateforme fixe ainsi que les frais de service liés aux opérations réalisées sur votre compte. CentralPay prélève ces frais de service sur votre compte de paiement principal ou votre compte de commission dédié. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de virement SEPA vous sera adressée. Les frais mensuels fixes sont eux prélevés mensuellement par prélèvement SEPA, demandés annuellement par virement SEPA ou prélevés sur votre compte selon les conditions de votre contrat.
Demandes de paiement 1/ Introduction La demande de paiement (ou PaymentRequest) est le service vous permettant de générer des liens de paiement. Vous pouvez créer des demandes de paiement par API ou via le Portail utilisateur. La demande de paiement peut également être couplé au service de notification de CentralPay, vous permettant d’adresser facilement un lien de paiement par email ou sms à vos clients et de programmer des relances automatisées. 2/ Création par API 2.1/ Créer une « PaymentRequest » Vous trouverez ci-dessous les moyens de paiement disponibles et les valeurs API correspondantes dans le service PaymentRequest : Moyen ou mode de paiement souhaitéValeurs API à renseignerPaiements unitairesTransaction par cartepaymentMethod[]=TRANSACTIONPré-autorisation sur carte (réservé aux activités de locations)paymentMethod[]=TRANSACTION transaction[source]=DPVérification carte (transaction à 0 €)paymentMethod[]=TRANSACTION transaction[source]=RITransaction par virement bancairepaymentMethod[]=SCT_TRANSACTIONTransaction par prélèvement SEPApaymentMethod[]=SDDsdd[remittanceInformation]Transaction par initiation de paiementProchainementPaiements 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[]=TRANSACTIONpaymentMethod[]=SCT_TRANSACTION Attention, certaines combinaisons de moyens ou modes de paiement peuvent rentrer en conflits et votre PaymentRequest pourra retourner une erreur. Par exemple, vous ne pouvez pas autoriser une TRANSACTION et une SUBSCRIPTION, cependant vous pouvez autoriser une TRANSACTION et un INSTALLMENT. Voici les informations principales concernant d’autres valeurs à renseigner lors de la création d’une PaymentRequest : DésignationDé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 paiement.descriptionDescription personnalisée (nom du produit ou du service vendu). Cette valeur sera visible par votre client dans la page de paiement.additionalData[*]Donnée clé-valeur libre, vous permettant de transiter une ou plusieurs données (références de factures, numéro client etc…). N’est pas visible par votre client dans la page de paiement.createCustomerCréation TRUE / FALSE d’un compte Customer (permet notamment l’enregistrement du moyen de paiement client : carte, mandat SEPA, et création d’un IBAN virtuel dédié au Customer)breakdown[customerId]Sélection d’un Customer déjà existant NOTE : pour les transactions par virement SEPA, vous pouvez définir si vous souhaitez afficher l’IBAN Virtuel dédié au Customer ou générer un IBAN Virtuel à usage unique (SCT) depuis les paramètres de vos Points de Vente. 2.2/ Envoyer une PaymentRequest par email / sms Lors de sa création, vous pouvez demander à CentralPay d’adresser la demande de paiement à votre client. Il existe deux méthodes d’envoi : Via le mailer par défaut des PaymentRequest : CentralPay adresse la demande de paiement depuis un modèle d’email/sms standardisé et depuis l’email expéditeur renseigné dans votre point de vente (ou à défaut l’email expéditeur de CentralPay « no-reply@centralpay.eu »). Pour cela vous devez [à compléter] Via le service de notification email/sms de CentralPay : CentralPay adresse la demande de paiement selon le scénario et les modèles de communication que vous avez paramétrés. Ce service permet notamment l’automatisation de relances clients, basés sur les paramètres de la demande de paiement (délais de paiement, avancement du paiement…). Pour cela vous devez [à compléter] 2.3/ Fonctions spécifiques Demande de paiement à montant libre (multi-moyens de paiements) Il est possible d’autoriser la modification du montant à régler (avec pour maximum le montant initial), afin que vos payeurs puissent régler la somme due depuis plusieurs moyens de paiements ou à des moments différents. Par exemple sur une demande de paiement de 500€ : Régler 250€ en virement puis 250€ en carte Ou 300€ avec une première carte puis 200€ avec une autre. Ou régler 350€ avec une carte, puis revenir plus tard pour régler les 150€ restants avec cette même carte. Pour ce faire vous devez [à compléter] Envoyer une demande de paiement à plusieurs destinataires Il est possible d’adresser une demande de paiement à plusieurs destinataires avec un montant différent à régler pour chacun d’entre eux. Ainsi : Chaque participant reçoit une notification e-mail ou SMS détaillant l’objet du service à régler Les montants sont fixés par l’initiateur ou laissé libre à chaque participant qui règle le montant souhaité Les dates paramétrées à la demande (création, expiration…) permettent de générer des notifications vers chaque participant Pour ce faire vous devez [à compléter] 3/ Création depuis le Portail utilisateur 3.1/ Création et types de demandes de paiement Accès Demandes de paiement – Portail utilisateur de recette Accès Demandes de paiement – Portail utilisateur de production Vous pouvez créer une demande de paiement depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Créer. Les demandes de paiement créées depuis le Portail utilisateur sont obligatoirement adressées à vos clients par CentralPay. En fonction de vos besoins, vous devrez choisir l’un des types de demandes suivant : Demande instantanée : une demande simple, envoyée depuis les expéditeurs et les templates emails / sms standards de CentralPay. Demande programmée : une demande avancée, utilisant les modèles de communication, scénarios et règles d’envoi/de relance que vous aurez préalablement paramétrés depuis le service de notifications email/sms de CentralPay. Une demande programmée adressée sans avoir sélectionné de scénario de notification sera automatiquement requalifiée en demande instantanée. Une fois créée, vous pouvez accéder à la page de paiement en cliquant sur le détail de la demande de paiement > Formulaire de paiement. Ainsi, vous pourrez retransmettre à votre client l’URL de la page en cas d’erreur d’envoi. 3.2/ Les profils de demandes de paiement Afin de faciliter la création de demandes de paiement, vous avez la possibilité de créer des profils prédéfinis intégrant les principaux paramétrages de la demande : Point de vente Devise Langue Moyens de paiement autorisés Limite de paiement (délais de paiement contractuel) Expiration du lien (délais avant expiration du lien) Scénarios de notification Reroutage de l’email de confirmation de paiement Règles d’affichage (paramètres de la page de paiement) Création de Customer Pièces jointes Vous pouvez ensuite utiliser ce profil lors de la création de vos demandes de paiement programmées via le Portail utilisateur, ou via import de fichiers plats. 3.3/ Création de demandes de paiements par import de fichiers plats Depuis le Portail utilisateur > Demandes de paiement > Liens de paiement > Importer, vous pouvez déposer un fichier d’importation de demandes de paiement. Cette utilisation peut être recommandée pour les entreprises souhaitant adresser en fin de mois et relancer automatiquement une liste de créanciers. Vous pouvez télécharger le modèle de fichier ci-après : Modèle au format CSV Modèle au format JSON Quelques informations importantes : DésginationDé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.
Modèle "Intégrateur" 1/ Description du modèle Le modèle « Intégrateur » est adressé aux éditeurs de solutions, souhaitant proposer une intégration technique clé-en-main de CentralPay à ses utilisateurs. Ils peuvent intégrer tout ou partie de la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA Mais également tout ou partie de la solution Easy Wallet, incluant notamment : Les services de création de comptes Les services de transfert des paiements 2/ Spécificités lors de l’entrée en relation L’intégrateur n’a pas à suivre les étapes d’entrée en relation classique. Contrairement aux marchands ou partenaires, un intégrateur ne crée pas de compte CentralPay. Il permet uniquement à ses utilisateurs également marchands de CentralPay d’accéder plus facilement à notre plateforme technique via sa solution. CentralPay contractualise et facture ses marchands en direct, sans intervention de l’intégrateur. Le marchand peut ensuite créer des accès API dédiés à l’intégrateur et lui communiquer afin qu’il renseigne son compte CentralPay via son intégration. CentralPay est lié avec l’intégrateur par un contrat intégrateur spécifiant les conditions d’utilisation de nos API.
Page de paiement (SmartForm) 1/ Introduction La page de paiement (aussi appelé SmartForm) est une page hébergée et sécurisée par CentralPay destinée à la collecte des données clients et de leurs coordonnées de paiement. Générée via le service de demande de paiement, elle permet à vos clients de visualiser les détails de cette demande (montant, référence de commande…) et de sélectionner un moyen de paiement autorisé avant de passer à l’étape de règlement. 2/ Paramétrage de la page Accès paramétrage formulaire – Portail utilisateur de RCT Accès paramétrage formulaire – Portail utilisateur de PROD Vous pouvez créer un ou plusieurs modèles de page afin de personnaliser votre parcours de paiement. Ci-dessous la liste des éléments paramétrables sur la page : DésignationDé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 dernier.URL de redirectionURL de redirection après paiement. URL fixe, vous pouvez cependant choisir d’alimenter dynamiquement cette valeur par API pour chaque PaymentRequest si tel est votre besoin.Délais de redirectionDélais de redirection vers l’URL de redirection après paiement. Champ vide : pas de redirection, 0 : redirection immédiate, autre valeur : nombre de secondes avant la 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 besoin.Couleur 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…). 3/ Personnalisation du logo affiché sur le SmartForm Le logo affiché sur le SmartForm est celui que vous aurez renseigné dans les paramètres du point de vente utilisé pour votre demande de paiement. Par défaut, le logo de CentralPay est affiché.
Modèle "Partenaire" 1/ Description du modèle Le modèle « Partenaire » est adressé aux personnes morales souhaitant piloter des opérations d’encaissement pour compte de tiers (vente de biens ou de services). Il vous permet d’accéder à la solution Smart Collection, incluant notamment : Le compte CentralPay Les services liés au compte Le service d’encaissement Smart Le service de transaction par carte Le service de transaction par virement Le service de transaction par prélèvement SEPA Mais également la solution Easy Wallet, incluant notamment : Les services de création de comptes Les services de transfert des paiements 2/ Explications du modèle de partenariat Gérer des encaissements pour compte de tiers est une activité nécessitant un agrément hautement contrôlé et impliquant des responsabilités et des risques forts (blanchiment, financement du terrorisme, risque financier…). En savoir plus sur les agréments de CentralPay De ce fait, CentralPay est responsable des opérations de paiement réalisées par ses marchands et partenaires. Bien que de nombreuses opérations techniques puissent vous être déléguées, les opérations de paiement seront toujours effectuées par CentralPay. Ainsi, pour limiter au maximum votre responsabilité, CentralPay doit avoir une relation directe avec vos sous-marchands. Vos utilisateurs accèdent à leurs comptes CentralPay depuis votre environnement incluant des services API de CentralPay, et peuvent si besoin se connecter à notre Portail utilisateur. Vous disposez de vos propres conditions générales pour cette relation avec vos utilisateurs. Les frais que vous leur facturez pour accéder à vos services doivent être définis dans vos conditions générales. Bien qu’en relation directe avec vos sous-marchands, CentralPay ne se substitue pas à votre rôle de partenaire. Nous entrons principalement en contact avec vos sous-marchands lors de la création de leur compte de paiement et lors des mises à jour règlementaires de leurs documents justificatifs. Lorsque vos utilisateurs ouvrent des comptes CentralPay, ils acceptent et signent les conditions générales d’utilisation de CentralPay depuis notre portail d’inscription. Dans le même temps, ils acceptent que vous puissiez effectuer certaines opérations via votre intégration. 3/ Frais et commissions Commissions partenaire : Vous facturez vos services à vos utilisateurs selon vos propres conditions générales. Vous pouvez préciser le montant de vos commissions dans chaque opération réalisée sur la plateforme. CentralPay se chargera de les prélever sur le compte de paiement de votre sous-marchand et de les transférer à votre compte de commission dédié. Notez que CentralPay peut contrôler vos opérations pour s’assurer que la règlementation soit respectée. Par exemple, CentralPay peut vérifier que vos commissions prélevées par le biais de la plateforme correspondent bien à vos conditions générales. Frais CentralPay : CentralPay vous facture un forfait plateforme mensuel ainsi que des frais de service lié aux opérations réalisées pour vos sous-marchands. CentralPay prélève ces frais de service sur votre compte de commission. En cas de fonds insuffisants, votre compte sera alimenté automatiquement par prélèvement SEPA ou une demande de chargement par virement SEPA vous sera adressée. Le forfait plateforme sera lui prélevé mensuellement par prélèvement SEPA, demandé annuellement par virement SEPA ou prélevé sur votre compte de commission selon les conditions de votre contrat. 4/ Les trois types de partenaires Le partenaire MOBSPdestiné aux plateformes de ventes de biens ou de services standards (marketplace B2B ou B2C, éditeurs de solutions…). Ce modèle nécessite votre déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement (MOBSP) auprès de l’ORIAS. Le partenaire DMEdestiné aux plateformes de ventes de biens ou de services entre particuliers (marketplace C2C) ou des éditeurs de solutions souhaitant développer des services de porte-monnaie électronique pour leurs particuliers utilisateurs.Ce modèle nécessite la déclaration d’un statut de Distributeur de Monnaie Électronique par CentralPay à l’ACPR. Le partenaire Agentdestiné aux plateformes de ventes de biens ou de services souhaitant commercialiser des services de paiement ou des plateformes financières ayant besoin de piloter des transferts de valeurs avancés entre les comptes CentralPay de leurs utilisateurs.Ce modèle nécessite la déclaration d’un statut d’Agent Prestataire de Services de Paiement par CentralPay à l’ACPR, et son acceptation par cette dernière. 5/ Spécificités lors de l’entrée en relation En plus des étapes d’entrée en relation classique, les partenaires doivent suivre des étapes complémentaires : Signature du contrat partenaireLes équipes commerciales de CentralPay vous adresseront un document à signer électroniquement avant l’étape d’initiation de votre projet. Déclaration en tant que Mandataire en Opérations de Banques et Services de Paiement auprès de l’ORIAS (partenaire MOBSP seulement) Déclaration en tant que Distributeur de Monnaie Électronique à l’ACPR (partenaires DME seulement) Demande du statut d’Agent Prestataire de Services de Paiement à l’ACPR (partenaires Agent seulement) 6/ Spécificités liées au suivi de l’activité Il est important de noter que des réglementations s’appliquent à toute entité souhaitant devenir Agent ou DME d’un établissement financier, et que ces réglementations doivent être scrupuleusement respectées. 6.1/ Formation LCB-FT À ce titre, une formation de deux (2) heures en matière de LCB-FT (lutte contre le blanchiment de capitaux et de financement du terrorisme) est dispensée par CENTRALPAY à tout nouvel agent ou DME, dans un délai de trois (3) mois à compter du début de son activité en tant que tel : Cette formation s’adresse aux dirigeants et aux membres du personnel du partenaire qui participent à la mise en œuvre des prestations externalisées. Le partenaire devra désigner un maximum de 10 personnes pour participer à la formation. La formation aura lieu à distance. À l’issue de la formation, CENTRALPAY remettra aux participants à la formation un support de formation CENTRALPAY s’engage à informer le partenaire de toutes modifications qui interviendraient en matière de LCB-FT, afin que le partenaire puisse procéder à l’actualisation des connaissances de ses salariés. Le partenaire s’engage à assurer la formation de tout nouvel employé. CENTRALPAY pourra exiger que le personnel du partenaire suive des formations supplémentaires tout au long de la relation d’affaires en cas d’insuffisance constatée. 6.2/ Reporting Par leur statut régulé, les partenaires DME et Agent sont soumis au contrôle de leur établissement et ont un devoir de reporting régulier envers ce dernier. Pour permettre à CENTRALPAY de contrôler les activités externalisées, le partenaire s’engage à communiquer à CENTRALPAY les reportings suivants : Un reporting trimestriel sur la gestion des réclamations : date de réception date de traitement nature de la réclamation solution apportée date de résolution Un reporting trimestriel sur la gestion des remboursements (réalisés hors de la plateforme CentralPay) : % de remboursement, délai moyen de remboursement avec une extraction des remboursements effectués Un reporting trimestriel sur la gestion des incidents : En sus des déclarations d’incidents constatés au fil de l’eau Lors de votre entrée en relation, CentralPay vous transmettra une liste et une trame de reporting que vous devrez alimenter et renvoyer périodiquement à CentralPay à partir de votre date de mise en production. Cette trame a été conçue pour simplifier au maximum les tâches de reporting qui vous incombent. 6.3/ Manquement contractuel En cas de non-réalisation ou retard significatif vis-à-vis des devoirs de formation ou de reporting du partenaire, CentralPay se réserve le droit d’interrompre ou de résilier le contrat de partenaire.
Retours, statuts et hooks 1/ Statuts liés aux demandes de paiement Statuts Payment Request 2/ Webhooks liés aux demandes de paiement Les demandes de paiement permettant indirectement la création de transactions cartes, SCT et SDD mais aussi d’autres objets comme les Customer, Subscription ou Installment, selon les cas d’usages, il peut être utile de suivre les webhooks associés. Webhooks « PaymentRequest » Webhooks PaymentRequest Webhooks « Transaction » Webhooks Transaction Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « SDD Transaction » Webhooks SDD Transaction Webhooks « Customer » Webhooks Customer Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment
Informations générales 1/ Introduction Une transaction carte comprend une succession d’actions : Authentification 3DS 2.0 :Elle permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client : Si les données ne concordent pas ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »). Sinon, elle autorise directement le paiement (« Frictionless »). Autorisation bancaire :Demande effectuée par CentralPay à la banque du payeur permettant de vérifier la validité et la provision de sa carte. Les fonds « autorisés » sont bloqués jusqu’à la réalisation de la capture des fonds. Si aucune capture n’est réalisée sous un délai de 7 jours, les fonds « autorisés » sont libérés et le marchand devra renouveler son autorisation.Pour les activités éligibles (location, hôtellerie…), le service de « pré-autorisation » donne la possibilité au marchand d’étendre le délai d’autorisation jusqu’à 30 jours. 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).
Déclaration partenaires MOBSP Introduction Avant de lire cette page, veuillez consulter la rubrique dédiée à l’entrée en relation pour les partenaires. Les partenaires CentralPay basés en France opèrent avec le statut d’intermédiaires en opérations de banque et en service de paiement (IOBSP), plus précisément en tant que Mandataires en Opérations de Banques et Services de Paiement (MOBSP). Pour devenir partenaire MOBSP de CentralPay, vous devez vous déclarer à l’ORIAS. CentralPay devra ensuite vous déclarer en tant que son mandataire. Votre partie peut être réalisée en quelques heures, celle de CentralPay prend quelques jours. L’ORIAS peut quant à elle prendre jusqu’à deux mois pour examiner votre demande. Bien que ce processus vous incombe, CentralPay peut vous assister en cas de besoin. Contactez notre service client en cas de besoin. 1/ Préparez vos données 1.1 Obtenez votre attestation de mandat Après avoir signé votre contrat de partenariat avec CentralPay : 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.
Déclaration partenaires Agent 1/ Introduction L’ACPR (Autorité de contrôle Prudentiel et de Résolution) est un organe de la Banque de France. En tant que régulateur, elle seule détermine la validation ou non des Agents d’un Établissement comme CentralPay. L’ACPR traite uniquement avec ses Établissements agréés, le futur Agent ne peut donc pas échanger en direct avec elle. La déclaration d’un Agent Prestataire de Services de Paiement se déroule en trois étapes : Le montage et la soumission du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur Agent, Le traitement des demandes de l’ACPR concernant le dossier : réalisé par CentralPay avec l’aide de son futur Agent, La décision d’acceptation : émise par l’ACPR à CentralPay. 2/ Responsabilités de l’Agent CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment : L’activité de votre sous-marchand ; La réalité économique de l’opération ; La lutte contre la fraude. Les Établissements régulés qui font appel à des Agents restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place. Un statut d’agent passe par : La contractualisation d’un contrat Cadre d’Agent de paiement qui définit les relations entre les parties ; Des CGU vendeurs. Dans le cas où un agent internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC. 3/ Devenir Partenaire Agent CentralPay Devenir Agent de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs mois. Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs. 3.1/ Résumé des étapes Compréhension du modèle Explication des services apportés par le partenaire Définition de son modèle d’affaires Validation par les services Juridique et Conformité de CentralPay Offre commerciale Présentation Validation Validation du Partenaire par les services Juridique et Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le Partenaire 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 d’agrément d’Agent Présentation du dossier de déclaration de l’agent auprès de l’ACPR Mise en production Validation en environnement de test (environnement de recette) Mise en production 3.2/ Pièces à fournir à CentralPay Pré-constitution du dossier : CGU service de paiement Définition des activités régulées utilisées par le Partenaire, description des services attachés aux prestations régulées, modèle d’affaires Organigramme de la société ou du groupe le cas échéant avec son effectif réparti par service Structure de l’actionnariat Flux prévisionnels qui seront confiés à CentralPay au cours des 3 prochaines années Nombre d’enrôlements prévisionnels au cours des 3 prochaines années Reprise éventuelle de KYC existant dans le cadre d’une migration Préparation du contrat d’Agent. Déclaration de l’agent auprès du régulateur :Signature du contrat d’Agent ; Le Service Juridique CentralPay se charge de constituer le dossier de déclaration et collecte les pièces suivantes :Kbis de moins de 3 mois de la société et des sociétés gérantes le cas échéant ; Statuts à jour de la société et des sociétés gérantes le cas échéant datés et signés par un représentant légal ; Pièce d’identité en couleur des dirigeants ; CV des dirigeants daté et signé ; Casier judiciaire des dirigeants ; Déclaration de non-condamnation des dirigeants ; Répartition de la détention de parts de la société ; Kbis des personnes morales actionnaires le cas échéant et Organigramme Groupe si applicable ; PV d’AG si des changements juridiques ont eu lieu récemment (fusion, actif inférieur à la moitié du capital social, changement de direction, etc.) ; Peuvent être demandés également lors de l’instruction : Derniers bilans et compte de résultats ; États financiers de l’année en cours et/ou de l’année venant de s’écouler ; Toute pièce jugée utile à la demande du régulateur. 3.3/ Délais d’instruction Une fois la totalité des pièces collectées, le service Juridique instruit le dossier dans un délai d’environ 2 semaines. L’ACPR dispose ensuite d’un délai de deux mois pour répondre, les premières questions arrivent généralement sous 30 jours. L’ACPR adresse en général des questions complémentaires et/ou des demandes de documents complémentaires en fonction de la situation et/ou de l’activité de votre société. 3.4/ Instruction finalisée et agent déclaré Une fois le dossier validé par l’ACPR, l’Agent est réputé pouvoir démarrer son activité avec CentralPay. Votre société peut donc désormais commencer à encaisser via CentralPay et faire ouvrir des comptes de paiement à ses clients. À l’issue de l’instruction par le régulateur et l’Agent validé, il est référencé dans les registres de l’ACPR et reçoit un numéro d’enregistrement qu’il doit utiliser dans ses communications et ses CGU. 3.5/ Particularités d’un agent spécialisé dans le domaine du télécom Un agent travaillant dans le domaine du télécom, c’est-à-dire réalisant des encaissements via des appels sur des numéros surtaxés, se doit de produire un récapitulatif des minutes de téléphone réalisées sous chaque opérateur téléphonique. Lors de la réception du virement de l’opérateur téléphonique chez CentralPay, ce récapitulatif doit être fourni à CentralPay. De plus, le calcul de la répartition des opérations devant être envoyées à chaque marchand via CentralPay doit également être envoyé au Service Conformité. Le Service Conformité de CentralPay consigne ces informations et s’assure que les marchands ont bien été crédités de leurs encaissements.
Formulaire de paiement CUSTOM 1/ Introduction Le service API Transaction permet d’opérer une autorisation puis une capture de la carte de paiement de votre client. Les différents modes de paiement par carte sont pilotés via ce même service. Pour initier la première transaction d’un client encore inconnu, vous devez d’abord collecter les données de sa carte de paiement en générant un « cardTokenId » via le service de tokenisation de CentralPay « token.js ». Un objet « card » sera ensuite retourné en tant que « cardId », pourra être enregistré dans un « customer » et ensuite être utilisé lors des prochaines transactions de ce client (pour des paiements en 1 clic ou des paiements récurrents). Attention, avec le Custom Form, vous devrez également intégrer le processus d’authentification 3DS 2.0 avant d’initier vos transactions. Schéma de transaction avec « cardTokenId » via le service « token.js » : Note : Si vous disposez déjà des données de la carte dans votre système et que vous disposez d’un agrément PCI-DSS level 1, vous pouvez directement utiliser le sous-objet « card » en adressant toutes les données de la carte de paiement (BIN, date d’expiration, CVC). 2/ Prérequis Déclarez les domaines autorisésDéclarez les domaines sur lesquels vos formulaires de paiement CUSTOM vont être hébergés. Allez sur votre Portail utilisateur > Administration > Mon compte > Onglet Technique > cliquez sur « Modifier » > Déclarez vos domaines dans « Hosts Custom Forms autorisés » Accès Portail utilisateur de RCT – Compte > Technique Accès Portail utilisateur de PROD – Compte > Technique Sécurisez vos pages de paiement Utilisez TLS (1.2 min) (Transport Layer Security) afin qu’elles utilisent les protocoles HTTPS requis par la norme Passez en revue et validez la conformité PCI de votre service chaque annéeGrâce à la combinaison de « CUSTOM + TOKEN.JS », vous gérez vous-même vos formulaires de paiement pour une expérience de paiement optimisée. Cette méthode implique que vous initialisez les paiements sur vos serveurs et vous devez vous conformer au niveau PCI-DSS SAQ A-EP. Vous pouvez télécharger le formulaire SAQ A-EP ici. 3/ Création d’un formulaire de paiement par carte (WEB) Ce tutoriel explique comment utiliser le langage HTML et Token.js pour obtenir un cardTokenID afin de créer une transaction depuis votre propre formulaire de paiement CUSTOM. Le Token.js est le JavaScript que nous mettons à votre disposition pour vous aider à implémenter le premier composant dont vous avez besoin pour créer un cardTokenID. Une fois que vous obtenez un cardTokenId, vous serez en mesure d’initialiser une transaction pour débiter la carte de votre client. Consultez nos exemples en ligne de formulaires CUSTOM FORM : Exemple de formulaire Custom Form sans 3DS 2.0 Exemple de formulaire Custom Form avec 3DS 2.0 3.1 Créer un formulaire de paiement HTML Contrairement à la page de paiement SMART FORM qui est généré et hébergé par CentralPay, le CUSTOM FORM doit être créé et intégré par vos soins. Vous devez donc générer le code HTML qui convient à votre parcours de paiement, avec notamment les champs suivants : Numéro de carte (16 digits pour CB, Visa, Mastercard – 15 digits pour Amex) Date d’expiration (MM/AAAA) CVC (3 digits pour CB, Visa, Mastercard – 4 digits pour Amex) 3.2 Envoyer les informations de carte avec le Token.js Envoyez les données cartes du navigateur du client à la plateforme PCI-DSS de CentralPay qui vous adressera un cardTokenId en retour. Pour ce faire, vous devez ajouter dans le <body> le tag ci-dessous : Tag du Token.js de recette : <script src="https://test-js.centralpay.net/js/token.js"></script> Tag du Token.js de production : <script src="https://js.centralpay.net/js/token.js"></script> Ajoutez également votre merchantPublicKey dans un tag séparé : <script type="text/javascript"> window.Centralpay ? Centralpay.card.setMerchantPublicKey('8ce4b92abd7c3110e2033ffbfa7cca0f097a66f1f1d267ff6c94429884ed82ac') : alert('Error loading html form'); </script> /!\ La merchantPublicKey identifie vos requêtes vers la Plateforme. Remplacez celle présente dans l’exemple ci-dessus par la vôtre. Consultez notre rubrique sur l’Authentification de nos API pour connaitre comment la récupérer. 3.3 Réceptionner le cardTokenID dans votre système Récupérez le cardTokenID qui vous a été retourné dans le JavaScript afin de pouvoir soumettre votre requête à la plateforme. Toutes les données de la carte sont maintenant stockées dans cardTokenID pendant une durée de 5 min. C’est donc cette valeur que vous devrez transmettre à notre API et en aucun cas les données brutes de la carte bancaire. 3.4 Créer une transaction à l’aide de la cardTokenID Maintenant que vous êtes en possession du cardTokenID, vous êtes prêts pour initialiser une transaction. À la différence des étapes précédentes qui se déroulent depuis le navigateur, celle-ci sera exécutée depuis vos serveurs. Consultez les pages dédiés au mode de paiement par carte que vous souhaitez intégrer : Transaction par carte unitaire (standard, capture différée, vérification carte, MoTo, en 1 clic) Transaction par carte récurrente (abonnement, fractionné) Ou consultez directement le swagger du service API Transaction pour avoir plus de détails techniques. 3.5 Sauvegarder les informations d’une carte dans un profil client Le cardTokenId n’est utilisable qu’une seule fois. Si vous prévoyez d’utiliser les données de la carte ultérieurement (paiement en 1 clic, paiement récurrent…), vous devez donc créer un Customer et y enregistrer une Card. Ainsi, la prochaine fois, au lieu d’utiliser un nouveau cardTokenId, vous utiliserez le customerID correspondant. 4/ Créer un formulaire de paiement par carte (APP) Les marchands veulent généralement pouvoir débiter des cartes de paiement sans avoir à stocker des données sensibles sur leurs serveurs. Notre javascript Token.js rend cela simple depuis un navigateur web, mais vous pouvez utiliser la même technique dans d’autres environnements avec notre cardToken. Ces tokens sont créés grâce à votre merchantPublicKey, qui peut être intégrée en toute sécurité dans des applications téléchargeables telles que les applications iPhone et Android. Vous pouvez ensuite utiliser ces Tokens pour initier vos transactions. Vous devez ajouter un header « Origin » avec une URL précédemment déclaré dans vos domaines autorisés (voir 2/ Prérequis).Pour vos tests, vous pouvez utiliser l’Origin : https://example.centralpay.net
Authentification 3DS 2.0 Le protocole 3D Secure 2.0 permet de s’assurer que la personne réalisant la transaction est bien le titulaire de la carte. La banque du client analyse les nombreux facteurs liés au paiement adressés par CentralPay (adresse IP, localisation, appareil utilisé…) et les compare aux données habituelles de son client : Si les données ne sont pas concordantes ou que le montant de la transaction est important, elle requière une identification manuelle via un code adressé par SMS ou via son application bancaire (« authentification forte » ou « SCA »). Sinon, elle autorise directement le paiement (« Frictionless »). Il existe deux types de 3DS, selon si vous souhaitez initier une transaction classique (pour laquelle le porteur est présent) ou si vous exécutez une échéance de paiement récurrent (pour laquelle le porteur n’est pas présent) : Le 3DS 2 « BRW » ou « Browser Authentication » (porteur participant – 1ère transaction)Représente la majorité des intégrations de 3DS 2. Il requiert l’authentification du client afin de vérifier qu’il est bien le porteur légitime de la carte au moment de la transaction. Il déclenche si nécessaire un challenge qui vérifie l’identité du porteur de carte (SCA).Découvrez comment intégrer le 3DS 2.0 BRW Le 3DS2 « 3RI Authentification » (porteur non participant – échéances de paiements récurrents)3DS Requestor Initiated (3RI) Authentications, ou Authentification Initialisée par le marchand lorsque le porteur n’est pas présent ou non participant. 3RI offre la possibilité de générer les authentifications 3DS nécessaires sans que le client ne soit impliqué. Cela permet d’utiliser une authentification générée précédemment avec un client. Elle est utilisée dans les contextes suivants de paiements récurrents : Paiement fractionné, Abonnement, Refund, etc.Découvrez comment intégrer le 3DS 2.0 3RI
Déclaration partenaires DME 1/ Introduction Les Établissements émetteurs de monnaie électronique comme CentralPay peuvent mandater des Distributeurs de Monnaie Électronique (DME) afin de collecter des fonds et d’assurer les échanges permettant l’achat et le remboursement de ME dans un réseau de participants défini. La déclaration d’un Distributeur de Monnaie Électronique se déroule en deux étapes : Le montage du dossier de déclaration : réalisé par CentralPay avec l’aide de son futur DME, L’instruction du dossier à l’ACPR : réalisé par CentralPay. Elle ne nécessite pas de validation particulière de l’ACPR. 2/ Responsabilité du partenaire DME CentralPay réalise tous les processus complexes, ou nécessitant de fortes compétences. Néanmoins, vous êtes toujours garant de la tenue d’un haut niveau d’exigence dans le suivi et l’application des règles de LCB-FT (Lutte Contre le Blanchiment et le Financement du Terrorisme). À ce titre, vous devez apporter à CentralPay des certitudes sur les conditions de réalisation des opérations qui passent par votre intermédiaire, notamment : La réalité économique de l’opération ; La lutte contre la fraude. Les Établissements régulés qui font appel à des distributeurs restent responsables des opérations réalisées par ces derniers. Un cadre juridique précis est donc mis en place. Un statut de Distributeur de Monnaie Electronique passe par : La contractualisation d’un contrat Cadre de Distribution de Monnaie Électronique qui définit les relations entre les parties ; Des CGU d’utilisation de Monnaie Électronique. Dans le cas où un DME internalise certaines fonctions dévolues à CentralPay dans le cadre de ses obligations règlementaires, un contrat de Prestations de Services Essentiels Externalisées devra être signé. C’est par exemple le cas si l’agent internalise la gestion des KYC ou réalise des interfaces de gestion qui ne permettrait pas à CentralPay d’assurer l’exécution du service sans le concours du PSEE. 3/ Devenir partenaire DME Devenir Distributeur de CentralPay nécessite le suivi d’étapes qui s’étalent sur plusieurs semaines. Voici un guide qui permet de mieux comprendre les enjeux liés à l’acceptation, puis à l’instruction des dossiers de déclaration des Distributeurs. 3.1/ Résumé des étapes Compréhension du modèle Explication des services apportés par le partenaire Définition de son modèle d’affaires Validation par le service Risque & Conformité de CentralPay Offre Commerciale Présentation Validation Validation du Partenaire par le service Risque & Conformité de CentralPay Validation de la proposition commerciale et des conditions tarifaires par le Partenaire 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 3.2/ Pièces à fournir à CentralPay Prochainement
Transaction carte Selon les besoins de votre activité, CentralPay propose divers modes de transactions unitaires via son service API Transaction. Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form et intégrer l’authentification 3DS 2.0. Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales. 1/ Autorisation et capture instantanée Pour réaliser un paiement simple par carte (autorisation puis capture instantanée) : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « EC » 2/ Autorisation et capture différée Ce mode de transaction peut être utile si vous souhaitez bloquer les fonds de votre client avant de le débiter définitivement, le temps de la validation de votre commande par exemple. Ainsi, vous pouvez annuler l’opération sans être soumis aux frais de transaction ou de remboursement. Pour réaliser un paiement par carte avec capture différée (autorisation puis capture différée), vous devez : Réaliser une autorisation en renseignant le paramètre « capture » de la Transaction avec la valeur « false ». Les fonds seront ainsi bloqués sur la carte du client. Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount ») Vous avez 7 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés. 3/ Pré-autorisation et capture différée Le service de pré-autorisation et capture différée (ou caution / PLBS) permet d’effectuer une pré-autorisation d’un certain montant, que vous pourrez ensuite capturer partiellement ou pleinement sous 30 jours. Durant cette période, les fonds vous sont garantis, ils sont donc bloqués sur la carte et ne peuvent être utilisés par votre client. Ce service n’est accessible qu’à certaines activités autorisées (locations de véhicules ou de matériels, hôtellerie…) Pour réaliser une pré-autorisation et capture différée, vous devez : Réaliser une pré-autorisation en renseignant le paramètre « source » de la Transaction avec la valeur « DP ». Les fonds seront ainsi bloqués sur la carte du client. Puis débiter le montant souhaité en initiant une capture sur le « transactionId » reçu en précisant le montant souhaité (« amount ») Vous avez 30 jours calendaires suivant l’autorisation pour réaliser la capture, à défaut les fonds du client seront libérés. 4/ Vérification carte (empreinte sécurisée) Le service d’empreinte & vérification carte permet d’effectuer une autorisation à 0€ avec authentification du porteur (3DS 2.0). Ainsi, vous disposerez des informations concernant la carte de votre client (carte de débit, de crédit, prépayée…), et vous vous assurerez qu’elle n’est pas frauduleuse (carte non volée, porteur identifié…). Ce service est généralement utilisé pour enregistrer une carte avec 3DS en vue d’un abonnement avec une date de démarrage différée. Pour réaliser une prise d’empreinte & vérification carte (autorisation à 0€ sans capture), vous devez : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « RI » Nous vous recommandons également de créer un « customer » lors de la transaction, afin d’associer le « cardId » ainsi généré et de vous permettre un éventuel débit ultérieur de cette carte. 5/ Débit carte seul (MO/TO) Le service de paiement MOTO (Mail Order / Telephone Order) permet d’effectuer une autorisation puis une capture d’une carte, sans la présence de son porteur. Il est généralement utilisé par les hôtels pour le débit de services ou de consommations additionnelles en fin de séjour. Attention, ce service n’est accessible qu’à certaines activités autorisées (hôtellerie…), et apporte des résultats de conversion de moins en moins performants depuis la directive DSP2, car elle ne permet pas l’authentification du porteur de carte. Pour réaliser un paiement MOTO, vous devez : Réaliser une Transaction en renseignant le paramètre « source » avec la valeur « MO » (Mail Order) ou « TO » (Telephone Order). 6/ Paiement par carte en 1 clic Le paiement par carte en 1 clic consiste à enregistrer les données cartes de votre client, afin qu’il puisse régler sa commande sans avoir à les ressaisir. La ou les cartes du client sont stockées de manière sécurisée dans le Customer CentralPay. Il est dans ce cadre nécessaire de permettre à votre client de sélectionner la carte qu’il souhaite utiliser ou d’ajouter une nouvelle carte. Pour réaliser un paiement par carte en 1 clic, vous devez : Sélectionner l’option « One-click » dans la configuration du point de vente. Vous assurer que vos customer ont une carte liée à leur profil.
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 depuis des transactions successivesVous pilotez le prélèvement de chaque échéance vous-même par API. Paiement fractionnéCentralPay fractionne une somme due en plusieurs transactions et gère leur prélèvement, selon les conditions de règlement que vous avez renseigné. Attention, vous devez au préalable gérer la collecte des données carte de votre client en créant un formulaire de paiement Custom Form, créer un profil Customer pour ce client, et intégrer les principes d’authentification 3DS 2.0. Les principes de base d’une transaction carte sont décrits dans la rubrique informations générales. Lors d’un paiement récurrent, votre client reçoit automatiquement un email contenant le détail de ses échéances. Ce mail contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire et de résilier un abonnement si besoin est. 1/ Abonnement depuis un modèle d’abonnement 1.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card et réaliser une authentification 3DS 2.0 BRW. Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur. 1.2/ Cas d’intégration spécifiques Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une Transaction suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. Si vous souhaitez simplement faire démarrer un abonnement à une date précise, vous pouvez d’abord réaliser une empreinte carte vérifiée suivant votre authentification 3DS BRW, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. 2/ Abonnement depuis des transactions successives 2.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card réaliser une authentification 3DS 2.0 BRW réaliser une première Transaction Ensuite, vous pourrez initier vous-même les prochaines Transactions en utilisant l’authentification 3DS 3RI. 2.2/ Informations importantes pour garantir un taux de conversion optimum, le montant de la première transaction doit être supérieur ou égal aux montants des transactions suivantes réalisées avec l’authentification 3DS 3RI. la plateforme CentralPay ne considérera pas les transactions générées comme des « abonnements », ainsi les interfaces « Portail utilisateur » et « Portail client » afficheront ces opérations au même titre qu’une succession de transactions unitaires. avec ce modèle, le système d’automatisation des nouvelles tentatives ne s’appliquera pas en cas d’échec de prélèvement d’une de vos transactions. 3/ Paiement fractionné 3.1/ Création Vous devez d’abord : créer un formulaire de paiement Custom Form, créer un Customer contenant au moins une Card et réaliser une authentification 3DS 2.0 BRW. Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.
Transaction carte via wallet Afin de pouvoir effectuer une transaction, ou créer un cardToken avec Apple Pay ou Google Pay, vous aurez besoin de mettre en place une configuration spécifique avec l’aide du support de Centralpay au préalable. Une fois la mise en place faite, vous devez être en possession de votre token Apple Pay ou Google Pay. Exemple : 1/ Apple Pay – Création de CardToken avec votre token Apple pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘.Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de CardToken avec votre token Apple pay déchiffré. Si vous avez déchiffré votre Token Apple Pay, lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayTransactionId‘ ainsi que ‘amount‘ et ‘currency‘ de la future transaction. Les champs ‘card[]‘ seront renseignés avec les données déchiffrées. Les informations de sécurité (ECI et CAVV) doivent être passées si elles sont présentes dans le TokenVous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de Transaction avec votre token Apple pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘applePayToken‘ au format JSON comprenant votre token Apple Pay qui inclus les éléments ‘paymentData‘, ‘paymentMethod‘ et ‘transactionIdentifier‘. 2/ Google Pay – Création de CardToken avec votre token Google pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayToken‘ au format JSON comprenant votre token Google Pay qui inclus les éléments ‘signature‘, ‘intermediateSigningKey‘, ‘protocolVersion‘ and ‘signedMessage‘.Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de CardToken avec votre token Google pay déchiffré. Si vous avez déchiffré votre Token GooglePay, lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayMessageId‘ ainsi que ‘onlinePaymentCryptogram‘ et ‘eciIndicator‘. Les champs ‘card[]‘ seront renseignés avec les données déchiffrées. Vous pourrez ensuite effectuer une transaction à l’aide de votre cardToken normalement. – Création de Transaction avec votre token Google pay chiffré. Lors de votre appel API, en plus des champs obligatoires, il faudra utiliser le champ ‘googlePayToken‘ au format JSON comprenant votre token Google Pay qui inclus les éléments ‘signature‘, ‘intermediateSigningKey‘, ‘protocolVersion‘ and ‘signedMessage‘.
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 €
Webhook notifications Articles The BANKACCOUNT object The CARD object The CREDIT object The CUSTOMER object The DEPOSIT object The DISPUTE object The INSTALLMENT object The ONBOARDING object The PAYMENT REQUEST object The PAYOUT object The REFUND object The SCT Transaction object The SDD TRANSACTION object The MANDATE object The SUBSCRIPTION object The TRANSACTION object The TRANSFER REVERSAL object The TRANSFER object The WIRETRANSFER object (Deprecated) The BANKACCOUNT object BANKACCOUNT_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": [] } 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": [] } } 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 ONBOARDING_ENROLLMENT_VALID_DOCUMENTSSome documents are regarded as valid by the Centralpay conformity 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 PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded 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 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_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
Logos CentralPay Logo CentralPay SVG Logo CentralPay blanc SVG Logo CentralPay PNG Logo CentralPay blanc PNG
R-transaction carte 1/ Remboursement Vous pouvez rembourser une Transaction si celle-ci est « Cleared » via le service Refund ou depuis le détail de la Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant. Votre client recevra les fonds sur sa carte sous 3 à 5 jours ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération. Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé. 2/ Crédit Vous pouvez créditer la carte d’un client sans transaction initiale depuis le service Credit. Pour cela, il existe plusieurs solutions : Tokeniser une carte via le service cardToken pour ensuite la renseigner dans le service Credit Créer ou rechercher un Customer disposant d’une carte valide, puis renseigner son « customerId » ainsi que son « cardId » dans le service Credit NB : ce service n'est disponible que pour des activités spécifiques, contactez CentralPay pour en savoir plus. 3/ Contestation Pour tout paiement par carte, votre client a la possibilité de contester une transaction auprès de sa banque (opération nommée contestation, chargeback ou impayé) : pendant 120 jours à compter de la transaction sur les réseaux « Visa » ou « Mastercard » pendant 13 mois à compter de la date d’opération sur le réseau Français « Carte Bancaire ». En France, une contestation n'est en principe autorisée que dans le cadre d'une utilisation frauduleuse de la carte (carte volée, prélèvements abusifs…). Cependant, dans d'autres pays européens, la contestation peut également être utilisée dans le cadre d'un litige commercial (service ou produit non rendu / non conforme). En cas de contestation, CentralPay en est informé et crée automatiquement sur votre compte une opération de Dispute liée à la transaction contestée. Le montant de cette transaction vous sera débité afin de rembourser votre client. Des frais non remboursables s’appliquent également pour chaque contestation reçue. À ce stade, le statut de la Dispute sera CHARGEBACK_NOTICED et vous pourrez consulter sur le Portail utilisateur ou via notre API le motif de contestation de votre client. Vous disposez ainsi d’un délai de 20 jours calendaires pour répondre en fournissant la preuve de livraison du service ou du produit. À défaut de réponse dans les délais impartis, il ne sera plus possible de répondre à la contestation. Notez que dans le cadre des transactions non authentifiées (sans 3DS), vous devez également justifier du consentement du titulaire de la carte. Vous devez à minima prouver que le nom et prénom de votre client est bien le même que celui qui est indiqué sur la carte de paiement. Une fois votre réponse émise, celle-ci est étudiée par la banque de votre client avant d’adresser son verdict : Vous avez obtenu gain de cause, la contestation a été rejetée. Le montant de la transaction vous est remboursé et le statut de la Dispute passe en CHARGEBACK_WON. Vos preuves sont jugées insuffisantes, la contestation est maintenue. Le statut de la Dispute passe en CHARGEBACK_LOST. NB : Il est possible, en amont d'une contestation, qu'un client réalise une demande d'information sur une transaction afin d'en connaitre les détails. CentralPay créera une opération Dispute avec statut RETRIEVAL_NOTICED. Vous devez répondre dans les 7 jours en fournissant la nature du service délivré, la preuve de consentement du client et/ou la preuve de livraison. Si votre réponse est acceptée, le statut de la Dispute passera à RETRIEVAL_CLOSE. À défaut de réponse, votre client pourra déclencher une contestation auprès de sa banque.
Object status Articles PAYMENT REQUEST status TRANSACTION status REFUND status CREDIT status DISPUTES status SUBSCRIPTION status INSTALLMENT status SDD TRANSACTION status MANDATE status BANK ACCOUNT status PAYOUT status SCT TRANSACTION status PAYMENT REQUEST status Payment request status: ACTIVE CLOSED CANCELED Payment status : UNPAID ACCEPTED PARTIALLY_PAID PAID The following table explains every possible status combination and what they point out : Payment request statusPayment status 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, 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 » StatutDescriptionRETRIEVAL_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.CANCELLEDThe subscription has been cancelled 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.CANCELLEDThe bank account is no longer usable (closed account, fraud, …). PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELLEDThe payout has been cancelled (only in pending).REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet. SCT TRANSACTION status Status « SCT Transaction » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded.
Logos PaySecure Logos Logo PaySecure classique PNG Logo PaySecure blanc PNG Logo PaySecure classique JPG Visuels de réassurance (FR/EN) Réassurance – fond blanc Réassurance – fond transparent Réassurance – blanc Réassurance – fond blanc Réassurance – fond transparent Réassurance – blanc
Email de confirmation 1/ Introduction Quand une transaction par carte a été réalisée avec succès, CentralPay peut adresser un email de confirmation de paiement à votre client. Pour cela, vous devez l’activer en renseignant les paramétrages de l’email de confirmation dans votre Point de Vente. Cet email est adressé par défaut à l’email du Customer associé à la transaction, mais vous pouvez renseigner la valeur receiptEmail de la transaction si vous souhaitez l’adresser à un autre. 2/ Paramétrage L’email de confirmation possède une mise en forme standardisée affichant les différentes informations de paiement, vous pouvez cependant configurer plusieurs paramètres depuis le Portail utilisateur. 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)
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 Bank return codes List of codes returned by the issuer bank to CentralPay after an autorization request 00Transaction approved or successfully processed02Contact card issuer03Invalid acceptor04Keep card05Do not honor06Transaction invalid for terminal07Honor with ID08Time-Out09No original10Unable to reverse11Partial approval12Invalid transaction13Invalid amount14Invalid cardholder number15Unknown card issuer17Invalid capture date (terminal business date)19Repeat transaction later20No From Account21No To Account22Account not verified23Account not saved24No Credit Account25Unable to locate record in file26Record duplicated27 ‘Edit’ error in file update field28File access denied29File update not possible30Format error31Identifier of acquiring organization unknown32Transaction partially completed33Card validity date exceeded34Implausible card data38Number of PIN attempts exceeded39Transaction not allowed41Lost card42Special Pickup43Stolen card44Stolen card51Insufficient funds or overdraft54 Card expired55Incorrect PIN56 Card not on file57Transaction not authorized to this cardholder58Transaction prohibited at terminal59Suspected fraud60 the card acceptor must contact the buyer61Withdrawal amount over limit62Card use restricted63MAC Key Error65 Frequency limit exceeded66Acquirer limit reached67Card withheld68Response not received or received too late75Number of PIN attempts exceeded76Invalid Account77Issuer not participating in service78Function not available79Key validation error80Approved for purchase amount only81Unable to verify PIN82Invalid CVV83Not refused84Invalid transaction lifecycle85No key to use86KME synchronization error87PIN error88MAC synchronization error89Security violation90Temporary system shutdown91Card transmitter inaccessible92Card issuer unknown93Transacation cannot be finalized94Duplicate request95Contact acquirer96System malfunction97No Funds Transfer98Duplicate Reversal99Duplicate TransactionN3Cash Service Not AvailableN4Cash Back Request Exceeds Issuer LimitN7Declined for CVV2 failureR0Stop Payment OrderR1Revocation of Authorisation OrderR3Revocation of all Authorisations OrderA0Withdrawal in contact modeA1VADS fallback000Approved001Approve with ID002Partial approval (prepaid cards only)100Reject101Card expired / invalid expiry date106PIN attempts exceeded107Please call issuer109Invalid merchant110Invalid amount111Invalid account / Invalid MICR (traveler’s check)115Requested function not supported117Invalid PIN119Cardholder not registered / not authorized122Invalid card security code (alias CID, 4DBC, 4CSC)125Invalid effective date181Format error183Invalid currency code187Refuse – New card issued189Refuse – Merchant cancelled or closed / SE200Refuse – Pick up card900Accepted – ATC synchronization909System malfunction (cryptographic error)912Issuer not available 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: DE91100000000123456789AXABFRPPAZ96AZEJ00000000001234567890AXABFRPPCY21002001950000357001234567AXABFRPPES7921000813610123456789AXABFRPPFR7630006000011234567890189AXABFRPPFO9264600123456789AXABFRPP Test cards Values You will find below a list of cards that you can use to test and check your integration. Visa Card numbers 4000 0000 0000 0051Card lost (41) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0069Fraud suspicion (59) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0077Insufficient funds (51) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0085To be refused (5) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4556 5579 5572 6624Transaction successful (3DS) & Authentication = Y4916 9940 6425 2017Transaction successful (3DS) & Authentication = C4556 1041 6038 2032Transaction successful (NON 3DS) & Authentication = N4024 0071 7987 2394Transaction (NON 3DS) & Authentication = N4234 6319 8242 8908Transaction (3DS) & Authentication = I4234 6319 8242 8916Transaction successful (3DS) & Authentication = D : application flow4234 6319 8242 8924Transaction successful (3DS) & Authentication = D : browser flow4032 0389 8296 2700EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBIT ;4032 0343 8883 4767EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDIT ;4020 0280 0191 2012EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWN ;4032 0337 9569 2248EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBIT ;4032 0368 1354 0364EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDIT ;4032 0387 5662 0096EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWN ;4032 0358 5604 7592EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBIT ;4032 0302 9068 3219EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDIT ;4032 0377 5134 3001EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWN ;4032 0307 5488 6225EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBIT ;4032 0310 2547 6341EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDIT ;4032 0341 4311 3978EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWN ;4032 0309 5816 7398EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBIT ;4032 0375 4480 7536EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDIT ;4032 0366 9148 7225EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWN ;4032 0325 8917 3860EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBIT ;4032 0388 0897 9557EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDIT ;4032 0374 2147 1240EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWN ; Mastercard Card numbers 5333 2591 5564 3223Transaction successful (3DS) & Authentication = Y5306 8899 4283 3340Transaction successful (3DS) & Authentication = C5328 7203 8458 2224Transaction successful (NON 3DS) & Authentication = N5187 4346 4359 3002Transaction successful (NON 3DS) & Authentication = N5517 4500 0000 0168EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDIT5223 8599 0000 0174EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBIT5325 0900 0000 0115EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT5325 0900 0000 0008EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT5486 7467 7300 0005EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUS5588 1000 0000 0007EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBIT5122 9400 0000 0009EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBIT Amex Card numbers 3415 0209 8634 895Transaction successful (3DS) & Authentication = Y3486 3826 7931 507Transaction successful (3DS) & Authentication = C3456 9539 9207 589Transaction successful (NON 3DS) & Authentication = N3415 0209 8634 895EEA=false ; region=EUROPE ; productType=CONSUMER3486 3826 7931 507EEA=false ; region=EUROPE ; productType=CORPORATE3718 4294 2351 004EEA=false ; region=EUROPE ; productType=UNKNOWN3712 5311 3391 201EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMER3423 1631 7472 410EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATE3710 9829 7279 338EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWN CB Card numbers 4020 0235 6597 5380Transaction successful (NON 3DS), scheme : CB4020 0254 4041 8403Transaction successful (NON 3DS), scheme : CB_VISA5232 1035 2372 2651Transaction successful (NON 3DS), scheme : CB_MASTERCARD
Visuels de réassurance (FR/EN) Intégrez un de ces visuels en dessous de votre formulaire de paiement CustomForm, ou simplement dans le footer de votre site afin de rassurer vos clients concernant la sécurité de leurs données de paiement. Réassurance 1 – classique Réassurance 1 – fond blanc Réassurance 1 – blanc Réassurance 2 – classique Réassurance 2 – fond blanc Réassurance 2 – blanc Réassurance 3 – classique Réassurance 3 – fond blanc Réassurance 3 – blanc Réassurance 4 – Avec Amex Réassurance 4 – Amex fond blanc Réassurance 4 – Amex blanc Réassurance 5 – Avec Amex Réassurance 5 – Amex fond blanc Réassurance 5 – Amex blanc Réassurance 6 – Avec Amex Réassurance 6 – Amex fond blanc Réassurance 6 – Amex blanc Réassurance 1 – classique Réassurance 1 – fond blanc Réassurance 1 – blanc Réassurance 2 – classique Réassurance 2 – fond blanc Réassurance 2 – blanc Réassurance 3 – classique Réassurance 3 – fond blanc Réassurance 3 – blanc Réassurance 4 – Avec Amex Réassurance 4 – Amex fond blanc Réassurance 4 – Amex blanc Réassurance 5 – Avec Amex Réassurance 5 – Amex fond blanc Réassurance 5 – Amex blanc Réassurance 6 – Avec Amex Réassurance 6 – Amex fond blanc Réassurance 6 – Amex blanc
Libellé relevé bancaire Le libellé de relevé bancaire correspond à la description qui sera affichée sur le relevé de compte bancaire de vos clients pour chacune de vos transactions par carte. Lorsqu’un compte CentralPay « marchand » ou « partenaire » est créé, un libellé de relevé bancaire est défini automatiquement en utilisant le nom de votre premier Point de Vente : CPAY*NomDuPointDeVente Vous pouvez demander à CentralPay de modifier votre libellé, cependant il doit permettre à vos clients de vous identifier clairement ou d’accéder à votre site de réclamation.
Gestion des devises Introduction Dans le cadre d’une activité internationale, vos clients peuvent disposer d’une carte adossée à un compte bancaire en devises non Euros. Quelle que soit votre intégration, ces clients pourront vous régler en Euros grâce au système de conversion automatique des réseaux carte (Visa, Mastercard, American Express). Vos clients porteront l’ensemble des coûts de conversion des devises, et vous recevrez des Euros sur votre compte CentralPay. Dans certains cas, CentralPay peut vous permettre d’encaisser des transactions par carte bancaire dans différentes devises : Euros (EUR), Dollars (USD), Francs Suisses (CHF) et Livres (GBP). Contactez CentralPay si la gestion de transaction en devises est un enjeu pour votre activité. Notez que dans ce cas, les coûts d’acquisition en devises (hors EUROS) sont soumis à des frais complémentaires et seront déduits du montant de vos transactions. Les reversements (payout) par virement SEPA ne peuvent être réalisés que sur les valeurs disponibles en EUROS. Les valeurs hors EUROS sont reversées par virement SWIFT ayant des frais supérieurs. Il est cependant possible de programmer les reversements SWIFT afin qu'il ne soit réalisés qu'à partir d'un certain seuil, afin de mieux maitriser ses coûts de reversement.
Gestion des cartes virtuelles (VCC) 1/ Introduction Fonctionnement des OTALes 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. Avec la crise du covid19, booking n'autorise plus les débits de ses VCC qu'un jour après le checkin du client.En savoir plus sur le fonctionnement des cartes virtuelles de booking.com Cartes virtuelles ExpediaChez EXPEDIA, il est possible de laisser le visiteur choisir entre la possibilité de payer à l’hôtel (Hotel Collect) ou de payer directement lorsqu’il réalise la réservation (Expedia Collect). Cette option est appelée Expedia Traveler Preference (ETP). Si un client utilise la méthode Expedia Collect, une carte virtuelle sera alors générée.En savoir plus sur le fonctionnement des cartes virtuelles d'expedia.com 2/ Gestion des cartes virtuelles avec CentralPay La meilleure méthode pour stocker une VCC et de pouvoir l’utiliser une fois disponible est de créer un « Customer » et de lui associer la carte concernée. Deux options sont ouvertes : Soit la carte est débitable au moment de la création et une demande de vérification est réalisable à la création du Customer Soit la carte n’est pas utilisable à la création du customer et la carte doit être créé sans vérification. Cela ne signifie pas qu’elle ne pourra pas être utilisée à terme. Cela veut simplement dire qu’elle ne doit être débitée qu’à une certaine date. En général, les OTA auront préalablement vérifié les données de la carte pour s’assurer qu’elle était débitable. Ainsi, créer un Customer dans l’API CentralPay permet de tokeniser la carte virtuelle, sécuriser son stockage et de faciliter son utilisation lorsque les conditions d’acceptation initiales auront été réunies.
Retours, statuts et hooks 1/ Codes de retour banque liés aux transactions carte Lorsqu’une transaction carte (objet « transaction ») est initiée, une demande d’autorisation est soumise à la banque émettrice de la carte. Cette dernière répond avec un code, permettant d’interpréter l’acceptation, le refus et la cause du refus de l’autorisation. La banque du titulaire de la carte (appelée également banque émettrice) exprime son refus en fonction de choix qui lui sont propres et totalement indépendants de CentralPay. CentralPay n’est en possession d’aucune information complémentaire si une carte est refusée et n’a aucun moyen d’en obtenir. Les principaux codes de retour banque : 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. Consulter la liste complète des codes de retour banque 2/ Statuts liés aux transactions carte Statuts « Transaction » Statuts TRANSACTION Statuts « Refund » Statuts REFUND Statuts « Credit » Statuts CREDIT Statuts « Disputes » Statuts DISPUTES Statuts « Subscription » Statuts SUBSCRIPTION Statuts « Installment » Statuts INSTALLMENT 3/ Webhooks liés aux transactions carte Webhooks « Transaction » Webhooks Transaction Webhooks « Card » Webhooks Card Webhooks « Refund » Webhooks Refund Webhooks « Credit » Webhooks Credit Webhooks « Customer » Webhooks Customer Webhooks « Dispute » Webhooks Dispute Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment
Informations générales 1/ Introduction Le virement bancaire est le moyen de paiement le plus répandu pour les règlements d’entreprises. Il consiste en un transfert direct des fonds d’un compte (bancaire ou de paiement) à un autre, sans utiliser de support additionnel comme une carte par exemple. La personne physique ou morale qui demande l’émission du virement est dénommée le donneur d’ordre (ou l’émetteur), celle qui reçoit l’argent le bénéficiaire. Contrairement à un paiement par carte ou par prélèvement SEPA, seul l’émetteur lui-même peut initier un virement. Il se rend ainsi sur l’espace personnel de sa banque, déclare les coordonnées bancaires du bénéficiaire (IBAN + BIC + Nom de titulaire), puis renseigne un montant et une référence de virement. Quelques informations importantes : Le délai de réception d’un virement classique chez CentralPay est de 4 à 24 heures ouvrées (contre 24 à 48 heures ouvrées chez la majorité des banques traditionnelles). Il sera également possible de recevoir des virements instantanés (réception <5 secondes) à partir d’octobre 2024. Le virement ne présente pas de risque financier majeur pour le marchand bénéficiaire, car l’émetteur s’authentifie fortement auprès de sa banque et ne peut donc pas contester cette opération. Les banques émettrices accordent un plafond de règlement par virement nettement plus élevé que celui appliqué aux opérations de prélèvement SEPA ou de règlement par carte. Selon les fonctionnalités proposées par sa banque, l’émetteur peut programmer un virement récurrent ou à date différée. 2/ Types de réseaux acceptés Il existe deux types de virements bancaires : les virements SEPA (ou SEPA Credit Transfer) : utilisés pour les opérations en EUROS réalisées entre deux pays membres de la zone SEPA (= 27 pays de l’Union européenne + Royaume-Uni, Monaco, Andorre, Vatican, Suisse, Liechtenstein, Norvège, Islande et Saint-Marin) les virements internationaux : utilisés pour les opérations internationales en EUROS ou en devises, via le réseau SWIFT. Les frais applicables aux réseaux SEPA sont très largement favorables (à peine quelques dizaines de centimes contre plusieurs dizaines d’euros pour SWIFT). SWIFT permet cependant plusieurs options liées au règlement de ses frais : à la charge de l’émetteur, du bénéficiaire ou partagés. CentralPay est atteignable par toutes les banques de l’Espace Économique Européen utilisant les réseaux SEPA (via STEP2 pour les SCT/SDD, ainsi que TIPS et RT1 pour les « Instant SCT »). Seuls les virements de réseaux internationaux ou en devises hors EUROS ne sont pas recevables pour le moment (via réseau SWIFT par exemple).
IBAN Virtuels 1/ Introduction Le paiement par virement bancaire impose une responsabilité au client émetteur : celle de renseigner les coordonnées bancaires (IBAN + BIC + Nom du titulaire), le montant du règlement mais aussi la référence de virement. Une absence ou un mauvais formatage de la référence (causé par le client ou par le système de sa banque) contraint le bénéficiaire d’analyser manuellement le virement reçu pour le rapprocher à la bonne facture et au bon poste client. CentralPay vous permet de présenter un IBAN virtuel différent à chacun de vos clients (Customer) ou dans chacune de vos factures (PaymentRequest). Ainsi lors de la réception d’un virement, CentralPay identifie automatiquement l’émetteur et peut rapprocher la facture pour vous, selon l’IBAN virtuel utilisé par votre client, même en cas d’erreur de référence. Un IBAN Virtuel est en tous points identique à un IBAN classique, ce qui rend le processus entièrement transparent pour vos clients. Ce service vous permettra notamment : d’être informé instantanément quand un client vous a réglé par virement, d’automatiser vos alertes internes et vos relances clients (via le service de notifications), d’automatiser le rapprochement de vos paiements dans vos solutions comptables ou de facturations (ERP…), pour les plateformes et marketplaces : d’identifier facilement le marchand bénéficiaire et de lui transférer les fonds Vous pourrez créer des IBAN Virtuels CentralPay depuis différents services de la plateforme : Depuis le service Customer Depuis le service SCT Transaction Depuis le service PaymentRequest Chaque compte de paiement ou de monnaie électronique dispose nativement d'un IBAN Virtuel dédié 2/ Consulter l’IBAN Virtuel de ses comptes Vous pouvez retrouver l’IBAN Virtuel de vos comptes depuis le Portail utilisateur Administration Comptes IBAN/BIC : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD Il est également possible d’interroger l’API CentralPay avec le endpoint /bankAccount 3/ Créer un IBAN Virtuel dédié à un Customer Vous pouvez créer un IBAN Virtuel dédié à un client lors de la création d’un nouveau Customer, ou via l’update d’un Customer existant. Pour cela, vous devez renseigner le champ « walletIdForIban » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre Customer. Le BIC des IBAN émis par CentralPay sont : CEAYFR22 4/ Création d’un IBAN Virtuel dédié à une SCT Transaction Comme pour un Customer, vous pouvez créer un IBAN Virtuel dédié à une transaction par virement lors de la création d’une SCT Transaction. Pour rappel, une SCT Transaction est créée automatiquement par CentralPay lorsque vous recevez un virement sur votre IBAN Virtuel principal ou celui d'un Customer. Il est cependant possible de créer une SCT Transaction en amont afin de lui affecter un IBAN Virtuel dédié et une référence personnalisée par exemple. Pour cela, vous devez renseigner le champ « ibanWalletId » avec l’UUID du compte de paiement sur lequel vous souhaitez recevoir les fonds. Vous pouvez retrouver ce dernier depuis le Portail utilisateur Administration Comptes UUID : Accès Comptes – Portail Utilisateur de RCT Accès Comptes – Portail Utilisateur de PROD En retour, vous recevrez dans le champ « bankAccounts » les valeurs « iban » et « bic » constituant l’IBAN Virtuel de votre SCT Transaction. Un IBAN Virtuel dédié à une SCT Transaction n'est plus fonctionnel une fois que sa SCT Transaction a été entièrement réglée. Il est cependant possible de recevoir plusieurs virements d'un montant inférieur sur un même IBAN pour compléter le montant de la SCT Transaction.À noter que si un virement reçu dépasse le montant de la SCT Transaction, il sera tout de même accepté. Vous devrez réaliser un remboursement partiel pour reverser le trop perçu à votre client. 5/ Utilisation des IBAN Virtuels depuis les demandes de paiement Il est possible d’utiliser des IBAN Virtuels Customer ou SCT Transaction depuis le service de demande de paiement, si vous acceptez le moyen de paiement « SCT Transaction ». Vous pouvez sélectionner le type d’IBAN Virtuel que vous souhaitez afficher dans vos demandes de paiement depuis le champ « Viban prioritaire » des paramétrages de votre point de vente. Si vous sélectionnez : SCT La demande de paiement créera systématiquement un IBAN Virtuel dédié à la SCT Transaction Client La demande de paiement utilisera l’IBAN Virtuel du Customer s’il en dispose déjà d’un, sinon elle en créera un automatiquement Dans le cas d'une demande de paiement avec vIBAN à la SCT Transaction uniquement : si vous annulez la demande de paiement, le vIBAN associé ne sera plus atteignable. Ainsi, chaque virement reçu sur ce vIBAN sera automatiquement renvoyé à son émetteur.
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": [] }
Transaction par virement 1/ Introduction Une SCT Transaction représente un virement bancaire reçu sur un de vos IBAN Virtuel CentralPay. Elle peut être créée de trois manières différentes : 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 utilisateur > Administration > Comptes > UUID. Si vous souhaitez utiliser un IBAN Virtuel existant (dédié à un Customer ou à un compte de paiement), renseignez le champ « iban » avec l’IBAN souhaité. Vous pourrez ensuite récupérer la valeur « sepaReference » générée par CentralPay et la transmettre à votre client pour laisser CentralPay rapprocher le virement à votre transaction ou renseigner la valeur « merchantSctTransactionId » avec votre propre référence personnalisée pour rapprocher vous-même le virement via nos exports d’opérations.
The CARD object CARD_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" }
Rapprochement à une demande de paiement CentralPay met à disposition un service nommé bankReconciliation permettant de lier une ou plusieurs SCT Transaction à une demande de paiement (PaymentRequest) si vous n’utilisez pas les IBAN Virtuel dédié aux SCT Transaction. 1/ En cas d’erreur de référence par votre client Lorsque vous utilisez les demandes de paiement avec IBAN Virtuels dédiés à un Customer et que votre client ne renseigne pas correctement la « sepaReference » lors de l’émission de son virement ; CentralPay n’est pas en mesure de rapprocher automatiquement le virement à la demande de paiement. Vous pouvez donc utiliser le service bankReconciliation pour affecter la SCT Transaction reçue à la demande de paiement créée initialement : Amount = montant du virement en centimes wireTransferID = ID de la SCT TRANSACTION (accessible dans le hook de la SCT TRANSACTION) paymentRequestBreakdownId = ID du breakdown de la PaymentRequest (accessible dans le hook de la PaymentRequest) 2/ Si vous utilisez votre propre référence de commande Si vous souhaitez organiser vos créances clients dans CentralPay grâce au service de Demandes de paiement sans utiliser la page de paiement SmartForm, voici la démarche à suivre : pour chaque client : créer un Customer avec vIBAN, récupérer le vIBAN et l’afficher dans votre tunnel de vente avec votre référence de commande créer en parallèle une paymentRequest contenant cette même référence de commande (dans le champ « merchantPaymentRequestId ») et le montant de commande Dès réception d’un virement client, vous identifiez la commande liée grâce au champ « description » de la SCT Transaction Vous recherchez ensuite une PaymentRequest avec la même référence dans « merchantPaymentRequestId » si une PaymentRequest présente la même référence, vous l’associez avec le service « bankReconciliation » si aucune PaymentRequest ne présente la même référence mais que le virement a été reçu sur un vIBAN Customer n’ayant qu’une seule PaymentRequest en attente ou d’un montant identique, vous pouvez faire en sorte de les rapprocher avec une bankReconciliation si aucune PaymentRequest ne présente la même référence et que le Customer présente plusieurs PaymentRequest en attente de règlement ou d’un montant différent, levez une alerte dans votre système pour faire rapprocher le virement manuellement par votre service financier (qui l’associera manuellement à la bonne PaymentRequest via une bankReconciliation) Les virements non liés à une PaymentRequest seront ainsi facilement identifiables De même que les PaymentRequest non payées ou partiellement payées.
The CREDIT object CREDIT_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": [] } }
R-transaction SCT 1/ Remboursement Vous pouvez rembourser une SCT Transaction si celle-ci est « RECEIVED » via le service Refund ou depuis le détail de la SCT Transaction dans le Portail utilisateur. Vous pouvez initier un remboursement total ou partiel en renseignant un montant. Votre client recevra les fonds sur son compte bancaire sous 24 à 48 heures ouvrés après l’opération. Votre compte de paiement est lui débité immédiatement, il doit donc être solvable pour pouvoir réaliser l’opération. Vous ne pouvez pas annuler un remboursement une fois celui-ci réalisé.
The CUSTOMER object CUSTOMER_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": [] } }
Virements internationaux Introduction Les virements bancaires internationaux sont gérés via le réseau SWIFT (contrairement au réseau SEPA pour les virements européens). Ces virements peuvent être émis depuis un très grand nombre de pays en EUROS ou dans d’autres devises. Il sera prochainement possible d’accepter des virements internationaux via le service SCT Transaction. Veuillez contacter CentralPay si ce service est un enjeu pour le développement de votre activité.
The DEPOSIT object DEPOSIT_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
Retours, statuts et webhooks 1/ Retours liés aux SCT Transactions Il n’existe pas de code retours pour les SCT Transactions. 2/ Statuts liés aux SCT Transactions Statuts « SCT Transaction » Statuts SCT TRANSACTION Statuts « Refund » Statuts REFUND 3/ Webhooks liés aux SCT Transactions Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « Refund » Webhooks Refund Webhooks « Customer » Webhooks Customer
The DISPUTE object DISPUTE_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
Informations générales Introduction Le prélèvement SEPA (SEPA Direct Debit ou « SDD » en anglais) permet à un créancier (marchand) de prélever un montant dû directement sur le compte de son débiteur (client). Il est principalement destiné aux règlements récurrents (abonnements ou paiements en plusieurs fois) mais peut-être dans certains cas utilisé pour des règlements ponctuels (par exemple pour le règlement de factures entre professionnels). Étant émis à l’initiative du créancier, il requiert la collecte préalable d’une autorisation de son débiteur. Le marchand édite ainsi un « Mandat SEPA » précisant les conditions de prélèvement et les coordonnées bancaires des deux parties que son débiteur devra signer. 1/ Les deux types de prélèvement SEPA Il existe deux types de prélèvements SEPA : Le prélèvement SEPA « CORE » : le plus répandu, il permet aux créanciers de débiter des comptes de particuliers comme de personnes morales. Le mandat SEPA est édité et signé entre les deux parties sans contraintes particulières. Le débiteur est cependant protégé et peut contester un prélèvement CORE sans motifs auprès de sa banque sous 8 semaines. Le prélèvement SEPA « B2B » : réservé aux prélèvements entre entreprises. Le mandat SEPA est édité, signé puis doit être transmis par le débiteur à sa banque. Le parcours de contractualisation requiert ainsi une action forte du débiteur et la validation de sa banque. Cependant, les prélèvements initiés depuis ce type de mandats ne sont pas contestables. CentralPay ne propose pas ce service de prélèvement SEPA type « B2B ». 2/ Risques de rejet et de contestation Le prélèvement SEPA étant un moyen de paiement dont les transactions sont initiées sans authentification forte du client, les risques de rejets et de contestations sont à prendre en considération. Consultez la rubrique « R-Transaction SDD » pour en savoir plus sur les rejets et contestations SDD. 3/ Informations importantes Le prélèvement SEPA est utilisable sur la vaste majorité des comptes bancaires « courants » des pays de la zone SEPA et certains de l’Espace Économique Européen hors SEPA. Cela dépend de la connectivité aux réseaux SEPA des banques des débiteurs. Les comptes spéciaux type « comptes épargnes » ne sont pas atteignables. Les opérations SEPA sont traitées en devise EUROS (€) uniquement. Les opérations SEPA sont traitées lors des jours ouvrés uniquement (hors weekend et jours fériés). Ainsi, le délai de réception des fonds varie entre 2 à 5 jours à compter de la date d’initiation de l’opération. Le débiteur doit être informé par le créancier des prélèvements à venir, au moins 14 jours avant la date, soit par l’envoi d’un échéancier, d’une notification ou d’une facture. La durée de validité d’un mandat SEPA est de 36 mois après la dernière transaction opérée sur ce mandat. Dans le cadre d’un prélèvement SEPA sur le compte bancaire d’une entreprise (personne morale), le créancier doit veiller à ce que le mandat SEPA soit adressé et signé par le dirigeant ou un responsable habilité (gérant, service comptabilité…). Le prélèvement SEPA est particulièrement adapté aux transactions récurrentes d’un montant situé entre 20 et 200 EUR pour les débiteurs particuliers, et entre 20 et 2 000 EUR pour les débiteurs personnes morales.
The INSTALLMENT object INSTALLMENTPAYMENT_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" }
Identifiant de Créancier SEPA L’Identifiant Créancier SEPA (ICS) est un numéro de référence unique qui identifie chaque émetteur de prélèvement. En France, il est composé de 13 caractères alphanumériques, dont les 2 premiers représentent le code pays ISO (FR pour la France). Disposer d’un ICS est un prérequis obligatoire pour réaliser des prélèvements. Le créancier doit faire la demande d’attribution de l’ICS auprès de sa banque. Le créancier conserve ensuite son ICS, même s’il change de banque. Communiquez votre ICS à CentralPay lors de votre entrée en relation afin que nos équipes puissent le déclarer dans votre compte.
The ONBOARDING object ONBOARDING_ENROLLMENT_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 ONBOARDING_ENROLLMENT_VALID_DOCUMENTSSome documents are regarded as valid by the Centralpay conformity 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
Déclaration du compte bancaire Pour réaliser une transaction par prélèvement SEPA, il faut d’abord créer le profil de votre client (le débiteur) et déclarer ses coordonnées bancaires sur la plateforme CentralPay. 1/ Créer un profil client « Customer » Collecter les informations de votre client (email, nom, prénom …) Créer un profil client Customer Récupérer la propriété « customerId » dans le retour de création du Customer 2/ Créer un compte bancaire « bankAccount » Collecter les coordonnées bancaires de votre client (IBAN, BIC, nom du titulaire du compte …) Créer un compte bancaire bankAccount en renseignant le « customerId » de votre client Récupérer le « bankAccountId » et le « identityId » dans le retour de création du bankAccount
The PAYMENT REQUEST object PAYMENTREQUEST_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 PAYMENTREQUEST_SCT_TRANSACTION_SUCCEEDEDHappen when the SCT transaction of the payment request succeeded
Création du mandat SEPA Après avoir déclaré le compte bancaire « bankAccount » du client et rattaché son profil client « Customer », vous pouvez créer un mandat SEPA « mandate » et collecter la signature électronique de votre client via un code (OTP) envoyé par SMS. Prérequis : vous devez récupérer le « creditorBankAccountId » de votre compte CentralPay correspondant à votre ICS. Vous pouvez le retrouver depuis votre Portail utilisateur en utilisant un profil avec des droits Admin : Administration Mon compte Comptes bancaires Identifiez la ligne présentant votre ICS dans la colonne « IBAN » puis copiez l’UUID associé. 1/ Création et signature d’un nouveau mandat SEPA Créez un mandat SEPA : Créez un « Mandate » Renseignez votre « creditorBankAccountId » Renseignez le « CustomerId » de votre client Renseignez votre Référence Unique de Mandat (RUM) Indiquez le type de mandat que vous souhaitez créer dans la propriété « paymentType » Renseignez le numéro de téléphone de votre client dans la propriété « debtorPhone » Renseignez l’email de votre client dans la propriété « debtorEmail » Indiquez le compte bancaire de votre client en renseignant son « bankAccountId » dans la propriété « debtorBankAccountId » Une fois le mandat SEPA créé : Un « mandateId » sera généré Le statut du mandat sera en « PENDING » Un code à 6 chiffres (OTP) sera envoyé à votre client par SMS (durée de vie 15 min). Vous pouvez renouveler l’envoi de l’OTP. Signez un mandat SEPA : Signez le « Mandate » Collectez le code à 6 chiffres auprès de votre client, et renseignez-le dans la propriété « otp » Renseignez le « mandateId » généré lors de la création du mandat Renseignez l’IP de votre client dans la propriété « endUserIp » Le statut du mandat passera ainsi en « ACTIVE » et le mandat SEPA au format PDF sera envoyé au client par email Schéma de déclaration du compte bancaire et création mandat 2/ Déclaration d’un mandat existant (migration) Dans le cadre d’une migration de mandats déjà créé auprès d’un autre prestataire de paiement, il est possible de désactiver la fonction de signature par OTP sms et d’envoi du mandat SEPA par email. Si c’est votre cas, contactez nos équipes afin d’obtenir plus de détails concernant cette procédure. Prérequis : Les mandats doivent avoir été créés avec votre Identifiant de Créancier SEPA (ICS) Les mandats doivent avoir été créés avec votre entité juridique actuelle Les mandats doivent avoir été dûment signés et acceptés par vos débiteurs Les mandats doivent être encore actifs (<36 mois depuis la dernière transaction)
The PAYOUT object PAYOUT_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
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 Créez une « SDDTransaction » Renseignez l’identifiant du mandat SEPA « mandateId » Renseignez le montant de la transaction en centimes « amount » Renseignez la devise EUR dans la propriété « currency » Renseignez votre identifiant unique de transaction dans la propriété « endToEndIdentification » Renseignez la description de la transaction dans la propriété « remittanceInformation » (cette donnée apparaitra sur le relevé de compte de vos clients) Renseignez l’IP de votre client dans « endUserIp » Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId » Renseignez la date souhaitée de la transaction dans « requestedCollectionDate » Vous pouvez ensuite répéter l’opération à chaque échéance de prélèvement de votre client. [Optionnel] Demander au client une validation par SMS Pour plus de sécurité, vous pouvez configurer un OTP pour la validation de chaque SDDTransaction : un OTP sera alors généré à la création et envoyé à votre client par SMS. Un sddTransactionId sera également généré à la création. Par défaut, la validation des SDDTransaction est automatique. Cette étape est nécessaire que si vous avez configuré une validation OTP pour la SDDTransaction Récupérer auprès de votre client son code secret Nous le transmettre, ainsi que le sddTransactionId. Par cette action, la SDDTransaction sera considéré comme validé et sera donc effectuée. 2/ Transactions SDD depuis les modèles d’abonnement « subscription » 2.1/ Création Vous devez d’abord créer un Customer contenant au moins un Mandate. Ensuite, le service d’abonnement (Subscription) vous permettra d’initier facilement un paiement par abonnement en se basant sur un modèle d’abonnement créé en amont depuis l’API CentralPay ou le Portail utilisateur. 2.2/ Cas d’intégration spécifiques Si le premier paiement de l’abonnement doit être d’un montant supérieur aux échéances suivantes (ex: frais d’inscription), vous pouvez d’abord initier une SDD Transaction seule, puis renseigner une date de démarrage (startingDate) dans l’objet Subscription. Si vous souhaitez simplement faire démarrer un abonnement à une date précise (ex : date d’entrée en vigueur de votre contrat), vous pouvez renseigner une date de démarrage (startingDate) dans l’objet Subscription. 3/ Transactions SDD en paiement fractionné « Installment » 3.1/ Création Vous devez d’abord créer un Customer contenant au moins un Mandate. Ensuite, le service de paiement fractionné (Installment) vous permettra d’initier facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête.
The REFUND object REFUND_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
R-transaction SDD 1/ Remboursement de prélèvement SEPA Il n’est pour l’instant pas possible de réaliser un remboursement sur un prélèvement SEPA (date : 06/06/2024). Veuillez contacter CentralPay pour plus d’informations. 2/ Rejet et contestations de prélèvement SEPA Les rejets et contestations de prélèvements SEPA sont émis par les banques de vos clients. Ils sont représentés dans votre compte CentralPay par les opérations « SDD Transaction Reversal ». Un rejet de prélèvement SEPA est émis par la banque avant la mise à disposition des fonds au créancier (sous 2 à 5 jours). Voici les principaux motifs de rejet des prélèvements SEPA Core : Provisions insuffisantes : le compte bancaire du débiteur ne dispose pas de fonds suffisants pour réaliser l’opération. Compte clôturé : le compte bancaire du débiteur a été fermé. Coordonnées bancaires incorrectes : l’IBAN ou BIC utilisé est incorrect, ou le compte n’est pas en devise EUROS. Une contestation de prélèvement SEPA peut être émise par le débiteur jusqu’à 13 mois après l’opération. C’est le principal facteur de risque financier de ce moyen de paiement. Voici les principaux motifs de contestation des prélèvements SEPA Core : Contestation de l’opération (sous 8 semaines max) : le mandat SEPA est valide, mais le client conteste l’opération auprès de sa banque pour quelconque motif. L’opération est entièrement remboursée et des frais de contestation sont applicables au créancier. Le délai est de 70 jours pour les banques hors de l’Union européenne ou de l’Espace Économique Européen. Contestation pour absence de mandat (sous 13 mois max) : le mandat SEPA n’est pas valide (absence de mandat, mauvais signataire…), le client conteste les opérations réalisées. Les opérations sont entièrement remboursées et des frais de contestation sont applicables au créancier. Pour en savoir plus, consultez la liste complète des codes de rejets et contestation de prélèvement SEPA : Codes de retour SDD
The SCT Transaction object SCT_TRANSACTION_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
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…) Consulter la liste complète des codes de rejet SDD 2/ Statuts liés aux prélèvements SEPA Statuts « SDD Transaction » Statuts SDD Transaction Statuts « Mandate » Statuts MANDATE Statuts « bankAccount » [à compléter] Statuts « Subscription » Statuts SUBSCRIPTION Statuts « Installment » Statuts INSTALLMENT 3/ Webhooks liés aux prélèvements SEPA Webhooks « SDD Transaction » Webhooks SDD Transaction Webhooks « Mandate » Webhooks Mandate Webhooks « Bank Account » Webhooks BankAccount Webhooks « Customer » Webhooks Customer Webhooks « Subscription » Webhooks Subscription Webhooks « Installment » Webhooks Installment
The SDD TRANSACTION object SDDTRANSACTION_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
Informations générales Introduction L’initiation de paiement (ou Pay by Bank) permet d’adresser des demandes de virement à ses clients, directement dans leur application bancaire. CentralPay transmet le montant, l’IBAN bénéficiaire et la référence, afin qu’ils n’aient plus qu’à valider l’émission du virement. Que votre client ait émis un virement classique ou instantané, vous recevez immédiatement un avis de virement pour vous informer de son émission. Ce moyen de paiement constitue une bonne alternative, car il permet de contourner certaines problématiques propres aux cartes (plafond) ou aux virements (erreurs de références, délais de traitement). 1/ Création d’une Initiation de paiement L’Initiation de paiement sera prochainement disponible depuis le service de demandes de paiement uniquement.
Retours, statuts et webhooks 1/ Retours liés aux Initiations de paiement [à compléter avec les codes de retour banque liés aux remboursements de SCT Transaction s’il en existe] 2/ Statuts liés aux Initiations de paiement Statuts « Payment Request » Statuts Payment Request Statuts « SCT Transaction » Statuts SCT Transaction Statuts « Refund » Statuts Refund 3/ Webhooks liés aux Initiations de paiement Webhooks « Payment Request » Webhooks Payment Request Webhooks « SCT Transaction » Webhooks SCT Transaction Webhooks « Refund » Webhooks Refund Webhooks « Customer » Webhooks Customer
The MANDATE object MANDATE_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" }
Abonnement Introduction Le service d’abonnement vous permet se réaliser automatiquement des transactions récurrentes sur vos profils clients en se basant sur un modèle d’abonnement défini en amont depuis l’API CentralPay ou le Portail utilisateur. Il est ensuite possible d’ajouter des échéances ou de modifier leur montant à la volée depuis les services Invoice & Invoice Item. Ce service permet de générer soit des transactions carte, soit des transactions SDD (prélèvement SEPA). Définitions utiles pour cette section :– SubscriptionModel : modèle d’abonnement (définissant le montant et la fréquence d’abonnement)– Subscription : abonnement appliqué à un client– Invoice : facture, option à utiliser si vous devez modifier la valeur à l’intérieur d’un plan d’abonnement– InvoiceItem : ligne ou article inclus dans la facture. Une facture a potentiellement plusieurs lignes ou éléments Le service "Subscription" n'est pas le seul moyen de réaliser des transactions récurrentes. Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement. 1/ Créer un modèle d’abonnement (subscriptionModel) Accès modèles d’abonnements – Portail utilisateur de RCT Accès modèles d’abonnements – Portail utilisateur de PROD Le subcriptionModel vous permet de pouvoir créer différents types d’abonnements en fonction de vos services proposés. Par exemple, si vous avez à votre disposition deux types d’offre d’abonnement, le premier en utilisant les caractéristiques de base de votre service et l’autre en utilisant les fonctionnalités avancées, vous allez devoir créer deux modèles : Un pour l’offre d’abonnement « basique » Un pour l’offre d’abonnement « avancé » Chaque « SubscriptionModel » possède un ID unique. Vous fournirez cet identifiant dans vos requêtes API lorsque vous souhaiterez appliquer un abonnement à un client sur la base de ce modèle. Vous pouvez utiliser les attributs suivants : amount : montant à renseigner en centimes intervalUnit : DAY / WEEK / MONTH / YEAR (jour / semaine / mois / année) intervalCount : nombre de « intervalUnit » entre deux échéances (ex : si intervalUnit = DAY et intervalCount = 10, alors il y aura une transaction tous les 10 jours). iterationCount : nombre d’échéances (attention la première transaction n’est pas comptabilisée dans ce paramètre, elle s’ajoute donc à ce nombre). Exemple : amount = 3000 intervalUnit = DAY intervalCount = 3 iterationCount = 3 Ainsi votre modèle d’abonnement sera configuré pour facturer à votre client 30,00 EUR tous les 3 jours pendant 4 échéances (pour un total d’un abonnement de 12 Jours). 2/ Créer un abonnement (subscription) Pour créer un abonnement, vous devez d’abord créer un Customer contenant au moins : une Card (si vous souhaitez opérer des transactions carte) ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA). Vous pouvez ensuite créer une Subscription : Selon le moyen de paiement souhaité : pour des transactions carte : renseignez l’identifiant du profil client « customerId » pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate » pour des transactions entre comptes CentralPay : renseignez l’identifiant du compte émetteur « walletId » Renseignez l’identifiant du modèle d’abonnement « subscriptionModelId » Renseignez l’IP de votre client dans « endUserIp » Renseignez l’identifiant de votre point de vente CentralPay dans « pointOfSaleId » Notez qu’à la création d’un abonnement, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent, de changer sa carte bancaire ou son mandat SEPA et de résilier un abonnement si besoin est. Un client pouvant à tout moment résilier son abonnement depuis le portail client mis à sa disposition. Veillez à vous inscrire aux webhooks d'annulation d'abonnement. Si votre abonnement comprend une période d'engagement, il est préférable d'utiliser la méthode d'abonnement par transactions successives, ou demander à CentralPay de ne pas diffuser le lien vers le portail client. 3/ Automatisation des nouvelles tentatives en cas d’échec En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur. Accès paramétrages abonnements – Portail utilisateur de RCT Accès paramétrages abonnements – Portail utilisateur de PROD Comportement des champs : Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay Sélection d’une valeur de 4 à 23 1er échec de paiement de facture : comportement en cas d’un premier échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. 2nd échec de paiement de facture : comportement en cas d’un deuxième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. 3eme échec de paiement de facture : comportement en cas d’un troisième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système appliquera directement l’action finale, sans prendre en compte les actions suivantes. Action finale : comportement si les actions précédentes ont échoué CANCELED = Annulation de l’abonnement (modification du statut de l’abonnement en CANCELED) FAILURE = Échec de l’abonnement (modification du statut de l’abonnement en FAILURE) UNPAID = Abonnement impayé (modification du statut de l’abonnement en FAILURE + envoi de hook SUBSCRIPTION_UNPAID) 4/ Fonctions d’annulation des abonnements Il existe deux fonctions d’annulation d’abonnement depuis l’API, le Portail Utilisateur ou le Portail Client : Annuler : l’abonnement est annulé immédiatement Annuler en fin de période : l’abonnement sera annulé à la fin de l’échéance en cours (afin de laisser l’abonné bénéficier de votre service durant sa dernière période payée). Par API, vous devrez renseigner le champ « atPeriodEnd ». Note : Durant ce laps de temps, vous pouvez réactiver l’abonnement avec le service « reactivate » des Subscription. Les abonnements dont l'ensemble des échéances ont été réalisées passent automatiquement en statut CANCELED. 5/ Modifier le montant d’une échéance d’abonnement CentralPay crée un invoice pour chaque échéance d’un abonnement (Subscription), selon le modèle d’abonnement associé (subscriptionModel). Vous pouvez procéder à des actions manuelles à n’importe quel moment pour modifier les échéances (invoice) d’un abonnement (subscription). Vous trouverez ci-dessous une liste d’actions possibles : Modifier le montant d’une échéance : Le service invoiceItem vous permet de modifier le montant d’une échéance (invoice) en renseignant un montant positif ou négatif qui s’additionnera au montant initial de l’échéance. L’invoiceItem sera pris en compte lors de la prochaine échéance de l’abonnement, qu’elle soit créée manuellement ou automatiquement. Vous avez également la possibilité de spécifier une échéance donnée dans votre requête en renseignant un invoiceId. Créer une échéance supplémentaire : les échéances (invoice) dites « périodiques » sont créées automatiquement selon votre subscriptionModel. Vous avez la possibilité de créer d’autres échéances ponctuelles sur votre abonnement en créant une invoice. Supprimer un invoiceItem non traité : s’il n’est pas encore lié à une facture Fermer une échéance à venir : si vous souhaitez que CentralPay ne réalise pas le prélèvement d’une échéance (et/ou ses nouvelles tentatives automatiques), vous pouvez fermer cette dernière depuis le service « close » de l’invoice. Au besoin vous pourrez rouvrir cette échéance via le service « reopen » de l’invoice, si elle n’a pas été payée ou qu’il reste des nouvelles tentatives programmées. Forcer le paiement d’une échéance : les transactions sont effectuées automatiquement par le service d’abonnement, vous pouvez cependant initier la transaction en avance ou réaliser une nouvelle tentative manuellement avec le service « pay » de l’invoice. Ces paiements « manuels » ne sont pas comptabilisés par le système de nouvelles tentatives automatisées. Cette action peut être effectuée sur une facture fermée. 6/ Schéma complet de création d’un abonnement
The TRANSACTION object TRANSACTION_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_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
Fractionné Introduction Le paiement fractionné permet de découper le règlement d’une facture en plusieurs échéances. CentralPay prélève ensuite la carte du client selon un échéancier défini lors de la première transaction. Il peut être utilisé pour proposer un étalement de règlement à votre client ou pour automatiser un règlement type « acompte/solde ». Contrairement aux abonnements, un client ne peut pas résilier un paiement fractionné depuis le portail client. CentralPay vous aide à recouvrer les échéances dues par vos clients avec un système de nouvelles tentatives automatisées en cas d’échec de prélèvement. Cependant, CentralPay ne garantie pas les sommes dues à l’aide d’un crédit ou d’un système de financement de créances. Le service "Installment" n'est pas le seul moyen de réaliser des transactions récurrentes. Consultez la page Transaction carte récurrente ou la page Transaction par prélèvement pour prendre connaissance du détail par moyen de paiement. 1/ Créer un paiement fractionné Vous devez d’abord créer un Customer contenant au moins : une Card (si vous souhaitez opérer des transactions carte) ou un Mandate (si vous souhaitez opérer des transactions par prélèvement SEPA). Ensuite, le service Installment vous permettra de créer facilement un paiement fractionné en se basant sur les éléments renseignés dans votre requête. Vous pouvez ensuite créer un Installment: Selon le moyen de paiement souhaité : pour des transactions carte : renseignez l’identifiant du profil client « customerId » pour des transactions par prélèvement SEPA : renseignez l’identifiant du mandat SEPA « mandateId » et renseignez la date souhaitée de la transaction dans « requestedCollectionDate » Renseignez le montant en centimes « amount » Renseignez la devise en format ISO « currency » Renseignez l’IP de votre client dans « endUserIp » Renseignez les paramètres de fractionnement « iterationCount », « intervalCount » et « intervalUnit » Avec ce service, il est également possible : d’imputer des frais supplémentaires à votre client (feeAmount) : pour la mise à disposition de cet étalement des paiements de définir un montant d’acompte qui sera déduit du montant total (depositAmount). Cet acompte peut également être défini à une date spécifique (depositStartingDate). de définir une date de démarrage du paiement fractionné (startingDate) : si l’on souhaite par exemple que l’acompte soit réglé tout de suite, et que les premières échéances soient prélevées à partir d’une certaine date. Notez qu’à la création d’un paiement fractionné, votre client reçoit automatiquement un email contenant le détail de ses échéances. Cet email contient également un lien vers notre Portail client qui lui permet de visualiser le statut de ses paiements récurrent et de changer sa carte bancaire ou son mandat SEPA si besoin est. 2/ Exemple de paiement fractionné Vous souhaitez facturer à votre client 1 000 € divisés en 3 mois à partir du 05/07/2024, avec un acompte de 200 € le 28/06/2024 et ajouter un frais supplémentaire de 10 € : amount =100000 depositAmount = 20000 feeAmount = 1000 currency = EUR intervalUnit = MONTH intervalCount = 1 iterationCount = 3 depositStartingDate = 2024-06-28 startingDate = 2024-07-05 Le plan de fractionnement sera le suivant : 28/06/2024 = 200,00 € (acompte) 05/07/2024 = 276,68 € (premier fractionnement + ajustement arrondis + frais supplémentaires) 05/08/2024 = 276,66 € (deuxième fractionnement) 05/09/2024 = 276,66 € (troisième fractionnement) Les arrondis sont appliqués au premier paiement (hors acompte). 3/ Automatisation des nouvelles tentatives en cas d’échec En cas d’échec de prélèvement d’une échéance, CentralPay réalise de nouvelles tentatives de prélèvement selon les paramètres définis dans le Portail utilisateur : Accès paramétrages paiements fractionnés – Portail utilisateur de RCT Accès paramétrages paiements fractionnés – Portail utilisateur de PROD Comportement des champs : Heure de transaction : heure à laquelle les échéances de prélèvement seront réalisées par CentralPay Sélection d’une valeur de 4 à 23 1er échec de paiement : comportement en cas d’un premier échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la transaction initiale Stop = le système ne réalisera pas de nouvelle tentative de prélèvement. 2nd échec de paiement : comportement en cas d’un deuxième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de deuxième nouvelle tentative de prélèvement. 3eme échec de paiement : comportement en cas d’un troisième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de troisième nouvelle tentative de prélèvement. 4eme échec de paiement : comportement en cas d’un quatrième échec de prélèvement Réessayer dans 1, 3, 5 ou 7 jours = nouvelle tentative de prélèvement à J+X après la précédente tentative Stop = le système ne réalisera pas de quatrième nouvelle tentative de prélèvement.
3DS 2.2 BRW (paiement unitaire) Téléchargement des sources 3DS 2.0 Vous pouvez télécharger les sources ici : 3ds2.zip Introduction Tout ce processus doit se dérouler sur la même page web (ceci est une contrainte du process bancaire). Les grandes étapes du 3D Secure 2.0 : Consultez un exemple de formulaire de paiement CUSTOM intégrant le 3DS 2.0 1) Versioning Cette étape consiste à adresser le PAN de la carte à l’API Centralpay. Exemple de code Curl : curl -v POST 'https://test-api.centralpay.net/v2/rest/3ds2/versioning' \ -h 'Content-Type: application/x-www-form-urlencoded' \ -u 'doctest:4I9HJRTd' \ -d 'acctNumber=4000001000000067' En réponse : Si la carte n’est pas 3DS 2.0, le versioning vous retournera une erreur 404. Cela signifie que la carte utilisée n’est pas enrôlée 3DS 2.0 et que la transaction ne peut pas se faire en 3DS 2.0. Si la carte est 3DS 2.0, vous recevrez un UUID identifiant l’opération jusqu’au résultat final + les données nécessaire pour réaliser le « 3DS Method » (URL + base64) Deux réponses au Versionning sont possibles si la carte est 3DS 2.0 : Version 1 (la plus fréquente) : { "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL":"https://test-3dss-demo.centralpay.net/acs/3ds-method", "threeDSMethodDataForm":{ "threeDSMethodData":"eyJ0aHJlZURTTWV0aG9kTm90aWZ pY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0LTNkc3MuY2VudHJ hbHBheS5uZXQvM2RzLzNkcy1tZXRob2Qtbm90aWZpY2F0aW9 uLyIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiOWNjNmIzM2M tZGQzNS00ZmJkLTgxY2QtZmQ5Y2YwYWVlZDljIn0=" }, "errorDetails":null } Cette réponse est renvoyée quand la banque a besoin de l’acs url dans la requête de l’authentification. Le process 3DS Method est alors nécessaire, vous pouvez passer au point 2 : 3DS METHOD. Version 2 : { "threeDSServerTransID":"7d031b8e-7fb7-4215-b866-eaacb395002f", "threeDSMethodURL": null, "threeDSMethodDataForm": null, "errorDetails": null } Cette réponse est renvoyée quand la banque n’a pas besoin de l’acs url dans la requête de l’authentification.Le versioning renvoie une réponse où seul « threeDSServerTransID » possède une valeur non null. Le process 3DS Method n’est alors pas nécessaire, vous pouvez passer au point 3 : 3DS AUTHENTICATION BRW. 2) 3DS METHOD Lorsque le versioning renvoi les champs threeDSMethodURL et threeDSMethodDataForm en « Non Null », le process 3DS Method est alors nécessaire.Cette fonction a pour but de poster la donnée base64 reçue du versioning vers l’ACS.Le formulaire iframe doit être réalisée par le navigateur client vers la banque simultanément avec l’authentification.Il faut réaliser une iFrame cachée qui servira à poster la donnée base64 (threeDSMethodData) à l’URL reçue dans le versioning (threeDSMethodURL). 3) 3DS AUTHENTICATION BRW L’appel devra être adressé vers l’url suivante de l’API CentralPay : « 3ds2/authentication »Cette requête permet l’envoi des données contextuelles liées au porteur Exemple d’appel (curl code) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'threeDSServerTransID=7d031b8e-7fb7-4215-b866-eaacb395002f' \ --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \ --data-urlencode 'deviceChannel=02' \ --data-urlencode 'messageCategory=01' \ --data-urlencode 'purchaseAmount=1000' \ --data-urlencode 'purchaseCurrency=EUR' \ --data-urlencode 'threeDSRequestorAuthenticationInd=01' \ --data-urlencode 'browserJavaEnabled=true' \ --data-urlencode 'browserLanguage=fr-FR' \ --data-urlencode 'browserColorDepth=24' \ --data-urlencode 'browserScreenHeight=1052' \ --data-urlencode 'browserScreenWidth=1853' \ --data-urlencode 'browserTZ=120' \ --data-urlencode 'browserIP=127.0.0.1' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' \ --data-urlencode 'browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ --data-urlencode 'notificationURL=http://dev4.dev.centralpay.net:1101/requestor/challenge-notification' \ --data-urlencode 'threeDSRequestorURL=https://www.centralpay.eu' L’api va retourner un statut de transaction (« transStatus »), voici les valeurs et leurs significations : Pas d’autorisation (ne pas faire la transaction) : N = Non authentifié /Compte non vérifié. Transaction refusée. U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq. R = Authentification/vérification du compte rejetée. l’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS. Autorisation sans challenge : Y = Vérification de l’authentification réussie. A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie. Autorisation après challenge : C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes. D = Challenge requis. Authentification découplée confirmée. Exemples de réponses possibles : C = Challenge requis : {"threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f","transStatus": "C","acsURL": "https://test-3dss-demo.centralpay.net/acs/challenge","acsChallengeMandated": "Y","base64EncodedChallengeRequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImU2MDFlYjQ0LTU2N2MtNDM4Ny05MmZjLWU2ZjIzMjJiODIyYiIsImFjc1RyYW5zSUQiOiI3ZTQzZDI4ZC00M2RkLTRmM2MtYTcwOS00YjZkZDVlZjc5Y2QiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=","contractId": "71602dd0-2790-4743-877b-e72530d7576d"} Le Challenge est nécessaire. Y = authentification réussie : { "threeDSServerTransID": "7d994177-32d8-43f7-87a4-3a3cd734cbfe", "transStatus": "Y", "authenticationValue": "MTIzNDU2Nzg5MDA5ODc2NTQzMjEa", "eci": "02", "contractId": "71602dd0-2790-4743-877b-e72530d7576d" } Le Challenge n’est pas nécessaire.Les champs requis au 3DS 2.0 sont dans la réponse (threeDSServerTransID, transStatus, authenticationValue (cavv), eci). Note : Le xid n’est pas fourni, car il s’agit d’une référence libre pour les marchands. N = Transaction refusée : { "threeDSServerTransID": "6396b832-3e5b-4143-bde6-f5r1c1e47da0", "transStatus": "N", "eci": "00", "contractId": "258128f3-5db9-4235-918a-f1d786f67c29" } Transaction refusée. 4) Challenge Lorsque la réponse de l’authentification est « C« , l’utilisateur doit effectuer un challenge, une Iframe doit alors soumettre un formulaire à l’url (acsURL) retournée par l’API lors de l’appel à « 3ds2/authentication ». Le seul paramètre envoyé est : creq qui comprend la valeur base64EncodedChallengeRequest qui provient de l’appel à « 3ds2/authentication ». A la fin du challenge, l’url configurée (paramètre notificationURL ) dans l’appel « 3ds2/authentication » est appelée. Voici ce que vous aurez dans notre environnement de test pour l’affichage du Challenge OTP (dans des conditions de PROD, la fenêtre affichée sera celle de l’ACS) : Voici les OTP en environnement test : 1234 retourne Y pour Challenge réussi 4444 retourne A pour Challenge réussi 1111 retourne N pour Challenge échoué 2222 retourne R pour Challenge échoué 3333 retourne U pour Challenge échoué 5) Réponse À l’issue du challenge, les informations concernant celui-ci sont disponibles dans la variable « finalCresValue » Pour récupérer les informations de cette valeur base 64 il faut la décoder, voici un exemple en php : $retour = json_decode(base64_decode($_POST['cres']), true) Si celui-ci est égal à Y ou A alors le client a effectué le challenge correctement et le paiement est autorisé, vous devrez alors appeler GET /results afin de connaitre les données nécessaire aux 3DS 2.0 pour votre transaction. Si le statut de transaction est égal à une autre valeur, alors le client n’a pas effectué le challenge correctement et le paiement est refusé. 6) Résultat Pour connaitre les données 3DS 2.0 à renseigner à la création d’une transaction 3DS 2.0, vous devrez adresser le threeDSServerTransID de l’authentification 3DS 2.0 préalablement effectuée. Rappel : Si vous avez obtenu un transStatus à « Y » en réponse de l’authentification, les données 3DS 2.0 sont déjà contenu dans celui-ci. Appel : curl --location -g --request GET 'https://test-api.centralpay.net/v2/rest/3ds2/results/{{threeDSServerTransID}}' \ --header 'Authorization: Basic e3tERUZBVUxUX1VTRVJ9fTp7e0RFRkFVTFRfUEFTU1dPUkR9fQ==' Réponse : { "threeDSServerTransID": "7d031b8e-7fb7-4215-b866-eaacb395002f", "transStatus": "Y", "authenticationValue": "JAmi21makAifmwqo2120cjq1AAA=", "eci": "01" } 7) Transaction Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 : 3ds[threeDSServerTransID] = threeDSServerTransID 3ds[status] = transStatus 3ds[cavv] = authenticationValue 3ds[eci] = eci 3ds[xid] = Paramètre Custom destiné aux marchands. Exemple d’une transaction 3DS 2.0 : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \ --header 'Origin: https://example.centralpay.net' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'currency=EUR' \ --data-urlencode 'amount=1500' \ --data-urlencode 'endUserIp=9.64.32.8' \ --data-urlencode 'endUserLanguage=ita' \ --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \ --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \ --data-urlencode 'browserAcceptLanguage=it_IT' \ --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'receiptEmail=support@centralpay.eu' \ --data-urlencode 'capture=true' \ --data-urlencode 'cardTokenId=5b9nb5cf-4470-4e58-b690-dd8965860eb8' \ --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \ --data-urlencode 'order[firstName]=John' \ --data-urlencode 'order[lastName]=Doe' \ --data-urlencode 'source=EC' \ --data-urlencode '3ds[xid]=35876533346561303461' \ --data-urlencode '3ds[cavv]=JAmi21makAifmwqo2120cjq1AAA=' \ --data-urlencode '3ds[eci]=01' \ --data-urlencode '3ds[status]=Y' \ --data-urlencode '3ds[threeDSServerTransID]=7d031b8e-7fb7-4215-b866-eaacb395002f'
The TRANSFER REVERSAL object TRANSFERREVERSAL_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" }
3DS 2.2 3RI (paiements récurrents) Prérequis Afin de réaliser une transaction en 3DS 2.0 3RI, il faut que l’utilisateur ait déjà réalisé une transaction 3DS 2.0 avec une authentification BRW.Une fois celle-ci effectuée, gardez le acsTransId qui est envoyé, il faudra le passer dans threeDSReqPriorRef. 1/ 3DS AUTHENTICATION RI L’appel devra être adressé vers l’URL suivante de l’API CentralPay : « 3ds2/authentication » Le acsTransId que vous avez gardé de l’authentification BRW doit être mis dans threeDSReqPriorRef. Si l’api vous retourne un statut de transaction (« transStatus ») à « Y » l’authentification 3RI est autorisé. Voici les valeurs possibles de transStatus et leur signification : Y = Vérification de l’authentification réussie. N = Non authentifié /Compte non vérifié. Transaction refusée. U = L’authentification/la vérification du compte n’a pas pu être effectuée. Problème technique ou autre, comme indiqué dans ARes ou RReq. A = Traitement des tentatives effectué. Non authentifié/vérifié, mais une preuve de tentative d’authentification/vérification est fournie. C = Challenge requis. Une authentification supplémentaire est requise en utilisant le CReq/CRes. D = Challenge requis. Authentification découplée confirmée. R = Authentification/vérification du compte rejetée. L’émetteur rejette l’authentification/vérification et demande de ne pas tenter d’autorisation. I = Information seulement. Reconnaissance de la préférence du demandeur pour le défi 3DS. Exemple d’appel 3RI (curl code) : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/3ds2/authentication' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \ --data-urlencode 'pointOfSaleId=08960d92-874b-4447-800b-aaa53fa976f5' \ --data-urlencode 'deviceChannel=03' \ --data-urlencode 'messageCategory=02' \ --data-urlencode 'acctType=03' \ --data-urlencode 'cardExpiryDate=9999' \ --data-urlencode 'purchaseAmount=4880' \ --data-urlencode 'purchaseCurrency=978' \ --data-urlencode 'purchaseExponent=2' \ --data-urlencode 'purchaseDate=20230101122345' \ --data-urlencode 'recurringExpiry=20330101' \ --data-urlencode 'recurringFrequency=0' \ --data-urlencode 'chAccAgeInd=03' \ --data-urlencode 'chAccChange=20220901' \ --data-urlencode 'chAccDate=20220901' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'nbPurchaseAccount=2' \ --data-urlencode 'paymentAccAge=20221001' \ --data-urlencode 'paymentAccInd=03' \ --data-urlencode 'threeDSReqPriorAuthMethod=02' \ --data-urlencode 'threeDSReqPriorAuthTimestamp=202209010123' \ --data-urlencode 'threeDSReqPriorRef=7d031b8e-7fb7-4215-b866-eaacb395002f' \ --data-urlencode 'threeDSRequestorDecReqInd=N' \ --data-urlencode 'threeDSRequestorAuthenticationInd=02' \ --data-urlencode 'threeDSRequestorChallengeInd=02' \ --data-urlencode 'threeRIInd=01' Explication de certains paramètres deviceChannel 03 -> 3DS Requestor Initiated (3RI) messageCategory 02 -> La valeur 02 force la transaction en 3RI. purchaseAmount -> Montant de l’achat courant purchaseCurrency -> Monnaie au format ISO purchaseExponent -> Unité mineure de la monnaie courante purchaseDate -> Date de l’achat recurringExpiry -> Date à laquelle il n’y aura plus d’autorisations qui pourront être effectuées recurringFrequency -> Nombre de jours minimums entre deux autorisations. acctType -> Debit chAccAgeInd -> Durée pendant laquelle le titulaire de la carte possède le compte auprès du demandeur 3DS. Les valeurs acceptées sont : 01 -> Pas de compte 02 -> Créé durant la transaction 03 -> Moins de 30 jours 04 -> Entre 30 et 60 jours 05 -> Plus de 60 jours. chAccChange -> Date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Format de la date = YYYYMMDD. chAccDate -> Date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Format de la date = YYYYMMDD. nbPurchaseAccount -> Nombre d’achats effectués avec ce compte de titulaire de carte au cours des six derniers mois. paymentAccAge -> Date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. paymentAccInd -> Indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs acceptées sont : 01 -> Pas de compte 02 -> Créé durant la transaction 03 -> Moins de 30 jours 04 -> Entre 30 et 60 jours 05 -> Plus de 60 jours. threeDSReqPriorAuthMethod 02 -> Vérification du porteur de carte effectué par l’ACS. threeDSReqPriorAuthTimestamp -> Date et heure en UTC de l’authentification précédente. Le format de date accepté est YYYYMMDDHHMM. threeDSReqPriorRef -> Le champ doit contenir la valeur « acsTransId » de la transaction 3DS BRW précédente. threeDSRequestorDecReqInd N -> Ne pas utiliser l’authentification découplée. threeDSRequestorAuthenticationInd 02 -> Transaction récurrente threeDSRequestorChallengeInd 02 -> Pas de Challenge requis threeRIInd 01 -> Transaction récurrente Exemple de réponse : { "threeDSServerTransID": "67dc456c-6c7a-987f-92cf-f68752525d0c", "transStatus": "Y", "eci": "02", "contractId": "fb8736a5-8741-19b6-9d38-ec135888e0bf" } 2/ Transaction Les données suivantes sont nécessaires afin de valider une transaction en 3DS 2.0 : 3ds[threeDSServerTransID] = threeDSServerTransID (ajouter le nouveau génerer par l’authentification 3RI) 3ds[status] = transStatus 3ds[eci] = eci 3ds[xid] = Paramètre Custom destiné aux marchands. Lors d’une transaction en 3RI, il ne faut pas envoyer le 3ds[cavv]. Exemple d’une transaction 3DS 2.0 : curl --location --request POST 'https://test-api.centralpay.net/v2/rest/transaction' \ --header 'Origin: https://example.centralpay.net' \ --header 'Authorization: Basic ZG9jdGVzdDo0STlISlJUZA==' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'currency=EUR' \ --data-urlencode 'amount=1500' \ --data-urlencode 'endUserIp=9.64.32.8' \ --data-urlencode 'endUserLanguage=ita' \ --data-urlencode 'merchantTransactionId=cpcg_12654de89ce44' \ --data-urlencode 'pointOfSaleId=1beb8574-cf4c-4b12-b065-d12b3f0eaa90' \ --data-urlencode 'browserUserAgent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1' \ --data-urlencode 'browserAcceptLanguage=it_IT' \ --data-urlencode 'paymentRequestBreakdownId=5485d7e6-60c3-753c-94d3-682eaaf9ae6e' \ --data-urlencode 'email=support@centralpay.eu' \ --data-urlencode 'receiptEmail=support@centralpay.eu' \ --data-urlencode 'capture=true' \ --data-urlencode 'customerId=aae4d8c0-a555-4c2f-bfdf-18d5636b78a4' \ --data-urlencode 'cardId=44d0691b-b117-4799-ba07-31e0b02c5b08' \ --data-urlencode 'order[cardholderEmail]=support@centralpay.eu' \ --data-urlencode 'order[firstName]=John' \ --data-urlencode 'order[lastName]=Doe' \ --data-urlencode 'source=EC' \ --data-urlencode '3ds[xid]=35876533346561303461' \ --data-urlencode '3ds[eci]=02' \ --data-urlencode '3ds[status]=Y' \ --data-urlencode '3ds[threeDSServerTransID]=67dc456c-6c7a-987f-92cf-f68752525d0c'
The TRANSFER object TRANSFER_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" }
FAQ 3DS 2.2 Foire aux questions autour du 3-D Secure 2.0. Existe-t-il des cartes de test pour des transactions 3DS2 en environnement RCT ? Consultez la liste des cartes de tests de l’environnement de RCT Ma transaction a reçu le code retour banque 5, qu’est-ce que ça signifie ? Cela signifie, que la banque refuse sans donner de statut particulier.Cela peut être un code CVV erroné ou une autre décision que nous ne connaissons pas.Ce statut ne permet pas d’affirmer que la banque n’acceptera pas l’autorisation après d’autres tentatives. Ma transaction a reçu le code retour banque 12, qu’est-ce que ça signifie ? Cela signifie que la banque refuse sans donner de statut particulier.La raison peut être : – Simplement une transaction invalide – Un code 75 de la part de la banque émetteur (le code PIN de la carte a été trop de fois incorrecte) – Un CVV erroné (fournit par l’ACS lors d’une authentification 3DS) – Ou une autre décision que nous ne connaissons pas. L’API transaction me retourne une erreur « Soft Decline » pourtant le paramètre « threeDSServerTransID » est bien celui retourné par le cres.Comment devons-nous interpréter ce retour et que devons-nous faire ? Le soft decline est renvoyé par la banque lorsque que le 3DS n’est pas présent dans la transaction.Il faut vérifier s’il manque des champs présentés dans cette partie de la documentation : https://ref-api.centralpay.net/payment#106-3ds-sub-object Ma requête du Versioning me retourne une erreur « 404 » avec le message « Card account number not found in card ranges from Directory Server ».Qu’est-ce que ça signifie et que dois-je faire ? Cela signifie que la carte utilisée n’est pas enrôlée 3DS2.0 et que la transaction ne peut pas se faire en 3DS2.0.Pour ce cas, nous conseillons de prévoir un basculement vers un paiement en 3DS1 pour ce genre de carte. La réponse de la requête Result nous a renvoyé le transStatus à U.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? La valeur U de transStatus en réponse de la requête result signifie que l’authentification ou la vérification n’a pas pu se faire suite à un problème technique ou autres problèmes.Du côté du smart form lors du challenge avec la requête result, seules les valeurs Y et A permettent de valider le challenge et continuer le paiement.Les autres valeurs font échouer le challenge et le paiement.Mais dans le cas d’un custom form le fonctionnement peut être différent, vous pouvez utiliser la valeur U pour faire une nouvelle tentative de challenge et si ça échoue encore alors le paiement passe en 3DS1 ou est refusé, ou alors pour directement retenter le paiement en 3DS1 ou le considérer comme un échec de paiement.Ces différents cas sont possibles à réaliser. Nous avons soumis le formulaire à l’URL retournée par l’authentication avec le base64EncodedChallengeRequest.Mais le client est aussitôt revenu sur notre site sans CRES mais avec un paramètre ERROR contenant la valeur « eyJ0aHJlZURTU…Mi4xLjAifQ== » ainsi que le paramètre « THREEDSSESSIONDATA » qui lui était vide.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? Lorsque vous avez un retour de ce genre, il faut vérifier que votre processus du 3DS2 se déroule bien sûr une seule et même page avec la solution d’un iframe.Si le processus est conforme, alors contactez le support technique avec les informations nécessaires. Pour rappel, toutes les étapes du formulaire se réalisent sur une seule et même page sans redirection vers une page bancaire ou autre.Cela se fait grâce à la solution de l'Iframe.Toute la procédure du 3DS2.0 se passe sur la même page ! Nous avons reçu une erreur 303 : « acquirerBIN, acquirerMerchantID not recognized » lors d’un appel à l’authentication.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? Il s’agit soit du contrat qui n’est pas 3DS2, soit d’autres problèmes.Dans le cas d’un autre problème, il faut alors contacter le support technique en fournissant le numéro de contrat monétique (si connu) et les autres informations pouvant être nécessaire. Sur l’étape d’authentication, nous avons eu une erreur 203 : « Validation of 3DS Requestor Authentication data failed.Data element not in the required format or value is invalid » pour le champ merchant.merchantName.Comment devons-nous interpréter ce retour et que devons-nous faire dans ce cas ? L’erreur 203 signifie qu’il y a un caractère invalide dans le paramètre « merchant.merchantName ». Lors d’un test d’appel de la fonction 3DS2 « authentication », l’erreur suivante est retournée dans la clé « card data » : « There is no unique source of card ».Qu’est-ce que cela signifie ? L’erreur « There is no unique source of card » est commune à toute la plateforme et est présent lorsque vous envoyez des informations de cartes deux fois : par exemple via un cardToken et un cardId ou un PAN et un cardToken etc…
The WIRETRANSFER object (Deprecated) WIRETRANSFER_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
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, 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.
Création de compte de ME Introduction Prochainement Schéma de création d’un compte de ME limité Schéma de validation KYC d’un compte de ME
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 » StatutDescriptionRETRIEVAL_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.CANCELLEDThe subscription has been cancelled either by you or by your Customer via the customer portal.
Informations générales 1/ Introduction La solution EasyWallet permet aux plateformes d’encaisser des paiements et de les transférer à des tiers tout en respectant la réglementation européenne. Pour ce faire, le module comprend deux principaux services : L’inscription : permettant la création de comptes de paiement et de monnaie électronique pour les marchands ou participants d’une plateforme. Le transfert : permettant le transfert des transactions vers ces comptes de paiement et de monnaie électronique. Selon le modèle de partenariat CentralPay, les possibilités d’inscription et de transferts sont différentes. 2/ Les types de transferts Selon le modèle de partenariat établi avec CentralPay, le transfert des paiements est réalisé différemment : Partenaires MOBSP : vous devez utiliser le service de transfert via transaction Agents PSP : vous pouvez utiliser le service de transfert libre ou transfert via transaction Distributeurs de ME : vous devez utiliser le service de transfert via transaction pour la phase d’encaissement en devise. Ensuite, vous pouvez utiliser le service de transfert libre uniquement pour mouvementer la monnaie électronique entre les comptes de vos participants. Pour connaitre votre modèle de partenariat, veuillez vous rapprocher de votre contact CentralPay.
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.
Transfert indépendant Transfert indépendant L’objet transfer permet le mouvement de fonds entre des comptes walletId de la plate-forme. Ce service n’est accessible qu’à partir d’un compte possédant des droits « Plateforme ». Il donne ainsi la possibilité de distribuer les fonds reçus d’un compte « Plateforme » qui initie les transactions depuis l’API vers un compte « Basic » connecté, selon des règles métier spécifiques à l’agent. Chaque opération de transfer est identifiée par un merchantTransferId unique. Les transferts sont effectués dans cette configuration, à l’initiative de la plateforme, soit directement en complément d’une transaction ou wireTransfer existant, soit manuellement indépendamment de toute action. Ce mode asynchrone étant réservé aux Agents de service de Paiement. Des frais peuvent être appliqués et affichés sur chaque opération de manière à les afficher sur le relevé de compte du destinataire. Ces frais diminuent le montant brut et rentrent dans le calcul du Montant net. Les fonds issus de transfers issus d’une Transaction Carte Bancaire, Visa ou Mastercard, sont disponibles à J+2. Exemple 1 :Amount = 100Fee = 30Le détenteur du compte de destination recevra 70 et constatera 30 de frais sur un montant brut de 100. Exemple 2 :Amount = 70Fee = 0Le détenteur du compte de destination recevra 70 sans indication de frais. Type de transfer 1 Mode Asynchrone Manuel (valable uniquement pour les Agents) La « Plateforme » réalise la transaction pour le compte d’un ou plusieurs bénéficiaires, puis dans une deuxième étape réalise des appels POST /transfer pour reverser les fonds sur les comptes concernés. Le mode asynchrone est donc réalisé après la transaction sous forme de BATCH. Exemple : POST transaction -> dans la devise de l’autorisation POST /transfer (1 fois par compte) -> dans la devise de règlement (payout). Pensez à vérifier le solde disponible lorsque vous faites un mouvement car vous ne pouvez transférer que des fonds réellement disponibles. 2 Mode synchrone Auto Le compte « Plateforme » réalise une transaction en indiquant, avec de nouveaux paramètres, les comptes concernés et leurs parts respectives afin de déclencher automatiquement des appels POST /transfer à la date convenue. Les montants à reverser sont indiqués dans la transaction et donc calculés par l’initiateur. Exemple : POST transaction (mt1 pour ss-marchand1, mt2 pour ss-marchand2…) -> dans la devise de règlement (payout) Exemple : transfer[] = { "destinationWalletId": "89fe34c9-5731-44bf-8451787e9ad8a72a", "amount": 100 } transfer[] = { "destinationWalletId": "fe385c40-bbe7-4aec-ae5b0a832241eb73", "amount": 40, "fee": 5 } Veillez à intégrer les frais de services de CentralPay (Interchange ++) dans le calcul des Fees. Vous ne pouvez déplacer qu’un montant net qui laisse suffisamment de fonds pour régler nos frais. Transfert indépendant en ME
MANDATE status Status « Mandate » StatusDescriptionACTIVEActive mandate, ready to use.PENDINGMandate pending validation.OBSOLETEInactive mandate, not usable.
Transfert via transaction Transfert via transaction Vous pouvez paramétrer un transfert depuis tous types de transaction : Transaction CARD (cartes de paiement) : voir comment créer une transaction CARD Transaction SCT (virements SEPA entrants) : voir comment créer une transaction SCT Transaction SDD (prélèvements SEPA) : voir comment créer une transaction SDD Paramétrer un transfert depuis une transaction Le transfert depuis une transaction permet de renseigner les destinataires des transferts, les montants correspondants, et votre commission. [Renseigner les items API à utiliser pour réaliser un transfert depuis une transaction] Transfert en ME via transaction
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.CANCELLEDThe bank account is no longer usable (closed account, fraud, …).
PAYOUT status StatusDescriptionPAIDThe payout has been paid.PENDINGPayout pending processing.CANCELLEDThe payout has been cancelled (only in pending).REVERSEDThe payout has been refused by the creditor bank, the amount will be credited again on the debtor wallet.
Reversement bancaire pour tiers Reversement par marketplace Vous pouvez créer des payouts pour vos marchands, pour cela, plusieurs solutions, soit : Soit passer par le endpoint : /payout/byThirdParty (vous pouvez retrouver tous les paramètres de celui-ci dans « Référence API » Soit passer par le Portail utilisateur Via le Portail utilisateur, voici les étapes à réaliser : 1/ Rendez-vous sur les comptes liés 2/ Sélectionnez le marchand sur lequel faire le payout 3/ Se rendre dans les comptes bancaires 4/ Faire le payout Reversement pour compte de tiers
SCT TRANSACTION status Status « SCT Transaction » StatusDescriptionPENDINGPending receipt of the SCT Transaction.RECEIVEDSCT Transaction received.CANCELEDSCT Transaction cancelled before receipt.REFUNDEDSCT Transaction refunded.
Codes Articles HTTP Codes Bank return codes Currency codes SDD return codes Country codes Transfer purpose codes SDD purpose codes Error codes HTTP Codes Find below the list of HTTP return codes: 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 Bank return codes List of codes returned by the issuer bank to CentralPay after an autorization request 00Transaction approved or successfully processed02Contact card issuer03Invalid acceptor04Keep card05Do not honor06Transaction invalid for terminal07Honor with ID08Time-Out09No original10Unable to reverse11Partial approval12Invalid transaction13Invalid amount14Invalid cardholder number15Unknown card issuer17Invalid capture date (terminal business date)19Repeat transaction later20No From Account21No To Account22Account not verified23Account not saved24No Credit Account25Unable to locate record in file26Record duplicated27 ‘Edit’ error in file update field28File access denied29File update not possible30Format error31Identifier of acquiring organization unknown32Transaction partially completed33Card validity date exceeded34Implausible card data38Number of PIN attempts exceeded39Transaction not allowed41Lost card42Special Pickup43Stolen card44Stolen card51Insufficient funds or overdraft54 Card expired55Incorrect PIN56 Card not on file57Transaction not authorized to this cardholder58Transaction prohibited at terminal59Suspected fraud60 the card acceptor must contact the buyer61Withdrawal amount over limit62Card use restricted63MAC Key Error65 Frequency limit exceeded66Acquirer limit reached67Card withheld68Response not received or received too late75Number of PIN attempts exceeded76Invalid Account77Issuer not participating in service78Function not available79Key validation error80Approved for purchase amount only81Unable to verify PIN82Invalid CVV83Not refused84Invalid transaction lifecycle85No key to use86KME synchronization error87PIN error88MAC synchronization error89Security violation90Temporary system shutdown91Card transmitter inaccessible92Card issuer unknown93Transacation cannot be finalized94Duplicate request95Contact acquirer96System malfunction97No Funds Transfer98Duplicate Reversal99Duplicate TransactionN3Cash Service Not AvailableN4Cash Back Request Exceeds Issuer LimitN7Declined for CVV2 failureR0Stop Payment OrderR1Revocation of Authorisation OrderR3Revocation of all Authorisations OrderA0Withdrawal in contact modeA1VADS fallback000Approved001Approve with ID002Partial approval (prepaid cards only)100Reject101Card expired / invalid expiry date106PIN attempts exceeded107Please call issuer109Invalid merchant110Invalid amount111Invalid account / Invalid MICR (traveler’s check)115Requested function not supported117Invalid PIN119Cardholder not registered / not authorized122Invalid card security code (alias CID, 4DBC, 4CSC)125Invalid effective date181Format error183Invalid currency code187Refuse – New card issued189Refuse – Merchant cancelled or closed / SE200Refuse – Pick up card900Accepted – ATC synchronization909System malfunction (cryptographic error)912Issuer not available 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: DE91100000000123456789AXABFRPPAZ96AZEJ00000000001234567890AXABFRPPCY21002001950000357001234567AXABFRPPES7921000813610123456789AXABFRPPFR7630006000011234567890189AXABFRPPFO9264600123456789AXABFRPP Test cards Values You will find below a list of cards that you can use to test and check your integration. Visa Card numbers 4000 0000 0000 0051Card lost (41) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0069Fraud suspicion (59) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0077Insufficient funds (51) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4000 0000 0000 0085To be refused (5) -> for « no-3DS », « 3DS1.0 » and « 3DS2.0 »4556 5579 5572 6624Transaction successful (3DS) & Authentication = Y4916 9940 6425 2017Transaction successful (3DS) & Authentication = C4556 1041 6038 2032Transaction successful (NON 3DS) & Authentication = N4024 0071 7987 2394Transaction (NON 3DS) & Authentication = N4234 6319 8242 8908Transaction (3DS) & Authentication = I4234 6319 8242 8916Transaction successful (3DS) & Authentication = D : application flow4234 6319 8242 8924Transaction successful (3DS) & Authentication = D : browser flow4032 0389 8296 2700EEA=true ; region=EUROPE; productType=CONSUMER; cardType=DEBIT ;4032 0343 8883 4767EEA=true ; region=EUROPE; productType=CONSUMER; cardType=CREDIT ;4020 0280 0191 2012EEA=true ; region=EUROPE; productType=CONSUMER; cardType=UNKNOWN ;4032 0337 9569 2248EEA=true ; region=EUROPE; productType=CORPORATE; cardType=DEBIT ;4032 0368 1354 0364EEA=true ; region=EUROPE; productType=CORPORATE; cardType=CREDIT ;4032 0387 5662 0096EEA=true ; region=EUROPE; productType=CORPORATE; cardType=UNKNOWN ;4032 0358 5604 7592EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=DEBIT ;4032 0302 9068 3219EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=CREDIT ;4032 0377 5134 3001EEA=true ; region=EUROPE; productType=UNKNOWN; cardType=UNKNOWN ;4032 0307 5488 6225EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=DEBIT ;4032 0310 2547 6341EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=CREDIT ;4032 0341 4311 3978EEA=false ; region=USA_CANADA; productType=CONSUMER; cardType=UNKNOWN ;4032 0309 5816 7398EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=DEBIT ;4032 0375 4480 7536EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=CREDIT ;4032 0366 9148 7225EEA=false ; region=USA_CANADA; productType=CORPORATE; cardType=UNKNOWN ;4032 0325 8917 3860EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=DEBIT ;4032 0388 0897 9557EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=CREDIT ;4032 0374 2147 1240EEA=false ; region=USA_CANADA; productType=UNKNOWN; cardType=UNKNOWN ; Mastercard Card numbers 5333 2591 5564 3223Transaction successful (3DS) & Authentication = Y5306 8899 4283 3340Transaction successful (3DS) & Authentication = C5328 7203 8458 2224Transaction successful (NON 3DS) & Authentication = N5187 4346 4359 3002Transaction successful (NON 3DS) & Authentication = N5517 4500 0000 0168EEA=false ; region=US ; productType=CONSUMER ; cardType=CREDIT5223 8599 0000 0174EEA=false ; region=US ; productType=CORPORATE ; cardType=DEBIT5325 0900 0000 0115EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT5325 0900 0000 0008EEA=true ; region=EUROPE ; productType=CORPORATE ; cardType=DEBIT5486 7467 7300 0005EEA=false ; region=EUROPE ; productType=CONSUMER ; cardType=DEBIT; Country=RUS5588 1000 0000 0007EEA=false ; region=CEMEA ; productType=CONSUMER ; cardType=DEBIT5122 9400 0000 0009EEA=false ; region=LATIN_AMERICA ; productType=CONSUMER ; cardType=DEBIT Amex Card numbers 3415 0209 8634 895Transaction successful (3DS) & Authentication = Y3486 3826 7931 507Transaction successful (3DS) & Authentication = C3456 9539 9207 589Transaction successful (NON 3DS) & Authentication = N3415 0209 8634 895EEA=false ; region=EUROPE ; productType=CONSUMER3486 3826 7931 507EEA=false ; region=EUROPE ; productType=CORPORATE3718 4294 2351 004EEA=false ; region=EUROPE ; productType=UNKNOWN3712 5311 3391 201EEA=false ; region=ASIA_PACIFIC ; productType=CONSUMER3423 1631 7472 410EEA=false ; region=ASIA_PACIFIC ; productType=CORPORATE3710 9829 7279 338EEA=false ; region=ASIA_PACIFIC ; productType=UNKNOWN CB Card numbers 4020 0235 6597 5380Transaction successful (NON 3DS), scheme : CB4020 0254 4041 8403Transaction successful (NON 3DS), scheme : CB_VISA5232 1035 2372 2651Transaction successful (NON 3DS), scheme : CB_MASTERCARD