Design Payment Processing with Idempotency and Reconciliation
Company: Robinhood
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Overview: Design a payment-processing service that accepts payment requests, sends them to an external provider, and records each outcome durably. The question tests idempotent handling of client retries, payment state transitions, provider timeouts and webhooks, reconciliation of uncertain results, and scaling the service safely.