Descripción general
El pago en línea te permite crear experiencias de pago completamente integradas que se mezclan sin problemas con tu sitio web o aplicación. A diferencia del pago en superposición, que se abre como un modal sobre tu página, el pago en línea incrusta el formulario de pago directamente en el diseño de tu página. Usando el pago en línea, puedes:- Crear experiencias de pago que están completamente integradas con tu aplicación o sitio web
- Permitir que Dodo Payments capture de forma segura la información del cliente y de pago en un marco de pago optimizado
- Mostrar artículos, totales y otra información de Dodo Payments en tu página
- Usar métodos y eventos del SDK para construir experiencias de pago avanzadas

Cómo funciona
El pago en línea funciona incrustando un marco seguro de Dodo Payments en tu sitio web o aplicación. El marco de pago se encarga de recopilar la información del cliente y capturar los detalles de pago. Tu página muestra la lista de artículos, totales y opciones para cambiar lo que hay en el pago. El SDK permite que tu página y el marco de pago interactúen entre sí. Dodo Payments crea automáticamente una suscripción cuando se completa un pago, lista para que la provisionen.¿Qué hace que un buen pago en línea?
Es importante que los clientes sepan de quién están comprando, qué están comprando y cuánto están pagando. Para construir un pago en línea que sea conforme y optimizado para la conversión, tu implementación debe incluir:
Example inline checkout layout showing required elements
- Información recurrente: Si es recurrente, con qué frecuencia se repite y el total a pagar en la renovación. Si es una prueba, cuánto dura la prueba.
- Descripciones de artículos: Una descripción de lo que se está comprando.
- Totales de transacción: Totales de transacción, incluyendo subtotal, total de impuestos y total general. Asegúrate de incluir también la moneda.
- Pie de página de Dodo Payments: El marco completo de pago en línea, incluyendo el pie de página de pago que tiene información sobre Dodo Payments, nuestros términos de venta y nuestra política de privacidad.
- Política de reembolso: Un enlace a tu política de reembolso, si difiere de la política de reembolso estándar de Dodo Payments.
Viaje del cliente
El flujo de pago está determinado por la configuración de tu sesión de pago. Dependiendo de cómo configures la sesión de pago, los clientes experimentarán un pago que puede presentar toda la información en una sola página o a través de múltiples pasos.Customer opens checkout

Customer enters their details
Customer selects payment method

Checkout completed

Dodo Payments creates subscription

