Instalar o snippet
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.
Onde pegar o token
Seção intitulada “Onde pegar o token”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.
Instalação
Seção intitulada “Instalação”<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:
- o
inittem que vir depois do carregamento do script, por isso a tag não levaasyncnemdefer - o
initjá 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.
Chamadas
Seção intitulada “Chamadas”// 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' })| Chamada | Evento gerado | Payload que o snippet monta |
|---|---|---|
rapid('checkout', …) | checkout | identificação do aparelho |
rapid('terms', …) | terms_acceptance | a URL da página |
rapid('track', 'access_log', …) | access_log | a URL da página |
rapid('track', 'usage_log', …) | usage_log | a 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.
Fire and forget
Seção intitulada “Fire and forget”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_reflongo 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.
Identificação do aparelho
Seção intitulada “Identificação do aparelho”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:
fp | Significa |
|---|---|
pro | identificação do Fingerprint, validada do lado servidor |
fallback | identificaçã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.
Como saber se está funcionando
Seção intitulada “Como saber se está funcionando”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.