Iso8583CS 1.0.1

dotnet add package Iso8583CS --version 1.0.1
NuGet\Install-Package Iso8583CS -Version 1.0.1
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.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Iso8583CS --version 1.0.1
#r "nuget: Iso8583CS, 1.0.1"
#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.1

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

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 SampleRequest : BaseMessage
    {
        [IsoField(position: IsoFields.Field002, maxLen: 19, lengthType: LengthType.LLVAR, contentType: ContentType.ANS)]
        public string Field002 { get; set; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        [IsoField(position: IsoFields.Field126, 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 SampleResponse : BaseMessage
    {
        [IsoField(position: IsoFields.Field002, maxLen: 19, lengthType: LengthType.LLVAR, contentType: ContentType.N)]
        public string Field002 { get; set; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        [IsoField(position: IsoFields.Field126, maxLen: 999, lengthType: LengthType.LLLVAR, contentType: ContentType.ANS)]
        public string Field126 { get; set; }
    }
  • Building ISO Message as a byte[]
var _iso8583 = new Iso8583();
var smplRequest = new SampleRequest
{
    Field002 = "12345678910111",
    Field003 = "123456",
    Field004 = "000000010000",
    Field011 = "126421",
    Field012 = "yyMMddhhmmss",
    Field017 = "MMdd",
    Field024 = "200",
    Field032 = "605582",
    Field037 = "309722126421",
    Field041 = "REMOTBANKINGSRVR",
    Field042 = "REMOTBANKINPFMS",
    Field049 = "356",
    Field102 = "12345678910111",
    Field103 = "10111213141516",
    Field123 = "NSA",
    Field126 = "12345678910111"
};
var smplReqBytes = _iso8583.Build<SampleRequest>(smplRequest, "1200");
  • Parsing ISO Message received as byte[]
var _iso8583 = new Iso8583();
var smplResponse = _iso8583.Parse<SampleResponse>(smplResBytes);

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 249 4/8/2023
1.0.0.3 166 4/3/2023
1.0.0.2 165 4/2/2023
1.0.0.1 228 4/1/2023
1.0.0 217 4/1/2023