Requisitos Previos
Para integrar la API de Dodo Payments, necesitarás:- Una cuenta de comerciante de Dodo Payments
- Credenciales de API (clave de API y clave secreta de webhook) desde el panel de control
Configuración del Panel de Control
- Navega al Panel de Control de Dodo Payments
- Crea un producto (pago único o suscripción)
-
Genera tu clave de API:
- Ve a Desarrollador > API
- Guía Detallada
- Copia la clave de API en la variable de entorno llamada DODO_PAYMENTS_API_KEY
-
Configura los webhooks:
- Ve a Desarrollador > Webhooks
- Crea una URL de webhook para notificaciones de pago
- Copia la clave secreta de webhook en la variable de entorno
Integración
Enlaces de Pago
Elige la ruta de integración que se ajuste a tu caso de uso:- Sesiones de Pago (recomendado): Mejor para la mayoría de las integraciones. Crea una sesión en tu servidor y redirige a los clientes a un pago seguro y alojado.
- Pago Superpuesto (embebido): Úsalo cuando necesites una experiencia en la página que embeba el pago alojado en tu sitio.
- Enlaces de Pago Estáticos: URLs instantáneamente compartibles sin código para una rápida recolección de pagos.
- Enlaces de Pago Dinámicos: Enlaces creados programáticamente. Sin embargo, se recomiendan las Sesiones de Pago, ya que ofrecen más flexibilidad.
1. Sesiones de Pago
Utiliza las Sesiones de Pago para crear una experiencia de pago segura y alojada para pagos únicos o suscripciones. Creas una sesión en tu servidor, luego rediriges al cliente a lacheckout_url devuelta.
Las sesiones de pago son válidas por 24 horas por defecto. Si pasas
confirm=true, las sesiones son válidas por 15 minutos y se deben proporcionar todos los campos requeridos.1
Crear una sesión de pago
Elige tu SDK preferido o llama a la API REST.
- Node.js SDK
- Python SDK
- REST API
2
Redirigir al cliente al pago
Después de crear la sesión, redirige a la
checkout_url para iniciar el flujo alojado.2. Pago Superpuesto
Para una experiencia de pago en página sin interrupciones, explora nuestra integración de Pago Superpuesto que permite a los clientes completar pagos sin salir de tu sitio web.3. Enlaces de Pago Estáticos
Los enlaces de pago estáticos te permiten aceptar pagos rápidamente compartiendo una URL simple. Puedes personalizar la experiencia de pago pasando parámetros de consulta para prellenar detalles del cliente, controlar campos del formulario y agregar metadatos personalizados.1
Construir tu enlace de pago
Comienza con la URL base y agrega tu ID de producto:
2
Agregar parámetros principales
Incluye parámetros de consulta esenciales:
-
Número de artículos a comprar.
-
URL a redirigir después de completar el pago.
La URL de redirección incluirá detalles de pago como parámetros de consulta, por ejemplo:
https://example.com/?payment_id=pay_ts2ySpzg07phGeBZqePbH&status=succeeded3
Prellenar información del cliente (opcional)
Agrega campos de cliente o facturación como parámetros de consulta para agilizar el pago.
Campos de Cliente Soportados
Campos de Cliente Soportados
-
Nombre completo del cliente (ignorado si se proporciona firstName o lastName).
-
Nombre del cliente.
-
Apellido del cliente.
-
Dirección de correo electrónico del cliente.
-
País del cliente.
-
Dirección de la calle.
-
Ciudad.
-
Estado o provincia.
-
Código postal/ZIP.
-
true o false
4
Controlar campos del formulario (opcional)
Puedes deshabilitar campos específicos para que sean de solo lectura para el cliente. Esto es útil cuando ya tienes los detalles del cliente (por ejemplo, usuarios que han iniciado sesión).
disable… en true:- Tabla de Banderas de Desactivación
| Campo | Bandera de Desactivación | Parámetro Requerido |
|---|---|---|
| Nombre Completo | disableFullName | fullName |
| Nombre | disableFirstName | firstName |
| Apellido | disableLastName | lastName |
| Correo | disableEmail | email |
| País | disableCountry | country |
| Línea de Dirección | disableAddressLine | addressLine |
| Ciudad | disableCity | city |
| Estado | disableState | state |
| Código Postal | disableZipCode | zipCode |
Establecer
showDiscounts=false deshabilitará y ocultará la sección de descuentos en el formulario de pago. Usa esto si deseas evitar que los clientes ingresen códigos de cupón o promoción durante el pago.5
Agregar controles avanzados (opcional)
-
Especifica la moneda de pago. Por defecto, es la moneda del país de facturación.
-
Mostrar u ocultar el selector de moneda.
-
Monto en centavos (solo para precios de Paga lo que quieras).
-
Campos de metadatos personalizados (por ejemplo,
metadata_orderId=123).
6
Compartir el enlace
Envía el enlace de pago completado a tu cliente. Cuando lo visiten, todos los parámetros de consulta se recopilan y se almacenan con un ID de sesión. La URL se simplifica para incluir solo el parámetro de sesión (por ejemplo,
?session=sess_1a2b3c4d). La información almacenada persiste a través de las actualizaciones de página y es accesible durante todo el proceso de pago.La experiencia de pago del cliente ahora está optimizada y personalizada según tus parámetros.
4. Enlaces de Pago Dinámicos
Creado a través de una llamada a la API o nuestro SDK con detalles del cliente. Aquí hay un ejemplo: Hay dos APIs para crear enlaces de pago dinámicos:- API de Enlace de Pago Único Referencia de API
- API de Enlace de Pago de Suscripción Referencia de API
Asegúrate de pasar
payment_link = true para obtener el enlace de pago - Node.js SDK
- Python SDK
- Go SDK
- Referencia de API
Después de crear el enlace de pago, redirige a tus clientes para completar su pago.