Visao geral do fluxo
1
Criar sessao de checkout
Seu backend cria uma sessao de checkout via API, informando o produto e o email do cliente.
2
Confirmar com metodo boleto
A sessao e confirmada com
payment_method: 'boleto' e uma due_date (data de vencimento).3
Receber dados do boleto
A Chargefy retorna o codigo de barras, a linha digitavel e a URL do PDF do boleto.
4
Exibir boleto ao cliente
Seu frontend exibe a linha digitavel com botao de copiar e o link para o PDF.
5
Aguardar compensacao
O cliente paga o boleto em qualquer banco, loterica ou app bancario. A compensacao leva de 1 a 3 dias uteis.
6
Receber webhook de confirmacao
Quando o pagamento e compensado, a Chargefy dispara o webhook
checkout.updated para seu endpoint.Pre-requisitos
- Node.js 18+
- Uma conta Chargefy com Supabase JWT
- Pelo menos um produto criado no dashboard
- Um endpoint de webhook configurado para receber eventos de pagamento
- SDK instalado:
.env
Passo 1: Criar sessao de checkout
Crie uma sessao de checkout informando o produto e o email do cliente.Com SDK
Com cURL
id e o client_secret necessarios para confirmar o pagamento.
Passo 2: Confirmar com metodo boleto
Confirme a sessao de checkout escolhendoboleto como metodo de pagamento. O parametro due_date define a data de vencimento do boleto.
Com SDK
Com cURL
Resposta
O campo
amount esta em centavos. O valor 15000 corresponde a R$ 150,00.Passo 3: Obter dados do boleto
A resposta da confirmacao inclui todos os dados necessarios para exibir o boleto ao cliente:Passo 4: Exibir boleto ao cliente
Crie um componente React que exibe a linha digitavel com botao de copiar e o link para o PDF.Uso do componente
Passo 5: Aguardar compensacao do pagamento
Diferente do PIX (instantaneo) e do cartao de credito, o boleto tem compensacao assincrona de 1 a 3 dias uteis. A abordagem recomendada e via webhooks.Configurar webhook
Configure um endpoint de webhook no dashboard da Chargefy para receber os eventos:checkout.updated— status do checkout mudasubscription.active— pagamento confirmado (compensado)
Implementacao do webhook handler
Fluxo de status do checkout com boleto
Passo 6: Tratar vencimento e cancelamento
Boletos vencidos nao podem mais ser pagos. Implemente logica para lidar com essa situacao.Verificar status do checkout
Gerar novo boleto apos vencimento
Quando um boleto vence, crie uma nova sessao de checkout para o mesmo cliente:Exemplo completo
Rota Express para checkout com boleto
src/routes/boleto-checkout.ts
Pagina React completa
src/pages/BoletoCheckoutPage.tsx
Testar com cURL
Boas praticas para data de vencimento
A data de vencimento (due_date) e um dos parametros mais importantes ao gerar um boleto. Escolher mal pode resultar em boletos nao pagos ou cancelados.
Funcao utilitaria para calculo de vencimento
Para um calculo mais preciso em producao, considere integrar uma biblioteca de feriados brasileiros como brasil-feriados para pular feriados nacionais e estaduais.
Testando no sandbox
O ambiente de sandbox da Chargefy permite testar o fluxo completo de boleto sem movimentar dinheiro real.Configurar ambiente sandbox
Simular pagamento de boleto
No sandbox, voce pode simular a compensacao de um boleto via API:checkout.updated, permitindo testar seu handler sem esperar dias.
CPFs de teste
Use estes CPFs no sandbox para diferentes cenarios:Problemas comuns e solucao
Erro: “due_date must be at least 1 business day in the future”
A data de vencimento e hoje ou uma data passada. Use a funcaocalcularVencimentoBoleto() para garantir uma data valida.
Erro: “invalid tax_id format”
O CPF ou CNPJ esta em formato invalido. Aceite ambos os formatos (com e sem pontuacao) e normalize antes de enviar:Boleto gerado mas webhook nao chega
- Verifique se o endpoint de webhook esta configurado no dashboard
- Confirme que seu servidor responde com status
200dentro de 30 segundos - Verifique os logs de entrega em Webhooks > Delivery
- No sandbox, use o endpoint de teste para simular a compensacao
Boleto pago mas status nao atualiza
A compensacao bancaria leva de 1 a 3 dias uteis. Nao e instantanea. Se apos 3 dias uteis o status nao atualizar:- Verifique o status diretamente via API
- Consulte os logs de webhook no dashboard
- Entre em contato com o suporte
Cliente nao consegue pagar o boleto
- Verifique se o boleto nao venceu
- Confirme que a linha digitavel esta completa (sem caracteres cortados)
- Sugira ao cliente baixar o PDF e pagar por leitura de codigo de barras
Proximos passos
Checkout PIX
Guia completo do fluxo de pagamento PIX com confirmacao instantanea.
Webhooks
Documentacao completa de webhooks e todos os eventos disponiveis.
Metodos de Pagamento
Comparativo entre PIX, Cartao e Boleto.
Sandbox
Como testar pagamentos sem cobrar de verdade.

