System Design - Payment System / Wallet system / Payment gateway

Design your own Payment Gateway / Payment wallet / Payment ecosystem [ even you can assume you are the Bank but not mandatory ]
There can be many aspects and variations of payment systems. A Payment System is very broad , you can play a role of gateway/3rd Party/ provider/merchant...etc. Cook up your requirements and choose your approach

Note:

Choose your role and MVP. Drag to your conclusive system design. Your design should be Technical ( not on UI ) and around following topics :
a. Functional Requirements(in short) - description of the service , activities each user role can perform , features the system supports
b. Non-Functional Requirements (in short) - Performance / Availability / Scalability / Security Encoding / Maintainability / Extensibility
c. Any Extended Requirements you can think of is essential(in short) - Double spend / transaction timeout / Fraud detection
d. Design consideration -
Iimpose size limit on any data ?
Read and Write volumes and based on latency throughput , any trade-off you might choose to build your system
Authentication models best fitting your system and why ? How your system prevents anti-money laundering ?
e. Capaity , Traffic & Storage Estimation
f. Exposed and Internal APIs + Parameters
g. Entities & their attributes - e.g User: userId, name, email, address, dob, creationDate, lastLogin, etc.
h. Database Schema + description of essential relationship
i. Choice of your storage and tradeoffs - Metadata storage / File Storage / Cloud Storage, Transient Data Storage, Object Storage
j. Any special Data Structure or Algorithm needed for any specific purpose ?
k. Any specific service we need as a - BackGround/Off-line/Pipeline Services for Synchronization OR Message-durability-scalability-delivery
l. Component Interaction diagram
m. Data Partitioning , Sharding, Replication - Range Based / Hash Based / or any custom key scheme
n. Pull/Push/Hybrid the Notification
o. what you would Cache ? Justify your caching strategy ?
p. Reason you choices for Encodings , Permissions and Securing your aplication - Double spend / transaction timeout / Fraud detection

Related blogs / topics / architecture diagrams are enncouraged

Comments (7)