System Design ( Day - 23 )

Manoj KumarManoj Kumar
3 min read

UPI System design ( Unified payment interface )

It is a real time payment systems developed by National Payments Corporation of India (NPCI), that facilitates instant money transfers between bank accounts via mobile devices, its actually a standard way of doing the transaction between the bank users through mobile, before UPI, different banks are accepting the payment request and responses to the users, like if you want to send the money from HDFC bank to ICIC bank then the HDFC will accept the payment request, in a different way and ICIC will accept the payments in a different way, so before the upi also they have something to do with the transfer, but the UPI simplified everything like it will accept from the user end and interact with the bank and complete the transaction.

UPI Addresses
These are nothing like a Ip address to identify the users, one user can have multiple UPI addresses, like we are purchasing the ip address for our website or something like that, in the same way the UPI address will work it’s for the users to identify the user, that UPI address are linked to the bank accounts which is maintained by the NPCI in their data stores, so that the users do the transaction between the UPI address like users bank accounts.

Authentication Process
Let’s say i’m transferring money from my account to my girlfriends account using mobile number in that mobile number it is linked to the UPI address which is handled by the NPCI, firstly i’ll enter her mobile number and enter the amount that i have to send to her, after that i will enter the UPI pin which is also maintained by NPCI, that UPI pin is generated by me while registering with the UPI, then i’ll process the payment, behind the scenes what will happens means the request will goes to My Bank which is HDFC and the bank will communicate with the NPCI, with the UPI address and UPI pin which is entered by the user, in the NPCI server it will validate the user and pin and then it will generate a secret pin and send it to My bank which is HDFC, and to my girlfriends Bank which is ICIC, that pin is generated by the NPCI with their algorithm to secure the payments, now the both the banks has that pin and request with them,
then what the transaction would be completed, that pin generation by the NPCI would be optional i don’t know exactly but the main thing for the NPCI is to authenticate the users who’s making the payment and who’s receiving the payments mainly the NPCI would do the UPI address to bank account mapping something like that.

Collect Request
Let’s say i’m requesting money from my girlfriends account then what i’ll do means ill go to a payment application and enter my girlfriends number and enter the amount and i’m sending the request to my girlfriends number, behind the scenes first the request will goes to my bank and from bank to NPCI server and authenticates the UPI address, and i NPCI approves then my bank sends the request to my girlfriends bank, after that the notification will comes to her mobile, this notification is another thing, like how to send it?
NPCI know wheres the user is and it will push the notification to the users mobile like if something is there for that user then NPCI would send it to that user as notification. when she clicks that notification she will know how much is the amount to pay and the description for that. if she approves with the UPI pin, then that request will goes to her ICIC bank from that bank bank will send the authentication request to the NPCI server and it will get the receiver address and finally the ICIC bank will send the money to My account which is HDFC bank. w hen the transaction is completed then we both get the notification of successful transaction.

0
Subscribe to my newsletter

Read articles from Manoj Kumar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Manoj Kumar
Manoj Kumar