Pular para conteúdo

Planos e Limites

Tabela de Planos

Plano Preço/mês Alunos Cursos Modelos
Free R$ 0 100 1 GPT-5 + GPT-5 Mini
Starter R$ 97 500 5 GPT-5 + GPT-5 Mini
Pro R$ 197 1.000 10 GPT-5.4 family + OpenRouter
Max R$ 297 Ilimitado 20 GPT-5.4 family + OpenRouter

Créditos por Agente

Os créditos são configurados por agente, não por plano. Cada Agent possui o campo credits_per_student (padrão: 50), que define quantos créditos cada aluno terá para aquele agente por período de faturamento.

  • A escola ajusta credits_per_student na configuração do agente
  • A escola pode ajustar créditos individuais por aluno por agente no painel de detalhe do aluno (UpdateStudentCreditsView)
  • Quando os créditos esgotam, o chat bloqueia apenas para aquele agente, não para todos

Compra de Créditos Extras (Sprint 35)

Alunos de escolas com plano pago ativo podem adquirir pacotes de créditos extras via Stripe Checkout:

Pacote Créditos Preço
Básico 50 R$ 29,90
Intermediário 150 R$ 39,90
Premium 500 R$ 69,90

Fluxo de compra

  1. Aluno acessa Comprar Créditos no menu lateral
  2. Seleciona o mentor e o pacote desejado
  3. É redirecionado para o Stripe Checkout (cartão, PIX ou boleto)
  4. Após confirmação de pagamento via webhook, os créditos são liberados automaticamente
  5. Para PIX/boleto, a confirmação pode levar alguns minutos (evento async_payment_succeeded)

Regras

  • Créditos extras são somados ao saldo do ciclo atual (extra_credits)
  • Créditos extras são consumidos antes dos créditos mensais do próximo ciclo
  • Alunos de escolas no plano Free não podem comprar créditos
  • O histórico de compras é visível no perfil do aluno

Fluxo de Pagamento de Assinatura via Stripe (Sprint 34)

  1. Admin acessa a tela de Upgrade de Plano
  2. Seleciona plano desejado → inicia Stripe Checkout (modo subscription)
  3. Após pagamento, o webhook checkout.session.completed ativa o plano
  4. Renovações são processadas via invoice.paid
  5. Falhas de pagamento geram evento invoice.payment_failed → status muda para past_due
  6. Após 7 dias sem pagamento → status muda para unpaid → escola bloqueada
  7. Admin pode regularizar via Stripe Customer Portal

Status de pagamento

Status Comportamento
active Acesso normal
trialing Período de teste (14 dias)
past_due Banner de aviso, acesso mantido por 7 dias
unpaid Bloqueio total — admin redirecionado para regularização, alunos veem agentes bloqueados
canceled Downgrade para Free ao fim do período

Modelos por Plano

Plano Modelos Disponíveis
Free / Starter GPT-5, GPT-5 Mini
Pro / Max GPT-5, GPT-5 Mini, GPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano, OpenRouter

Gerenciamento via Django Admin

Todos os limites e preços são gerenciáveis em /admin/subscriptions/plan/. Alterações refletem imediatamente em: - Landing page de preços - Verificações de limite no chat e upload - Créditos de novos alunos (via Agent.credits_per_student)

Pacotes de créditos são gerenciados em /admin/subscriptions/messagepackage/ com o campo stripe_price_id editável inline.