问题标签 [openiso8583.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
617 浏览

c# - 如何更改 OpenIso8583.Net 消息中字段的格式

例如,字段 128 的默认格式OpenIso8583Rev93是 Fixed Hex 8。如何将其更改为 Fixed Hex 16。

0 投票
1 回答
969 浏览

c# - 位图以及如何填充相关值

我正在尝试使用 ISO8583Net dll 实施解决方案,但无法确定如何填充各种位图字段值。根据 ISO8583 文档,我可以看到它需要作为消息(应用程序数据)中字段一的一部分包含在内,但我无法在代码中找到它作为可用字段列表的一部分。

我在看正确的地方吗?是否有任何 C-sharp 代码片段可以举例说明如何实现?

0 投票
1 回答
1369 浏览

customization - 扩展/修改 OpenIso8583.Net

我正在使用出色的OpenIso8583Net来发送/接收 ISO 消息。但是,由于每个组织都有自己的定义和自定义,我希望能够自定义格式,尽可能少地接触项目的源代码,以便能够更轻松地升级到新版本。
所以这是我现在面临的三个自定义:

  • 我怎样才能Bitmap使用AsciiFormatter而不是BinaryFormatter?由于位图是AMessage类的私有字段,即使我直接从AMessage. 并且构造函数BinaryFormatter默认使用。目前,我已将 Bitmap.cs 无参数构造函数修改为使用AsciiFormatter.
  • 同样的故事也适用于可变长度格式化程序。它AsciiFormatter默认使用。但我希望它使用BcdFormatter. 我已将此部分修改为BcdFormatter在 VariableLengthFormatter 中默认使用。
    如果有人通过扩展而不是修改向我展示处理这些自定义的更好方法,我将不胜感激。
  • 假设我想在日志文件中显示字段。一个例子是我在通过加密部分中的数据生成 MAC 中显示的Fields内容。现在,我必须Template公开属性并使用以下代码段: for (var i = 2; i

如何在不Template公开的情况下访问这些字段?我想访问Display我的主程序中的字段方法以进行日志记录。

0 投票
2 回答
2687 浏览

iso8583 - 将消息从 ASCII 转换为 HEX ISO8583.net

我的计费提供商需要以十六进制而不是 ASCII 格式获取消息,例如,我发送了一条 800 消息,流是:

42 00 30 38 30 30 a2 38 00 00 00 80 80 00 04 00

00 00 00 00 00 00 39 30 30 30 30 30 30 34 30 32

31 34 33 31 31 38 31 37 33 31 31 38 31 37 33 31

31 38 30 34 30 32 31 32 33 34 35 36 37 38 39 39

38 30 30 31

我可以使用该项目将消息创建为十六进制而不是 ASCII 吗?我是否只需要在发送之前转换消息(并在返回消息时转换回来)?

我会感谢你在这件事上的帮助

0 投票
1 回答
773 浏览

customization - OpenISO8583.Net BCD 格式的消息类型

我正在学习如何使用 OpenISO8583.Net 代码。我从原来的类派生了一个新的 ISO8583 类。我的新课程的不同之处之一是消息类型字段将是 [Numeric, BCD];所以我把它写成类构造函数的一部分(我确实有一个自定义的 DefaultTemplate 声明为类的一部分):

我创建了一条消息类型为 0100 (MsgType._0100_AUTH_REQ) 的新消息。不分配任何其他位。

我的最终结果字节数组是: 01-00-00-00-00-00-00-00-00-00 我认为是正确的。具有 BCD 值和位图的消息类型的前 2 个字节全为零。

现在的问题是当我测试拆包时。使用:

结果消息类型的值为零。

我需要帮助了解这是否是我定义类的方式或 ISO8583 代码中的错误的问题。

0 投票
2 回答
2277 浏览

iso8583 - OpenISO8583.Net BCD 格式轨道 2

这是另一个问题。

我对 Track 2(位 35)的要求是:

Z(数字 + X 'D' (BCD,D [1101] 的 ½ 字节表示,作为主帐号和到期日期之间的字段分隔符),BCD — 当奇数位数时,将最右半字节打包为 '0 '. 大小:可变为 37,前面是一个字节的 BCD 长度指示符

默认模板定义将第 35 位作为 2 字节长度的 Ascii 字段,所以我确定不是这样。我将其更改为 BcdVar(1, 37, Formatters.Bcd)。

以虚拟 track2 为例:

12345678901234567=9999999999999999999

我将 '=' 分隔符替换为 0x0D 整数值,它转换为“13”(1101)。我们现在有:

12345678901234567139999999999999999999

这有意义吗?我认为这不是正确的做法。

0 投票
1 回答
437 浏览

openiso8583.net - OpenISO8583.Net BCD 修复格式解包错误

我从code.google下载了代码并得到了最新版本v0.5.2
我设置了一个bcd fix格式的字段,即bcd格式的N-6(bit._003_proc_code)
例如:
*字段定义:<br/> DefaultTemplate =新模板 { { Bit._002_PAN, FieldDescriptor.BcdVar(2, 19,Formatters.Ascii) }, { Bit._003_PROC_CODE, FieldDescriptor.BcdFixed(3)}, { Bit._004_TRAN_AMOUNT, FieldDescriptor.BcdFixed(6) }, . ...... }

用法:

当我解包消息时,我只能从消息 3 中得到“0000”。
这是定义中的错误还是错误

0 投票
1 回答
2192 浏览

iso8583 - ISO 8583 Rev 93 字母和数字字符打包/拆包

我面临着发送 ISO 8583 Rev 93 消息的任务,并且正在使用 openiso8583.net。使用我的消息的公司提供了消息样本,我不清楚以下字段属性:

特殊字符 字母和数字字符 字母和特殊字符 数字和特殊字符 字母、数字和特殊字符

这是示例:

首先看一下消息字节:0810822000000200000004000000000000000501130427000005* F0F0 *0001

我的问题是两个字节 { 0xF0, 0xF0 } 如何转换为“00”。如果公司发送 ASCII,我希望“00”是 { 0x30, 0x30 }。BCD 用于数值,但我似乎无法弄清楚字符值是如何编码的。

以下是字段 39 的说明:

an2 表示字母和数字字符

位图 1 是 64 位

位图 2 是 64 位

消息类型为 4 个字节

字段 7 是数字 4 位 BCD(压缩无符号)10、5 字节

字段 11 是数字 4 位 BCD(压缩无符号)6、3 字节

字段 39 是 2,我假设 2 个字节

字段 70 是数字 4 位 BCD(压缩无符号)3、2 字节

任何线索或指针将不胜感激。也许有人知道一些我显然不知道的编码,或者可以对 ISO 8583 Rev 93 的字符编码方式进行一般解释。我确实意识到每个公司都可以有不同的实现。

0 投票
1 回答
1956 浏览

c#-4.0 - 将 OpenISO8583.Net 转换为不同的格式

我正在尝试向金融机构实施 ISO8589 消息。然而,他们有一个我调用的 Web 服务,然后我将 ISO8589 有效负载加载到 WCF 服务的适当字段中。

我以这种方式创建了一条 ISO8589 消息:

我似乎无法弄清楚如何将 isoMessage 转换为人类可读的 ASCII 格式,以便将其传递给 Web 服务。

任何人都知道如何使用这个库来做到这一点?还是我以错误的方式使用这个库?

谢谢。

更新:

我已经想出了如何做到这一点:

但是,现在我正在尝试获取 isoMessage 并使用 OpenIso8583.Net 轻松地将整个内容作为十六进制字符串传递,如下所示:

我知道这很棘手,因为有些字段是 BCD、AlpahNumeric、Numeric 等。但是,使用 OpenIso8583.Net 应该真的很容易(或者我认为)?我想得到的结果是:

任何帮助将不胜感激!

0 投票
0 回答
358 浏览

iso8583 - 如何扩展 AMessage 为子字段创建子消息 OpenIso8583.Net

我正在使用 OpenIso8583.Net 生成我的 ISO 消息,一切都很完美,除了我在为子字段生成消息时遇到问题。

我知道我必须扩展 AMessage 类才能实现,但显然我做错了。

任何简单的例子都会有很大帮助。我会粘贴代码,但到目前为止它没用我希望这篇文章对在 ISO 8583 规范中处理过子字段的人有意义

http://code.google.com/p/openiso8583net/ 上面是我正在使用的库的链接

谢谢