QPBOC规范——读应用数据

脱机交易的 READ RECORD 命令处理 对于脱机交易,交易将继续进行。终端对AFL中的每一条记录都发送READ RECORD命令。当卡成功返 回最后一条记录后,交易防拔位被复位为零,用来指示终端已经完成与卡片的交易。 ——卡片应当能够知道最后一条记录被读取; ——在响应最后一条 READ RECORD 命令前,卡片应当设置交易防拔位(卡片内部指示器)为零; 注: 卡片不会知道终端是否成功接受到最后一条READ RECORD命令的响应。这意味着中断仍可能发生,而一旦发生,
将会不正常影响脱机可用余额。出现这种情形的时间窗已经减小到最小。如果脱机数据认证检查失败,终端
仍可以拒绝交易,但这对于真正的卡很少发生。 ——在响应最后一条 READ RECORD 命令前,卡片应检查卡片附加处理(9F68)第 2 字节第 5 位,若 该位为‘1’,则卡片应当记录一条交易日志,记录交易日志的方法见 JR/T 0025.5 第 18 章。 为了提高交易的运行速度,终端应按照AFL中的顺序读取卡片记录。 

终端通过READ RECORD命令获得卡片数据时,当在获得卡片的失效日期后,应立即进行有效期的检 查。如果卡片失效,则终端应终止交易并提示持卡人“卡片过有效期,交易失败”。此时卡片由于没有 检测到最后一条记录被读取,因此卡片的交易防拔位不能复位为零。在下次交易时,卡片应能恢复脱机 计数器到先前的值

当终端接收到来自卡片的正确的GPO命令响应,它将检查发卡行应用数据(标签“9F10”)来确定 卡片提供的密文类型。根据密文类型,判断交易拒绝、联机处理或脱机批准。

OFFLINE: 如果 GPO 中返回的密文并非 AAC, 终端读取 AFL 指出的记录。AFL 也指 出哪条记录被签名用于脱机数据认证
终端检查卡片是否到失效期,如果未到 失 效 期 则 执 行 脱 机 数 据 认 证 (SDA/DDA),如果失败则拒绝此交易;
如果脱机数据认证通过而且卡片未失 效,则使用 GPO 中的返回密文完成交 易 脱机数据认证是兼容 JR/T0025.6 的, 除非在GPO中产生动态签名或在读完 最后一条记录后卡片不再需要保留在域中 。

ONLINE: 卡片离开后,终端发送由卡片提供的 密文。密文是对 GPO、联机和发卡行 响应的批准或拒绝 AFL 未被返回,而且没有其它记录可 被读出。

其中AAC、TC、AQRC是从tag 9F10取出的。

注意:要走读应用数据流程首先AFL(tag94)要存在。

——终端通过AFL决定要从卡片中读取哪些交易数据记录,每个AFL项(四个字节)代表了卡片一个文件 中的连续记录。对每个AFL项(四个字节),从第1条记录开始,终端依次对每条记录向卡片发送一个读 记录(READ RECORD)命令读取记录数据,一直到最后一条记录。如此将所有AFL项处理完。读到的交易 数据中可以识别的应存储在终端上供交易使用。如果读取到TLV格式正确但规范未定义的标签,终端应 将其保存以备后用,终端不应因此而终止交易。对于AFL指明要用于脱机数据认证的记录,则将其数据 加到脱机认证的数据列表中供脱机数据认证使用。

AFL对应的记录号取值。

发布了20 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhuimenglushang/article/details/105263481