Descripción general
El SDK de Pago de Dodo Payments proporciona una forma fluida de integrar nuestra superposición de pago en su aplicación web. Construido con TypeScript y estándares web modernos, ofrece una solución robusta para manejar pagos con manejo de eventos en tiempo real y temas personalizables.
Demostración
Interactive Demo
Vea el overlay checkout en acción con nuestra demostración en vivo.
Inicio Rápido
Comience con el SDK de Pago de Dodo Payments en solo unas pocas líneas de código:Guía de Integración Paso a Paso
Initialize the SDK
Inicialice el SDK en su aplicación, típicamente en su componente principal o punto de entrada de la aplicación:
Test Your Integration
- Inicie su servidor de desarrollo:
- Pruebe el flujo de pago:
- Haga clic en el botón de pago
- Verifique que la superposición aparezca
- Pruebe el flujo de pago utilizando credenciales de prueba
- Confirme que las redirecciones funcionen correctamente
Deberías ver los eventos del checkout registrados en la consola del navegador.
Referencia de API
Configuración
Opciones de Inicialización
| Option | Type | Required | Description |
|---|---|---|---|
mode | "test" | "live" | Yes | Environment mode: 'test' for development, 'live' for production |
displayType | "overlay" | "inline" | No | Display type: 'overlay' for modal checkout (default), 'inline' for embedded checkout |
onEvent | function | Yes | Callback function for handling checkout events |
Opciones de Pago
| Option | Type | Required | Description |
|---|---|---|---|
checkoutUrl | string | Yes | Checkout session URL from the create checkout session API |
options.showTimer | boolean | No | Show or hide the checkout timer. Defaults to true. When disabled, you will receive the checkout.link_expired event when the session expires. |
options.showSecurityBadge | boolean | No | Show or hide the security badge. Defaults to true. |
options.manualRedirect | boolean | No | When enabled, the checkout will not automatically redirect after completion. Instead, you will receive checkout.status and checkout.redirect_requested events to handle the redirect yourself. |
Métodos
Abrir Pago
Abre la superposición de pago con la URL de sesión de pago especificada.manualRedirect, maneja la finalización del checkout en tu callback onEvent:
Cerrar Pago
Cierra programáticamente la superposición de pago.Verificar Estado
Devuelve si la superposición de pago está actualmente abierta.Eventos
El SDK proporciona eventos en tiempo real a los que puedes escuchar mediante el callbackonEvent:
Datos del Evento de Estado de Pago
CuandomanualRedirect está habilitado, recibes el evento checkout.status con los siguientes datos:
Datos del Evento de Redirección de Pago Solicitada
CuandomanualRedirect está habilitado, recibes el evento checkout.redirect_requested con los siguientes datos:
| Event Type | Description |
|---|---|
checkout.opened | Se ha abierto la superposición de checkout |
checkout.form_ready | El formulario de checkout está listo para recibir los datos del usuario. Útil para ocultar estados de carga. |
checkout.payment_page_opened | Se ha mostrado la página de pago |
checkout.customer_details_submitted | Se han enviado los datos del cliente y de facturación |
checkout.closed | Se ha cerrado la superposición de checkout |
checkout.redirect | El checkout realizará una redirección |
checkout.error | Ocurrió un error durante el checkout |
checkout.link_expired | Se dispara cuando la sesión de checkout expira. Solo se recibe cuando showTimer está establecido en false. |
checkout.status | Se dispara cuando manualRedirect está habilitado. Contiene el estado del checkout (succeeded, failed o processing). |
checkout.redirect_requested | Se dispara cuando manualRedirect está habilitado. Contiene la URL para redirigir al cliente. |
Opciones de Implementación
Instalación a través de Gestor de Paquetes
Instala a través de npm, yarn o pnpm como se muestra en la Guía de Integración Paso a Paso.Implementación CDN
Para una integración rápida sin un paso de construcción, puedes usar nuestra CDN:Personalización del Tema
Puedes personalizar la apariencia del checkout pasando un objetothemeConfig en el parámetro options al abrir el checkout. La configuración del tema admite los modos claro y oscuro, permitiéndote personalizar los colores, bordes, texto, botones y el radio de los bordes.
Esta sección cubre la configuración de temas del lado del cliente mediante el SDK de Checkout. También puedes configurar los temas del lado del servidor al crear una sesión de pago a través de la API usando el parámetro
theme_config. Consulta Checkout Theme Customization para la configuración a nivel de API, o utiliza la página de diseño en el panel para configurar los temas visualmente con vista previa en vivo.Configuración básica del tema
Configuración completa del tema
Todas las propiedades de tema disponibles:Solo modo claro
Si solo deseas personalizar el tema claro:Solo modo oscuro
Si solo deseas personalizar el tema oscuro:Anulación parcial del tema
Puedes sobrescribir solo propiedades específicas. El checkout usará valores predeterminados para las propiedades que no especifiques:Configuración del tema con otras opciones
Puedes combinar la configuración del tema con otras opciones de checkout:Tipos de TypeScript
Para los usuarios de TypeScript, todos los tipos de configuración del tema están exportados:Manejo de errores
El SDK proporciona información detallada sobre errores mediante el sistema de eventos. Siempre implementa un manejo adecuado de errores en tu callbackonEvent:
Mejores prácticas
- Inicializa una sola vez: inicializa el SDK una sola vez cuando se carga tu aplicación, no en cada intento de checkout
- Manejo de errores: siempre implementa un manejo apropiado de errores en tu callback de eventos
- Modo de prueba: usa el modo
testdurante el desarrollo y cambia alivesolo cuando estés listo para producción - Manejo de eventos: atiende todos los eventos relevantes para ofrecer una experiencia completa al usuario
- URLs válidas: siempre usa URLs de checkout válidas provenientes de la API create checkout session
- TypeScript: usa TypeScript para una mejor seguridad de tipos y experiencia de desarrollo
- Estados de carga: muestra estados de carga mientras se abre el checkout para mejorar la experiencia del usuario
- Redirecciones manuales: usa
manualRedirectcuando necesites control personalizado sobre la navegación posterior al checkout - Gestión del temporizador: deshabilita el temporizador (
showTimer: false) si deseas manejar manualmente la expiración de la sesión
Resolución de problemas
Checkout not opening
Checkout not opening
Posibles causas:
- El SDK no se inicializó antes de llamar a
open() - URL de checkout inválida
- Errores de JavaScript en la consola
- Problemas de conectividad de red
- Verifica que la inicialización del SDK ocurra antes de abrir el checkout
- Revisa si hay errores en la consola
- Asegúrate de que la URL de checkout sea válida y provenga de la API create checkout session
- Verifica la conectividad de red
Events not firing
Events not firing
Posibles causas:
- El manejador de eventos no está configurado correctamente
- Errores de JavaScript que impiden la propagación de eventos
- El SDK no se inicializó correctamente
- Confirma que el manejador de eventos esté configurado correctamente en
Initialize() - Revisa la consola del navegador en busca de errores de JavaScript
- Verifica que la inicialización del SDK se haya completado con éxito
- Prueba primero con un manejador de eventos simple
Styling issues
Styling issues
Posibles causas:
- Conflictos de CSS con los estilos de tu aplicación
- Configuración del tema no aplicada correctamente
- Problemas de diseño responsivo
- Revisa conflictos de CSS en las herramientas de desarrollo del navegador
- Verifica que la configuración del tema sea correcta
- Prueba en diferentes tamaños de pantalla
- Asegúrate de que no haya conflictos de z-index con la superposición
Activación de billeteras digitales
Para obtener información detallada sobre cómo configurar Google Pay y otras billeteras digitales, consulta la página de Digital Wallets.Apple Pay aún no es compatible con el overlay checkout. El soporte para Apple Pay llegará pronto.
Compatibilidad con navegadores
El SDK de Dodo Payments Checkout es compatible con los siguientes navegadores:- Chrome (última)
- Firefox (última)
- Safari (última)
- Edge (última)
- IE11+
Overlay vs Checkout en línea
Elige el tipo de checkout adecuado para tu caso de uso:| Función | Overlay Checkout | Inline Checkout |
|---|---|---|
| Profundidad de integración | Modal encima de la página | Completamente integrado en la página |
| Control del diseño | Limitado | Control total |
| Branding | Separado de la página | Sin fisuras |
| Esfuerzo de implementación | Menor | Mayor |
| Ideal para | Integraciones rápidas y páginas existentes | Páginas de checkout personalizadas y flujos de alta conversión |
Recursos relacionados
Inline Checkout
Embebe el checkout directamente en tu página para experiencias totalmente integradas.
Checkout Sessions API
Crea sesiones de checkout para impulsar tus experiencias de pago.
Webhooks
Maneja eventos de pago del lado del servidor con webhooks.
Integration Guide
Guía completa para integrar Dodo Payments.