Antifraude
Como o SDK LegacyPay coleta o device fingerprint do comprador automaticamente e correlaciona com a transação.
Pré-requisito: Este guia assume que você já carregou o
legacy-pay.jse inicializou oclient. Se ainda não fez isso, veja Tokenização de Cartões.
O antifraude do LegacyPay coleta um device fingerprint — características anônimas do navegador e dispositivo do comprador, como resolução de tela, fontes instaladas, fuso horário — durante o checkout, e usa esse dado pra decidir se aprova, recusa ou manda a transação para revisão manual.
Tudo isso é orquestrado pelo SDK LegacyPay (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
var config = await client.getConfig();
// config.capabilities.antifraud = {
// enabled: true,
// mode: "sdk"
// }Quando enabled: false, nenhum script de coleta é carregado e nenhum identificador de fraude é enviado nas transações.
Comportamento padrão
Quando você chama client.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.
var prepared = await client.prepareCardPayment({ amount, card, customer });
// Se a adquirente exige antifraude, prepared.antifraud.sessionId estará preenchido.
// Se não exige, prepared.antifraud.skipped === true.Você não vê nada disso explicitamente — o resultado já chega embutido em prepared.payinCard para o /payin.
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.
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
antifraudSessionIdno/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.
Updated about 2 months ago