API Reference: Planos e Assinaturas

Base URL: /api/planos. Todos requerem autenticacao. Suporte a checkout transparente e ciclo anual.

Endpoints

MetodoEndpointPermissaoDescricao
GET/api/planosAutenticadoListar planos disponiveis
GET/api/planos/minha-assinaturaAutenticadoVer plano atual e data de validade
POST/api/planos/assinarAutenticadoAssinar plano (CC, R$ ou mix)
PATCH/api/planos/membros/:id/planoAdminAlterar plano manualmente

Assinar Plano — Body

{
  "planoId": "uuid",
  "valorCC": 4990,
  "metodo": "PIX",
  "ciclo": "mensal"
}

Planos Disponiveis

Cada nucleo configura seus proprios planos com precos e beneficios independentes. A tabela abaixo e apenas um exemplo.
PlanoR$/mesR$/anoMoeda do nucleoBeneficios
FreeR$0--0Acesso base
ApoiadorR$19,90R$199,001.990Beneficios externos
MilitanteR$49,90R$499,004.990+ Ingresso congresso
OncaR$89,90R$899,008.990+ Festival + Kit exclusivo

Regras

  • Pagamento 100% moeda do nucleo: debita e ativa imediatamente por 30 dias (mensal) ou 365 dias (anual)
  • Pagamento com R$: gera cobranca Asaas, ativa apos confirmacao
  • Split: moeda do nucleo debitada + Asaas pelo restante
  • Se plano vencer e nao renovar: revertido para Free (cron diario)
  • Admin pode alterar plano manualmente a qualquer momento

Ciclo Anual

Assinaturas podem ser feitas com ciclo mensal ou anual:

  • O campo ciclo no body aceita "mensal" ou "anual"
  • Ciclo anual aplica desconto (equivalente a ~2 meses gratis): R$199, R$499 ou R$899 por ano
  • A validade e definida como 365 dias a partir da confirmacao do pagamento
  • Renovacao anual gera uma nova cobranca Asaas com o valor anual

Checkout Transparente para Assinaturas

Assinaturas com cartao de credito utilizam o mesmo checkout transparente descrito em API > Pagamentos:

  • Dados do cartao (creditCard) e do titular (creditCardHolderInfo) sao enviados inline
  • Mapeamento: CARTAO_CREDITO (enum interno) e convertido para CREDIT_CARD (Asaas billing type)
  • Debito de moeda: Moedas do nucleo so sao debitadas apos a criacao da assinatura no Asaas ser confirmada com sucesso

Error Handling com Rollback

O fluxo de assinatura implementa rollback em caso de falha para manter consistencia:

  1. Cria registro de assinatura local no banco (status: PENDENTE)
  2. Cria assinatura/cobranca no Asaas via API
  3. Se falhar na etapa 2: o registro local e deletado (rollback)
  4. Se sucesso: atualiza registro local com dados do Asaas e debita moeda do nucleo (se aplicavel)

Isso garante que nao existam registros orfaos de assinaturas que falharam no gateway.