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
2.0 KiB
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 |
|
|
The Unified Payments Interface (UPI) for real-time transactions in India is a good case study for other nations in the payment space.
What’s 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
-
Bob’s payment app creates VPA with the acquiring bank
-
The acquiring bank returns with VPA
-
The payment app returns VPA to Bob
Link to Bank Account
-
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
-
Alice enters Bob’s UPI ID bob and the amount INR 100
-
PhonePe verifies and forwards the request to NPCI via ICICI bank
-
NPCI requests Axis Bank to resolve detail for bob at axis
-
NPCI deducts Alice’s HDFC bank account by INR 100
-
NPCI sends an instruction to SBI bank and add INR 100 to Bob’s account in SBI bank.
-
Upon success, NPCI notifies the payment apps via acquiring banks.
