Skip to main content
O PIX é o método de pagamento instantâneo mais popular do Brasil, com confirmação em segundos e disponibilidade 24/7. Este guia mostra como implementar o fluxo completo de checkout PIX na Chargefy, do backend ao frontend.

Visão geral do fluxo

O pagamento PIX na Chargefy segue este fluxo:
1

Criar sessão de checkout

Seu backend cria uma sessão de checkout via API ou SDK.
2

Confirmar com PIX

O checkout é confirmado com paymentMethod: 'pix', gerando um QR Code.
3

Exibir QR Code

Seu frontend exibe o QR Code e o código copia e cola para o cliente.
4

Cliente paga

O cliente escaneia o QR Code ou cola o código no app do banco.
5

Confirmação instantânea

A Chargefy recebe a confirmação do pagamento e notifica via webhook. Seu frontend pode fazer polling para atualizar a tela.

Pré-requisitos

src/lib/chargefy.ts

Passo 1: Criar sessão de checkout

Crie uma sessão de checkout associada ao produto/preço desejado.
Resposta:
O campo amount usa centavos. O valor 9990 equivale a R$ 99,90.

Passo 2: Confirmar checkout com PIX

Com o clientSecret em mãos, confirme o checkout especificando PIX como método de pagamento.
Resposta:
O QR Code PIX tem prazo de validade (geralmente 30 minutos). Após expirar, o checkout precisa ser confirmado novamente para gerar um novo QR Code.

Passo 3: Exibir QR Code para o cliente

No frontend, exiba o QR Code e o código copia e cola. Aqui esta um componente React completo:
components/PixPayment.tsx

Passo 4: Aguardar confirmação do pagamento

Existem duas abordagens para saber quando o pagamento foi confirmado: webhook (recomendado) e polling.

Abordagem 1: Webhook (recomendado)

Configure um endpoint de webhook para receber a notificacao da Chargefy quando o pagamento PIX for confirmado.
src/routes/webhooks-pix.ts
Responda ao webhook com status 200 o mais rapido possivel. Processe logica pesada (emails, integracoes) de forma assincrona usando filas como BullMQ.

Abordagem 2: Polling

Se voce nao pode configurar webhooks, use polling para verificar o status periodicamente.
src/routes/checkout-status.ts
Polling no frontend
O polling consome mais recursos do que webhooks. Em producao, sempre prefira webhooks como mecanismo principal de confirmacao e use polling apenas como fallback no frontend para atualizar a interface do usuario.

Passo 5: Tratar sucesso e falha

Pagamento confirmado (sucesso)

PIX expirado

Erros na criacao do PIX

Exemplo completo

Backend (Express)

src/index.ts

Frontend (React)

src/App.tsx

Testar com curl

Testando no sandbox

O ambiente sandbox da Chargefy permite testar o fluxo completo de PIX sem movimentar dinheiro real.
1

Configurar modo sandbox

Use o token de sandbox e configure o cliente:
2

Criar pagamento PIX normalmente

O fluxo e identico ao de producao. O QR Code gerado sera de teste.
3

Simular pagamento

No sandbox, use a API de simulacao para confirmar o pagamento:
4

Verificar webhook

O webhook checkout.updated sera disparado normalmente no sandbox.
No sandbox, o PIX e confirmado instantaneamente apos a simulacao. Em producao, a confirmacao depende do processamento do Banco Central, normalmente levando de 5 a 30 segundos.

Troubleshooting

QR Code nao aparece

Pagamento nao e confirmado

Erros comuns da API

PIX expirado antes do pagamento

Proximos passos

Webhooks

Configure webhooks para receber notificacoes em tempo real.

Sandbox

Teste pagamentos sem movimentar dinheiro real.

SDK TypeScript

Referencia completa do SDK.

Guia Express

Integracao completa com Express/Node.js.