2024年4月26日发(作者:)

IC卡消费交易流程

消费交易允许持卡人使用电子存折或者电子钱包的余额进行购物或者获取服务。这种

交易可以在销售点终端POS机上脱机进行。

使用电子存折进行消费交易以前需要验证持卡人个人密码PIN,使用电子钱包进行消

费交易则不需要。

消费交易流程如下图所示:

1、发出INITIALIZE FOR PURCHASE命令

终端向卡片发出INITIALIZE FOR PURCHASE命令启动普通消费交易。

2、处理INITIALIZE FOR PURCHASE命令

* 检查IC卡是否支持命令中包含的密钥索引号。如果不支持的话,返回状态码0x9403,

且不返回其他数据,同时中止命令执行。

* 检查命令中包含的交易金额是否超过电子存折或者电子钱包余额。如果超过的话,

返回状态码0x9401且不返回其他数据,同时中止命令执行。

通过以上检查以后,IC卡生成一个伪随机数ICC和过程密钥SESPK。过程密钥SESPK

是用于电子存折和电子钱包的消费交易,SESPK用密钥DPK分散得到。

IC卡回送INITIALIZE FOR PURCHASE命令的响应报文给终端。如果IC卡回送的状

态码不是0x9000的话,终端将中止交易。

3、产生MAC1

终端收到INITIALIZE FOR PURCHASE 命令响应报文以后,利用IC卡回送的伪随机

数和脱机交易序号,在终端生成和IC卡中一样的SESPK,并计算一个报文鉴别码MAC1。

MAC1的计算方法是用SESPK对以下数据按顺序链接进行加密计算而得。

* 交易金额

* 交易类型标识

* 终端机编号

* 交易日期(终端)

* 交易时间(终端)

4、发出 DEBIT FOR PURCHASE 命令

终端向IC卡发出DEBIT FOR PURCHASE 命令。

5、验证MAC1