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
1
Instalar el SDK
Instale el SDK de Pago de Dodo Payments utilizando su gestor de paquetes preferido:
2
Inicializar el SDK
Inicialice el SDK en su aplicación, típicamente en su componente principal o punto de entrada de la aplicación:
3
Crear un Componente de Botón de Pago
Cree un componente que abra la superposición de pago:
4
Agregar Pago a Su Página
Utilice el componente de botón de pago en su aplicación:
5
Manejar Páginas de Éxito y Fallo
Cree páginas para manejar redirecciones de pago:
6
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.
7
Ir a Producción
Cuando esté listo para producción:
- Cambie el modo a
'live':
- Actualice sus URLs de pago para usar sesiones de pago en vivo desde su backend
- Pruebe el flujo completo en producción
- Monitoree eventos y errores
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 creación de 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 la finalización. 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 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 del 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 se han enviado |
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:Soporte para TypeScript
El SDK está escrito en TypeScript e incluye definiciones de tipo completas. Todas las API públicas están completamente tipadas para una mejor experiencia de desarrollador y soporte de IntelliSense.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
- 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 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 pago válidas de la API de creación de 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 pago no se abre
El pago 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 pago
- Revisa si hay errores en la consola
- Asegúrate de que la URL de pago sea válida y provenga de la API de creación de sesión de pago
- Verifica la conectividad de red
Eventos no se activan
Eventos no se activan
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() - 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
Problemas de estilo
Problemas de estilo
Causas posibles:
- Conflictos de CSS con los estilos de tu aplicación
- Configuraciones de 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 de tema sean correctas
- Prueba en diferentes tamaños de pantalla
- Asegúrate de que no haya conflictos de z-index con la superposición
Habilitando Apple Pay
Apple Pay permite a los clientes completar pagos de manera rápida y segura utilizando sus métodos de pago guardados. Cuando está habilitado, los clientes pueden lanzar el modal de Apple Pay directamente desde la superposición de pago en dispositivos compatibles.Apple Pay es compatible con iOS 17+, iPadOS 17+ y Safari 17+ en macOS.
1
Descargar y subir el archivo de asociación de dominio de Apple Pay
Descarga el archivo de asociación de dominio de Apple Pay.Sube el archivo a tu servidor web en
/.well-known/apple-developer-merchantid-domain-association. Por ejemplo, si tu sitio web es example.com, haz que el archivo esté disponible en https://example.com/well-known/apple-developer-merchantid-domain-association.2
Solicitar activación de Apple Pay
Envía un correo electrónico a [email protected] con la siguiente información:
- La URL de tu dominio de producción (por ejemplo,
https://example.com) - Solicitud para habilitar Apple Pay para tu dominio
Recibirás confirmación dentro de 1-2 días hábiles una vez que Apple Pay haya sido habilitado para tu dominio.
3
Verificar disponibilidad de Apple Pay
Después de recibir la confirmación, prueba Apple Pay en tu pago:
- Abre tu pago en un dispositivo compatible (iOS 17+, iPadOS 17+, o Safari 17+ en macOS)
- Verifica que el botón de Apple Pay aparezca como una opción de pago
- Prueba el flujo completo de pago
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
Elige el tipo de pago adecuado para tu caso de uso:| Característica | Pago en Superposición | Pago en Línea |
|---|---|---|
| Profundidad de integración | Modal sobre la página | Totalmente embebido en la página |
| Control de diseño | Limitado | Control total |
| Marca | Separado de la página | Sin costuras |
| 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
Integra el pago directamente en tu página para experiencias totalmente integradas.
API de Sesiones de Pago
Crea sesiones de pago para potenciar tus experiencias de pago.
Webhooks
Maneja eventos de pago del lado del servidor con webhooks.
Guía de Integración
Guía completa para integrar Dodo Payments.