一种可视金融IC卡及基于可视金融IC卡的脱机交易方法与流程

文档序号:11408338阅读:277来源:国知局
一种可视金融IC卡及基于可视金融IC卡的脱机交易方法与流程

本发明涉及信息安全领域,特别涉及一种可视金融ic卡及基于可视金融ic卡的脱机交易方法。



背景技术:

随着金融行业信息化程度的不断提高,金融行业对安全等级的要求也日益增长,国内外各大银行都争相推出金融ic卡,以全面替代传统的磁条卡。

金融ic卡又称为芯片银行卡,是以芯片作为介质的银行卡,芯片卡容量大,可以存储密钥、数字证书和指纹等信息,在加载电子纸等显示技术后,能够显示电子现金余额、交易明细和发卡行自定义数据等非敏感信息。

然而,现有的金融ic卡需要借助pos机等交易终端实现交易,安全性和便捷性较差。



技术实现要素:

本发明的目的是克服现有技术的缺陷,提供一种可视金融ic卡及基于可视金融ic卡的脱机交易方法,具体通过以下技术方案实现。

一方面,本发明提供一种可视金融ic卡,包括:

接收模块,用于接收客户端发送的蓝牙配对请求、验证请求和命令;

生成模块,用于当接收模块接收到蓝牙配对请求时,生成配对标识;

验证模块,用于当接收模块接收到验证请求时,对客户端进行验证;

显示模块,用于显示生成模块生成的配对标识,以及当验证模块验证未通过时显示相应提示信息;

发送模块,用于当验证模块验证通过时向客户端返回蓝牙配对响应;

连接模块,用于与客户端建立蓝牙连接;

上述可视金融ic卡还包括:

执行模块,用于当接收模块接收到第一预设命令时,选择应用;用于当接收模块接收到第二预设命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;用于当接收模块接收到第三预设命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志。

其中,执行模块具体包括:卡片记录读取单元,用于确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与所述短文件标识对应的应用基本文件,读取所述应用基本文件中与所述记录号对应的卡片记录。

在一些实施方式中,执行模块具体用于:当所述接收模块接收到选择命令时,选择应用;所述执行模块具体包括:第一获取单元,用于判断是否允许执行所述选择命令中的应用标识对应的应用;所述发送模块还用于:当所述第一获取单元判断允许执行时,向客户端返回应用选择成功响应;当所述第一获取单元判断不允许执行时,向客户端返回选择失败响应;

进一步地,发送模块向客户端返回的应用选择成功响应中可以包含处理选项数据对象列表;

在一些实施方式中,执行模块具体用于:当接收模块接收到脱机交易命令时,选择应用;执行模块具体包括:第一获取单元,用于建立应用候选列表,依据应用候选列表选择应用;发送模块还用于:当第一获取单元选择应用失败时向客户端返回应用选择失败响应。

进一步地:

在一些实施方式中,接收模块还用于:当发送模块向客户端返回应用选择成功响应后,接收客户端发送的交易金额;执行模块具体用于:当接收模块接收到获取处理选项命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;执行模块具体包括:第二获取单元,用于根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项;发送模块还用于:当第二获取单元检查通过时,向客户端返回获取处理选项成功响应;当第二获取单元检查未通过时,向客户端返回获取处理选项失败响应;

在一些实施方式中,执行模块具体用于:当接收模块接收到获取处理选项命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;执行模块具体包括:第二获取单元,用于从获取处理选项命令中获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项;发送模块还用于:当第二获取单元检查通过时,向客户端返回获取处理选项成功响应;当第二获取单元检查未通过时,向客户端返回获取处理选项失败响应;

进一步地,本发明中,发送模块向客户端返回的获取处理选项成功响应中可以包含处理选项;

在一些实施方式中,执行模块具体用于:当接收模块接收到脱机交易命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;执行模块具体包括:第二获取单元,用于获取脱机交易命令中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项;发送模块还用于:当第二获取单元检查未通过时,向客户端返回获取处理选项失败响应。

更进一步地:

在一些实施方式中,执行模块具体用于:当接收模块接收到脱机交易命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志;执行模块具体包括:第三获取单元,用于根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作;发送模块还用于:根据第三获取单元的认证结果向客户端返回交易记录数据;

在一些实施方式中,执行模块具体用于:当接收模块接收到读记录命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志;执行模块具体包括:第三获取单元,用于依据接收模块接收到的读记录命令读取相应卡片记录,判断读记录命令是否为最后一条读记录命令,是则根据授权金额更新电子现金余额,生成并保存交易日志;发送模块还用于:向客户端返回包含第三获取单元读取到的卡片记录的读记录成功响应;

在一些实施方式中,执行模块具体用于:当接收模块接收到脱机交易命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志;执行模块具体包括:第三获取单元,用于根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行数据认证操作;发送模块还用于:根据第三获取单元的认证结果向客户端返回交易记录数据。

再进一步地:

在一些实施方式中,执行模块具体包括:卡片记录读取单元,用于根据应用文件定位器确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与短文件标识对应的应用基本文件,读取所述应用基本文件中与所述记录号对应的卡片记录;

在一些实施方式中,执行模块具体包括:卡片记录读取单元,用于从读记录命令中获取卡片记录所在应用文件的段文件标识以及卡片记录的记录号,获取与所述短文件标识对应的应用基本文件,读取所述应用基本文件中与所述记录号对应的卡片记录。

另一方面,本发明提供一种基于可视金融ic卡的脱机交易方法,其特征在于,包括:

步骤s1、可视金融ic卡接收客户端发送的蓝牙配对请求,生成并显示配对标识,当接收到验证请求时,根据配对标识对客户端进行验证,若验证通过则执行步骤s2,否则显示相应提示信息,结束流程;

步骤s2、可视金融ic卡向客户端返回蓝牙配对响应,与客户端建立蓝牙连接,等待并接收客户端下发的命令;

当可视金融ic卡接收到客户端下发的第一预设命令时,上述方法还包括:可视金融ic卡选择应用;

当可视金融ic卡接收到客户端下发的第二预设命令时,上述方法还包括:可视金融ic卡获取终端数据,根据终端数据执行限制检查,获取处理选项;

当可视金融ic卡接收到客户端下发的第三预设命令时,上述方法还包括:可视金融ic卡读取卡片记录,更新电子现金余额,生成并保存交易日志。

具体地,本发明中:

终端数据可以包括:电子现金终端支持指示器、授权金额和交易货币代码;

处理选项可以包括:应用交互特征和应用文件定位器;

读取卡片记录可以具体包括:确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与所述短文件标识对应的应用基本文件,读取所述应用基本文件中与所述记录号对应的卡片记录。

在一些实施方式中,第一预设命令具体为选择命令;选择应用具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回应用选择成功响应,否则向客户端返回应用选择失败响应;

在一些实施方式中,第一预设命令具体为选择命令;选择应用具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回包含处理选项数据对象列表的应用选择成功响应,否则向客户端返回应用选择失败响应;

在一些实施方式中,第一预设命令为脱机交易命令;选择应用具体包括:建立应用候选列表,依据应用候选列表选择应用,并且当选择应用失败时向客户端返回应用选择失败响应。

进一步地:

在一些实施方式中,可视金融ic卡向客户端返回应用选择成功响应之后,还包括:接收客户端发送的交易金额;第二预设命令为获取处理选项命令;获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,向客户端返回获取处理选项成功响应,否则向客户端返回获取处理选项失败响应;其中,获取处理选项成功响应中可以包含处理选项;

在一些实施方式中,第二预设命令为获取处理选项命令;获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:从获取处理选项命令中获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,向客户端返回获取处理选项成功响应,否则向客户端返回获取处理选项失败响应;其中,获取处理选项成功响应中可以包含处理选项;

在一些实施方式中,第二预设命令为脱机交易命令;获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:获取脱机交易命令中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,否则向客户端返回获取处理选项失败响应。

更进一步地:

在一些实施方式中,第三预设命令为脱机交易命令;终端数据包括授权金额;读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据;

在一些实施方式中,第三预设命令为读记录命令;终端数据包括授权金额;读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:依据读记录命令读取相应卡片记录,判断读记录命令是否为最后一条读记录命令,是则根据授权金额更新电子现金余额,生成并保存交易日志,向客户端返回包含所述卡片记录的读记录成功响应,否则向客户端返回包含所述卡片记录的读记录成功响应;

在一些实施方式中,第三预设命令为脱机交易命令;终端数据包括授权金额;读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据。

在一些实施方式中,处理选项包括应用文件定位器;读取卡片记录具体包括:根据应用文件定位器确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与所述短文件标识对应的应用基本文件,读取所述应用基本文件中与所述记录号对应的卡片记录;

