System Design: UPI (Unified Payment Interface)
Tags: systemdesign, upi, npci
Published: 2023-04-23 15:38:37

## Introduction

In recent years, the Unified Payments Interface (UPI) has emerged as a popular digital payments system in India. UPI was launched by the National Payments Corporation of India (NPCI) in 2016, with the aim of providing a simplified, safe, and instant payment platform for Indian consumers and businesses. In this article, we will discuss the design of the UPI system, and how it has contributed to the growth of digital payments in India. UPI is build on the top of Immediate Payment Service (IMPS) but it removes all the hassel of adding a new account with the help of QR code.

## What is NPCI
The National Payments Corporation of India (NPCI) is a not-for-profit organization established in 2008, under the guidance and support of the Reserve Bank of India (RBI) and Indian Banks Association (IBA). The NPCI is responsible for creating and managing digital payment systems in India, with the objective of promoting financial inclusion and cashless transactions. The NPCI has developed various payment systems such as Immediate Payment Service (IMPS), National Electronic Funds Transfer (NEFT), and RuPay, which have been widely adopted by Indian consumers and businesses.

## What is UPI
UPI is a real-time payment system that allows users to instantly transfer funds between bank accounts using a mobile device. The system enables consumers to make peer-to-peer (P2P) transfers, pay merchants, and make utility bill payments, among other transactions. UPI is built on top of the Immediate Payment Service (IMPS) infrastructure, which facilitates interbank transactions. The UPI system also uses the National Financial Switch (NFS), which is an interbank ATM network that enables real-time payments.

## System Design
The design of the UPI system is based on a two-factor authentication mechanism, which ensures the security of transactions. The first factor is the user’s mobile number, which is linked to their bank account. The second factor is a unique UPI ID, which is created by the user and is used to identify their bank account. The UPI ID is a virtual payment address (VPA), which is in the form of an email address or phone number. For example, if a user’s mobile number is 1234567890 and they create a UPI ID called “john@upi”, their VPA would be “1234567890@upi”.

### How VPA is created

![UPA Creation Process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sawvlcqkz0bl3d3ud971.png)

NPCI server maintains all the VPA address mapped to corresponding bank details. This is to done to facilitate the UPI based transactions. 

#### Steps to create VPA

- Download a UPI enabled mobile banking app from your bank or a third-party UPI app eg. gpay, phonepe, paytm.
- Register your mobile number with the app and create a new account or link your existing bank account.
- Select the option to create a UPI VPA or Virtual Payment Address in the app.
- Choose a unique username or alias for your VPA, such as your name or a combination of letters and numbers.
- Verify your identity by entering your debit card details, if required.
- Your UPI VPA will be generated, which will look something like this: yourname@bankname or a unique ID provided by the third-party UPI app.


### How to UPI works

To use the UPI system, users need to download a UPI-enabled mobile app from their bank or a third-party app provider. Once they have installed the app and registered their mobile number, they can link their bank account and create a UPI ID. To make a payment, the user needs to enter the recipient’s UPI ID or scan the QR code (QR code has VPA inside it), enter the amount to be transferred, and authorize the transaction using their mobile device. The recipient will receive the payment instantly, and the amount will be credited to their bank account.

![Money Transfer Process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zsrfwiwvzof1tzkq74zf.png)

In above image, we can see that when UPI user initiate the transaction then it send the request to sender bank with recipient VPA. Sender bank fetches the details from VPA and send the money to recipient's bank account by IMPS or NFS.

The UPI system has several advantages over traditional payment systems such as cash, cheques, and credit/debit cards. Firstly, it is a real-time payment system that enables instant transfers between bank accounts, without the need for any physical infrastructure. Secondly, the UPI system is highly secure, as it uses a two-factor authentication mechanism to authenticate users. Thirdly, the UPI system is highly convenient, as it allows users to make payments using their mobile devices, without the need for any additional hardware.


## Conclusion
In conclusion, the Unified Payments Interface (UPI) system is a revolutionary payment platform that has transformed the way Indians make digital payments. The UPI system, which is built on top of the IMPS infrastructure, allows users to instantly transfer funds between bank accounts using a mobile device. The system is highly secure, convenient, and user-friendly, and has contributed significantly to the growth of digital payments in India. The UPI system has the potential to revolutionize the way payments are made in other countries, and could pave the way for a cashless future.