Design a payment system with retries and multiple payment methods

Problem

Design a payment system supporting multiple payment methods, durable execution, and retries, covering both high-level and low-level design.

Requirements

  • Multiple payment methods
  • Explicit payment states and transitions
  • Durable execution with safe retries

Discussion points

  • HLD components mapped directly onto LLD entities
  • Strategy pattern for state and payment-method handling
  • Ensuring retries do not double-charge (idempotency keys)
asked …
LeaderboardSalaryAccount