A resposta direta
Toda dependency crítica precisa de failure contract: inicia new payment, lê state, processa callback, recupera como? Depende de duplicate risk e business impact.
Quando a abordagem atual é suficiente
Direct provider pode ter outage model mais simples. Com um provider e zero tolerância a intermediary failure, direct pode ser melhor.
Onde a pressão começa
Sem degraded design teams improvisam retries/bypasses. Timeout não prova que money não se moveu.
O que muda com uma camada de infraestrutura
Durable idempotency, provider recovery, queues, circuit breakers e clear states permitem continuidade; alguns flows podem ter emergency direct path.
O trade-off
Fallback paths adicionam complexity e podem ser untested shadow systems. Nem sempre são melhores que short outage.
Como decidir
Defina RPO, RTO e financial correctness por flow; simule falhas e escolha availability vs certainty.
Quando Zopio se encaixa
Zopio se encaixa somente se customer aceita seu papel no failure model e testa degraded behavior.
Um próximo passo prático
Execute game days e verifique messaging, state, provider lookup, reconciliation e recovery.
Defina unavailable behavior antes de production.
Financial correctness pode superar availability.
Teste fallback como primary.
