ISO-8583 SDK for Java and Microsoft.NET

Introduction

ISO8583 formatter/parser or call it Simple API for ISO-8583, is advanced ISO 8583 tool/SDK for financial transaction applications such as message routers, switches, authorization servers, ATMs, POS devices and ISO8583 based clearing or settlement files etc.
Our SDK library implements parsing and formatting of all 128 fields and since version 3 it supports also the extended third bitmap option in field 65 and therefore fields 129..192. SDK supports versions of 1987 (0xxx messages) and 1993 (1xxx messages) and since version 2.5 also version 2003 (2xxx messages) are supported. From version 3 update 1 any version is virtually supported so MTI could start with any number 0..9.   In addition our SDK is flexible and field settings can be customized at runtime as any of the 128/192 fields can have Your customized type and/or length, that is very useful because there is unlimited dialects and modified versions of this standard in use worldwide.

The important object in package is Message object that can contain any number of fields defined by ISO8583.     The messages itself are built up from smaller pieces that are ISOField and Bitmap objects. For creating and formatting of a message you just need to create a new message object and add necessary field information, the complete formatting is done by SDK library.
To parse incoming messages it is only necessary to set the input stream or byte array as a parameter and the parser will return the message object that contains all the fields available. Field information can be handled in applicable binary, alphanumeric or number form or can be converted to strings.

ISO-8583 SDK

Our ISO8583 SDK/API is great help for OO environments and makes simple to add ISO8583 capabilities for applications, without no need to spend significant amount of time and money for implementing low level parsing and formatting routines.

Note: Our ISO-8583 SDK V2 and V3 are available for Java (as jar package) and for .NET C# or Visual Basic (as Microsoft.net dll)!

System requirements:
Java: The ISO-8583 SDK is compatible with Java (pre 3.5 only 1.3, 1.4), 1.5, 1.6, 1.7 or later. The in-memory performance on 3.4GHz AMD A10 (single thread single core used, os Win 7 64 bit) and jdk 1.7x32 achieved is about 27000 and on jdk 1.8x64 about 40000  formatting+parsing cycles per second of an average message (with 16 fields incl. 2 bitmaps). 


.NET:  ISO-8583 SDK C# .NET version requires .net framework 2 or later and performance is now also about 31000 formatting+parsing cycles per second on AMD A10 3.4GHz (single thread one core used os Win 7 64 bit. ) 
Documentation:

Buy/order:
New: If You just want to check out some of the sdk functionality try out our online ISO-8583 TESTBED

Version update history:
Whats new in ISO-8583 SDK 3.5 release - 2015-12-17?
We are glad finally with new relase both for Java and .Net
Optimized debug (lesser duplicate content)
JCB interface support parsing mixed unpacked and packed fields
LPVARNUMBERPACKED
NUMBERPACKED
LPVARBINARY
LLPVARBINARY
TRACK2PACKED
LPVARTEXT
LLPVARTEXT
LLXPVARBINARY
LLXPVARTEXT
Same features ported to .NET
.NET version profiled and optimized to match and even exceed Java version performance.
Note: .NET users need to recompile their application when using this new version.


Whats new in ISO-8583 SDK 3.0 update 4 - 2014-06-20?
Added debug out print stream flush calls at the end of parse and format methods
so more optimized log adapters can be implemented to handle sdk output logging.

Whats new in ISO-8583 SDK 3.0 update 3 - 2013-05-20?
Minor internal improvements, newly formatted javadocs .

Whats new in ISO-8583 SDK 3.0 update 2 - 2011-11-17?
The update contains fixes for some field formatting issues for packed message formats.

Whats new in ISO-8583 SDK 3.0 update 1- 2011-08-31?
We are pleased that new updated version of SDK is available that supports iso 8583 messages where
MTI first number can be any value 0..9 so virtually any possible iso/mti version can be supported.

Whats new in ISO-8583 SDK 3.0 - 2011-04-04?
AZS is pleased to announce that later this week new version of SDK will be released
and it will be available by the end of the week. The major new functionality introduced to the 
new SDK version 3 was support for the third bitmap in field 65 and therefore support for
fields 129..192 like used in some dialects of ISO 8583 like Visa Base I and may be others.

Whats new in ISO-8583 SDK2.5 update 6 - 2010-09-30?
- Fixed a bug for Java and .NET version formatting LLVARBINARY.

Whats new in ISO-8583 SDK2.5 update 5 - 2010-06-23?
- Fixed a bug for.NET version in class TtLlVField subfield parser.

Whats new in ISO-8583 SDK2.5 update 4 - 2010-05-01?
- Fixed a bug for.NET version formatPacked of field Type.TRACK2 length if setBinlenpacked option is selected

Whats new in ISO-8583 SDK2.5 update 3 - 2010-03-18?
- Added new option that track2 data in packed form can also be padded from right with half byte '0' , config option config.setPackedTrack2PaddedRightWith0(true|false)

Whats new in ISO-8583 SDK2.5 update 2 - 2010-01-19?
- Bugs fixed for formatPacked LxVARTEXT type field formatting (both Java and .Net)

Whats new in ISO-8583 SDK2.5 update 1 - 2009-10-28?
- Bug fix for packed track2 and track3 parsing if config options 
 setPackedTrack2PaddedRightWithF or setPackedTrack3PaddedRightWithF are used

Whats new in ISO-8583 SDK2.5 release - 2009-05-21?
- Added support for ISO-8583 version 2003 to process messages with MTI 2xxx.
- Bug fix for TtLlVField setTagValue tag length 1 or 2 bytes are allowed
- Added new Config option setPackedTrack3PaddedRightWithF for .net and Java version
Enables correct parsing/formatting of packed type messages where track3 is padded with trailing 'F' (half byte in original form) 

Whats new in ISO-8583 SDK2.4 (update) - 2008-09-03?
- Added new Config option setPackedTrack2PaddedRightWithF for .net and Java version
Enables correct parsing/formatting of packed type messages where track2 is padded with trailing 'F' (half byte in original form) 

Whats new in ISO-8583 SDK2.4 - 2008-05-26?
- EBCDIC encoded messages support for .net version
- Fix parsing LLLVARNUMBER type of fields for java and .net version


Whats new in ISO-8583 SDK2.3 - 2007-04-20?
- EBCDIC encoded messages support for java version
- Minor bug fixes to .net version, new samples


Whats new in ISO-8583 SDK2.2 - 2007-01-15?
LLLTTVField utility for LLLTTV type field subfields
- Support for new field types LVARNUMBER, LVARTEXT


Whats new in ISO-8583 SDK2.1?
LLTTVField utility for LLTTV type field subfields
TtLlVField utility for TtLlV type field subfields
- License file location configuration for .net version (useful when running app as windows service)

Whats new in ISO-8583 SDK2?
- Simplified API
- Parser/formatter is now instance object
- multiple parser instances can be created with different configuration to support multithreading and concurrently process different ISO8583 specifications in same JVM


What users have said about our ISO-8583 SDK:

2009.04.16
Hi,
thanks.
In general we are very happy with the SDK- it does it's job pretty good and the possibility of reconfiguring the field definitions makes it really flexible.
The only thing that would improve the usage experience that I can instantly suggest is that the bitmaps should be updated automatically if you add/remove a field.

But it's no problem to write a live template in your favourite IDE to do this job.

Thanks,
Ludwig

petaFuel GmbH
Ludwig Adam
Geschäftsführer

2009.11.13
Thanks for this, we are happy with the sdk - does exactly what we need,
the next step for us would be to get the developer license.
Thanks,
Neno Kabzamalov, Transactor Technologies