透支功能是一种从技术上支持的基于电子存折应用的有限信用功能。当电子存折中的实际余额不足时,它为持卡人提供了一种在发卡方允许的透支额度内继续进行交易的方便性。这种功能的使用与否和限额的大小由发卡方决定。
如果存在透支限额的话,电子存折的余额就是实际圈存余额和透支限额之和。修改透支限额交易必须在金融终端上联机进行。进行修改透支限额交易以前需要验证持卡人个人密码PIN。
交易流程如下图所示:
1、发出INITIALIZE FOR UPDATE命令
终端向卡片发出INITIALIZE FOR UPDATE命令启动修改透支限额交易。
2、处理INITIALIZE FOR UPDATE命令
IC卡收到INITIALIZE FOR UPDATE命令以后,将进行如下检查。
* 检查IC卡是否支持命令中包含的密钥索引号。如果不支持的话,返回状态码0x9403,且不返回其他数据,同时中止命令执行。
通过以上检查以后,IC卡生成一个伪随机数ICC、过程密钥SESUK和一个报文鉴别码MAC1。过程密钥SESUK是用于电子存折的修改透支限额交易,SESUK用密钥DUK分散得到。
MAC1的计算方法是用SESUK对以下数据按顺序链接进行加密计算而得。
* 电子存折余额
* 透支限额
* 交易类型标识
* 终端机编号
IC卡回送INITIALIZE FOR UPDATE 命令的响应报文给终端。如果IC卡回送的状态码不是0x9000的话,终端将中止交易。
3、验证MAC1
终端收到INITIALIZE FOR UPDATE命令响应报文以后,将交易数据发送给发卡方主机。主机生成和IC卡中一样的SESUK,验证MAC1的有效性。
* 如果MAC1有效的话,主机继续进行下一步骤;
* 如果MAC1无效的话,主机向终端发送一个拒绝报文,终端中止交易进入自定义的错误处理流程。
4、交易处理
主机已经预先知道IC卡中的透支限额。MAC1成功验证以后,主机允许修改透支限额交易,将生成一个报文鉴别码MAC2。MAC2是用SESUK对以下数据按顺序链接进行加密计算得到。
* 透支限额。
* 交易类型标识。
* 终端机编号。
* 交易日期(主机)。
* 交易时间(主机)。
主机将电子存折联机交易序号加1。主机向终端发送一个修改透支限额交易接收报文,其中包含了新透支限额、MAC2、交易日期(主机)和交易时间(主机)。
5、发出UPDATE OVERDRAW LIMIT命令
终端收到主机的修改透支限额交易接收报文后,向IC卡发出UPDATE OVERDRAW LIMIT命令,以更新卡的电子存折透支限额。
6、验证MAC2
IC卡收到终端发来的UPDATE OVERDRAW LIMIT命令后,IC卡必须确认MAC2的有效性。
* 如果MAC2有效的话,继续进行下一步骤。
* 如果MAC2无效的话,向终端回送状态码0x9302,终端进入自定义的错误处理流程。
7、交易流程
IC卡计算TAC。TAC的计算用DTK左右8Byte异或运算的结果直接对以下数据顺序链接后进行加密计算产生:
* 电子存折余额。
* 电子存折联机交易序号。
* 电子存折透支限额。
* 交易类型标识。
* 终端机编号。
* 交易日期(主机)。
* 交易时间(主机)。
将当前电子存折余额置为新的电子存折余额,更新透支限额并使电子存折联机交易序号加1。
IC卡用以下数据按顺序链接组成一个记录来更新交易明细:
* 电子存折联机交易序号。
* 透支限额。
* 交易类型标识。
* 终端机编号
* 交易日期(主机)
* 交易时间(主机)
IC卡必须全部成功完成以上所有步骤或者一个都不进行,如果以上某个操作没有成功的话,对明细文件的更新也不进行。
8、回头确认
IC卡回送UPDATE OVERDRAW LIMIT命令的响应报文给终端,响应报文中包含TAC表明透支限额已经被成功更新。
文章评论(0条评论)
登录后参与讨论