
Payment Reliability Lab
O que quebra num fluxo de pagamento, e como um sistema sobrevive a isso.
Um simulador interativo do que dá errado num fluxo de pagamento: timeouts, webhooks duplicados e fora de ordem, quedas de adquirente. Você injeta as falhas e vê retries, idempotência, failover e reconciliação reagirem.
Projetei o modelo de estado orientado a eventos, a injeção de falhas e a suíte de testes baseados em propriedades.
Destaques
- Estado do pagamento derivado de um log de eventos append-only e de uma única tabela de transições, verificada pelo orquestrador e pelo reducer
- Idempotência nos dois sentidos: chaves de idempotência por adquirente nas chamadas de saída e deduplicação de webhooks pelo id do evento
- Assinaturas HMAC-SHA256 dos webhooks verificadas com comparação em tempo constante
- Testes baseados em propriedades (fast-check) mostrando que o estado nunca regride e que reentregas não mudam o resultado
