Admin: suscripciones

Suscripciones

/admin/subscriptions

Ruta /admin/subscriptions: contratos recurrentes por espacio, precios y próximo cobro, con acciones que llaman al API de facturación y a veces 3DS de Stripe.

Lista y columnas

  • Espacio de trabajo — nombre; subtítulo con id de suscripción acortado (no el id del espacio).
  • Plan — nombre desde la relación plan; si falta, texto de no disponible.
  • Estado — active | trial | past_due | canceled con color.
  • Precio — plan.price_usd o plan.price_cop según moneda por defecto de la plataforma (misma regla que la tarjeta MRR aproximada).
  • Próximo cobro — `current_period_end` con locale y zona horaria, o guion si no hay fecha.

Métricas de cabecera

  • Activas — filas con estado active.
  • En prueba — conteo trial.
  • Mora (past_due) — conteo de impagos a recuperar.
  • MRR aprox. — suma de precios de listado para filas activas en la moneda de la tabla (referencia analítica, no sustituto de cierre contable).

El bloque de tabla también muestra cuántas suscripciones están en canceled (sin acciones destructivas o de cambio).

Acciones por fila

  • Reintentar cobro — solo con past_due: nueva orden de cobro al procesador.
  • Cambiar plan — elige plan e intervalo mes/año. Si el API devuelve `requiresAction` y `clientSecret`, se puede completar SCA/3DS con Stripe.js.
  • Aplicar descuento — código de cupón existente en el catálogo de descuentos.
  • Cancelar — confirma y cancela en pasarela según reglas de negocio implementadas.

Cuadrar con el procesador

Ciclos y renovaciones deben alinearse con webhooks. Los cambios desde el portal del cliente pueden tardar hasta que lleguen eventos. Usa reintento en mora y cancelación cuando deba cortarse el acceso.