A simple PHP ISO8583 pack and unpack library
DEPRECATED. I'll no longer be maintaining this repository. If you're interested in becoming a maintainer, please contact me.
Packing the message
$cacheManager = new CacheManager();
$cacheManager->generateSchemaCache(new ISO8583());
/** @var ISO8583 $schemaManager */
$schemaManager = new SchemaManager(new ISO8583(), $cacheManager);
$schemaManager->setCurrencyCodeCardholderBilling('GBP');
$schemaManager->setPrivateReserved6('Your topup was successful');
/** @var MessagePacker $message */
$message = (new Financial($cacheManager))->pack($schemaManager);
$message->setHeaderLength(2);
$message->setMti('0200');
echo $message->generate();
Unpacking the message
$cacheManager = new CacheManager();
$cacheManager->generateSchemaCache(new ISO8583());
/** @var ISO8583 $schemaManager */
$schemaManager = new SchemaManager(new ISO8583(), $cacheManager);
/** @var MessageUnpacker $message */
$message = (new Financial($cacheManager))->unpack($schemaManager);
$message->setHeaderLength(2);
$parsedMessage = $message->parse("012430323030f23e4491a8e08020000000000000002031362a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a303030303030303030303030303031303030313231323134353430383030303030393134353430383132313231373033313231333030303039303230304330303030303030303036303030303230303630303030323033372a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a504652333437303030303039323837353937353830303030303030303030333039333733303134373430342054657374204167656e74203220204861746669656c64202020202048654742383236303238303030303030323136317c303030307c504652333437303030303039303135353630313031323634303243313031");
/** @var ISO8583 $schema */
$schema = $parsedMessage->getParsedSchema();
echo $parsedMessage->getMti();
echo $schema->getCardAcceptorNameLocation();
Install the latest version with Composer:
composer require kaperys/financial
kaperys/financial is a simple PHP ISO8583 message pack/unpack library, capable of supporting multiple message schemas and versions.
- PHP v7.0+
Please use the GitHub issue tracker to report bugs.
Please use the HubFlow branching strategy to contribute work, using the GitHub issue tracker ID as your branch key. For example, feature/1_ComposerSupport.
If you would like to contribute to core (non-issue) work, please grep the codebase for @todo
.
Mike Kaperys - [email protected] - https://kaperys.io
kaperys/financial is licensed under the MIT License - see the LICENSE
file for details
See changelog.md
See roadmap.md