Design a Payment Processing System for Small Businesses

Last updated: October 30, 2025

Quick Overview

Design a payment system like QuickBooks Payments that handles invoicing, payment collection, and reconciliation for small businesses, supporting credit cards, ACH, and digital wallets.

Intuit
System Design
Software Engineer
Intuit
October 30, 2025
Software Engineer
Onsite - System Design
System Design
Hard

11

3

2,698 solved


Design a payment system like QuickBooks Payments that handles invoicing, payment collection, and reconciliation for small businesses, supporting credit cards, ACH, and digital wallets.

Asked for QuickBooks Payments and fintech platform teams. Interviewers expect deep knowledge of payment flows, PCI compliance, and idempotency patterns.

What the Interviewer Expects
  • Design end-to-end payment flows covering authorization, capture, settlement, and refunds
  • Ensure PCI DSS compliance with proper data handling and tokenization
  • Implement idempotency for all payment operations to prevent double-charging
  • Handle failed payments with intelligent retry logic and customer notifications
  • Support multiple payment methods and automatic reconciliation with bookkeeping
Key Topics to Cover
Payment Processing
PCI Compliance
Idempotency
Settlement
Fraud Detection
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • How do you handle a partial refund when the original payment was split across multiple funding sources?
  • What happens if settlement fails after authorization succeeds?
  • How would you add support for a new payment method (e.g., buy-now-pay-later) to the existing system?
  • How do you prevent fraud while minimizing false positives for legitimate small business transactions?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements

Functional Requirements:

  1. Payment Handling: Support for credit cards, ACH transfers, and digital wallets.
  2. Invoicing System: Ability to generate and send invoices to customers, track p...
Capacity Estimation

Assuming Intuit aims to serve small businesses with a growing user base:

  • User Base: 1 million small businesses.
  • Transactions per Business: Estimate an average of 20 transactions/month.
  • *...

Submit Your Answer
Markdown supported

Related Questions