Pular para o conteúdo principal

Validar desafio 3DS

POST/api/v1/bank/public/charge/authentication/{uuid}/validate
Endpoint público

Este endpoint é chamado após o pagador completar o desafio 3DS no iframe do emissor. O SDK ou seu handler de redirecionamento chama este endpoint para finalizar a autenticação e prosseguir com o pagamento.


Cabeçalhos da requisição

CabeçalhoValorObrigatório
Content-Typeapplication/jsonSim

Parâmetros de caminho

CampoTipoObrigatórioDescrição
uuidstring (UUID)SimUUID da cobrança que iniciou a autenticação 3DS

Corpo da requisição

CampoTipoObrigatórioDescrição
transaction_idstringSimID da transação 3DS da resposta do desafio

Campos da resposta

CampoTipoDescrição
charge_uuidstringIdentificador da cobrança
authentication_statusstringauthenticated, failed, attempted
ecistringElectronic Commerce Indicator (ex.: 05, 06, 07)
cavvstringCardholder Authentication Verification Value
statusstringStatus da cobrança após autenticação (confirmed, error)
messagearray/nullDetalhes do erro quando a autenticação falha

Códigos de status HTTP

StatusDescrição
200Validação processada
400transaction_id inválido ou campos obrigatórios ausentes
404Cobrança não encontrada ou sem autenticação pendente
409Autenticação já validada
422Sessão de autenticação expirada
429Limite de requisições excedido
500Erro interno do servidor

Exemplos de código

curl -s -X POST "https://core-manager.a55.tech/api/v1/bank/public/charge/authentication/a1b2c3d4-e5f6-7890-abcd-ef1234567890/validate" \
-H "Content-Type: application/json" \
-d '{"transaction_id": "d4e5f6a7-b8c9-0123-defg-h45678901234"}'

Exemplo de resposta de erro

{
"charge_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"authentication_status": "failed",
"status": "error",
"message": [
{
"code": "AUTHENTICATION_FAILED",
"source": "3ds",
"description": "Issuer rejected the 3DS challenge. Payer may retry or use a different card."
}
]
}