一种恢复不完整交易的方法和装置的制造方法

文档序号:9350543阅读:158来源:国知局
一种恢复不完整交易的方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种恢复不完整交易的方法和装置。
【背景技术】
[0002]在智能卡与终端的通信过程中,可能出现交易完成之前智能卡脱离终端的情形,从而导致不完整交易。在不完整交易中,终端需要用户再次出示智能卡。例如,在智能卡进行预付费或预授权的过程中,智能卡中的脱机余额在不完整交易时会减少,若用户再次出示智能卡,则脱机余额不应该继续减少。但由于智能卡和终端中的记录不一致,导致用户再次出示智能卡时,终端更新从智能卡中读出的数据,再重新写回智能卡,即智能卡中的数据被再次更新,导致智能卡中的数据发生错误。

【发明内容】

[0003]本发明的目的是为了克服现有技术的不足,提供一种恢复不完整交易的方法和装置,允许恢复不完整交易并且不影响智能卡中的数据,防止在不完整交易中对智能卡中的数据重复处理。
[0004]本发明提供的一种恢复不完整交易的方法,包括:
[0005]步骤S1:终端判断不完整交易日志中的记录中是否存在与当前交易标识匹配的记录,如果是,则执行步骤S2,否则结束流程;
[0006]步骤S2:所述终端从所述与当前交易标识匹配的记录中,获取数据恢复数据对象列表相关数据;
[0007]步骤S3:所述终端根据所述数据恢复数据对象列表相关数据,生成恢复应用命令,向智能卡发送所述恢复应用命令,接收所述智能卡返回的第二响应数据;
[0008]步骤S4:所述终端根据所述不完整交易日志中的记录和终端数据库中的数据完成交易,结束流程。
[0009]本发明提供一种恢复不完整交易的装置,所述装置包括:第一判断模块、第一获取模块、第一生成模块、发送模块、接收模块和完成交易模块;
[0010]所述第一判断模块,用于判断不完整交易日志中的记录中是否存在与当前交易标识匹配的记录;
[0011]所述第一获取模块,用于当所述第一判断模块判断出不完整交易日志中的记录中存在与当前交易标识匹配的记录时,从所述与当前交易标识匹配的记录中,获取数据恢复数据对象列表相关数据;
[0012]所述第一生成模块,用于根据所述第一获取模块获取到的所述数据恢复数据对象列表相关数据,生成恢复应用命令;
[0013]所述发送模块,用于向智能卡发送所述第一生成模块生成的所述恢复应用命令;
[0014]所述接收模块,用于接收所述智能卡返回的第二响应数据;
[0015]所述完成交易模块,用于根据所述不完整交易日志中的记录和终端数据库中的数据完成交易。
[0016]本发明与现有技术相比,具有以下优点:
[0017]本发明提供的一种恢复不完整交易的方法和装置,允许恢复不完整交易,防止在不完整交易中对智能卡中的数据重复处理。
【附图说明】
[0018]图1是本发明实施例1提供的一种恢复不完整交易的方法的流程图;
[0019]图2至图4是本发明实施例2提供的一种恢复不完整交易的方法的流程图;
[0020]图5是本发明实施例3提供的一种恢复不完整交易的装置的模块图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]实施例1
[0023]本发明的实施例1提供了一种恢复不完整交易的方法,如图1所示,包括:
[0024]步骤S1:终端判断不完整交易日志中的记录中是否存在与当前交易标识匹配的记录,如果是,则执行步骤S2,否则结束流程;
[0025]具体地,当前交易标识包括当前交易主账号和当前交易主账号序列号;
[0026]步骤S2:终端从与当前交易标识匹配的记录中,获取数据恢复数据对象列表相关数据;
[0027]步骤S3:终端根据数据恢复数据对象列表相关数据,生成恢复应用命令,向智能卡发送恢复应用命令,接收智能卡返回的第二响应数据;
[0028]步骤S4:终端根据记录和终端数据库中的数据完成交易,结束流程。
[0029]实施例2
[0030]本发明的实施例2提供了一种恢复不完整交易的方法,如图2至图4所示,包括:
[0031]步骤101:终端判断终端中的不完整交易日志中是否有记录存在,如果是,则执行步骤109,否则执行步骤102 ;
[0032]具体地,终端在不完整交易日志中查找记录标签,判断是否能查找到记录标签,如果是,则确定终端中的不完整交易日志中有记录存在,否则确定终端中的不完整交易日志中没有记录存在;
[0033]例如,记录标签为FF 81 01,不完整交易日志为9F 4D 02 01 01,则确定终端中的不完整交易日志中没有记录存在;
[0034]本实施例中,终端中不完整交易日志中的记录与智能卡——对应;
[0035]本实施例中,该步骤之前还包括:终端判断是否支持交易恢复,如果是,则执行步骤101,否则执行步骤102;
[0036]具体地,终端通过从智能卡中读记录,判断是否能从智能卡中读取到不为空的数据恢复数据对象列表,并且判断终端中的当前配置是否支持交易恢复,如果均为是,则终端确定支持交易恢复,否则终端确定不支持交易恢复;其中,终端判断终端中的不完整交易日志记录最大个数不为O,如果是,则确定终端中的当前配置支持交易恢复,否则确定终端中的当前配置不支持交易恢复;
[0037]例如,终端通过向智能卡发送读记录命令,得到智能卡返回的读记录响应数据为:70 52 5F 24 03 49 12 31 5A 08 54 13 33 90 00 00 66 77 5F 34 01 02 8C OE 95 059F 02 06 9F 34 03 9F 33 03 9F 37 04 8E OA 00 00 00 00 00 00 00 00 00 00 9F OD05 00 00 00 00 00 9F OE 05 00 00 00 00 00 9F OF 05 00 00 00 00 00 9F 51 03 9F
37 04 9F 4A 01 82 90 00 ;终端在读记录响应数据中查找数据恢复数据对象列表的标签9F 51,获取数据恢复数据对象列表的标签的下一个字节的数据作为数据恢复数据对象列表的长度,即数据恢复数据对象列表的长度为03,根据数据恢复数据对象列表的长度继续获取数据作为数据恢复数据对象列表的内容,即数据恢复数据对象列表的内容为9F 3704,则终端判断出从智能卡中读取到数据恢复数据对象列表且不为空;例如,终端中的不完整交易日志记录最大个数为1,则确定终端中的当前配置支持交易恢复;
[0038]步骤102:终端根据卡片风险管理数据对象列表得到产生应用密文命令,向智能卡发送产生应用密文命令;
[0039]具体地,终端通过从智能卡中读记录,得到卡片风险管理数据对象列表,获取卡片风险管理数据对象列表中的数据元的标签和长度,根据获取到的数据元的标签和长度,在终端数据库中查找对应的数据元的值,根据查找到的数据元的值创建卡片风险管理数据对象列表相关数据;
[0040]例如,终端在读记录响应数据中查找卡片风险管理数据对象列表的标签SC,获取卡片风险管理数据对象列表的标签的下一个字节的数据作为卡片风险管理数据对象列表的长度,即卡片风险管理数据对象列表的长度为0E,根据卡片风险管理数据对象列表的长度继续获取数据作为卡片风险管理数据对象列表的内容,即卡片风险管理数据对象列表的内容为95 05 9F 02 06 9F 34 03 9F 33 03 9F 37 04 ;终端在卡片风险管理数据对象列表的内容中获取数据元的标签和长度,根据获取到的数据元的标签和长度,在终端数据库中查找对应的数据元的值,根据查找到的数据元的值创建卡片风险管理数据对象列表相关数据为 00 00 00 00 00 00 00 00 00 15 00 3F 00 00 00 60 08 81 06 2A 95,终端根据产生应用密文命令的命令类型、命令码、第一参数、第二参数和卡片风险管理数据对象列表相关数据得到的产生应用密文命令为80 AE 50 00 15 00 00 00 00 00 00 00 00 00 1500 3F 00 00 00 60 08 81 06 2A 95 00 ;
[0041]步骤103:终端判断是否接收到智能卡返回的第一响应数据,如果是,则执行步骤104,否则执行步骤105 ;
[0042]具体地,终端判断未接收到智能卡返回的第一响应数据,包括:因超时或通信错误未收到第一响应数据;
[0043]步骤104:终端完成交易,结束流程;
[0044]步骤105:终端根据数据恢复数据对象列表,在终端数据库中获取数据创建数据恢复数据对象列表相关数据,根据创建得到的数据恢复数据对象列表相关数据,生成不完整交易临时记录;
[0045]本实施例中,该步骤之前还包括:终端判断是否支持交易恢复,如果是,则执行步骤105,否则交易失败,结束流程;
[0046]具体地,终端从智能卡中读记录,终端判断是否从智能卡中读取到不为空的数据恢复数据对象列表,并且判断终端中的当前配置是否支持交易恢复,如果均为是,则确定终端支持交易恢复,否则确定终端不支持交易恢复;
[0047]本实施例中,若终端判断出不支持交易恢复时,还可以包括:终端显示交易失败信息,提示用户重新开始交易;
[0048]具体地,步骤105中终端通过从智能卡中读记录,得到数据恢复数据对象列表,获取数据恢复数据对象列表中的数据元的标签和长度,根据获取到的数据元的标签和长度,在终端数据库中查找对应的数据元的值,根据查找到的数据元的值创建数据恢复数据对象列表相关数据;
[0049]例如,终端在读记录响应数据中查找数据恢复数据对象列表的标签9F 51,获取数据恢复数据对象列表的标签的下一个字节的数据作为数据恢复数据对象列表的长度,即数据恢复数据对象列表的长度为03,根据数据恢复数据对象列表的长度继续获取数据作为数据恢复数据对象列表的内容,即数据恢复数据对象列表的内容为9F 37 04 ;终端从数据恢复数据对象列表的内容中获取数据元的标签和长度,根据获取到的数据元的标签9F 37和长度04,在终端数据库中查找对应的数据元的值,根据查找到的数据元的值创建数据恢复数据对象列表相关数据为DF 81 13 04 81 06 2A 95 ;
[0050]例如,不完整交易临时记录包括:日志入口、授权金额、其他金额、应用主帐号、应用主帐号序列号、产生应用密文前读余额、卡片风险管理数据对象列表相关数据、持卡人验证结果、数据恢复数据对象列表相关数据、数据存储摘要、集成数据存储状态、
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1