Volveroctubre de 2026

TrackMySubs: control de suscripciones con facturación recurrente real

Next.jsTypeScriptTailwind CSSshadcn/uiSupabaseMercado Pago
TrackMySubs: control de suscripciones con facturación recurrente real

Casi nadie sabe cuánto paga por mes en suscripciones, y menos cuando están en más de una moneda. TrackMySubs reúne todo en un solo lugar: el usuario registra sus servicios (Netflix, Spotify, YouTube y más), ve cuánto gasta, marca lo que ya pagó este mes y descarga un informe.

El producto en sí se vende como suscripción mensual con tres planes, cobrada con pagos recurrentes reales a través de Mercado Pago. Quién puede hacer qué, cuánto y hasta cuándo se decide y se aplica en el servidor y en la base de datos, no solo en la interfaz.

Por qué importa

Los cobros pequeños y recurrentes son fáciles de olvidar y difíciles de sumar. TrackMySubs lo resuelve, y además está construido como un producto de pago completo y pensado para producción.

Planes

Los precios, los límites y la duración de la prueba viven en la base de datos (tabla plans), así que cambiarlos no requiere tocar el código de la aplicación.

Qué hace

Dashboard

Facturación y gestión del plan

Cómo funciona la facturación

Esta es la parte más delicada del proyecto, porque el dinero no puede depender de lo que diga el navegador.

  1. El usuario elige un plan. El navegador solo envía el identificador del plan.
  2. El servidor lee de la base el precio, la prueba gratis y la suscripción del propio usuario, y crea en Mercado Pago una suscripción en estado pendiente.
  3. Mercado Pago devuelve una URL de autorización y el usuario autoriza el pago allí.
  4. Mercado Pago avisa al servidor con una notificación firmada que solo trae un identificador.
  5. El servidor consulta a Mercado Pago el estado real de la suscripción y alinea la base de datos con él: activa el plan y el fin del período.
  6. Mientras tanto, la página de éxito consulta el estado hasta que el plan queda activo y redirige al dashboard.

El ciclo de vida del plan es: Free → Activo al autorizarse el pago → Cancelado si el usuario cancela → Suspendido cuando termina el período pagado, o si la suscripción se pausa o no se renueva. Desde Suspendido se vuelve a Activo suscribiéndose de nuevo.

Decisiones de diseño

Seguridad

Defensa en profundidad: cada operación sensible se verifica en varios niveles independientes.

Otras protecciones:

Casos borde contemplados

Verificación

Este proyecto todavía no tiene pruebas automatizadas. El comportamiento se verifica con una matriz manual de permisos por estado de cuenta (free, activo, cancelado y suspendido) y con escenarios en el entorno de pruebas de Mercado Pago:

El esquema incluye consultas de comprobación, y la tabla payment_events permite auditar cada pago con su estado y su error.

Stack

Alcance y límites conocidos

Lo que demuestra este proyecto