Iso8583CS 1.0.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package Iso8583CS --version 1.0.0.3
NuGet\Install-Package Iso8583CS -Version 1.0.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Iso8583CS" Version="1.0.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Iso8583CS --version 1.0.0.3
#r "nuget: Iso8583CS, 1.0.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Iso8583CS as a Cake Addin
#addin nuget:?package=Iso8583CS&version=1.0.0.3

// Install Iso8583CS as a Cake Tool
#tool nuget:?package=Iso8583CS&version=1.0.0.3

Iso8583CS

A C# implementation of the ISO-8583 Protocol as a .NET Standard 2.1 Library providing the following functions:

  1. Function to build the ISO Message from a model derived from BaseMessage
byte[] Build<T>(T message, string MTI, params IsoFields[] notIncludeFields) where T : BaseMessage
  1. Function to parse the ISO Message into a model derived from BaseMessage
T Parse<T>(byte[] isoMessageBytes) where T : BaseMessage
HOW_TO_USE with simple message

For building an Iso Message, create your Message Request Class inheriting from BaseMessage class as follows:

    public class DebitRequest : BaseMessage
    {
        [IsoField(position: IsoFields.F2, maxLen: 19, lengthType: LengthType.LLVAR, contentType: ContentType.N)]
        public string Field2 { get; set; }

        [IsoField(position: IsoFields.F3, maxLen: 6, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field3 { get; set; }

        [IsoField(position: IsoFields.F4, maxLen: 12, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field4 { get; set; }

        [IsoField(position: IsoFields.F11, maxLen: 6, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field11 { get; set; }

        [IsoField(position: IsoFields.F12, maxLen: 12, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field12 { get; set; }

        [IsoField(position: IsoFields.F17, maxLen: 4, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field17 { get; set; }

        [IsoField(position: IsoFields.F24, maxLen: 3, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field24 { get; set; }

        [IsoField(position: IsoFields.F32, maxLen: 11, lengthType: LengthType.LLVAR, contentType: ContentType.N)]
        public string Field32 { get; set; }

        [IsoField(position: IsoFields.F37, maxLen: 12, lengthType: LengthType.FIXED, contentType: ContentType.AN)]
        public string Field37 { get; set; }

        [IsoField(position: IsoFields.F41, maxLen: 8, lengthType: LengthType.FIXED, contentType: ContentType.ANS)]
        public string Field41 { get; set; }

        [IsoField(position: IsoFields.F42, maxLen: 15, lengthType: LengthType.FIXED, contentType: ContentType.ANS)]
        public string Field42 { get; set; }

        [IsoField(position: IsoFields.F49, maxLen: 3, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field49 { get; set; }

        [IsoField(position: IsoFields.F102, maxLen: 28, lengthType: LengthType.LLVAR, contentType: ContentType.ANS)]
        public string Field102 { get; set; }

        [IsoField(position: IsoFields.F103, maxLen: 28, lengthType: LengthType.LLVAR, contentType: ContentType.ANS)]
        public string Field103 { get; set; }

        [IsoField(position: IsoFields.F123, maxLen: 999, lengthType: LengthType.LLLVAR, contentType: ContentType.ANS)]
        public string Field123 { get; set; }

        [IsoField(position: IsoFields.F126, maxLen: 999, lengthType: LengthType.LLLVAR, contentType: ContentType.ANS)]
        public string Field126 { get; set; }
    }

For parsing an Iso Message, create your Message Response Class inheriting from BaseMessage class as follows:

    public class DebitResponse : BaseMessage
    {
        [IsoField(position: IsoFields.F2, maxLen: 19, lengthType: LengthType.LLVAR, contentType: ContentType.N)]
        public string Field2 { get; set; }

        [IsoField(position: IsoFields.F3, maxLen: 6, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field3 { get; set; }

        [IsoField(position: IsoFields.F4, maxLen: 12, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field4 { get; set; }

        [IsoField(position: IsoFields.F11, maxLen: 6, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field11 { get; set; }

        [IsoField(position: IsoFields.F12, maxLen: 12, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field12 { get; set; }

        [IsoField(position: IsoFields.F17, maxLen: 4, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field17 { get; set; }

        [IsoField(position: IsoFields.F32, maxLen: 11, lengthType: LengthType.LLVAR, contentType: ContentType.N)]
        public string Field32 { get; set; }

        [IsoField(position: IsoFields.F37, maxLen: 12, lengthType: LengthType.FIXED, contentType: ContentType.AN)]
        public string Field37 { get; set; }

        [IsoField(position: IsoFields.F38, maxLen: 6, lengthType: LengthType.FIXED, contentType: ContentType.AN)]
        public string Field38 { get; set; }

        [IsoField(position: IsoFields.F39, maxLen: 2, lengthType: LengthType.FIXED, contentType: ContentType.AN)]
        public string Field39 { get; set; }

        [IsoField(position: IsoFields.F41, maxLen: 8, lengthType: LengthType.FIXED, contentType: ContentType.ANS)]
        public string Field41 { get; set; }

        [IsoField(position: IsoFields.F42, maxLen: 15, lengthType: LengthType.FIXED, contentType: ContentType.ANS)]
        public string Field42 { get; set; }

        [IsoField(position: IsoFields.F48, maxLen: 15, lengthType: LengthType.FIXED, contentType: ContentType.ANS)]
        public string Field48 { get; set; }

        [IsoField(position: IsoFields.F49, maxLen: 3, lengthType: LengthType.FIXED, contentType: ContentType.N)]
        public string Field49 { get; set; }

        [IsoField(position: IsoFields.F123, maxLen: 999, lengthType: LengthType.LLLVAR, contentType: ContentType.ANS)]
        public string Field123 { get; set; }

        [IsoField(position: IsoFields.F126, maxLen: 999, lengthType: LengthType.LLLVAR, contentType: ContentType.ANS)]
        public string Field126 { get; set; }
    }
  • Building ISO Message as a byte[]
var _iso8583 = new Iso8583();
var drRequest = new DebitRequest
{
    Field2 = "08920110078711",
    Field3 = "401010",
    Field4 = "000000000100",
    Field11 = "123456",
    Field12 = DateTime.Now.ToString("yyMMddhhmmss"),
    Field17 = DateTime.Now.ToString("MMdd"),
    Field24 = "200",
    Field32 = "504422",
    Field37 = "123456789123",
    Field41 = "BNKGSRVR",
    Field42 = "REMOTBANKINPFMS",
    Field49 = "356",
    Field102 = "025   1538    09920110073711",
    Field103 = "027   1568    08920110077711",
    Field123 = "ABC",
    Field126 = "08920110078711"
};
var drBytes = _iso8583.Build<DebitRequest>(drRequest, "1200");
  • Parsing ISO Message received as byte[]
var _iso8583 = new Iso8583();
var crResponse = _iso8583.Parse<DebitResponse>(crBytes);

Hope it will help

Thanks

Indrjeet

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.1 253 4/8/2023
1.0.0.3 168 4/3/2023
1.0.0.2 167 4/2/2023
1.0.0.1 230 4/1/2023
1.0.0 219 4/1/2023