• França
lyra.com
Procurando
Categoria
Tags
pagina inicial
Suporte técnico

Consultar o resultado da sessão de autenticação

  • Caso de uso
  • Solicitação
  • Resposta
  • Exemplo de solicitação e resposta

Apresentação

Esta seção descreve como usar o serviço da Web PCI/Authentication/GetSession para obter o resultado da autenticação e solicitar autorização.

Caso de uso

O Serviço Web PCI/Authentication/CreateSession é usado para autenticar o titular do cartão de pagamento. O resultado da autenticação contém os dados necessários para a solicitação de autorização, como o CAVV (para mais informações: Guia de Integração (modo simples) ).

O resultado da autenticação é recuperado pelo EC:

  • automaticamenteno IAN, informado na solicitação para o Web Service:PCI/Authentication/CreateSession( campoianTargetUrl).

No caso de ausência de resposta no IAN, use o Web Service PCI/Authentication/GetSession, após o vencimento da sessão de autenticação (10 minutos) para recuperar o resultado da autenticação.

Solicitação

  1. Use o campooperationSessionId, presentes no resultado da autenticação. Este campo é encontrado na resposta do Web ServicePCI/Authentication/CreateSession.

Exemplo de resposta

{
  "webService":"PCI/Authentication/CreateSession",
  "version":"V4",
  "applicationVersion":"6.0.0",
  "serverDate":"2023-04-16T11:11:21+00:00",
  "ticket":"839ecda45f6449a8869747a80c26b2d2",
  "applicationProvider":"LYRA",
  "metadata":null,
  "status":"SUCCESS",
  "mode":"TEST",
  "serverUrl":"https://api.lyra.com",
  "_type":"V4/WebService/Response",
  "answer":{
    "operationSessionId":"30641640cba14eab8e6766094fd201da",
    "operationUrl":"https://api.lyra.com/api-payment/V4/Charge/Public/Authenticate/Session/30641640cba14eab8e6766094fd201da;JSESSIONID=7A4beEA2d5fdbFeA7389F3B91a7bDBaBc8DA9df5.default-hostname",
    "_type":"V4/PCI/Authentication/AuthenticationSessionResponse"
  }
}

No exemplo:

  • answer.operationSessionId: "30641640cba14eab8e6766094fd201da"
  1. Chamar o WebServicePCI/Authentication/GetSessioncom o campooperationSessionId.
PARÂMETRO REQUISITO Descrição
operationSessionId Sim Código único da sessão de autenticação.

Resposta

O objeto AuthenticationResponseData é a resposta do PCI/Authentication/GetSession e contém os seguintes parâmetros:

PARÂMETRO Descrição
id token único de autenticação, no formato UUID.
operationSessionId Código único da sessão de autenticação.
value.authenticationType Tipo de autenticação que ocorreu.
value.authenticationId.authenticationIdType Campo é procedente do campo dsTransId do protocolo 3DS V2
value.authenticationId.value Valor do código da transação de autenticação conhecido pela rede bancária.
value.authenticationValue.authenticationValueType Tipo do valor de autenticação.
value.authenticationValue.value Valor de autenticação final (em função do DS este valor pode se chamar CAVV, AEVV ou AAV). Uma cadeia de caracteres codificados com base64 de 28 caracteres de comprimento.
value.status O status de autenticação, ou seja o resultado positivo/negativo da autenticação.
value.commerceIndicator O Commerce Indicator, chamado ECI (Electronic Commerce Indicator) para o protocolo 3DS. Indicador retornado pelo ACS para apresentar os resultados da tentativa de autenticação do portador do cartão.
value.reason.code Código adicional informativo sobre a origem do resultado. Ex: DS_TIMEOUT.
value.reason.message Mensagem adicional informativa sobre a origem do resultado.
protocol.name Nome do protocolo de autenticação do portador do cartão.
protocol.version Versão do protocolo de autenticação do portador do cartão.
protocol.network Rede na qual o cartão foi autenticado.
protocol.challengePreference Indica se o EC solicita um challenge ou não.
protocol.simulation Booleano que indica se a autenticação deve ser realizada em modo simulação.

