问题标签 [iso8583]
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.
iso - ISO 8583 的完整声明
我想知道是否可以通过 ISO 8583 做一个完整的声明(在一个日期范围之间),我已经看到 ATM 可以做完整的声明并且想知道他们使用了什么方法。我知道余额查询和迷你报表可以在超过 8583 的 POS 设备上进行。
如果可能的话,是否有人有关于消息结构的信息,最好是 Flexcube。
bitmap - 字段大小的解释(位图)ISO8583
每个位的大小的正确解释应该是什么表示:
需要对此信息实施处理。
坦克。
java - j8583 无法处理字段 128
我一直在使用j8583在 Java 中解析和构造 ISO 8583 消息。一切似乎都很好,直到其中一条消息包含字段 128。当我构造或解析具有位 128 的消息时,该字段总是丢失,但其他位 (2...127) 很好。
我已经仔细检查了 xml 配置,没有任何问题。
只是我还是 j8583 中实际上存在错误?有人知道如何解决这个问题吗?我的日程安排很紧,因此不太可能更改 iso 8583 的库
c# - 如何为iso 8583编码数据以传输套接字c#
我不明白如何通过 c# socket.send(byte[]) 发送数据,我的意思是他们说我需要发送 0800(网络管理请求)进行回声测试,如何转换。请我已经编程了一段时间,但我不明白说明。
谢谢
c# - ISO 8583 Rev.93 - 连接到通道
我对整个 ISO8583 概念还很陌生,并且已被分配连接到银行的渠道。
我使用 John Oxley 的优秀OpenIso8583.Net制作了 Iso8583 标准消息并通过 tcp 发送。
他们为我提供了一些我无法清楚理解的基本信息。
不幸的是,我没有任何资源可用于获取更多信息,并希望从社区中获得一些指导。
银行给了我一个测试卡号 (PAN)(16 位)、一个 PIN 码(4 位)、一个插座号码和一个 MAC 密钥。
这是我到目前为止所拥有的:
- 在 msg[Iso8583Rev93.Bit._002_PAN] 中进入 PAN。
- 在 msg[Iso8583Rev93.Bit._052_PIN_DATA] 中:他们为我提供了一种基于 PAN 和 PIN 码生成 16 字节 PIN 块的算法。我已经设法根据该算法生成了一个正确的 PIN 块。
我不知道的事情:
他们说 PIN BLOCK 是使用 DES 算法加密的。我应该把加密的 PIN 块放在哪里?它超过 16 个字节,不能在 msg[Iso8583Rev93.Bit._052_PIN_DATA] 中,对吗?
我应该如何使用他们为我提供的 MAC 密钥?他们表示 MAC 是使用 DES-CBC 算法生成的。他们提供的 MAC 密钥长 16 个字节(16 位)。我应该在 msg[Iso8583Rev93.Bit._128_MAC] 字段中输入什么?我应该用这个 MAC 密钥加密整个消息吗?我似乎迷失了理解 MAC 密钥的用途。
出口号有什么用?它是不是类似于端口号(如果你称之为软件插槽)允许用户连接到频道?
谢谢你。
iso8583 - 了解 ISO 8583 消息传递日志
我在WIKI和Code Project上阅读了有关 ISO 8583 消息传递的信息;我了解 ISO 8583 消息基本上可以分为 3 个部分:
- MTI(消息类型指示器)
1.1。版本
1.2. 消息类
1.3. 消息功能
1.4. 消息来源
- 位图
指出存在哪些数据元素。
- 数据元素
整个 ISO 消息的本质,包含有关事务的信息,例如:
交易类型,
数量,
客户ID等
因此,在阅读了这两个 Web 参考之后,我想将我的 ISO 消息传递日志划分为 MTI、位图和数据元素。
例如:
但我面临的挑战是,我的 ATM 机已经有了 ISO 8583 消息传递日志。
这个实际的输出消息日志不像上面的片段那样很清楚。
所以我不能像上例那样将此消息划分为 MTI、位图和数据元素。
我以前没有 ISO 8583 消息的经验,欢迎提出建议。
credit-card - 与 POS 交互 - 终端设备和银行交换系统
我有一个项目需要与 POS - 终端设备和磁卡/芯片卡进行交互。比方说,每当客户从我的百货公司购买商品时,这家商店的工作人员都会对客户的金融卡进行扫描并进行支付交易。
对于那些类似的系统,大多数论坛都说应该考虑使用第三方API,例如:
- 贝宝
- 布伦特里
- 授权.NET。
- 谷歌签出 API。
但我认为这些 API 应该用于那些将用于国际支付处理的系统。至于我,我假设我的系统没有国际支付处理那么大,将开始像国内的小系统一样工作。
所以我想知道的是哪个是最好的解决方案以及系统架构将如何?
当我阅读Authorize.Net页面时,我发现了Credit Card Processing的例程。
无论我的项目是大是小,国际跑还是国内跑,我都需要遵循整个程序吗?
我真的需要按照这个程序使用 POS 终端设备进行付款吗?
我知道的一件事是ISO 8583是基本的金融消息传递协议,因为对于我所在的地区,大多数银行交换软件系统仅使用这些消息传递格式。这意味着我不能使用其他消息格式,例如 NDC 或 D912。
c# - POS终端与银行之间的支付
我想制作程序以在不使用任何第三方工具的情况下在银行和 POS 终端设备之间进行通信。假设,目前,该程序仅用于通过银行切换IP地址+端口号与特定银行通话。
首先,假设我通过在 POS 终端刷信用卡来获得此输出。
然后我根据这个wiki 链接将这些原始数据分类为 Track 1、Format B 和 Track 2 。
轨道 1 格式 B
轨道 2
然后,我将使用此代码通过 C# 程序读取这些格式。
在完成上述所有代码之后,我想我需要使用ISO 8583 消息传递协议将我的数据发送到银行。
我的数据将包括
- 轨道 1 + 轨道 2 信息。
- 任何类型的购买过程中提取的金额。
我希望将其中 2 个项目包含在我将发送给银行的 ISO 消息中。
我的问题是:
这是与银行互动的正确业务流程吗?我想得到任何建议。
是否可以将其中两个项目合并到一个 ISO 消息中,然后发送到银行?
请给我建议、任何参考资料或任何网页链接。
c# - 通过加密数据生成 MAC
我希望这个问题不会因为没有建设性而被关闭。我一直在努力解决这个问题,但仍然一无所获。所以,这是我最后的希望:
问题基本上是关于生成 ISO 8583-Rev 93 消息的 MAC 字段。
我有一些有效消息的转储,我正在尝试生成正确的 MAC。
- 加密算法是
DES
,Mode=CBC
,IV = new byte[] {0, 0, 0, 0, 0, 0, 0, 0}
- 加密密钥为:
new byte[] { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 }
- 要加密的数据是(消息)(208 字节长):
- 我应该加密数据并(可能在将结果转换为十六进制之后)获得
BF327C0CED48F26B
进入消息第 128 个字段的有效值。
这是我尝试过的(以及更多的实现):
简而言之,如何BF327C0CED48F26B
通过加密dataToEncrypt
变量来实现?
我真的很感激任何帮助。
更新:以下是消息详细信息,以防有任何帮助:
更新 2:
好吧,那些白痴忘记在他们的文件中提到应该填写字段 128 0
,然后将其发送加密。通过尝试和错误发现了这一点!
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
我的主程序中的字段方法以进行日志记录。