OxusAPI

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
Cada etapa é um evento persistido. Se algo falha, o evento volta para a fila.

Como funciona

  1. Persistir antes de confirmar. Cada etapa é gravada e publicada antes de ser confirmada. Se um processo cai no meio, a etapa é refeita.
  2. Filas replicadas. As mensagens são replicadas entre zonas de disponibilidade.
  3. 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.
  4. Dead-letter queue. Um evento que não pode ser processado é preservado, o time é alertado e o reprocessamento parte do ponto da falha.
  5. Processamento idempotente. Processar o mesmo evento duas vezes dá o mesmo resultado.
  6. Reconciliação. Rotinas periódicas comparam cada transferência pendente com o estado no provedor.
  7. Deploy sem interrupção. Instâncias terminam o trabalho em andamento e devolvem à fila o que não concluíram.

O que isso garante

GarantiaComo
Toda transferência tem desfechoTermina em COMPLETED, REFUNDED, EXPIRED ou CANCELLED
Nenhum pagamento em dobroIdempotency-Key na entrada e processamento idempotente
Falha não deixa dinheiro paradoFAILED, depois REFUNDING e REFUNDED, sem ação do parceiro
O parceiro sabe de tudoWebhook assinado a cada mudança, com retentativas
Instabilidade de um provedor não para o produtoO 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.

Nesta página