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. 对于扣钱的情况(在读应用数据的最后一条指令扣钱)有两种:
        一种是闪卡,也就是卡片在处理完扣除金额的指令时,卡片刚好移开,导致终端未能收到卡片返回的数据,此时终端提示读卡失败,但是金额已扣;
        另一种是公钥错误/缺失,因为公钥是在数据认证才使用到,而此时卡片金额已在读应用数据时扣除了,所以也会导致错账。

转至:PBOC~PPT-补充内容B

PBOC~PPT-补充内容B(转)的更多相关文章

  1. Java学习笔记16(面向对象九:补充内容)

    总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不 ...

  2. 将PPT文件内容转换为图片放在Email邮件正文中发送

    通过Email推送统计报告.一般除了要求将PPT报告文件作为附件发给用户,同时希望将报告内容在邮件中直观展示. 一份统计报告中经常包含柱状图.饼图.好看的图表,这些信息要直接在Email中展示比较复杂 ...

  3. Python学习---JSON补充内容[中文编码 + dumps解析]

    JSON补充内容[微信解决中文乱码,接上] import json # 英文显示 dic = {"hello": "world"} str = json.dum ...

  4. JVM 专题五:类加载子系统(三)补充内容

    3. 补充内容 3.1 在jvm中表示两个class对象是否为同一个类的两个必要条件 类的完整类名必须一致,包括包名. 加载这个类的ClassLoader(指ClassLoader实例对象)必须相同 ...

  5. lucent检索技术之创建索引:使用POI读取txt/word/excel/ppt/pdf内容

    在使用lucent检索文档时,必须先为各文档创建索引.索引的创建即读出文档信息(如文档名称.上传时间.文档内容等),然后再经过分词建索引写入到索引文件里.这里主要是总结下读取各类文档内容这一步. 一. ...

  6. 2星|《重新定义物流》:形式像PPT,内容像公关稿

    全书彩印,彩图大概占一半篇幅,感觉是把一些PPT配上点说明拼成了一本书.前后的彩图风格差异较大,大部分给我的感觉都是堆砌名词术语的官方宣传材料,少部分色调单一形式简单的图,像是作者们自己绘制的,反而能 ...

  7. day 34 编程之补充内容

    生产消费者模型(必须要理解并且牢记,默写内容): from multiprocessing import Process,Queue import time,random,os def procduc ...

  8. Centos7.4安装配置haproxy和Keepalived补充内容

    补充比较杂 1.当master服务恢复正常之后,backup机器收到消息,然后让出vip 下面是master机器服务恢复正常后,backup机器的Keepalived日志 收到master的消息通知, ...

  9. 一起做RGB-D SLAM(8) (关于调试与补充内容)

    “一起做”系列完结后,我收到不少同学给我的反馈.他们提了一些在程序编译/运行过程中的问题.我把它们汇总起来,组成了这个“补充篇”.你也可以看成是一个Q&A. Q: OpenCV的版本?A: 我 ...

随机推荐

  1. MIUI5(红米、小米)打开开发者模式

    在miui5系统中系统默认隐藏原生android的开发者模式选项,要想启动该模式需要按照以下操作: 设置-关于手机- 连续点击安卓版本4下. 然后再返回主设置页面下,你会发现开发者选项已经出现.

  2. MVC学习笔记---MVC的处理管线

    漫步ASP.NET MVC的处理管线   ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你 ...

  3. C# 谈Dictionary<TKey,TValue>,SortedDictionary<TKey,TValue>排序

    使用过Dictionary的人都知道,当每一个Add里面的值都不会改变其顺序,所以需要需要对其排序的时候就用到SortedDictionary, 但SortedDictionary并不是那么理想,其默 ...

  4. html文字有光晕

    <style> .tb{ font-size:40px; filter:glow(color=pink,direction=); font-family:华文行楷; } </styl ...

  5. Velocity引擎导致jvm内存外内存泄露

    我公司一兄弟,在controller层,每次调用controller的时候都创建了velocity引擎,而且没有去关闭,最终导致的现象就是jvm的内存信息正常,但是jvm之外的内存发生了泄露,导致是用 ...

  6. VS插件

    VS插件 背景 前些天去考科目二,感觉经历了一场不是高考却胜似高考的考试(10年前的5分之差, 还是难以释怀)!    一行八人,就我学的时间最少(4天,8人一辆车),教练都觉得我肯定还得再来一次! ...

  7. Konckout第三个实例:循环绑定 -- table列表数据的填充

    传统js:拼接字符串,再写入指定标签中 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  8. 每天一个linux命令(16):which

    1.命令简介 which (which) 命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置并且返回第一个搜索结果.也就是说使用which命令就可以看到某个系统命令是否存在以及执行的到底是哪 ...

  9. git将本地内容传送到远程仓库出现![rejected] master -&gt; master (fetch first)错误

    问题:使用git push -u 远程库名 master 命令将本地提交的内容传到git远程库时出现错误: 命令: git push -u origin master 出现错误: To https:/ ...

  10. Spring &lt;tx:annotation-driven&gt;注解 JDK动态代理和CGLIB动态代理 区别。

    基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别. 我还是喜欢基于Schema风格的Spring事务管理,但也有很多人在用基于@Tras ...