How does UPI works ?

aditya goel
4 min readFeb 21, 2023

Question:- What is UPI ?

Answer → UPI is a real-time payment system, developed by NPCI, which allows following types of payments :-

  • Peer to Peer payments.
  • Peer to Merchant payments.

We can send and receive money 24*7, throughout the year.

Question:- Can we use any Bank with UPI ?

Answer → Yes, With UPI, we can use any one Mobile Application, to make transactions from various Banks without any hassle.

Question:- What happens, when someone enters the PIN in UPI app and hit pay button ?

Answer → There are multiple entities involved in every single transaction :-

  • Payer Payment Service Provider.
  • Receiver Payment Service Provider.
  • Remitter Bank.
  • Beneficiary Bank.
  • National Payments Corporation Of India.
  • Merchants or Peers.

Question:- What are the major building blocks of the UPI ?

Answer → There are multiple building blocks of the UPI :-

Block #1.) Payment Address → It is used to uniquely identify a person’s account details. The translation of this Payment-Address to the Bank-Account happens at the NPCI level. Following are various examples of the Payment-Address :-

Block #2.) Authentication → It is a important security procedure. There can be following types of authentication :- PIN Based and OTP Based. In UPI-App, we usually makes use of PIN-Based authentication.

Block #3.) Authorization → These days both AuthZ and AuthN goes hand in hand and follow the same flow by adopting a third party authentication tool.

Question:- What is the advantage of Token-less payments option ?

Answer → Using a Token-less Payments Scheme, Banks can actually reduce the overall issuance cost.

Question:- How does the overall architecture of the UPI looks like ?

Answer → Here is how the architecture of UPI looks like :-

Layer #1.) At the very top layer, we have the Mobile-Applications and Third-Party-Applications. These are basically PayTm, PhonePe, Airtel-Payments-Bank-App, GooglePay, etc. All of these Apps have their respective Standard Interfaces.

Layer #2.) These applications are in-turn connected to the Bank-Accounts.

  • Note that, in case no bank-account is connected to your hand-held device-applications like GooglePay, then that app is useless and no payments can be done through it.
  • In the very beginning, Once we enter our details in these applications like GooglePay, it has to validate that, if it is your account, through the Banks. For doing the same, there is a Bank-Connection.

Note that, Layer-1 and Layer-2 put together are also known as Payment Service Providers.

Layer #3.) The Standard Interface of the Banks-App, is in-turn connected to the UPI i.e. Unified Payments Interface. This UPI has it’s own central repository, where all of the details are stored :-

  • Bank-Account-Details.
  • Name and Personal-Details.

Whenever any transaction happens, the details are being taken from this Central-Repository, to validate if the details provided are correct OR Not ?

Question:- How does the 3rd Party Payment-Apps integrate with UPI ?

Answer → In order to connect to UPI, we make use of APIs. These APIs are provided by the NPCI itself, which are used by these Payment Gateway Companies.

Question:- How does the Sequence Diagram looks with UPI Transaction ?

Answer → Here is how the Sequence Diagram looks like :- Imaging that, we wanted to send some money to our Friend.

Step #1.) We first enter the UPI-Address and Amount. We now enter the PIN and hit the Pay button.

Step #2.) Next, the Bank details are being requested by the UPI Network and it shall be retrieved from the PSP, where the bank-details are stored.

Step #3.) With the Bank-Details being available, the NPCI now sends the Debit-Request, which shall then be authenticated (Step no. 10 in the picture below) and then we receive the Debit-Response.

Step #4.) The Payee-Bank receives the Credit-Request, after which we get the Paid-Response.

That’s all in this blog. If you liked reading it, do clap on this. We shall meet you in next document.



aditya goel

Software Engineer for Big Data distributed systems