Introduction
Mercanet est une solution de paiement de commerce électronique multicanale sécurisée conforme à la norme PCI DSS. Elle vous permet d’accepter et de gérer des transactions de paiement en prenant en compte les règles métiers liées à votre activité (paiement à la livraison, paiement différé, paiement récurrent, paiement en plusieurs fois, …).
L’objectif du présent document est d'expliquer la mise en œuvre de la solution de paiement en plusieurs fois jusqu'au démarrage en production.
A qui s’adresse ce document
L’objectif est de présenter et d'expliquer comment mettre en oeuvre le paiement en plusieurs fois avec la solution Mercanet.
Pour avoir une vue d’ensemble de la solution Mercanet, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle
- Guide de Configuration des fonctionnalités
Prérequis
Pour vous permettre d'effectuer des paiements en plusieurs fois, Mercanet doit stocker les coordonnées de paiement de vos clients.
Vous avez quelques points à traiter avant de démarrer :
- pour être en conformité avec le RGPD, vous devez compléter votre registre interne de traitement des données personnelles, en précisant que les données bancaires sont conservées par Mercanet. Pour davantage d'informations sur le RGPD, veuillez vous référer à notre documentation sur la sécurité des systèmes d'information ;
- informer vos clients du stockage de leurs coordonnées et des modalités des paiements en plusieurs fois (montant, nombre d'échéances, …) ;
Vue d'ensemble
Le paiement en plusieurs fois comporte plusieurs volets :
- la mise en place de l'échéancier lors du paiement de la première échéance (CIT) ;
- le traitement des échéances suivantes (MIT) ;
- la gestion de l'expiration du moyen de paiement du client ou du refus d'une des échéances.
Les moyens de paiement permettant d’effectuer des paiements récurrents sont : CB, Visa, Mastercard et Amex.
Choix des connecteurs
Comme Mercanet offre plusieurs interfaces pour traiter le paiement en plusieurs fois, il convient d’analyser votre besoin métier pour choisir les connecteurs les plus adaptés à votre situation.
Il existe deux modes d'intégration différents pour créer des paiements en plusieurs fois :
- via Paypage : vous transmettez le détail de chaque échéance à Mercanet : une autorisation est effectuée lors de la prise de commande pour payer la première échéance. Si le paiement est accepté, les différentes échéances sont effectivement créées et envoyées en banque à la date demandée ;
- via Office (M2M), Office Batch ou Mercanet Back Office: vous appelez Mercanet à chaque nouvelle
échéance : lors du premier paiement Mercanet se charge
uniquement de traiter celui-ci. Vous devez rappeler Mercanet à nouveau à chaque échéance en appliquant l'une des
méthodes suivantes :
- Dupliquer la première transaction (fonction duplicate)
- En créant une nouvelle transaction
- via Mercanet Back Office
- fonction walletOrder avec l'identifiant du wallet Mercanet dans lequel la carte de la CIT est enregistrée
Le tableau ci-dessous récapitule les interfaces disponibles en fonction de ces deux modes :
Cas d'usage | Paypage | Office (M2M) | Office Batch | In-App | Mercanet Back Office |
---|---|---|---|---|---|
Passage de commande et première échéance (CIT) | V | V | X | V | X |
Echéances suivantes (MIT) | Gérées automatiquement par Mercanet | Gérées par le commerçant | Gérées par le commerçant | X | V |
Données à conserver
En fonction de la manière dont vous traitez les échéances, les données à conserver varient :
Connecteur | Données à conserver pour traiter les MIT |
---|---|
Paypage | X |
Office (M2M) via duplication | référence de la CIT (champ transactionReference ou s10TransactionId /s10TransactionDate ) |
Office (M2M) via walletOrder |
|
Mise en oeuvre
Pour rappel, le client doit nécessairement s'authentifier avec 3-D Secure. Le montant à authentifier doit être égal au montant total de la commande. Sur ce type de paiement, aucune exemption à l'authentification forte ne peut être accordée. Pour des raisons réglementaires, le frictionless n'est pas possible lors de la mise en place d'un paiement en plusieurs fois, il y aura nécessairement une authentification en mode Challenge. Cette première échéance bénéficie de la garantie de paiement (contrairement aux échéances suivantes).
Le moyen de paiement doit être valide à la date de la dernière échéance (par exemple, dans le cas des cartes, la date d’expiration doit être postérieure à la dernière échéance). Dans le cas contraire, le paiement est refusé.
Paiement en plusieurs fois avec Paypage
Lorsque la mise en place des différents paiement est faite avec Paypage, l'ensemble des échéances seront créées lors de la saisie des coordonnées bancaires, dès lors que le premier paiement est accepté.
Prise de commande et 1ère échéance : CIT
Description
- Pour mettre en place l'échéancier, vous redirigez le client vers Paypage en communiquant dans la requête les informations détaillées sur toutes les échéances (référence, date de remise souhaitée, montant, ...).
- Mercanet affiche la page de paiement (seuls les moyens de paiements supportant le paiement en plusieurs fois sont disponibles), le client sélectionne le moyen de paiement, fournit ses coordonnées de paiement puis valide.
- Mercanet procède à la vérification 3-D Secure.
- Mercanet effectue les contrôles anti-fraude.
- Mercanet envoie une demande d’autorisation à l’acquéreur.
- Mercanet enregistre une transaction par échéance dans le back office.
- Mercanet vous retourne les réponses manuelle et automatique contenant les détails de la transaction.
- Mercanet envoie la transaction en remise (si applicable) en fonction des modalités que vous avez paramétrées dans la requête de paiement.
Pages de paiement
- affichage de chaque date et montant, si moins de 5 échéances
:Dans le bloc "Détails de la transaction", dans la section intitulée "Echéances", chaque échéance avec la date et le montant s'affiche l'une en dessous de l'autre.
- affichage du nombre d'échéances, des dates de début et fin des
opérations, si plus de 5 échéances :Dans le bloc"Détails de la transaction", dans la section intitulée "Paiement en x échéances" (x étant le nombre d'échéances) est affichée ceci : Première échéance : "date de la première échéance : montant". Suivi de x échéances, du "date de la première échéance +1" au "date de la dernière échéance".
À la fin du processus, le ticket affiche le détail des échéances :
Paraméter la requête
Vous devez renseigner certains paramètres de manière spécifique pour demander la création d'un paiement en plusieurs fois :
Champ | Règle de valorisation |
---|---|
paymentPattern |
INSTALMENT |
challengeMode3DS |
forcé à CHALLENGE_MANDATE |
captureMode |
Forcé par Paypage à AUTHOR_CAPTURE quelle que soit la valeur transmise. |
captureDay |
Ignoré par Paypage, les dates fournies
dans le champ instalmentData.datesList font
référence. |
amount |
Doit être égale à la somme des montants des échéances
transmis dans la liste instalmentData.amountsList . |
instalmentData.number |
nombre d'échéances |
instalmentData.datesList |
Les dates de chaque échéance :
|
instalmentData.transactionReferencesList |
Liste des transactionReference des
différentes échéances.Le premier élément de la liste doit être
égal au champ transactionReference de la
requête. |
instalmentData.amountsList |
Liste des montants des échéances transmis dans l'ordre des
échéances. La somme des montant doit être égal au champ amount de la requête. |
Veuillez consulter un des guides Paypage pour savoir comment renseigner les autres champs.
Analyser la réponse
Mercanet retourne une réponse manuelle et automatique classique Paypage.
Les champs relatifs à la prise d'abonnement sont les suivants :
Etat | Champs de la réponse |
---|---|
Transaction acceptée (premier paiement effectué avec succès). |
|
Transaction refusée (premier paiement refusé). |
responseCode = XX (différent
de 00) Consultez le guide connecteur Paypage pour analyser la réponse de Mercanet. |
Traitement des échéances suivantes : MIT
Mercanet traite automatiquement les échéances suivantes en fonction des dates de remise demandées. Cela signifie que pour chaque échéance, Mercanet effectue une demande d'autorisation et de remise (si applicable) automatiquement le jour demandé.
Mercanet se charge de chaîner chaque échéance (MIT) avec la transaction créée lors du premier paiement (CIT).
Vous pouvez consulter le résultat de ces opérations dans vos journaux des opérations ou sur Mercanet Back Office.
Paiement en plusieurs fois avec Office (M2M)
Avec Office (M2M), vous avez la possibilité de gérer chaque échéance d'un paiement en plusieurs fois.
Vous procédez tout d'abord au premier paiement pour la mise en place de l'échéancier. Si ce premier paiement est effectué avec succès, plusieurs options s'offrent à vous
- Dupliquer la première transaction : la chaînage est effectué par Mercanet
- Créer de nouvelles transactions grâce à la méthode walletOrder : vous devez effectuer le chaînage CIT-MIT vous-même
Prise de commande et 1ère échéance : CIT
Description
- Vous affichez l'échéancier de paiement sur les pages de votre site Web et vous demandez à votre client de saisir ses coordonnées bancaires.
- Vous effectuez une requête vers Office (M2M) en communiquant dans la requête les informations détaillées sur la commande globale et sur la première échéance.
- Mercanet procède à la vérification 3-D Secure.
- Mercanet effectue les contrôles anti-fraude que vous avez paramétrés.
- Mercanet envoie une demande d’autorisation à l’acquéreur.
- Mercanet enregistre la première échéance dans le back office.
- Mercanet vous retourne le résultat du paiement dans la réponse.
- Mercanet envoie la transaction en remise (si applicable) en fonction des modalités que vous avez paramétrées dans la requête de paiement.
Paramétrer la requête
Les méthodes cardCheckEnrollment
et walletCheckEnrollment
vous
permettent d'initialiser un paiement en plusieurs fois
avec Office (M2M).
Vous devez renseigner certains paramètres de manière spécifique pour demander la création de ce type de paiement :
Champ | Règle de valorisation |
---|---|
paymentPattern |
INSTALMENT |
challengeMode3DS |
forcé à CHALLENGE_MANDATE |
amount |
Doit être positionné au montant de la première échéance. |
authenticationData.authentAmount |
Doit être positionné au montant global de la commande. |
recurringData.recurringSequence |
Doit être positionné à 1 (la séquence de l'échéance en cours de traitement). |
recurringData.recurringSequenceMax |
Doit être positionné au nombre d'échéances total. |
recurringData.recurringPeriod |
Doit être positionné au nombre de jours minimum entre deux échéances consécutives. |
recurringData.recurringEndDate |
Doit être positionné à la date de la dernière échéance prévue. |
Veuillez consulter un des guides Office (M2M) pour savoir comment renseigner les autres champs.
Analyser la réponse
En fonction de la réponse retournée par Office (M2M), vous déterminez la suite du déroulement de ce paiement en plusieurs fois :
Etat | Champs de la réponse | Actions à réaliser |
---|---|---|
Transaction acceptée (premier paiement effectué avec succès) |
|
Vous pouvez traiter la commande en
fonction du niveau de garantie souhaitée (champ Vous conservez la référence de cette première transaction (CIT) qui vous servira pour les échéances suivantes. |
Transaction refusée (premier paiement refusé) |
responseCode = XX (différent
de 00) Consultez le guide connecteur Office (M2M) pour analyser la réponse de Mercanet. |
Vous pouvez proposer à votre client de payer avec un autre moyen de paiement en générant une nouvelle requête. |
Traitement des échéances suivantes : MIT
Via duplication
L'appel à la fonction duplication vous permet de procéder au paiement de chaque échéance suivante (MIT).
Office (M2M) se charge de chaîner chaque échéance (MIT) avec la transaction créée lors du premier paiement (CIT).
Consultez le guide connecteur Office (M2M) ou Office Batch pour mettre en place l'appel à la fonction duplicate.
Via walletOrder
Utilisation de la méthode walletOrder si la carte a été préalablement enregistrée dans le wallet Mercanet (lors de la CIT ou auparavant lors d'un achat précédent). En plus des champs classiques de la méthode, vous devez envoyer les champs ci-dessous :
Champ | Valeur |
---|---|
paymentPattern | RECURRING_N |
initialSchemeTransactionIdentifier | valeur du champ schemeTransactionIdentifier reçu en réponse de la CIT |
merchantWalletId | identifiant du wallet dans lequel la carte utilisée lors de la CIT est stockées |
paymentMeanId | identifiant de la carte utilisée lors de la CIT au sein du wallet Mercanet |
Pour connaître l'ensemble des champs de la méthode walletOrder, veuillez-vous référer aux documentations des connecteurs Office (M2M) et Office Batch.
Synthèse
Paypage
Voici un exemple de paiement en plusieurs fois avec le connecteur Paypage :
Paiement d'une commande de 900€ en trois échéances de 300€
- Jour de la commande
- Authentification 3DS v2 avec montant total commande (challenge obligatoire) : 900€
- Demande d’Autorisation avec données 3DS, montant première échéance : 300€
- Remise avec données 3DS : 300€
- Jour de la 2ème échéance
- Demande d’autorisation chaînée avec la CIT : 300€
- Remise sans données 3DS : 300€
- Jour de la 3ème échéance
- Demande d’autorisation chaînée avec la CIT : 300€
- Remise sans données 3DS : 300€
Paramètres de la requête :
champ | CIT | MIT |
---|---|---|
paymentPattern | INSTALMENT | Gérée par Mercanet |
ChallengeMode3DS | CHALLENGE_MANDATE | |
captureMode | AUTHOR_CAPTURE | |
amount | somme des montants des échéances | |
instalmentData.datesList | dates des échéances | |
instalmentData.transactionRefrencesList | transactionReference des différentes échéances | |
instalmentData.amountsList | montants des différentes échéances | |
instalmentData.number | nombre d'échéances |
Autres connecteurs
Paiement en plusieurs fois dont 1er paiement à moins de 6 jours
Voici un exemple de paiement en plusieurs fois avec un premier paiement à moins de 6 jours :
Paiement d'une commande de 500€ en 2 échéances :
- Jour de la commande
- Authentification 3DS v2 avec montant total commande (challenge obligatoire) : 500€
- Demande d’Autorisation avec données 3DS, montant première échéance : 250€
- Jour de la 1ère échéance
- Remise avec données 3DS : 250€
- Jour de la 2ème échéance
- Demande d'autorisation chaînée avec la CIT : 250€
- Remise sans donnée 3DS : 250€
Connecteurs :
CIT | MIT | |
---|---|---|
Connecteur |
|
|
Paramètres de la requête :
champ | CIT | MIT via duplicate | MIT via walletOrder |
---|---|---|---|
paymentPattern | INSTALMENT | X | INSTALMENT |
ChallengeMode3DS | CHALLENGE_MANDATE | X | X |
captureDay | [ 0 , 6 ] | [ 0 , 99 ] | [ 0 , 99 ] |
captureMode | AUTHOR_CAPTURE |
|
|
amount | montant 1ère échéance | montant nème échéance | montant nème échéance |
authenticationData.authentAmount | montant total de la commande | X | X |
recurringData.recurringSequence | 1 | X | Numéro d'échéance |
recurringData.recurringSequenceMax | nombre total d'échéances | X | X |
recurringData.recurringPeriod | nombre maximum de jours entre 2 échéances consécutives | X | X |
recurringData.recurringEndDate | date de la dernière échéance | X | X |
initialSchemeTransactionIdentifier | X | X | valeur du champ schemeTransactionIdentifier reçu en réponse de la CIT |
Paiement en plusieurs fois dont 1er paiement à plus de 6 jours
Voici un exemple de paiement en plusieurs fois avec un premier paiement à plus de 6 jours :
Paiement d'une commande de 500€ en 2 échéances :
- Jour de la commande
- Authentification 3DS v2 avec montant total commande (challenge obligatoire) : 500€
- Demande de renseignement : autorisation avec données 3DS : 0€
- Jour de la 1ère échéance
- Demande d'autorisation chaînée avec la CIT : 250€
- Remise sans donnée 3DS : 250€
- Jour de la 2ème échéance
- Demande d'autorisation chaînée avec la CIT : 250€
- Remise sans donnée 3DS : 250€
Connecteurs :
CIT | MIT | |
---|---|---|
Connecteur |
|
|
Paramètres de la requête :
champ | CIT | MIT via duplicate | MIT via walletOrder |
---|---|---|---|
paymentPattern | INSTALMENT | X | INSTALMENT |
ChallengeMode3DS | CHALLENGE_MANDATE | X | X |
captureDay | 0 | [ 0 , 99 ] | [ 0 , 99 ] |
captureMode | X |
|
|
amount | 0 | montant nème échéance | montant nème échéance |
authentAmount | montant total de la commande | X | X |
recurringSequence | 1 | X | Numéro d'échéance |
initialSchemeTransactionIdentifier | X | X | valeur du champ schemeTransactionIdentifier reçu en réponse de la CIT |
Démarrer le paiement en plusieurs fois en 4 étapes
Etape 1 - Mettre en œuvre le service
Lorsque vous avez choisi les interfaces Mercanet qui répondent à votre besoin (cf. chap. Choix des connecteurs Mercanet), vous devez intégrer les connecteurs pour connecter votre site Web à Mercanet et suivre les indications de la partie mise en œuvre.
Votre boutique doit être configurée sur Mercanet pour accepter le paiement en plusieurs fois. Vous devez demander à BNP Paribas d’activer ce service sur votre boutique si ce n'est pas déjà le cas.
Etape 2 - Tester le service sur l'environnement de recette
Une fois la mise en œuvre des connecteurs Mercanet réalisée, vous pouvez effectuer des tests pour valider votre intégration.
Données de test | |
---|---|
merchantId | 201000076690001 |
clé secrète | p64ifeYBVIaRcjaWoahCiw9L8wokNLqG2_YOj_POD4g |
version de la clé | 1 |
cartes de test | cf page "Cartes de test" |
Serveur | URL de test |
---|---|
Paypage POST | https://payment-web-mercanet.test.sips-services.com/paymentInit |
Paypage JSON | https://payment-web-mercanet.test.sips-services.com/rs-services/v2/paymentInit |
Paypage SOAP | https://payment-web-mercanet.test.sips-services.com/services/v2/paymentInit |
Office | https://office-server-mercanet.test.sips-services.com/ |
transactionReference
valorisé dans
vos requêtes de test.Etape 3 - Souscrire au service en production
Votre boutique n’est pas inscrite sur Mercanet.
Si votre boutique n’a pas encore été inscrite, vous devez remplir le formulaire d’inscription et le retourner à BNP Paribas.
Votre boutique est déjà inscrite sur Mercanet.
Si votre boutique est déjà inscrite sur Mercanet, vous devez vous assurer auprès de BNP Paribas que vous avez bien accès à Paypage ou à Office (M2M) en fonction du connecteur choisi.
Etape 4 - Démarrer et valider le service en production
Vous devez changer l’URL pour vous connecter au serveur Mercanet de production en utilisant les identifiants reçus à l'issue de l’inscription merchantId, secretKey et keyVersion.
URL Mercanet | URL du serveur de paiement Mercanet récupéré par e-mail. |
MerchantId | Identifiant de la boutique reçu par mail. |
SecretKey | Clé secrète que vous récupérez via l’extranet Mercanet Téléchargement. |
KeyVersion | Version clé secrète récupérée sur Mercanet Téléchargement (logiquement 1 pour la 1ère clé). |
Si vous souhaitez personnaliser vos pages de paiement, veuillez suivre la procédure décrite dans la documentation Custompages.