PBOC协议中对于所有电子存折/电子钱包应用的预处理
下图给出了PBOC协议中规定的对电子存折/电子钱包应用的所有交易类型共有的预处理流程
图1
1.1 插入卡片
终端应具有检测IC卡是否已经插入读卡器的功能。如果IC卡已经插入,终端将继续执行1.2的应用选择功能
1.2 应用选择
成功地选择了电子存折/电子钱包应用后,IC卡回送包含发卡方专用数据在内的文件控制信息。表1定义了此应用必备的发卡方专用数据。
表1
1.3 IC卡有效性检查
对于SELECT命令回送的数据,终端将对这些数据进行以下检查:
——该卡是否在终端存储的黑名单3卡之列(使用发卡方标识和应用序列号);
——终端是否支持该发卡方标识符;
——终端是否支持IC卡上的应用[使用应用类型标识(ATI)来检查];
——终端是否支持从IC卡应用选择时返回的标签为‘9F08’的应用版本号所代表的应用版本,当前的版本号为0x02;
——应用是否在有效期内。
1.4 错误处理
1.5 选择电子存折或电子钱包
终端根据应用选择时获得的应用类型标识判别IC卡支持ED、EP的情况。
如果IC卡和终端只同时支持ED或EP之一,则终端将自动地选择到ED或EP,继而进行1.6或1.8中所描述的步骤。
如果IC卡仅支持一种应用并且该应用不被终端支持,则该过程终止。
如果IC卡和终端彼此都支持ED和EP两种应用,终端应向持卡人提供选择ED或EP的过程,在这一过程中持卡人可以从中选择一种应用进行交易。
1.6 提示输入个人识别码(PIN)
如果1.5描述的选择了电子存折,终端将提示持卡人输入PIN。
1.7 校验PIN
持卡人输入PIN后,终端将使用VERIFY命令来校验持卡人输入的PIN是否正确。
当IC卡收到校验(VERIFY)命令后,它将进行以下操作:
——检查PIN尝试计数器。如果PIN尝试计数器为零,此时PIN已锁定,因此不执行该命令。这种情况下,IC卡回送状态字“6983”(认证方式锁定)结束交易过程;
——如果PIN没有被锁定,则将命令数据中的PIN和IC卡中存放的PIN进行比较;
——如果以上两个PIN相同,IC卡将PIN尝试计数器置为允许PIN重试的最大次数并回送状态字“9000”。IC卡必须记住PIN成功验证的结果,直到断电或选择了其他应用。交易处理按5.5.1.8中的描述继续进行;
——如果以上两个PIN不同,IC卡将PIN尝试计数器减1并回送状态字“63Cx”,这里’x’是PIN尝试计数器的新值。在这种情况下,终端将检查x的值。如果x是零,将终止交易,且卡片自动锁定PIN。否则,终端将提示重新输入PIN并重复以上过程。
如果持卡人输入的PIN正确,IC卡必须记住PIN成功验证的结果,直到断电、卡片复位、PIN再次验证错误或选择了其他应用。验证正确后,交易流程执行1.8中的步骤。
1.8 交易类型选择(步骤1.8)
终端应该具备让持卡人选择交易类型的功能。每次交易最多只能选择一种交易类型。
对电子存折应用来说,持卡人应能选择如下交易类型:圈存、圈提、消费、取现、修改透支限额、查询余额、查询明细。
对电子钱包应用来说,持卡人应能选择如下交易类型:圈存、消费、查询余额。
PBOC协议中对于所有电子存折/电子钱包应用的预处理的更多相关文章
- PBOC2.0协议中电子存折/电子钱包中圈存交易流程
通过圈存交易,持卡人可将其在银行相应账户上的资金划入电子存折或电子钱包中.这种交易必须在金融终端上联机进行并要求提交个人识别码(PIN)(无论电子存折还是电子钱包应用). 交易流程图如下: 1.1 发 ...
- http协议中用于上传多个文件的 multipart 字段
大家好,我是许飞,微软拼音的开发实习生.在网络编程中,经常用到从服务器上“下载”一些数据,有时却要向服务器“上传”数据.曾在一个原型中使用了“multipart/form-data”格式向Web服务器 ...
- C#的HTTP协议中POST与GET的区别
引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态 ...
- HTTP 协议中的 Content-Encoding 和 Transfer-Encoding(内容编码和传输编码)
转自:http://network.51cto.com/art/201509/491335.htm Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」.实际上,HT ...
- HTTP协议中状态码的应用
HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. 所有状态码的第一个数字代表了响应的五种状态之一. Mark from 维基百科 消息 ...
- TCP 协议中MSS的理解
在介绍MSS之前我们必须要理解下面的几个重要的概念.MTU: Maxitum Transmission Unit 最大传输单元MSS: Maxitum Segment Size 最大分段大小PPPoE ...
- LWIP协议中tcp_seg结构相关指针的个人理解
我曾经写在新浪博客上面,后来复制到这,图片就不行了. 原文地址转载 LWIP协议中tcp_seg结构相关指针的个人理解(http://blog.sina.com.cn/s/blog_7e586985 ...
- HTTP协议中PUT/GET/POST/HEAD等介绍
HTTP协议中GET.POST和HEAD的介绍 GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体 ...
- tcp协议中mss的理解
在介绍MSS之前我们必须要理解下面的几个重要的概念.<blockquote>MTU: Maxitum Transmission Unit 最大传输单元MSS: Maxitum Segmen ...
随机推荐
- getpass模块和random模块
getpass模块 用于对密码的隐藏输入案例: import getpass passwd = getpass.getpass("please input your password&quo ...
- SpringMVC@RequestBody小细节
关于@RequestBody 参数类型自己的包装类,还是类似String/int,区别: 1.@RequestBody LoginParmar parmar String user_number = ...
- MVC与MVVM区别?
在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑. MVC模型关注的是Model的不变,所以,在MVC模型里,Model不依赖于Vi ...
- css的用法
Css(Cascading Style Sheets,层叠样式表)是一种页面美化方法,通过编辑Css的对象属性达到美化页面的效果.Css的操作基本单元为对象,使用CSS的感觉就像是使用C++/C中的函 ...
- appium for mobile web 之使用 ChromeDriver
之前研究了一段时间的appium for native app 相应的总结如下: appium测试环境搭建 :ht ...
- int main( int argc, char **argv)
1.参数 (有时参数是void) argc是程序运行时参数个数 argv是存储参数的数组,可以用char* argv[],也可以用char **argv. 例如编译一个hello.c的程序 1 #in ...
- CPrimerPlus第十一章中的“选择排序算法”学习
C Primer Plus第十一章字符串排序程序11.25中,涉及到“选择排序算法”,这也是找工作笔试或面试可能会遇到的题目,下面谈谈自己的理解. 举个例子:对数组num[5]={3,5,2,1,4} ...
- String字符串去掉最后一个","号的几种方式
String a = "struts-default.xml,struts-plugin.xml,struts.xml"; String[] bStrings = a.split( ...
- GIT 从入门到放弃大整理
跟着廖雪峰学 GIT http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GUI f ...
- nginx 配置https upstream 跳转失败
访问首页没问题,但是在登录跳转重定向时域名被修改成upstream的名字 如果需要跳转的话会出现下面的情况: http://test-xxx-emove_pools/beehive/index ser ...