Ir al contenido

↑↓ navegar ↵ abrir Ctrl↵ nueva pestaña esc cerrar

El snippet es la forma más corta de capturar evidencia: dos tags en tu checkout y una llamada por evento. Se comunica con el canal navegador por ti.

Si tu checkout se renderiza en el servidor, o si prefieres no cargar un script de terceros, salta esta página y llama al endpoint directamente.

En el panel, en Configuración › Integraciones, en la tarjeta del SDK de captura. Actívalo y el panel muestra el snippet listo, ya con el token del merchant seleccionado. La tarjeta aparece para quien tiene el producto de disputa activo.

El token es publicable: queda en el HTML de tu tienda y no necesita protección. Con él solo se pueden enviar eventos, nunca leer datos. Un evento que no corresponde a un pedido tuyo se descarta.

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

Dos cosas importan en el orden de arriba:

  1. el init tiene que venir después de la carga del script, por eso el tag no lleva async ni defer
  2. el init ya empieza a identificar el dispositivo, así que llámalo lo antes posible en la página, no solo en el momento del pago

El script pesa unos 5 KB, no tiene dependencias y no bloquea la página.

// Compra finalizada. También captura los datos del dispositivo.
rapid('checkout', { order_ref: 'TXN-2026-001' })
// El cliente aceptó los términos.
rapid('terms', { order_ref: 'TXN-2026-001' })
// El cliente accedió al producto.
rapid('track', 'access_log', { order_ref: 'TXN-2026-001' })
// El cliente usó el producto o servicio.
rapid('track', 'usage_log', { order_ref: 'TXN-2026-001' })
LlamadaEvento generadoPayload que arma el snippet
rapid('checkout', …)checkoutidentificación del dispositivo
rapid('terms', …)terms_acceptancela URL de la página
rapid('track', 'access_log', …)access_logla URL de la página
rapid('track', 'usage_log', …)usage_logla URL de la página

El order_ref es obligatorio en todas. Es el identificador del pedido en tu sistema, el mismo que envías en external_id al crear la transacción. Ver Tipos y payload.

Una llamada sin order_ref se ignora: no genera evento ni error visible.

El snippet nunca rompe el checkout, y eso tiene un costo que vale la pena conocer:

  • toda llamada es silenciosa. No lanza excepciones, no devuelve promesas y no lee la respuesta
  • los errores de validación (tipo equivocado, order_ref demasiado largo) no aparecen en la consola
  • las fallas de red no se reintentan en el navegador

Para probar la integración, llama al endpoint del navegador directamente con curl, donde ves el estado y el mensaje. Una vez validado, el snippet hace lo mismo en producción.

El envío usa navigator.sendBeacon cuando está disponible, con fetch en modo keepalive como alternativa. Los dos sobreviven a la navegación a la página siguiente, así que el evento de checkout no se pierde en la redirección del pago.

En el checkout, el snippet identifica el dispositivo antes de enviar el evento. Intenta con Fingerprint, con un tope de 2 segundos, y recurre a una identificación propia si no lo logra (identificador en localStorage más un hash de atributos del navegador).

El resultado va en el campo fp del payload:

fpSignifica
proidentificación de Fingerprint, validada del lado del servidor
fallbackidentificación propia del snippet

La diferencia es práctica: solo la identificación validada completa el dispositivo y la IP de la transacción y genera el registro de verificación. Ver El evento checkout.

Si tu sitio tiene una CSP restrictiva, Fingerprint se carga desde https://fpjscdn.net. Si se bloquea, la captura sigue funcionando en modo fallback.

La misma tarjeta del panel muestra si la cuenta ya recibió eventos y cuándo fue el último. Después de instalar, haz una compra de prueba y revísalo ahí.