[解决办法] 8583格式也是一组明文字符串,就和其他的字符串是一样的,不过在写的时候规定了你怎样写,1域2域。。。。一直排过来,也不要有空格之类的,文档中应该有教你在哪一域填什么值,花点心思看文档吧。 本人觉得没有打包和解包、编码之说。假如第几域出现了“4d”这种字符,也是文档中规定的,例如:"取现"我就要在此域填写"4d",查询就一定要在此域填写“fd”,这是文档中规定的,其意义也应当在文档中有写,根本就不是正常字符转码以后出现的不认识的无意义字符。 [解决办法] 今天和银行交流了下,大概知道了消息格式是 TPDU+MessageTypeID+BitMap+Field 这句话就很有问题,你居然是通过沟通知道这个消息格式,而不是通过他们给的文档知道,如果你没有文档,完全是做不下去的, TPDU不知到是什么东西? MessageTypeID这个是给好的交易类型 BitMap是标识那个域有值的、 Field就是那些值 这些都会有在文档中写明,如果没有,大家都不知道是什么东西,怎么填的。 [解决办法] 恩,8583格式弄起来是超烦人的, 比如: 03 Processing Code N 6 M E 000000
04 Amount, Tran n 12 M O Local 3域就是说请求的时候填6个数字000000,返回就不用管里面是那6个数字了,如果想要在做反交易的时候用的话(看文档中的规定),就记下来,如果不用记下来。 4域就是说请求的时候填12个数字,就是钱啦,返回的时候可能这个值有,也可能没有。 其他的也照这样看咯。 另外不知到你是不是给银行做系统,如果是应该能拿到文档的,当然如果出的文档不好就会好惨,尤其是很多域的填法写的很模糊就更惨了,这时候就最好让他们提供一些你要做的交易的日志文件,同时问问熟悉卡交易的人。