Download the PHP package 4vplacek/qr-payment without Composer
On this page you can find all versions of the php package 4vplacek/qr-payment. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package qr-payment
qr-payment
Multiformátový generátor platebních QR kódů nad jedním sdíleným datovým modelem.
| Formát | Region | Výstup | Standard |
|---|---|---|---|
| SPAYD | 🇨🇿 ČR | SPD*1.0*... |
Czech Banking Association |
| Payment Link (Payme v2) | 🇸🇰 SK | https://payme.sk/2/... |
SBA Payment Link Standard 2.0 |
| EPC QR (GiroCode) | 🇪🇺 EU/SEPA | BCD\n002\n... |
EPC069-12 |
- QR kód dle ISO/IEC 18004, error correction level M (15 %)
- ASCII normalizace jmen/zpráv (odstranění diakritiky)
- Žádné zaokrouhlování částek — vstup jako string nebo int (centy), nikdy float
- Okamžitá platba u CZ QR ve výchozím stavu (SPAYD
PT:IP)
Instalace
Vyžaduje PHP ≥ 8.1 a rozšíření mbstring, intl, gd.
Použití
CZ — SPAYD
SK — Payment Link / Payme v2
Vyžaduje měnu EUR a jméno příjemce. type určuje povinnost ostatních polí
(p = P2P, m = POI dynamic, e = e-commerce, q = POI static/donation).
EU/SEPA — EPC QR / GiroCode
Vyžaduje měnu EUR a jméno příjemce. Payload je omezen na 331 bytů.
Datový model
| Vlastnost | SPAYD | Payment Link | EPC QR |
|---|---|---|---|
setIban() |
ACC |
IBAN |
řádek 7 |
setBic() |
ACC+BIC |
— | řádek 5 |
setAmount() |
AM |
AM |
řádek 8 (EUR12.50) |
setCurrency() |
CC |
jen EUR |
jen EUR |
setRecipientName() |
RN (35) |
CN (70) |
řádek 6 (70) |
setMessage() |
MSG (60) |
MSG (140) |
řádek 10 (140) |
setVariableSymbol() |
X-VS |
PI=/VS |
— |
setSpecificSymbol() |
X-SS |
PI=/SS |
— |
setConstantSymbol() |
X-KS |
PI=/KS |
— |
setPaymentReference() |
RF |
PI |
řádek 10 (strukturovaná) |
setInstantPayment() |
PT:IP |
— | — |
setPaymentType() |
PT |
— | — |
setPurpose() |
— | — | řádek 9 (SEPA purpose) |
setDueDate() |
DT |
DT (jen p) |
— |
Okamžitá platba (CZ)
Okamžitá platba (SPAYD PT:IP) je zapnutá ve výchozím stavu — dnes je
běžnější než zadávat datum splatnosti. Banka ji provede, pokud to umožňuje.
Ovlivňuje pouze SPAYD; Payment Link ani EPC takové pole nemají.
Částky a zaokrouhlování
setAmount() přijímá string ('250.00') nebo int v centech (25000).
Float se vědomě nepřijímá — knihovna nikdy nezaokrouhluje. Více než 2 desetinná
místa vyhodí InvalidPaymentDataException.
Validace IBAN
Defaultně zapnutá (formát + mod-97 checksum). Vypnutí pro hraniční případy:
Nette / Latte
V presenteru předáme do šablony surová data QR kódu:
V šabloně Latte:
Filtr dataStream zakóduje binární data do data: URI (MIME se detekuje
automaticky, případně {$qrPng|dataStream:'image/png'}). Alternativně lze
v presenteru rovnou předat hotové data: URI metodami knihovny
->pngDataUri() / ->svgDataUri():
Vývoj
Branding
BrandedSvgOutput vykresluje QR jako vlastní SVG (vektor) s brandingem dle formátu:
| Preset | Formát | Vzhled |
|---|---|---|
qrPlatba() |
CZ | tenká černá čára kolem quiet zone + „QR platba" (Arial Bold) — dle grafického manuálu ČBA |
payme() |
SK | vložené Payme logo pod QR kódem |
plain() |
EU/ostatní | holý QR bez brandingu |
Pro PNG popisek bez vektoru je k dispozici QrLabelOutput (vestavěný GD font,
volitelně TTF jako DejaVu Sans / Liberation Sans → nulové licenční riziko fontu).
Payme logo
resources/payme-logo.svg je ochranná známka provozovatele standardu Payme
(payme.sk / Slovenská banková asociácia). Je přibaleno výhradně pro označení
QR kódu příslušným platebním standardem; práva náleží jeho vlastníkovi.
Licence
MIT
All versions of qr-payment with dependencies
ext-mbstring Version *
ext-intl Version *
ext-gd Version *
chillerlan/php-qrcode Version ^5.0