Design a Cross-Border Money Transfer Service
Company: PayPal
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Design a cross-border money transfer service similar to a consumer remittance product. Users in one country should be able to send money to recipients in another country. The system must provide near-real-time exchange-rate quotes, calculate fees, enforce country-specific transfer restrictions and user-level limits, support funding through methods such as bank accounts, cards, or wallet balance, support payout through local banks, wallets, or cash pickup partners, track transfer status, handle failures and refunds, and notify users about important state changes. Discuss APIs, core services, data model, transaction workflow, exchange-rate handling, compliance checks, consistency, idempotency, scalability, reliability, and observability.
Quick Answer: This question evaluates proficiency in designing distributed, fault-tolerant payment systems with competencies in payments flows, exchange-rate management, compliance and regulatory constraints, transactional integrity, idempotency, scalability, reliability, and observability.