在一些实施方式中,读取卡片记录具体包括:从读记录命令中获取卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与所述短文件标识对应的应用基本文件,读取所述应用基本文件中与所述记录号对应的卡片记录。

本发明提供的一种基于可视金融ic卡的脱机交易方法还可以包括:

步骤t1、客户端开启蓝牙扫描,从扫描到的设备中选择可视金融ic卡,向可视金融ic卡发送蓝牙配对请求;

步骤t2、客户端等待并接收用户输入的配对标识,生成包含配对标识的验证请求,向可视金融ic卡发送验证请求;

步骤t3、客户端等待并接收可视金融ic卡返回的蓝牙配对响应,与可视金融ic卡建立蓝牙连接;

步骤t4、客户端获取用户输入的交易金额,向可视金融ic卡下发命令。

在一些实施方式中,客户端向可视金融ic卡下发命令包括:建立应用候选列表,依据应用候选列表向可视金融ic卡下发选择命令;上述第一预设命令为所述选择命令;

进一步地,客户端向可视金融ic卡下发命令还包括:向可视金融ic卡下发获取处理选项命令;上述第二预设命令为所述获取处理选项命令;

其中,客户端向可视金融ic卡下发获取处理选项命令之前还包括:客户端根据处理选项数据对象列表获取终端数据;客户端向可视金融ic卡下发的获取处理选项命令中,包含客户端获取到的终端数据;

更进一步地,客户端向可视金融ic卡下发获取处理选项命令之后还包括:客户端根据获取处理选项成功响应中的处理选项向可视金融ic卡下发读记录命令;上述第三预设命令为读记录命令;

其中,客户端根据获取处理选项成功响应中的处理选项向可视金融ic卡下发读记录命令,具体包括:根据获取处理选项成功响应中的处理选项确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,向可视金融ic卡下发包含短文件标识和记录号的读记录命令。

在一些实施方式中,客户端向可视金融ic卡下发命令包括:客户端向可视金融下发脱机交易命令;上述第三预设命令为所述脱机交易命令;

进一步地,客户端向可视金融ic卡下发命令包括:客户端向可视金融ic卡下发脱机交易命令;其中,客户端向可视金融ic卡下发的脱机交易命令中,包含交易金额;上述第二预设命令也为所述脱机交易命令,或者上述第一预设命令和第二预设也为所述脱机交易命令。

本发明的有益效果在于:采用本发明提供的技术方案,不需要借助pos机等交易终端即可实现金融ic卡的脱机交易,能够提高金融ic卡脱机交易的安全性和便捷性。

附图说明

图1为在本发明实施例2提供的一种基于可视金融ic卡的脱机交易方法中可视金融ic卡的操作流程图;

图2和图3为本发明实施例2提供的一种基于可视金融ic卡的脱机交易方法的流程图;

图4为本发明实施例3提供的一种基于可视金融ic卡的脱机交易方法中可视金融ic卡的操作流程图;

图5为本发明实施例3提供的一种基于可视金融ic卡的脱机交易方法的流程图;

图6为本发明实施例4提供的一种基于可视金融ic卡的脱机交易方法中可视金融ic卡的操作流程图;

图7为本发明实施例4提供的一种基于可视金融ic卡的脱机交易方法的流程图;

图8为本发明实施例5提供的一种可视金融ic卡的方框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本发明提供一种基于可视金融ic卡的脱机交易方法,应用于包括可视金融ic卡和客户端的系统中,客户端为安装在终端设备中的应用程序,方法包括可视金融ic卡执行以下步骤:

步骤11,接收客户端发送的蓝牙配对请求,生成并显示配对标识。

步骤12,当接收到验证请求时,根据配对标识对客户端进行验证,若验证通过则执行步骤13,否则显示相应提示信息,结束流程。

步骤13,向客户端返回蓝牙配对响应,与客户端建立蓝牙连接,等待并接收客户端下发的命令;

当可视金融ic卡接收到客户端下发的第一预设命令时,方法还包括可视金融ic卡执行:选择应用;

本实施例中,终端数据包括:获取终端数据,电子现金终端支持指示器、授权金额和交易货币代码;

当可视金融ic卡接收到客户端下发的第二预设命令时,方法还包括可视金融ic卡执行:根据终端数据执行限制检查,获取处理选项;

本实施例中,处理选项包括:应用交互特征和应用文件定位器;

当可视金融ic卡接收到客户端下发的第三预设命令时,方法还包括可视金融ic卡执行:读取卡片记录,更新电子现金余额,生成并保存交易日志;

本实施例中,读取卡片记录包括:确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与确定的短文件标识对应的应用基本文件,读取应用基本文件中与确定的记录号对应的卡片记录。

在本实施例的一种具体实施方式中,第一预设命令为选择命令,第二预设命令为获取处理选项命令,第三预设命令为读记录命令;

在该具体实施方式中:

选择应用具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回包含处理选项数据对象列表的应用选择成功响应,否则向客户端返回应用选择失败响应;

获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:从获取处理选项命令中获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,向客户端返回包含处理选项的获取处理选项成功响应,否则向客户端返回获取处理选项失败响应;

读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:依据读记录命令读取相应卡片记录,判断读记录命令是否为最后一条读记录命令,是则根据授权金额更新电子现金余额,生成并保存交易日志,向客户端返回包含卡片记录的读记录成功响应,否则向客户端返回包含卡片记录的读记录成功响应;

或者,在该具体实施方式中:

选择应用具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回应用选择成功响应,接收客户端发送的交易金额,否则向客户端返回应用选择失败响应;

获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,向客户端返回包含处理选项的获取处理选项成功响应,否则向客户端返回获取处理选项失败响应;

读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:依据读记录命令读取相应卡片记录,判断读记录命令是否为最后一条读记录命令,是则根据授权金额更新电子现金余额,生成并保存交易日志,向客户端返回包含卡片记录的读记录成功响应,否则向客户端返回包含卡片记录的读记录成功响应;

在该具体实施方式中,读取卡片记录具体包括:从读记录命令中获取卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与获取到的短文件标识对应的应用基本文件,读取应用基本文件中与获取到的记录号对应的卡片记录。

在本实施例的另一种具体实施方式中,第一预设命令为选择命令,第二预设命令为获取处理选项命令,第三预设命令为脱机交易命令;

在该具体实施方式中:

选择应用具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回包含处理选项数据对象列表的应用选择成功响应,否则向客户端返回应用选择失败响应;

获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:从获取处理选项命令中获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,向客户端返回获取处理选项成功响应,否则向客户端返回获取处理选项失败响应;

读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据;

或者,在该具体实施方式中:

选择应用具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回应用选择成功响应,接收客户端发送的交易金额,否则向客户端返回应用选择失败响应;

获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,向客户端返回获取处理选项成功响应;否则向客户端返回获取处理选项失败响应;

读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据;

在该具体实施方式中,读取卡片记录具体包括:根据应用文件定位器确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与确定的短文件标识对应的应用基本文件,读取应用基本文件中与确定的记录号对应的卡片记录。

在本实施例的又一种具体实施方式中,第一预设命令为选择命令,第二预设命令和第三预设命令为同一条脱机交易命令;

在该具体实施方式中:

选择应用,具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回应用选择成功响应,否则向客户端返回应用选择失败响应;

获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:获取脱机交易命令中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,否则向客户端返回获取处理选项失败响应;

读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据。

在本实施例的再一种具体实施方式中,第一预设命令、第二预设命令和第三预设命令为同一条脱机交易命令;

在该具体实施方式中,选择应用具体包括:建立应用候选列表,依据应用候选列表选择应用,并且当选择应用失败时向客户端返回应用选择失败响应;

获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:获取脱机交易命中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,否则向客户端返回获取处理选项失败响应;

读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据。

本实施例中,方法还包括客户端执行以下步骤:

步骤21,开启蓝牙扫描,从扫描到的设备中选择可视金融ic卡,向可视金融ic卡发送蓝牙配对请求;

步骤22,等待并接收用户输入的配对标识,生成包含接收到的配对标识的验证请求,向可视金融卡发送验证请求;

步骤23,等待并接收可视金融ic卡返回的蓝牙配对响应,与可视金融ic卡建立蓝牙连接;

步骤24,获取用户输入的交易金额,向可视金融ic卡下发命令。

在本实施例的一种具体实施方式中,客户端向可视金融ic卡下发的命令包括:选择命令、获取处理选项命令和读记录命令;

具体地,在该具体实施方式中:

客户端建立应用候选列表,依据应用候选列表向可视金融ic卡下发选择命令,接收可视金融ic卡返回的应用选择成功响应;根据应用选择成功响应中的处理选项数据对象列表获取终端数据,向可视金融ic卡下发包含终端数据的获取处理选项命令,接收可视金融ic卡返回的获取处理选项成功响应;根据获取处理选项成功响应中的处理选项向可视金融ic卡下发读记录命令;

