Checkout API Route
Integra el checkout de Dodo Payments en tu aplicación Nuxt usando una ruta del servidor.
Customer Portal API Route
Permite a los clientes gestionar sus suscripciones y detalles mediante una ruta del servidor de Nuxt.
Webhooks API Route
Recibe y procesa eventos de webhook de Dodo Payments de forma segura en Nuxt.
Descripción general
Esta guía explica cómo integrar Dodo Payments en tu aplicación Nuxt mediante el módulo oficial de Nuxt. Aprenderás a configurar las rutas de API para checkout, el portal de clientes y webhooks, así como a manejar de forma segura las variables de entorno.
Instalación
Ejemplos de Manejadores de Rutas de API
Todas las integraciones de Dodo Payments en Nuxt se manejan mediante rutas del servidor en el directorio
server/routes/api/.- Checkout API Route
- Customer Portal API Route
- Webhook API Route
Usa este manejador para integrar el checkout de Dodo Payments en tu aplicación Nuxt. Admite flujos de pago estáticos (GET), dinámicos (POST) y de sesión (POST).
Manejador de Ruta de Checkout
Dodo Payments admite tres tipos de flujos de pago para integrar pagos en tu sitio web; este adaptador es compatible con todos ellos.
- Enlaces de Pago Estáticos: URLs instantáneamente compartibles 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.
Static Checkout (GET)
Static Checkout (GET)
Parámetros de consulta
Identificador del producto (p. ej.,
?productId=pdt_nZuwz45WAs64n3l07zpQR).Cantidad del producto.
Nombre completo del cliente.
Primer nombre del cliente.
Apellido del cliente.
Correo electrónico del cliente.
País del cliente.
Dirección del cliente.
Ciudad del cliente.
Estado o provincia del cliente.
Código postal del cliente.
Desactiva el campo de nombre completo.
Desactiva el campo de primer nombre.
Desactiva el campo de apellido.
Desactiva el campo de correo electrónico.
Desactiva el campo de país.
Desactiva el campo de dirección.
Desactiva el campo de ciudad.
Desactiva el campo de estado.
Desactiva el campo de código postal.
Especifica la moneda del pago (p. ej.,
USD).Muestra el selector de moneda.
Especifica el monto del pago (p. ej.,
1000 para $10.00).Muestra los 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:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Envía los parámetros como un cuerpo JSON en una solicitud POST.
- Admite pagos únicos y recurrentes.
- Para obtener la lista completa de campos admitidos en el cuerpo POST, consulta:
Formato de Respuesta
El checkout dinámico devuelve una respuesta JSON con la URL de checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
Las sesiones de checkout ofrecen una experiencia de pago alojada más segura que maneja el flujo completo del pago tanto para compras únicas como 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 Nuxt.Parámetros de consulta
El ID del cliente para la sesión del portal (p. ej.,
?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 admiten 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.