2

我正在尝试使用 jpos 在 java 中构建一个模拟器。但是,我可以将值发送到我的交换机,但是根据交换机供应商的说法,由于转换失败,他们没有在 tcpip 级别接收到正确的值。

请在套接字流之前发送数据期间找到我端生成的以下日志。

请求发送到服务器

清除字符串:

0200723A4401A8E19008166070658525235400011000000000150000020110150412345
61300000201020160119010680019206900000376070658525235400=24075203640000000000
428313349275RGB12345RGB12345       NPCI R-TECH GOREGAON(E)MUMBAI       MHIN
022051005ATM010580050099935698BC03BEBAD073D9021121412220033000400085

消息长度:291

发送十六进制转储:

0000  30 32 30 30 37 32 33 41  34 34 30 31 41 38 45 31      0200723A4401A8E1
0010  39 30 30 38 31 36 36 30  37 30 36 35 38 35 32 35      9008166070658525
0020  32 33 35 34 30 30 30 31  31 30 30 30 30 30 30 30      2354000110000000
0030  30 30 31 35 30 30 30 30  30 32 30 31 31 30 31 35      0015000002011015
0040  30 34 31 32 33 34 35 36  31 33 30 30 30 30 30 32      0412345613000002
0050  30 31 30 32 30 31 36 30  31 31 39 30 31 30 36 38      0102016011901068
0060  30 30 31 39 32 30 36 39  30 30 30 30 30 33 37 36      0019206900000376
0070  30 37 30 36 35 38 35 32  35 32 33 35 34 30 30 3D      070658525235400=
0080  32 34 30 37 35 32 30 33  36 34 30 30 30 30 30 30      2407520364000000
0090  30 30 30 30 34 32 38 33  31 33 33 34 39 32 37 35      0000428313349275
00a0  52 47 42 31 32 33 34 35  52 47 42 31 32 33 34 35      RGB12345RGB12345
00b0  20 20 20 20 20 20 20 4E  50 43 49 20 52 2D 54 45             NPCI R-TE
00c0  43 48 20 47 4F 52 45 47  41 4F 4E 28 45 29 4D 55      CH GOREGAON(E)MU
00d0  4D 42 41 49 20 20 20 20  20 20 20 4D 48 49 4E 30      MBAI       MHIN0
00e0  32 32 30 35 31 30 30 35  41 54 4D 30 31 30 35 38      22051005ATM01058
00f0  30 30 35 30 30 39 39 39  33 35 36 39 38 42 43 30      0050099935698BC0
0100  33 42 45 42 41 44 30 37  33 44 39 30 32 31 31 32      3BEBAD073D902112
0110  31 34 31 32 32 32 30 30  33 33 30 30 30 34 30 30      1412220033000400
0120  30 38 35                                              085

根据我的交换机供应商,他们应该以正确的顺序接收位图的值,而不是作为十六进制值。

请找到我的交换机供应商提供的以下示例行。

0000  30 32 30 30 72 3A 44 01 A8 E1   0200r:D¨á      <--

任何人都可以在这方面提供帮助。

请找到我的以下代码:

GenericPackager packager = new GenericPackager("basic.xml");

// Create ISO Message
ISOMsg isoMsg = new ISOMsg();
isoMsg.setPackager(packager);
isoMsg.setMTI("0200");
isoMsg.set(2, "6070658525235400");
isoMsg.set(3, "11000");
isoMsg.set(4, "000000150000");
isoMsg.set(7, "0201101504");
isoMsg.set(11, "123456");
isoMsg.set(12, "130000");
isoMsg.set(13, "0201" );
isoMsg.set(15, "0201");
isoMsg.set(18, "6011");                
isoMsg.set(22, "901");
// isoMsg.set(25, "00");
isoMsg.set(32, "800192");
isoMsg.set(33, "900000");
isoMsg.set(35, "6070658525235400=24075203640000000000");
isoMsg.set(37, "428313349275");
isoMsg.set(41 , "RGB12345");
isoMsg.set(42 , "RGB12345       ");
isoMsg.set(43 , "NPCI R-TECH GOREGAON(E)MUMBAI       MHIN");
isoMsg.set(48 , "051005ATM0105800500999");
isoMsg.set(49 , "356");
isoMsg.set(52 , "98BC03BEBAD073D9");
isoMsg.set(61 , "121412220033000400085");

// print the DE list
logISOMsg(isoMsg);
byte[]  send_PackedRequestData = isoMsg.pack();
:
:
outStream = new BufferedOutputStream(connection.getOutputStream());
outStream.write(send_PackedRequestData);
outStream.flush();
4

1 回答 1

0

This question is flawed, it's not possible to help without studying the specs.

In addition, I hope the card you show there is a test card, otherwise, please notify the issuer to block it.

That said, you're probably using IFA_BITMAP instead of IFB_BITMAP, but that change will just solve your bitmap generation, you probably have many other fields badly configured.

于 2015-01-04T20:33:31.613 回答