Introdução
O módulo Subscriptions permite configurar pagamentos regulares dos usuários por um conjunto fixo de produtos no projeto. A assinatura consiste em um conjunto de produtos e um período — a cada N dias, o custo, calculado como a soma dos preços dos produtos incluídos, é automaticamente (ou manualmente) cobrado do usuário.
O módulo é composto por duas partes principais:
- Módulo "Subscriptions" no menu à esquerda — catálogo de todas as assinaturas do projeto. Aqui você cria, edita e exclui assinaturas, configura a conta de pagamento, o período e a composição dos produtos. Mais detalhes — na seção de configurações de assinaturas.
- Aba "Subscriptions" no cartão do usuário — lista de assinaturas de um usuário específico com status, datas de término e ações manuais (para assinaturas do tipo
custom). Mais detalhes — na seção de assinaturas do usuário.
O trabalho com assinaturas do lado do aplicativo cliente é realizado através da API. Mais detalhes — na seção da API de assinaturas.
Como funciona a assinatura
Ao criar uma assinatura no painel de administração, você escolhe:
- Conta de pagamento — determina como o pagamento será realizado. Mais detalhes sobre os tipos de contas — na seção de contas de pagamento.
- Período em dias — a cada quantos dias o usuário precisa realizar o pagamento para renovar a assinatura.
- Lista de produtos incluídos na assinatura — o custo total da assinatura é formado pelos preços atuais desses produtos.
Quando o usuário faz uma assinatura através da API, o sistema:
- Cria um registro da assinatura para o usuário.
- Retorna um link para pagamento (para
stripeemidtrans) ou ativa imediatamente a assinatura para o tipocustom. - Ao final do período, cobra automaticamente o próximo pagamento (
stripe,midtrans) ou aguarda a renovação manual (custom).
Contas de pagamento suportadas
É possível conectar uma das seguintes contas de pagamento à assinatura:
- Stripe — cobranças periódicas automáticas através do Stripe. Após a criação da assinatura, a API retorna um link para o pagamento inicial.
- Midtrans — cobranças periódicas automáticas através do Midtrans. Semelhante ao Stripe, retorna um link para pagamento.
- Custom — assinatura manual. As cobranças não são realizadas automaticamente; a renovação e o cancelamento são feitos pelo administrador no cartão do usuário.
O tipo de conta de pagamento determina quais ações estão disponíveis para a assinatura e se ela pode ser cancelada através da API. Assinaturas custom são canceladas apenas pelo painel de administração — na seção do usuário.
Dinâmica de custo
O custo da assinatura é calculado como a soma dos preços dos produtos que a compõem. Se você alterar o preço de um dos produtos, as assinaturas ativas recalcularão automaticamente seu custo — o novo valor será aplicado a partir do próximo período de cobrança.
O período atual é sempre pago pelo preço que estava em vigor no momento de seu início. Isso permite alterar a composição e os preços dos produtos sem afetar os períodos já pagos pelo usuário.