Saltar al contenido principal

RF32: Usuario consulta modelos de suscripción

Descripción

Como usuario, quiero ver los planes de suscripción disponibles (Free, Pro Mensual, Pro Anual) con sus precios y beneficios para decidir cuál contratar.

Los planes y sus Price IDs de Stripe se gestionan como configuración (variables de entorno), nunca hardcodeados (Stripe — Suscripciones).

CampoValor
MóduloSubscription Module
ActorUsuario (autenticado o no)
EndpointGET /subscription/plans
PrecondicionesNinguna (lista pública de planes)
PrioridadAlta (MVP)
EtapaMVP
Requisitos relacionadosRF33, RF38

Reglas de negocio

  • RN-32.1 — Los planes mostrados provienen de la configuración (Price IDs en variables de entorno), no del código.
  • RN-32.2 — Cada plan muestra nombre, ciclo (mensual/anual), precio, moneda y beneficios; el Free aparece como opción base.
  • RN-32.3 — Se marca cuál es el plan actual del usuario si está autenticado.
  • RN-32.4 — En la app móvil, los precios mostrados respetan las reglas de Apple/Google si el cobro es in-app (Suscripciones Mobile).

Validaciones de entrada

CampoReglasMensaje de error
Endpoint de solo lectura sin parámetros obligatorios.

Criterios de aceptación

Escenario 1: Consulta de planes exitosa

Dado que abro la sección de suscripciones, Cuando se cargan los planes, Entonces el sistema muestra Free, Pro Mensual y Pro Anual con precio y beneficios, Y responde 200 OK.

Escenario 2: Usuario autenticado con plan activo

Dado que tengo un plan Pro activo, Cuando consulto los planes, Entonces se resalta mi plan actual.

Escenario 3: Configuración de planes no disponible

Dado que la configuración de precios no se puede leer, Cuando consulto los planes, Entonces el sistema muestra un mensaje de error controlado sin exponer detalles internos.

Criterios no funcionales

  • Respuesta < 1 s; la lista puede cachearse.
  • Comunicación TLS 1.2+.

Diagrama de secuencia