Confirmação do desafio
beta scope: card.network.transactions.3ds.write
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.
Simulação de criação do desafio (challengeId)
Endpoint
Para realizar o teste e receber o challengedId
via webhook, utilize este endpoint enviando os seguintes campos obrigatórios:
card
: objeto que contém o proxy do cartão utilizado na compra:proxy
: código identificador do cartão.
deviceChannel
: canal por onde ocorre a tentativa de compra (APP ou BROWSER);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
: código ISO 4217 da moeda utilizada. Exemplo: “986” para BRL.
curl --location --request POST 'https://api-mtls.sandbox.bankly.com.br/card-network-transactions/simulator/challenge' \
--header 'api-version: 1' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <Bearer Token>' \
--data-raw '{
"card": {
"proxy": "string",
},
"deviceChannel": "APP",
"merchant": {
"name": "string",
},
"amount": {
"value": 0,
"currency": "986"
}
}'
Retorno
O status code 202 indicará sucesso na requisição.
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 campoexpirationTimeStamp
do evento CHALLENGE_WAS_REQUESTED.
Erros
Status code | Código | Descrição |
---|---|---|
400 | INVALID_CARD_TO_SIMULATE_CHALLENGE | O cartão informado para criação do desafio é inválido. |
400 | INVALID_PARAMETER | Existem dados inválidos na requisição. |
500 | INTERNAL SERVER ERROR | Erro inesperado no servidor. |
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.
Confirmação do desafio
Ao receber a resposta de seu cliente, o parceiro deverá repassá-la ao Bankly por meio do endpoint de confirmação do desafio.
Endpoint
Para utilizar o endpoint de confirmação do desafio, é obrigatório enviar os seguintes campos:
Path:
challengeId
: refere-se aochallengeId
recebido via webhook e que foi associado ao desafio enviado ao cliente do parceiro.
Body:
allowTransaction
: informe TRUE para confirmar a transação e FALSE para negá-la;documentNumber
: número do documento. Informe somente números.
curl --location --request PATCH 'https://api-mtls.sandbox.bankly.com.br/card-network-transactions/authentication/challenge/{{challengeId}}/confirm' \
--header 'api-version: 1' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <Bearer Token>' \
--data-raw '{
"allowTransaction": "TRUE",
"documentNumber": "12345678900"
}
Retorno
O status code 204 indicará sucesso no envio da confirmação.
Erros
Status code | Código | Descrição |
---|---|---|
400 | INVALID_PARAMETER | Existem dados inválidos na requisição. |
404 | NOT_FOUND | Recurso não encontrado. |
409 | CONFLICT | A solicitação conflitou com o estado atual do recurso existente no servidor. |
500 | INTERNAL_SERVER_ERROR | Erro inesperado no servidor. |
Updated 12 months ago