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
Demostración Interactiva
Vea el pago en superposición 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
Inicializar el SDK
Inicialice el SDK en su aplicación, típicamente en su componente principal o punto de entrada de la aplicación:
Probar Su Integración
- 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ía ver eventos de pago registrados en la consola de su navegador.
Referencia de API
Configuración
Opciones de Inicialización
| Opción | Tipo | Requerido | Descripción |
|---|---|---|---|
mode | "test" | "live" | Sí | Modo de entorno: 'test' para desarrollo, 'live' para producción |
displayType | "overlay" | "inline" | No | Tipo de visualización: 'overlay' para pago modal (predeterminado), 'inline' para pago embebido |
onEvent | function | Sí | Función de callback para manejar eventos de pago |
Opciones de Pago
| Opción | Tipo | Requerido | Descripción |
|---|---|---|---|
checkoutUrl | string | Sí | URL de sesión de pago de la API de crear sesión de pago |
options.showTimer | boolean | No | Mostrar u ocultar el temporizador de pago. Por defecto es true. Cuando está deshabilitado, recibirás el evento checkout.link_expired cuando la sesión expire. |
options.showSecurityBadge | boolean | No | Mostrar u ocultar la insignia de seguridad. Por defecto es true. |
options.manualRedirect | boolean | No | Cuando está habilitado, el pago no redirigirá automáticamente después de completarse. En su lugar, recibirás los eventos checkout.status y checkout.redirect_requested para manejar la redirección tú mismo. |
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 pago en tu función de 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 a través de la función de 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:
| Tipo de Evento | Descripción |
|---|---|
checkout.opened | La superposición de pago se ha abierto |
checkout.payment_page_opened | La página de pago se ha mostrado |
checkout.customer_details_submitted | Los detalles del cliente y de facturación han sido enviados |
checkout.closed | La superposición de pago se ha cerrado |
checkout.redirect | El pago realizará una redirección |
checkout.error | Ocurrió un error durante el pago |
checkout.link_expired | Se activa cuando la sesión de pago expira. Solo se recibe cuando showTimer está configurado en false. |
checkout.status | Se activa cuando manualRedirect está habilitado. Contiene el estado del pago (succeeded, failed, o processing). |
checkout.redirect_requested | Se activa cuando manualRedirect está habilitado. Contiene la URL a la que 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 pago pasando un objetothemeConfig en el parámetro options al abrir el pago. La configuración del tema admite modos claros y oscuros, permitiéndote personalizar colores, bordes, texto, botones y radio de borde.
Configuración Básica del Tema
Configuración Completa del Tema
Todas las propiedades del 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 utilizará 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 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 a través del sistema de eventos. Siempre implementa un manejo de errores adecuado en tu función de callbackonEvent:
Mejores Prácticas
- Inicializa una vez: Inicializa el SDK una vez cuando tu aplicación se carga, no en cada intento de pago
- Manejo de errores: Siempre implementa un manejo de errores adecuado en tu función de 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 pago válidas de la API de crear sesión de pago
- TypeScript: Usa TypeScript para una mejor seguridad de tipos y experiencia de desarrollador
- Estados de carga: Muestra estados de carga mientras se abre el pago para mejorar la experiencia de usuario
- Redirecciones manuales: Usa
manualRedirectcuando necesites control personalizado sobre la navegación posterior al pago - Manejo de temporizadores: Desactiva el temporizador (
showTimer: false) si deseas manejar la expiración de la sesión manualmente
Solución de Problemas
El checkout no se abre
El checkout no se abre
Causas posibles:
- SDK no inicializado antes de llamar a
open() - URL de pago no vá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 de creación de sesiones de checkout
- Verifica la conectividad de red
Eventos no se disparan
Eventos no se disparan
Causas posibles:
- Manejador de eventos no configurado correctamente
- Errores de JavaScript que impiden la propagación de eventos
- SDK no inicializado correctamente
- Confirma que el manejador de eventos esté configurado correctamente en
Initialize() - Verifica 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
Problemas de estilo
Problemas de estilo
Causas posibles:
- Conflictos de CSS con los estilos de tu aplicación
- Configuraciones del tema no aplicadas correctamente
- Problemas de diseño responsivo
- Revisa si hay conflictos de CSS en las herramientas de desarrollo del navegador
- Verifica que las configuraciones del tema sean correctas
- Prueba en diferentes tamaños de pantalla
- Asegúrate de que no haya conflictos de z-index con la superposición
Activando Monederos Digitales
Para obtener información detallada sobre cómo configurar Apple Pay, Google Pay y otros monederos digitales, consulte la página de Monederos Digitales.Configuración Rápida para Apple Pay
Descargar archivo de asociación de dominio
Descargue el archivo de asociación de dominio de Apple Pay.
Solicitar activación
Envíe un correo electrónico a support@dodopayments.com con la URL de su dominio de producción y solicite la activación de Apple Pay.
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+
Pago en Superposición vs Pago en Línea
Elija el tipo de pago adecuado para su caso de uso:| Característica | Pago en Superposición | Pago en Línea |
|---|---|---|
| Profundidad de integración | Modal sobre la página | Totalmente incrustado en la página |
| Control de diseño | Limitado | Control total |
| Branding | Separado de la página | Sin problemas |
| Esfuerzo de implementación | Menor | Mayor |
| Mejor para | Integración rápida, páginas existentes | Páginas de pago personalizadas, flujos de alta conversión |
Recursos Relacionados
Pago en Línea
Incruste el pago directamente en su página para experiencias totalmente integradas.
API de Sesiones de Pago
Cree sesiones de pago para potenciar sus experiencias de pago.
Webhooks
Maneje eventos de pago del lado del servidor con webhooks.
Guía de Integración
Guía completa para integrar Dodo Payments.