或者,客户端建立应用候选列表,依据应用候选列表向可视金融ic卡下发选择命令,接收可视金融ic卡返回的应用选择成功响应;向可视金融ic卡下发交易金额和获取处理选项命令,接收可视金融ic卡返回的获取处理选项成功响应;根据获取处理选项成功响应中的处理选项向可视金融ic卡下发读记录命令;

在本实施例中,根据获取处理选项成功响应中的处理选项向可视金融ic卡下发读记录命令,具体包括:根据获取处理选项成功响应中的处理选项确定卡片记录所在应用文件的段文件标识以及卡片记录的记录号,向可视金融ic卡下发包含确定的段文件标识和记录号的读记录命令。

在本实施例的另一种具体实施方式中,客户端向可视金融ic卡下发的命令包括:选择命令、获取处理选项命令和脱机交易命令;

具体地,在该具体实施方式中:客户端建立应用候选列表,依据应用候选列表向可视金融ic卡下发选择命令,接收可视金融ic卡返回的应用选择成功响应;根据应用选择成功响应中的处理选项数据对象列表获取终端数据,向可视金融ic卡下发包含终端数据的获取处理选项命令,接收可视金融ic卡返回的获取处理选项成功响应;向可视金融ic卡下发脱机交易命令,接收可视金融ic卡返回的交易记录数据;

或者,客户端建立应用候选列表,依据应用候选列表向可视金融ic卡下发选择命令,接收可视金融ic卡返回的应用选择成功响应;向可视金融ic卡下发交易金额和获取处理选项命令,接收可视金融ic卡返回的获取处理选项成功响应;向可视金融ic卡下发脱机交易命令,接收可视金融ic卡返回的交易记录数据。

在本实施例的又一种具体实施方式中,客户端向可视金融ic卡下发的命令包括:选择命令和脱机交易命令;

具体地,在该具体实施方式中:客户端建立应用候选列表,依据应用候选列表向可视金融ic卡下发选择命令,接收可视金融ic卡返回的应用选择成功响应;向可视金融ic卡下发包含交易金额的脱机交易命令,接收可视金融ic卡返回的交易记录数据。

在本实施例的再一种具体实施方式中,客户端向可视金融ic卡下发的命令包括:脱机交易命令;

具体地,在该具体实施方式中:客户端向可视金融ic卡下发包含交易金额的脱机交易命令,接收可视金融ic卡返回的交易记录数据。

实施例2

本发明实施例在实施例1的基础上,以第一预设命令为选择命令,第二预设命令为获取处理选项命令,第三预设命令为读记录命令为例,提供一种基于可视金融ic卡的脱机交易方法,应用于包括可视金融ic卡和客户端的系统中,客户端为安装在终端设备中的应用程序。

首先,如图1所示,在本实施例提供的方法中,可视金融ic卡执行以下步骤:

步骤a1,可视金融ic卡接收客户端发送的蓝牙配对请求,向客户端返回蓝牙配对响应,与客户端建立蓝牙连接。

进一步地,可视金融ic卡接收蓝牙配对请求之后,向客户端返回蓝牙配对响应前,还可以包括:

步骤a1,可视金融ic卡生成并显示pin码,接收客户端发送的验证请求;

步骤a2,可视金融ic卡判断上一次生成的pin码是否与验证请求中的pin码相同,如果是则向客户端返回蓝牙配对响应,否则执行步骤a3;

步骤a3,可视金融ic卡显示验证失败信息,结束流程。

更进一步地,步骤a2中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码不相同后,执行步骤a3之前还可以包括:

步骤b1,可视金融ic卡更新验证失败次数,判断验证失败次数是否为第一预设值,如果是,则执行步骤a3,否则返回步骤a1;

相应地,步骤a3中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码相同后,还包括设置验证失败次数为初始值;

例如,验证失败次数的初始值为0,步骤b1中更新验证失败次数为其当前值加上1,第一预设值为6。

步骤a2,可视金融ic卡接收客户端发送的命令,若接收到客户端发送的选择命令则执行步骤a3,若接收到客户端发送的获取处理选项命令则执行步骤a4,若接收到客户端发送的读记录命令则执行步骤a6,否则显示交易失败,结束流程。

具体地,可视金融ic卡接收到客户端发送的命令后,检查命令的前两个字节,若命令的前两个字节的值为“00a4”则确定接收到客户端发送的选择命令,若命令的前两个字节为“80a8”则确定接收到客户端发送的获取处理选项命令,若命令的前两个字节为“00b2”则确定接收到客户端发送的读记录命令。

步骤a3,可视金融ic卡选择应用,向客户端返回选择响应,返回步骤a2。

具体地,可视金融ic卡接收到客户端发送的选择命令后,判断是否允许执行选择命令中的aid对应的应用,是则向客户端返回包含fci(filecontrolinformation,文件控制信息)的应用选择成功响应,fci中包含处理选项数据对象列表(pdol),可视金融ic卡通过pdol向客户端请求电子现金终端支持指示器、授权金额和交易货币代码;否则向客户端返回应用选择失败响应。

步骤a4,可视金融ic卡从获取处理选项命令中获取终端数据,根据终端数据执行限制检查。

本实施例中,终端数据包括:电子现金终端支持指示器、授权金额和交易货币代码;

可视金融ic卡根据以下条件执行限制检查:

电子现金终端支持指示器为“01”;

交易货币代码与应用货币代码匹配;

授权金额不超过电子现金余额;

授权金额不超过电子现金单笔交易限额;

发卡行认证失败指示器为0;

发卡行脚本处理失败指示器为0;

pin尝试计数器不为“00”;

其中,应用货币代码、电子现金余额、电子现金单笔交易限额、发卡行认证失败指示器、发卡行脚本处理失败指示器和pin尝试计数器均为可视金融ic卡中的数据;

若以上条件均满足则限制检查通过,否则限制检查未通过;

优选地,使用条件不满足状态码为“6985”。

例如,可视金融ic卡接收到的获取处理选项命令为:“80a8000024832201561747230000000000123401564645495449414e20534146452020202020202020”,可视金融ic卡读取获取处理选项命令的第13个字节“00”得到电子现金终端支持指示器,读取获取处理选项命令的第14个字节至第19个字节“000000001234”得到授权金额,读取获取处理选项命令的第20个字节至第21个字节“0156”得到交易货币代码。

步骤a5,可视金融ic卡根据限制检查结果生成获取处理选项命令响应,向客户端返回获取处理选项命令响应,返回步骤a2。

优选地,参见图2,可视金融ic卡根据获取到的数据执行限制检查,根据限制检查结果生成获取处理选项命令响应,包括执行以下步骤:

步骤c1,判断电子现金终端指示器是否为“01”,是则执行步骤c2,否则执行步骤c9;

步骤c2,判断交易货币代码是否等于应用货币代码,是则执行步骤c3,否则执行步骤c9;

步骤c3,判断授权金额是否大于电子现金余额,是则执行步骤c9,否则执行步骤c4;

步骤c4,判断授权金额是否大于电子现金单笔交易限额,是则执行步骤c9,否则执行步骤c5;

步骤c5,判断发卡行认证失败指示器是否等于0,是则执行步骤c6,否则执行步骤c9;

步骤c6,判断发卡行脚本处理失败指示器是否等于0,是则执行步骤c7,否则执行步骤c9;

步骤c7,判断pin尝试计数器是否等于“00”,是则执行步骤c9,否则执行步骤c8;

步骤c8,生成包含aip和afl的获取处理选项成功响应;

步骤c9,生成包含使用条件不满足状态码的获取处理选项失败响应。

进一步地,限制检查通过后还包括:可视金融ic卡将cid(cryptograminformationdata,密文信息数据)和cvr(cardverificationresults,卡片验证结果)置零。

步骤a6,可视金融ic卡根据读记录命令确定客户端要读取的卡片记录,获取相应的卡片记录,根据获取到的卡片记录生成读记录命令响应。

具体地,可视金融ic卡根据读记录命令中的sfi(shortfileidentifier,短文件标识)和记录号确定客户端要读取的卡片记录,从具有所述sfi的aef(applicationelementaryflies,应用基本文件)中获取所述记录号对应的卡片记录。

步骤a7,可视金融ic卡根据读记录命令中的sfi和记录号判断读记录命令是否是最后一条读记录命令,是则执行步骤a9,否则执行步骤a8。

具体地,可视金融ic卡根据读记录命令中的sfi和记录号判断读记录命令读取的卡片记录是否为可视金融ic卡通过afl指定的客户端需要读取的卡片记录中的最后一条,是则确定读记录命令是最后一条读记录命令,否则确定读记录命令不是最后一条读记录命令。

