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
Via Composer
$ composer require kouinkouin/be-bank-transfer-messageBased 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();A valid message
$transferMessage = new BeBankTransferMessage\TransferMessage();
$transferMessage->setStructuredMessage('+++090/9337/55493+++');
$result = $transferMessage->validate(); // TRUEAn invalid message
$transferMessage = new BeBankTransferMessage\TransferMessage();
$transferMessage->setStructuredMessage('+++011/9337/55493+++');
$result = $transferMessage->validate(); // FALSEAdditionally the setter method will throw an TransferMessageException() if the format of the structured message is not valid.
$ phpunitPlease see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.