• France
état des services
démonstrations
assistance
FAQContacter le support
Tutoriels vidéo
Rechercher
Catégories
Tags
docs.
France
Espagne
Europe (Anglais)
Inde
Accueil
Cas d'usage
Créer un paiement
Créer un paiement en plusieurs fois
Proposer un paiement complémentaire
Créer un paiement par alias (token)
Créer un lien de paiement
Créer un abonnement
Gérer vos abonnements
Gérer vos transactions (rembourser,...)
Analyser vos journaux
Docs API
Formulaire embarqué
API REST
Formulaire en redirection
SDK Mobile
Échange de fichiers
Mandats SEPA par API REST
Exemples de code
Moyens de paiement
Modules de paiement
Marketplace
Guides
Back Office Marchand
Back Office Expert
Guides fonctionnels

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

/fr-FR/rest/V4.0/api/kb/authentication.html
https://github.com/lyra/rest-php-examples/blob/master/www/minimalEmbeddedForm.php#L9-L44
https://api.lyra.com/api-payment/V4/PCI/Authentication/GetResult
{
"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 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":"",
  "_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"
    }
}

La valeur de l'authentification du porteur (CAVV,AEVV ou AAV) est masquée car c'est une donnée sensible.

Nous recrutons
Mentions légales
Charte de Protection des Données Personnelles
25.22-1.11