Skip to main content
Este guia mostra como integrar a Chargefy em um backend Express/Node.js, incluindo criação de checkouts, processamento de pagamentos e recebimento de webhooks.

Pré-requisitos

Setup do projeto

1. Criar projeto e instalar dependências

2. Configurar TypeScript

tsconfig.json

3. Configurar variáveis de ambiente

.env
Nunca commite o arquivo .env no repositório. Adicione-o ao .gitignore.

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

Em produção, nunca trafegue dados de cartão pelo seu servidor sem certificação PCI-DSS. Use o Checkout Embed ou a tokenização client-side via Chargefy.js para enviar apenas o card_id tokenizado.

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
Responda ao webhook com status 200 o mais rápido possível. Processe lógica pesada (emails, integrações) de forma assíncrona usando filas como BullMQ.

Gerenciar assinaturas

src/routes/subscriptions.ts

Testar localmente com webhooks

Use ngrok para expor seu servidor local e receber webhooks:
Copie a URL gerada pelo ngrok (ex: 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.