Autenticação 3DS

O evento de autenticação 3DS dispara uma mensagem que comunica ao parceiro Bankly a necessidade do envio de um desafio a seu cliente.

Como os eventos chegam ao recebedor via webhook, é preciso realizar previamente a sua configuração.

Contexto e nome do evento

No evento de autenticação 3DS, o campo context sempre informará “Authorization”, e o campo name será descrito conforme a tabela a seguir:

Nome do evento (name)Descrição
CHALLENGE_WAS_REQUESTEDUm desafio foi requisitado.

Após receber este evento, o parceiro deverá criar um desafio e enviá-lo a seu cliente para que ele possa confirmar a tentativa de compra.

EntityId

O campo entityId é o identificador da entidade emissora do evento. No caso do evento de autenticação 3DS, o entityId é o challengeId.

Exemplo do evento CHALLENGE_WAS_REQUESTED

{ 

  "entityId": "812ghb18-9jkb-4fda-94e1-06d49defdf67d", 
  "companyKey": "COMPANY_KEY", 
  "idempotencyKey": "902ghj18-9fdb-4fga-94e1-06d49ghbe67d", 
  "context": "Authorization", 
  "name": "CHALLENGE_WAS_REQUESTED", 
  "timestamp": "2022-07-12T12:50:05.046+00:00", 
  "correlationId": "f50d7ff8-3iyt-4eac-83e9-c02e430b7836", 
  "data": { 
    "challengeId": "806tag18-9fdb-4wrf-94e1-06d49dhjk67d", 
    "transactionTimeStamp": "2022-07-12T12:50:05.046+00:00", 
    "expirationTimeStamp": "2022-07-12T13:00:05.08+00:00", 
    "holder": { 
      "document": { 
        "value": "12345678900", 
        "type": "CPF" 
      }, 
      "account": { 
        "branch": "0001", 
        "number": "123456", 
        "bank": { 
          "ispb": "13140088", 
          "code": "332", 
          "name": "Acesso Soluções De Pagamento S.A." 
        } 
      } 
    }, 
    "card": { 
      "proxy": "1234567765432123" 
    }, 
    "channel": { 
      "name": "3DS", 
      "directoryServerTransactionID": "812fab18-6fdb-4fda-94e1-06d49dfbe67d", 
      "merchant": { 
        "name": "teste" 
      }, 
      "amount": { 
        "value": 3, 
        "currency": "BRL" 
      } 
    } 
  } 
 }

🚧

Importante

Para conhecer a estrutura básica dos eventos com os campos que chegarão à sua API, consulte nossa documentação específica de Eventos.

Objeto data no evento de autenticação 3DS

O objeto data traz detalhes específicos do evento transmitido. No caso do evento de autenticação 3DS, esse objeto trará os seguintes campos:

  • challengeId: id da transação gerado para identificar o desafio que o parceiro irá criar;
  • transactionTimeStamp: data e hora em que ocorreu a transação;
  • expirationTimeStamp: data e hora da expiração do desafio;
  • holder: objeto que contém informações sobre o titular do cartão:
    • document: objeto que contém informações sobre o documento do titular:
      • value: número do documento;
      • type: tipo do documento (CPF ou CNPJ).
    • account: objeto que contém informações sobre a conta do titular:
      • branch: número da agência;
      • number: número da conta;
      • bank: objeto que contém informações sobre o banco ao qual a conta pertence;
        • ispb: ispb (Identificador de Sistema de Pagamentos Brasileiro) do banco;
        • code: código do banco;
        • name: nome do banco.
  • card: objeto que contém o proxy do cartão utilizado na compra:
    • proxy: código identificador do cartão.
  • channel: objeto que contém informações sobre o canal no qual o fluxo de autenticação 3DS se inicia:
    • name: nome do canal, que sempre será “3DS”;
    • directoryServerTransactionID: identificador da transação gerado pelo provedor externo do fluxo 3DS;
    • merchant: objeto que contém informação sobre o e-commerce no qual a compra foi iniciada:
      • name: nome do e-commerce.
    • amount: objeto que contém informações sobre o valor da transação:
      • value: valor total da transação;
      • currency: o código ISO 4217 da moeda utilizada. Exemplos: “BRL”, “USD” e “EUR”.

❗️

Atenção

Não será possível responder o desafio após o tempo de expiração, indicado no campo expirationTimeStamp.