位图自动生成错误字段jpos

时间:2017-06-20 07:38:06

标签: java iso8583 jpos iso8583-1993

----ISO MESSAGE-----
  MTI : 0200
    Field-2 : 169991000501589186
    Field-3 : 301000
    Field-4 : 000001000000
    Field-7 : 0620104505
    Field-11 : 177
    Field-12 : 104505
    Field-13 : 0620
    Field-15 : 1115
    Field-18 : 0000
    Field-24 : 001
    Field-28 : 00000000
    Field-32 : 1158943000
    Field-33 : 06000001
    Field-35 : 279991000501589186=0903121550
    Field-37 : 082400096515
    Field-41 : 0540
    Field-42 : 000540
    Field-43 : kkk
    Field-49 : 586
    Field-52 : 12345678

这是二进制序列的iso消息细分,因为你看到这个二进制文件01110010 00111010 01000001 00010001 10101000 11100000 00111111 00000000当我们激活(启用)49字段和52字段然后使用jpos进行位图错误时,51到56的字段是活动的

1 个答案:

答案 0 :(得分:0)

@ user3621756:

从上面的代码中,我推断您是错误的使用字段值,字段2(PAN)的ISO字段位图表示形式为IFA_LLNUM, 16|9991000501589186

16是字段长度,而不是数据本身,因此是字段35(卡的磁道2数据)。

保持管道以区分长度和字段值

MTI : 0200
    Field-2 : 169991000501589186
    Field-3 : 301000
    Field-4 : 000001000000
    Field-7 : 0620104505
    Field-11 : 177
    Field-12 : 104505
    Field-13 : 0620
    Field-15 : 1115
    Field-18 : 0000
    Field-24 : 001
    Field-28 : 00000000
    Field-32 : 1158943000
    Field-33 : 06000001
    Field-35 : 279991000501589186=0903121550
    Field-37 : 082400096515
    Field-41 : 0540
    Field-42 : 000540
    Field-43 : kkk
    Field-49 : 586
    Field-52 : 12345678 

当您调用方法.pack()时,位图是由ISOMsg类生成的,但是您也可以通过.unpack进行逆向操作,在最终包中应该为您提供带位图的正确消息,而解包应为您提供正确的字段值。

如果位图不正确,则在打开包装时会收到错误消息。