Pré-requisitos
- Node.js 18+
- Express 4.x ou 5.x
- Uma conta Chargefy com Supabase JWT
- Pelo menos um produto criado no dashboard
Setup do projeto
1. Criar projeto e instalar dependências
2. Configurar TypeScript
tsconfig.json
3. Configurar variáveis de ambiente
.env
4. Criar cliente Chargefy
src/lib/chargefy.ts
Estrutura do projeto
Criar o servidor Express
src/index.ts
A rota de webhooks é registrada antes do
express.json() porque a verificação HMAC requer o body raw (não parseado).Listar produtos
src/routes/products.ts
Criar checkout e processar pagamentos
src/routes/checkout.ts
Confirmar pagamento com PIX
Confirmar pagamento com Cartão de Crédito
Confirmar pagamento com Boleto
Consultar status do checkout
Receber Webhooks
A verificação HMAC garante que o webhook veio da Chargefy e não foi alterado em trânsito.src/routes/webhooks.ts
Gerenciar assinaturas
src/routes/subscriptions.ts
Testar localmente com webhooks
Use ngrok para expor seu servidor local e receber webhooks:https://abc123.ngrok.app) e configure no dashboard da Chargefy como endpoint de webhook:
Testar com curl
Scripts do package.json
package.json
Checklist de produção
1
Trocar para token de produção
Substitua o token de sandbox pelo token de produção no
.env.2
Configurar webhook endpoint
Registre a URL de produção no dashboard da Chargefy.
3
Habilitar HTTPS
Use um proxy reverso (nginx, Caddy) ou plataforma com TLS (Railway, Render, Fly.io).
4
Adicionar rate limiting
Use
express-rate-limit para proteger seus endpoints públicos.5
Processar webhooks com filas
Use BullMQ + Redis para processar eventos de forma assíncrona e resiliente.
6
Monitorar erros
Configure Sentry ou similar para capturar erros em produção.
Próximos passos
Checkout PIX
Guia detalhado do fluxo de pagamento PIX.
Webhooks
Documentação completa de webhooks e eventos.
SDK TypeScript
Referência completa do SDK.
Sandbox
Como testar pagamentos sem cobrar de verdade.

