API de assinaturas
Para trabalhar com assinaturas do lado do aplicativo cliente, existem três endpoints: criação de assinatura, cancelamento de assinatura e obtenção da lista de assinaturas ativas do usuário atual.
Todos os endpoints são executados em nome do usuário autenticado — a assinatura sempre está vinculada ao token com o qual a solicitação foi feita.
Criação de assinatura
Cria uma nova assinatura para o usuário atual no token especificado.
O comportamento depende do tipo de conta de pagamento vinculada à assinatura nas configurações do módulo:
stripe,midtrans— uma entrada de assinatura é criada e um link de pagamento é retornado. A assinatura se torna ativa após o sucesso da cobrança por parte do provedor.custom— a assinatura é criada e imediatamente considerada ativa. O link de pagamento não é retornado, o pagamento é registrado manualmente pelo administrador através da cartão do usuário.
Cancelamento de assinatura
Cancela imediatamente a assinatura ativa do usuário.
O comportamento depende do tipo de conta de pagamento:
stripe,midtrans— a assinatura é cancelada através da API do provedor: as cobranças automáticas são interrompidas, e o status da assinatura muda paracanceled.custom— o cancelamento através da API não está disponível. Essas assinaturas podem ser canceladas apenas pelo administrador através do cartão do usuário.
Tentar cancelar uma assinatura custom através da API retornará um erro. Isso é feito intencionalmente: assinaturas manuais são gerenciadas pelo administrador, uma vez que os pagamentos ocorrem fora do sistema.
Obtenção de assinaturas ativas
Retorna um array de tokens das assinaturas ativas do usuário atual.
Uma assinatura é considerada ativa se:
- Foi criada com sucesso.
- Seu período atual ainda não expirou.
- Não foi cancelada (
canceled).
Se a assinatura expirou ou foi cancelada, seu token desaparece automaticamente da lista. O endpoint é conveniente para uso no cliente para verificar o acesso ao conteúdo: se o token da assinatura desejada estiver presente no array — o acesso é concedido.