Pré-requisito: este guia assume que você já carregou o
legacy-pay.js e inicializou o client. Se ainda não fez isso, veja Tokenização de Cartões.legacy-pay.js). Você não precisa carregar scripts adicionais, mexer em headers ou enviar nada manualmente — o SDK detecta a configuração da loja e age sozinho.
Verificar se antifraude está ativo
enabled: false, nenhum script de coleta é carregado e nenhum identificador de fraude é enviado nas transações.
Comportamento padrão
Quando você chamaclient.processCardPayment() ou client.prepareCardPayment(), o SDK verifica se a adquirente configurada exige antifraude. Se exigir, o coletor de fingerprint roda automaticamente antes da autenticação. Se não exigir, o passo é ignorado sem nenhuma ação.
prepared.payinCard para o /payin (campo antifraud.sessionId).
O que acontece com cada transação
Cada chamada ao/payin envia um identificador fresco de antifraude — não há reuso entre transações. Isso significa:
- Cada cobrança é avaliada individualmente.
- Re-cobranças (card-on-file) também passam por uma nova coleta antes do
/payin(se a loja tiver antifraude ativo). - Você não precisa gerenciar IDs nem armazenar nada do antifraude no seu servidor.
Análise de risco no servidor
Além do device fingerprint, a plataforma aplica um motor de análise de risco server-side por empresa. Regras configuráveis (faixa de valor, método de pagamento, janela de tempo, ou retenção total) podem colocar uma transação aprovada em revisão manual: o payin fica comstatus: "PENDING" e um registro de revisão é criado. Um operador então aprova (libera o payin) ou recusa/estorna pelo painel administrativo. Isso é transparente para o integrador — basta acompanhar o status final via webhook.
Falha do antifraude não interrompe o pagamento
Se a coleta falhar (bloqueador de scripts, sem rede, navegador hostil), o SDK loga um aviso no console e continua o fluxo. A transação segue sem identificador de antifraude — ela ainda pode passar pelas demais regras de aprovação da loja, mas o score de risco será menor. Você não precisa tratar esse cenário com código especial. Não háLegacyPayError específico para falha de antifraude.
Resumindo
- Não carregue scripts manualmente —
legacy-pay.jsfaz isso sozinho. - Não envie
antifraud.sessionIdno/payinse você está usandoprocessCardPayment— o SDK monta o payload completo. - Não trate falhas de antifraude — elas são silenciosas e não bloqueiam o pagamento.
- Acompanhe o status final via webhook — uma transação pode ficar em
PENDINGaguardando revisão manual de risco.