Pagamentos
Detecção de Fraude
Setup obrigatório do script Nethone para análise de fraude em todos os pagamentos.
Detecção de Fraude
A Cakto realiza análise de fraude automaticamente em todos os pagamentos via integração com Nethone. O setup requer 3 passos no frontend.
Se omitir esses passos, o pagamento pode ser processado sem análise de fraude — o comportamento depende da configuração da sua conta.
Passo 1 — Carregar o script
<!-- Adicione ao HTML da página de checkout — NÃO carregue sob demanda -->
<script src="{NETHONE_SCRIPT_URL}" async></script>NETHONE_SCRIPT_URL é fornecida pela Cakto no onboarding. Armazene em variável de ambiente.
Passo 2 — Inicializar no mount do componente
// Gere UMA vez por sessão, antes de qualquer interação do usuário
const fraudSessionId = crypto.randomUUID()
// Inicia rastreamento silencioso — chame no mount do checkout
window.dftp?.init({ attemptReference: fraudSessionId })Em React:
import { useEffect, useRef } from 'react'
function CheckoutForm() {
const fraudSessionId = useRef(crypto.randomUUID())
useEffect(() => {
window.dftp?.init({ attemptReference: fraudSessionId.current })
}, [])
// ...
}Passo 3 — Fechar antes do submit
// Primeira linha do handleSubmit — antes de qualquer fetch
await window.dftp?.profileCompleted()Passo 4 — Incluir no payload do checkout
{
"antifraud_profiling_attempt_reference": "550e8400-e29b-41d4-a716-446655440000"
}O fraudSessionId gerado no mount é o mesmo UUID enviado no checkout. Nunca gere um novo UUID no submit — isso invalida o rastreamento.
Tipagem TypeScript
declare global {
interface Window {
dftp?: {
init: (options: { attemptReference: string }) => void
profileCompleted: () => Promise<void>
}
}
}