Skip to content
This repository has been archived by the owner on Jan 28, 2019. It is now read-only.
/ financial Public archive

A simple PHP ISO8583 pack and unpack library

License

Notifications You must be signed in to change notification settings

kaperys/financial

Repository files navigation

kaperys/financial

A simple PHP ISO8583 pack and unpack library

Build Status Coverage Status License: MIT


DEPRECATED. I'll no longer be maintaining this repository. If you're interested in becoming a maintainer, please contact me.


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 kaperys/financial

About

kaperys/financial 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.

Author

Mike Kaperys - [email protected] - https://kaperys.io

License

kaperys/financial is licensed under the MIT License - see the LICENSE file for details

Change Log

See changelog.md

Roadmap

See roadmap.md