Módulo Pay (Faturamento)
O módulo Pay gerencia toda a parte financeira da plataforma e, opcionalmente, pode ser usado para cobrar seus próprios clientes (feature em beta).
Conceitos
- Plan (Plano): Define as capacidades do Tenant (ex: Free, Pro, Enterprise).
- Subscription (Assinatura): O vínculo recorrente entre um Tenant e um Plano.
- Invoice (Fatura): O documento de cobrança mensal.
Integração com Stripe
A QuettaCode utiliza o Stripe como processador de pagamentos subjacente.
Webhooks de Pagamento
Eventos relacionados a pagamento (fatura paga, falha no pagamento, assinatura cancelada) são enviados via webhook pelo controlador StripeWebhookController.
invoice.payment_succeededcustomer.subscription.deleted
Upgrade e Downgrade
Mudanças de plano são calculadas com prorata (proporcional ao tempo de uso). Ao chamar o endpoint de atualização de plano, a diferença é cobrada ou creditada na próxima fatura.