postbackUrl ao criar um saque através da API:{
"pixkeytype": "CPF",
"pixkey": "99999999999",
"requestedamount": 254,
"description": "Saque via API",
"isPix": true,
"postbackUrl": "https://seu-dominio.com/webhook/withdrawals"
}| Evento | Descrição | Quando é enviado |
|---|---|---|
withdrawal.created | Saque criado com sucesso | Imediatamente após criação bem-sucedida |
withdrawal.status_changed | Status do saque foi alterado | Quando há mudança de status (ex: pending → approved) |
withdrawal.completed | Saque foi concluído | Quando o saque é finalizado com sucesso |
withdrawal.failed | Saque falhou | Quando o saque falha ou é cancelado |
withdrawal.created - Status: pendingwithdrawal.status_changed - Status: approvedwithdrawal.status_changed - Status: processingwithdrawal.completed - Status: done| Status | Descrição | Evento Típico |
|---|---|---|
pending | Aguardando aprovação manual | withdrawal.created |
approved | Aprovado para processamento | withdrawal.status_changed |
processing | Em processamento pelo BaaS | withdrawal.status_changed |
done | Concluído automaticamente | withdrawal.completed |
done_manual | Concluído manualmente | withdrawal.completed |
failed | Falhou durante processamento | withdrawal.failed |
refused | Recusado na aprovação | withdrawal.failed |
cancelled | Cancelado pelo sistema | withdrawal.failed |
pending → approved → processing → done
pending → refused
approved → failed
processing → failed
pending → cancelled{
"event": "withdrawal.created",
"timestamp": "2025-07-10T17:40:27.373Z",
"withdrawal": {
// Dados completos do saque
},
"metadata": {
"source": "withdrawals_service",
"version": "1.0.0"
}
}{
"id": "756d4eec-9a22-44b0-a514-a27c366c5433",
"company_id": "5e1ce642-b9f1-433c-a350-5f9cd3d16bf6",
"requested_amount": 2.54,
"currency": "BRL",
"status": "pending",
"created_at": "2025-07-10T14:40:26.270543",
"updated_at": "2025-07-10T14:40:26.270543",
"paid_at": null,
"pix": {
"key_type": "CPF",
"key_value": "99999999999",
"end_to_end_id": null
},
"fee": 0,
"net_amount": 2.54,
"error_message": null
}{
"event": "withdrawal.created",
"timestamp": "2025-07-10T17:40:27.373Z",
"withdrawal": {
"id": "756d4eec-9a22-44b0-a514-a27c366c5433",
"company_id": "5e1ce642-b9f1-433c-a350-5f9cd3d16bf6",
"requested_amount": 2.54,
"currency": "BRL",
"status": "pending",
"created_at": "2025-07-10T14:40:26.270543",
"updated_at": "2025-07-10T14:40:26.270543",
"paid_at": null,
"pix": {
"key_type": "CPF",
"key_value": "99999999999",
"end_to_end_id": null
},
"fee": 0,
"net_amount": 2.54,
"error_message": null
},
"metadata": {
"source": "withdrawals_service",
"version": "1.0.0"
}
}{
"event": "withdrawal.status_changed",
"timestamp": "2025-07-10T17:45:12.123Z",
"withdrawal": {
"id": "756d4eec-9a22-44b0-a514-a27c366c5433",
"company_id": "5e1ce642-b9f1-433c-a350-5f9cd3d16bf6",
"requested_amount": 2.54,
"currency": "BRL",
"status": "approved",
"created_at": "2025-07-10T14:40:26.270543",
"updated_at": "2025-07-10T17:45:12.100000",
"paid_at": null,
"pix": {
"key_type": "CPF",
"key_value": "99999999999",
"end_to_end_id": null
},
"fee": 0,
"net_amount": 2.54,
"error_message": null
},
"metadata": {
"source": "withdrawals_service",
"version": "1.0.0"
}
}{
"event": "withdrawal.completed",
"timestamp": "2025-07-10T18:15:45.456Z",
"withdrawal": {
"id": "756d4eec-9a22-44b0-a514-a27c366c5433",
"company_id": "5e1ce642-b9f1-433c-a350-5f9cd3d16bf6",
"requested_amount": 2.54,
"currency": "BRL",
"status": "done",
"created_at": "2025-07-10T14:40:26.270543",
"updated_at": "2025-07-10T18:15:45.400000",
"paid_at": "2025-07-10T18:15:45.400000",
"pix": {
"key_type": "CPF",
"key_value": "99999999999",
"end_to_end_id": "E1234567890123456789012345678901"
},
"fee": 0,
"net_amount": 2.54,
"error_message": null
},
"metadata": {
"source": "withdrawals_service",
"version": "1.0.0"
}
}{
"event": "withdrawal.failed",
"timestamp": "2025-07-10T18:20:30.789Z",
"withdrawal": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"company_id": "5e1ce642-b9f1-433c-a350-5f9cd3d16bf6",
"requested_amount": 100.0,
"currency": "BRL",
"status": "failed",
"created_at": "2025-07-10T18:10:15.123456",
"updated_at": "2025-07-10T18:20:30.750000",
"paid_at": null,
"pix": {
"key_type": "EMAIL",
"key_value": "usuario@exemplo.com",
"end_to_end_id": null
},
"fee": 2.5,
"net_amount": 97.5,
"error_message": "Chave PIX não encontrada no sistema do banco"
},
"metadata": {
"source": "withdrawals_service",
"version": "1.0.0"
}
}Tentativa 1: Imediato
↓ (falha)
Tentativa 2: +1 minuto
↓ (falha)
Tentativa 3: +5 minutos
↓ (falha)
Tentativa 4: +15 minutos
↓ (falha)
Webhook descartado| Problema | Causa | Solução |
|---|---|---|
| Webhooks não chegam | URL inacessível | Verificar se URL responde e usa HTTPS |
| Múltiplos retries | Não responde 200 | Sempre responder com status 200 |
| Payloads duplicados | Processamento lento | Implementar idempotência usando withdrawal.id |
| Timeout | Processamento > 30s | Processar de forma assíncrona |