Este tutorial utiliza Node.js y Express. Puedes adaptar el código a tu framework (Next.js, React, Vue, etc.) y personalizar la interfaz para que coincida con tu aplicación.
- Crear productos de suscripción con precios por asiento
- Configurar complementos para asientos adicionales
- Generar enlaces de pago con cantidades de complementos personalizadas
- Manejar sesiones de pago con conteos de asientos dinámicos
Lo que Estamos Construyendo
Vamos a crear un modelo de precios por asiento:- Plan base: $49/mes para hasta 5 miembros del equipo
- Add-on de asientos: $2/mes por cada asiento adicional
- Enlaces de pago: checkout dinámico con cantidades de asientos personalizadas
Antes de comenzar, asegúrate de tener:
- Una cuenta de Dodo Payments
- Conocimientos básicos de TypeScript/Node.js
Paso 1: Crea Tu Complemento de Asiento
Crea un add-on que represente los asientos adicionales. Este add-on se asociará con tu suscripción base y permitirá a los clientes comprar asientos adicionales.
1
Navigate to Add-Ons
- En el panel de Dodo Payments, permanece en la sección Products
- Haz clic en la pestaña Add-Ons
- Haz clic en Create Add-On
2
Enter add-on details
Rellena estos valores para nuestro complemento de asientos:Add-On Name:
Additional Team SeatDescription: Add extra team members to your workspace with full access to all featuresPrice: Enter → 2.00Moneda: Debe coincidir con la moneda de tu suscripción baseCategoría de Impuestos: Selecciona la categoría apropiada para tu producto.3
Save your add-on
- Revisa toda tu configuración:
- Nombre: Asiento adicional del equipo
- Precio: $2.00/mes
- Haz clic en Crear add-on
¡Complemento creado! Tu complemento de asientos ya está disponible para adjuntarse a suscripciones.
Paso 2: Crea Tu Producto de Suscripción Base
Crea un producto de suscripción base que incluya 5 miembros del equipo. Esta será la base de tu modelo de precios basado en asientos.
1
Navigate to Products
- Inicia sesión en el panel de Dodo Payments
- Haz clic en Products en la barra lateral izquierda
- Haz clic en el botón Create Product
- Selecciona Subscription como tipo de producto
2
Fill in the subscription details
Ahora ingresaremos los detalles específicos para nuestro plan base:Product Name:
MotionDescription: Where your team's documentation lives.Recurring Price: Enter → 49.00Billing Cycle: Select → MonthlyCurrency: Selecciona tu moneda preferida (p. ej., USD)Paso 3: Conectar el Complemento a la Suscripción
Asocia tu add-on de asientos con la suscripción base para que los clientes puedan comprar asientos adicionales durante el checkout.1
Attach the seat add-on

- Desplázate hacia abajo hasta la sección Complementos
- Haz clic en Agregar Complementos
- Desde el menú desplegable, selecciona tu complemento de asiento
- Confirma que aparece en la configuración de tu suscripción
2
Save subscription changes
- Revisa la configuración completa de tu suscripción:
- Plan base: $49/mes para 5 asientos
- Complemento: $2/mes por cada asiento adicional
- Haz clic en Guardar cambios
¡Precios basados en asientos configurados! Los clientes ahora pueden comprar tu plan base y añadir asientos adicionales según sea necesario.
Paso 4: Genera enlaces de pago con cantidades de add-ons personalizadas
Crea una aplicación Express.js que genere enlaces de pago con cantidades de add-ons personalizadas. Esto te permite crear dinámicamente sesiones de checkout con cualquier número de asientos adicionales.1
Set up your project
Crea un proyecto nuevo de Node.js e instala las dependencias necesarias:Crea un archivo
tsconfig.json:2
Create your environment file
Crea un archivo
.env con tu clave de API de Dodo Payments:3
Implement the checkout session creation
Crea un archivo
src/server.ts con el siguiente código:4
Add a simple web interface
Crea un archivo
public/index.html para realizar pruebas fácilmente:¡Interfaz web creada! Ahora tienes una interfaz sencilla para probar diferentes cantidades de asientos.
5
Serve static files
Añade esto a tu archivo
src/server.ts para servir el archivo HTML:¡Archivos estáticos configurados! Visita
http://localhost:3000 para ver tu interfaz de demostración.Paso 5: Prueba tu implementación
Probemos nuestra implementación de precios basados en asientos para asegurarnos de que todo funcione correctamente.1
Start your server
- Asegúrate de tener tu archivo
.envcon la clave de API correcta - Actualiza los ID del producto y del add-on en tu código con los valores reales de tu dashboard de Dodo Payments
- Inicia tu servidor:
Tu servidor debería iniciarse correctamente y mostrar “Server is running on port 3000”
2
Test the web interface

- Abre tu navegador y ve a
http://localhost:3000 - Deberías ver la interfaz de demostración de precios basados en asientos
- Prueba diferentes cantidades de asientos (0, 3, 10, etc.)
- Haz clic en “Generate Checkout Link” para cada cantidad
- Verifica que las URL de checkout se generen correctamente
3
Test a checkout session
- Genera un enlace de checkout con 3 asientos adicionales
- Haz clic en la URL de checkout para abrir el checkout de Dodo Payments
- Verifica que el checkout muestre:
- Plan base: $49/mes
- Asientos adicionales: 3 × 2 dólares = $6/mes
- Completa la compra de prueba
El checkout debería mostrar el desglose de precios correcto y permitirte completar la compra.
4
Listen for webhooks and update your database
Mantén tu base de datos sincronizada con los cambios en las suscripciones y los asientos escuchando los eventos de webhook de Dodo Payments. Los webhooks notifican a tu backend cuando un cliente completa el checkout, actualiza su suscripción o cambia la cantidad de asientos.Sigue la guía oficial de webhooks de Dodo Payments para obtener instrucciones paso a paso sobre cómo configurar endpoints de webhook y gestionar eventos:
Dodo Payments Webhooks Documentation
Aprende a recibir y procesar de forma segura los eventos de webhook para gestionar suscripciones y asientos.
Solución de problemas
Problemas comunes y sus soluciones:Checkout creation failing
Checkout creation failing
Posibles causas:
- ID de producto o ID de add-on no válido
- La clave de API no tiene permisos suficientes
- El add-on no está asociado correctamente con la suscripción
- Problemas de conectividad de red
- Verifica que los ID del producto y del add-on existan en tu dashboard de Dodo Payments
- Comprueba que el add-on esté asociado correctamente con la suscripción
- Asegúrate de que la clave de API tenga permisos para crear sesiones de checkout
- Prueba la conectividad de la API con una solicitud GET sencilla
¡Felicidades! Has implementado precios basados en asientos
Has creado correctamente un sistema de precios basados en asientos con Dodo Payments. Esto es lo que has logrado:Base Subscription
Creaste un producto de suscripción con 5 asientos incluidos por $49/mes
Seat Add-ons
Configuraste add-ons para asientos adicionales a $2/mes por asiento
Checkout
Creaste una API que genera sesiones de checkout con cantidades de asientos personalizadas
Web Interface
Creaste una interfaz web sencilla para probar diferentes cantidades de asientos
Este ejemplo demuestra una implementación mínima de precios basados en asientos. Para utilizarla en producción, añade gestión de errores, autenticación, validación de datos y medidas de seguridad, y adapta la lógica para que se ajuste a los requisitos de tu aplicación.