Payment Reliability Lab

Payment Reliability Lab

Details

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

What breaks in a payment flow, and how a system survives it.

An interactive simulator of what goes wrong in a payment flow: timeouts, duplicate and out-of-order webhooks, acquirer outages. You inject the faults and watch retries, idempotency, failover and reconciliation respond.

Designed the event-sourced state model, the fault injection and the property-based test suite.

Key Achievements

  • Payment state derived from an append-only event log and a single transition table, checked by both the orchestrator and the reducer
  • Idempotency in both directions: per-acquirer idempotency keys on outgoing calls and event-id deduplication of incoming webhooks
  • HMAC-SHA256 webhook signatures verified with a constant-time comparison
  • Property-based tests (fast-check) showing that state never regresses and redeliveries don't change the outcome
My Projects