步骤a8,可视金融ic卡向客户端返回读记录命令响应,返回步骤a2。

步骤a9,可视金融ic卡向客户端返回读记录命令响应,并根据授权金额更新电子现金余额,生成以及保存交易日志,显示扣款成功,结束流程。

其次,在上述内容的基础上,如图2和图3所示,在本实施例提供的方法具体包括:

步骤101,客户端开启蓝牙扫描,从扫描到的设备中选择可视金融ic卡。

具体地,客户端自动识别和选择可视金融ic卡,或者客户端显示扫描到的设备的信息,根据用户输入确定和选择可视金融ic卡。

步骤102,客户端向可视金融ic卡发送蓝牙配对请求。

步骤103,可视金融ic卡接收蓝牙配对请求;

步骤104,可视金融ic卡向客户端返回蓝牙配对响应。

进一步地,可视金融ic卡接收蓝牙配对请求之后,向客户端返回蓝牙配对响应前,还可以包括:

步骤1-1,可视金融ic卡生成并显示pin码;

步骤1-2,客户端获取用户输入的pin码,生成包含该pin码的验证请求;

步骤1-3,客户端向可视金融ic卡发送验证请求;

步骤1-4,可视金融ic卡接收验证请求,判断上一次生成的pin码是否与验证请求中的pin码相同,如果是,则执行步骤104;否则,执行步骤1-5;

步骤1-5,可视金融ic卡显示验证失败信息,结束流程。

更进一步地,步骤1-4中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码不相同后,执行步骤1-5之前还可以包括:

步骤2-1,可视金融ic卡更新验证失败次数,判断验证失败次数是否为第一预设值,如果是,则执行步骤1-5;否则,返回步骤1-1;

相应地,步骤1-4中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码相同后,还包括设置验证失败次数为初始值;

例如,验证失败次数的初始值为0,步骤2-1中更新验证失败次数为其当前值加上1,第一预设值为3。

步骤105,客户端与可视金融ic卡建立蓝牙连接。

步骤106,客户端获取用户输入的交易金额,建立应用候选列表。

具体地,客户端采用目录选择方法或aid列表选择方法建立应用候选列表。

步骤107,客户端从应用候选列表中选择一个应用作为当前应用,根据当前应用的aid生成选择命令。

具体地,客户端自动从应用候选列表中选择应用作为当前应用,或客户端将应用候选列表中应用信息显示给用户,接收用户输入,根据用户输入的选择信息或确认信息选择应用作为当前应用。

步骤108,客户端向可视金融ic卡发送选择命令。

例如,当前应用的aid为“a000000632010106”,客户端向可视金融ic卡下发选择命令:“00a4040008a000000632010106”。

步骤109,可视金融ic卡接收选择命令,选择应用。

步骤110,可视金融ic卡向客户端返回选择响应。

本实施例中,选择响应包括应用选择成功响应和应用选择失败响应;具体地,可视金融ic卡接收选择命令后,判断是否允许执行选择命令中的aid对应的应用,是则向客户端返回应用选择成功响应,否则向客户端返回应用选择失败响应;

进一步地,应用选择成功响应中包含fci,fci中包含pdol,可视金融ic卡通过pdol向客户端请求终端数据;

本实施例中,可视金融ic卡向客户端请求的终端数据包括:请求电子现金终端支持指示器、授权金额和交易货币代码;

例如,可视金融ic卡接收到的选择命令为“00a4040008a000000632010106”,可视金融ic卡向客户端返回:“6f81828408a000000632010106a576500b50424f43204372656469748701019f38129f1a029f21039f7a019f02065f2a029f4e145f2d087a68656e667264659f1101019f120f4341524420494d4147452030303031bf0c2ddf112009991001ffffffff013222220711520768888f010100000156100010010001009f4d020b0adf4d020c0a9000”,其中最后两个字节“9000”是表示选择成功的状态码,该状态码之前是fci,fci中的“9f38129f1a029f21039f7a019f02065f2a029f4e14”为pdol。

步骤111,客户端接收选择响应,根据选择响应判断当前应用是否选择成功,是则执行步骤113,否则执行步骤112。

具体地,客户端判断选择响应的类型,若为应用选择成功响应则确定当前应用选择成功,若为应用选择失败响应则确定当前应用选择失败;

进一步地,客户端检查选择响应中的状态码,若选择响应中的状态码为表示选择成功的状态码则确定选择响应为应用选择成功响应,否则确定选择响应为应用选择失败响应;

优选地,表示选择成功的状态码为“9000”。

步骤112,客户端从应用候选列表中移除当前应用,判断应用候选列表中是否还有应用,是则返回步骤107,否则结束流程。

步骤113,客户端获取选择响应中的pdol,根据pdol获取终端数据,根据终端数据生成获取处理选项命令。

本实施例中,客户端根据pdol获取终端数据包括:客户端根据交易金额获取授权金额,根据默认配置获取交易货币代码,例如,默认配置中指定交易货币代码为人民币货币代码“0156”;根据以下条件获取电子现金终端支持指示器:

客户端交易类型为消费交易;

客户端支持电子现金交易;

授权金额小于客户端电子现金交易限额,或者在客户端电子现金交易限额不存在时授权金额小于客户端最低限额;

若以上条件均满足则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

优选地,客户端可以执行以下步骤获取电子现金终端支持指示器:

步骤3-1,判断客户端交易类型是否为消费,是则执行步骤3-2,否则获取电子现金终端支持指示器为“00”;

步骤3-2,判断自身是否支持电子现金,是则执行步骤3-3,否则获取电子现金终端支持指示器为“00”;

步骤3-3,判断客户端电子现金交易限额是否存在,是则执行步骤3-4,否则执行步骤3-5;

步骤3-4,判断授权金额是否小于客户端电子现金交易限额,是则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

步骤3-5,判断客户端最低限额是否存在,是则执行步骤3-6,否则获取电子现金终端支持指示器为“00”;

步骤3-6,判断授权金额是否小于客户端最低限额,是则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”。

进一步地,本实施例中,可视金融ic卡请求的终端数据还可以包括终端国家代码、交易时间和商户名称等。

例如,pdol为“9f38129f1a029f21039f7a019f02065f2a029f4e14”,其中“9f38”是pdol的tag,“12”表示长度;客户端根据pdol中的“9f1a”确定可视金融ic卡请求提供tag为“9f1a”的元素的值,即终端国家代码,长度为“02”;客户端根据pdol中的“9f21”确定可视金融ic卡请求提供tag为“9f21”的元素的值,即交易时间,长度为“03”;客户端根据pdol中的“9f7a”确定可视金融ic卡请求提供tag为“9f7a”的元素的值,即电子现金终端指示器,长度为“01”;客户端根据pdol中的“9f02”确定可视金融ic卡请求提供tag为“9f02”的元素的值,即授权金额,长度为“06”;客户端根据pdol中的“5f2a”确定可视金融ic卡请求提供tag为“5f2a”的元素的值,即交易货币代码,长度为“02”;客户端根据pdol中的“9f4e”确定可视金融ic卡请求提供tag为“9f4e”的元素的值,即商户名称,长度为“14”;

客户端执行pdol处理得到终端数据:“01561747230000000000123401564645495449414e20534146452020202020202020”,其中第1至第2字节为终端国家代码,第3至第5字节为交易时间,第6字节为电子现金终端指示器,第7至12字节为授权金额,第13至第14字节为交易货币代码,第15至第34字节为商户名称;

客户端根据终端数据生成获取处理选项命令:“80a800002401561747230100000000123401564645495449414e20534146452020202020202020”。

步骤114,客户端向可视金融ic卡发送获取处理选项命令。

步骤115,可视金融ic卡接收获取处理选项命令,从获取处理选项命令中获取终端数据。

步骤116,可视金融ic卡根据终端数据执行限制检查,根据限制检查结果生成获取处理选项命令响应。

本实施例中,终端数据包括:电子现金终端支持指示器、授权金额和交易货币代码;获取处理选项命令响应包括:获取处理选项命令成功响应和获取处理选项命令失败响应;

可视金融ic卡根据以下条件执行限制检查:

电子现金终端支持指示器为“01”;

交易货币代码与应用货币代码匹配;

授权金额不超过电子现金余额;

授权金额不超过电子现金单笔交易限额;

发卡行认证失败指示器为0;

发卡行脚本处理失败指示器为0;

pin尝试计数器不为“00”;

其中,应用货币代码、电子现金余额、电子现金单笔交易限额、发卡行认证失败指示器、发卡行脚本处理失败指示器和pin尝试计数器均为可视金融ic卡中的数据;

若以上条件均满足则限制检查通过,可视金融ic卡生成包含aip和afl的获取处理选项成功响应;否则限制检查未通过,可视金融ic卡生成包含使用条件不满足状态码的获取处理选项失败响应;

