API de suscripciones
Para trabajar con suscripciones desde la aplicación del cliente, se han previsto tres endpoints: suscripción, cancelación de suscripción y obtención de la lista de suscripciones activas del usuario actual.
Todos los endpoints se ejecutan en nombre del usuario autorizado: la suscripción siempre está vinculada al token con el que se realizó la solicitud.
Suscripción
Crea una nueva suscripción para el usuario actual en el marcador especificado.
El comportamiento depende del tipo de cuenta de pago vinculada a la suscripción en la configuración del módulo:
stripe,midtrans— se crea un registro de la suscripción y se devuelve un enlace de pago. La suscripción se activa después de un cobro exitoso por parte del proveedor.custom— la suscripción se crea y se considera activa de inmediato. No se devuelve un enlace de pago, el pago se registra manualmente por el administrador a través de la tarjeta del usuario.
Cancelación de suscripción
Cancela inmediatamente la suscripción activa del usuario.
El comportamiento depende del tipo de cuenta de pago:
stripe,midtrans— la suscripción se cancela a través de la API del proveedor: los cobros automáticos se detienen, el estado de la suscripción cambia acanceled.custom— la cancelación a través de la API no está disponible. Estas suscripciones solo pueden ser canceladas por el administrador a través de la tarjeta del usuario.
Intentar cancelar una suscripción custom a través de la API devolverá un error. Esto se hace intencionadamente: las suscripciones manuales son gestionadas por el administrador, ya que los pagos se realizan fuera del sistema.
Obtención de suscripciones activas
Devuelve un array de marcadores de las suscripciones activas del usuario actual.
Una suscripción se considera activa si:
- Ha sido creada exitosamente.
- Su período actual aún no ha expirado.
- No ha sido cancelada (
canceled).
Si la suscripción ha expirado o ha sido cancelada, su marcador desaparece automáticamente de la lista. Este endpoint es conveniente para usar en el cliente para verificar el acceso al contenido: si el marcador de la suscripción requerida está presente en el array, se concede el acceso.