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. 自己写的jquery 弹框插件

    html部分 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...

  2. 据库都有哪些锁 然后 Kill session

    当某个数据库用户在数据库中插入.更新.删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait ...

  3. GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法

    使用gcc4.6.3编译linux2.6.32.12内核出现错误如下: In file included from drivers/net/igbvf/ethtool.c:36:0: drivers/ ...

  4. 什么情况下会用到try-catch

    本文不区分语言,只为记录一次有收获的面试. 面试官:什么情况下用到try-catch?程序员:代码执行预料不到的情况,我会使用try-catch.面试官:什么是预料不到的情况呢?程序员:比如我要计算a ...

  5. 使用Apache Ambari管理Hadoop

    随着Hadoop越来越普及,对合适的管理平台的需求成为当前亟待解决的问题.已经有几个商业性的Hadoop管理平台,如Cloudera Enterprise Manager,但Apache Ambari ...

  6. CentOS搭建GitLab服务器

    以下为CentOS7下安装GitLab7.4.3的全部流程 1.切换到root用户su root2.下载并安装GitLabcurl -O https://downloads-packages.s3.a ...

  7. 关于UIView的显示问题

    今天在倒腾PP助手SDK的接入,游戏框架使用的是cocos2d-x,因为不熟悉iOS的UIKit,所以费了点功夫终于让SDK的登录页面显示出来了,问题来了,在iOS设备landscape显示模式UI显 ...

  8. JavaScript,复习总结

    ECMA(European Computer Manufacturers Association)欧洲计算机制造商协会.其制定很多标准:C#语言规范:C++/CLI语言规范:Eiffel语言:CD-R ...

  9. 关于Linq中的Lambda表达式中OrderBy的深入理解

    起因:就是一段Linq语句,OrderBy里面的i是什么? IQueryable<Student> slist = (from s in EFDB.Student select s). O ...

  10. springMVC下集成active MQ发送邮件

    环境:本地需安装activemq,且访问正常,安装方法网上很多,这里省略. 1.添加相关jar包,我这里使用的是maven,你也可以选择其他方式添加.下面是maven相关配置: <!-- Act ...