Iso8583CS 1.0.0.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Iso8583CS --version 1.0.0.2
NuGet\Install-Package Iso8583CS -Version 1.0.0.2
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.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Iso8583CS --version 1.0.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Iso8583CS, 1.0.0.2"
#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.2 // Install Iso8583CS as a Cake Tool #tool nuget:?package=Iso8583CS&version=1.0.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Iso8583CS
A C# implementation of the ISO-8583 Protocol as a .NET Standard 2.1 Library providing the following functions:
- 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
- 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: 6, 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: 6, 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("hhmmss"),
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 | Versions 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.