Consulter le résultat de l'authentification d'une transaction
Cette section détaille l'utilisation du Web Service PCI/Authentication/GetResult .
Cas d'utilisation
Ce Web Service sert à récupérer les informations liées à l'authentification du porteur de carte.
En cas de contestation, ces données sont importantes pour protéger le marchand.
Il est aussi possible de récupérer les messages échangés dans le cadre de l'authentification. (Voir : Consulter les messages d'authentification)
Liste des Web Services
L'identifiant unique de l'authentification se trouve :
Identifiant d'authentification | Web Service | Champ |
---|---|---|
Dans la réponse du Web Service | Transaction/Get | transactionDetails.cardDetails.authenticationResponse.id |
Order/Get | transactionDetails.cardDetails.authenticationResponse.id | |
PCI/Authentication/GetSession | answer.id | |
PCI/Charge/VerifyPaymentMethod | transactionDetails.cardDetails.authenticationResponse.id | |
PCI/Charge/UpdateToken | transactionDetails.cardDetails.authenticationResponse.id | |
Dans l'IAN (Instant Authentification Notification) | PCI/Authentication/CreateSession | answer.id |
Dans l'IPN (Instant Payment Notification) | PCI/Charge/CreatePayment | transactionDetails.cardDetails.authenticationResponse.id |
PCI/Charge/CreateToken | transactionDetails.cardDetails.authenticationResponse.id | |
PCI/Charge/Authenticate | transactionDetails.cardDetails.authenticationResponse.id |
Exemple dans la réponse du Web Service
Ici un exemple dans le résultat d'authentification (reçu dans la réponse suite à l'appel au Order/Get)
- objet
Payment
: - chemin :
transactions[0].transactionDetails.cardDetails.authenticationResponse.id
{
(...)
"answer": {
(..)
"authenticationResponse": {
"id": "b3d36714-b8a9-43fa-a457-c05940bbdb94",
"protocol": {
"name": "THREEDS",
"version": "2.2.0",
(...)
"_type": "V4/Charge/Authenticate/Protocol"
},
"value": {
"authenticationType": "CHALLENGE",
"authenticationId": {
(...)
},
"authenticationValue": {
(...)
},
"status": "SUCCESS",
(...)
},
"reason": {
"_type": "V4/Charge/Authenticate/AuthenticationResultReason"
},
"_type": "V4/Charge/Authenticate/AuthenticationResult"
},
"_type": "V4/AuthenticationResponseData"
},
(...)
}
Dans l'exemple :
id
: "b3d36714-b8a9-43fa-a457-c05940bbdb94" (lien : Playground)
Exemple dans l'IAN
Ici un exemple dans le résultat d'authentification (reçu dans l'IAN suite à l'appel au PCI/Authentication/CreateSession)
- objet
AuthenticationResponseData
: - chemin :
answer.id
{
(...)
"answer": {
"id": "cb3cb538-1959-47c0-ba8d-2be52e535d81",
"protocol": {
(...)
"_type": "V4/Charge/Authenticate/Protocol"
},
"value": {
"authenticationType": "FRICTIONLESS",
"authenticationId": {
(...)
"_type": "V4/Charge/Authenticate/AuthenticationId"
},
"authenticationValue": {
(...)
"_type": "V4/Charge/Authenticate/AuthenticationValue"
},
"status": "SUCCESS",
"commerceIndicator": "05",
"extension": {
(...)
"_type": "V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2"
},
"reason": {
"_type": "V4/Charge/Authenticate/AuthenticationResultReason"
},
"_type": "V4/Charge/Authenticate/AuthenticationResult"
},
"_type": "V4/AuthenticationResponseData"
}
}
Dans l'exemple :
id
: "cb3cb538-1959-47c0-ba8d-2be52e535d81" (lien : Playground)
Exemple dans l'IPN
Ici un exemple dans le **résultat du paiement** depuis l'IPN.
- objet
Payment
: - chemin :
transactions[0].transactionDetails.cardDetails.authenticationResponse.id
Exemple de réponse : objet Payment
{
"transactions": [
{
"shopId": "69876357",
(...)
"transactionDetails": {
(...)
"cardDetails": {
},
"authenticationResponse": {
"id": "fa73d948-2e96-45fb-a701-75812d19f7bb",
"operationSessionId": "56a80c1f94f64f549a1eb00048d56d35",
"protocol": {
(...)
},
(...)
},
"_type": "V4/Charge/Authenticate/AuthenticationResult"
},
"_type": "V4/AuthenticationResponseData"
},
"_type": "V4/PaymentTransaction"
}
]
}
Dans l'exemple :
id
: "fa73d948-2e96-45fb-a701-75812d19f7bb" (lien : Playground)
Requête
Appelez le WebService PCI/Authentication/GetResult avec l'identifiant unique de l'authentification id
.
Paramètre | Requis | Description |
---|---|---|
id | Oui | Identifiant unique de l'authentification, au format UUID |
Exemple de requête
{ "id": "cb3cb538-1959-47c0-ba8d-2be52e535d81" }
Réponse
Objet AuthenticationResponseData
L'objet **AuthenticationResponseData** contient les paramètres ci-dessous :
Paramètre | Description |
---|---|
id | Identifiant unique de l'authentification, au format UUID.. |
operationSessionId | Identifiant unique de la session d'authentification. |
value.authenticationType | Type d'authentification qui a eu lieu. |
value.authenticationId.authenticationIdType | Champ provient du champ dsTransId du protocole 3DS V2 |
value.authenticationId.value | Valeur de l'identifiant de la transaction d'authentification connu par le réseau bancaire. |
value.authenticationValue.authenticationValueType | Type de la valeur d'authentification. |
value.authenticationValue.value | Valeur d'authentification finale (en fonction du DS cette valeur peut s'appeler CAVV, AEVV ou AAV). Chaine de caractère encodée en base64 d'une taille de 28 caractères. |
value.status | Le statut d'authentification, c'est à dire le résultat positif/négatif de l'authentification.. |
value.commerceIndicator | Le Commerce Indicator, appelé ECI (Electronic Commerce Indicator) pour le protocole 3DS. Indicateur renvoyé par l'ACS pour indiquer les résultats de la tentative d'authentification du porteur de carte. |
value.reason.code | Code additionnel informatif sur l'origine du résultat. Ex: DS_TIMEOUT. |
value.reason.message | Message additionnel informatif sur l'origine du résultat. |
protocol.name | Nom du protocole d'authentification du porteur de carte. |
protocol.version | Version du protocole d'authentification du porteur de carte. |
protocol.network | Réseau sur lequel le moyen de paiement a été authentifié. |
protocol.challengePreference | Indique si le commerçant demande un challenge ou pas. |
protocol.simulation | Booléen qui indique si l'authentification doit être réalisée en mode simulation. |
Retrouvez l'intégralité des champs dans notre playground : type AuthenticationResult
Exemple de réponse
{ "webService":"PCI/Authentication/GetResult", "applicationProvider":"", "metadata":null, "status":"SUCCESS", "mode":"TEST", "serverUrl":"https://static.lyra.com", "_type":"V4/WebService/Response", "answer":{ "id": "e1180f84-ed34-4511-b160-bd2a79c5823a", "protocol": { "name": "THREEDS", "version": "2.2.0", "network": "VISA", "challengePreference": "NO_PREFERENCE", "simulation": true, "_type": "V4/Charge/Authenticate/Protocol" }, "value": { "authenticationType": "CHALLENGE", "authenticationId": { "authenticationIdType": "dsTransId", "value": "64305551-aaf8-4ed8-87f0-93edc79298fc", "_type": "V4/Charge/Authenticate/AuthenticationId" }, "authenticationValue": { "authenticationValueType": "CAVV", "value": "u**************************=", "_type": "V4/Charge/Authenticate/AuthenticationValue" }, "status": "SUCCESS", "commerceIndicator": "05", "extension": { "authenticationType": "THREEDS_V2", "threeDSServerTransID": "e1180f84-ed34-4511-b160-bd2a79c5823a", "dsTransID": "64305551-aaf8-4ed8-87f0-93edc79298fc", "acsTransID": "06729a8f-083e-4e77-8167-b9781797f778", "requestorName": "Company name", "_type": "V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2" }, "reason": { "_type": "V4/Charge/Authenticate/AuthenticationResultReason" }, "_type": "V4/Charge/Authenticate/AuthenticationResult" }, "_type": "V4/AuthenticationResponseData" } }