3.0 Introdução a Pagamentos
Entenda a arquitetura de múltiplos Provedores (Asaas, Woovi, AbacatePay) de pagamentos.
Entendendo o módulo de Pagamentos
Nosso Boilerplate SaaS traz um ecossistema nativo de assinaturas e faturamentos sob o módulo billing.
No entanto, o diferencial deste sistema é O Padrão Gateway (Multi-Provedor): nós permitimos que o seu sistema trabalhe não apenas com um gatilho de cobrança (ex: Pagar via Stripe), mas funcione como um hub de pagamentos agnóstico — permitindo instanciar PIX e Cartões com fallback inteligente.
Tudo isso encontra-se implementado em apps/api/src/lib/payments.
Como funciona na prática
Múltiplos gateways vêm conectados e pré-configurados:
- Asaas (Cartão e PIX)
- Abacate Pay (PIX)
- Woovi (PIX)
- PagueDev (PIX)
A principal classe orquestradora aqui chama-se PaymentGateway. Seu propósito é priorizar quem debita.
- Fallback Automático: Se o provedor Asaas (Sua 1ª prioridade de PIX) falhar devido a instabilidade, nosso SDK instantaneamente passa para o Woovi na mesma requisição, permitindo sempre processar os pedidos dos seus clientes com 100% de uptime do módulo local.
- Métodos Independentes:
createPayment(),transferPix(),getPayment()são métodos agnósticos. Independentemente da plataforma escolhida para pagar, o retorno de sucesso e os webhooks estarão contidos em classes que validam na mesma interface deProviderConfig.
A Estrutura do Código
payment.port.ts: Traz a padronização e os tipos baseTCreatePaymentRequest.payment.ts: O coração do Gateway; mantém a lista depixProviders,cardProviderse regras de fallback e timeout com base nas suas chaves.env.providers/: Implementações de cada Gateway isoladas.
✅ Em resumo: Para você, a lógica de faturamento complexa já está toda finalizada. Os boletos, assinaturas SaaS e os callbacks são gerenciados pelo
billing.controller. Sua única função é definir as chaves de PIX ou cartão de crédito nos guias desta seção!