Inicio Rápido
Comienza con el Pago en Línea de Dodo Payments en solo unas pocas líneas de código:Guía de Integración Paso a Paso
Install the SDK
Initialize the SDK for Inline Display
displayType: 'inline'. También debes escuchar el evento checkout.breakdown para actualizar tu interfaz de usuario con los cálculos de impuestos y totales en tiempo real.Create a Container Element
Open the Checkout
DodoPayments.Checkout.open() con el checkoutUrl y el elementId de tu contenedor:Test Your Integration
- Inicia tu servidor de desarrollo:
- Prueba el flujo de pago:
- Ingresa tu correo electrónico y detalles de dirección en el marco en línea.
- Verifica que tu resumen de pedido personalizado se actualice en tiempo real.
- Prueba el flujo de pago usando credenciales de prueba.
- Confirma que las redirecciones funcionen correctamente.
checkout.breakdown registrados en la consola del navegador si agregaste un console.log en la devolución onEvent.Go Live
- Cambia el modo a
'live':
- Actualiza tus URLs de pago para usar sesiones de pago en vivo desde tu backend.
- Prueba el flujo completo en producción.
Ejemplo Completo en React
Este ejemplo muestra cómo implementar un resumen de pedido personalizado junto al inline checkout, manteniéndolos sincronizados mediante el eventocheckout.breakdown.
Referencia de API
Configuración
Opciones de Inicialización
Opciones de Pago
Métodos
Abrir Pago
Abre el marco de pago en el contenedor especificado.Cerrar Pago
Elimina programáticamente el marco de pago y limpia los listeners de eventos.Verificar Estado
Indica si el marco de pago está actualmente inyectado.Eventos
El SDK proporciona eventos en tiempo real a través del callbackonEvent. Para el pago en línea, checkout.breakdown es particularmente útil para sincronizar tu UI.
Datos del Análisis del Pago
El eventocheckout.breakdown proporciona los siguientes datos:
Entendiendo el Evento de Análisis
El eventocheckout.breakdown es la forma principal de mantener la interfaz de usuario de tu aplicación sincronizada con el estado de pago de Dodo Payments.
Cuándo se activa:
- Al inicializar: Inmediatamente después de que se carga y lista el marco de pago.
- Al cambiar de dirección: Cada vez que el cliente selecciona un país o ingresa un código postal que resulta en un recálculo de impuestos.
- Formato de Moneda: Los precios siempre se devuelven como enteros en la unidad monetaria más pequeña (por ejemplo, centavos para USD, yen para JPY). Para mostrarlos, divide por 100 (o la potencia de 10 correspondiente) o usa una biblioteca de formato como
Intl.NumberFormat. - Manejo de Estados Iniciales: Cuando el pago se carga por primera vez,
taxediscountpueden ser0onullhasta que el usuario proporcione su información de facturación o aplique un código. Tu UI debe manejar estos estados de manera adecuada (por ejemplo, mostrando un guion—u ocultando la fila). - El “Total Final” vs “Total”: Mientras que
totalte da el cálculo de precio estándar,finalTotales la fuente de verdad para la transacción. SifinalTotalestá presente, refleja exactamente lo que se cargará a la tarjeta del cliente, incluyendo cualquier ajuste dinámico. - Retroalimentación en Tiempo Real: Usa el campo
taxpara mostrar a los usuarios que los impuestos están siendo calculados en tiempo real. Esto proporciona una sensación de “en vivo” a tu página de pago y reduce la fricción durante el paso de ingreso de dirección.
Opciones de Implementación
Instalación del Gestor de Paquetes
Instala vía npm, yarn o pnpm como se muestra en la Guía de Integración Paso a Paso.Implementación vía CDN
Para una integración rápida sin un paso de compilación, puedes usar nuestro CDN:Actualizar Método de Pago
El pago en línea admite actualizaciones de método de pago para suscripciones. Cuando un cliente necesita actualizar su método de pago — ya sea para una suscripción activa o para reactivar una suscripción en espera — puedes renderizar el flujo de actualización directamente dentro de la disposición de tu página.Cómo Funciona
- Llama a la API de Actualización de Método de Pago para obtener un
payment_link:
- Pasa el
payment_linkdevuelto como elcheckoutUrlpara abrir el pago en línea:
Para Suscripciones en Espera
Al actualizar el método de pago para una suscripción en estadoon_hold, Dodo Payments automáticamente crea un cargo por cualquier deuda pendiente. Monitorea los webhooks payment.succeeded e subscription.active para confirmar la reactivación.
Manejo de Errores
El SDK proporciona información detallada sobre errores a través del sistema de eventos. Siempre implementa un manejo adecuado de errores en tu callbackonEvent:
Mejores Prácticas
- Diseño Responsivo: Asegúrate de que tu elemento contenedor tenga suficiente ancho y alto. El iframe típicamente se expandirá para llenar su contenedor.
- Sincronización: Usa el evento
checkout.breakdownpara mantener tu resumen de pedido personalizado o tablas de precios sincronizados con lo que el usuario ve en el marco de pago. - Estados de Esqueleto: Muestra un indicador de carga en tu contenedor hasta que se active el evento
checkout.opened. - Limpieza: Llama a
DodoPayments.Checkout.close()cuando tu componente se desmonte para limpiar el iframe y los listeners de eventos.
#0d0d0d como el color de fondo para una integración visual óptima con el marco de pago en línea.Validación de Estado de Pago
Por Qué la Validación del Lado del Servidor es Esencial
Aunque los eventos de pago en línea proporcionan retroalimentación en tiempo real, no deben ser tu única fuente de verdad para el estado de pago. Problemas de red, fallos del navegador o el cierre de la página por parte de los usuarios pueden hacer que se pierdan eventos. Para asegurar una validación de pago confiable:- Tu servidor debe escuchar eventos webhook - Dodo Payments envía webhooks para cambios de estado de pago
- Implementa un mecanismo de sondeo - Tu frontend debe sondear a tu servidor para actualizaciones de estado
- Combina ambos enfoques - Usa webhooks como fuente principal y sondeo como respaldo
Arquitectura Recomendad
Pasos de Implementación
1. Escucha eventos de pago - Cuando el usuario hace clic en pagar, comienza a prepararte para verificar el estado:payment.succeeded o payment.failed. Consulta nuestra documentación de Webhooks para más detalles.
Solución de Problemas
Checkout frame is not appearing
Checkout frame is not appearing
- Verifica que
elementIdcoincida con elidde undivque realmente exista en el DOM. - Asegúrate de que
displayType: 'inline'haya sido pasado aInitialize. - Revisa que el
checkoutUrlsea válido.
Taxes are not updating in my UI
Taxes are not updating in my UI
- Asegúrate de estar escuchando el evento
checkout.breakdown. - Los impuestos solo se calculan después de que el usuario ingrese un país y código postal válidos en el marco de pago.
Habilitación de Billeteras Digitales
Para información detallada sobre cómo configurar Apple Pay, Google Pay y otras billeteras digitales, consulta la página de Billeteras Digitales.Configuración Rápida para Apple Pay
Open Wallet domains

Open Wallet domains from the Apple Pay row
Download the domain association file

Download the Apple Pay domain association file
Register your domain
shop.example.com) y, a continuación, haz clic en Continue.
Register the domain where you embed inline checkout
Host the file on your domain
Content-Type: application/octet-stream o text/plain.Verify the domain

Verify the hosted association file
Confirm it's active

Verified domains show an Active status
Test the integration
- Abre el checkout en un dispositivo Apple
- Verifica que aparezca el botón de Apple Pay
- Completa una transacción de prueba
Compatibilidad de navegadores
El Checkout SDK de Dodo Payments es compatible con los siguientes navegadores:- Chrome (más reciente)
- Firefox (más reciente)
- Safari (más reciente)
- Edge (más reciente)
- IE11+