Simulação de criação do desafio (challengeId)

simulação

Como demonstrado no fluxo do processo de autenticação 3DS, o parceiro deverá utilizar o identificador (challengeId) recebido via webhook para associá-lo a um desafio e enviá-lo a seu cliente para confirmar a compra on-line que está sendo realizada.

Para que o parceiro possa testar esse fluxo, disponibilizamos em sandbox um endpoint que simula a criação do challengeId da transação e dispara uma mensagem via webhook comunicando o evento.

Lembre-se de configurar o webhook para o recebimento desse evento.

📘

Nota

O endpoint de simulação funciona apenas em sandbox, pois, em produção, o parceiro receberá diretamente do Bankly uma mensagem via webhook com o challengeId cada vez que for necessário criar um desafio.

Requisição

Requisição HTTP

POST https://api.sandbox.bankly.com.br/card-network-transactions/simulator/challenge
curl --request POST \
     --url 'https://api.sandbox.bankly.com.br/card-network-transactions/simulator/challenge' \
     --header 'accept: application/json' \
     --header 'api-version: 1' \
     --header 'authorization: Bearer {Token}' \
     --header 'content-type: application/*+json' \
     --data-raw '{
         "card": {
              "proxy": "string"
         },
         "merchant": {
              "name": "nome_merchant"
         },
         "amount": {
              "value": 25,
              "currency": "986"
         },
         "deviceChannel": "APP"
    }'

Autorização

Para garantir a segurança nas requisições, todos os endpoints do Bankly utilizam scopes como parte do seu fluxo de autorização.
Esta requisição requer o scope descrito a seguir:

ScopeDescrição
card.network.transactions.3ds.writeConcede acesso para a simulação de criação do desafio.

Cabeçalhos (Headers)

NomeDescrição
api-versionObrigatório. Versão da API. Atualmente estamos na versão 1.0.
authorizationObrigatório. Token de autorização do tipo Bearer.

Parâmetros da rota (Path)

Não é necessário enviar parâmetros no path desta requisição.

Corpo da requisição (Body)

No body, envie os seguintes campos em formato JSON:

NomeTipoDescrição
cardobjectObrigatório. Objeto que contém informação sobre o cartão utilizado na compra.
card.proxystringObrigatório. Código identificador do cartão.
merchantobjectObrigatório. Objeto que contém informação sobre o e-commerce no qual a compra foi iniciada.
merchant.name stringObrigatório. Nome do e-commerce.
amountobjectObrigatório. Objeto que contém informações sobre o valor da transação.
amount.valuenumberObrigatório. Valor total da transação.
amount.currencystringObrigatório. Código da moeda com base na ISO-4217. Exemplo: “986” para BRL.
deviceChannelstringObrigatório. Canal por onde ocorre a tentativa de compra, o qual pode ser "APP" ou "BROWSER".
{
     "card": {
          "proxy": "string"
     },
     "merchant": {
          "name": "merchant_name"
     },
     "amount": {
          "value": 25,
          "currency": "986"
     },
     "deviceChannel": "APP"
}

Resposta (Response)

Os status 202 indica que a solicitação foi aceita e que o challengeId foi criado com sucesso.

Assim que a resposta de sucesso é recebida, a mensagem contendo o challengeId é disparada ao parceiro via webhook.

❗️

Atenção

O tempo de expiração do challengeId é de cinco minutos para transações via browser e dez minutos para transações via APP. Não será possível responder o desafio após o tempo de expiração, indicado no campo expirationTimeStamp do evento PRE_AUTHENTICATION_CHALLENGE_WAS_REQUESTED.

👍

Dica

Para simular uma requisição nesse endpoint, acesse o API Reference.

Erros

Este endpoint não retorna erros específicos. Porém, ele poderá retornar alguns erros comuns entre todos os endpoints.

🚧

Importante

Recordamos que é de responsabilidade do parceiro associar o challengeId recebido a um desafio e enviá-lo ao seu cliente para autenticar a transação.

Eventos

Caso o parceiro deseje receber mensagens referentes aos eventos relacionados a esse endpoint, é preciso configurar o webhook. Os eventos são:

Nome do eventoDescrição
PRE_AUTHENTICATION_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.
PRE_AUTHENTICATION_WAS_RECEIVEDDesafio recebido pelo cliente do parceiro.