Skip to content

About

Generátor slovenských BY SQUARE QR kódov v php ako mikroslužba - len prekopírujete na PHP hosting a je nainštalované :)

Topics

Resources

Stars

31 stars

Watchers

4 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

PHP Pay by square

Umožňuje vytvárať jednoduché QR kódy pre slovenské platby Pay by square. Len prekopírujete na PHP hosting a máte hotovo :)

Vyskúšajte interaktívne demo.

Inštalácia

Na výber sú dve možnosti inštalácie:

  • prekopírovanie na PHP hosting
  • alebo ako mikroslužba cez Docker

Bez použitia dockera php skript funguje len na linuxových serveroch, pretože volá /usr/bin/xz. Taktiež PHP musí mať nainštalovaný modul gd. Testované s PHP 8 na Webhostingu Websupport.sk.

Inštalácia na PHP hostingu

  • nakopírujte obsah tohto repozitára na váš hosting
  • hlavny súbor je qr.php, ktorý je potrebné zavolať s parametrami (viac nižšie)

Inštalácia a spustenie pomocou Dockera

git clone https://github.com/slatinsky/php-pay-by-square
cd php-pay-by-square
docker build -t square .
docker run -p 8080:80 -d --name square-instance square

Služba je dostupná na localhoste na porte 8080 - http://localhost:8080/qr.php?....

Zmeňte port 8080 v príkaze podľa potreby.

Použitie na frontende

HTML:

<!DOCTYPE html>
<html lang="sk">
<head>
    <link rel="stylesheet" href="https://qr.example.com/assets/qr.css">
</head>
<body>   
    <img class="qr-image" src="https://qr.example.com/qr.php?price=5.01&note=pre%20jozka&iban=SK7700000000000000000000&swift=CEKOSKBX&vs=00000002&ss=2022&cs=0000&recipient=jozko%20mrkvicka&pixelsize=1&pixelpadding=0" alt="">
    <div class="qr-bottom-txt">
        <div><span class="qr-txt-blue">PAY</span> <span class="qr-txt-gray">by square</span></div>
        <img class="qr-card" src="https://qr.example.com/assets/card.svg" alt="">
    </div>
</body>
</html>

Parametre pre qr.php

Parameter Popis Ukážka Obmedzenie
price Cena 5.01 Povinný, desatinná bodka, max 2 desatinné miesta
note Poznámka k platbe pre jozka Max 140 znakov
recipient Názov príjemcu jozko mrkvicka Povinný, max 70 znakov
iban Číslo účtu (IBAN) SK7700000000000000000000 Povinný, veľké písmená, bez medzier, max 34 znakov
swift Bankový identifikačný kód (BIC/SWIFT) CEKOSKBX Povinný, veľké písmená, 8 alebo 11 znakov
vs Variabilný symbol 00000002 Len čísla, max 10 znakov
ss Špecifický symbol 2022 Len čísla, max 10 znakov
cs Konštantný symbol 0000 Len čísla, max 4 znaky
pixelsize Veľkosť obrázka 1 Číslo v rozsahu 1-50
pixelpadding Odsadenie obrázka 0 Číslo v rozsahu 0-50

Obmedzenia vychádzajú zo špecifikácie PAY by square 1.2.0. Ak parameter chýba alebo obmedzenie nespĺňa, qr.php namiesto obrázka vráti textovú chybu, napr. recipient is missing.

Dátum splatnosti je automaticky nastavený na aktuálny deň.

Ukážkový QR kód je na začiatku tohto README.md súboru.

pixelsize a pixelpadding nepotrebujete meniť ak QR kód zobrazujete v prehliadači. image-rendering: crisp-edges v css zabezpečí, že obrázok bude ostrý aj pri zväčšení a odsadenie je vyriešené pomocou padding-u v css.

Testy

Testy spustia aplikáciu v Dockeri, vygenerované QR kódy dekódujú a obsah overia voči špecifikácii PAY by square. Potrebujete len Docker:

tests/run.sh

FAQ

Nejde načítať QR kód v internet bankingu

  • Ukážkový QR kód nefunguje pre každú banku, pretože niektoré overujú existenciu IBANu (a ukážkový IBAN SK7700000000000000000000 neexistuje). Vložte svoj vlastný IBAN a vyskúšajte znova :)

Nefunguje pre české účty

  • v Česku sa používa iná špecifikácia pay by square, teda toto riešenie je možné použiť výlučne len pre slovenské účty.

Poďakovanie

Licencia

GNU General Public License v3.0

Pull requesty sú vítané :)

Ak sa vám projekt páči, ohodnoťte ho hviezdičkou ⭐️

About

Generátor slovenských BY SQUARE QR kódov v php ako mikroslužba - len prekopírujete na PHP hosting a je nainštalované :)

Topics

Resources

Stars

31 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages