PBOC电子现金
基于借记/贷记应用上小额支付的一种实现。在借记卡上可以解释为预付,在贷记卡上可以解释为预先授权。预付的金额或预授权额度在卡片中体现为可脱机消费的金额,也就是电子现金余额。电子现金解决方案是基于完全兼容EMV的支付产品组件,并使用PBOC2.0借贷记卡片应用的高级风险管理特性。
应用选择
终端发送SELECT命令选择应用,卡片返回文件控制信息( FCI),其中包括了请求电子
现金终端支持指示器、授权金额以及交易货币代码的PDOL。
初始化应用
如果终端支持电子现金交易,且授权金额小于AID里的电子现金限额,那么终端将在
GET PROCESSING OPTIONS( GPO)命令中提供电子现金终端支持指示器(设置为“ 1”)。
这个步骤后是否是执行的电子现金交易就由卡片来决定了。
PBOC国密算法
PBOC3.0脱机数据认证中增加了国密算法(SM2、 SM3、 SM4)。
国密相关新增数据元DF69,在PDOL中请求(如果卡片支持SM算法)。
现状:
1. POSP还未支持国密的公钥
2. 银联的非接读头规范也未增加国密公钥的协议。
鉴于如上两个原因,POS应用程序PBOC3.0的改造暂不支持国密算法(内核支持)。-现在程序也有接口可以支持了
公司有密码键盘可支持国密了。读卡器G101P。
三、 qPBOC知识简介
qPBOC交易特点:
1.只支持非接触通讯方式
2. 进行交易预处理(先输金额,后提示出卡)
3.压缩应用命令,减少交易时间
4.先读数据,再做认证,减少卡片停留时间
5.使用”2PAY.SYS.DDF01” 来选择PPSE
6.PPSE选择不成功不转AID列表选择方式
如何判断为卡片支持qPBOC交易:
1.PPSE的目录环境符合要求
2.PDOL数据请求中包含9F66终端属性信息,不存在需要终止非接交易。
3.GPO数据AIP BYTE2 bit8 = 0;
4.GPO响应数据包含应用密文9F26
qPBOC的三大限额:
DF19 非接触脱机最低限额:
超过该限额,需要请求联机;
DF20 非接触交易限额:
超过该限额,直接终止交易;
DF21 非接触CVM限额:
超过该限额,需要请求CVM持卡人验证(联机PIN或签名)
四、 IC卡交易常见问题
1.什么时候走Fallback
2.终端没有下载AID和公钥会出现什么现象
3.当交易失败时如何判断交易是否正常
4.为什么有的时候会去联机,有的时候直接交易失败
5.电子现金卡做接触式交易不被脱机批准
6.qPBOC请求联机的情况
7.qPBOC提示“请使用PBOC” 的问题
8.qPBOC交易失败,出现扣钱与不扣钱的情况
1.什么时候走Fallback
当IC卡数据损坏不能进行IC卡交易,允许该卡降级处理,使用磁条卡进行交易,该过程叫Fallback。出现如下情况时进行Fallback
a.复位失败时
b.找不到和终端匹配的应用时
c.初始化应用的时候返回的不是9000,以及不是6985的时候
d.第一次GAC返回的是6985的时候
处理流程: IC卡交易不成功时,终端会提示进行刷卡操作,这时候插IC卡交易无效,只能进行磁卡交易。
报文处理:如果刷的是IC卡,相关报文走Fallback报文,如果不是刷IC卡,还是走普通磁条卡报文。
目前,人行对关闭金融IC复合卡降级交易的处理做出了通知,要求发卡端关闭降级交易时应向受理端统一返回“ 45”代码。受理终端对发卡端关闭降级交易返回的“ 45”代码,应显示“请使用芯片,如损坏请联系发卡行”
2.终端没有下载AID和公钥会出现什么现象
终端没有AID的情况:
终端可以寻卡、复位、但是在做应用选择时,会因为找不到终端和卡片之间的共同应用,导致交易无法继续,此时终端会走FALLBACK流程,提示“请使用磁条卡”。
终端没有公钥的情况:
对于EMV和PBOC交易,没有公钥一般不会导致交易失败,只是在做“脱机数据认证”这一步骤时会认证失败,对TVR和TSI进行置位,终端会根据TAC与TVR、以及IAC与TVR进行判断,一般情况下会请求联机,由后台判断
交易是否被批准。
对于qPBOC交易,会出现卡片的钱已经扣了,但终端却提示交易失败的情况
3.当交易失败时如何判断交易是否正常
最简单方法:看TVR、 TSI
4.为什么有的时候会去联机,有的时候直接交易失败
决定终端交易状态的三要素:
TVR、 TAC、 IAC
TAC: 拒绝5字节、联机5字节、默认5字节
IAC: 拒绝5字节、联机5字节、默认5字节
5.电子现金卡做接触式交易不被脱机批准 - 这个题目很值得斟酌啊
导致交易不被批准的因素有很多,这里着重讲述日常中经常出现的现象:
1. 交易金额超过“电子现金终端交易限额” (AID参数中9F7B)。
解决方法:
a):进系统设置,修改对应的aid参数
b):更改后台的aid文件中的9F7B参数 ,重新下载aid
c):减小交易金额
2. 上一笔联机交易发卡行认证失败或脚本执行失败,此种情形会导致卡片里面的发卡行认证失败指示器或发卡行脚本处理失败指示器置位,而使卡片在读应用数据步骤不返回电子现金发卡行授权码9F74。
解决方法:连接真实后台,重新做一笔有下发发卡行认证数据和脚本(并且是发卡行认证和脚本执行成功的)的联机交易,清除卡片中相应的指示器。
6.qPBOC请求联机的情况
请求联机分两类:卡片导致的和终端导致的。
1. 对于卡片内部请求联机的情况有很多种(例如余额不足、新卡检测、pin尝试超过检查等等)。
2. 终端一般是由于交易金额超过非接脱机最低限额( DF19),此时终端会置位9F66的第二字节的最高位,表示请求联机密码;
解决方法:
a: 进系统设置,修改对应的aid参数;
b: 更改后台的aid文件中对应的参数,重新下载aid
c:减小交易金额
7.qPBOC提示“请使用PBOC” 的问题
1.卡片返回数据有问题,例如卡片返回的PDOL中不包含终端交易属性9F66、 GPO返回6984等等,实际中出现类似情况不多;
2.终端aid参数问题,实际使用中基本都是由此导致的:交易金额大于或者等于非接触交易限额 (DF20)。
解决方法:
a: 进系统设置,修改对应的aid参数;
b: 更改后台的aid文件中的DF20 ,重新下载aid
c:减小交易金额
8.qPBOC交易失败,出现扣钱与不扣钱的情况
1. 不扣钱的情况有很多,例如没有aid、应用未生效、已过有效期、卡片返回的数据有问题等等;
2. 对于扣钱的情况(在读应用数据的最后一条指令扣钱)有两种:
一种是闪卡,也就是卡片在处理完扣除金额的指令时,卡片刚好移开,导致终端未能收到卡片返回的数据,此时终端提示读卡失败,但是金额已扣;
另一种是公钥错误/缺失,因为公钥是在数据认证才使用到,而此时卡片金额已在读应用数据时扣除了,所以也会导致错账。