A simple PHP ISO8583 pack and unpack library
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 consilience/iso8583
consilience/iso8583 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
.
consilience/iso8583 is licensed under the MIT License - see the LICENSE
file for details
See changelog.md
See roadmap.md