PHPackages                             kouinkouin/be-bank-transfer-message - 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. kouinkouin/be-bank-transfer-message

ActiveLibrary[Payment Processing](/categories/payments)

kouinkouin/be-bank-transfer-message
===================================

Generate and validate Belgian bank transfer structured messages

v0.1.4(8y ago)33.0k↓33.3%2MITPHPPHP &gt;=5.4.0

Since Jan 25Pushed 8y ago1 watchersCompare

[ Source](https://github.com/kouinkouin/be-bank-transfer-message)[ Packagist](https://packagist.org/packages/kouinkouin/be-bank-transfer-message)[ Docs](https://github.com/kouinkouin/be-bank-transfer-message)[ RSS](/packages/kouinkouin-be-bank-transfer-message/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (6)Used By (0)

BE Bank Transfer Message
========================

[](#be-bank-transfer-message)

[![Latest Version](https://camo.githubusercontent.com/ac56a78c153b3716278304bd26abe3ef13cb0e01a7f45d365b07befa60e9d98a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6b6f75696e6b6f75696e2f62652d62616e6b2d7472616e736665722d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](https://github.com/kouinkouin/be-bank-transfer-message/releases)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/5e77648339b45f7210f276ba91d185a155e9547b76a23e2de29d1a6a1a2ea995/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6b6f75696e6b6f75696e2f62652d62616e6b2d7472616e736665722d6d6573736167652f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/kouinkouin/be-bank-transfer-message)[![Coverage Status](https://camo.githubusercontent.com/0392f747525076986a6ea30005d2686470f14a9c9ddb275e222a59590db655ed/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f6b6f75696e6b6f75696e2f62652d62616e6b2d7472616e736665722d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/kouinkouin/be-bank-transfer-message/code-structure)[![Quality Score](https://camo.githubusercontent.com/d40667981877fe549323cbdf3c61472e36497d0d115e10a883f1d0150b8e3eeb/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6b6f75696e6b6f75696e2f62652d62616e6b2d7472616e736665722d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/kouinkouin/be-bank-transfer-message)[![Total Downloads](https://camo.githubusercontent.com/7737fb6ce0908bc941262c59af7e236bebbe3be5c67ccfe58468be7322974d34/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6f75696e6b6f75696e2f62652d62616e6b2d7472616e736665722d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kouinkouin/be-bank-transfer-message)

This package contains a validator and generator for structured messages included in Belgian bank transfers. Common use cases:

- Automatic generation of order invoices.
- Association of payment provider messages to orders stored in your application.

The structured message format adheres to the [Febelfin Guidelines](https://www.febelfin.be/sites/default/files/files/dw-formulier_euro2.pdf)

Install
-------

[](#install)

Via Composer

```
$ composer require kouinkouin/be-bank-transfer-message
```

Usage
-----

[](#usage)

### Generate a structured message

[](#generate-a-structured-message)

Based on a random number

```
$transferMessage = new BeBankTransferMessage\TransferMessage();
echo transferMessage->getStructuredMessage();
```

Based on a predefined number

```
$transferMessage = new BeBankTransferMessage\TransferMessage(12345);
echo transferMessage->getStructuredMessage();
```

Change to a different predefined number

```
$transferMessage->setNumber(54321);
$transferMessage->generate();
echo transferMessage->getStructuredMessage();
```

Or a random number

```
$transferMessage->setNumber();
$transferMessage->generate();
echo transferMessage->getStructuredMessage();
```

The default, valid circumfix of a structured message is the plus sign. Optionally, it's possible to use asterisks as a circumfix, if your formatting demands it.

```
$transferMessage->setNumber();
$transferMessage->generate(TransferMessage::CIRCUMFIX_ASTERISK);
echo transferMessage->getStructuredMessage();
```

### Validate a structured message

[](#validate-a-structured-message)

A valid message

```
$transferMessage = new BeBankTransferMessage\TransferMessage();
$transferMessage->setStructuredMessage('+++090/9337/55493+++');
$result = $transferMessage->validate();  // TRUE
```

An invalid message

```
$transferMessage = new BeBankTransferMessage\TransferMessage();
$transferMessage->setStructuredMessage('+++011/9337/55493+++');
$result = $transferMessage->validate();  // FALSE
```

Additionally the setter method will throw an `TransferMessageException()` if the format of the structured message is not valid.

Testing
-------

[](#testing)

```
$ phpunit
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](https://github.com/kouinkouin/be-bank-transfer-message/blob/master/CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Matthias Vandermaesen](https://github.com/Netsensei)
- [kouinkouin](https://github.com/kouinkouin)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.6% 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 ~245 days

Total

5

Last Release

3143d ago

PHP version history (2 changes)0.1.0PHP &gt;=5.3.0

v0.1.3PHP &gt;=5.4.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/34220c8b8b89511e2d8aa0fd91f785d1dfa245c86d98a3217901cc43e05947d0?d=identicon)[kouinkouin](/maintainers/kouinkouin)

---

Top Contributors

[![netsensei](https://avatars.githubusercontent.com/u/105355?v=4)](https://github.com/netsensei "netsensei (21 commits)")[![kouinkouin](https://avatars.githubusercontent.com/u/3999492?v=4)](https://github.com/kouinkouin "kouinkouin (11 commits)")

---

Tags

paymentinvoiceBankfinancecommerceorderBelgiumbe-bank-transfer-messagekouinkouin

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kouinkouin-be-bank-transfer-message/health.svg)

```
[![Health](https://phpackages.com/badges/kouinkouin-be-bank-transfer-message/health.svg)](https://phpackages.com/packages/kouinkouin-be-bank-transfer-message)
```

###  Alternatives

[shetabit/payment

Laravel Payment Gateway Integration Package

944330.1k5](/packages/shetabit-payment)[ondrakoupil/csob-eapi-paygate

PHP Client library for easy integration of ČSOB payment gateway

44416.9k3](/packages/ondrakoupil-csob-eapi-paygate)[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)[larabook/gateway

A Laravel package for connecting to all Iraninan payment gateways

24553.7k](/packages/larabook-gateway)[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)
