圈存&圈提

38 篇文章 3 订阅

此文章内容来源于百度百科。

圈存即是将您平时从银行户头中提领现金放在口袋里进行消费付款的方式变成将您银行户头中的钱直接圈存(存入)IC晶片上,亦即有了电子钱包,这样一来,您就免除携带现金找零、遗失、伪钞、被抢之风险。圈存的资金大多是个人在特定的消费环境下进行刷卡消费的。

指令发出
  通过圈存交易,持卡人可将其在银行相应账户上的资金划入电子存折或电子钱包中;这种交易必须在金融终端上联机进行;进行圈存交易以前需要验证持卡人个人密码PIN 。交易流程如下图所示:
  发出INITIALIZE FOR LOAD命令
  终端向卡片发出INITIALIZE FOR LOAD命令启动圈存交易。
命令处理
  INITIALIZE FOR LOAD命令
  IC卡收到INITIALIZE FOR LOAD命令以后,将进行如下检查:
  * 检查IC卡是否支持命令中包含的密钥索引号。如果不支持的话,返回状态码0x9403,且不返回其他数据,同时中止命令执行。
  * 通过以上检查以后,IC卡生成一个伪随机数ICC,过程密钥SESLK和一个报文鉴别码MAC1。
  过程密钥SESLK是用于电子存折或电子钱包的圈存交易,SESLK用密钥DLK分散得到;MAC1的计算方法是用SESLK对以下数据按顺序链接进行加密计算而得。
  * 电子存折或者电子钱包余额。
  * 交易金额。
  * 交易类型标识。
  * 终端机编号。
  IC卡回送INITIALIZE FOR LOAD命令的响应报文给终端。如果IC卡回送的状态码不是0x9000的话,终端将中止交易。
验证
  验证MAC1
  终端收到INITIALIZE FOR LOAD命令响应报文以后,将交易数据发送给发卡方主机;主机生成和IC卡中一样的SESLK,验证MAC1的有效性。
  * 如果MAC1有效的话,主机继续进行下一步骤;
  * 如果MAC1无效的话,主机将告知终端,终端中止交易进入自定义的错误处理流程。
交易处理
  在确认能够进行圈存交易以后,主机从持卡人在银行的响应账户中扣减圈存金额。主机将生成一个报文鉴别码MAC2。MAC2是用SESLK对以下数据按顺序链接进行加密计算得到:
  * 交易金额
  * 交易类型标识
  * 终端机编号
  * 交易日期(主机)
  * 交易时间(主机)
  成功进行圈存交易后,主机将电子存折联机交易序号或者电子钱包联机交易序号加1,并向终端发送一个圈存交易接受报文,其中包含了MAC2、交易日期(主机)和交易时间(主机)。
发出CREDIT FOR LOAD命令
  终端收到主机的圈存交易接受报文后,向IC卡发出CREDIT FOR LOAD命令,以更新卡上的电子存折或电子钱包余额。
验证MAC2
  IC卡收到终端发来的CREDIT FOR LOAD命令后,IC卡必须确认MAC2的有效性。
  * 如果MAC2有效的话,继续进行下一步骤。
  * 如果MAC2无效的话,向终端回送状态码0x9302,终端进入自定义的错误处理流程。
交易处理
  IC卡将电子存折联机交易序号或电子钱包联机交易序号加1,并且将交易金额加在电子存折或电子钱包的余额上。
  IC卡用以下数据按顺序链接组成一个记录来更新标准交易明细:
  * 电子存折联机交易序号或电子钱包联机交易序号。
  * 交易金额。
  * 交易类型标识。
  * 终端机编号
  * 交易日期(主机)
  * 交易时间(主机)
  IC卡计算TAC。TAC的计算用DTK左右8Byte异或运算的结果直接对以下数据顺序链接后进行加密计算产生:
  * 电子存折余额或电子钱包余额。
  * 电子存折联机交易序号或电子钱包联机交易序号(加1前)。
  * 交易金额。
  * 交易类型标识。
  * 终端机编号。
  * 交易日期(主机)。
  * 交易时间(主机)。
  IC卡必须全部成功完成以上所有步骤或者一个都不进行,如果以上某个操作没有成功的话,对明细文件的更新也不进行。
返回确认
  IC卡回送CREDIT FOR LOAD命令的响应报文给终端,响应报文中包含TAC。终端保存TAC值,可以不马上验证TAC。
  圈存交易结束。

---------------------------------------------------------我是华丽的分割线-------------------------------------

