分类: 嵌入式
2012-12-13 13:59:01
电子现金的概念是在PBOC2.0规范<<基于借记/贷记应用的小额支付规范 >>里提出的。可以这样理解,电子现金是PBOC2.0里的一个应用,它基于借贷记. 这个应用被提出的目的就是实现我们经常听说的一个功能, 小额支付功能.
基于电子现金的卡目前来讲,一般有如下几个特点:
1 是由银行发行, 这个是必须的,否则就不会叫金融IC卡了.
2 卡里只有一个应用,也就是一个AID,因为目前国内推行PBOC的卡都是先从单应用开始做试点. 从卡片的角度来讲,实现多应用不成问题,但是, 如果卡片支持多应用, 还需要终端(包括圈存终端和消费终端)以及银行后台的相应配合, 这部分的工程量就很大了, 所以暂时以单应用为主.
3 一般用这张卡做小额支付,并且非实名制,消费无需密码,且是脱机消费.
4 这种卡一般只在银行内部或企业内部使用(企业内部也是与银行合作), 目前很难推广到一些大的公共事业中(比如交通), 因为这些行业是国家建设部管的, 这里面有很多非技术的原因导致银行这种金融机构与建设部难以坐在一起协商.
所谓电子现金圈存, 是指把用户在银行帐户里的钱转到这张电子现金的卡上. 说白了就是从你的***上转钱到电子现金的IC卡上. 由于目前还没有实现PBOC卡的多应用,整个圈存过程实际上需要两张卡,终端先读取***信息(包括卡号,密码以及充值金额等信息), 扣费成功后下一步才是走PBOC交易流程,对电子现金卡写卡. 而推广PBOC的终极目标就是实现一卡多应用, 也就是说,未来的某个时候,就可以用一张卡完成圈存,只是不同的应用.
第一步, 使用支付系统目录
选择支持使用支付系统目录方法进行应用选择,下面是终端使用目录方法的步骤:
终端通过使用选择(SELECT)命令来选择文件名为‘1PAY.SYS.DDF01’的支付系统环境而开始,由此建立支付系统环境并进入初始目录。
参考代码:(仅供参考) 第一步.tar.zip
这步的打印信息:
send: len=[20]
00 A4 04 00 :0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
DATA=a4
receive_data[0] is 61
receive_data[1] is 1b
receive: len=[29]
:6F 19 84 0E 31 50 41 59 :2E 53 59 53 2E 44 44 46
:30 31 A5 07 88 01 01 9F :11 01 01 90 00
FCI:[6F]
DF name:31 50 41 59 2E 53 59 53 2E 44 44 46 30 31
SFI name:01
发卡行代码:01
第二步:根据上一步得到SFI,获得相应的ADF信息
参考代码: 第二步.tar.zip (仅供参考)
这步的打印信息:
send: len=[5]
00 B2 01 0C :FF
send: len=[5]
00 B2 01 0C :2A
receive: len=[44]
:70 28 61 26 4F 08 A0 00 :00 03 33 01 01 01 50 0A
:50 42 4F 43 20 44 45 42 :49 54 87 01 01 9F 12 0A
:D5 D0 D0 D0 D2 BB BF A8 :CD A8 90 00
AID:4f 08 a0 00 00 03 33 01 01 01
应用标签:50 0a 50 42 4f 43 20 44 45 42 49 54
应用优先名称:9f 12 0a d5 d0 d0 d0 d2 bb bf a8 cd a8
应用优先权标识符:01
第三步:根据AID获得SFI
参考代码: 第三步.tar.zip (仅供参考)