Saltar al contenido principal

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 a canceled.
  • 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.
info

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.