Domina los Modelos de Suscripción con Stripe: De Flat-Rate a Usage-Based

Programación· 5 min de lectura

Domina los Modelos de Suscripción con Stripe: De Flat-Rate a Usage-Based

El Cambio que Nadie Esperaba

Hace cinco años, casi todos los SaaS usaban el mismo modelo: un plan mensual, punto. Hoy es diferente. Los fundadores han descubierto que cobrar según lo que realmente usan sus clientes es más justo, más escalable y genera menos fricción.

Y Stripe está ahí para facilitarlo.

La realidad es brutal: si tu modelo de negocio no se adapta a cómo tus clientes realmente consumen tu producto, alguien más lo hará. Por eso necesitas entender estos cuatro patrones y saber cuándo usarlos.

Los Cuatro Modelos Que Importan

#### 1. Flat-Rate: La Simplicidad Es Tu Arma

Un precio fijo, siempre. Sin sorpresas, sin cálculos.

Este modelo es perfecto cuando:

  • Tu producto tiene un valor claramente definido
  • Tus clientes no varían mucho en consumo
  • Quieres máxima simplicidad en la facturación

Ejemplo: una herramienta de diseño que cuesta lo mismo para todos, independientemente de cuántos proyectos crees.

Con Stripe, implementarlo es trivial:

```javascript const subscription = await stripe.subscriptions.create({ customer: customerId, items: [ { price: 'price_flatrate_monthly', }, ], }); ```

Lo difícil no es la técnica. Es decidir el precio correcto.

#### 2. Per-Seat: Escala Lineal Con Tu Cliente

Cobras por cada usuario que añade tu cliente. Típicamente lo ves en herramientas de colaboración.

Ventaja: tu cliente siente que paga por lo que usa. Desventaja: puede disuadirles de invitar a más gente a su equipo.

Implementación con Stripe:

```javascript const subscription = await stripe.subscriptions.create({ customer: customerId, items: [ { price: 'price_per_seat', quantity: numberOfSeats, }, ], });

// Cuando añaden un nuevo usuario await stripe.subscriptionItems.createUsageRecord( subscriptionItemId, { quantity: 1, action: 'increment' } ); ```

La clave aquí es sincronizar tu base de datos con Stripe. Cada vez que cambia el número de usuarios, Stripe necesita saberlo.

#### 3. Tiered: Diferentes Precios, Diferentes Beneficios

Tres planes: básico, profesional, empresarial. Cada uno con más features.

Este es el modelo tradicional, pero sigue siendo poderoso. La razón: crea una "escalera" psicológica que guía a tus clientes hacia arriba.

El truco: no hagas demasiados planes. Tres o cuatro es el máximo. Más de eso confunde.

```javascript const plans = { basic: 'price_basic_monthly', pro: 'price_pro_monthly', enterprise: 'price_enterprise_monthly', };

const subscription = await stripe.subscriptions.create({ customer: customerId, items: [ { price: plans[selectedPlan], }, ], }); ```

#### 4. Usage-Based: El Futuro (Y Ya Está Aquí)

Cobras según lo que realmente consumen. API calls, GB almacenados, minutos de procesamiento.

Este es el modelo que más está creciendo. Por qué: es el más justo. Un cliente que usa poco paga poco. Uno que explota tu servicio paga más. Todos contentos.

Pero es más complejo de implementar.

Con Stripe, usas "metered billing":

```javascript // Registrar uso en tiempo real await stripe.subscriptionItems.createUsageRecord( subscriptionItemId, { quantity: apiCallsThisMonth, action: 'set', // 'set' sobrescribe, 'increment' suma timestamp: Math.floor(Date.now() / 1000), } ); ```

La complejidad real está en: 1. Rastrear el uso con precisión - necesitas un sistema que cuente cada acción 2. Decidir el precio por unidad - demasiado alto ahuyenta, demasiado bajo no es rentable 3. Comunicarlo bien - tus clientes deben entender qué están pagando

El Modelo Híbrido: Tu Arma Secreta

Muchos SaaS ahora combinan modelos. Ejemplo:

  • Plan base fijo (flat-rate)
  • Más usuarios si lo necesitan (per-seat)
  • Uso extra facturado por encima de cierto límite (usage-based)

Esto es lo que ves en Vercel, Supabase, Stripe mismo.

Con Stripe, implementarlo requiere múltiples items en la misma suscripción:

```javascript const subscription = await stripe.subscriptions.create({ customer: customerId, items: [ { price: 'price_base_plan', // Flat-rate }, { price: 'price_per_seat', // Per-seat quantity: 5, }, { price: 'price_usage_based', // Usage-based }, ], }); ```

Cómo Elegir Tu Modelo

No existe un modelo "mejor". Depende de tu negocio:

Elige Flat-Rate si:

  • Tu producto tiene valor uniforme
  • Quieres máxima simplicidad
  • Tus clientes varían poco en consumo

Elige Per-Seat si:

  • Tu producto escala con usuarios
  • Quieres que crezca con tu cliente
  • Es fácil contar "asientos"

Elige Tiered si:

  • Tienes features claramente diferenciadas
  • Quieres guiar a clientes hacia planes premium
  • Es un modelo probado en tu industria

Elige Usage-Based si:

  • El consumo varía enormemente entre clientes
  • Quieres que pagues solo por lo que usas
  • Tienes infraestructura para rastrear uso

La Realidad de Implementar Esto

La API de Stripe es sólida. Pero hay detalles que muchos desarrolladores ignoran:

1. Webhooks - necesitas escuchar `invoice.payment_succeeded` para saber cuándo facturar 2. Sincronización - tu base de datos y Stripe deben estar en sync 3. Pruebas - es fácil romper facturación. Prueba todo. 4. Documentación para clientes - explica cómo funciona tu modelo

```javascript // Webhook básico para procesar facturación app.post('/webhooks/stripe', async (req, res) => { const event = req.body;

if (event.type === 'invoice.payment_succeeded') { const invoice = event.data.object; // Tu lógica aquí: enviar confirmación, actualizar acceso, etc. }

res.json({ received: true }); }); ```

El Factor Psicológico

Aquí está lo que nadie dice: el modelo de precios es psicología pura.

Usage-based suena justo, pero asusta a clientes que no saben cuánto van a gastar. Flat-rate es predecible, pero algunos clientes sienten que pagan por lo que no usan.

La mejor estrategia: ofrece un modelo que tenga sentido para tu negocio, pero comunícalo de forma que tu cliente entienda exactamente qué paga y por qué.

Mi Recomendación

Si estás empezando: empieza con flat-rate o tiered. Es simple, funciona, y tus clientes lo entienden.

Cuando crezcas y tengas suficientes datos: experimenta con usage-based. Muchos SaaS descubren que es más rentable.

Y siempre: usa Stripe. No es la única opción, pero es la más confiable. La documentación es buena, la API es estable, y el soporte funciona.

El Próximo Paso

No necesitas implementar todos los modelos hoy. Necesitas elegir uno, implementarlo bien, y iterar.

Mira tu competencia. Mira a tus clientes. Elige el modelo que tenga más sentido.

Y recuerda: el mejor modelo de precios es el que tus clientes entienden y aceptan sin fricción.

---

¿Qué modelo usas en tu SaaS? ¿Cuál fue tu mayor dolor implementándolo con Stripe? Comparte en los comentarios.