Saltar al contenido principal

RF43: Usuario activa renovación automática

Descripción

Como usuario autenticado con suscripción de pago, quiero activar la renovación automática para mantener mi acceso premium sin tener que renovar manualmente cada periodo.

Reactiva el ciclo automático en Stripe (deshace una cancelación programada: cancel_at_period_end: false). Requiere un método de pago válido.

CampoValor
MóduloSubscription Module
ActorUsuario autenticado
EndpointPOST /subscription/auto-renew ({ enabled: true })
PrecondicionesSesión activa; suscripción existente; método de pago válido
PrioridadMedia (MVP)
EtapaMVP
Requisitos relacionadosRF44, RF39, RF46

Reglas de negocio

  • RN-43.1 — Activar la renovación requiere un método de pago válido (RF46); si no hay, se solicita registrarlo (RF35).
  • RN-43.2 — Activar equivale a subscriptions.update({ cancel_at_period_end: false }) cuando había una cancelación programada.
  • RN-43.3 — La operación es idempotente: activar cuando ya está activa no cambia el estado.

Validaciones de entrada

CampoReglasMensaje de error
AuthorizationBearer válido."Sesión no válida." (401)
Método de pagoDebe existir uno válido."Registra un método de pago válido para activar la renovación."

Criterios de aceptación

Escenario 1: Activación exitosa

Dado que tengo una suscripción con renovación desactivada y un método de pago válido, Cuando activo la renovación automática, Entonces el sistema la reactiva en Stripe, Y responde 200 OK confirmando la próxima fecha de renovación.

Escenario 2: Sin método de pago válido

Dado que no tengo un método de pago válido, Cuando intento activar la renovación, Entonces el sistema responde 400 pidiendo registrar uno (RF35).

Escenario 3: Ya estaba activa (idempotencia)

Dado que la renovación ya está activa, Cuando la activo de nuevo, Entonces el sistema responde 200 OK sin cambios.

Criterios no funcionales

  • Idempotencia en la llamada a Stripe; comunicación TLS 1.2+.

Diagrama de secuencia