ISO8583银联报文封装/解析包使用说明

ISO8583报文封装/解析包使用说明

翻山倒海的找资料参考、找文档阅读、找军师请教、找银联咨询,捣腾各种问题,在这里顺便做个笔记。

代码说明

配置文件
src/main/resources/config/iso8583_[spec].xml
其中spec为支付通道简称,必须与MessageFactory中的通道名称定义一致

org.bosssoft.agiledata.iso8583
	ISO8583Constants--------------------ISO8583报文常量类
	Message8583-------------------------ISO8583消息类,包含有报文组装/解析等一系列处理,必须由工厂类生成
	MessageFactory----------------------ISO8583消息消息工厂类,负责生成Message8583类
org.bosssoft.agiledata.iso8583.config
	ISO8583Config-----------------------ISO8583报文配置类,用于映射配置文件汇总的某个具体交易
	ISO8583ConfigGroup------------------ISO8583报文配置组,报文配置文件整体映射类,对应某个通道,包含此通道下多个交易配置信息(ISO8583Config)
	ISO8583Field------------------------ISO8583报文域数据封装,对应具体的一个报文域的配置信息
	ISO8583Mac--------------------------ISO8583 Mac配置
org.bosssoft.agiledata.iso8583.entity
	AbstractRequestMsg------------------ISO8583请求报文基类,所有的请求报文必须继承此类
	AbstractResponseMsg-----------------ISO8583反馈报文基类,所有的反馈报文必须继承此类
	CancelRequest-----------------------消费撤销请求报文类
	CancelResponse----------------------消费撤销反馈报文类
	ConsumRequest-----------------------消费请求报文类
	ConsumResponse----------------------消费反馈报文类
	DownParamRequest--------------------下载参数请求报文类
	DownParamResponse-------------------下载参数反馈报文类
	GetKeyRequest-----------------------Pin Key /Mac Key请求交易请求类(一卡通特有交易)
	GetKeyResponse----------------------Pin Key /Mac Key请求交易反馈类(一卡通特有交易)
	RefundRequest-----------------------退货请求报文类
	RefundResponse----------------------退货反馈报文类
	ReverseConsumeRequest---------------消费冲正反馈报文类
	ReverseConsumeResponse--------------消费冲正反馈报文类
	SignOutRequest----------------------签退请求报文类
	SignOutResponse---------------------签退反馈报文类
	SignRequest-------------------------签到请求报文类
	SignResponse------------------------签到反馈报文类
org.bosssoft.agiledata.iso8583.exception
	BusinessException-------------------业务异常
	ConfigErrorException----------------配置错误异常
	ConfigNotFoundException-------------未找到对应通道配置异常
	DesCryptionException----------------DES加密异常
	EmptyValueException-----------------空值异常
	IllegalDataException----------------请求数据不合法异常
	MacException------------------------MAC计算异常
	PinBlockException-------------------PINBlock计算异常
org.bosssoft.agiledata.iso8583.util
	BCDUtil-----------------------------BCD相关工具方法
	DesUtil-----------------------------DES加解密工具类
	ISO8583Socket-----------------------ISO8583Socket通讯类,报文发送读取Socket工具类
	ISO8583Util-------------------------ISO8583报文工具类,包含各种数据转换等
	MACUtil-----------------------------MAC工具类
	MD5---------------------------------MD5工具类
	PINUtil-----------------------------PIN加解密工具类

配置说明

配置文件标签及属性说明

config------------根标签
	respLen------------------反馈报文,报文长度所占位数
	trans--------------------具体的交易配置
		head---------------------交易报文头配置
		type---------------------报文类型配置
		body---------------------报文体配置
			field----------------------报文域
				index------------------------报文域位置
				alias------------------------报文域别名,系统通过名称对应对域进行赋值
				length-----------------------报文域长度,定长时为长度定义,变长时为最大长度
				lengthType-------------------报文域长度类型
														FIX(定长)  
														LLASC(二位变长,长度使用ASCII码存储,占用2个字节)
														LLLASC(三位变长,长度使用ASCII码存储,占用3个字节)
														LLBCD(二位变长,长度使用BCD压缩,占用1个字节)
														LLLBCD(三位变长,长度使用右靠BCD压缩,占用2个字节(前端补零))
				mode-------------------------报文域存储方式
														BCD(BCD压缩)
														ASC(ASCII码表示)
														BIN(二进制)
				align------------------------域对其补位方式,默认情况下,根据存储方式设定对齐补位方式,BCD:左补0,ASC:右补空格,BIN:左补0
														RIGHTSPACE(左靠,长度不够右边补空格)
														LEFTSPACE(右靠,长度不够左边补空格)
														RIGHTZERO(左靠BCD压缩(数据长度为奇数),末尾补零)
														LEFTZERO(右靠BCD压缩(数据长度为奇数),行首补零)
				req--------------------------请求时域是否必须出现  M(必须出现)  C(可以为空)  默认:C
				resp-------------------------反馈时域是否必须出现  M(必须出现)  C(可以为空)  默认:C
				value------------------------域默认值,如传入数据中此域有值,则覆盖默认值
                                                        特殊变量:特殊变量使用%开头,后跟一位英文作为类型定义,之后为数据域格式定义,代码会根据特殊变量定义自动为域按照要求进行赋值
                                                        %d:当日日期时间。例如:%dyyyyMMdd:当前日期年月日
				combo------------------------域组合值,多个值之前用+分割,如使用单引号标记,则认为固定值,直接拼接在内容中
			    mac--------------------------mac定义,出现此域用于定义MAC明文由哪些域组成
				keySequence------------------mac明文组成值,不同域使用竖线'|'分割,特殊域可以使用关键字声明,可用的关键字为:head,type,bitMap,
			

调用说明

进行中

工具文档

银联

银联公共缴费(电力 运营商 广电).zip

工具

新大陆 Newland POS Debug(v1.16).zip
des算法工具.exe
post工具.zip

发布了83 篇原创文章 · 获赞 24 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/u010638673/article/details/91550726