Integração 3DS no Hub – Guia Técnico
O fluxo de 3DS via Hub se diferencia do fluxo padrão da empresa apenas na etapa de solicitação do JWT.
Os demais passos podem utilizar o 3ds-js (3ds-handler) e seguir o fluxo normal descrito na documentação de 3DS.
1. Como habilitar o 3DS para o cliente
Solicitar o cadastro do cliente ao time de 3DS.
Autorizar o App a realizar a solicitação de Token JWT, ativando as permissões do aplicativo no Hub:
Obter um Token de autenticação do 3DS
Obter um Token de autenticação do 3DS Sandbox
2. Como solicitar o Token (JWT)
Endpoint GET:
https://hubapi.pagar.me/{{ENVIRONMENT}}/3ds2/internal/{{ACCOUNT_ID}}/tds-tokenAutenticação:
Utilizar o AccessToken do Hub em Basic Auth
Variáveis da URL:
{{ENVIRONMENT}}:test→ ambiente Sandboxlive→ ambiente Produção
{{ACCOUNT_ID}}: AccountId do cliente no Pagar.me
Observações importantes:
A requisição deve ocorrer no back-end, pois utiliza a chave privada do cliente.
O retorno será um JWT (esse sim pode ser repassado ao front-end).
O JWT tem tempo de vida de 20 segundos.
3. Continuação da integração
Após obter o JWT, siga o fluxo padrão da documentação de 3DS - Guia de Integração a partir do Passo 1 utilizando o 3ds-js (3ds-handler).
4. Considerações para Sandbox
O ambiente de sandbox utiliza um serviço externo como simulador.
Esse serviço requer que o request seja feito via HTTPS (o certificado pode ser autoassinado ou localhost).
Para testes, utilize os cartões abaixo:
Cenário  | Cartão de Teste  | 
Transação com status Y (sem desafio)  | 4001000000000803  | 
Transação com status N (sem desafio)  | 4001000000000613  | 
Transação com status A (sem desafio)  | 4001000000000423  | 
Transação com status R (sem desafio)  | 4001000000000233  | 
Transação com status I (sem desafio)  | 4001000000000043  | 
Transação com status U (sem desafio)  | 4001000000000753  | 
Estouro de tempo limite de autenticação  | 4001000000000563  | 
Status C → desafio → resultado Y  | 4001000000000670  | 
Status C → desafio → resultado N  | 4001000000000571  | 
Status C → desafio manual (Y ou N)  | 4001000000000472  | 
⚠️ Importante:
O meio de pagamento Cartão de Crédito precisa estar configurado como PSP no sandbox.
Se estiver configurado como Simulador, o desafio será exibido, mas a transação falhará.
5. Observações finais
Atualmente não há informação na Dashboard nem no Webhook indicando se a transação passou ou não por 3DS.
O desenvolvedor deve armazenar o resultado retornado pelo front-end, pois após o fluxo esse dado não estará mais disponível.