Veja todos os campos em nosso playground:

  • AuthenticationResponseData do tipo AuthenticationResult

Exemplo de solicitação e resposta

  1. Chamada ao Web Service PCI/Authentication/CreateSession.

Solicitação

/pt-BR/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/CreateSession
{
  "amount": 1230,
  "currency": "EUR",
  "transactionCategory": "PAYMENT",
  "productType": "GOODS_OR_SERVICE_PURCHASE",
  "merchant": {
    "mid": "9876357"
  },
  "paymentForm":{
    "pan": "4970110000000013",
    "expiryMonth": "02",
    "expiryYear": "24",
    "networkPreference": "VISA"
  },
  "protocolRequest": {
    "name": "THREEDS",
    "version": "2",
    "challengePreference": "NO_PREFERENCE"
  },
  "ianTargetUrl": "https://myiantargeturl.com"
}
/**
 * I initialize the PHP SDK
 */
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/keys.php';
require_once __DIR__ . '/helpers.php';

/** 
 * Initialize the SDK 
 * see keys.php
 */
$client = new Lyra\Client();

/**
 * I create a formToken
 */
$store = array("amount" => 250, 
"currency" => "EUR", 
"orderId" => uniqid("MyOrderId"),
"customer" => array(
  "email" => "sample@example.com"
));
$response = $client->post("V4/Charge/CreatePayment", $store);

/* I check if there are some errors */
if ($response['status'] != 'SUCCESS') {
    /* an error occurs, I throw an exception */
    display_error($response);
    $error = $response['answer'];
    throw new Exception("error " . $error['errorCode'] . ": " . $error['errorMessage'] );
}

/* everything is fine, I extract the formToken */
$formToken = $response["answer"]["formToken"];

?>

Resposta

{
  "webService":"PCI/Authentication/CreateSession",
  "version":"V4",
  "applicationVersion":"6.0.0",
  "serverDate":"2023-04-16T11:11:21+00:00",
  "ticket":"839ecda45f6449a8869747a80c26b2d2",
  "applicationProvider":"LYRA",
  "metadata":null,
  "status":"SUCCESS",
  "mode":"TEST",
  "serverUrl":"https://api.lyra.com",
  "_type":"V4/WebService/Response",
  "answer":{
    "operationSessionId":"30641640cba14eab8e6766094fd201da",
    "operationUrl":"https://api.lyra.com/api-payment/V4/Charge/Public/Authenticate/Session/30641640cba14eab8e6766094fd201da;JSESSIONID=7A4beEA2d5fdbFeA7389F3B91a7bDBaBc8DA9df5.default-hostname",
    "_type":"V4/PCI/Authentication/AuthenticationSessionResponse"
  }
}

No exemplo:

  • answer.operationSessionId: "30641640cba14eab8e6766094fd201da"
  1. Chamada ao Web Service PCI/Authentication/GetSession.

Solicitação

/pt-BR/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/GetSession
{
"operationSessionId": "30641640cba14eab8e6766094fd201da"
}

Resposta


{
  "webService":"PCI/Authentication/GetSession",
  "version":"V4",
  "applicationVersion":"6.0.0",
  "serverDate":"2023-04-16T11:11:21+00:00",
  "ticket":"839ecda45f6449a8869747a80c26b2d2",
  "applicationProvider":"LYRA",
  "metadata":null,
  "status":"SUCCESS",
  "mode":"TEST",
  "serverUrl":"https://api.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": "F2lYFh91NAcDOD+I3OTQSjdMDA4=",
                "_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": "Lyra SMS",
                "_type": "V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2"
            },
            "reason": {
                "_type": "V4/Charge/Authenticate/AuthenticationResultReason"
            },
            "_type": "V4/Charge/Authenticate/AuthenticationResult"
        },
        "_type": "V4/AuthenticationResponseData"
    }
}

3. Análise do resultado da autenticação

O processo de autenticação está finalizado. A resposta contém os dados necessários para realizar a solicitação de autorização, como o CAVV..

Jobs
Legal
GDPR
25.22-1.11