【中国银联关于ISO8583+元数据类型定义】
(违背国际标准ISO8583的简单性原则,导致联调成本大。)
(感悟两点:1、公司在制定对外接口时,应该进行评审,设计原则应该是越简单越好,越容易理解越好。一旦复杂,会导致联调时沟通成本大,甚至严重影响项目进度。2、为什么说一流企业制定标准,谁都想挣着指定标准,容易形成技术垄断。)
10.2数据类型
POS终端与POS中心之间的交换消息中,各数据元类型
如下所列:
A字母向左靠,右部多余部分填空格。(ABC 表示字母)
N数值,右靠,首位有效数字前充零。若表示金额,则最右二位为角分。(Number)
S特殊
“符号”
。(Special char ? annotation)
AN字母和/或数字,左靠,右部多余部分填空格。(可能同时包含A和N)
ANS字母、数字和/或特殊符号,左靠,右部多余部分填空格。(可能同时包含A,N,S)
AS字母和/或特殊符号,左靠,右部多余部分填空格。
------------------
批注: 特殊在哪里,标准并没给定,特殊到什么程度,是否可显示,因为文档说的是“符号”,不是“字符”,字符可以理解成是可显的,符号是否可显?依据经验来讲一般是可显的。我们常见的是F44表示返回码描述信息:
BM #44附加响应数据(错误信息描述)
F44域说明
变量属性 ANS25(LLVAR)
,2个字节长度+25个字节的定长域 压缩使用左靠BCD码1个字节+最大25个字节的定长字发卡方的附加响应数据必须为有效字符。由发卡方在批准交易时载入应答消息。
数据值部分的元类型是:ANS25,表示可能出现字母、数字和特殊符号(大部分指的是中文了,注意:银联标准中文编码采用的是GB2312,这样有些偏僻字可能显示不了。)
小结: 银联这样无非在描述“ANS表示一般可见符”,只是把一般可见符分为三个小类: 数字字符、字母字符和可见其他字符。
------------------
B二进制位。(一般是安全信息,比如PIN的密文呀和MAC数据。属于不可见信息。)
------------------
YY年。
MM月。
DD日。
hh时。
mm分。
ss秒。 (批注2: 银联对账结算日期F15,数据格式N4,格式往往是MMdd,就是不带年,导致合作方要自动补个年,容易导致“跨年虫”问题。)
------------------
LL可变长域的长度值(二位数)。
LLL可变长域的长度值(三位数)。
(批注3: 变长数据,分两部分:长度部分+数值部分。长度部分必然是整形数据,采用什么编码呢? 二进制、纯字母还是压缩BCD,国际标准就是纯字母。比如LL的,假如当前长度部分的值是18,那么二进制方式可以用一个字节存放0x18, 纯字母要两个字节“18”,也就是0x31 0x38; 压缩BCD得1字节,也是0x18。)
--------------------
VAR可变长域。
X借贷符号,在数值之前,D表示借,C表示贷。
Z由ISO 7811和ISO 7813制定的磁卡第二、三磁道的数据类型。(批注4: 目前还不太了解)
对可变长数据元,以下例说明:
变量XYZ的数据类型为ANS...999(LLLVAR),则表示:该变量中可含字母、数字和特殊符号,
最长不超过999个字符,长度由三位数字确定。
注:本文档中声明的压缩变量属性是针对POS终端与POS中心之间的消息,POS中心与任何金
融机构之间的消息将全部采用ASCII码且不压缩的格式。(批注4: 实际上很多第三方机构接入银联,银联就是把第三方机构当做POS机的,所以导致其他第三方机构无奈地使用这么繁琐的东西。)
分享到:
相关推荐
ISO8583中国银联标准 适合做金融开发借鉴查询,虽然不是高清的 但是不影响查看哦,网上能找到的也比较少的。
该工具能将银联 ISO 8583 格式数据包解析为详细数据,含源码实现。
一个很简单的例子,告诉大家,银联的iso8583如何解析,如何获取位图和简要的结构
java实现的8583发包解包,灵活,扩展性强,8583各域能自定义编码和解码规则,包含标准的银联MAC加密算法(ansi x9.19,ansi x9.9)及一个完整的socket客户端请求服务端的demo,修改mac运算规则时,只要重写...
一个简单的实例,用于解析银联标准8583报文的过程,仅限参考
银联 ISO8583 文档: 前 言 VI 1 范围 1 2 规范性引用文件 1 3 术语和定义 1 3.1 受理方 (ACQUIRER) 1 3.2 发卡方 (ISSUER) 1 3.3 转入方 (TRANSFER-IN) 2 3.4 转出方 (TRANSFER-OUT) 2 3.5 交换系统 (BANK ...
是个很好的银联最新资源 8583学习jPOS首先需要了解以下知识作为基础,否则很难入门: 1.iso-8583协议 2.gradle构建 3.maven知识 4.git知识 5.groovy知识 6.BeanShell知识 7.pgp知识
中国银联银行卡交换系统技术规范;中国银联银行卡交换系统技术规范;中国银联银行卡交换系统技术规范;中国银联银行卡交换系统技术规范;中国银联银行卡交换系统技术规范;中国银联银行卡交换系统技术规范;中国银联...
类似银联8583包的解析和组织程序类,可加工成标准ISO8583包的组织方法
对ISO8583数据包操作的C#类库源码,含有示例项目和类库API文档
银联支付标准ISO8583报文,192个域
银联报文分析工具,用以分析基于ISO8583协议的报文。当然还有支持TLV BITMAP的工具
中国银联银行卡交换系统技术规范2016版,境内卷,包含银联对接的技术规范。8583版
中国银联接口标准文档,各种参数详细定义,供开发人员参考
中国银联银行卡交换系统技术规范,解析8583报文详细介绍
包含《银行卡信息交换术语》、《中国银联技术标准分类及命名规范》、《中国银联入网机构标识码编码规范》
8583包的例子,通俗易懂 包括创建一个8583类和8583组包,拆包 测试程序若干
中国银联POS终端规范8583报文,对于银联交易方面的开发者有提示帮助作用
银联 iso 8583 报文解析与封装C代码