下图给出了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)

终端应该具备让持卡人选择交易类型的功能。每次交易最多只能选择一种交易类型。
对电子存折应用来说,持卡人应能选择如下交易类型:圈存、圈提、消费、取现、修改透支限额、查询余额、查询明细。
对电子钱包应用来说,持卡人应能选择如下交易类型:圈存、消费、查询余额。

最新文章

  1. C++对C的函数拓展
  2. [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法
  3. DayOfWeek
  4. [整理]iOS开发学习
  5. Java I/O操作学习笔记
  6. UNIX环境高级编程-环境配置
  7. Nginx+Keepalived+Tomcat之动静分离的web集群
  8. log4j是什么
  9. HDU - 5036 Explosion
  10. (大数据工程师学习路径)第三步 Git Community Book----中级技能(下)
  11. 使用python+Selenium对空调控制器进行循环发送控制命令
  12. vector, map, queue,set常用总结
  13. Ubuntu Desktop 编译 ffmpeg (简略的写写)
  14. django之 使用py文件操作django项目中的表
  15. Estimating the number of receiving nodes in 802.11 networks via machine learning
  16. 阿里ARouter使用及源码解析(一)
  17. MySQL Binlog常用参数
  18. 【2017下集美大学软工1412班_助教博客】团队编程2-需求分析&原型设计团队成绩公示
  19. 【转】Java 字节流与字符流的区别
  20. Spring @SCHEDULED(CRON = "0 0 * * * ?")实现定时任务

热门文章

  1. Jmeter连接Mysql
  2. ActiveMQ初体验(转)
  3. [译]SQL Server分析服务的权限配置
  4. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(一):下载平台并基于直连环境运行
  5. Android ADB命令大全
  6. UML学习(一)-----用例图
  7. CodeChef - QCHEF 分块
  8. C# 词法分析器(五)转换 DFA
  9. 编译原理-词法分析04-NFA & 代码实现
  10. fastclick与zepto的 tap事件关于在手机上click事件的300ms延迟的区别