优选地,使用条件不满足状态码为“6985”。

优选地,步骤116包括可视金融ic卡执行以下步骤:

步骤4-1,判断电子现金终端指示器是否为“01”,是则执行步骤4-2,否则执行步骤4-9;

步骤4-2,判断交易货币代码是否等于应用货币代码,是则执行步骤4-3,否则执行步骤4-9;

步骤4-3,判断授权金额是否大于电子现金余额,是则执行步骤4-9,否则执行步骤4-4;

步骤4-4,判断授权金额是否大于电子现金单笔交易限额,是则执行步骤4-9,否则执行步骤4-5;

步骤4-5,判断发卡行认证失败指示器是否等于0,是则执行步骤4-6,否则执行步骤4-9;

步骤4-6,判断发卡行脚本处理失败指示器是否等于0,是则执行步骤4-7,否则执行步骤4-9;

步骤4-7,判断pin尝试计数器是否等于“00”,是则执行步骤4-9,否则执行步骤4-8;

步骤4-8,生成包含aip和afl的获取处理选项成功响应;

步骤4-9,生成包含使用条件不满足状态码的获取处理选项失败响应。

进一步地,限制检查通过后还包括:可视金融ic卡将cid和cvr置零。

步骤117,可视金融ic卡向客户端返回获取处理选项命令响应。

例如,可视金融ic卡向客户端返回:“800a7c000801020018030301”,其中“7c00”为aip,“0801020018030301”为afl。

步骤118,客户端接收获取处理选项命令响应,根据获取处理选项命令响应判断获取处理选项是否成功,是则执行步骤119,否则返回步骤112。

步骤119,客户端根据获取处理选项命令响应中的afl确定要读取的卡片记录,对应生成读记录命令。

具体地,客户端顺序读取afl中的一个afl项作为当前afl项,根据当前afl项的内容确定当前afl项指定要读取的卡片记录所在应用文件的sfi,以及要读取的卡片记录的记录号,生成包含当前确定的sfi和记录号的读记录命令。

步骤120,客户端向可视金融ic卡发送读记录命令。

步骤121,可视金融ic卡接收读记录命令,读取相应卡片记录,根据读取到的卡片记录生成读记录命令响应。

具体地,可视金融ic卡获取与读记录命令中的sfi对应的aef,读取该aef中与读记录命令中的记录号对应的卡片记录。

步骤122,可视金融ic卡根据读记录命令中的sfi和记录号判断接收到的读记录命令是否为最后一条读记录命令,是则执行步骤123,否则执行步骤124。

具体地,可视金融ic卡根据读记录命令中的sfi和记录号判断接收到的读记录命令读取的卡片记录是否为可视金融ic卡通过afl指定的客户端需要读取的卡片记录中的最后一条,是则确定接收到的读记录命令是最后一条读记录命令,否则确定接收到的读记录命令不是最后一条读记录命令。

步骤123,可视金融ic卡根据获取处理选项命令中的授权金额更新电子现金余额,生成并保存交易日志,执行步骤124。

步骤124,可视金融ic卡向客户端返回读记录命令响应。

步骤125,客户端接收读记录命令响应,判断是否还有要读取的卡片记录,是则返回步骤119,否则执行步骤126。

具体地,客户端判断当前接收到的读记录命令响应中的卡片记录是否是当前afl项指定读取的最后一条卡片记录,若不是则确定还有要读取的卡片记录,若是则进一步判断获取处理选项命令中的afl中是否还有未处理的afl项,若有则确定还有要读取的卡片记录,若没有则确定没有要读取的卡片记录。

步骤126,客户端根据afl指明的用于脱机数据认证的卡片记录执行脱机数据认证,若认证通过,则批准脱机交易,生成并保存交易记录;若认证未通过,则拒绝脱机交易,生成并保存交易记录。

具体地,用于脱机数据认证的卡片记录的标签为“70”。

实施例3

本发明实施例在实施例1的基础上,以第一预设命令、第二预设命令和第三预设命令为同一条脱机交易命令为例,提供一种基于可视金融ic卡的脱机交易方法,应用于包括可视金融ic卡和客户端的系统中,可视金融ic卡中包含微控制单元(microcontrollerunit,mcu)和集成电路卡(integratedcircuit,ic)卡芯片,客户端为安装在终端设备中的应用程序。

首先,如图4所示,在本实施例提供的方法中,可视金融ic卡执行以下步骤:

步骤b1、可视金融ic卡接收客户端发送的蓝牙配对请求,向客户端返回蓝牙配对响应,与客户端建立蓝牙连接。

进一步地,可视金融ic卡接收蓝牙配对请求之后,向客户端返回蓝牙配对响应前,还可以包括:

步骤a1,可视金融ic卡生成并显示pin码,接收客户端发送的验证请求;

步骤a2,可视金融ic卡判断上一次生成的pin码是否与验证请求中的pin码相同,如果是则向客户端返回蓝牙配对响应,否则执行步骤a3;

步骤a3,可视金融ic卡显示验证失败信息,结束流程。

更进一步地,步骤a2中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码不相同后,执行步骤a3之前还可以包括:

步骤b1,可视金融ic卡更新验证失败次数,判断验证失败次数是否为第一预设值,如果是,则执行步骤a3,否则返回步骤a1;

相应地,步骤a3中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码相同后,还包括设置验证失败次数为初始值;

例如,验证失败次数的初始值为0,步骤b1中更新验证失败次数为其当前值加上1,第一预设值为3。

步骤b2,可视金融ic卡接收客户端发送的命令,若接收到客户端发送的脱机交易命令则执行步骤b3,否则显示交易失败,结束流程。

步骤b3,可视金融ic卡选择应用。

本实施例中,选择应用具体包括:建立应用候选列表,依据应用候选列表选择应用,若选择应用成功则执行步骤b4,否则向客户端返回应用选择失败响应。

步骤b4,可视金融ic卡获取终端数据,根据终端数据执行限制检查,获取处理选项。

本实施例中,获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:获取脱机交易命中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,否则向所述客户端返回获取处理选项失败响应。

步骤b5,可视金融ic卡根据读取卡片记录,更新电子现金余额,生成并保存交易日志。

本实施例中,读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据。

其次,在上述内容的基础上,如图5所示,本实施例提供的方法具体包括:

步骤201,客户端开启蓝牙扫描,从扫描到的设备中选择可视金融ic卡。

具体地,客户端自动识别和选择可视金融ic卡,或者客户端显示扫描到的设备的信息,根据用户输入确定和选择可视金融ic卡。

步骤202,客户端向可视金融ic卡发送蓝牙配对请求。

步骤203,可视金融ic卡接收蓝牙配对请求。

步骤204,可视金融ic卡向客户端返回蓝牙配对响应。

进一步地,可视金融ic卡接收蓝牙配对请求之后,向客户端返回蓝牙配对响应前,还可以包括:

步骤1-1,可视金融ic卡生成并显示pin码;

步骤1-2,客户端获取用户输入的pin码,生成包含该pin码的验证请求;

步骤1-3,客户端向可视金融ic卡发送验证请求;

步骤1-4,可视金融ic卡接收验证请求,判断上一次生成的pin码是否与验证请求中的pin码相同,如果是,则执行步骤204;否则,执行步骤1-5;

步骤1-5,可视金融ic卡显示验证失败信息,结束流程。

更进一步地,步骤1-4中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码不相同后,执行步骤1-5之前还可以包括:

步骤2-1,可视金融ic卡更新验证失败次数,判断验证失败次数是否为第一预设值,如果是,则执行步骤1-5;否则,返回步骤1-1;

相应地,步骤1-4中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码相同后,还包括设置验证失败次数为初始值;

例如,验证失败次数的初始值为0,步骤2-1中更新验证失败次数为其当前值加上1,第一预设值为3。

步骤205,客户端与可视金融ic卡建立蓝牙连接。

步骤206,客户端获取用户输入的交易金额,根据交易金额生成脱机交易命令。

步骤207,客户端向可视金融ic卡发送脱机交易命令。

步骤208,可视金融ic卡接收脱机交易命令。

步骤209,可视金融ic卡选择应用。

可视金融ic卡选择应用具体包括:

步骤1,mcu从应用候选列表中选择一个应用作为当前应用,根据当前应用的aid生成选择命令;

本实施例中,步骤1之前还包括:mcu建立应用候选列表;

具体地,mcu自动从应用候选列表中选择应用作为当前应用,或mcu将应用候选列表中应用信息显示给用户,接收用户输入,根据用户输入的选择信息或确认信息选择应用作为当前应用。

步骤2,mcu向ic卡芯片发送选择命令,接收ic卡芯片返回的选择响应,根据选择响应判断当前应用是否选择成功,是则执行步骤210,否则执行步骤3;

