Release 24.2

aller directement au contenu

Rechercher par mots clés

Intégration Apple Pay

Pour rechercher dans la page utiliser Ctrl+F sur votre clavier

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.

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

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.

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

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/

Attention: le CVV n’est pas valorisé dans la cinématique Apple Pay.

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.

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.

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.

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.

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 :


Description des status possibles pour une transaction Apple Pay

En mode validation (captureMode = VALIDATION), si la transaction est acceptée, la transaction passe en status TO_VALIDATE. En mode annulation (captureMode = AUTHOR_CAPTURE), si la transaction est acceptée, la transaction passe en statut TO_CAPTURE. Quel que soit le mode de capture, si la transaction est refusée, elle passe en statut REFUSED. Et si la transaction est abandonnée, elle passe en statut ABORTED.

La cinématique de paiement pour Sherlock’s Paypage est décrite ci-dessous :


Étapes d'un paiement Apple Pay via Paypage

1) Le client procède au paiement et il sélectionne Apple Pay. 2) Il est redirigé vers la page Sherlock's où il choisit le moyen de paiement Apple Pay. 3) Il ouvre ensuite une session. 4) Une pop-in Apple Pay apparaît. 5) Le serveur Apple Pay traite le chiffrement des données sensibles. 6) Il reçoit les informations sur son appareil mobile et il s'authentifie. 7) Après le déchiffrement du token Apple Pay et la récupération du DPAN, la pop-in ferme et un ticket de caisse s'affiche. 8) S'il clique sur le bouton de retour à la boutique, il est redirigé vers votre site Web ce qui délenche l'envoi de la réponse manuelle. 9) Sherlock's envoie une réponse automatique.

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>
Tip: Par défaut, un import de la libraire via une balise script rendra la fonction disponible dans la variable globale sdpx, comme dans l'exemple ci-dessus. Vous pouvez aussi utiliser RequireJS pour importer cette librairie et appeler sa fonction.
IMPORTANT: Le code source de la librairie Javascript SDPX ne doit pas être installé sur votre serveur mais doit être récupéré pour chaque transaction en l'incluant avec l'URL ci-dessus.

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.

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.

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 = CARD
paymentMeanDataProvider = APPLEPAY
responseCode = 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.

Le processus de paiement pour Sherlock’s Office est décrit ci-dessous :


Étapes d'un paiement Apple Pay via Office

1) Le client procède au paiement directement sur votre site Web. 2) Une cinématique de paiement est initiée sur votre site Web. 3) Le serveur Apple Pay traite les données sensibles, le client reçoit les informations sur son appareil mobile et il s'authentifie. 4) Des données chiffrées sont transférées sur votre site Web. 5) Une demande d'autorisation (checkout.cardOrder) est envoyée au moteur Sherlock's. 6) Vous affichez le résultat du paiement à votre client.

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

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 = APPLEPAY
responseCode = 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.

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é :


Schéma trop complexe à décrire, merci de contacter le support sips@worldline.com

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
Note: pour les transactions Apple Pay, le champ paymentMeanBrand est renseigné avec la marque de la carte (CB, Visa, Mastercard, …).

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 :


Capture des détails d'une transaction

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.
Retourner en haut de page Besoin d'aide ?

Besoin d'aide ?

Fermer

Ce site utilise des traceurs pour améliorer votre expérience de navigation, effectuer des analyses et des recherches sur votre utilisation du site web de documentation Sherlock's.
En fermant ce bandeau vous refusez notre utilisation des traceurs sur votre appareil.

Paramètres