PHPackages                             thecnology/czeurqrcode - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. thecnology/czeurqrcode

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

thecnology/czeurqrcode
======================

UniversalQRCodeGenerator

v1.0.7(1mo ago)2353MITPHPPHP ^8.0.0

Since Jun 14Pushed 1mo agoCompare

[ Source](https://github.com/thecnology/czeurqrcode)[ Packagist](https://packagist.org/packages/thecnology/czeurqrcode)[ RSS](/packages/thecnology-czeurqrcode/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (9)Versions (13)Used By (0)

CzEurQrCode
===========

[](#czeurqrcode)

thanks to [Endroid QR Code](https://github.com/endroid/qr-code) for QR code generation

thanks to [sunfoxcz/spayd-php](https://github.com/sunfoxcz/spayd-php) for SPAYD payment request generation

thanks to [rikudou/skqrpayment](https://github.com/RikudouSage/QrPaymentSK) for Slovak Pay by Square generation

Popis
-----

[](#popis)

Balíček pro generování QR kódů s automatickou detekcí typu platby

Tento balíček vytváří QR kódy pro platby s inteligentní logikou:

- **Pro CZK platby** → Generuje **českou QR platbu** (SPAYD)
- **Pro EUR + `country: 'SK'`** → Generuje **slovenskou Pay by Square** platbu
- **Pro ostatní měny** → Generuje **SEPA platbu** (evropský standard)

Funkčnost
---------

[](#funkčnost)

Balíček rozpozná správný formát na základě parametrů (currency, country, IBAN/účet) a podle toho vybere odpovídající standard:

- **CZK + číslo účtu/kód banky** → Česká QR platba (SPAYD)
- **EUR + `country: 'SK'` + IBAN** → Slovenská QR platba (Pay by Square)
- **Ostatní (EUR/USD/... + IBAN)** → SEPA platba (evropský standard)
- Vrací hotový QR kód připravený k použití
- Možnost přizpůsobení vzhledu QR kódu (velikost, barvy, text)
- Podpora pro přidání loga do QR kódu

### Tabulka rozhodování

[](#tabulka-rozhodování)

currencycountryIBANúčet+bankaVýsledekCZK––✓SPAYD (CZ)EUR`SK`✓–Pay by Square (SK)EUR/jiné– / `null`✓–SEPA (EU)Použití
-------

[](#použití)

Ideální pro aplikace, které potřebují podporovat české QR platby, slovenské Pay by Square i mezinárodní SEPA převody v jednom řešení. Balíček umožňuje snadné generování QR kódů pro různé platební standardy bez nutnosti psát vlastní logiku detekce.

Instalace
---------

[](#instalace)

```
composer require thecnology/czeurqrcode
```

> ℹ️ Pro slovenské Pay by Square platby je vyžadována binárka `xz` v systému (LZMA1 komprese).
>
> - Linux (Debian/Ubuntu): `apt install xz-utils`
> - macOS: `brew install xz`
> - Docker image v tomto repu už `xz-utils` obsahuje.

Instalace skrz Docker
---------------------

[](#instalace-skrz-docker)

```
docker pull djvitto/czeurqrcode:latest
docker run -d -p 8080:80 --name czeurqrcode djvitto/czeurqrcode:latest
```

Image obsahuje HTTP endpoint, který přijímá URL parametry a vrací PNG s QR kódem.

### Docker URL příklady

[](#docker-url-příklady)

#### CZ — Česká QR platba (SPAYD)

[](#cz--česká-qr-platba-spayd)

```
http://localhost:8080/?bankCode=2010&accountNumber=123456789&amount=100&currency=CZK&vs=123456789&message=Test&size=300&label=Děkujeme!

```

#### SK — Slovenská QR platba (Pay by Square)

[](#sk--slovenská-qr-platba-pay-by-square)

Vyžaduje `country=SK` + IBAN. Bez `country=SK` by se vygenerovala SEPA.

```
http://localhost:8080/?amount=100&currency=EUR&country=SK&iban=SK6807200002891987426353&vs=123456&message=Platba&size=300&label=Ďakujeme!

```

#### EU — SEPA platba

[](#eu--sepa-platba)

```
http://localhost:8080/?amount=100&currency=EUR&iban=CZ6508000000192000145399&swift=GIBACZPX&recipientName=Jan%20Novak&message=Test&size=300&label=Děkujeme!

```

### Podporované URL parametry

[](#podporované-url-parametry)

ParametrPovinnýPopis`amount`✓Částka`currency`✓`CZK` / `EUR` / `USD``country`– (jen pro SK)`SK` vynutí Pay by Square, `CZ` ponechá SPAYD`bankCode`– (jen pro CZ)Kód banky (CZ)`accountNumber`– (jen pro CZ)Číslo účtu (CZ)`iban`– (povinný pro SK/EU)IBAN`swift`– (pro SEPA)BIC/SWIFT kód`recipientName`– (pro SEPA)Jméno příjemce`vs`–Variabilní symbol`message`–Zpráva (max 35 znaků)`size`–Velikost QR (50–300 px)`label`–Popisek pod QR kódemPříklady použití
----------------

[](#příklady-použití)

### CZ — Česká QR platba (SPAYD)

[](#cz--česká-qr-platba-spayd-1)

Pro tuzemské CZK platby použij číslo účtu + kód banky. Knihovna vygeneruje SPAYD.

```
$qr = new QrCodeGenerator();
$request = new PaymentRequest(
    amount: 100.00,
    currency: PaymentRequest::CURRENCY_CZK,
    message: 'Nejaka zprava co uvidi vlastnik uctu pri prijeti platby',
    accountNumber: '100000',
    bankCode: '2010',
    variableSymbol: '123456789',
);
header('Content-Type: image/png');
echo $qr->getQrCode(qrData: $request->getQrCodeData(), qrLabel: 'Děkujeme za zaplacení!')->getString();
```

### SK — Slovenská QR platba (Pay by Square)

[](#sk--slovenská-qr-platba-pay-by-square-1)

Pro slovenské banky použij EUR + IBAN + parametr `country: COUNTRY_SK`. Bez `country: 'SK'` by se vygenerovala SEPA, kterou slovenské banky méně podporují.

```
$qr = new QrCodeGenerator();
$request = new PaymentRequest(
    amount: 100.00,
    currency: PaymentRequest::CURRENCY_EUR,
    message: 'Platba za sluzby',
    variableSymbol: '123456789',
    iban: 'SK6807200002891987426353',
    country: PaymentRequest::COUNTRY_SK, // klíčové: vynutí formát Pay by Square
);
header('Content-Type: image/png');
echo $qr->getQrCode(qrData: $request->getQrCodeData(), qrLabel: 'Ďakujeme!')->getString();
```

### EU — SEPA platba

[](#eu--sepa-platba-1)

Pro mezinárodní EUR / cizoměnové platby v rámci SEPA. Bez `country` parametru (nebo s `country: null`) se použije evropský standard.

```
$qr = new QrCodeGenerator();
$request = new PaymentRequest(
    amount: 100.00,
    currency: PaymentRequest::CURRENCY_EUR,
    message: 'Nejaka zprava co uvidi vlastnik uctu pri prijeti platby',
    iban: 'CZ6500000000000000000000',
    bic: 'FIOBCZPPXXX',
    recipientName: 'Recipient name', // Pouze pro SEPA QR
);
header('Content-Type: image/png');
echo $qr->getQrCode(qrData: $request->getQrCodeData(), qrLabel: 'Děkujeme za zaplacení!')->getString();
```

```
//moznost konfigurovat vzhled QR kódu - logo
$logo = new Logo(
    path: __DIR__.'/assets/bender.png',
    resizeToWidth: 50,
    punchoutBackground: true
);
//moznost konfigurovat vzhled QR kódu
$qr = new QrCodeGenerator(
    size: 300, // Size of the QR code in pixels
    margin: 10, // Margin around the QR code
    logo: $logo, // Logo to be added to the QR code
    errorCorrectionLevel: ErrorCorrectionLevel::Low,
    roundBlockSizeMode: RoundBlockSizeMode::Margin,
    foregroundColor: new Endroid\QrCode\Color\Color(0,0,0), // Foreground color in hex format
    backgroundColor: new Endroid\QrCode\Color\Color(255,255,244), // Background color in hex format
    labelColor: new Endroid\QrCode\Color\Color(100,0,0) // Color for the label text
);
```

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance88

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~46 days

Recently: every ~81 days

Total

8

Last Release

59d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2be6b15989f7d9d68de505f5fa822d709ae81b394f4a7149c664e68feef77d57?d=identicon)[thecnology](/maintainers/thecnology)

---

Top Contributors

[![thecnology](https://avatars.githubusercontent.com/u/520860?v=4)](https://github.com/thecnology "thecnology (21 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/thecnology-czeurqrcode/health.svg)

```
[![Health](https://phpackages.com/badges/thecnology-czeurqrcode/health.svg)](https://phpackages.com/packages/thecnology-czeurqrcode)
```

###  Alternatives

[nativephp/mobile

NativePHP for Mobile

1.1k75.1k90](/packages/nativephp-mobile)[kimai/kimai

Kimai - Time Tracking

4.8k9.0k1](/packages/kimai-kimai)[ec-europa/toolkit

Toolkit packaged for Drupal projects based on Robo.

40252.8k34](/packages/ec-europa-toolkit)[verbb/events

A full-featured plugin for event management and ticketing.

2311.9k](/packages/verbb-events)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
