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étier 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 l'intégration du moyen de paiement Apple Pay dans Sherlock's.
À qui s’adresse ce document ?
Ce document a pour objectif de vous aider à implémenter le moyen de paiement Apple Pay sur votre site de commerce électronique.
Il comprend :
- des informations fonctionnelles à votre attention ;
- des instructions d'implémentation à destination de votre équipe technique.
Pour avoir une vue d’ensemble de la solution Sherlock's, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle
- Guide de configuration des fonctionnalités
Comprendre les paiements Apple Pay avec Sherlock's
Principes généraux
Apple Pay est un moyen de paiement proposé par la société Apple pour effectuer des paiements de manière simple et sécurisée sur iPhone, iPad, Apple Watch ou Mac client, sans carte physique ni espèces.
Le porteur de carte aura préalablement ajouté sa carte physique au wallet disponible sur les différents appareils du constructeur Apple. Par la suite, il peut régler ses achats sur un site Web ou sur une application mobile.
Grâce à cette solution, les clients paient leurs achats en ligne sans devoir saisir les coordonnées de leurs cartes à chaque fois. De plus, l’application wallet leur permet de consulter l’historique de leurs transactions.
Règles d’acceptation
Fonctionnalités disponibles
Canaux de paiement | ||
---|---|---|
Internet | V | Canal de paiement par défaut |
MAIL_ORDER, TELEPHONE_ORDER | X | |
Télécopie | X | |
SVI | X | |
Sherlock’s In-App | X |
Typologies de paiement | ||
---|---|---|
Paiement immédiat | X | |
Paiement en fin de journée | V | Méthode par défaut |
Paiement différé | V | Limité à 6 jours. |
Paiement à l'expédition | V | Limité à 6 jours. |
Paiement en plusieurs fois | X | |
Paiement par abonnement | X | |
Paiement par fichier | X | |
Paiement OneClick | X |
Gestion des devises | ||
---|---|---|
Acceptation multidevise | V | |
Règlement en devise | X | |
Conversion dynamique en devise | X |
Caractéristiques du moyen de paiement Apple Pay
Voici les règles appliquées au paiement Apple Pay :
Caractéristique | Restriction | Restriction par |
---|---|---|
Moyen de paiement | CB*
MASTERCARD MAESTRO VISA VPAY ELECTRON |
Sherlock's |
Navigateur / Appareil | Appareil Apple | Apple |
IFrames | Non | Apple |
(*) Dépend de l'émetteur
Vous devez vous assurer que vos acquéreurs supportent le flux Apple Pay.
Tous les contrôles anti-fraude sont pris en charge dans le cadre des paiements Apple Pay (outil fraude).
Apple impose une charte graphique pour la page de paiement. Les informations liées à cette charte sont disponibles ici : https://developer.apple.com/apple-pay/marketing/
Demande d’authentification
Durant la cinématique de paiement, l’authentification du porteur de carte est réalisée par Apple Pay.
Deux cas se présentent à vous :
- vous souhaitez vous-même gérer l’authentification du porteur. À cette fin, vous devez ouvrir un compte auprès d’Apple Pay et réaliser l’implémentation pour gérer l’authentification Apple Pay. Le détail concernant l’implémentation de l’authentification auprès d’Apple Pay est référencé ici : https://developer.apple.com/documentation/apple_pay_on_the_web/Vous êtes amené à utiliser l’interface Sherlock’s Office ;
- vous souhaitez déléguer toute la cinématique transactionnelle à la
plateforme Sherlock's et notamment l’authentification du
porteur auprès du serveur Apple Pay.Dans ce cas, vous êtes amené à utiliser l’interface Sherlock’s Paypage.
Demande d'autorisation
Le délai de capture maximum autorisé pour un paiement Apple Pay est de 6 jours.
Si vous renseignez un délai de capture supérieur, il sera automatiquement forcé par la plateforme de paiement.
Remise en banque des paiements
Les paiements sont remis en banque conformément aux modalités de paiement définies par vous-même. En standard, la remise en banque est déclenchée la nuit à partir de 22h00, fuseau horaire CET (heure d’Europe Centrale), via un échange de fichier avec l’acquéreur.
Ouvrir votre contrat d’acceptation Apple Pay
Afin de proposer le moyen de paiement Apple Pay sur votre site Web, deux cas se présentent à vous :
- vous souhaitez vous-même gérer l’authentification du porteur et utiliser la plateforme Sherlock's pour réaliser la demande d’autorisation et la remise en banque. Vous devez contacter Apple Pay ;
- vous souhaitez déléguer toute la cinématique transactionnelle à la
plateforme Sherlock's à savoir la partie
d’authentification du porteur auprès du serveur Apple Pay, la demande
d’autorisation et la remise en banque.Dans ce cas, vous n’avez aucune interaction avec Apple Pay. Sherlock's est en charge de votre enrôlement /activation auprès d’Apple Pay.
Afin de proposer Apple Pay sur votre site Web, vous devez souscrire un contrat Sherlock’s.
Effectuer un paiement Apple Pay
Les modes de remise disponibles pour une transaction Apple Pay sont les suivants :
- Mode annulation : mode par défaut, il permet de remiser la transaction à une date prédéfinie, appelée délai de capture. Lorsque ce délai de capture est atteint, la remise est automatiquement envoyée. Ce délai est paramétré via le champ captureDay, sa valeur par défaut est 0 (paiement en fin de journée).
- Mode validation : vous devez valider la transaction pour déclencher la remise. Un délai de capture doit aussi être défini. Lorsque ce délai de capture est atteint ou dépassé, vous ne pourrez plus valider la transaction, celle-ci expirera donc automatiquement.
Le diagramme ci-dessous explique les différents états par lesquels peuvent passer les transactions selon le mode de capture choisi :
Effectuer un paiement Apple Pay avec Sherlock’s Paypage
La cinématique de paiement pour Sherlock’s Paypage est décrite ci-dessous :
Vérifier la compatibilité de l'appareil utilisateur (optionnel)
Cette étape vous concerne si vous souhaitez proposer la sélection du moyen de paiement avant Sherlock’s Paypage. Vous pouvez vérifier que l'appareil de l'internaute supporte Apple Pay avant de commencer un paiement Sherlock’s Paypage. Pour ce faire, vous pouvez inclure une libraire Javascript fournie par Sherlock's dans votre page Web et appeler sa fonction isApplePayAvailable.
URL de la librairie:
- Sur l'environnement de production: https://resources.sips-services.com/rsc/applepay/js/device_verification.js
- Sur l'environnement de test: https://resources.test.sips-services.com/rsc/applepay/js/device_verification.js
<script type="text/javascript" src="<URL_DE_LA_LIBRAIRIE>" id="sdpx-verify-applepay"></script>
<script>sdpx.isApplePayAvailable().then(resultat => {
if (resultat.responseCode === "00") {
// ApplePay est disponible
}
}</script>
La fonction isApplePayAvailable retourne une promise, qui renvoie un objet contenant les champs suivants :
- responseCode: un code simple qui décrit le résultat de la vérification.
- reason: une description plus complète de la vérification.
- version: la version d'ApplePay compatible avec l'appareil.
Le champ responseCode vous donnera le statut clair sur la vérification. Il peut contenir les valeurs suivantes:
Code réponse | Valeur de "reason" | Signification |
---|---|---|
00 | ApplePay is supported. | Compatible. L'appareil de l'internaute supporte ApplePay. |
01 | No compatible ApplePay versions found. User likely has a recent device not supporting our known versions. | Incompatible: version. L'appareil de l'internaute supporte ApplePay, mais Sherlock's ne connait pas la version d'ApplePay supportée par l'appareil. ApplePay ne sera pas disponible sur Sherlock’s Paypage. |
02 | User device does not support ApplePay API. | Incompatible: appareil. L'appareil de l'internaute ne supporte pas ApplePay. |
99 | Error during ApplePay detection: <Error message> | Erreur. Il y a eu une erreur technique lors de la vérification. |
Paramétrer la requête de paiement
Le champ suivant a un comportement particulier :
Nom du champ | Remarques / règles |
---|---|
captureDay | La valeur envoyée dans la requête doit être de 6 au
maximum. Une valeur supérieure sera forcée à 6. |
Analyser la réponse
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode = 00
authorisationId = (voir le
Dictionnaire des données).paymentMeanBrand = carte
utilisée dans le wallet (VISA, MASTERCARD, CB ou
autre).paymentMeanType =
CARDpaymentMeanDataProvider =
APPLEPAYresponseCode =
00 |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la
fraude. Si vous n’avez pas opté pour l’option « nouvelle
tentative de paiement » (pour plus de détails veuillez consulter
le Guide de configuration des
fonctionnalités), vous pouvez proposer à votre
client de payer avec un autre moyen de paiement en générant une
nouvelle requête. |
Terminal du client incompatible avec l'API Apple ou requête incorrecte | responseCode = 12 |
Proposer un autre moyen de paiement au client pour payer sa commande. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Effectuer un paiement Apple Pay avec Sherlock’s Office
Le processus de paiement pour Sherlock’s Office est décrit ci-dessous :
Paramétrer la requête de paiement
Pour effectuer un paiement avec Sherlock’s Office, vous devez utiliser la méthode cardOrder.
La requête de paiement Apple Pay comprend tous les champs obligatoires du connecteur que vous utilisez.
Les champs suivants ont un comportement particulier :
Nom du champ | Remarques / règles |
---|---|
panEntryMode | OEMPAY |
paymentMeanDataProvider | APPLEPAY |
authenticationResult.applePay.cavv | Cryptogramme fourni par Apple Pay. |
authenticationResult.applePay.eci | ECI indicateur fourni par Apple Pay. |
authenticationResult.holderAuthentProgram | APPLEPAY |
paymentMeanBrand | Doit être valorisé avec la marque de la carte (CB, Visa, Mastercard, …). |
cardNumber | Fournir le DPAN (= numéro de carte Apple Pay). |
cardExpiryDate | Fournir la date d’expiration du DPAN. |
orderChannel | INTERNET ou INAPP |
walletType | Ne doit pas être renseigné. |
schemeTokenData.tavv | Cryptogramme fourni par Apple Pay. Remplace le champ authenticationResult.applePay.cavv (toujours utilisable) en protocole CB2A 161 |
Analyser la réponse
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode = 00
authorisationId = (voir le
Dictionnaire des données).paymentMeanBrand = carte
utilisée dans le wallet (VISA, MASTERCARD, CB ou
autre).paymentMeanDataProvider =
APPLEPAYresponseCode =
00 |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la fraude, vous pouvez proposer à votre client de payer avec un autre moyen de paiement en générant une nouvelle requête. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Gérer vos transactions Apple Pay
Opérations de caisse disponibles
Les opérations suivantes sont disponibles sur les transactions Apple Pay :
Gestion de caisse | ||
---|---|---|
Annulation | V | Annulation possible sur le montant partiel de la transaction. |
Validation | V | Validation possible sur le montant partiel de la transaction. |
Remboursement | V | Remboursement possible sur le montant partiel de la transaction et sur les montants supérieurs au montant initial (remboursement illimité). |
Duplication | X |
Le diagramme ci-dessous vous permet de savoir quelle opération de gestion de caisse est disponible lorsqu'une transaction est dans un état donné :
Consulter vos transactions Apple Pay
Journaux
Les journaux mis à disposition par Sherlock's vous permettent d’avoir une vision exhaustive et consolidée de vos transactions, opérations de caisse, situation comptable et impayés. Vous pouvez utiliser ces informations pour enrichir votre système d’information.
La disponibilité des transactions Apple Pay pour chaque type de journal est récapitulée dans le tableau ci-dessous :
Disponibilité des journaux | |
---|---|
Journal des transactions | V |
Journal des opérations | V |
Journal de rapprochement des transactions | V |
Journal de rapprochement des impayés | V |
Sherlock's Gestion
Vous pouvez consulter vos transactions Apple Pay et effectuer différentes opérations de gestion de caisse grâce à Sherlock's Gestion.
Voici le détail d'une transaction Apple Pay effectuée avec une carte enrôlée pour les paiements de type OEM :
Effectuer vos tests Apple Pay
Pour tester Apple Pay, vous avez besoin :
- d'un compte developpeur Apple auquel vous rattachez un compte de test (sandbox tester account)
- un appareil Apple (liste des appareils compatibles dans le lien ci-dessus)
Connectez votre compte de test à votre appareil Apple.
Ajoutez une de ces cartes de test dans le wallet Apple Pay associé à votre compte de test.
Effectuez un paiement en utilisant votre appareil Apple.
Les centimes d'euro du montant de la transaction permettent de renseigner le code réponse attendu.
- Si le montant YY,XX de la transaction a pour centimes d'euro XX égale à 00 alors le code réponse sera 00.
- Si le montant YY,XX de la transaction a pour centimes d'euro XX égale à 05 alors le code réponse sera 05.
- Si le montant YY,XX de la transaction a pour centimes d'euro XX égale à 99 alors le code réponse sera 99.
- Pour les autres valeurs le code réponse sera toujours 00.