Tu lógica de billing se está escapando de Stripe: planes en metadata, uso en tus propias tablas, webhooks manteniendo todo sincronizado.
Ahí es donde "cobrar una tarjeta" deja de ser el problema — y donde Stripe y Commet se separan. Stripe es infraestructura de pagos. Commet es un sistema de billing pensado para ser simple, explícito y code-first.
Este post analiza:
- Dónde Stripe brilla
- Dónde se vuelve complicado
- Por qué existe Commet
TL;DR
| Stripe | Commet | |
|---|---|---|
| Qué es | Infraestructura de pagos | Billing + control de acceso + cobros globales |
| Función principal | Mover plata | Decidir quién puede hacer qué y cobrar por esas features |
| Fuente de verdad | Dividida entre Stripe + tu DB | Commet |
| Billing por uso | Posible, pero manual | Nativo (créditos, tokens, planes con overage) |
| Webhooks necesarios | Sí | No |
| Cobros e impuestos | Vos | Commet |
Stripe se vuelve complejo en cuanto introducís uso, planes, features o entitlements. Commet elimina esa complejidad actuando como la única fuente de verdad para la lógica de billing.
Filosofía base
Stripe
Stripe está construido para:
- Mover plata
- Manejar recibos y compliance
- Ser lo suficientemente flexible para cualquier modelo de negocio
Esa flexibilidad tiene un costo:
Vos armás tu propio sistema de billing encima.
Commet
Commet está construido para:
- Definir planes, features y límites
- Controlar quién puede hacer qué en tu producto
- Hacer que el billing por uso sea predecible y explícito
- Cobrar pagos globales
Los pagos son importantes, pero la lógica de billing es el problema real.
Planes y features
Stripe
Con Stripe, los planes y features están:
- Repartidos entre Products, Prices, Subscriptions y Metadata
- Muchas veces duplicados en tu propia base de datos
- Reconstruidos vía webhooks
Terminás manteniendo:
- Stripe como una fuente de verdad
- Tu app como otra
- Webhooks para mantenerlas "sincronizadas"
Esa capa de sincronización es donde viven los bugs.
Commet
Con Commet:
- Los planes y features se diseñan primero
- Tu app lee las reglas de acceso directamente de Commet
- Sin duplicación, sin adivinanzas, sin sincronización
Diseñá el plan, construilo en Commet, tu app lo consume.
Una sola fuente de verdad.
Billing por uso y consumo
Stripe
Stripe técnicamente soporta billing por uso, pero:
- Tenés que trackear el uso vos mismo
- Reportarlo correctamente
- Reconciliar recibos después
- Manejar edge cases cuando el uso cambia a mitad de ciclo
Funciona, pero es fácil meter la pata.
Commet
Commet está construido para consumo:
- Créditos, cuotas y límites son conceptos de primera clase
- El uso se controla en tiempo real
- Control de acceso y billing están conectados
- Commet maneja todos los edge cases cuando el uso cambia a mitad de ciclo
Tu producto sabe antes de que el usuario exceda los límites, no después de que un cobro falle.
Feature por Feature: Stripe Billing vs Commet
| Dimensión | Stripe Billing | Commet |
|---|---|---|
| Medición de uso | Meters y usage records que reportás y reconciliás | Modelos metered, créditos y balance integrados |
| Merchant of Record / impuestos | Vos sos el vendedor; el tooling fiscal es aparte y el compliance queda tuyo | Commet es el vendedor; cálculo y remisión de impuestos incluidos |
| Créditos | Construís tu propio sistema encima | Credit packs first-class que bloquean el uso |
| Payouts | Payouts de Stripe a tu cuenta bancaria | Payouts en moneda local en 112 países |
| Cobro en moneda local | Soporte amplio de monedas que configurás por precio | 20+ mercados listos para usar |
| Modelo de precios | Comisiones de procesamiento más 0.7% de Billing encima, más fees de add-ons | 4.5% + $0.40 por transacción exitosa todo incluido, sin fees mensuales |
| Open source | No | La plataforma no es open source; los SDKs y librerías sí |
Migrar de Stripe Billing a Commet
Como Commet usa Stripe por detrás, esta migración tiene un riesgo inusualmente bajo: los métodos de pago y el historial de billing de tus clientes se mantienen intactos.
Qué mapea a qué:
| En Stripe | En Commet |
|---|---|
| Products + Prices + Metadata | Planes con features |
| Meters y usage records | Eventos de uso vía SDK |
| Customers | Customers |
| Cupones | Promo codes |
| Webhook handlers para sincronizar | Queries de entitlements en tiempo real |
| Configuración de impuestos | Eliminada — Commet maneja impuestos como Merchant of Record |
Una migración típica se ve así:
- Modelá tus planes en Commet primero. El sprawl de Products/Prices/Metadata se convierte en planes explícitos con features boolean, medidas y de seats. Este paso suele revelar cuánta lógica de billing estaba escondida en metadata.
- Enviá eventos de uso por el SDK en lugar de reportar usage records a Stripe. Los chequeos de entitlements (
canUse) reemplazan las tablas de tracking de límites en tu propia base de datos. - Borrá los webhook handlers uno por uno. El estado de la suscripción vive en Commet y se consulta en tiempo real, así que la capa de sincronización — y sus modos de falla — desaparece.
- Eliminá tu setup de impuestos. Como Merchant of Record, Commet calcula, recauda y remite.
- Hacé el corte en la renovación, corriendo un ciclo en paralelo y comparando recibos antes de retirar el código de billing viejo.
La guía de migración desde Stripe Billing recorre cada paso con código lado a lado.
Webhooks (o la falta de ellos)
Stripe
Los webhooks son obligatorios:
- Actualizaciones de suscripción
- Fallos de pago
- Cambios de plan
- Eventos de uso
Si perdés un evento, tu sistema se desincroniza.
Commet
Commet requiere:
- Cero webhooks
- Cero jobs de reconciliación en background
- Cero lógica de retry
Tu app le pregunta a Commet:
"Puede este usuario hacer X en este momento?"
Y recibe una respuesta determinística.
Experiencia de desarrollo
Stripe
El DX de Stripe es excelente para pagos:
- Documentación de primera
- Ecosistema maduro
- APIs confiables
Pero la lógica de billing se vuelve:
- Dispersa
- Implícita
- Difícil de razonar
Commet
Commet es:
- SDK-first
- Explícito por diseño
- Construido para developers que necesitan shipping rápido
Dos métodos. Primitivos claros. Comportamiento predecible.
Pagos y Merchant of Record
| Stripe | Commet | |
|---|---|---|
| Merchant of Record | Vos | Commet |
| Procesador de pagos | Stripe | Stripe (por debajo) |
| Impuestos y recibos | Los manejás vos | Los maneja Commet |
| Carga de compliance | Alta | Mínima |
Commet se monta sobre Stripe como Merchant of Record.
Desde la perspectiva de tu app:
- Definís planes, features y límites
- Commet cobra la plata
- Tu producto chequea entitlements
Mismos rieles de Stripe. Mucha menos superficie de contacto.
Cuándo Stripe es realmente la mejor opción
Stripe es perfecto si:
- Solo necesitás suscripciones o pagos únicos
- No tenés feature gating complejo
- Estás empezando y el billing es simple
- Querés ser el Merchant of Record vos mismo y mantener control directo sobre impuestos, compliance y la relación con el cliente
Stripe no es el problema, la complejidad del billing sí lo es.
Cuándo Commet tiene más sentido
Commet brilla cuando:
- Vendés billing por uso, créditos o acceso medido
- Los planes definen lo que los usuarios pueden hacer, no solo lo que pagan
- Querés que la lógica de billing viva fuera de tu app
- Estás cansado del webhook hell
Reflexión final
Stripe te ayuda a procesar pagos. Commet te ayuda a manejar billing.
Commet combina:
- La infraestructura de pagos de Stripe
- Un sistema de billing y entitlements diseñado para productos basados en consumo
Si la lógica de billing, el compliance y los webhooks están invadiendo tu codebase, esa suele ser la señal de que ya le quedó chico el setup de Stripe solo.
¿Listo para moverte? Seguí la guía de migración. Mirá también cómo se compara Commet con Paddle y Chargebee.