PHPackages                             ion-bazan/pl-qr-payment - 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. [Payment Processing](/categories/payments)
4. /
5. ion-bazan/pl-qr-payment

ActiveLibrary[Payment Processing](/categories/payments)

ion-bazan/pl-qr-payment
=======================

This library helps you generate payment QR codes for Polish bank mobile applications

v2.1.0(8mo ago)358.5k↓27.6%3MITPHPPHP ^8.1CI passing

Since Sep 22Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/IonBazan/pl-qr-payment)[ Packagist](https://packagist.org/packages/ion-bazan/pl-qr-payment)[ RSS](/packages/ion-bazan-pl-qr-payment/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (3)Versions (8)Used By (0)

QR Payment (PL)
===============

[](#qr-payment-pl)

[![Latest Stable Version](https://camo.githubusercontent.com/89874c2377d68d030f20f52b966867411e9749fc4767941aec40a8efe9cfbc44/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696f6e2d62617a616e2f706c2d71722d7061796d656e742e737667)](https://packagist.org/packages/ion-bazan/pl-qr-payment)[![Build Status](https://camo.githubusercontent.com/ab53ed56182e464d1612d304e16b9ee5240b5bd51f742feea0398bd2e99babd5/687474703a2f2f696d672e736869656c64732e696f2f7472617669732f636f6d2f496f6e42617a616e2f706c2d71722d7061796d656e742e737667)](http://travis-ci.com/IonBazan/pl-qr-payment)[![Codecov](https://camo.githubusercontent.com/07dbb8e2ab11ed27a041f7253ff32fb280c00d61ed2a921baf237d9ddd225af2/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f496f6e42617a616e2f706c2d71722d7061796d656e742f6d61737465722e737667)](https://codecov.io/gh/IonBazan/pl-qr-payment)[![Mutation testing badge](https://camo.githubusercontent.com/29c9d3df667ba5cc5ae1ca45bdb5074f864df1d11e5c6a8722fca7c9a21b71d0/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f7374796c653d666c61742675726c3d687474707325334125324625324662616467652d6170692e737472796b65722d6d757461746f722e696f2532466769746875622e636f6d253246496f6e42617a616e253246706c2d71722d7061796d656e742532466d6173746572)](https://dashboard.stryker-mutator.io/reports/github.com/IonBazan/pl-qr-payment/master)[![Total Downloads](https://camo.githubusercontent.com/c45854c128ee12127713e7c6f98b5c604c4cb2894fe96d37daf94416872f79d5/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f696f6e2d62617a616e2f706c2d71722d7061796d656e742e737667)](https://packagist.org/packages/ion-bazan/pl-qr-payment)[![Monthly Downloads](https://camo.githubusercontent.com/7c14d9beae64f68b02a5c3dd1163090f51092690c301280a8fa01e012bc90ee1/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f696f6e2d62617a616e2f706c2d71722d7061796d656e742e737667)](https://packagist.org/packages/ion-bazan/pl-qr-payment)[![License](https://camo.githubusercontent.com/13c9b3e85073a9f5b7a5b4ea54b2f8adc65a244e3afeee3a2159d0258201ee98/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f696f6e2d62617a616e2f706c2d71722d7061796d656e742e737667)](https://packagist.org/packages/ion-bazan/pl-qr-payment)

This library helps you generate payment QR codes for Polish bank mobile applications. This is useful in invoice generators, etc to let your customers pay event faster 💸.

Makes use of [endroid/qr-code](https://github.com/endroid/qr-code) for QR-code generation but you can use any library, because the QR string is available via `getQrString()` method.

**Please note, that this library is only suitable for Polish bank systems**

Installation
------------

[](#installation)

Use [Composer](https://getcomposer.org/) to install the library.

```
composer require ion-bazan/pl-qr-payment
```

Minimal usage example
---------------------

[](#minimal-usage-example)

```
use IonBazan\PaymentQR\Poland\QrPayment;

$payment = new QrPayment(
    '4249000050026313017364142', // Account number
    'Testowy odbiorca',          // Recipient name
    'Tytuł płatności',           // Payment title
    12345                        // Amount in gr
);

/** @var \Endroid\QrCode\QrCode $qrCode */
$qrCode = $payment->getQrCode(); // Do anything you want with the QrCode object

header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
```

Advanced usage
--------------

[](#advanced-usage)

```
use IonBazan\PaymentQR\Poland\QrPayment;

$payment = new QrPayment(
    '4249000050026313017364142', // Account number
    'Testowy odbiorca',          // Recipient name
    'Tytuł płatności',           // Payment title
    12345,                       // Amount in gr
    '5214349636',                // Recipient NIP (optional)
    'PL',                        // Country code (only PL is supported) (optional)
    '11223344',                  // Customer ID for Direct Debit (optional)
    '990066'                     // Invoobill ID (optional)
);

$qrString = $payment->getQrString(); // You can encode it using the QR library of your choice ...
echo $qrString;                      // ... or just print it for debug
```

Validation
----------

[](#validation)

Currently, this library does not offer any fancy validation. It tries to stop you from breaking things by stripping invalid characters but don't expect too much. You should already have your data valid before generating the QR code.

Footnotes
---------

[](#footnotes)

This library is a quick approach to implement so called [Rekomendacja Związku Banków Polskich dotycząca kodu dwuwymiarowego („2D”), umożliwiającego realizację polecenia przelewu oraz aktywację usług bankowych na rynku polskim - wersja 1.0](https://zbp.pl/getmedia/1d7fef90-d193-4a2d-a1c3-ffdf1b0e0649/2013-12-03_-_Rekomendacja_-_Standard_2D)

According to that document, QR codes should have following parameters:

ParameterValueType**QR**Size**250 px** (min. 1.8 cm x 1.8 cm)Error Correction**Low (L)**Encoding**UTF-8**License
-------

[](#license)

This library is under the MIT license.

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance65

Regular maintenance activity

Popularity35

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 96.3% 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 ~425 days

Recently: every ~552 days

Total

7

Last Release

245d ago

Major Versions

v1.1.0 → v2.0.02022-09-05

PHP version history (4 changes)v1.0.0-beta1PHP ^7.1

v1.0.0-beta2PHP ^7.2

1.x-devPHP &gt;= 7.2

v2.0.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1985514?v=4)[Ion Bazan](/maintainers/IonBazan)[@IonBazan](https://github.com/IonBazan)

---

Top Contributors

[![IonBazan](https://avatars.githubusercontent.com/u/1985514?v=4)](https://github.com/IonBazan "IonBazan (26 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")

---

Tags

bankingpaymentphppolandqr-codetransferqrpaymentinvoiceBanktransferpolishfakturawirepolandprzelewkod

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ion-bazan-pl-qr-payment/health.svg)

```
[![Health](https://phpackages.com/badges/ion-bazan-pl-qr-payment/health.svg)](https://phpackages.com/packages/ion-bazan-pl-qr-payment)
```

###  Alternatives

[shetabit/payment

Laravel Payment Gateway Integration Package

944330.1k5](/packages/shetabit-payment)[shetabit/multipay

PHP Payment Gateway Integration Package

291348.2k3](/packages/shetabit-multipay)[payum/offline

The Payum extension. It provides Offline payment integration.

323.4M13](/packages/payum-offline)[rikudou/skqrpayment

QR payment library for Slovak accounts

35796.2k1](/packages/rikudou-skqrpayment)[ondrakoupil/csob-eapi-paygate

PHP Client library for easy integration of ČSOB payment gateway

44416.9k3](/packages/ondrakoupil-csob-eapi-paygate)[021/laravel-wallet

Reliable and flexible wallet system for Laravel

2785.2k](/packages/021-laravel-wallet)

PHPackages © 2026

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