Cinématique
Initialisation de la session de paiement
Ce cas d’utilisation nécessite la création d’un formToken via un appel au Web
Service Charge/CreateToken.
POSThttps://epaync.nc/api-payment/V4/Charge/CreateToken
Aucun champ spécifique n'est nécessaire pour bénéficier de la protection
3D
Secure.
Dans le cadre de l'application de la DSP2, une authentification forte est
requise lors de l'enregistrement d'une carte.
Le champ strongAuthentication est
ignoré et une demande d'authentification forte est réalisée automatiquement.
Analyse de la réponse
A la fin de l'opération, la plateforme retourne un objet Payment à l'URL de
notification du site marchand et au client JavaScript.
Voici la liste des attributs décrivant, par cas d'usage, le résultat de
l'authentification du porteur :
Cas d'usage | Champs retournés |
Transaction avec authentification forte réussie | - authenticationResponse.value.status =
SUCCESS : Authentification
réussie.
- authenticationResponse.value.authenticationType =
CHALLENGE (Valeur retournée en 3DS1 et
3DS2).
- authenticationResponse.value.commerceIndicator
= 5 (Visa ou AMEX) ou
02 (Mastercard).
- authenticationResponse.value.extension.authenticationType
= THREEDS_V1 ou
THREEDS_V2.
- transactionDetails.liabilityShift =
YES : Le paiement est garanti.
- transactions.effectiveStrongAuthentication =
ENABLED : Le porteur s'est authentifié
avec succès.
|
Transaction avec authentification frictionless
réussie, le marchand dispose de l'option "Frictionless 3DS2" et a
demandé une authentification sans interaction du porteur | authenticationResponse.value.status =
SUCCESS : Authentification
réussie. authenticationResponse.value.authenticationType =
FRICTIONLESS. - authenticationResponse.value.commerceIndicator =
5 (Visa ou AMEX) ou 02 (Mastercard).
- authenticationResponse.value.extension.authenticationType
= THREEDS_V2.
transactionDetails.liabilityShift =
NO : Le paiement n'est pas
garanti. transactions.effectiveStrongAuthentication =
ENABLED : Le porteur s'est
authentifié avec succès.
|
Transaction avec authentification frictionless
réussie, le marchand n'a pas demandé une authentification sans
interaction du porteur | authenticationResponse.value.status =
SUCCESS : Authentification
réussie. authenticationResponse.value.authenticationType =
FRICTIONLESS. - authenticationResponse.value.commerceIndicator =
5 (Visa ou AMEX) ou 02 (Mastercard).
- authenticationResponse.value.extension.authenticationType
= THREEDS_V2.
transactionDetails.liabilityShift =
YES : Le paiement est
garanti. - transactions.effectiveStrongAuthentication =
ENABLED : Le porteur s'est
authentifié avec succès.
|
Transaction avec authentification 3D Secure en
échec | authenticationResponse.value.status =
FAILED : Erreur
d’authentification. authenticationResponse.value.authenticationType =
CHALLENGE. - authenticationResponse.value.commerceIndicator =
null
- authenticationResponse.value.extension.authenticationType
= THREEDS_V1 ou
THREEDS_V2.
- authenticationResponse.value.reason.code =
CARD_AUTHENTICATION_FAILED : Refus
de l’authentification par l’émetteur.
transactionDetails.liabilityShift = null : Le
paiement n'est pas garanti. transactions.effectiveStrongAuthentication =
DISABLED : l'authentification du
porteur est en échec.
|
Carte non enrôlée | authenticationResponse.value.status =
NOT_ENROLLED : Porteur non
enrôlé. authenticationResponse.value.authenticationType =
null - authenticationResponse.value.commerceIndicator =
null
- authenticationResponse.value.extension.authenticationType
= THREEDS_V1.
transactionDetails.liabilityShift =
NO : Le paiement n'est pas
garanti. - transactions.effectiveStrongAuthentication =
DISABLED : l'authentification du
porteur est en échec.
|