Inicialização
Instancie o SDK fora do componente, no nível do módulo. Isso garante uma única instância por página — necessário para o antifraude funcionar corretamente.1. Antifraude — no carregamento da página
ChameinitAntifraud() o mais cedo possível. Quanto mais cedo rodar, mais dados comportamentais são coletados (movimentos de mouse, tempo de preenchimento do formulário). Exemplo em React:
2. Envio do Formulário
Tudo dentro de um único handler de submit.Autentique com 3DS (recomendado)
Provider padrão: Cielo (browser-only). Valide
authResult.success para capturar falhas de autenticação.Envie ao seu backend
Repasse o token, os dados de 3DS e a referência antifraude (
getAntifraudReference()) ao endpoint de pagamentos do seu backend.O endpoint
/pagamentos é exemplo — use o endpoint de pagamentos do seu
backend, onde roda a chamada à API da Cakto da seção Backend — Autenticação e
Pagamento.Pagar.me — Configuração Extra
Se usarprovider: 'pagarme', adicione este formulário oculto no HTML da página antes de chamar authenticate3DS:
provider: 'pagarme' ao chamar authenticate3DS. Os campos de retorno diferem do padrão Cielo:
| Cielo | Pagar.me | |
|---|---|---|
| Form HTML obrigatório | Não | Sim (data-pagarmecheckout-form) |
holderName e cvv | Opcionais | Obrigatórios |
| Campos retornados | cavv, xid, eci, version, referenceId | eci, trans_status, tds_server_trans_id |
3. Backend — Autenticação e Pagamento
Este é o endpoint chamado no passo 4 do submit. Ele usa o par de chaves API (client_id + client_secret) para obter um Bearer token e chamar a API de pagamento da Cakto.
Consulte o endpoint Criar Cobrança 3DS
para ver todos os campos aceitos no payload de pagamento.
O que enviar ao backend
| Campo | Origem | Obrigatório |
|---|---|---|
cardToken | createToken() | Sim |
cavv, eci, xid, version, referenceId | authenticate3DS() (Cielo) | Recomendado |
eci, trans_status, tds_server_trans_id | authenticate3DS() (Pagar.me) | Recomendado |
antifraud_profiling_attempt_reference | getAntifraudReference() | Recomendado |
Importante
- Nunca exponha
client_secretno frontend — use apenas no backend - Nunca logue CVV ou número completo do cartão
- Nunca envie o número do cartão ao backend — use apenas o
cardToken authenticate3DSe antifraude são browser-only — não funcionam em SSR/Node.js
