Skip to content

consilience/iso8583

 
 

Repository files navigation

consilience/iso8583

A simple PHP ISO8583 pack and unpack library

Build Status FIXME: Coverage Status License: MIT

Basic Usage

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();

Installation

Install the latest version with Composer:

composer require consilience/iso8583

About

consilience/iso8583 is a simple PHP ISO8583 message pack/unpack library, capable of supporting multiple message schemas and versions.

Requirements

  • PHP v7.0+

Documentation

Issues

Please use the GitHub issue tracker to report bugs.

Contributing

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.

License

consilience/iso8583 is licensed under the MIT License - see the LICENSE file for details

Change Log

See changelog.md

Roadmap

See roadmap.md

Packages

No packages published

Languages

  • PHP 99.7%
  • Dockerfile 0.3%