Por que monitorar
O modelo assíncrono da ClearPago funciona bem em condições normais, mas estados intermediários prolongados, webhooks perdidos e falhas de rede exigem visibilidade ativa. Sem monitoramento, operações presas podem impactar usuários, saldo disponível e relatórios financeiros.O que monitorar
Indicadores de saúde (mínimos)
| Métrica | Sinal de alerta |
|---|---|
Cash-ins em PENDING há mais de X minutos | Possível problema de pagamento ou rede |
Cash-outs em DISPATCHED há mais de Y minutos | BaaS pode estar lento; verificar reconciliação |
Transações em PROVIDER_RESULT_UNKNOWN | Reconciliação ativa; monitorar resolução |
Transações em RECONCILIATION_REQUIRED | Requer ação imediata de suporte |
| Webhooks sem resposta no tempo esperado | Possível problema no seu endpoint ou na entrega |
| Taxa de verificação de assinatura com falha | Possível rotação de chave ou ataque |
TODO: calibrar os valores de X e Y (janelas de alerta) com base na experiência de produção e nos SLAs da plataforma.
Indicadores de ledger
| Métrica | Sinal de alerta |
|---|---|
| Saldo negativo inesperado | Débito sem crédito correspondente; verificar ordem de eventos |
Ausência de lançamento após PAID | Delay de worker; monitorar por alguns minutos |
| Divergência entre soma de webhooks e ledger | Possível evento duplicado ou perdido |
Queries de monitoramento (exemplos)
Cash-ins antigos em PENDING
start_date e end_date para restringir o período e identificar os mais antigos.
Cash-outs em estado ambíguo
Refunds pendentes
Divergências entre webhook e GET
Quando o estado do seu sistema difere do retornado pela API:| Cenário | Causa provável | Ação |
|---|---|---|
GET retorna PAID mas sistema está PENDING | Webhook perdido ou não processado | Atualizar pelo GET; investigar logs do endpoint. |
Webhook PAID mas GET retorna PENDING | Webhook chegou antes da persistência | Aguardar 10–30s e consultar novamente. |
| Webhook e GET discordantes em status terminais | Dois eventos de estados diferentes | Usar o GET como autoritativo; verificar chave de idempotência. |
GET retorna CONFIRMED mas ledger não tem o lançamento | Delay de worker do ledger | Aguardar alguns minutos; consultar ledger novamente. |
GET /.../{id} é sempre mais atual que o último evento de webhook recebido. Em caso de conflito, confie na consulta direta.
Práticas de suporte a incidentes
O que coletar antes de abrir um ticket
idda transação (UUID retornado no201).externalIdque você enviou.X-Correlation-IDdas chamadas relevantes.- Timestamp aproximado da criação e do momento em que o problema foi detectado.
- Status atual retornado pelo
GET. - Payloads de webhooks recebidos (se houver).
- Logs do seu endpoint de webhook para o período.
Escalation path
TODO: confirmar o canal de suporte e SLA de resposta para incidentes de produção. Veja Checklist de produção.
Alertas recomendados
Configure alertas no seu sistema de observabilidade para:- Cash-in em
PENDINGhá mais de 10 minutos após a expiração esperada do QR. - Cash-out em
DISPATCHEDhá mais de 15 minutos. - Qualquer transação em
RECONCILIATION_REQUIRED. - Taxa de erro 5xx no seu endpoint de webhook acima de N%.
- Webhook sem chegada para um cash-in
PAIDhá mais de 5 minutos (se você tiver polling). - Divergência de saldo entre seu sistema e o ledger da ClearPago.

