zoukankan      html  css  js  c++  java
  • PBOC2.0协议中电子存折/电子钱包中圈存交易流程

    通过圈存交易,持卡人可将其在银行相应账户上的资金划入电子存折或电子钱包中。这种交易必须在金融终端上联机进行并要求提交个人识别码(PIN)(无论电子存折还是电子钱包应用)。

    交易流程图如下:

    1.1 发出初始化圈存交易

    终端发出初始化圈存(INITIALIZE FOR LOAD)命令启动圈存交易。

    初始化圈存(INITIALIZE FOR LOAD)命令报文如表1所示:

    命令报文中的数据域为:

    1.2 处理初始化圈存(INITIALIZE FOR LOAD)命令

    收到初始化圈存(INITIALIZE FOR LOAD)命令后,IC卡将进行以下操作:
    ——检查是否支持命令中包含的密钥索引号。如果不支持,则回送状态字“9403”(不支持的密钥索引),但不回送任何其他数据,同时终止命令的处理过程;
    ——产生一个伪随机数(ICC),过程密钥SESLK和一个报文签别码(MAC1),用以供主机验证圈存交易及IC卡的合法性。

    用来产生过程密钥SESLK的输入数据如下:
    SESLK:伪随机数(ICC)||电子存折联机交易序号或电子钱包联机交易序号||“8000”

    用SESLK对以下数据加密产生MAC1(按所列顺序):
    ——电子存折余额(交易前)或者电子钱包余额(交易前);
    ——交易金额;(通过INITIALIZE FOR LOAD命令报文中的数据域获取)
    ——交易类型标识;
    ——终端机编号。(通过INITIALIZE FOR LOAD命令报文中的数据域获取)

    IC卡将把初始化圈存(INITIALIZE FOR LOAD)响应报文回送给终端处理。如果IC卡回送的状态字不是“9000”,则交易终止。

    初始化圈存(INITIALIZE FOR LOAD)响应报文如下:

    1.3 验证MAC1

    收到初始化圈存(INITIALIZE FOR LOAD)命令响应报文后,终端把IC卡回复初始化圈存(INITIALIZE FOR LOAD)的响应报文数据传给发卡方主机。
    主机将生成SESLK并确认MAC1是否有效。如果MAC1有效,交易处理将按1.5中描述的步骤继续执行。否则,交易处理将执行1.4中所描述的步骤。

    1.4 回送错误状态

    如果不接受圈存交易,则主机应通知终端。

    1.5 交易处理

    在确认能够进行圈存交易后,主机从持卡人在银行的相应账户中扣减圈存金额。
    主机产生一个报文签别码(MAC2),用于IC卡对主机进行合法性检查。用SESLK对以下数据加密产生MAC2(按所列顺序):
    ——交易金额;
    ——交易类型标识;
    ——终端机编号;
    ——交易日期(主机);
    ——交易时间(主机)。
    成功地进行了圈存交易后,主机将电子存折联机交易序号或电子钱包联机交易序号加1,并向终端发送一个圈存交易接受报文,其中包括MAC2、交易日期(主机)和交易时间(主机)。

    1.6 发出圈存(CREDIT FOR LOAD)命令

    终端收到主机发来的圈存交易接受报文后,发出圈存(CREDIT FOR LOAD)命令更新卡上电子存折或电子钱包余额。
    圈存命令报文如下:

    命令报文数据域如下:

    1.7 验证MAC2

    收到圈存(CREDIT FOR LOAD)命令后,IC卡必须确认MAC2的有效性(IC卡内部计算MAC2,然后比较MAC2和发过来的MAC2是否相等)。
    如果MAC2有效,交易处理将执行1.8中描述的步骤。否则将向终端回送状态字“9302”(MAC无效)。

    1.8 交易处理

    IC卡将电子存折联机交易序号或电子钱包联机交易序号加1,并且把交易金额加在电子存折或电子钱包的余额上。IC卡必须成功地完成以上所有操作或者一个也不完成。
    在电子存折圈存交易或电子钱包圈存交易中,IC卡用以下数据组成的一个记录更新交易明细:
    ——电子存折联机交易序号或电子钱包联机交易序号;
    ——交易金额;
    ——交易类型标识;
    ——终端机编号;
    ——交易日期(主机);
    ——交易时间(主机)。

    TAC的计算不采用过程密钥方式,它用DTK左右8位字节异或运算的结果对以下数据进行加密运算来产生(按所列顺序):
    ——电子存折余额(交易后)或电子钱包余额(交易后);
    ——电子存折联机交易序号(加1前)或电子钱包联机交易序号(加1前);
    ——交易金额;
    ——交易类型标识;
    ——终端机编号
    ——交易日期(主机);
    ——交易时间(主机)。

    1.9 返回确认

    在成功完成步骤1.8后,IC卡通过CREDIT FOR LOAD命令的响应报文将TAC回送给终端。主机可以不马上验证TAC。

    圈存命令(CREDIT FOR LOAD)的响应报文如下:

  • 相关阅读:
    Mac下安装Mysql
    事务隔离级别
    Mysql和Orcale的区别
    springboot的优点
    spring boot注解
    spring boot 常用注解
    java链接Mysql出现警告:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by
    SpringApplication及banner的配置
    交叉编译
    qt下载和安装记录
  • 原文地址:https://www.cnblogs.com/cuglkb/p/5920765.html
Copyright © 2011-2022 走看看