O que é reconciliação
Reconciliação é o processo de resolver estados inconclusivos de transações consultando o BaaS diretamente. Ela ocorre de forma automática pela plataforma em estados comoPROVIDER_RESULT_UNKNOWN e RECONCILIATION_REQUIRED, mas também é relevante para o integrador no monitoramento operacional.
Quando a reconciliação é necessária
| Situação | Causa |
|---|---|
PROVIDER_RESULT_UNKNOWN | Resposta ambígua do BaaS (timeout, 5xx, EOF) na chamada de despacho. |
RECONCILIATION_REQUIRED | Tentativas automáticas esgotadas sem resultado claro. |
| Webhook não recebido | Entrega falhou; o estado real pode ser diferente do que você persistiu. |
Divergência entre webhook e GET | Reentrega antiga ou processamento fora de ordem. |
O que fazer em cada situação
1. Status PROVIDER_RESULT_UNKNOWN
A plataforma está consultando o BaaS periodicamente. Não aja antes do resultado.
- Se transicionar para
CONFIRMED: processe como sucesso. - Se transicionar para
FAILED: processe como falha; reserva foi liberada. - Se permanecer por mais de 10–15 minutos: acione suporte.
2. Status RECONCILIATION_REQUIRED
As tentativas automáticas foram esgotadas. Ação humana ou escalonamento é necessário.
- Acione o canal de suporte com o
idda transação e oX-Correlation-ID. - Não conclua a operação (pago/falhou) no seu sistema até resolução.
- Guarde o estado como “em análise” internamente.
3. Webhook não recebido no tempo esperado
Após o tempo máximo esperado (ex.: 5–10 minutos para cash-in), consulte diretamente:- Se
PAID: o pagamento foi confirmado mesmo sem webhook; processe localmente. - Se
PENDING: ainda aguardando; defina um novo timeout e monitore. - Se
EXPIREDouFAILED: encerre o fluxo conforme a regra de negócio.
4. Divergência entre webhook e GET
Pode ocorrer quando um webhook atrasado chega com um status “anterior” ao que já está na base. Regra: o estado obtido viaGET /.../{id} é autoritativo. Atualize conforme o GET e descarte transições para estados “anteriores”.
Fluxo de monitoramento operacional
Para manter a saúde da integração:Boas práticas
- Defina timeouts por tipo de operação. Cash-in costuma ser mais rápido que cash-out; calibre os tempos de espera.
- Use
X-Correlation-ID. Em escalonamento de suporte, o correlation ID facilita a busca nos logs da plataforma. - Monitore a lista de transações
GET /api/pix/cash-in?status=PENDING&start_date=...para identificar transações antigas sem resolução. - Não reenvie cash-out automaticamente sem confirmar que o anterior foi
FAILED— risco de duplicidade financeira. - Registre todos os estados intermediários na sua base para auditoria.

