EPC Girocode
EPC Girocode यूरोपीय भुगतान परिषद (European Payments Council) का SEPA Credit Transfer के लिए QR प्रारूप है। स्कैन किया गया Girocode भुगतानकर्ता के बैंकिंग ऐप में प्राप्तकर्ता का IBAN, राशि और remittance संदेश स्वतः भर देता है, जिससे बैंक विवरण की मैन्युअल कॉपी-पेस्ट की आवश्यकता नहीं रहती। Sparkasse, Volksbank, Deutsche Bank, ING, N26, Revolut और अधिकांश जर्मन/ऑस्ट्रियाई/डच बैंकिंग ऐप्स में यह मूल रूप से समर्थित है। SEPA क्षेत्र के बाहर, Girocode काम नहीं करता।
Encoding: सादा UTF-8 टेक्स्ट, TLV नहीं, structured नहीं। बारह निश्चित-स्थिति वाले फील्ड
\n (LF, U+000A) से अलग किए जाते हैं। अधिकतम payload 331 बाइट्स। Scheme: SEPA Credit Transfer (SCT) या SEPA Instant Credit Transfer (SCT Inst)। QR एकमुश्त credit transfer शुरू करता है; direct debit / standing order नहीं।
Payload संरचना, 12 लाइनें, newline से अलग
| लाइन | फील्ड | लंबाई | अनिवार्य | नोट्स |
|---|---|---|---|---|
| 1 | Service tag | 3 | हाँ | निश्चित मान BCD। |
| 2 | Version | 3 | हाँ | 001 (मूल spec) या 002 (v2, BIC अब EEA के भीतर वैकल्पिक)। |
| 3 | Character set | 1 | हाँ | 1=UTF-8, 2=ISO-8859-1, 3=ISO-8859-2, आदि। 1 ही एकमात्र सुरक्षित विकल्प है। |
| 4 | Identification | 3 | हाँ | SCT (standard Credit Transfer)। SCT Inst भी यही tag उपयोग करता है; instant/standard acquirer का निर्णय है। |
| 5 | BIC | 0, 8, या 11 | नहीं (v002) | v001 में अनिवार्य; SEPA भुगतानों के लिए v002 में वैकल्पिक। गैर-EEA प्राप्तकर्ताओं के लिए शामिल करें। |
| 6 | Beneficiary name | 1–70 | हाँ | प्राकृतिक भाषा में नाम। character set लाइन 3 के अनुसार। |
| 7 | IBAN | 1–34 | हाँ | कोई स्पेस या formatting नहीं। DE89370400440532013000, न कि DE89 3704 0044 0532 0130 00। |
| 8 | Amount | 4–12 | नहीं | प्रारूप: EUR10.00। स्कैन के समय भुगतानकर्ता को राशि दर्ज करने देने के लिए छोड़ें। |
| 9 | Purpose | 0–4 | नहीं | ISO 20022 External Purpose Code। उदाहरण: GDDS (goods), CHAR (charity)। |
| 10 | Structured remittance reference | 0–35 | नहीं | स्वचालित reconciliation के लिए ISO 11649 RF creditor reference। लाइन 11 के साथ परस्पर अनन्य। |
| 11 | Unstructured remittance info | 0–140 | नहीं | मुक्त-टेक्स्ट भुगतान कारण। लाइन 10 के साथ परस्पर अनन्य। |
| 12 | Beneficiary-to-originator info | 0–70 | नहीं | बैंक ऐप में भुगतानकर्ता को दिखाया जाने वाला वैकल्पिक संकेत पाठ (जैसे "Rechnung 2026-0042")। |
Canonical test vector, v002 minimal
Commerzbank में Max Mustermann को IBAN DE89370400440532013000, बिना BIC, unstructured reference "Rechnung 42" के साथ €12.50 का transfer:
BCD
002
1
SCT
Max Mustermann
DE89370400440532013000
EUR12.50
Rechnung 42
स्थिति 5 (कोई BIC नहीं), 9 (कोई purpose नहीं), 10 (कोई structured reference नहीं) पर खाली लाइनें नोट करें। ये अनिवार्य हैं, लाइन की संख्या ठीक 12 होनी चाहिए (या 11 यदि लाइन 12 छोड़ी गई हो)।
Live IBAN validator (mod-97)
Girocode किसी भी IBAN को अस्वीकार करता है जो ISO 13616 mod-97 checksum में विफल हो। नीचे वही validator है जो Abundera Girocode generator में inline चलाता है, यह आपके ब्राउज़र में चलता है।
सामान्य गलतियाँ
- Line endings. EPC069-12 LF (
\n, U+000A) अनिवार्य करता है। CR+LF (\r\n) कुछ Android बैंकिंग ऐप्स को तोड़ता है। यदि आप Windows Notepad से payload कॉपी-पेस्ट करते हैं तो CR+LF मिलेगा; QR encoding से पहले CRs हटा दें। - BIC v001 के लिए अनिवार्य, v002 के लिए वैकल्पिक। SEPA-internal transfers के लिए हमेशा version
002emit करें, payload के 8–11 chars बचते हैं और हर आधुनिक बैंकिंग ऐप के साथ काम करता है। BIC केवल legacy v001 ऐप्स (ज्यादातर बंद) या गैर-EEA प्राप्तकर्ताओं के लिए शामिल करें। - Amount format strict.
EUR10.00, currency code prefix, dot separator, ठीक दो दशमलव।EUR10,EUR10,00,10.00 EURसब fail होते हैं। - Structured + unstructured reference एक साथ नहीं। लाइन 10 और लाइन 11 परस्पर अनन्य हैं। यदि दोनों non-empty हों, तो spec कहता है QR अमान्य है; व्यवहार में कुछ ऐप्स इसे स्वीकार करते हैं और एक को drop कर देते हैं, जिससे reconciliation mismatches होते हैं।
- IBAN spaces. IBAN फील्ड (लाइन 7) में कोई whitespace स्वीकार्य नहीं। मानव-पठनीय
DE89 3704 0044 0532 0130 00को encoding से पहलेDE89370400440532013000में strip करना होगा। - अधिकतम payload 331 बाइट्स। 331 बाइट्स से अधिक QR payload spec द्वारा अस्वीकृत है। लंबे beneficiary नाम + लंबे remittance messages + BIC + IBAN इसे पार कर सकते हैं। बैंकिंग ऐप्स स्कैन पर error दिखाते हैं; encoding के दौरान QR स्वयं चेतावनी नहीं देता।
- Character set trap. लाइन 3 बताती है कि लाइनें 6, 11, 12 पर कौन सा charset लागू होता है। अंतर्राष्ट्रीय नामों के लिए UTF-8 (मान
1) ही एकमात्र व्यावहारिक विकल्प है। ISO-8859-1 पश्चिमी यूरोपीय Latin के बाहर कुछ भी encode नहीं कर सकता। - केवल SEPA zone। Girocode भुगतान केवल SEPA-भागीदार खातों के बीच काम करते हैं (EU + EEA + Switzerland + UK + Monaco + San Marino + Andorra + Vatican)। गैर-SEPA बैंकिंग ऐप में Girocode स्कैन करने पर या तो fail होता है या खाली फील्ड के साथ normal transfer स्क्रीन खुलती है।
- Direct debit नहीं। Girocode केवल SEPA Credit Transfer है। Pull/subscription flows (standing orders, recurring mandates) Girocode में expressible नहीं हैं। उनके लिए QR को SEPA mandate document के साथ pair करें।
- PSD2 return rights। SEPA Credit Transfer push-based है और स्कैन पर consumer-authorised होता है। PSD2 के तहत consumer refund rights फिर भी लागू होते हैं (जैसे 13 महीनों के भीतर unauthorised transaction)। Merchants को signed authorisation trail अलग से रखना होगा, QR स्वयं कोई contract नहीं है।
Banking-app compatibility
| App / region | Girocode support | नोट्स |
|---|---|---|
| Sparkasse (DE) | Native | Girocode का मूल लक्ष्य। पूर्ण समर्थन। |
| Volksbank / Raiffeisen (DE, AT) | Native | VR-BankingApp में पूर्ण समर्थन। |
| Deutsche Bank, Commerzbank, Postbank (DE) | Native | उनके मोबाइल ऐप के "Überweisung" flow से स्कैन करें। |
| ING (DE / NL) | Native | NL ऐप में iDEAL QRs भी स्कैन करता है। |
| N26, Revolut | Native | सभी समर्थित देशों में पूर्ण समर्थन। |
| Erste Bank, Bank Austria (AT) | Native | ऑस्ट्रिया ने जर्मनी के साथ Girocode अपनाया। |
| Crédit Agricole, BNP Paribas (FR) | Partial | कुछ French बैंक Girocode स्कैन करते हैं, अधिकांश पुराने paper reference format पसंद करते हैं। |
| Generic iOS/Android camera | No | Native cameras BCD text format को payment intent के रूप में parse नहीं करते। उपयोगकर्ता को पहले अपना बैंकिंग ऐप खोलना होगा। |
यह भी देखें
- /epc-girocode-qr-code/, IBAN validation और live encoding के साथ Girocode generator।
- /sepa-qr-code/, SEPA Credit Transfer QR generator (समान underlying format)।
- /standards/swiss-qr-bill/, Swiss QR-bill, CHF/Swiss-IBAN transfers के लिए regional विकल्प।
- /standards/, standards index पर वापस।