具体地,ic卡芯片接收到选择命令后,判断是否允许执行选择命令中的aid对应的应用,是则向mcu返回应用选择成功响应,否则向mcu返回应用选择失败响应;

mcu接收到选择响应后,判断选择响应的类型,若为应用选择成功响应则确定当前应用选择成功,否则确定当前应用选择失败;

具体地,mcu检查选择响应中的状态码,若选择相应中的状态码为表示选择成功的状态码则确定选择响应为应用选择成功响应,否则确定选择相应为应用选择失败响应;表示成功的状态码优选为“9000”;

进一步地,应用选择成功响应中包含fci,fci中包含pdol,ic卡芯片通过pdol向mcu请求的终端数据;

步骤3,mcu从应用候选列表中移除当前应用,判断应用候选列表中是否还有应用,是则返回步骤2,否则结束流程。

步骤210,可视金融ic卡获取终端数据,根据终端数据执行限制检查,获取处理选项。

本实施例中,可视金融ic卡获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:

步骤1,mcu获取选择响应中的pdol,根据pdol获取终端数据,根据终端数据生成获取处理选项命令,向ic卡芯片发送获取处理选项命令;

本实施例中,ic卡芯片向mcu请求的终端数据包括:电子现金终端支持指示器、授权金额和交易货币代码;mcu根据pdol获取终端数据包括:mcu根据脱机交易指令中的交易金额获取授权金额,根据默认配置获取交易货币代码;根据以下条件获取电子现金终端支持指示器:

客户端交易类型为消费交易;

客户端支持电子现金交易;

授权金额小于客户端电子现金交易限额,或者在客户端电子现金交易限额不存在时授权金额小于客户端最低限额;

若以上条件均满足则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

优选地,mcu可以执行以下步骤获取电子现金终端支持指示器:

步骤3-1,判断客户端交易类型是否为消费,是则执行步骤3-2,否则获取电子现金终端支持指示器为“00”;

步骤3-2,判断自身是否支持电子现金,是则执行步骤3-3,否则获取电子现金终端支持指示器为“00”;

步骤3-3,判断客户端电子现金交易限额是否存在,是则执行步骤3-4,否则执行步骤3-5;

步骤3-4,判断授权金额是否小于客户端电子现金交易限额,是则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

步骤3-5,判断客户端最低限额是否存在,是则执行步骤3-6,否则获取电子现金终端支持指示器为“00”;

步骤3-6,判断授权金额是否小于客户端最低限额,是则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

进一步地,ic卡芯片向mcu请求的终端数据还可以包括终端国家代码、交易时间和商户名称等;

步骤2,ic卡芯片接收获取处理选项命令,从获取处理选项命令中获取终端数据,根据终端数据执行限制检查,根据限制检查结果生成获取处理选项命令响应,向mcu返回获取处理选项命令响应;

本实施例中,终端数据包括:电子现金终端支持指示器、授权金额和交易货币代码;ic卡芯片根据以下条件执行限制检查:

电子现金终端支持指示器为“01”;

交易货币代码与应用货币代码匹配;

授权金额不超过电子现金余额;

授权金额不超过电子现金单笔交易限额;

发卡行认证失败指示器为0;

发卡行脚本处理失败指示器为0;

pin尝试计数器不为“00”;

其中,应用货币代码、电子现金余额、电子现金单笔交易限额、发卡行认证失败指示器、发卡行脚本处理失败指示器和pin尝试计数器均为ic卡芯片中的数据;

若以上条件均满足则限制检查通过,可视金融ic卡生成包含aip和afl的获取处理选项命令响应;否则限制检查未通过,可视金融ic卡生成包含使用条件不满足状态码的获取处理选项命令响应;

优选地,根据终端数据执行限制检查,根据限制检查结果生成获取处理选项命令响应,包括ic卡芯片执行以下步骤:

步骤4-1,判断电子现金终端指示器是否为“01”,是则执行步骤4-2,否则执行步骤4-9;

步骤4-2,判断交易货币代码是否等于应用货币代码,是则执行步骤4-3,否则执行步骤4-9;

步骤4-3,判断授权金额是否大于电子现金余额,是则执行步骤4-9,否则执行步骤4-4;

步骤4-4,判断授权金额是否大于电子现金单笔交易限额,是则执行步骤4-9,否则执行步骤4-5;

步骤4-5,判断发卡行认证失败指示器是否等于0,是则执行步骤4-6,否则执行步骤4-9;

步骤4-6,判断发卡行脚本处理失败指示器是否等于0,是则执行步骤4-7,否则执行步骤4-9;

步骤4-7,判断pin尝试计数器是否等于“00”,是则执行步骤4-9,否则执行步骤4-8;

步骤4-8,生成包含aip和afl的获取处理选项命令响应;

步骤4-9,生成包含使用条件不满足状态码的获取处理选项命令响应;

进一步地,限制检查通过后还包括:ic卡芯片将cid和cvr置零。

步骤3,mcu接收获取处理选项命令响应,根据获取处理选项命令响应判断获取处理选项是否成功,是则执行步骤211,否则返回执行选择应用操作,重新选择应用候选列表中的其他应用。

步骤211,可视金融ic卡根据处理选项读取卡片记录,更新电子现金余额,生成并保存交易日志;

本实施例中,步骤211具体包括:

步骤1,mcu根据获取处理选项命令响应中的afl确定要读取的卡片记录,对应生成读记录命令,向ic卡芯片发送读记录命令;

具体地,mcu顺序读取afl中的一个afl项指定要读取的卡片记录所在应用文件的sfi,以及要读取的卡片记录的记录号,生成包含当前确定的sfi和记录号的读记录命令;

步骤2,ic卡芯片接收读记录命令,读取相应卡片记录,根据读取到的卡片记录生成读记录命令响应,并根据读记录命令中的sfi和记录号判断接收到的读记录命令是否为最后一条读记录命令,是则执行步骤3,否则执行步骤4;

具体地,ic卡芯片获取与读记录命令中的sfi对应的aef,读取该aef中与读记录命令中的记录号对应的卡片记录;

ic卡芯片根据读记录命令中的sfi和记录号判断接收到的读记录命令读取的卡片记录是否为可视金融ic卡通过afl指定的客户端需要读取的卡片记录中的最后一条,是则确定接收到的读记录命令是最后一条读记录命令,否则确定接收到的读记录命令不是最后一条读记录命令。

步骤3,ic卡芯片根据获取处理选项命令中的授权金额更新电子现金余额,生成并保存交易日志,执行步骤4;

步骤4,ic卡芯片向mcu返回读记录命令响应;

步骤5,mcu接收读记录命令响应,判断是否还有要读取的卡片记录,是则返回步骤1,否则执行步骤212。

具体地,mcu判断当前接收到的读记录命令响应中的卡片记录是否是当前afl项指定读取的最后一条卡片记录,若不是则确定还有要读取的卡片记录,若是则进一步判断获取处理选项命令响应中的afl中是否还有未处理的afl项,若有则确定还有要读取的卡片记录,若没有则确定没有要读取的卡片记录。

步骤212,可视金融ic卡根据处理选项和卡片记录执行脱机数据认证操作,若脱机数据认证通过则脱机交易批准,执行步骤213,若脱机数据认证未通过则脱机交易拒绝,执行步骤213。

本实施例中,可视金融ic卡根据处理选项和卡片记录执行脱机数据认证操作具体包括:mcu根据afl指明的用于脱机数据认证的卡片记录执行脱机数据认证;

具体地,用于脱机数据认证的卡片记录的标签为“70”;

步骤213,可视金融ic卡根据脱机数据认证结果向客户端返回交易记录数据。

步骤214,客户端根据交易记录数据生成并保存交易记录。

实施例4

本发明实施例在实施例1的基础上,以第一预设命令为选择命令,第二预设命令和第三预设命令为同一条脱机交易命令为例,提供一种基于可视金融ic卡的脱机交易方法,应用于包括可视金融ic卡和客户端的系统中,可视金融ic卡中包含mcu和ic卡芯片,客户端为安装在终端设备中的应用程序。

首先,如图6所示,在本实施例提供的方法中,可视金融ic卡执行以下步骤:

步骤c1、可视金融ic卡接收客户端发送的蓝牙配对请求,向客户端返回蓝牙配对响应,与客户端建立蓝牙连接。

进一步地,可视金融ic卡接收蓝牙配对请求之后,向客户端返回蓝牙配对响应前,还可以包括:

步骤a1,可视金融ic卡生成并显示pin码,接收客户端发送的验证请求;

步骤a2,可视金融ic卡判断上一次生成的pin码是否与验证请求中的pin码相同,如果是则向客户端返回蓝牙配对响应,否则执行步骤a3;