圈提
  圈提,同圈存并列存在,是银行为持卡人提供的主帐户同芯片帐户(电子存折、电子钱包)之间的转帐业务。
  通过圈提交易,持卡人可以把电子存折中的部分或全部资金划回到其在银行的相应帐户上。这种交易必须在金融终端上联机进行并要求提交个人密码(PIN)。只有电子存折应用支持圈提交易。
圈提交易
  1、发出INITIALIZE FOR UNLOAD命令
  终端向卡片发出INITIALIZE FOR UNLOAD命令启动圈提交易。
  2、处理INITIALIZE FOR UNLOAD命令
  IC卡收到INITIALIZE FOR UNLOAD命令以后,将进行如下检查:
  * 检查IC卡是否支持命令中包含的密钥索引号。如果不支持的话,返回状态码0x9403,且不返回其他数据,同时中止命令执行。
  * 检查命令中包含的交易金额是否超过电子存折余额。如果超过的话,返回状态码0x9401且不返回其他数据,同时中止命令执行。
  通过以上检查以后,IC卡生成一个伪随机数ICC、过程密钥SESULK和一个报文鉴别码MAC1。
  过程密钥SESULK是用于电子存折的圈提交易,SESULK用密钥DULK分散得到。MAC1的计算方法是用SESULK对以下数据按顺序链接进行加密计算而得。
  * 电子存折余额。
  * 交易金额。
  * 交易类型标识。
  * 终端机编号。
  IC卡回送INITIALIZE FOR UNLOAD命令的响应报文给终端。如果IC卡回送的状态码不是0x9000的话,终端将中止交易。
  3、验证MAC1
  终端收到INITIALIZE FOR UNLOAD命令响应报文以后,将交易数据发送给发卡方主机。主机生成和IC卡中一样的SESULK,验证MAC1的有效性。
  * 如果MAC1有效的话,主机继续进行下一步骤;
  * 如果MAC1无效的话,主机将告知终端,终端中止交易进入自定义的错误处理流程。
  4、交易处理
  在确认能够进行圈提交易以后,主机将生成一个报文鉴别码MAC2。MAC2是用SESULK对以下数据按顺序链接进行加密计算得到:
  * 交易金额
  * 交易类型标识
  * 终端机编号
  * 交易日期(主机)
  * 交易时间(主机)
  主机向终端发送一个圈提交易接受报文,其中包含了MAC2、交易日期(主机)和交易时间(主机)。
  5、发出DEBIT FOR UNLOAD命令
  终端收到主机的圈提交易接受报文后,向IC卡发出DEBIT FOR UNLOAD命令,以更新卡上的电子存折余额。
  6、验证MAC2
  IC卡收到终端发来的DEBIT FOR UNLOAD命令后,IC卡必须确认MAC2的有效性。
  * 如果MAC2有效的话,继续进行下一步骤。
  * 如果MAC2无效的话,向终端回送状态码0x9302,终端进入自定义的错误处理流程。
  7、交易处理
  IC卡将电子存折联机交易序号加1,并从卡上的电子存折余额中扣减交易金额。
  IC卡计算MAC3。MAC3的计算用SESULK对以下数据顺序链接后进行加密计算产生:
  * 电子存折余额。
  * 电子存折联机交易序号(加1前)。
  * 交易金额。
  * 交易类型标识。
  * 终端机编号。
  * 交易日期(主机)。
  * 交易时间(主机)。
  IC卡用以下数据按顺序链接组成一个记录来更新标准交易明细:
  * 电子存折联机交易序号(加1前)。
  * 交易金额。
  * 交易类型标识。
  * 终端机编号
  * 交易日期(主机)
  * 交易时间(主机)
  IC卡必须全部成功完成以上所有步骤或者一个都不进行,如果以上某个操作没有成功的话,对明细文件的更新也不进行。
  8、验证MAC3
  IC卡回送DEBIT FOR UNLOAD命令的响应报文给终端,响应报文中包含MAC3。终端将数据发送到主机,主机需要校验MAC3的有效性。
  * 如果MAC3有效,主机将继续下一步骤。
  * 如果MAC3无效,主机给终端发送错误码,终端进入自定义的错误处理流程。
  9、交易处理
  主机将交易金额加在持卡人的相应账户上,并将主机的电子存折联机交易序号加1。主机向终端回送一个完成报文。终端收到主机的完成报文后,向持卡人提示完成信息。圈提交易结束。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值