Confiabilidade
Nada se perde. Cada etapa é persistida, repetida em caso de falha e reconciliada.
Um pagamento internacional passa por vários sistemas, e qualquer um pode ficar instável. A plataforma é orientada a eventos para que isso atrase um pagamento, mas nunca o perca nem o duplique.
Caminho normal
Requisição aceita
Validada e gravada
Evento publicado
Fila replicada
Processado
De forma idempotente
Webhook
Assinado, ao parceiro
Falha temporária
Nova tentativa
1s2s4s8s16s30s…
Falha persistente
Dead-letter queue
Evento preservado
Alerta e reprocessamento
Do ponto da falha
Rede de segurança
Reconciliação
Confere cada provedor
Expiração e reembolso
Nada fica parado
Como funciona
- Persistir antes de confirmar. Cada etapa é gravada e publicada antes de ser confirmada. Se um processo cai no meio, a etapa é refeita.
- Filas replicadas. As mensagens são replicadas entre zonas de disponibilidade.
- Nova tentativa automática. Em falha temporária, o evento volta para a fila com espera crescente: 1 s, 2 s, 4 s, 8 s, 16 s e depois a cada 30 s.
- Dead-letter queue. Um evento que não pode ser processado é preservado, o time é alertado e o reprocessamento parte do ponto da falha.
- Processamento idempotente. Processar o mesmo evento duas vezes dá o mesmo resultado.
- Reconciliação. Rotinas periódicas comparam cada transferência pendente com o estado no provedor.
- Deploy sem interrupção. Instâncias terminam o trabalho em andamento e devolvem à fila o que não concluíram.
O que isso garante
| Garantia | Como |
|---|---|
| Toda transferência tem desfecho | Termina em COMPLETED, REFUNDED, EXPIRED ou CANCELLED |
| Nenhum pagamento em dobro | Idempotency-Key na entrada e processamento idempotente |
| Falha não deixa dinheiro parado | FAILED, depois REFUNDING e REFUNDED, sem ação do parceiro |
| O parceiro sabe de tudo | Webhook assinado a cada mudança, com retentativas |
| Instabilidade de um provedor não para o produto | O roteamento segue pelas outras rotas |
Rastreabilidade
- Toda resposta traz
X-Request-Id. O mesmo ID acompanha a operação por todos os sistemas internos, com tracing distribuído (OpenTelemetry). - Logs estruturados, sem dados sensíveis.
- Cada etapa concluída traz
reference: E2E do PIX, trace do ACH ou hash on-chain.