Skip to main content
Este tutorial muestra cómo implementar precios basados en asientos utilizando add-ons de Dodo Payments. Crearás un producto de suscripción con add-ons para asientos adicionales y generarás enlaces de pago con cantidades de add-ons personalizadas.
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.
Al final de este tutorial, sabrás cómo:
  • 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.
Creación de un add-on de asientos en el dashboard
Lo que estamos creando: Un add-on que cuesta $2/mes por asiento y que puede añadirse a cualquier suscripción base.
1

Navigate to Add-Ons

  1. En el panel de Dodo Payments, permanece en la sección Products
  2. Haz clic en la pestaña Add-Ons
  3. Haz clic en Create Add-On
Se abrirá el formulario de creación del complemento.
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

  1. Revisa toda tu configuración:
    • Nombre: Asiento adicional del equipo
    • Precio: $2.00/mes
  2. 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.
Creación de un producto de suscripción base en el dashboard
1

Navigate to Products

  1. Inicia sesión en el panel de Dodo Payments
  2. Haz clic en Products en la barra lateral izquierda
  3. Haz clic en el botón Create Product
  4. Selecciona Subscription como tipo de producto
Deberías ver un formulario donde configuraremos nuestra suscripción base.
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

Asociación de un add-on a una suscripción en el dashboard
  1. Desplázate hacia abajo hasta la sección Complementos
  2. Haz clic en Agregar Complementos
  3. Desde el menú desplegable, selecciona tu complemento de asiento
  4. Confirma que aparece en la configuración de tu suscripción
2

Save subscription changes

  1. Revisa la configuración completa de tu suscripción:
    • Plan base: $49/mes para 5 asientos
    • Complemento: $2/mes por cada asiento adicional
  2. 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:
Nunca confirmes tu clave de API en el control de versiones. Añade .env a tu archivo .gitignore.
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

  1. Asegúrate de tener tu archivo .env con la clave de API correcta
  2. Actualiza los ID del producto y del add-on en tu código con los valores reales de tu dashboard de Dodo Payments
  3. Inicia tu servidor:
Tu servidor debería iniciarse correctamente y mostrar “Server is running on port 3000”
2

Test the web interface

Interfaz de demostración de precios basados en asientos
  1. Abre tu navegador y ve a http://localhost:3000
  2. Deberías ver la interfaz de demostración de precios basados en asientos
  3. Prueba diferentes cantidades de asientos (0, 3, 10, etc.)
  4. Haz clic en “Generate Checkout Link” para cada cantidad
  5. Verifica que las URL de checkout se generen correctamente
3

Test a checkout session

  1. Genera un enlace de checkout con 3 asientos adicionales
  2. Haz clic en la URL de checkout para abrir el checkout de Dodo Payments
  3. Verifica que el checkout muestre:
    • Plan base: $49/mes
    • Asientos adicionales: 3 × 2 dólares = $6/mes
  4. 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:
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
Soluciones:
  1. Verifica que los ID del producto y del add-on existan en tu dashboard de Dodo Payments
  2. Comprueba que el add-on esté asociado correctamente con la suscripción
  3. Asegúrate de que la clave de API tenga permisos para crear sesiones de checkout
  4. 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.
Última modificación el 26 de septiembre de 2026