UPI
UPI (Unified Payments Interface) je indická platforma okamžitých plateb provozovaná National Payments Corporation of India (NPCI). Existují dva QR formáty: jednoduché URI schéma upi://pay (jednoduché, funguje v každé UPI aplikaci) a NPCI BR Code, podmnožina EMVCo MPM s informacemi o obchodním účtu (tag 26) nesoucí VPA. Do roku 2024 UPI zpracovával více než 11 miliard transakcí za měsíc; každá indická bankovní a platební aplikace jej podporuje.
URI schéma:
upi://pay?pa=VPA&pn=NAME&am=AMT&cu=INR, nejjednodušší formát UPI QR. Funguje v každé UPI aplikaci. Nadřazená spec:EMVCo MPM v1.1. UPI rezervuje tag obchodního účtu
26 ve formátu BR Code. Regulátor:Rezervní banka Indie (RBI), vydává UPI oběžníky; NPCI je provozovatel.
Dva QR formáty
- URI schéma upi://. Jednoduché URL-kódované platební záměr. Používá každý spotřebitelský UPI QR (nálepky Paytm/Google Pay/PhonePe u malých obchodníků). Čitelné každou UPI aplikací.
- NPCI BR Code (EMVCo MPM). TLV-kódovaný formát s tagem
26pro informace o obchodním UPI účtu. Používá se pro jednotné/interoperabilní QR kódy (Bharat QR) a větší podniková nasazení, kde QR může současně nést UPI + RuPay + karty.
Parametry URI schématu upi://
| Parametr | Název | Povinný | Poznámky |
|---|---|---|---|
pa | Adresa příjemce (VPA) | Ano | Formát: user@handle. Příklad: alice@oksbi, merchant@paytm. |
pn | Jméno příjemce | Ano | URL-kódováno. Zobrazeno plátci pro potvrzení. |
am | Částka | Ne | Desetinný řetězec: 10.00. Vynechte pro statické QR "zadejte částku". |
cu | Měna | Ne | Vždy INR. UPI je ze zákona pouze INR. |
tn | Poznámka k transakci | Ne | Volný text zobrazený plátci, max. 50 znaků. |
tr | Reference transakce | Ne | ID poskytnuté obchodníkem pro reconciliaci. |
mc | Kód kategorie obchodníka | Ne | 4místný ISO 18245 MCC. Povinný pro obchodní účty, volitelný pro P2P. |
tid | ID terminálu | Ne | Identifikátor POS terminálu. |
url | URL faktury/produktu | Ne | Hluboký odkaz, který může plátce otevřít po platbě pro stažení dokladu. |
NPCI BR Code, struktura tagu 26
Když jednotný QR používá formát BR Code namísto prostého upi://, UPI-specifický payload se nachází v tagu 26 jako vnořené TLV:
| Sub-tag | Název | Délka | Poznámky |
|---|---|---|---|
00 | GUI, globální jedinečný identifikátor | proměnná | Pevná hodnota upi.npci.org. Identifikuje schéma jako UPI. |
01 | VPA | proměnná | Virtuální platební adresa. Příklad: merchant@oksbi. |
02 | Kód obchodníka | proměnná | Identifikátor obchodníka přidělený NPCI pro reconciliaci s acquirerem. |
Pravidla formátu VPA
- Formát:
user@handle, uživatelské jméno následované@a PSP handle identifikujícím poskytovatele platebních služeb. - Část uživatelského jména. 3–63 znaků, alfanumerické plus
.,-,_. Podle specifikace nerozlišuje velikost písmen, ale některé aplikace ho považují za citlivé na velikost písmen (viz úskalí). - Část handle. Přiřazeno PSP. Běžné handles:
@oksbi(SBI),@okicici(ICICI),@okhdfcbank(HDFC),@paytm(Paytm),@ybl(PhonePe → Yes Bank),@ibl(PhonePe → IDFC FIRST),@apl(Amazon Pay via Axis). - Celková délka. Max. ~50 znaků včetně
@. - Překlad. Při skenování plátcova aplikace přeloží VPA → bankovní účet přes NPCI. Překlad vrátí jméno registrovaného majitele účtu, které aplikace zobrazí pro potvrzení.
Kanonický testovací vektor, URI schéma upi://
VPA merchant@oksbi, jméno TEST MERCHANT, pevná částka ₹10.00, s referencí INV-2026-0001:
upi://pay?pa=merchant@oksbi&pn=TEST%20MERCHANT&am=10.00&cu=INR&tn=Invoice%20INV-2026-0001&tr=INV-2026-0001Minimální statická nálepka "zadejte částku":
upi://pay?pa=merchant@oksbi&pn=TEST%20MERCHANT&cu=INRTypické chyby
- Citlivost VPA na velikost písmen v praxi. Specifikace NPCI říká, že VPA nerozlišuje velikost písmen. V praxi některé aplikace (starší PhonePe, Paytm) selhávají u VPA se smíšenými písmeny. Vždy emitujte malá písmena:
alice@oksbineAlice@OKSBI. - URL kódování jména příjemce. Parametr
pnpřijímá mezery a znaky s diakritikou, které musí být procentově kódovány.TEST MERCHANT→TEST%20MERCHANT. Aplikace, které správně nedekódují, zobrazují na potvrzovací obrazovce zkomolená jména. - Měna musí být INR. UPI je ze zákona RBI pouze INR. Jakákoli jiná hodnota
cuje tiše odstraněna nebo odmítnuta. Mezinárodní příjemci vyžadují soulad s RBI Liberalised Remittance Scheme a UPI nepoužívají. - Částka musí být kladná.
am=0neboam=-5je odmítnuto. Pro QR kódy "zadejte částku" parametramzcela vynechte. - Symbol ₹ v částce. Nikdy nezahrnujte symbol rupie nebo "Rs." do hodnoty
am.am=10.00, neam=₹10.00. - Překryvné podvody u POS. Fyzické UPI nálepky jsou dobře zdokumentovaný vektor podvodů v Indii. Útočník nalepí nálepku se svou vlastní VPA přes tu obchodníka. Protipodvodové oběžníky RBI vyžadují, aby obchodníci zobrazovali očekávanou VPA jako tištěný text vedle QR kódu, aby ji plátci mohli ověřit.
- GST + analogie 1099-K. Obchodní příjmy UPI se počítají pro podání GST. Obchodníci s celkovými příjmy přesahujícími ₹20 lakh/rok se musí zaregistrovat k GST; ti přesahující ₹10 crore musí generovat e-faktury na portálu GST Invoice Registration Portal. Data transakcí UPI jsou sdílena se sítí GST (GSTN) pro reconciliaci.
- Omezená investiční výzva. SEBI zakazuje UPI pro neregistrované solicitation cenných papírů. UPI QR kódy propagující "zaručené výnosy", předprodeje tokenů nebo MLM schémata spouštějí vymáhání SEBI.
- Pravidla ochrany spotřebitele (e-commerce). Tištěný UPI QR kód přijímající platby je obchodní nabídkou podle pravidel e-commerce 2020. Obchodník musí vedle QR zobrazit zásady vrácení. Platby UPI jsou okamžitě konečné; vrácení musí být iniciováno jako samostatný UPI push od obchodníka k plátci.
Kompatibilita aplikací UPI
| Aplikace | upi:// URI | NPCI BR Code | Poznámky |
|---|---|---|---|
| Google Pay (Tez) | Ano | Ano | Největší UPI aplikace podle objemu. |
| PhonePe | Ano | Ano | Plná podpora UPI + BR Code. |
| Paytm | Ano | Ano | Plná podpora UPI + vlastní záloha Paytm peněženky. |
| Amazon Pay | Ano | Ano | Prostřednictvím Axis Bank (handle @apl). |
| BHIM | Ano | Ano | Referenční implementace NPCI. Bezpečný základ pro testování. |
| Každá hlavní bankovní aplikace (SBI YONO, ICICI iMobile, HDFC PayZapp, Axis Mobile) | Ano | Ano | Všechny banky registrované v UPI dodávají podporu UPI ve své spotřebitelské aplikaci. |
| Generická kamera iOS/Android | Částečně | Ne | Nativní kamery analyzují schéma upi:// a na novějších zařízeních nabízejí "Otevřít v UPI aplikaci", ale přímo nevykreslují BR Code TLV. |
Viz také
- /upi-qr-code/, generátor UPI s validací VPA a živým kódováním
upi://. - /standards/emvco/, nadřazená specifikace EMVCo MPM.
- /standards/pix/, PIX Brazílie, sesterské schéma také používající tag 26 EMVCo.
- /standards/, zpět na index standardů.