PHPackages                             smhg/sepa-qr - 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. smhg/sepa-qr

Abandoned → [smhg/sepa-qr-data](/?search=smhg%2Fsepa-qr-data)Library[Payment Processing](/categories/payments)

smhg/sepa-qr
============

Generate QR codes for SEPA payments

v3.1.0(6y ago)3947.4k↓50%12MITPHPPHP ^7.1

Since Nov 15Pushed 5y ago7 watchersCompare

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

READMEChangelog (8)Dependencies (2)Versions (13)Used By (0)

This project is deprecated. Use [smhg/sepa-qr-data](https://github.com/smhg/sepa-qr-data-php) instead.
======================================================================================================

[](#this-project-is-deprecated-use-smhgsepa-qr-data-instead)

A [migration guide](https://github.com/smhg/sepa-qr-data-php#migration-from-smhgsepa-qr) is available.

sepa-qr-php [![CI](https://github.com/smhg/sepa-qr-php/workflows/CI/badge.svg)](https://github.com/smhg/sepa-qr-php/actions)
============================================================================================================================

[](#sepa-qr-php-)

Generates SEPA QR codes based on the [European Payments Council's standard](http://www.europeanpaymentscouncil.eu/index.cfm/knowledge-bank/epc-documents/quick-response-code-guidelines-to-enable-data-capture-for-the-initiation-of-a-sepa-credit-transfer/epc069-12-quick-response-code-guidelines-to-enable-data-capture-for-the-initiation-of-a-sepa-credit-transfer1/). These QR codes are scannable by many mobile banking apps. Because app support is at a decent level, it is a good idea to print such a code on an invoice.

Extends [endroid/qr-code](https://github.com/endroid/QrCode) preserving all its functionality in case lower level QR code manipulation is needed.

> **PHP 8 support:** use [smhg/sepa-qr-data](https://github.com/smhg/sepa-qr-data-php).

> **PHP 5.6 and &lt;7.1 support:** use version 2.x of this library.

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

[](#installation)

```
composer require smhg/sepa-qr
```

Example
-------

[](#example)

```
use SepaQr\SepaQr;

$sepaQr = new SepaQr();

$sepaQr
  ->setName('Name of the beneficiary')
  ->setIban('BE123456789123456789')
  ->setAmount(100) // The amount in Euro
  ->setRemittanceText('Invoice 123456789')
  ->setSize(300);

// Output to browser:
header('Content-Type: ' . $sepaQr->getContentType());
echo $sepaQr->writeString();

// Or embed as image:
echo '';

// Or generate a temporary file:
$tmpFileName = tempnam('/tmp', 'prefix');
$tmpFile = fopen($tmpFileName, 'w');
fwrite($tmpFile, $sepaQr->writeString());
// ... add file to your PDF
fclose($tmpFile);
unlink($tmpFileName);
```

Methods
-------

[](#methods)

### setServiceTag($serviceTag = 'BCD')

[](#setservicetagservicetag--bcd)

Set the service tag. Currently (?) only one value is allowed: BCD.

### setVersion($version = 2)

[](#setversionversion--2)

Set the SEPA QR standard version. In version 1 a BIC is mandatory. In version 2 a BIC is only mandatory outside EEA countries.

### setCharacterSet($characterSet = SepaQr::UTF\_8)

[](#setcharactersetcharacterset--sepaqrutf_8)

Set the character set. Available constants are **UTF\_8**, **ISO8859\_5**, **ISO8859\_1**, **ISO8859\_7**, **ISO8859\_2**, **ISO8859\_10**, **ISO8859\_4** or **ISO8859\_15**.

### setIdentification($identification = 'SCT')

[](#setidentificationidentification--sct)

Set the identification code. Currently (?) only one value is allowed: SCT.

### setBic($bic)

[](#setbicbic)

Set the AT-23 BIC of the beneficiary bank.

### setName($name)

[](#setnamename)

Set the AT-21 name of the beneficiary

### setIban($iban)

[](#setibaniban)

Set the AT-20 account number of the beneficiary. Only IBAN is allowed.

### setAmount($amount)

[](#setamountamount)

Set the AT-04 amount of the credit transfer. Currently (?) only amounts in Euro are allowed.

### setPurpose($purpose)

[](#setpurposepurpose)

Set the AT-44 purpose of the credit transfer.

### setRemittanceReference($remittanceReference)

[](#setremittancereferenceremittancereference)

Set the AT-05 remittance information (structured). Creditor reference (ISO 11649) RF creditor reference may be used.

### setRemittanceText($remittanceText)

[](#setremittancetextremittancetext)

Set the AT-05 remittance information (unstructured).

### setInformation($information)

[](#setinformationinformation)

Set the beneficiary to originator information.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity40

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 86.1% 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 ~145 days

Recently: every ~206 days

Total

12

Last Release

1863d ago

Major Versions

v0.1.0 → v1.0.02017-01-09

v1.1.0 → v2.0.02017-11-05

v1.1.1 → v2.1.02019-01-03

v2.3.0 → v3.0.02019-06-25

PHP version history (7 changes)v0.1.0PHP &gt;=5.3.0

v1.0.0PHP &gt;=5.5.0

v2.0.0PHP &gt;=7.0.0

v2.0.1PHP &gt;=7.0.22

v2.1.0PHP &gt;=5.6

v3.0.0PHP &gt;=7.2

v3.1.0PHP ^7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/8f5aff3cb1755a1fbf76ff89754e1ad996338a7ebfa1c24301f319a28938f517?d=identicon)[smhg](/maintainers/smhg)

---

Top Contributors

[![smhg](https://avatars.githubusercontent.com/u/2411348?v=4)](https://github.com/smhg "smhg (31 commits)")[![ThomasLandauer](https://avatars.githubusercontent.com/u/1054469?v=4)](https://github.com/ThomasLandauer "ThomasLandauer (3 commits)")[![makuser](https://avatars.githubusercontent.com/u/1778889?v=4)](https://github.com/makuser "makuser (1 commits)")[![romainnorberg](https://avatars.githubusercontent.com/u/7681951?v=4)](https://github.com/romainnorberg "romainnorberg (1 commits)")

---

Tags

paymentqrsepa

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/smhg-sepa-qr/health.svg)

```
[![Health](https://phpackages.com/badges/smhg-sepa-qr/health.svg)](https://phpackages.com/packages/smhg-sepa-qr)
```

###  Alternatives

[dfridrich/qr-platba

Generování QR Plateb a QR Faktur v PHP.

47270.8k1](/packages/dfridrich-qr-platba)[mjaschen/bezahlcode

BezahlCode Generator Library

128.1k](/packages/mjaschen-bezahlcode)

PHPackages © 2026

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