High-Level Design(HLD) for UPI System Design
A high-level diagram for a UPI system provides an overview of the main components and their interactions. At the top layer, users interact with UPI through mobile applications or web interfaces provided by banks or third-party service providers (e.g., Google Pay, PhonePe). These interfaces connect to the UPI service, a centralized system managed by the National Payments Corporation of India (NPCI).
- The UPI service acts as a switch that handles transaction requests, routing them to the appropriate bank’s backend systems. Each participating bank has its own infrastructure to manage account verification, balance checks, and transaction processing.
- The UPI switch facilitates real-time communication and settlement between the payer’s and payee’s banks. Additionally, the system incorporates security mechanisms, including encryption and authentication, to ensure secure transactions.
- APIs allow third-party apps to integrate UPI functionalities, extending the system’s usability and accessibility. This high-level structure ensures efficient, secure, and seamless inter-bank transactions.
The diagram illustrates the flow of a Unified Payments Interface (UPI) transaction, which is a real-time payment system developed by the National Payments Corporation of India (NPCI). It shows the interaction between various entities involved in a UPI transaction. Here’s a detailed explanation:
1. Entities
- Customer (Payer): The individual initiating the payment.
- Payer (Receiver) PSP: The Payment Service Provider (PSP) of the payer, which facilitates the transaction.
- Remitter/Issuer Bank: The bank of the payer.
- Beneficiary Bank: The bank of the payee.
- Payee (Receiver) PSP: The Payment Service Provider of the payee.
- NPCI UPI Network: The central network that processes UPI transactions.
- VPA Management Service: Service for managing Virtual Payment Addresses (VPAs).
- QR Code Generator/Scanner Service: Service for generating and scanning QR codes for payments.
2. Flow of the Transaction
- VPA Creation:
- The customer creates a Virtual Payment Address (VPA) via their PSP’s mobile app using the VPA Management Service.
- The VPA creation request is sent to the VPA Management Service, and a response is received.
- Initiating Payment:
- The customer can initiate a payment by scanning a QR code using the QR Code Generator/Scanner Service.
- The QR code is scanned, and a response is received to initiate the payment.
- Payment Authorization:
- The customer uses their mobile PSP app to authorize the payment using MPIN (Mobile Personal Identification Number).
- The payer PSP sends a payment request to the NPCI UPI Network
- Processing Payment:
- The NPCI UPI Network sends a debit request to the Remitter/Issuer Bank.
- The Remitter/Issuer Bank responds to the NPCI UPI Network with the bank response.
- The NPCI UPI Network sends a credit request to the Beneficiary Bank.
- The Beneficiary Bank responds to the NPCI UPI Network with the bank response.
- Payee Details Validation:
- The NPCI UPI Network requests payee details from the Payee PSP.
- The Payee PSP validates the details and responds to the NPCI UPI Network.
- Completion of Transaction:
- The NPCI UPI Network sends a payment debit response to the Payer PSP.
- The Payer PSP notifies the customer of the payment debit.
In Conclusion, The customer initiates a payment using their mobile app by either creating a VPA or scanning a QR code. The payer PSP sends a payment request to the NPCI UPI Network. The NPCI UPI Network processes the payment by interacting with the payer’s and payee’s banks. The transaction is completed, and the customer is notified of the payment status.
Designing UPI – System Design
Designing a Unified Payments Interface (UPI) system involves creating an architecture that enables real-time inter-bank transactions through a seamless and secure platform. Key components include user interfaces, a central UPI switch managed by the National Payments Corporation of India (NPCI), backend systems of participating banks, and third-party service providers.
- The system supports core functionalities such as user registration and authentication, payment initiation and authorization, inter-bank transaction processing, and real-time settlement.
- Security measures like encryption and multi-factor authentication ensure compliance and protect against fraud, making UPI a reliable and efficient payment solution.
- The UPI is a real-time payment system that facilitates inter-bank transactions by instantly transferring funds between two bank accounts on a mobile platform.
Important Topics for UPI system design
- Functional Requirements for UPI System Design
- Non-Functional Requirements for UPI System Design
- Capacity Estimation for UPI System Design
- High-Level Design(HLD) for UPI System Design
- Low-Level Diagram(LLD) for UPI System Design
- Microservices Used in UPI System Design
- Scalability for UPI System Design
Contact Us