QR platby: Proč neexistuje univerzální standard, proč QR někde funguje a jinde ne — a jak to řešit
Obsah příspěvku
-
Není QR platba jako QR platba. Proč některé státy QR mají, ale nepoužijete je na bankovní převody
-
Existují dva zásadně rozdílné světy QR plateb:
- 1. Národní bankovní QR standardy
- 2. QR kódy peněženek (wallet payments)
-
Existují dva zásadně rozdílné světy QR plateb:
- Proč neexistuje jeden QR standard pro celý svět
- Přehled běžných světových QR platebních standardů
-
Proč jsou si QR kódy zdánlivě podobné, ale technicky úplně jiné
- Porovnávací tabulka – klíčové rozdíly
-
Reálné datové příklady
- QR Platba (CZ)
- Pay by Square (SK)
- EPC QR (EU – SEPA)
- EMVCo QR (globální)
- Evropa: přehled zemí a QR standardů
-
Často kladené otázky, které vysvětlují největší problémy
- ❓ Proč QR pro EUR nefunguje v českých bankách?
- ❓ Proč Pay by Square nefunguje českým zákazníkům?
- ❓ Proč EPC QR nefunguje všude v EU?
- ❓ Proč třeba QR pro Polsko nefunguje s českým účtem v PLN?
-
Jak tento chaos řeší WPify Woo
- Jak to funguje:
-
A proč někdy „QR nefunguje“?
- WPify Woo
- Doporučení pro CZ / SK e-shopy
- QR platby jsou dobrým pomocníkem ale plné chaosu
- Discussion
QR platby dnes vypadají jednoduše: zákazník naskenuje kód, platba se mu vyplní v mobilní aplikaci banky a vše proběhne během pár sekund.
Ve skutečnosti ale QR platby nejsou jednotná technologie.
V každé zemi se QR platby vyvíjely jinak, jsou svázané s lokální legislativou a každá bankovní asociace definovala vlastní standard.
Výsledek?
- QR platby nejsou celosvětově kompatibilní
- Evropské země nemají jeden společný standard
- Ani v rámci EU neplatí, že jedna QR platba funguje ve všech bankách
- QR kód může obsahovat CZK, EUR, PLN, HUF, různé struktury, různé povinné položky a různá pravidla
- A dvě banky ve stejné zemi mohou podporovat různé varianty
To vše vede k realitě, kterou znají e-shopaři, účetní i vývojáři:
„U zákazníka z jiné země QR kód nefunguje.“
„Platba se načetla, ale v jiné měně.“
„Bankovní aplikace hlásí neznámý formát.“
„QR funguje v ČR, ale v Německu ne.“
V tomhle článku vysvětlíme proč, jaké QR standardy existují, kde se používají, proč nejsou kompatibilní, a také jak tuto problematiku řeší WPify Woo QR Payments.
Není QR platba jako QR platba. Proč některé státy QR mají, ale nepoužijete je na bankovní převody
V diskusích se často objevuje otázka:
„Když Švédsko, Dánsko nebo Švýcarsko používají QR platby, proč nejde použít jeden univerzální QR kód i tam?“
Důvod je jednoduchý: ne každý QR kód v Evropě slouží k bankovnímu převodu.
Existují dva zásadně rozdílné světy QR plateb:
1. Národní bankovní QR standardy
Ty určují bankovní asociace a QR kód obsahuje přímo platební údaje (IBAN, částku, variabilní symbol atd.) → klientova bankovní aplikace z toho umí rovnou vytvořit příkaz k úhradě.
Takové mají například:
- 🇨🇿 QR Platba
- 🇸🇰 Pay by Square
- 🇵🇱 polský 2D kód
- 🇭🇺 maďarský QR standard pro instantní převody
- 🇩🇪 GiroCode (varianta EPC QR)
To jsou formáty, které dávají smysl pro faktury, e-shopy, objednávky a vůbec veškeré situace, kdy chcete, aby uživatel zaplatil převodem na váš účet.
2. QR kódy peněženek (wallet payments)
Tady QR kód neobsahuje bankovní údaje — obsahuje jen ID transakce nebo identifikátor obchodníka v dané peněžence.
Neprovedou bankovní převod, ale spustí aplikaci peněženky.
Typické příklady:
- 🇸🇪 Švédsko – Swish
- 🇩🇰 Dánsko – MobilePay
- 🇫🇮 Finsko – MobilePay
- 🇨🇭 Švýcarsko – TWINT
- 🇩🇪 Německo – Bluecode
- 🇳🇴 Norsko – Vipps
QR kódy těchto peněženek jsou nekompatibilní s bankovním QR standardem:
- neobsahují IBAN, částku ani zprávu,
- nefungují v bankovních aplikacích,
- obchodník je může akceptovat jen pokud má smlouvu s danou peněženkou,
- neumožňují univerzální převod na účet obchodníka.
Proč neexistuje jeden QR standard pro celý svět
Banky historicky nikdy nepoužívaly jednotný formát platebních dat. V každé zemi existovaly:
- jiné formáty domácích účtů,
- jiná clearingová pravidla,
- jiná měna,
- jiné požadavky bank a státních institucí.
Když kolem roku 2010–2015 začaly banky nasazovat mobilní aplikace, každá asociace vyvinula vlastní QR platební standard.
Výsledek:
Každý standard má:
- jiný formát dat,
- jiný způsob zápisu účtu, částky a zprávy,
- jinou maximální délku polí,
- jiný znakový encoding,
- jiný QR error-correction level,
- jiný způsob komprese (např. LZMA u Slovenska),
- a často i jiný způsob validace.
Už z toho je jasné:
Tyto standardy nejsou kompatibilní.
Přehled běžných světových QR platebních standardů
Následující tabulka ukazuje nejčastější standardy používané po světě:
| Standard | Region / země | Měna | Technický formát | Kompatibilita |
|---|---|---|---|---|
| QR Platba (ČBA) | Česko | CZK | ASCII, klíč=hodnota (SPD*...) | pouze CZ banky |
| PAY by Square (SBA) | Slovensko | EUR | LZMA komprimovaný binární payload | pouze SK banky |
| PL 2D Code (PBA) | Polsko | PLN | 26-místné NRB, fixní struktura | pouze PL účty |
| EPC QR (SEPA / GiroCode) | EU (DE, AT, BE, NL, FI…) | EUR | textový SEPA SCT formát (BCD….) | různé banky v EU |
| EMVCo QR | Asie, Afrika, LatAm | různé | TLV (Tag-Length-Value), EMVCo | extrémně rozšířené mimo EU |
| UPI / BharatQR | Indie | INR | EMVCo derivace | pouze Indie + partneři |
| Swish QR | Švédsko | SEK | proprietární | pouze SE |
| iDEAL QR | Nizozemsko | EUR | proprietární (PSD2) | pouze NL iDEAL banky |
| PromptPay QR | Thajsko | THB | EMVCo | pouze TH |
Proč jsou si QR kódy zdánlivě podobné, ale technicky úplně jiné
Když se podíváme na QR kód zvenku, vždy vidíme jen čtverec.
Uvnitř je ale úplně jiný obsah.
Porovnávací tabulka – klíčové rozdíly
| Vlastnost | QR Platba (CZ) | Pay by Square (SK) | EPC QR Code (EU) | EMV QR Code |
|---|---|---|---|---|
| Formát | Text (key-value) | Binární + LZMA1 | Text (řádky) | TLV binární |
| Velikost | ~100-150 B | ~80-120 B (komprese) | ~150-200 B | ~100-180 B |
| Čitelnost | Lidsky čitelná | Nečitelná (binary) | Částečně čitelná | Nečitelná (binary) |
| Symboly (VS/SS/KS) | ✓ Plná podpora | ✓ Plná podpora | ✗ Nepodporuje | ✗ Nepodporuje |
| IBAN required | ✗ (české č. účtu OK) | ✓ | ✓ | Záleží na operátoru |
| Instant Payment | ✓ | ✓ | ✓ | Záleží na impl. |
Reálné datové příklady
QR Platba (CZ)
SPD*1.0*ACC:CZ5855000000001265098001*AM:480.50*CC:CZK*VS:1234567890*MSG:Payment
- klíče
ACC,AM,VS,MSG - jednoduchá struktura
- kódování: ISO-8859-1
Pay by Square (SK)
0004K00028P0N5DGA0000H5IUT0XT24VE7000EURHQ4FFF0IB...
- binární data, komprimovaná pomocí LZMA
- nutnost externí binárky (
xz) - bez šance to načíst v jiné zemi
EPC QR (EU – SEPA)
BCD
002
1
SCT
BPOTBEB1
Red Cross Belgium
BE72000000001616
EUR20.00
CHAR
Urgency fund
- SEPA Credit Transfer (SCT)
- EUR pouze
- různé banky jej podporují, ale ne všechny
EMVCo QR (globální)
000201010212520441315303840540312.265802IN5303700
...
- TLV struktura (
IDLENVALUE) - extrémně flexibilní
- používá Asie, LatAm
- Evropa skoro vůbec
Evropa: přehled zemí a QR standardů
Tato tabulka shrnuje evropské země, kde je možné se QR platbami setkat:
| Země | Primární měna | QR bankovní standard | Podpora EPC QR | Poznámka |
|---|---|---|---|---|
| Česko | CZK | QR Platba | částečně | EUR v QR Platbě je často ignorováno |
| Slovensko | EUR | Pay by Square | částečně | EUR → OK; CZK → NE |
| Polsko | PLN | PL 2D QR | nízká | pouze PLN a PL účty |
| Německo | EUR | EPC QR (GiroCode) | vysoká | velmi spolehlivé |
| Rakousko | EUR | EPC QR | vysoká | |
| Nizozemsko | EUR | iDEAL QR / EPC | střední | iDEAL QR není bank-transfer |
| Belgie | EUR | EPC QR | vysoká | |
| Finsko | EUR | EPC QR | vysoká | |
| Francie | EUR | žádný národní | střední | některé banky EPC načtou |
| Itálie | EUR | žádný národní | nízká | podpora EPC různé |
| Španělsko | EUR | žádný národní | nízká | |
| Maďarsko | HUF | HU QR (nový 2023) | žádná | HUF se EPC netýká |
| Velká Británie | GBP | žádný národní | žádná | mimo SEPA pro GBP |
| Švédsko | SEK | Swish QR | žádná | Swish ≠ bank transfer |
| Dánsko | DKK | žádný národní | žádná |
Často kladené otázky, které vysvětlují největší problémy
❓ Proč QR pro EUR nefunguje v českých bankách?
Protože QR Platba oficiálně podporuje jen CZK.
EUR může v kódu být, ale banka ho:
- buď ignoruje → převede 100 EUR jako 100 CZK
- nebo kód odmítne
Funguje jen tehdy, kdy jej načítáte na bankovním účtu EUR měnou.
❓ Proč Pay by Square nefunguje českým zákazníkům?
Protože české banky neimplementují slovenský standard.
❓ Proč EPC QR nefunguje všude v EU?
Protože to není povinný standard.
Každá banka se rozhoduje sama.
❓ Proč třeba QR pro Polsko nefunguje s českým účtem v PLN?
Protože Polský QR standard vyžaduje 26místné domácí polské číslo účtu (NRB).
CZ účet = jiný formát → kód je nevalidní.
Jak tento chaos řeší WPify Woo
Plugin WPify Woo itegruje několik QR standardů:
| Standard | země | Měna | Požadované data účtu | Požadované serverové rozšíření |
|---|---|---|---|---|
| QR Platba (ČBA) | Česko | CZK | IBAN nebo číslo účtu + kód banky, | – |
| PAY by Square (SBA) | Slovensko | EUR | IBAN | XZ utils |
| HU QR Code | Maďarsko | HUF | IBAN + BIC | – |
| EPC QR (SEPA / GiroCode) | EU (DE, AT, BE, NL, FI…) | EUR | IBAN + BIC | – |
Následně řeší problém jednoduše:
Pro každého zákazníka zvolí automaticky takový QR standard, který jeho banka dokáže načíst.
Jak to funguje:
- Zákazník udělá objednávku
- Plugin se podívá na:
- zemi zákazníka
- měnu objednávky
- Podle kombinace vybere správný standard:
| Země zákazníka | Měna | Použitý QR standard |
|---|---|---|
| CZ | CZK | QR Platba |
| SK | EUR | Pay by Square |
| HU | HUF | HU QR Code |
| jakákoli | EUR | EPC QR |
| jakákoli | jiná měna | žádný QR (bez podpory bank) |
A proč někdy „QR nefunguje“?
Plugin dělá vše správně — ale:
- zákazníkova banka nemusí standard podporovat,
- zákazník má starou verzi aplikace banky,
- měna neodpovídá standardu,
- účet obchodníka neodpovídá požadovanému formátu.
Doporučení pro CZ / SK e-shopy
- Nikdy nenabízej QR platbu v jiné měně, než standard očekává
→ CZK pro CZ QR, EUR pro SK a EPC - Nepoužívej QR v cross-border měnách
→ CZ → SK v CZK: raději bez QR
→ SK → CZ v EUR: raději EPC QR (pokud vůbec) - QR kódy jsou jen „komfortní funkce“, ne povinnost
→ mnoho zahraničních aplikací QR nepodporuje - Pro Polsko, UK apod. QR nenabízej
→ banky používají zcela jiné standardy
QR platby jsou dobrým pomocníkem ale plné chaosu
QR platby nejsou univerzální technologie.
Každá země má vlastní standard, každá banka vlastní podporu a mezi sebou jsou standardy nekompatibilní.
Proto:
- QR Platba funguje jen v ČR
- Pay by Square jen na Slovensku
- EPC QR funguje jen v EUR a jen v části EU
- a PL QR funguje jen s polským NRB účtem
Tahle fragmentace je přesně důvod, proč vznikl modul WPify Woo QR Payments — aby e-shopaři nemuseli studovat QR standardy 20 zemí a ručně řešit, kdy QR vytvořit a kdy ne.
WPify Woo:
- automaticky vybere vhodný QR standard,
- chrání před chybami měn,
- zamezuje špatným převodům (100 EUR → 100 CZK),
- funguje pro CZ, SK i většinu EU,
Martin Svoboda
Programmer, support
Martin is most often encountered when supporting our plugins. He also takes care of the maintenance and development of the sites and plugins.
Discussion
Ostatní články
Cyber Monday: poslední dny se slevou 40 %
Nestihli jste Black Friday? Je tu Cyber Monday! Sleva –40 % na první rok předplatného pokračuje! Poslední šance a jen na omezenou dobu — pouhé 3 dny.
Martin Svoboda
30. 11. 2025
Připravte svůj e-shop na Black Friday snadno a rychle s WPify Woo Discount Rules
Předvánoční sezóna je tady. Potřebujete výprodeje, BOGO akce, dárky k nákupu nebo „dopravu zdarma od X“ – a hlavně rychle, srozumitelně a bez chaosu? Novinka WPify Woo Discount Rules promění vaše nápady v akce, které skutečně zvyšují tržby a drží kontrolu ve vašich rukou.
Martin Svoboda
15. 10. 2025
Comgate pro WooCommerce v10 – nová generace plateb s předautorizací a mnoha vylepšeními
Objevte novou verzi pluginu Comgate pro WooCommerce. Předautorizace plateb, podpora blokové pokladny, samostatné metody a plná kontrola nad stavem transakcí.
Martin Svoboda
30. 7. 2025
Napsat komentář