Manejador de Checkout
Integra el proceso de pago de Dodo Payments con flujos estáticos, dinámicos y de sesión.
Portal del Cliente
Permite a los clientes gestionar sus suscripciones y detalles.
Webhooks
Recibe y procesa eventos de webhook de Dodo Payments.
Instalación
1
Instala el paquete
Ejecuta el siguiente comando en la raíz de tu proyecto:
2
Configura las variables de entorno
Crea un archivo
.env en la raíz de tu proyecto:Ejemplos de Manejadores de Rutas
Todos los ejemplos asumen que estás utilizando el Next.js App Router.
- Manejador de Checkout
- Manejador del Portal del Cliente
- Manejador de Webhook
Usa este manejador para integrar el proceso de pago de Dodo Payments en tu aplicación Next.js. Soporta flujos de pago estáticos (GET), dinámicos (POST) y de sesión de pago (POST).
Manejador de Ruta de Checkout
Dodo Payments soporta tres tipos de flujos de pago para integrar pagos en tu sitio web, este adaptador soporta 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.
Checkout Estático (GET)
Checkout Estático (GET)
Parámetros de Consulta Soportados
Identificador del producto (por ejemplo,
?productId=pdt_nZuwz45WAs64n3l07zpQR).Cantidad del producto.
Nombre completo del cliente.
Nombre del cliente.
Apellido del cliente.
Dirección de correo electrónico del cliente.
País del cliente.
Línea de dirección del cliente.
Ciudad del cliente.
Estado/provincia del cliente.
Código postal del cliente.
Deshabilitar el campo de nombre completo.
Deshabilitar el campo de nombre.
Deshabilitar el campo de apellido.
Deshabilitar el campo de correo electrónico.
Deshabilitar el campo de país.
Deshabilitar el campo de línea de dirección.
Deshabilitar el campo de ciudad.
Deshabilitar el campo de estado.
Deshabilitar el campo de código postal.
Especifica la moneda de pago (por ejemplo,
USD).Mostrar selector de moneda.
Especifica el monto del pago (por ejemplo,
1000 para $10.00).Mostrar campos de descuento.
Cualquier parámetro de consulta que comience con
metadata_ se pasará como metadatos.Formato de Respuesta
El checkout estático devuelve una respuesta JSON con la URL de checkout:Checkout Dinámico (POST)
Checkout Dinámico (POST)
- Envía parámetros como un cuerpo JSON en una solicitud POST.
- Soporta tanto pagos únicos como recurrentes.
- Para una lista completa de campos de cuerpo POST soportados, consulta:
Formato de Respuesta
El checkout dinámico devuelve una respuesta JSON con la URL de checkout:Sesiones de Checkout (POST)
Sesiones de Checkout (POST)
Las sesiones de checkout proporcionan una experiencia de checkout más segura y alojada que maneja el flujo de pago completo 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
El ID del cliente para la sesión del portal (por ejemplo,
?customer_id=cus_123).Si se establece en
true, envía un correo electrónico al cliente con el enlace del portal.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.