UPI
UPI (Unified Payments Interface) ist Indiens Echtzeit-Zahlungsschiene, betrieben von der National Payments Corporation of India (NPCI). Zwei QR-Formate koexistieren: das einfache upi://pay-URI-Schema (einfach, funktioniert in jeder UPI-App) und der NPCI BR Code, eine EMVCo-MPM-Teilmenge mit Merchant-Account-Informationen (Tag 26), die die VPA trägt. UPI verarbeitete im Jahr 2024 über 11 Milliarden Transaktionen pro Monat; jede indische Banking- und Zahlungs-App unterstützt es.
URI-Schema:
upi://pay?pa=VPA&pn=NAME&am=AMT&cu=INR, das einfachste UPI-QR-Format. Funktioniert in jeder UPI-fähigen App. Übergeordnete Spezifikation:EMVCo MPM v1.1. UPI reserviert Händlerkonto-Tag
26 im BR-Code-Format. Regulierungsbehörde:Reserve Bank of India (RBI), gibt UPI-Rundschreiben heraus; NPCI ist der Betreiber.
Zwei QR-Formate
- upi://-URI-Schema. Einfache URL-kodierte Zahlungsabsicht. Von jedem verbraucherorientierten UPI-QR verwendet (Paytm/Google Pay/PhonePe-Aufkleber bei kleinen Händlern). Von jeder UPI-App lesbar.
- NPCI BR Code (EMVCo MPM). TLV-kodiertes Format mit Tag
26für UPI Merchant Account Information. Wird für einheitliche/interoperable QR-Codes (Bharat QR) und größere Unternehmensinstallationen verwendet, bei denen der QR gleichzeitig UPI + RuPay + Karten tragen kann.
upi://-URI-Schema-Parameter
| Parameter | Name | Erforderlich | Hinweise |
|---|---|---|---|
pa | Zahlungsempfängeradresse (VPA) | Ja | Format: user@handle. Beispiel: alice@oksbi, merchant@paytm. |
pn | Name des Zahlungsempfängers | Ja | URL-kodiert. Dem Zahler zur Bestätigung angezeigt. |
am | Betrag | Nein | Dezimalzeichenfolge: 10.00. Für statische "Betrag eingeben"-QR weglassen. |
cu | Währung | Nein | Immer INR. UPI ist laut Vorschrift nur INR. |
tn | Transaktionsnotiz | Nein | Freitext-Memo dem Zahler angezeigt, max. 50 Zeichen. |
tr | Transaktionsreferenz | Nein | Vom Händler bereitgestellte ID für die Abstimmung. |
mc | Händlerkategoriecode | Nein | 4-stelliger ISO 18245 MCC. Für Händlerkonten erforderlich, für P2P optional. |
tid | Terminal-ID | Nein | POS-Terminal-Identifikator. |
url | Rechnungs-/Produkt-URL | Nein | Deeplink, den der Zahler nach der Zahlung öffnen kann, um den Beleg abzurufen. |
NPCI BR Code, Tag-26-Struktur
Wenn ein einheitlicher QR das BR-Code-Format anstelle von schlichtem upi:// verwendet, befindet sich die UPI-spezifische Nutzlast in Tag 26 als verschachteltes TLV:
| Sub-Tag | Name | Länge | Hinweise |
|---|---|---|---|
00 | GUI, globaler eindeutiger Bezeichner | variabel | Fester Wert upi.npci.org. Identifiziert das Schema als UPI. |
01 | VPA | variabel | Die virtuelle Zahlungsadresse. Beispiel: merchant@oksbi. |
02 | Händlercode | variabel | NPCI-zugewiesener Händleridentifikator für die Acquirer-Abstimmung. |
VPA-Formatregeln
- Format:
user@handle, ein Benutzername gefolgt von@und einem PSP-Handle, das den Zahlungsdienstleister identifiziert. - Benutzernamenteil. 3–63 Zeichen, alphanumerisch plus
.,-,_. Laut Spezifikation nicht Groß-/Kleinschreibung unterscheidend, aber manche Apps behandeln es als Groß-/Kleinschreibung unterscheidend (siehe Fallstricke). - Handle-Teil. PSP-zugewiesen. Häufige Handles:
@oksbi(SBI),@okicici(ICICI),@okhdfcbank(HDFC),@paytm(Paytm),@ybl(PhonePe → Yes Bank),@ibl(PhonePe → IDFC FIRST),@apl(Amazon Pay über Axis). - Gesamtlänge. Max. ~50 Zeichen einschließlich
@. - Auflösung. Beim Scannen löst die App des Zahlers VPA → Bankkonto über NPCI auf. Die Auflösung gibt den Namen des registrierten Kontoinhabers zurück, den die App des Zahlers zur Bestätigung anzeigt.
Kanonischer Testvektor, upi://-URI-Schema
VPA merchant@oksbi, Name TEST MERCHANT, fester Betrag ₹10.00, mit Referenz INV-2026-0001:
upi://pay?pa=merchant@oksbi&pn=TEST%20MERCHANT&am=10.00&cu=INR&tn=Invoice%20INV-2026-0001&tr=INV-2026-0001Minimaler statischer "Betrag eingeben"-Aufkleber:
upi://pay?pa=merchant@oksbi&pn=TEST%20MERCHANT&cu=INRHäufige Fallstricke
- VPA-Groß-/Kleinschreibungssensitivität in der Praxis. NPCI-Spezifikation sagt, VPA unterscheidet keine Groß-/Kleinschreibung. In der Praxis scheitern einige Apps (ältere PhonePe, Paytm) bei gemischt-geschriebenen VPAs. Immer in Kleinbuchstaben ausgeben:
alice@oksbinichtAlice@OKSBI. - URL-Kodierung des Zahlungsempfängernamens. Der
pn-Parameter akzeptiert Leerzeichen und akzentierte Zeichen, die prozentkodiert sein müssen.TEST MERCHANT→TEST%20MERCHANT. Apps, die nicht korrekt dekodieren, zeigen auf dem Bestätigungsbildschirm verstümmelte Namen. - Währung muss INR sein. UPI ist per RBI-Vorschrift nur INR. Jeder andere
cu-Wert wird still verworfen oder abgelehnt. Internationale Empfänger benötigen die RBI Liberalised Remittance Scheme-Konformität und verwenden kein UPI. - Betrag muss positiv sein.
am=0oderam=-5wird abgelehnt. Für "Betrag eingeben"-QR denam-Parameter ganz weglassen. - ₹-Symbol im Betrag. Niemals das Rupien-Symbol oder "Rs." in den
am-Wert einschließen.am=10.00, nichtam=₹10.00. - Überklebebetrug am POS. Physische UPI-Aufkleber sind ein gut dokumentierter Betrugsvektor in Indien. Ein Angreifer klebt einen Aufkleber mit seiner eigenen VPA über die des Händlers. RBI-Betrugsbekämpfungs-Rundschreiben verlangen, dass Händler die erwartete VPA als gedruckten Text neben dem QR anzeigen, damit Zahler verifizieren können.
- GST + 1099-K-Analogon. UPI-Handelseinnahmen zählen für die GST-Einreichung. Händler mit Gesamteinnahmen über ₹20 Lakh/Jahr müssen sich für GST registrieren; jene über ₹10 Crore müssen E-Rechnungen auf dem GST Invoice Registration Portal generieren. UPI-Transaktionsdaten werden mit dem GST-Netzwerk (GSTN) zur Abstimmung geteilt.
- Investitionswerbung eingeschränkt. SEBI verbietet UPI für unregistrierte Wertpapierwerbung. UPI-QR-Codes, die "garantierte Renditen", Token-Vorverkäufe oder MLM-Systeme bewerben, lösen SEBI-Durchsetzung aus.
- Verbraucherschutz (E-Commerce)-Regeln. Ein gedruckter UPI-QR-Code, der Zahlungen akzeptiert, ist ein kommerzielles Angebot unter den E-Commerce-Regeln 2020. Händler müssen die Rückgabepolitik neben dem QR anzeigen. UPI-Zahlungen sind sofort endgültig; Rückerstattungen müssen als separater UPI-Push vom Händler zurück zum Zahler initiiert werden.
UPI-App-Kompatibilität
| App | upi:// URI | NPCI BR Code | Hinweise |
|---|---|---|---|
| Google Pay (Tez) | Ja | Ja | Größte UPI-App nach Volumen. |
| PhonePe | Ja | Ja | Volle UPI + BR-Code-Unterstützung. |
| Paytm | Ja | Ja | Volle UPI + eigene Paytm-Wallet-Ausweichlösung. |
| Amazon Pay | Ja | Ja | Über Axis Bank (Handle @apl). |
| BHIM | Ja | Ja | NPCI-Referenzimplementierung. Sichere Basis für Tests. |
| Alle großen Banking-Apps (SBI YONO, ICICI iMobile, HDFC PayZapp, Axis Mobile) | Ja | Ja | Alle UPI-eingeschriebenen Banken liefern UPI-Unterstützung in ihrer Verbraucher-App. |
| Generische iOS/Android-Kamera | Teilweise | Nein | Native Kameras parsen das upi://-Schema und bieten auf neueren Geräten "In UPI-App öffnen" an, rendern aber kein BR-Code-TLV direkt. |
Siehe auch
- /upi-qr-code/, der UPI-Generator mit VPA-Validierung und Live-
upi://-Kodierung. - /standards/emvco/, übergeordnete EMVCo-MPM-Spezifikation.
- /standards/pix/, PIX Brasilien, das Schwester-Schema, das ebenfalls EMVCo-Tag 26 verwendet.
- /standards/, zurück zum Standards-Index.