Skip to main content

Checkout Handler

Integra el pago de Dodo Payments con flujos estáticos, dinámicos y de sesión.

Customer Portal

Permite que los clientes gestionen sus suscripciones y detalles.

Webhooks

Recibe y procesa eventos webhook de Dodo Payments.

Instalación

1

Install the package

Ejecuta el siguiente comando en la raíz de tu proyecto:
2

Set up environment variables

Crea un archivo .env en la raíz de tu proyecto:
Nunca subas tu .env ni secretos al control de versiones.

Ejemplos de Manejadores de Rutas

Todos los ejemplos asumen que estás utilizando el App Router de Next.js.
Utiliza este manejador para integrar la pasarela de Dodo Payments en tu aplicación Next.js. Admite los flujos de pago estáticos (GET), dinámicos (POST) y de sesión de checkout (POST).

Manejador de Ruta de Checkout

Dodo Payments admite tres tipos de flujos de pago para integrar pagos en tu sitio web; este adaptador admite todos los tipos de flujos de pago.
  • Enlaces de Pago Estáticos: URLs compartibles al instante para la recolección de pagos rápida y sin código.
  • Enlaces de Pago Dinámicos: Genera programáticamente enlaces de pago con detalles personalizados utilizando la API o SDKs.
  • Sesiones de Checkout: Crea experiencias de checkout seguras y personalizables con carritos de productos preconfigurados y detalles del cliente.

Parámetros de consulta compatibles

string
requerido
Identificador del producto (por ejemplo, ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
Cantidad del producto.
string
Nombre completo del cliente.
string
Nombre del cliente.
string
Apellido del cliente.
string
Correo electrónico del cliente.
string
País del cliente.
string
Dirección del cliente.
string
Ciudad del cliente.
string
Estado/provincia del cliente.
string
Código postal del cliente.
boolean
Deshabilitar el campo de nombre completo.
boolean
Deshabilitar el campo de nombre.
boolean
Deshabilitar el campo de apellido.
boolean
Deshabilitar el campo de correo electrónico.
boolean
Deshabilitar el campo de país.
boolean
Deshabilitar el campo de dirección.
boolean
Deshabilitar el campo de ciudad.
boolean
Deshabilitar el campo de estado.
boolean
Deshabilitar el campo de código postal.
string
Especifica la moneda del pago (por ejemplo, USD).
boolean
Mostrar el selector de moneda.
integer
Especifica el importe del pago (por ejemplo, 1000 para $10.00).
boolean
Mostrar los campos de descuento.
string
Cualquier parámetro de consulta que comience con metadata_ se pasará como metadatos.
Si falta productId, el manejador devuelve una respuesta 400. Los parámetros de consulta inválidos también provocan una respuesta 400.

Formato de Respuesta

El checkout estático devuelve una respuesta JSON con la URL de checkout:

Formato de Respuesta

El checkout dinámico devuelve una respuesta JSON con la URL de checkout:
Las sesiones de checkout ofrecen una experiencia de pago alojada más segura que gestiona el flujo completo de pago tanto para compras únicas como para suscripciones con control total de personalización.
Consulta la Guía de Integración de Sesiones de Checkout para más detalles y una lista completa de campos soportados.

Formato de Respuesta

Las sesiones de checkout devuelven una respuesta JSON con la URL de checkout:

Manejador de Ruta del Portal del Cliente

El Manejador de Ruta del Portal del Cliente te permite integrar sin problemas el portal del cliente de Dodo Payments en tu aplicación Next.js.

Parámetros de consulta

string
requerido
El ID del cliente para la sesión del portal (por ejemplo, ?customer_id=cus_123).
boolean
Si se establece en true, envía un correo electrónico al cliente con el enlace del portal.
Devuelve 400 si falta customer_id.

Manejador de Ruta de Webhook

  • Método: Solo se soportan solicitudes POST. Otros métodos devuelven 405.
  • Verificación de Firma: Verifica la firma del webhook utilizando webhookKey. Devuelve 401 si la verificación falla.
  • Validación de Payload: Validado con Zod. Devuelve 400 para payloads inválidos.
  • Manejo de Errores:
    • 401: Firma inválida
    • 400: Payload inválido
    • 500: Error interno durante la verificación
  • Enrutamiento de Eventos: Llama al manejador de eventos apropiado según el tipo de payload.

Manejadores de eventos webhook compatibles


Solicitud para LLM

Última modificación el 22 de mayo de 2026