Payment Reliability Lab

Payment Reliability Lab

Detalhes

  • TypeScript
  • Next.js
  • React
  • Vitest
  • fast-check
  • Playwright

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
My Projects