Documentation Index
Fetch the complete documentation index at: https://docs.flarepayments.com/llms.txt
Use this file to discover all available pages before exploring further.
charge.paid
Disparado quando um pagamento PIX é confirmado.
{
"event": "charge.paid",
"data": {
"id": "ch_flare_dc7dc11b7f984d2886d2b429",
"object": "charge",
"amount": 10.00,
"amount_cents": 1000,
"status": "paid",
"description": "Pedido #1234",
"customer": {
"name": "João Silva",
"email": "joao@email.com"
},
"paid_at": "2026-03-05T18:16:22.000Z",
"created_at": "2026-03-05T18:14:48.552Z"
}
}
charge.expired
Disparado quando uma cobrança expira sem ter sido paga.
{
"event": "charge.expired",
"data": {
"id": "ch_flare_dc7dc11b7f984d2886d2b429",
"object": "charge",
"amount": 10.00,
"status": "expired",
"expires_at": "2026-03-05T19:14:48.549Z"
}
}
charge.failed
Disparado quando há um erro no processamento de uma cobrança.
{
"event": "charge.failed",
"data": {
"id": "ch_flare_dc7dc11b7f984d2886d2b429",
"object": "charge",
"amount": 10.00,
"status": "failed"
}
}
transfer.completed
Disparado quando um saque é processado com sucesso.
{
"event": "transfer.completed",
"data": {
"id": "wd_flare_a1b2c3d4e5f6a7b8c9d0e1f2",
"object": "withdrawal",
"amount": 100.00,
"fee": 1.90,
"net_amount": 98.10,
"status": "paid"
}
}
transfer.failed
Disparado quando um saque falha.
{
"event": "transfer.failed",
"data": {
"id": "wd_flare_a1b2c3d4e5f6a7b8c9d0e1f2",
"object": "withdrawal",
"amount": 100.00,
"status": "failed",
"error": "Chave PIX inválida"
}
}
Handler Completo
Exemplo de como tratar todos os eventos em um único handler:
app.post('/webhooks/flare', express.json(), (req, res) => {
res.json({ received: true });
const { event, data } = req.body;
switch (event) {
case 'charge.paid':
// Liberar produto/serviço
liberarPedido(data.id, data.amount);
break;
case 'charge.expired':
// Notificar cliente, cancelar reserva
cancelarPedido(data.id);
break;
case 'charge.failed':
// Log e notificação interna
logFalha(data.id);
break;
case 'transfer.completed':
// Confirmar saque no dashboard interno
confirmarSaque(data.id, data.net_amount);
break;
case 'transfer.failed':
// Notificar equipe financeira
notificarFalhaSaque(data.id, data.error);
break;
default:
console.log(`Evento desconhecido: ${event}`);
}
});