use*_*315 3 hex decoder iso8583
我的问题基于 ISO8583 交易消息标准。我的问题陈述是开发一个应用程序,该应用程序将解码作为十六进制格式输入提供的 ISO8583 消息。
例如:我的输入 = 0200B2200000001000000000000000800000201234000000010000011072218012345606A5DFGR021ABCDEFGHIJ 1823
使用 jPOS 库,我正在解析这个十六进制代码,输出如下: MTI : 0200 Field-3 : 201234 Field-4 : 000000010000 Field-7 : 0110722180 Field-11 : 123456 Field-44 :-182F ABCGHI5GHI
现在这个解析的输出我想解码,即我想把它转换成字符串格式。我想知道它到底表达了什么,比如是余额查询还是交易请求等。
所以,我的问题是,是否有任何工具可以理解 iso8583 消息的十六进制代码?
有大量基于 1987、1993 和 2003 年的 ISO 8583 规范的方言。修改后的协议在字段中混合使用 ASCII、二进制、BCD、EBCDIC 数据。
您的消息示例看起来类似于 OmniPay Host to Host 实现,除了本规范未使用的字段 105。
未经额外修改,它由https://iso8583.info/lib/OmniPay/H2H/msg 上的在线工具解析
使用您的消息“二进制”表示:
0000: 30 32 30 30 42 32 32 30 ? 30 30 30 30 30 30 31 30 0200B22000000010
0010: 30 30 30 30 30 30 30 30 ? 30 30 30 30 30 30 38 30 0000000000000080
0020: 30 30 30 30 32 30 31 32 ? 33 34 30 30 30 30 30 30 0000201234000000
0030: 30 31 30 30 30 30 30 31 ? 31 30 37 32 32 31 38 30 0100000110722180
0040: 31 32 33 34 35 36 30 36 ? 41 35 44 46 47 52 30 32 12345606A5DFGR02
0050: 31 41 42 43 44 45 46 47 ? 48 49 4A 20 31 32 33 34 1ABCDEFGHIJ 1234
0060: 35 36 37 38 39 30 ? 567890
Run Code Online (Sandbox Code Playgroud)
这里是原始消息中的一些垃圾,但这不是解析器的错。))
--- # Cheef's parser (Limited version - 5 levels deep only)
- msg: # OmniPay H2H message
MTI: "0200" # Message Type ID.
DE000: "B220000000100000" # Primary bitmap // 1.3.4.7.11.44.
- BM0: # Fields at Primary Bitmap
DE001: "0000000000800000" # Secondary bitmap // 105.
- DE003: # PC
S01: "20" # Transaction Code. // Refund
S02: "12" # Account, from.
S03: "34" # Account, to.
DE004: "000000010000" # Amount, transaction. // 10000
- DE007: # Date and time, transmission
date: "0110" # Date, local transmission. // 2015.01.10
time: "722180" # Time, local transmission. // 00:22:20
DE011: "123456" # STAN.
- DE044: # Additional response data
len: "06"
- val:
RFU: "A5DFGR"
Run Code Online (Sandbox Code Playgroud)
为多种方言定义的在线解析器,因此您可以处理消息数据并分析结果。