Files
system-design-101/data/guides/unified-payments-interface-upi-in-india.md
Kamran Ahmed ee4b7305a2 Adds ByteByteGo guides and links (#106)
This PR adds all the guides from [Visual
Guides](https://bytebytego.com/guides/) section on bytebytego to the
repository with proper links.

- [x] Markdown files for guides and categories are placed inside
`data/guides` and `data/categories`
- [x] Guide links in readme are auto-generated using
`scripts/readme.ts`. Everytime you run the script `npm run
update-readme`, it reads the categories and guides from the above
mentioned folders, generate production links for guides and categories
and populate the table of content in the readme. This ensures that any
future guides and categories will automatically get added to the readme.
- [x] Sorting inside the readme matches the actual category and guides
sorting on production
2025-03-31 22:16:44 -07:00

2.0 KiB
Raw Permalink Blame History

title, description, image, createdAt, draft, categories, tags
title description image createdAt draft categories tags
Unified Payments Interface (UPI) Explore the architecture and workings of India's UPI payment system. https://assets.bytebytego.com/diagrams/0400-upi-2.png 2024-03-04 false
payment-and-fintech
Fintech
UPI

The Unified Payments Interface (UPI) for real-time transactions in India is a good case study for other nations in the payment space.

Whats UPI?

UPI is an instant real-time payment system developed by the National Payments Corporation of India.

It accounts for 60% of digital retail transactions in India today and is still growing.

UPI = payment markup language + standard for interoperable payments

Let's take a look at how it works.

Registration

  • Bob wants to open an account and provides his phone number +91 12345678

  • Bob performs OTP (One-Time Password) phone verification

  • Bob sets up VPA (Virtual Payment Address) bobaxis

  • Bobs payment app creates VPA with the acquiring bank

  • The acquiring bank returns with VPA

  • The payment app returns VPA to Bob

  • Bob wants to link his SBI bank account with VPA bob at the axis. The request is forwarded to NPCI (National Payments Corporation of India).

  • NPCI acts as a switch between acquiring banks and issuing banks. It resolves the account detail from VPA with different issuing banks.

  • Bob authenticates with account details and sets the PIN, which is used for 2FA. This goes all the way to the issuing bank.

Direct payment

  1. Alice enters Bobs UPI ID bob and the amount INR 100

  2. PhonePe verifies and forwards the request to NPCI via ICICI bank

  3. NPCI requests Axis Bank to resolve detail for bob at axis

  4. NPCI deducts Alices HDFC bank account by INR 100

  5. NPCI sends an instruction to SBI bank and add INR 100 to Bobs account in SBI bank.

  6. Upon success, NPCI notifies the payment apps via acquiring banks.