Introduction
Sherlock's 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 du paiement multiple à l'expédition jusqu'au démarrage en production.
A qui s’adresse ce document
Ce document a pour objectif de vous aider à mettre en place le paiement .
L’objectif est de présenter les fonctionnalités liées au paiements multiples à l'expédition et d’expliquer comment les mettre en œuvre avec la solution Sherlock's.
Pour avoir une vue d’ensemble de la solution Sherlock's, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle
- Configuration des fonctionnalités
Prérequis
Pour vous permettre d'effectuer des paiements multiples à l'expédition, Sherlock's 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 Sherlock's. 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 multiples à l'expédition (montants, nombre d'échéances, …),
Vue d'ensemble
Le paiement multiple à l'expédition comporte plusieurs volets :
- la prise de commande et la mise en place de la première expédition (CIT);
- le traitement des expéditions suivantes (MIT);
- la gestion de l'expiration du moyen de paiement de l'acheteur ou le refus d'une des expéditions
Les moyens de paiement permettant d’effectuer ce type de paiement sont les moyens de paiement des réseaux CB, Visa, Mastercard et American Express.
Choix des connecteurs
Comme Sherlock's offre plusieurs interfaces pour traiter le paiements multiples à l'expédition , il convient d’analyser votre besoin métier pour choisir les connecteurs les plus adaptés à votre situation.
- Prise de commande / première expédition : pour cette transaction votre client est présent. Il peut choisir son moyen de paiement, s'authentifier (conformément à la réglementation DSP2) et valider le paiement de sa commande. Ce type de transaction est nommé CIT ou "Client Initiated Transaction".
- Les expéditions suivantes : pour ces transactions, votre client n'est pas présent. Ces transactions seront à votre initiative et réalisées chaque nouvelle expédition. Elles sont appelées MIT ou "Merchant Initiated Transaction".
Le tableau ci-dessous récapitule les interfaces disponibles en fonction du type de transaction.
Cas d'usage | Sherlock’s Paypage | Sherlock’s Office | Sherlock’s Office Batch | Sherlock’s In-App | Sherlock's Gestion |
---|---|---|---|---|---|
Première expédition (CIT) | V | V | X | V | X |
Nième expédition (MIT) | X | V | V | X | V |
Données à conserver
En fonction de la manière dont vous traitez les différentes expéditions, les données à conserver varient :
Connecteur | Données à conserver pour traiter les MIT |
---|---|
Sherlock’s Office via duplication | référence de la CIT (champ transactionReference ou s10TransactionId /s10TransactionDate ) |
Sherlock’s Office via walletOrder |
|
Mise en oeuvre
Le paiement multiple à l'expédition est un cas de paiement vous permettant d'authentifier votre client lors de la prise de commande et par la suite, de facturer celui-ci au fil des expéditions des marchandises composant sa commande. Ce cas de paiement se décompose donc en 2 phases :
- La prise de commande (avec présence du client)
- Les différents envois des marchandises (sans présence du client)
Traitement de la commande et de la première expédition : CIT
Lors de la phase de prise de commande votre client devra s'authentifier grâce au 3-D Secure. Une fois authentifié, une demande d'autorisation sur le montant de la première expédition doit être réalisée. Nous assumons ici que la première expédition de marchandise aura lieu avant la fin du délai de l'autorisation (6 jours). Si la première expédition a lieu plus de 6 jour après la prise de commande, vous pouvez vous reporter au contenu du paragraphe "Cas particulier de la première expédition distante avec la prise de commande"
Description
Prise de commande et première expédition sur Sherlock’s Paypage
- Pour la prise de commande, vous redirigez l'acheteur vers Sherlock’s Paypage en communiquant dans la requête les informations permettant la mise en place du paiement multiple à l'expédition.
- Sherlock's affiche la page de paiement (seuls les moyens de paiements supportant le paiement multiple à l'expédition sont disponibles), l’acheteur sélectionne le moyen de paiement, fournit ses coordonnées de paiement puis valide.
- Sherlock's procède à la vérification 3-D Secure.
- Sherlock's effectue les contrôles anti-fraude.
- Sherlock's envoie une demande d’autorisation à l’acquéreur.
- Sherlock's enregistre la transaction et ses informations dans le back office.
- Sherlock's vous retourne les réponses manuelles et automatiques contenant les détails de la transaction.
- Sherlock's envoie la transaction en remise en fonction des modalités que vous avez paramétré dans la requête de paiement.
Le montant de la transaction et le fait qu'il s'agisse d'un paiement à l'expédition est indiqué sur les pages de paiement.
Prise de commande et première expédition sur Sherlock’s Office
- Vous effectuez une requête vers Sherlock’s Office en communiquant dans la requête les informations détaillées permettant la mise en place du paiement multiple à l'expédition.
- Sherlock's procède à la vérification 3-D Secure.
- Sherlock's effectue les contrôles anti-fraude.
- Sherlock's envoie une demande d’autorisation à l’acquéreur.
- Sherlock's enregistre la transaction dans le back office.
- Sherlock's vous retourne le résultat du paiement dans la réponse.
- Sherlock's envoie la transaction en remise (si applicable) en fonction des modalités que vous avez paramétré dans la requête de paiement.
Cas particulier de la première expédition distante avec la prise de commande
Dans certain cas, vous pouvez ne pas connaitre la date de première expédition de la commande de votre client. Pour les expéditions à une date supérieure à la validité de l'autorisation (en général 6 jours) ou pour les expéditions à une date inconnue, un comportement particulier est à mettre en place.
Pour ce type de prise de commande, le montant de la première expédition devra être à 0. Une demande de renseignement sera alors réalisée à la place d'une autorisation sur le montant de la première expédition. Votre client ne sera donc pas facturé à la prise de commande, mais au moment de la première expédition.
Une fois la prise de commande avec un montant renseignée à 0, vous obtenez une transaction pivot pouvant être réutilisée par la suite pour toutes les expéditions de la commande. Dans le cas d'un paiement avec le moyen de paiement CB, ce comportement est compatible avec la garantie de paiement éligible jusqu'a 30 jours.
Sur Sherlock’s Paypage, le montant global de la commande est indiqué ainsi que le montant de la première transaction qui est de 0.
Paramétrer la requête
Pour Sherlock’s Office, les méthodes cardCheckEnrollment et walletCheckEnrollment vous permettent d'initialiser un paiement multiple à l'expédition . Dans ces requêtes, vous devrez renseigner les paramètres comme indiqués dans le tableau ci-contre.
Pour Sherlock’s Paypage, les paramètres de la requête sont identiques à ceux utilisés sur Sherlock’s Office.
Champ | Règle de valorisation |
---|---|
captureMode |
Doit être positionné à AUTHOR_CAPTURE ou VALIDATION en fonction de votre besoin |
captureDay |
|
paymentPattern
|
MULTIPLE_1 |
amount |
Doit être valorisé avec le montant de la première expédition. Dans le cas particulier de la première expédition supérieure à la durée de validitié de l'authentification ou une première expédition à une date inconnue, ce champ doit être valorisé à 0 |
authenticationData.authentAmount
|
Doit être valorisé avec le montant global de la commande; |
fraudData.challengeMode3DS
|
Indiquez votre souhait d'exemption |
Analyser la réponse
En fonction de la réponse retournée par Sherlock's sur Sherlock’s Paypage ou sur Sherlock’s Office), vous déterminez la statut de la transaction
Les champs relatifs à la prise de commande 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 Sherlock’s Paypage pour analyser la réponse de Sherlock's |
Traitement des expéditions suivantes : MIT
Au moment de l'envoi d'une marchandise, vous voudrez facturer votre client. Pour cela, il vous faudra réaliser une nouvelle transaction sur Sherlock's. Pour cette transaction, votre client n'aura pas besoin d'être présent (MIT).
Pour facturer votre client sur une nouvelle expédition de marchandise, plusieurs options s'offrent à vous :
- L'opération de gestion de caisse de duplication
- La création d'une nouvelle transaction
Nouvelle expédition facturée à partir d'une duplication
L'appel à la fonction de duplication vous permet de procéder au paiement de chaque expédition suivante (MIT) à partir de la transaction de prise de commande.
Via la méthode duplicate, Sherlock's chaine automatiquement chaque expédition (MIT) avec la transaction créée lors de la prise de commande (CIT)
Consultez le guide connecteur Sherlock’s Office pour mettre en place l'appel à la fonction duplicate
Nouvelle expédition à partir d'une nouvelle transaction
L'appel à la méthode walletOrder vous permettront de réaliser une nouvelle transaction correspondant à une nième expédition de la commande de votre client.
Pour ces transactions, vous devrez positionner les paramètres suivants :
Champ | Règle de valorisation |
---|---|
initialSchemeTransactionIdentifier
|
valeur du champ
schemeTransactionIdentifier
retourné lors de la prise de commande (CIT) |
paymentPattern
|
doit être valorisé à MULTIPLE_N |
initialHolderAuthentProgram
|
valeur du champ holderAuthentProgram
retourné lors de la prise de commande (CIT) |
initialAuthentDateTime
|
valeur du champ authentDateTime
retourné lors de la prise de commande (CIT) |
initialHolderAuthentType
|
valeur du champ holderAuthentType
retourné lors de la prise de commande (CIT) |
initialChallengeMode3DS
|
valeur du champ challengeMode3DS
retourné lors de la prise de commande (CIT) |
Consultez le guide connecteur Sherlock’s Office pour mettre en place l'appel à la méthode walletOrder
Synthèse
Paiement multiple à l’expédition dont 1ère expédition à moins de 6 jours
Voici un exemple de paiement multiple à l'expédition avec une 1ère expédition à moins de 6 jours :
Connecteurs :
CIT | MIT | |
---|---|---|
Connecteur |
|
|
Paramètres de la requête :
champ | CIT | MIT via duplicate | MIT via walletOrder |
---|---|---|---|
paymentPattern | MULTIPLE_1 | X | MULTIPLE_N |
ChallengeMode3DS |
|
X | X |
captureDay | [ 0 , 6 ] | [ 0 , 99 ] | [ 0 , 99 ] |
captureMode |
|
|
|
amount | montant 1ère expédition | montant nème expédition | montant nème expédition |
authentAmount | montant total de la commande | X | X |
initialSchemeTransactionIdentifier | X | X | valeur du champ schemeTransactionIdentifier reçu en réponse de la CIT |
initialHolderAuthentProgram | X | X | valeur du champ holderAuthentProgram reçu en réponse de la CIT |
initialAuthentDateTime | X | X | valeur du champ authentDateTime reçu en réponse de la CIT |
initialHolderAuthentType | X | X | valeur du champ holderAuthentType reçu en réponse de la CIT |
initialChallengeMode3DS | X | X | valeur du champ challengeMode3DS reçu en réponse de la CIT |
Paiement multiple à l’expédition dont 1ère expédition à plus de 6 jours
Voici un exemple de paiement multiple à l'expédition avec une 1ère expédition à plus de 6 jours :
Connecteurs :
CIT | MIT | |
---|---|---|
Connecteur |
|
|
Paramètres de la requête :
champ | CIT | MIT via duplicate | MIT via walletOrder |
---|---|---|---|
paymentPattern | MULTIPLE_1 | X | MULTIPLE_N |
ChallengeMode3DS |
|
X | X |
captureDay | 0 | [ 0 , 99 ] | [ 0 , 99 ] |
captureMode | X |
|
|
amount | 0 | montant nème expédition | montant nème expédition |
authentAmount | montant total de la commande | X | X |
initialSchemeTransactionIdentifier | X | X | valeur du champ schemeTransactionIdentifier reçu en réponse de la CIT |
initialHolderAuthentProgram | X | X | valeur du champ holderAuthentProgram reçu en réponse de la CIT |
initialAuthentDateTime | X | X | valeur du champ authentDateTime reçu en réponse de la CIT |
initialHolderAuthentType | X | X | valeur du champ holderAuthentType reçu en réponse de la CIT |
initialChallengeMode3DS | X | X | valeur du champ challengeMode3DS reçu en réponse de la CIT |
Démarrer le paiement multiple à l'expédition en 4 étapes
Etape 1 - Mettre en œuvre le service
Lorsque vous avez choisi les interfaces Sherlock's qui répondent à votre besoin (cf. chap. Choix des connecteurs Sherlock's), vous devez intégrer les connecteurs pour connecter votre site Web à Sherlock's et suivre les indications de la partie mise en œuvre.
Votre boutique doit être configurée sur Sherlock's pour accepter le paiement en plusieurs fois. Vous devez demander à LCL 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 Sherlock's 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-webinit-sherlocks.test.sips-services.com/paymentInit |
Paypage JSON | https://payment-webinit-sherlocks.test.sips-services.com/rs-services/v2/paymentInit |
Paypage SOAP | https://payment-webinit-sherlocks.test.sips-services.com/services/v2/paymentInit |
Office | https://office-server-sherlocks.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 Sherlock's.
Si votre boutique n’a pas encore été inscrite, vous devez remplir le formulaire d’inscription et le retourner à LCL.
Votre boutique est déjà inscrite sur Sherlock's.
Si votre boutique est déjà inscrite sur Sherlock's, vous devez vous assurer auprès de LCL que vous avez bien accès à Sherlock’s Paypage ou à Sherlock’s Office 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 Sherlock's de production en utilisant les identifiants reçus à l'issue de l’inscription merchantId, secretKey et keyVersion.
URL Sherlock's | URL du serveur de paiement Sherlock's 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 Sherlock’s Téléchargement. |
KeyVersion | Version clé secrète récupérée sur Sherlock’s 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.