- Directives d'intégration
- Fonctionnalités prises en charge (Sécurité)
- Fonctionnalité Tokenization de la passerelle
Fonctionnalité Tokenization de la passerelle
La fonctionnalité Tokenization de la passerelle vous permet de stocker les détails du paiement en échange d'un jeton. Le jeton remplace les détails du paiement dans la demande de transaction envoyée à la passerelle. Ceci est très utile car la passerelle gère les détails du paiement collectés auprès du payeur, réduisant ainsi vos obligations de conformité PCI. En outre, si le jeton est stocké avec les données du payeur, il peut être utilisé lorsque le payeur revient pour un autre achat.
Qu'est-ce qu'un jeton ?
Un jeton est un identifiant des détails du paiement ; il est retourné lorsque ceux-ci font l'objet d'une création de jeton. Le jeton peut être utilisé dans toutes les opérations de paiement suivantes pour faire référence aux détails du paiement préalablement enregistrés.
Les jetons sont au format PAN et satisfont aux règles de validation de carte simples ; ils peuvent donc être stockés à la place des numéros de carte de crédit. Cependant, leur génération est conçue afin de réduire les probabilités qu'ils puissent correspondre à des numéros de carte valides.
Avantages clés
- Réduit les coûts liés à la conformité PCI, car vous ne gérez ni ne stockez aucun détail du paiement.
- Réduit la fraude interne car votre personnel n’a qu’un accès limité aux détails du paiement.
- Vous permet de mettre à jour les détails du paiement stockés dans un jeton. Ceci est utile lorsque les détails d'un paiement expirent/changent ou que le payeur souhaite changer de méthode de paiement.
- Facilite l’intégration des jetons dans des systèmes qui attendent actuellement des numéros de carte. Les jetons générés par le système peuvent apparaître comme des numéros de carte et réussir les contrôles de validation de carte de base.
- Vous permet d’extraire les détails du paiement à partir d’un jeton.
- Propose différentes options pour la vérification des détails du paiement.
- Propose des options souples pour la gestion des jetons.
- Vous permet de partager les jetons avec d’autres commerçants.
Exemples
- Facturation récurrente (factures de services publics, affiliation à un club de sport, etc.) : vous collectez les détails du paiement auprès du payeur et les stockez en échange d’un jeton. Le jeton est soumis à la passerelle comme instrument de paiement chaque fois qu'un paiement est dû. Cela est utile si vous souhaitez réduire les frais PCI.
- Détaillants en ligne (paniers d’achat en ligne, paiement de facture en ligne, sites de jeux) : vous collectez les détails du paiement auprès du payeur sur un site Web et les stockez en échange d’un jeton. Le jeton retourné est stocké avec les données du payeur. Lorsqu’un payeur revient sur le site Web pour effectuer un autre achat, vous lui présentez l’identifiant de compte masqué (ou les quatre derniers chiffres du PAN, si la stratégie de génération Conserve 6.4 est utilisée) et lui indiquez qu’il n’a pas à ressaisir les détails du paiement. Cela lui évite de ressaisir tout ou certains des détails du paiement. Cela améliore le confort et l’expérience du payeur lorsqu’il effectue des achats via votre site Web.
Configurer la fonctionnalité Tokenization de la passerelle
Votre prestataire de services de paiement peut configurer le service Tokenization associé à votre profil de commerçant pour les paramètres suivants :
Définit la manière dont les détails du paiement sont vérifiés avant d’être stockés. Les valeurs peuvent être :
De base | Valide que les détails du paiement indiqués sont conformes aux règles de la passerelle pour le traitement d’un paiement à l’aide de ces détails. |
Acquirer |
Vérifie les détails du paiement en exécutant une demande DirectAPI Verify (Vérifier), afin de vérifier les détails du paiement fournis auprès de l’acquéreur.
Lorsque vous stockez un jeton, vous devez indiquer une devise. La source de la transaction utilisera par défaut la valeur configurée pour le lien commerçant-acquéreur. Le paramètre
Pour les transactions de paiement mobile utilisant le DPAN, si le commerçant est configuré avec la stratégie de vérification de jeton en tant qu'acquéreur, la stratégie de vérification de jeton revient automatiquement à la stratégie de base pour le traitement de cette transaction spécifique.
Enforce CSC pour cette source de la transaction sera ignoré. |
Aucune | Aucune vérification n'est effectuée. |
Définit la manière dont les jetons sont gérés dans le référentiel. Les valeurs peuvent être :
Jeton unique | Attribue un jeton unique chaque fois que vous enregistrez un identifiant de compte. Il s'agit d'une relation un à plusieurs entre un identifiant de compte et des jetons. |
Identifiant de compte unique | Un identifiant de compte ne peut être stocké que dans un seul jeton. En cas de tentative d’enregistrement de l’identifiant dans un autre jeton, cela entraîne une erreur. Il s'agit d'une relation un à un entre l'identifiant de compte et le jeton. |
Définit la stratégie utilisée pour générer un jeton dans le référentiel. Les valeurs peuvent être :
Aléatoire avec Luhn | L’ID de jeton généré est un nombre aléatoire. Il commence par un « 9 », réussit un contrôle Luhn (Mod-10) et ne correspond pas à un numéro de carte connu. | ||||||||||||||||||||
Conserve 6.4 | Tente de conserver les 6 premiers et les 4 derniers chiffres et n’est pas un numéro de carte valide. Propriétés du jeton :
Vous ne pouvez pas mettre à jour le numéro de carte pour un jeton Conserve 6.4 ; vous pouvez cependant mettre à jour la date d’expiration.
|
||||||||||||||||||||
Fourni par le commerçant | Le jeton est fourni par le commerçant. Tout jeton fourni par le commerçant est validé comme n’étant pas un numéro de carte valide. | ||||||||||||||||||||
Segmentation en jetons de l'acquéreur | l'ID de jeton est fourni par le service de segmentation en jetons de l'acquéreur. Ce service permet uniquement de stocker le FPAN dans un jeton. Les conditions préalables suivantes doivent être remplies pour permettre la segmentation en jetons de l'acquéreur :
|
Opérations de jeton
Vous pouvez exécuter les opérations suivantes en utilisant la solution Tokenization de la passerelle :
Vous pouvez utiliser cette opération pour créer ou mettre à jour un jeton en y stockant les détails du paiement. Le jeton sera stocké dans le référentiel tel que configuré dans votre profil de commerçant.
Vous pouvez également utiliser cette opération pour créer ou mettre à jour un jeton en indiquant le paramètre reference order ID
d'une précédente commande réussie, qui peut remonter jusqu'à 12 mois sur la passerelle. Vous recevez un jeton de passerelle correspondant aux informations d'identification de paiement utilisées dans la commande référencée. Le jeton est stocké dans le référentiel tel que configuré dans votre profil de commerçant.
Les détails du paiement seront vérifiés via la méthode de vérification indiquée dans le champ verificationStrategy
. Si vous ne renseignez pas ce champ, la stratégie par défaut configurée dans votre profil de commerçant sera utilisée.
Si la vérification réussit, les détails du paiement sont enregistrés dans un jeton pour servir de référence et être utilisés dans les transactions de paiement ultérieures. Vous pouvez également choisir de relancer une opération Tokenize (Segmenter en jetons) si la première tentative ne retourne pas de réponse.
Le jeton est émis en fonction de la méthode de gestion de jeton configurée pour le référentiel de jetons utilisé par votre profil de commerçant.
Mise à jour d’un jeton sans avoir à saisir de nouveau tous les détails
Vous souhaiterez peut-être mettre à jour les détails (par exemple la date d’expiration d’une carte) sur un jeton stocké en utilisant l’opération Tokenize (Segmenter en jetons), mais laisser les autres détails inchangés. Le jeton que vous fournissez dans l’URL de demande identifie le jeton que vous voulez mettre à jour. Le fait de fournir ce même jeton comme source des détails du paiement entraînera la réutilisation des détails préalablement stockés. Cela indique que vous n’avez pas besoin de saisir de nouveau les détails du paiement. Si la nouvelle date d’expiration est fournie dans la section de détails de la carte de la demande, la valeur remplacera la date d’expiration déjà stockée dans le jeton (voir Règles de priorité).
L’exemple de demande suivant montre comment indiquer à la fois les détails de la carte et les sources de jeton dans la demande Tokenize (Segmenter en jetons) :
Méthode HTTP | PUT |
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<merchant>/token/9999999999999999 |
JSON |
{ "sourceOfFunds": { "provided": { "card": { "expiry": { "month": "01", "year": "39" }, "number": "5123456789012346" } }, "type": "CARD" } } |
Selon le principe du jeton JSON ci-dessus, un jeton dont l’ID est « 9999999999999999 » a été stocké auparavant et contient un numéro de carte et une date d’expiration.
Le résultat de cette opération est que le jeton « 9999999999999999 » a désormais une date d’expiration au 21/05, le numéro de carte restant inchangé.
Référence de l'API Tokenization (Jetons de cartes stockées)[REST][NVP]
Effectue une opération Authorize (Autoriser) pour le montant spécifié en utilisant les détails de carte identifiés par le jeton fourni.
Effectue une opération Pay (Payer) pour le montant spécifié en utilisant les détails du paiement identifiés par le jeton fourni.
Référence de l'API Pay with Token (Payer avec jeton)[REST][NVP]
Vous permet d’extraire les détails du paiement enregistrés dans le jeton spécifié. L’identifiant de compte et les autres données sensibles sont retournés masqués.
Référence de l'API Retrieve Token (Extraire le jeton)[REST][NVP]
Supprime le jeton spécifié de votre référentiel de jetons.
Référence de l'API Delete Token (Supprimer le jeton)[REST][NVP]
Recherche les enregistrements de jeton qui répondent à une requête. La requête prend actuellement en charge la recherche à l’aide d’un identifiant de jeton ou d’un identifiant de compte. Veillez à crypter le numéro de carte à l’aide de la bibliothèque JWE.js.
Si de nombreux enregistrements de jetons correspondent à la requête, vous pouvez limiter les résultats de la recherche retournés par page et extraire l’ensemble suivant de résultats en utilisant des demandes ultérieures.
Référence de l'API Search Token (Recherche de jetons)[REST][NVP]
Token Maintenance Service
La fonctionnalité Token Maintenance Service fournie par la passerelle garantit que, chaque fois que possible, les détails du paiement stockés dans un jeton utilisé pour des paiements périodiques sont à jour et que le traitement des transactions de paiements périodiques utilisant ce jeton sont susceptibles d’aboutir.
Utilisez la fonctionnalité Token Maintenance Service si vous effectuez toutes les opérations suivantes :
- Vous traitez les paiements périodiques via la passerelle.
- Vous utilisez la segmentation en jetons de la passerelle pour stocker en toute sécurité les détails de paiement de crédit utilisés pour les paiements récurrents.
- Vous utilisez DirectAPI et/ou Batch pour gérer vos jetons et soumettre des transactions pour traitement.
Pour utiliser la fonctionnalité Token Maintenance Service, vous devez :
- Vous inscrire à la fonctionnalité de programme de mise à jour de compte auprès de votre acquéreur et des systèmes de cartes.
- Demander à votre prestataire de services de paiement d’activer le programme de mise à jour de compte sur vos liens commerçant-acquéreur.
- Demandez à votre prestataire de services de paiement d'activer Token Maintenance Service. Notez que vous ne pouvez être activé que pour Token Maintenance Service ou la segmentation en jetons de réseau, mais pas pour les deux. Les deux fonctionnalités garantissent que les détails de paiement stockés pour les jetons sont tenus à jour.
Pour les transactions périodiques pour lesquelles un jeton est fourni et dont le traitement est correctement effectué par la passerelle par l’intermédiaire d’un acquéreur disposant du programme de mise à jour de compte, la passerelle détermine la date suivante à laquelle le jeton sera utilisé pour un paiement périodique (en fonction de l’utilisation précédente du jeton dans les paiements périodiques).
La passerelle soumettra une demande concernant les détails du paiement stockés dans le jeton au service Programme de mise à jour de compte, et ce, dans les délais pour recevoir une réponse et la traiter. Elle mettra ensuite le jeton à jour en fonction de la réponse.
Les mises à jour des jetons concernent ce qui suit :
- Le numéro et la date d’expiration de la carte.
- La date d’expiration de la carte uniquement.
- Le marquage d’un jeton comme étant non valide.
Un jeton est marqué comme non valide si une réponse du programme de mise à jour de compte indique que les détails du paiement stockés dans le jeton ne sont pas valides.
Les demandes de transactions qui utilisent un jeton non valide sont rejetées par la passerelle.
Pour un jeton non valide, la réponse de l'opération RETRIEVE_CARD de DirectAPI retourne status=INVALID
.
Référence de l'API Retrieve Token (Extraire le jeton)[REST][NVP]
Utilisez l'opération Retrieve Token (Extraire le jeton) pour extraire les détails du paiement pour un jeton qui a été mis à jour par le programme de mise à jour de compte.
usage.lastUpdated
indique la date et l'heure de mise à jour du jeton par le programme de mise à jour de compte.usage.lastUpdateBy
est vide, ce qui indique que le jeton n'a pas été mis à jour par un commerçant, mais par le programme de mise à jour de compte.
À l'aide de l'opération SEARCH_TOKEN de DirectAPI, vous pouvez rechercher tous les jetons ayant été mis à jour depuis une date et une heure données. La réponse vous indique tous les jetons (y compris les détails du paiement stockés dans les jetons ainsi que des informations d’utilisation de ces derniers) qui possèdent une date et une heure usage.lastUpdated
postérieures à celles indiquées dans la demande.
Vous pouvez à présent utiliser vos processus existants pour, par exemple :
- Mettre à jour votre système avec le nouveau numéro de carte masqué et/ou la date d’expiration retournés dans la réponse de la transaction.
- Contacter des clients pour obtenir de nouveaux détails de paiement suite à des jetons non valides.
- Créer de nouveaux jetons, si nécessaire.
Référence de l'API Search Token (Recherche de jetons)[REST][NVP]
Référence de l'API Retrieve Token (Extraire le jeton)[REST][NVP]
Mises à jour manuelles de jeton
Si vous êtes activé pour le programme de mise à jour de compte sur votre ou vos liens commerçant-acquéreur, vous pouvez demander manuellement des informations de mise à jour de compte sur les détails de la carte stockés dans un jeton. Pour ce faire, indiquez les éléments suivants dans la demande Tokenize (Segmenter en jetons) :
verificationStrategy=ACCOUNT_UPDATER
transaction.currency
Notez que le groupe de paramètres sourceOfFunds
est facultatif.
La passerelle recevra et traitera la réponse du service du programme de mise à jour de compte comme lorsque la fonctionnalité Token Maintenance Service est utilisée. Pour plus d'informations sur les mises à jour de jetons, les jetons non valides et l'extraction des informations de mise à jour de jetons, voir les sections sous Token Maintenance Service.
Jeton de remplacement
Lorsque la passerelle reçoit une réponse du programme de mise à jour de compte d'un acquéreur indiquant que le numéro de carte a changé, elle ne peut pas mettre à jour les détails de la carte en raison de la stratégie de génération ou de maintenance des jetons. Au lieu de cela, elle crée un nouveau jeton avec le nouveau FPAN (Funding Primary Account Number), puis relie le nouveau jeton à l'ancien à l'aide du champ replacementToken.
Cette section explique différents scénarios lorsque le commerçant doit utiliser le jeton de remplacement et supprimer l'ancien jeton.
Ce tableau décrit différents scénarios dans lesquels un jeton de remplacement est généré.
Cas 1 |
|
Cas 2 |
|
Segmentation en jetons de l'ID de contrat de facturation PayPal
PayPal vous permet de mettre en place une entente de facturation pour un payeur qui vous permet de facturer ultérieurement le payeur sans le consentement de celui-ci en référençant l'entente de facturation. Le payeur ne doit donner son consentement à l'entente de facturation qu'une seule fois, lorsque celle-ci est établie. Un paiement peut être effectué ou non au moment de la mise en place de l'entente de facturation.
Vous pouvez segmenter en jetons l'ID de l'entente de facturation PayPal en utilisant l'opération Tokenize (Segmenter en jetons). Indiquez l'ID de jeton, généré par la passerelle ou celui que vous avez fourni, dans l'URL de la demande Tokenize (Segmenter en jetons).
URL | https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<your_gateway_merchant_ID>/token/<token_ID> |
Méthode HTTP | PUT |
{ "sourceOfFunds": { "provided": { "paypal": { "billingAgreement": { "description": "Test Billing Agreement", "name": "Test Name", "cardinality": "MULTIPLE", "id": "1234" } } }, "type": "PAYPAL", "token": "9926675679589987" }, "shipping": { "address": { "city": "city", "country": "country", "postcodeZip": "post_code", "stateProvince": "state", "street": "test street", "street2": "test street2" } } }
Test de votre intégration
Vous pouvez tester votre intégration pour la segmentation en jetons de la passerelle à l'aide de votre profil de commerçant de test (votre ID du commerçant préfixé par TEST) dans en production.
Lorsque vous êtes activé et configuré pour la segmentation par votre prestataire de services de paiement, la passerelle crée deux référentiels, test et production. Le référentiel de test est votre ID de référentiel de jetons précédé de TEST.
Lorsque vous soumettez des demandes de segmentation en jetons à la passerelle à l'aide de votre profil de commerçant de test, le référentiel de jetons de test est utilisé. Pour traiter ultérieurement un paiement avec un jeton, vous devez segmenter en jetons un numéro de carte de test pris en charge. Pour les détails de la carte de test, voir Test et passage en ligne.