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
| Opción | Tipo | Requerido | Descripción |
|---|---|---|---|
checkoutUrl | string | Sí | URL de la sesión de checkout desde el API de creación de sesión de checkout |
options.showTimer | boolean | No | Mostrar u ocultar el temporizador de checkout. Por defecto es true. Cuando está desactivado, recibirás el evento checkout.link_expired cuando expira la sesión. |
options.showSecurityBadge | boolean | No | Mostrar u ocultar la insignia de seguridad. Por defecto es true. |
Métodos
Abrir Pago
Abre la superposición de pago con la URL de sesión de pago especificada.Cerrar Checkout
Cierra programáticamente la superposición de checkout.Verificar Estado
Devuelve si la superposición de checkout está actualmente abierta.Eventos
El SDK proporciona eventos en tiempo real que puedes escuchar a través del callbackonEvent:
| Tipo de Evento | Descripción |
|---|---|
checkout.opened | La superposición de checkout se ha abierto |
checkout.form_ready | El formulario de checkout está listo para recibir la entrada del usuario. Útil para ocultar estados de carga. |
checkout.payment_page_opened | La página de pago se ha mostrado |
checkout.customer_details_submitted | Se han enviado el cliente y los detalles de facturación |
checkout.closed | La superposición de checkout se ha cerrado |
checkout.redirect | El checkout realizará un redireccionamiento |
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á configurado en false. |
Opciones de Implementación
Instalación del 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 del CDN
Para una integración rápida sin un paso de construcción, puedes usar nuestro 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 modos claros y oscuros, permitiendo personalizar colores, bordes, texto, botones y el radio de los bordes.
Esta sección cubre la configuración del tema del lado del cliente usando el SDK de Checkout. También puedes configurar temas del lado del servidor al crear una sesión de checkout a través de la API usando el parámetro
theme_config. Consulta Personalización de Temas de Checkout para configuración a nivel de API, o usa la página de Diseño en el panel para configurar temas visualmente con una 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:Sobrescritura 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, se exportan todos los tipos de configuración del tema:Manejo de Errores
El SDK proporciona información detallada de errores a través del sistema de eventos. Siempre implementa un manejo adecuado de errores en tu callbackonEvent:
Mejores Prácticas
- Inicializa una vez: Inicializa el SDK una vez cuando tu aplicación se carga, no en cada intento de checkout.
- Manejo de errores: Siempre implementa un manejo adecuado 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: Maneja todos los eventos relevantes para una experiencia de usuario completa.
- URLs válidas: Siempre usa URLs de checkout válidas desde el API de creación de sesión de checkout.
- TypeScript: Usa TypeScript para una mejor seguridad de tipos y experiencia del desarrollador.
- Estados de carga: Muestra estados de carga mientras el checkout se abre para mejorar la UX.
- Gestión de temporizador: Desactiva el temporizador (
showTimer: false) si deseas manejar la expiración de sesión manualmente.
Solución de Problemas
Checkout not opening
Checkout not opening
Posibles causas:
- SDK no inicializado 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 errores en la consola
- Asegúrate de que la URL de checkout sea válida y provenga del API de creación de sesión de checkout
- Verifica la conectividad de red
Events not firing
Events not firing
Posibles causas:
- Manejador de eventos no configurado correctamente
- Errores de JavaScript que evitan la propagación de eventos
- SDK no inicializado correctamente
- Confirma que el manejador de eventos esté correctamente configurado en
Initialize() - Revisa la consola del navegador por errores de JavaScript
- Verifica que la inicialización del SDK se haya completado exitosamente
- Prueba con un manejador de eventos simple primero
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
- Verifica conflictos de CSS en las DevTools 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 Carteras Digitales
Para obtener información detallada sobre la configuración de Google Pay y otras carteras digitales, consulta la página de Carteras Digitales.Apple Pay aún no es compatible en el checkout en superposición. El soporte para Apple Pay estará disponible pronto.
Soporte de Navegadores
El SDK de Dodo Payments Checkout es compatible con los siguientes navegadores:- Chrome (última versión)
- Firefox (última versión)
- Safari (última versión)
- Edge (última versión)
- IE11+
Checkout en Superposición vs Checkout Inline
Elige el tipo correcto de checkout para tu caso de uso:| Característica | Checkout en Superposición | Checkout Inline |
|---|---|---|
| Profundidad de integración | Modal sobre la página | Completamente incrustado en la página |
| Control de diseño | Limitado | Control completo |
| Branding | Separado de la página | Integración perfecta |
| Esfuerzo de implementación | Menor | Mayor |
| Mejor para | Integración rápida, páginas existentes | Páginas de checkout personalizadas, flujos de alta conversión |
Recursos Relacionados
Inline Checkout
Incrusta el checkout directamente en tu página para experiencias completamente integradas.
Checkout Sessions API
Crea sesiones de checkout para potenciar tus experiencias de checkout.
Webhooks
Maneja eventos de pago del lado del servidor con webhooks.
Integration Guide
Guía completa para integrar Dodo Payments.