步骤a3,可视金融ic卡显示验证失败信息,结束流程。

更进一步地,步骤a2中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码不相同后,执行步骤a3之前还可以包括:

步骤b1,可视金融ic卡更新验证失败次数,判断验证失败次数是否为第一预设值,如果是,则执行步骤a3,否则返回步骤a1;

相应地,步骤a3中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码相同后,还包括设置验证失败次数为初始值;

例如,验证失败次数的初始值为0,步骤b1中更新验证失败次数为其当前值加上1,第一预设值为3。

步骤c2、可视金融ic卡接收客户端发送的命令,若接收到客户端发送的选择命令则执行步骤c3,若接收到客户端发送的脱机交易命令则执行步骤c4,否则显示交易失败,结束流程。

具体地,可视金融ic卡接收到客户端发送的命令后,检查命令的前两个字节,若命令的前两个字节的值为“00a4”则确定接收到客户端发送的选择命令,若命令的前两个字节为“fc25”则确定接收到客户端发送的脱机交易命令。

步骤c3,可视金融ic卡选择应用,向客户端返回选择响应,返回步骤c2。

本实施例中,选择应用,向客户端返回选择响应,具体包括:判断是否允许执行选择命令中的应用标识对应的应用,是则向客户端返回应用选择成功响应,否则向客户端返回应用选择失败响应。

步骤c4,可视金融ic卡获取终端数据,根据终端数据执行限制检查,获取处理选项。

本实施例中,获取终端数据,根据终端数据执行限制检查,获取处理选项,具体包括:获取脱机交易命令中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项,否则向客户端返回获取处理选项失败响应。

步骤c5,可视金融ic卡读取卡片记录,更新电子现金余额,生成并保存交易日志。

本实施例中,读取卡片记录,更新电子现金余额,生成并保存交易日志,具体包括:根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作,根据认证结果向客户端返回交易记录数据。

其次,在上述内容的基础上,如图7所示,本实施例提供的方法具体包括:

步骤301、客户端开启蓝牙扫描,从扫描到的设备中选择可视金融ic卡。

具体地,客户端自动识别和选择可视金融ic卡,或者客户端显示扫描到的设备的信息,根据用户输入确定和选择可视金融ic卡。

步骤302,客户端向可视金融ic卡发送蓝牙配对请求。

步骤303,可视金融ic卡接收蓝牙配对请求。

步骤304,可视金融ic卡向客户端返回蓝牙配对响应。

进一步地,可视金融ic卡接收蓝牙配对请求之后,向客户端返回蓝牙配对响应前,还可以包括:

步骤1-1,可视金融ic卡生成并显示pin码;

步骤1-2,客户端获取用户输入的pin码,生成包含该pin码的验证请求;

步骤1-3,客户端向可视金融ic卡发送验证请求;

步骤1-4,可视金融ic卡接收验证请求,判断上一次生成的pin码是否与验证请求中的pin码相同,如果是,则执行步骤304;否则,执行步骤1-5;

步骤1-5,可视金融ic卡显示验证失败信息,结束流程。

更进一步地,步骤1-4中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码不相同后,执行步骤1-5之前还可以包括:

步骤2-1,可视金融ic卡更新验证失败次数,判断验证失败次数是否为第一预设值,如果是,则执行步骤1-5;否则,返回步骤1-1;

相应地,步骤1-4中,可视金融ic卡判断上一次生成的pin码与验证请求中的pin码相同后,还包括设置验证失败次数为初始值;

例如,验证失败次数的初始值为0,步骤2-1中更新验证失败次数为其当前值加上1,第一预设值为3。

步骤305,客户端与可视金融ic卡建立蓝牙连接。

步骤306,客户端获取用户输入的交易金额。

步骤307,客户端组织选择命令。

本实施例中,步骤307之前还包括:客户端建立应用候选列表。

步骤307具体包括:客户端从应用候选列表中选择一个应用作为当前应用,根据当前应用的aid生成选择命令。

具体地,客户端自动从应用候选列表中选择应用作为当前应用,或客户端将应用候选列表中应用信息显示给用户。接收用户输入,根据用户输入的选择信息或确认信息选择应用作为当前应用。

步骤308,客户端向可视金融ic卡发送选择命令。

具体地,客户端发送选择命令给mcu。

步骤309,可视金融ic卡选择应用。

步骤310,可视金融ic卡向客户端返回选择响应。

本实施例中,可视金融ic卡选择应用,向客户端返回选择响应,具体包括:mcu接收客户端下发的选择命令,并将选择命令发送给ic卡芯片;

ic卡芯片接收到客户端发送的选择命令后,判断是否允许执行选择命令中的aid对应的应用,是则向mcu返回包含fci的应用选择成功响应,fci中包含pdol,ic卡芯片通过pdol向mcu请求终端数据;否则向mcu返回应用选择失败响应;

若mcu接收到应用选择成功响应,则向客户端返回表示选择应用操作成功的选择命令的应答;若mcu接收到应用选择失败响应,则向客户端返回表示选择应用操作失败的选择命令的应答。

步骤311,客户端接收选择响应,判断选择应用操作是否成功,是则执行步骤312,否则返回步骤307。

步骤312,客户端向金融ic卡发送包含交易金额的脱机交易命令。

步骤313,可视金融ic卡接收脱机交易命令;

步骤314,可视金融ic卡获取终端数据,根据终端数据执行限制检查,获取处理选项。

本实施例中,终端数据包括:电子现金终端支持指示器、授权金额和交易货币代码;

具体地,mcu获取应用选择成功响应中的pdol,根据pdol获取终端数据。

优选地,mcu根据pdol获取终端数据包括:mcu根据脱机交易指令中的交易金额获取授权金额,根据默认配置获取交易货币代码;根据以下条件获取电子现金终端支持指示器:

客户端交易类型为消费交易;

客户端支持电子现金交易;

授权金额小于客户端电子现金交易限额,或者在客户端电子现金交易限额不存在时授权金额小于客户端最低限额;

若以上条件均满足则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

优选地,mcu可以执行以下步骤获取电子现金终端支持指示器:

步骤3-1,判断客户端交易类型是否为消费,是则执行步骤3-2,否则获取电子现金终端支持指示器为“00”;

步骤3-2,判断自身是否支持电子现金,是则执行步骤3-3,否则获取电子现金终端支持指示器为“00”;

步骤3-3,判断客户端电子现金交易限额是否存在,是则执行步骤3-4,否则执行步骤3-5;

步骤3-4,判断授权金额是否小于客户端电子现金交易限额,是则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

步骤3-5,判断客户端最低限额是否存在,是则执行步骤3-6,否则获取电子现金终端支持指示器为“00”;

步骤3-6,判断授权金额是否小于客户端最低限额,是则获取电子现金终端支持指示器为“01”,否则获取电子现金终端支持指示器为“00”;

进一步地,ic卡芯片向mcu请求的终端数据还可以包括终端国家代码、交易时间和商户名称等。

相应地,可视金融ic卡根据终端数据执行限制检查,获取处理选项具体包括:

步骤1,mcu根据终端数据生成获取处理选项命令,向ic卡芯片发送获取处理选项命令;

步骤2、ic卡芯片接收获取处理选项命令,从获取处理选项命令中获取终端数据,根据终端数据执行限制检查,根据限制检查结果生成获取处理选项命令响应,向mcu返回获取处理选项命令响应;

具体地,ic卡芯片根据以下条件执行限制检查:

电子现金终端支持指示器为“01”;

交易货币代码与应用货币代码匹配;

授权金额不超过电子现金余额;

授权金额不超过电子现金单笔交易限额;

发卡行认证失败指示器为0;

发卡行脚本处理失败指示器为0;

pin尝试计数器不为“00”;

其中,应用货币代码、电子现金余额、电子现金单笔交易限额、发卡行认证失败指示器、发卡行脚本处理失败指示器和pin尝试计数器均为ic卡芯片中的数据;

若以上条件均满足则限制检查通过,可视金融ic卡生成包含aip和afl的获取处理选项命令响应;否则限制检查未通过,可视金融ic卡生成包含使用条件不满足状态码的获取处理选项命令响应;

优选地,根据终端数据执行限制检查,根据限制检查结果生成获取处理选项命令响应,包括ic卡芯片执行以下步骤:

步骤4-1,判断电子现金终端指示器是否为“01”,是则执行步骤4-2,否则执行步骤4-9;

步骤4-2,判断交易货币代码是否等于应用货币代码,是则执行步骤4-3,否则执行步骤4-9;

步骤4-3,判断授权金额是否大于电子现金余额,是则执行步骤4-9,否则执行步骤4-4;

步骤4-4,判断授权金额是否大于电子现金单笔交易限额,是则执行步骤4-9,否则执行步骤4-5;

