Embedded Checkouts
Recurrente Checkout es una librería JavaScript que te permite insertar un checkout responsivo y seguro en tu propia página web. Funciona mostrando un iframe con tu sesión de pago y maneja callbacks para eventos clave como éxito, fallo o pagos en proceso.
Para ver la versión más actualizada de esta guía y código de ejemplo, visita el repo: github.com/recurrente/recurrente-checkout
Video tutorial
Para ver un video de cómo funciona: https://youtu.be/OUIYVcrnPr0
Requisitos previos
Para usar esta biblioteca, necesitas crear un checkout en Recurrente. Consulta la documentación de creación de checkouts para obtener tu URL de checkout.
Clave en checkouts embebidos
Dentro de un iframe, el navegador trata nuestras cookies como de terceros, así que Clave no siempre reconoce al cliente por su navegador. Por eso el checkout embebido abre con el botón Pagar con Clave, como el botón de Link junto a Apple Pay: al tocarlo se abre la ventana de Clave, una ventana en nuestro propio origen donde el navegador sí entrega la cookie; el cliente escoge su tarjeta y paga, la ventana se cierra sola y tu página recibe onSuccess igual que con un pago dentro del iframe. Quien prefiera seguir en el formulario tiene el camino de siempre: Clave lo reconoce por el correo o el teléfono que ya está escribiendo, le envía un código de un solo uso y, al confirmarlo, sus métodos guardados aparecen en el checkout.
No necesitas configurar nada para que esto funcione, y tu cliente nunca tiene que ajustar permisos del navegador. En los navegadores dentro de apps (Instagram, Facebook, WhatsApp), que no pueden sostener una ventana emergente, el botón no se muestra y queda el código. Consulta Acepta Clave.
Desarrollo local
Los campos de tarjeta del checkout los sirve nuestro procesador, que solo acepta que la página que contiene el iframe esté en un origen https:// o en http://localhost (con cualquier puerto). Si abres tu sitio desde http://127.0.0.1, una IP de tu red o un dominio como miapp.local, el checkout carga pero el formulario de tarjeta falla con un 422 en capture_context cuyo cuerpo indica el origen rechazado.
Para probar en local, abre tu sitio en http://localhost:PUERTO o expónlo por HTTPS con un túnel como ngrok.
Instalación
NPM (Recomendado)
CDN
Fija la versión en la URL del CDN, para que una versión nueva no cambie tu checkout sin que lo sepas.
Uso
El checkout se monta en el elemento con id recurrente-checkout-container. Si no existe, la librería lo crea al final de la página.
Parámetros
Flujo completo
- Crea un checkout vía la API de Recurrente (
POST /api/checkouts) - Pasa su
checkout_urlaRecurrenteCheckout.load - Maneja los callbacks de éxito, fallo o pago pendiente
- Confirma el pago en tu servidor con el webhook o
GET /api/checkouts/{id}antes de entregar
¿Ya tienes tu propio formulario de pago y solo quieres sumar Clave? Usa el botón de Clave.

