多钱包的扩展、交易初始化的方法和装置 【技术领域】
本发明涉及电子钱包技术领域,特别涉及一种多钱包的扩展、交易初始化的方法和装置。
背景技术
电子钱包是一个用来储存电子货币并进行货币支付的硬件设备,通常以智能卡、嵌入式安全模块等形式存在,例如:公交一卡通等。
目前使用电子钱包时,主要是与各个终端刷卡设备(POS)进行信息交互,完成交易。在进行交易前,各个终端设备需要对电子钱包的有效性进行验证,以保证对电子钱包的合法性操作,验证方法的主要原理是利用密钥体系进行相互的身份认证:通过内嵌于终端刷卡设备中的PSAM(Purchase Secure AccessModule,消费安全存取模块)中的相关应用密钥,以及电子钱包设备中的对应密钥,对数据进行加密或解密运算,依据运算结果判断电子钱包的有效性。
电子存折/电子钱包应用是为持卡人进行金融交易而设计的一种应用。对于一张金融IC卡来说,它可以同时支持电子存折和电子钱包两种应用,也可以只支持其中的一种。
PBOC(People’s Bank Of China,中国人民银行)发布的电子钱包规范规定:在同一个应用下,只能有一个电子钱包(EP)或一个电子存折(ED),发卡方在同一个应用下只能操作一个电子钱包或电子存折。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
在同一个应用下,只能有一个电子钱包或电子存折,无法满足用户在一个应用下操作多个钱包的需要,用户体验质量不高。
【发明内容】
本发明的实施例提供一种多钱包的扩展、交易初始化的方法和装置,能够实现同一应用下的多钱包扩展,提高用户体验质量。
本发明实施例采用的技术方案为:
一种多钱包的扩展方法,包括:
在智能卡中建立至少两个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识;
对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果。
一种多钱包的扩展装置,包括:
建立模块,用于在智能卡中建立至少两个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识;
第一设置模块,用于对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果。
一种交易初始化的方法,包括:
接收终端设备发送的交易初始化报文,其中,所述交易初始化报文包括交易初始化类型标识、电子钱包标识、终端发出的命令数据域的实际长度、数据域、响应数据的最大期望长度;
判断所述交易初始化报文中交易初始化类型标识、终端发出的命令数据域的实际长度、响应数据的最大期望长度的值与智能卡中保存的设置结果中对应参数的值是否相等;
若相等,则根据所述电子钱包标识的值选择相应的电子钱包文件;
判断所选择的电子钱包文件是否满足权限;
若满足权限,则保存交易金额、交易类型;
生成交易初始化响应报文;
向终端设备发送所述交易初始化响应报文。
一种智能卡,包括:
接收模块,用于接收终端设备发送的交易初始化报文,所述交易初始化报文包括交易初始化类型标识、电子钱包标识、终端发出的命令数据域的实际长度、数据域、响应数据的最大期望长度;
第一判断模块,用于判断所述交易初始化报文中交易初始化类型标识、终端发出的命令数据域的实际长度、响应数据的最大期望长度的值与智能卡中保存的设置结果中对应参数的值是否相等;
选择模块,用于当所述交易初始化报文中交易初始化类型标识、终端发出的命令数据域的实际长度、响应数据的最大期望长度的值与智能卡中保存的设置结果中对应参数的值相等时,根据所述电子钱包标识的值选择相应地电子钱包文件;
第二判断模块,用于判断所选择的电子钱包文件是否满足权限;
保存模块,用于当所选择的电子钱包文件满足权限时,保存交易金额、交易类型;
生成模块,用于生成交易初始化响应报文;
发送模块,用于向终端设备发送交易初始化响应报文。
本发明实施例多钱包的扩展、交易初始化的方法和装置,在智能卡一个应用下建立多个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识,对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果,当智能卡接收到交易初始化报文时,将报文中的各参数与智能卡中保存的设置结果进行比较,选择相应的电子钱包文件,进行交易初始化。与现有技术相比,本发明能够在基于PBOC电子钱包规范的基础上实现同一应用下的多钱包扩展,满足用户的不同需求,提高用户体验质量。
【附图说明】
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的多钱包的扩展方法流程图;
图2为本发明实施例一中电子钱包文件与电子钱包文件标识示意图;
图3为本发明实施例一中圈存交易初始化报文格式示意图;
图4为本发明实施例一中消费交易初始化报文格式示意图;
图5为本发明实施例一中交易类型标识的设置示意图;
图6为本发明实施例一中交易明细文件的设置示意图;
图7为本发明实施例二提供的圈存交易初始化的方法流程图;
图8为本发明实施例三提供的消费交易初始化的方法流程图;
图9为本发明实施例四提供的多钱包的扩展装置结构示意图;
图10为本发明实施例五提供的智能卡的结构示意图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
实施例一
本实施例提供一种多钱包的扩展方法,如图1所示,所述多钱包的扩展方法包括:
101、在智能卡中建立至少两个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识;
在本实施例中,在同一应用下建立有16个电子钱包文件,如图2所示,不同的电子钱包文件对应不同的电子钱包文件标识,每个电子文件标识包括两个字节的十六进制数。
102、对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果。
具体地,所述对智能卡待接收的交易初始化报文的格式进行设置包括:对圈存交易初始化报文的格式进行设置和对消费交易初始化报文的格式进行设置。
(1)对圈存交易初始化报文的格式进行设置。
如图3所示,将圈存交易初始化报文的格式设置为包括参数CLA、INS、P1、P2、Lc、DATA和Le,CLA、INS、P1、P2为固定的四个字节的命令头,Lc、DATA和Le为长度可变的命令体;其中,CLA为命令报文的类别字节,INS为命令报文的指令字节,P1为交易初始化类型标识,P2为电子钱包标识,Lc为终端设备发出的命令数据域的实际长度,DATA为数据域,包括密钥标识符、交易金额、终端设备标识,Le为响应数据的最大期望长度;其中,CLA、INS、P1、Lc和Le为常量,P2、DATA为变量。:
由于所述应用支持十六个钱包,在发送圈存交易初始化报文时,利用P2的值来区分不同的钱包,P2=0xX2,X为0-F的数值,指对第几个钱包进行交易。
(2)对消费交易初始化报文的格式进行设置。
如图4所示,将消费交易初始化报文的格式设置为包括参数CLA、INS、P1、P2、Lc、DATA和Le,CLA、INS、P1、P2为固定的四个字节的命令头,Lc、DATA和Le为长度可变的命令体;其中,CLA为命令报文的类别字节,INS为命令报文的指令字节,P1为交易初始化类型标识,P2为电子钱包标识,Lc为终端发出的命令数据域的实际长度,DATA为数据域,包括密钥标识符、交易金额、终端设备标识,Le为响应数据的最大期望长度;其中,CLA、INS、P1、Lc和Le为常量,P2、DATA为变量。
由于所述应用支持十六个钱包,在发送消费交易初始化报文时,利用P2的值来区分不同的钱包,P2=0xX2,X为0-F的数值,指对第几个钱包进行交易。
其中,所述圈存交易初始化报文中参数P1的值与消费交易初始化报文中对应参数的值不相等。
所述每个电子钱包文件对应的电子钱包文件标识中包含所述参数P2,不同的电子钱包文件对应的参数P2的值不相等。
103、对交易类型标识的格式进行设置,其中,所述交易类型标识包括电子钱包标识和该电子钱包所进行的交易种类的标识。
由于同一个应用下支持十六个电子钱包,因此,交易类型标识也要随之修改。如图5所示,在本实施例中,交易类型标识用一个字节表示,前四个比特位为电子钱包标识,表示是哪个电子钱包;后四个比特位为该电子钱包所进行的交易种类的标识。如果前四个比特位是0,则代表第一个钱包;如果前四个比特位是1,则代表第二个钱包;以此类推。如果后四个比特位是2,则代表该电子钱包所进行的是圈存交易,如果后四个比特位是6,则代表该电子钱包所进行的是消费交易。
104、对交易明细文件的格式进行设置,其中,所述交易明细文件中包括所述交易类型标识。
如图6所示,所述交易明细文件包括23个字节,第10个字节为交易类型标识,与步骤103中设置的交易类型标识对应,从而,通过交易明细文件,可以方便地获知对哪个钱包文件进行的何种交易。
本发明实施例多钱包的扩展方法,在智能卡一个应用下建立多个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识,对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果,当智能卡接收到交易初始化报文时,将报文中的各参数与智能卡中保存的设置结果进行比较,选择相应的电子钱包文件,进行交易初始化。与现有技术相比,本发明能够在基于PBOC电子钱包规范的基础上实现同一应用下的多钱包扩展,满足用户的不同需求,提高用户体验质量。
实施例二
在本实施例中,在一个应用下最多支持16个电子钱包。
本实施例提供一种圈存交易初始化的方法,如图7所示,所述圈存交易初始化的方法包括:
701、接收终端设备发送的圈存交易初始化报文,其中,所述圈存交易初始化报文包括参数CLA、INS、P1、P2、Lc、DATA和Le。
702、判断所述圈存交易初始化报文中参数CLA、INS、P1、Lc和Le的值与智能卡中保存的设置结果中对应参数的值是否相等。若相等,则执行步骤703;若不相等,则执行步骤704。
703、根据参数P2的值选择相应的电子钱包文件。
704、返回错误代码,并退出。
705、判断所选择的电子钱包文件是否满足权限。
706、若满足权限,则保存交易金额、交易类型等信息到缓存;若不满足权限,则返回至步骤704。
707、查找智能卡的密钥,根据所述密钥计算参数MAC1的值。
708、生成圈存交易初始化响应报文。
709、向终端设备发送所述圈存交易初始化响应报文。
本发明实施例圈存交易初始化的方法,在智能卡一个应用下建立多个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识,对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果,当智能卡接收到圈存交易初始化报文时,将报文中的各参数与智能卡中保存的设置结果进行比较,选择相应的电子钱包文件,进行圈存交易初始化。与现有技术相比,本发明能够在基于PBOC电子钱包规范的基础上实现同一应用下的多钱包扩展,满足用户的不同需求,提高用户体验质量。
实施例三
在本实施例中,在一个应用下最多支持16个电子钱包。
本实施例提供一种消费交易初始化的方法,如图8所示,所述消费交易初始化的方法包括:
801、接收终端设备发送的消费交易初始化报文,其中,所述消费交易初始化报文包括参数CLA、INS、P1、P2、Lc、DATA和Le。
802、判断所述消费交易初始化报文中参数CLA、INS、P1、Lc和Le的值与智能卡中保存的设置结果中对应参数的值是否相等。若相等,则执行步骤803;若不相等,则执行步骤804。
803、根据参数P2的值选择相应的电子钱包文件。
804、返回错误代码,并退出。
805、判断所选择的电子钱包文件是否满足权限。
806、若满足权限,则保存交易金额、交易类型等信息到缓存;若不满足权限,则返回至步骤804。
807、生成消费交易初始化响应报文。
808、向终端设备发送所述消费交易初始化响应报文。
本发明实施例消费交易初始化的方法,在智能卡一个应用下建立多个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识,对智能卡待接收的消费交易初始化报文的格式进行设置,并在智能卡中保存设置结果,当智能卡接收到消费交易初始化报文时,将报文中的各参数与智能卡中保存的设置结果进行比较,选择相应的电子钱包文件,进行交易初始化。与现有技术相比,本发明能够在基于PBOC电子钱包规范的基础上实现同一应用下的多钱包扩展,满足用户的不同需求,提高用户体验质量。
实施例四
本实施例提供一种多钱包的扩展装置,如图9所示,所述多钱包的扩展装置包括:
建立模块901,用于在智能卡中建立至少两个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识;
第一设置模块902,用于对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果。
进一步,所述多钱包的扩展装置,还可以包括:
第二设置模块903,用于对交易类型标识的格式进行设置,其中,所述交易类型标识包括电子钱包标识和该电子钱包所进行的交易种类的标识。
第三设置模块904,用于对交易明细文件的格式进行设置,其中,所述交易明细文件中包括所述交易类型标识。
本实施例多钱包的扩展装置的具体工作流程可以参照实施例一中所述,在此不再赘述。
本发明实施例多钱包的扩展装置,在智能卡一个应用下建立多个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识,对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果,当智能卡接收到交易初始化报文时,将报文中的各参数与智能卡中保存的设置结果进行比较,选择相应的电子钱包文件,进行交易初始化。与现有技术相比,本发明能够在基于PBOC电子钱包规范的基础上实现同一应用下的多钱包扩展,满足用户的不同需求,提高用户体验质量。
实施例五
本实施例提供一种智能卡,如图10所示,所述智能卡包括:
接收模块1001,用于接收终端设备发送的交易初始化报文,所述交易初始化报文包括参数CLA、INS、P1、P2、Lc、DATA和Le;
第一判断模块1002,用于判断所述交易初始化报文中参数CLA、INS、P1、Lc和Le的值与智能卡中保存的设置结果中对应参数的值是否相等;
选择模块1003,用于当所述交易初始化报文中参数CLA、INS、P1、Lc和Le的值与智能卡中保存的设置结果中对应参数的值相等时,根据参数P2的值选择相应的电子钱包文件;
第二判断模块1004,用于判断所选择的电子钱包文件是否满足权限;
保存模块1005,用于当所选择的电子钱包文件满足权限时,保存交易金额、交易类型;
生成模块1006,用于生成交易初始化响应报文;
发送模块1007,用于向终端设备发送交易初始化响应报文。
其中,所述智能卡还可以包括:
查找和计算模块1008,用于查找智能卡的密钥,根据所述密钥计算参数MAC1的值;
则所述生成模块1006生成的交易初始化响应报文中包含所述参数MAC1。
本实施例智能卡的具体工作流程可以参照实施例一中所述,在此不再赘述。
本发明实施例智能卡,在智能卡一个应用下建立多个电子钱包文件,每个电子钱包文件设置有唯一的电子钱包文件标识,对智能卡待接收的交易初始化报文的格式进行设置,并在智能卡中保存设置结果,当智能卡接收到交易初始化报文时,将报文中的各参数与智能卡中保存的设置结果进行比较,选择相应的电子钱包文件,进行交易初始化。与现有技术相比,本发明能够在基于PBOC电子钱包规范的基础上实现同一应用下的多钱包扩展,满足用户的不同需求,提高用户体验质量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。