Une session de paiement, ou plus simplement une session, est un conteneur temporaire pour les champs de demande et les valeurs des opérations faisant référence à une session. Cela vous permet d'utiliser une session dans une opération pour référencer les champs de demande et les valeurs, plutôt que de les indiquer directement dans la demande d'opération. Lorsque Mastercard Gateway reçoit une opération référençant une session, la passerelle crée la demande finale en combinant les champs de demande de la session et ceux fournis directement dans la demande.
Les sessions autorisent des intégrations plus élaborées lorsque les différentes parties de la demande sont collectées à différents points du flux de paiement ou via différents canaux. Par exemple, les flux de paiement pour Hosted Session et les portefeuilles (par exemple, Masterpass) utilisent des sessions pour collecter et stocker des informations sensibles concernant le payeur. Cela réduit la conformité PCI et les coûts de mise en œuvre, car vous ne gérez ni ne stockez aucune information de paiement sur votre serveur.
Avantages clésCopied to Clipboard
Réduit les coûts liés à la conformité PCI, car vous ne gérez ni ne stockez aucun détail du paiement.
Facilite l'intégration, car vous n'avez pas besoin de gérer directement les valeurs des champs de demande stockés dans une session.
Réduit la fraude interne, car votre personnel n'a qu'un accès limité aux informations du payeur.
Vous permet de mettre à jour les champs de demande et les valeurs stockés dans une session. Cela est utile lorsqu'une carte de crédit expire ou que d'autres informations d'un payeur changent.
Vous permet d'extraire les champs de demande et les valeurs contenus dans une session en spécifiant l'identifiant de session.
Travailler avec des sessionsCopied to Clipboard
Créer une session
La première étape consiste à créer une session que vous pouvez mettre à jour à l'aide des champs de demande et des valeurs que vous voulez stocker dans la session.
Vous pouvez créer une session en utilisant :
L'appel Create Session (Créer une session), qui renvoie un identifiant de session unique que vous devez fournir lors des demandes suivantes pour faire référence au contenu de la session.
Vous pouvez éventuellement spécifier la limite d'authentification (session.authenticationLimit), qui indique le nombre d'opération pouvant être soumises à la passerelle en utilisant l'identifiant de session comme mot de passe. Si vous ne renseignez pas ce champ, la passerelle détermine une valeur par défaut.
Les champs suivants sont retournés :
session.id: identifiant de session unique que vous devez fournir lors des demandes suivantes pour faire référence au contenu de la session.
session.authenticationLimit: limite indiquée dans la demande ou valeur par défaut de la passerelle.
session.aes256Key: clé que vous pouvez utiliser pour décrypter les données sensibles transmises à votre site Web via le navigateur ou l'appareil mobile du payeur.
session.version: vous pouvez utiliser ce champ pour implémenter un verrouillage optimiste du contenu de la session.
session.updateStatus: résumé des résultats de la dernière tentative de modification de la session.
Référence de l'API Create Session (Créer une session)[REST][NVP]
Vous pouvez ajouter ou mettre à jour des champs de demande dans une session à l'aide :
De l'appel Update Session (Mettre à jour la session).
Il vous permet d'ajouter des données de paiement et de payeur dans une session, qui peuvent ensuite devenir l'entrée pour déterminer le risque associé à un payeur dans une opération d'authentification.
Référence de l'API Update Session (Mettre à jour la session)[REST][NVP]
Référence de l'API Update Session From Wallet (Mettre à jour la session à partir du portefeuille)[REST][NVP]
Vous ne pouvez pas supprimer des champs d'une session, mais uniquement remplacer des valeurs de champs existants.
Utilisation d'une session
Vous pouvez utiliser une session contenant les champs et les valeurs de la demande dans les opérations suivantes :
Nous vous conseillons d'extraire les détails de la session en utilisant l'opération Retrieve Session (Extraire la session) et de vérifier le contenu de la session avant de lancer une opération de paiement ou de segmentation en jetons.
Authenticate Payer (Authentifier le payeur)[REST][NVP]
Vous pouvez exécuter plusieurs opérations au moyen de la même session, par exemple Pay (Payer) et Tokenization (Segmentation en jetons). Ceci est utile si vous souhaitez effectuer un paiement et également enregistrer les détails de la carte. Notez que la API version des opérations faisant référence à la session doit correspondre à la API version utilisée lors de la mise à jour ou de l'ajout de champs de demande à la session.
Une fois que vous lancez une opération qui fait référence à une session (sauf Open Wallet, Update Session, Update Session From Wallet), le cryptogramme visuel de la carte, s'il est stocké dans la session, est supprimé. Ceci est nécessaire pour respecter les normes PCI. Si vous souhaitez enregistrer les détails de la carte pour une utilisation ultérieure, vous pouvez le faire en effectuant une opération Tokenization (Segmentation en jetons) à l'aide de la session.
Vous pouvez obtenir les champs de demande et les valeurs stockés dans une session en fournissant l'identifiant de session.
Référence de l'API Retrieve Session (Extraire la session)[REST][NVP]
Prendre des décisions commerciales basées sur le contenu de la sessionCopied to Clipboard
Si vous prenez des décisions commerciales basées sur les données obtenues à partir d'une session, vous devez utiliser la fonctionnalité de verrouillage optimiste de la session. Cela garantit que les données que vous avez utilisées pour prendre vos décisions sont les mêmes que celles utilisées pour traiter votre opération de demande.
Pour utiliser la fonction de verrouillage optimiste, vous devez :
Récupérer en toute sécurité le contenu de la session au moyen de l'opération Retrieve Session (Extraire la session).
Enregistrez la valeur de session.version dans le contenu de la session renvoyé.
Prendre vos décisions sur la base du contenu de session renvoyé.
Lorsque vous soumettez votre opération de demande à la passerelle, transmettez le paramètre session.version en même temps que l'identifiant de session dans le cadre de l'opération.
Si le contenu de la session a changé depuis que vous avez enregistré le paramètre session.version, la passerelle rejette l'opération et renvoie error.cause=INVALID_REQUEST.
Exemples de décisions commerciales basées sur le contenu de session :
Calcul du montant de surcoût en fonction du type de carte fournie par le payeur.
Calcul du montant d'expédition en fonction de l'adresse d'expédition fournie par le payeur.
Référence de l'API Retrieve Session (Extraire la session)[REST][NVP]