Saltar al contenido principal

RF42: Usuario es degradado de suscripción

Descripción

El sistema degrada al usuario del plan premium al plan Free cuando su suscripción de pago termina (cancelación vencida, fallo de pago persistente tras el dunning, o impago).

La degradación se dispara por webhook validado (customer.subscription.deleted o fin de dunning) y ajusta los límites del plan, incluyendo el de sesiones simultáneas (de 5 premium a 2 gratuito — Control de Sesiones §4.2).

CampoValor
MóduloSubscription Module
ActorSistema (disparado por webhook)
EndpointInterno: handler de webhooks
PrecondicionesSuscripción de pago terminada/impaga
PrioridadAlta (MVP)
EtapaMVP
Requisitos relacionadosRF39, RF41, RF45

Reglas de negocio

  • RN-42.1 — La degradación se origina en un webhook validado de Stripe.
  • RN-42.2 — Al degradar, se revocan accesos a funciones premium y se aplican los límites de Free.
  • RN-42.3 — Si el usuario excede el límite de sesiones de Free, se revocan las sesiones más antiguas hasta cumplir el límite.
  • RN-42.4 — Los datos del usuario no se borran al degradar; solo se restringe el acceso premium.
  • RN-42.5 — Se notifica al usuario la degradación (RF41) con opción de re-suscribirse.

Validaciones / consideraciones

AspectoRegla
OrigenWebhook validado o fin de dunning.
IdempotenciaDegradar dos veces deja el mismo estado Free.
DatosSe conservan; solo cambia el nivel de acceso.

Criterios de aceptación

Escenario 1: Degradación por vencimiento de cancelación

Dado que mi suscripción cancelada llega a su fin de periodo, Cuando Stripe emite customer.subscription.deleted, Entonces el sistema me pone en plan Free, Y ajusta mis límites (incluyendo sesiones a 2), Y me notifica (RF41).

Escenario 2: Degradación por impago tras dunning

Dado que mis reintentos de cobro fallan durante el dunning, Cuando Stripe finaliza el proceso sin éxito, Entonces el sistema me degrada a Free y me notifica.

Escenario 3: Exceso de sesiones al degradar

Dado que tenía 4 sesiones activas en premium, Cuando me degradan a Free (límite 2), Entonces se revocan las sesiones más antiguas hasta dejar 2.

Escenario 4: Conservación de datos

Dado que me degradan a Free, Cuando reviso mi cuenta, Entonces mis datos financieros siguen disponibles dentro de los límites de Free; nada se borra.

Criterios no funcionales

  • Operación idempotente; comunicación TLS 1.2+.
  • El cambio de límites se aplica de forma consistente con el webhook.

Diagrama de secuencia