步骤4-5,判断发卡行认证失败指示器是否等于0,是则执行步骤4-6,否则执行步骤4-9;

步骤4-6,判断发卡行脚本处理失败指示器是否等于0,是则执行步骤4-7,否则执行步骤4-9;

步骤4-7,判断pin尝试计数器是否等于“00”,是则执行步骤4-9,否则执行步骤4-8;

步骤4-8,生成包含aip和afl的获取处理选项命令响应;

步骤4-9,生成包含使用条件不满足状态码的获取处理选项命令响应;

进一步地,限制检查通过后还包括:ic卡芯片将cid和cvr置零。

步骤3,mcu接收获取处理选项命令响应,根据获取处理选项命令响应判断获取处理选项是否成功,是则执行步骤315,否则通知客户端获取处理选项失败,返回步骤307,重新选择应用候选列表中的其他应用。

步骤315,可视金融ic卡根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志。

本实施例中,步骤315具体包括:

步骤1,mcu根据获取处理选项命令响应中的afl确定要读取的卡片记录,对应生成读记录命令,向ic卡芯片发送读记录命令;

具体地,mcu顺序读取afl中的一个afl项指定要读取的卡片记录所在应用文件的sfi,以及要读取的卡片记录的记录号,生成包含当前确定的sfi和记录号的读记录命令;

步骤2,ic卡芯片接收读记录命令,读取相应卡片记录,根据读取到的卡片记录生成读记录命令响应,并根据读记录命令中的sfi和记录号判断接收到的读记录命令是否为最后一条读记录命令,是则执行步骤3,否则执行步骤4;

具体地,ic卡芯片获取与读记录命令中的sfi对应的aef,读取该aef中与读记录命令中的记录号对应的卡片记录;

ic卡芯片根据读记录命令中的sfi和记录号判断接收到的读记录命令读取的卡片记录是否为可视金融ic卡通过afl指定的客户端需要读取的卡片记录中的最后一条,是则确定接收到的读记录命令是最后一条读记录命令,否则确定接收到的读记录命令不是最后一条读记录命令。

步骤3,ic卡芯片根据获取处理选项命令中的授权金额更新电子现金余额,生成并保存交易日志,执行步骤4;

步骤4,ic卡芯片向mcu返回读记录命令响应;

步骤5,mcu接收读记录命令响应,判断是否还有要读取的卡片记录,是则返回步骤1,否则执行步骤316。

具体地,mcu判断当前接收到的读记录命令响应中的卡片记录是否是当前afl项指定读取的最后一条卡片记录,若不是则确定还有要读取的卡片记录,若是则进一步判断获取处理选项命令响应中的afl中是否还有未处理的afl项,若有则确定还有要读取的卡片记录,若没有则确定没有要读取的卡片记录。

步骤316,可视金融ic卡根据处理选项和卡片记录执行脱机数据认证操作,若脱机数据认证通过则脱机交易批准,执行步骤317,若脱机数据认证未通过则脱机交易拒绝,执行步骤317。

本实施例中,可视金融ic卡根据处理选项和卡片记录执行脱机数据认证操作具体包括:mcu根据afl指明的用于脱机数据认证的卡片记录执行脱机数据认证;

具体地,用于脱机数据认证的卡片记录的标签为“70”;

步骤317,可视金融ic卡根据脱机数据认证结果向客户端返回交易记录数据。

步骤318,客户端根据交易记录数据生成并保存交易记录。

实施例5

本实施例提供一种可视金融ic卡,参见图8,包括:

接收模块41,用于接收客户端发送的蓝牙配对请求、验证请求和命令;

生成模块42,用于当接收模块41接收到蓝牙配对请求时,生成配对标识;

验证模块43,用于当接收模块41接收到验证请求时,对客户端进行验证;

显示模块44,用于显示生成模块42生成的配对标识;以及当验证模块43验证未通过时,显示相应提示信息;

发送模块45,用于当验证模块43验证通过时,向客户端返回蓝牙配对响应;

连接模块46,用于与客户端建立蓝牙连接;

进一步地,本实施例提供的可视金融ic卡还包括:

执行模块47,用于当接收模块41接收到第一预设命令时,选择应用;用于当接收模块41接收到第二预设命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;用于当接收模块41接收到第三预设命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志。

具体地,本实施例中,执行模块47包括:卡片记录读取单元,用于确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与确定的短文件标识对应的应用基本文件,读取获取到的应用基本文件中与确定的记录号对应的卡片记录。

在一种具体实施方式中:

执行模块47用于当接收模块41接收到选择命令时,选择应用;

具体地,执行模块47包括:第一获取单元,用于判断是否允许执行与接收模块41接收到的选择命令中的应用标识相对应的应用;

相应地,发送模块45还用于:当第一获取单元判断允许执行时,向客户端返回应用选择成功响应,当第一获取单元判断不允许执行时,向客户端返回选择失败响应。

进一步地,在该具体实施方式中:

接收模块41还用于当发送模块45向客户端返回应用选择成功响应后,接收客户端发送的交易金额;

执行模块47具体用于当接收模块41接收到获取处理选项命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;

具体地,执行模块47包括:第二获取单元,用于根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项;

相应地,发送模块45还用于:当第二获取单元检查通过时,向客户端返回获取处理选项成功响应,当第二获取单元检查未通过时,向客户端返回获取处理选项失败响应;

其中,发送模块45向客户端返回的获取处理选项成功响应中可以包含处理选项。

更进一步地,在该具体实施方式中:

执行模块47具体用于当接收模块41接收到脱机交易命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志;

具体地,执行模块47包括:第三获取单元,用于根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作;

相应地,发送模块45还用于根据第三获取单元的认证结果向客户端返回交易记录数据。

更进一步地,在该具体实施方式中,执行模块47具体包括:卡片记录读取单元,用于根据应用文件定位器确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与确定的短文件标识对应的应用基本文件,读取应用基本文件中与确定的记录号对应的卡片记录。

在一种具体实施方式中:

执行模块47用于当接收模块41接收到选择命令时,选择应用;

具体地,执行模块47包括:第一获取单元,用于判断是否允许执行与接收模块41接收到的选择命令中的应用标识相应对的应用;

相应地,发送模块45还用于:当第一获取单元判断允许执行时,向客户端返回包含处理选项数据对象列表的应用选择成功响应,当第一获取单元判断不允许执行时,向客户端返回应用选择失败响应。

进一步地,在该具体实施方式中,执行模块47具体用于当接收模块41接收到获取处理选项命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;

具体地,执行模块47包括:第二获取单元,用于从接收模块41接收到的获取处理选项命令中获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项;

相应地,发送模块45还用于当第二获取单元检查通过时,向客户端返回获取处理选项成功响应,当第二获取单元检查未通过时,向客户端返回获取处理选项失败响应。

其中,发送模块45向客户端返回的获取处理选项成功响应中可以包含处理选项。

进一步地,在该具体实施方式中,执行模块47具体用于当接收模块41接收到脱机交易命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志;

具体地,执行模块47包括:第三获取单元,用于根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行脱机数据认证操作;

相应地,发送模块45还用于:根据第三获取单元的认证结果向客户端返回交易记录数据。

更进一步地,在该具体实施方式中,执行模块47具体包括:卡片记录读取单元,用于根据应用文件定位器确定卡片记录所在应用文件的短文件标识以及卡片记录的记录号,获取与确定的短文件标识对应的应用基本文件,读取应用基本文件中与确定的记录号对应的卡片记录。

在一种具体实施方式中:

执行模块47用于当接收模块41接收到脱机交易命令时,选择应用;

具体地,执行模块47包含第一获取单元,用于建立应用候选列表,依据建立的应用候选列表选择应用;

相应地,发送模块45还用于当第一获取单元选择失败时,向客户端返回应用选择失败响应。

进一步地,在该具体实施方式中,执行模块47具体用于当接收模块41接收到脱机交易命令时,获取终端数据,根据终端数据执行限制检查,获取处理选项;

具体地,执行模块47包括:第二获取单元,用于获取脱机交易命令中的交易金额,根据处理选项数据对象列表获取终端数据,根据终端数据执行限制检查,若检查通过则获取处理选项;

相应地,发送模块45还用于:当第二获取单元检查未通过时,向客户端返回获取处理选项失败响应。

进一步地,在该具体实施方式中,执行模块47具体用于当接收模块41接收到脱机交易命令时,读取卡片记录,更新电子现金余额,生成并保存交易日志;

具体地,执行模块47包括:第三获取单元,用于根据处理选项读取卡片记录,根据授权金额更新电子现金余额,生成并保存交易日志,并根据处理选项和卡片记录执行数据认证操作;

相应地,发送模块45还用于:根据第三获取单元的认证结果向客户端返回交易记录数据。

以上所述,仅为本发明较优选的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1