Pular para o conteúdo

↑↓ navegar ↵ abrir Ctrl↵ nova aba esc fechar

O snippet é a forma mais curta de capturar evidência: duas tags no seu checkout e uma chamada por evento. Ele conversa com o canal navegador por você.

Se o seu checkout é renderizado no servidor, ou se você prefere não carregar script de terceiro, pule esta página e chame o endpoint direto.

No painel, em Configurações › Integrações, no cartão do SDK de captura. Ative e o painel mostra o snippet pronto, já com o token do merchant selecionado. O cartão aparece para quem tem o produto de disputa ativo.

O token é publicável: ele fica no HTML da sua loja e não precisa de proteção. Com ele só é possível enviar evento, nunca ler dado. Evento que não corresponde a um pedido seu é descartado.

<script src="https://api.rapidchargeback.com/sdk/v1/rapid.js"></script>
<script>rapid('init',{token:'seu_token_publicavel'})</script>

Duas coisas importam na ordem acima:

  1. o init tem que vir depois do carregamento do script, por isso a tag não leva async nem defer
  2. o init já começa a identificar o aparelho, então chame-o o quanto antes na página, não só na hora do pagamento

O script tem cerca de 5 KB, não tem dependência e não bloqueia a página.

// Compra finalizada. Captura também os dados do aparelho.
rapid('checkout', { order_ref: 'TXN-2026-001' })
// Cliente aceitou os termos.
rapid('terms', { order_ref: 'TXN-2026-001' })
// Cliente acessou o produto.
rapid('track', 'access_log', { order_ref: 'TXN-2026-001' })
// Cliente usou o produto ou serviço.
rapid('track', 'usage_log', { order_ref: 'TXN-2026-001' })
ChamadaEvento geradoPayload que o snippet monta
rapid('checkout', …)checkoutidentificação do aparelho
rapid('terms', …)terms_acceptancea URL da página
rapid('track', 'access_log', …)access_loga URL da página
rapid('track', 'usage_log', …)usage_loga URL da página

O order_ref é obrigatório em todas. É o identificador do pedido no seu sistema, o mesmo que você manda em external_id ao criar a transação. Ver Tipos e payload.

Chamada sem order_ref é ignorada, não gera evento nem erro visível.

O snippet nunca quebra o checkout, e isso tem um custo que vale conhecer:

  • toda chamada é silenciosa. Ele não lança exceção, não devolve promessa e não lê a resposta
  • erro de validação (tipo errado, order_ref longo demais) não aparece no console
  • falha de rede não é retentada no navegador

Para testar a integração, chame o endpoint do navegador direto com curl, onde você vê o status e a mensagem. Depois de validado, o snippet faz o mesmo em produção.

O envio usa navigator.sendBeacon quando disponível, com fetch em modo keepalive como alternativa. Os dois sobrevivem à navegação para a página seguinte, então o evento de checkout não se perde no redirecionamento do pagamento.

No checkout, o snippet identifica o aparelho antes de enviar o evento. Ele tenta o Fingerprint, com teto de 2 segundos, e cai numa identificação própria se não conseguir (identificador em localStorage mais um hash de atributos do navegador).

O resultado vai no campo fp do payload:

fpSignifica
proidentificação do Fingerprint, validada do lado servidor
fallbackidentificação própria do snippet

A diferença é prática: só a identificação validada preenche aparelho e IP da transação e gera o registro de verificação. Ver O evento checkout.

Se o seu site tem CSP restritiva, o Fingerprint é carregado de https://fpjscdn.net. Bloqueado ele, a captura continua funcionando em modo fallback.

O mesmo cartão do painel mostra se a conta já recebeu evento e quando foi o último. Depois de instalar, faça uma compra de teste e confira ali.