Sim卡支付应用脱机交易信息实时上报的方法和系统的制作方法
【技术领域】
[0001]本发明属于通信技术和移动支付技术领域,具体说是一种SIM卡支付应用交易信息实时上报的方法和系统。
【背景技术】
[0002]随着移动支付的快速普及,新的业务和应用不断涌现,人们开始大量使用手机移动支付来代替传统的银行卡、公交卡、门禁卡、电子优惠券等。作为移动支付技术中的重要组成部分:SIM(Subscriber Identity Module,用户身份识别模块)卡,除了承载通信应用,同时承载了越来越多的支付应用。
[0003]现实环境中,S頂卡的发行方和支付应用的提供方可能并不是同一个机构(大多数情况是这样)。通常的情况是,S頂卡的发行方只是单纯的提供S頂卡空间,可以加载任何经过认证的第三方支付应用,S頂卡发行方承担了部分支付应用发行方义务,因此S頂卡发行方通常享有支付应用发行方的支付结算收益分成的权利。S頂卡发行方需要了解S頂卡上的支付应用的交易数据,而一般情况下支付应用提供商不会和S頂卡的发行方进行实质的结算网络对接,原因是商业壁垒和建网成本极高。这样就会出现S頂卡发行方很难对支付应用的交易情况进行把控和数据采集,从而带来运营服务困难,无法保证交易数据准确,进而影响收益。
[0004]手机S頂卡中的支付应用目前主要用于脱机小额支付,结算只能发生在支付终端将交易数据发送到清算方后,若出现网络故障,则运营各方都有可能发生损失。
【发明内容】
[0005]针对上述技术不足,本发明目的是提供一种S頂卡支付应用交易信息实时上报的方法和系统,以解决上述技术问题。
[0006]本发明解决其技术问题所采用的技术方案是:S頂卡支付应用脱机交易信息实时上报的方法和系统,包括以下步骤:
[0007]S頂卡的交易监听模块监听S頂卡内的脱机支付应用;当支付应用余额发生变化时,记录交易信息并向背包短信上发模块实时提交交易信息的数据;
[0008]背包短信上发模块接收交易数据并进行格式化、组包、缓存,根据缓存的信息状态进行背包短信的上发,并根据背包短信的发送情况来清理缓存的数据。
[0009]所述交易信息为本次交易和上一次交易的信息。
[0010]所述背包短信上发模块接收交易数据并进行格式化、组包、缓存,包括以下步骤:
[0011]背包短信上发模块的交易信息缓存池子模块保存交易监听模块提交的交易信息数据,同时对保存的数据进行格式化、组包形成背包短信数据。
[0012]所述根据缓存的信息状态进行背包短信的上发,并根据背包短信的发送情况来清理缓存的信息包括以下步骤:
[0013]数据短信上发子模块注册手机Get Status事件;当手机产生Get Status指令时,数据短信上发子模块响应事件,执行检查交易信息缓存池子模块动作;如果交易信息缓存池子模块存在未发送的背包短信数据,则数据短信上发子模块将交易信息缓存池子模块中的背包短信数据上发至短信网关;如果交易信息缓存池子模块不存在背包短信数据,则完成事件响应;短信发送成功后,数据短信上发子模块立即清空交易信息缓存池子模块缓存的数据;若短信发送不成功,则仍然完成事件响应,在下一次Get Status事件发生时,重新发送。
[0014]所述将交易信息缓存池子模块中的背包短信数据上发至短信网关,具体为:手机Get Status事件周期内实时将交易信息缓存池子模块中的数据以二进制短信方式上发至短/[目网关。
[0015]S頂卡支付应用脱机交易信息实时上报的系统,包括:
[0016]交易监听模块:用于监听SIM卡支付应用的脱机支付应用,当支付应用余额变化时,记录交易信息并向背包短信上发模块提交脱机交易信息的数据;
[0017]背包短信上发模块:用于接收交易数据并进行格式化、组包、缓存,根据缓存的信息状态进行背包短信的上发,并根据短信的发送情况来清理缓存的信息。
[0018]所述背包短信上发模块包括:
[0019]交易信息缓存池子模块:用于保存交易监听模块提交的交易信息数据,同时对保存的数据进行组包和格式化形成背包短信数据;
[0020]数据短信上发子模块:用于注册手机的Get Status事件;当手机产生Get Status指令时,数据短信上发子模块响应事件,执行检查交易信息缓存池子模块动作;如果交易信息缓存池子模块存在未发送的数据,则数据短信上发子模块将交易信息缓存池子模块中的背包短信数据上发至短信网关;如果不存在,则完成事件响应;短信发送成功后,数据短信上发子模块立即清空交易信息缓存池子模块,完成事件响应;若短信发送不成功,则仍然完成事件响应,在下一次Get Status事件发生时,重新发送。
[0021]所述背包短信为二进制短信。
[0022]本发明具有以下有益效果及优点:
[0023]1.本发明的方法仅仅在支付应用内设计一个交易监听模块,对支付应用改造成本极小,监听模模块实现方式简单,架构清晰,容易开发和维护。
[0024]2.监听模块作为支付应用的一个附属模块,获取数据的方式为应用内函数调用方式,因此交易监听模块与支付应用本身是完全耦合关系,高度的耦合度保证了 S頂卡支付应用的安全性;监听模块获得数据的时机为支付应用交易完成时,因此不对S頂卡支付应用原来的安全性和性能产生任何影响。
[0025]3.采用的数据采集方式为数据短信方式,考虑一般S頂卡的提供商都是GSM网络运营商,短信通道覆盖面最广,成本低,数据短信无法直接阅读,安全性高,因此能很好的为本方法和系统服务。
[0026]4.交易监听模块和背包短信上发模块的配合,对交易数据能达到实时上报,相比通过终端设备进行数据采集要更快速,同时节约采集成本。
[0027]5.本发明能达到对发行的带有手机支付应用的S頂卡的脱机交易使用情况的实时监控、数据采集以及必要统计目的,为S頂卡中的支付应用提供额外的安全保护和交易风险监控。
【附图说明】
[0028]图1为本发明的模块系统架构图;
[0029]图2为产生一条背包上送的完整流程图。
【具体实施方式】
[0030]下面结合实施例对本发明做进一步的详细说明。
[0031]如图1所示,一种S頂卡支付应用脱机交易信息实时上报的系统,包括:S頂卡支付应用交易监听模块,由交易信息缓存池子模块和数据短信上发子模块构成的背包短信上发模块。
[0032]S頂卡支付应用交易监听模块:主要用于监听S頂卡支付应用的实时交易情况,对于造成支付应用余额变化的交易(消费、圈存等)进行交易信息的记录并向背包短信上发模块进行数据提交。数据记录在交易完成后进行,不影响支付交易的执行流程。
[0033]背包短信上发模块:主要负责根据交易信息缓存模块的信息状态进行背包短信的上发,并根据数据短信的发送情况来清理交易信息缓存模块;
[0034]所述背包短信上发模块包括:
[0035]交易信息缓存池子模块:用于保存S頂卡支付应用监听模块提交的实时交易信息数据,同时对保存的数据进行分类和格式化
[0036]数据短信上发子模块:负责注册手机的Get Status事件,保证手机产生GetStatus指令时,事件能马上通知到背包短信上发模块;同时在收到事件时,将信息缓存池中有效交易信息进行数据短信格式化并上发至指定的短信接收号码。
[0037]本发明的方法包括:在SIM卡支付应用(M0C、PB0C等)中设计交易监听模块,用于监听和记录每一笔交易数据,并保存最近的两笔交易记录;在S頂卡支付应用中加入背包短信上发模块;当S頂卡支付应用产生一笔交易时,交易监听模块通过监听交易获得交易明细,并连同前一笔交易一起提交给背包短信上发模块;交易信息缓存池子模块保存交易监听模块提交的明细,待手机发起获取状态事件时,背包短信上发模块发送缓存池中的所有交易信息,并清空缓存池,过程结束。
[0038]如图2所示,一种S頂卡支付应用脱机交易信息实时上报的方法,具体包括如下步骤:
[0039]S頂卡交易监听模块实时监视S頂卡内的离线支付应用,一旦发生余额变化的交易(充值或消费),则在交易完成后自动记录最近的两条交易记录(交易发生前的1笔交易和本次交易),随即向背包短信上发模块提交记录数据;
[0040]背包短信上发模块接收并保存记录数据于本模块缓存池;背包短信上发模块注册手机Get Status命令事件并设置事件间隔为30秒;
[0041]手机每次产生Get Status命令事件时,通知背包短信上发模块检查交易信息缓存池子模块,如果缓存池存在有效数据,则实时将数据以二进制短信方式上发,短信发送成功后,立即清空缓存池。
[0042]其中,依据当前SIM卡支付应用根据当前交易情况(脱机或联机)决定是否给背包短信上发模块提交交易记录数据包含如下步骤:
[0043]监控S頂卡支付应用是否发生余额变化的交易;
[0044]如果发生了余额变化的交易,则记录最近的两条交易信息,并提交给背包短信上发模块;
[0045]另外,依据当前背包短信上发模块是否进行短信发送包含如下步骤:
[0046]背包短信上发模块收到手机的Get Status命令事件;
[0047]查询背包短信上发模块交易信息缓存池中是否存在有效交易信息;
[0048]如果接收到了 Get Status命令事件,并且交易信息缓存池中存在有效信息,背包短信上发模块进行交易信息背包短信的上发。
[0049]下面结合实例对本发明做进一步的详细说明。
[0050]本发明的方法包括以下步骤:
[0051]1:在S頂卡中设置一个或多个带有交易监听模块的S頂卡支付应用和背包短信上发模块。
[0052]2:SIM卡提供商在背包短信上发模块中配置背包短信接收平台目标号码。
[0053]3:背包短信上发模块注册手机Get Status命令事件,设置时间间隔为30秒,这样手机会在开机完成S頂卡登网之后,每30秒给背包短信
上发模块发送一次Get Status事件,用于触发背包短信上发模块背包短信上发动作。
[0054]3.1:Get Status命令事件的注册方式如下:
[0055]A:手机开机过程会自动给SIM卡发送Terminal Profile命令,此时SIM卡返回91XX ;
[0056]B:手机通过Fetch指令获取SIM卡主动式命令,主动式命令说明参考国际规范:《ETSI TS 101267》;
[0057]C:SIM卡发送Poll Interval命令给手机,要求手机每30s给卡片发送一次GetStatus命令,这样待手机开机过程完成后,手机会自动每30s给SIM卡发送一次Get Status命令;
[0058]4:卡外消费或充值终端设备发送交易指令给卡片内的SIM卡支付应用,SIM卡支付应用按业务规范执行交易流程请求,对于余额发生变化的交易(消费或充值),S頂卡支付应用在钱包余额变更完成,产生交易日志,并将结果回送给消费终端P0S后,向交易监听模块提交一次交易发生通知,交易监听模块此时得知交易产生,执行读取S頂卡支付应用中的交易明细文件来获取最近的两笔支付应用交易记录,然后将读取的交易信息数据提交给背包短信上发模块。
[0059]4.1:交易监听模块获取交易明细的方式
[0060]A:每笔交易完成前,S頂卡支付应用都必须去进行交易明细文件的修改。S頂卡支付应用提供一个读取交易明细的函数接口;
[0061]B:交易监听模块监听每一条指令,即每条指令均先被交易监听模块进行拦截,然后再传送给S頂卡支付应用,指令执行后,返回数据同样经由交易监听模块返回给外界设备例如:P0S机。
[0062]C:当收到交易指令,例如:M0C的credit for purchase指令,模块立即设立交易指令标志位,待指令被支付应用执行完成返回时,易监听模块调用SIM卡支付应用的交易明细读取函数接口,从而获取到最近发生的交易的交易明细数据。
[0063]5:背包短信上发模块收到交易监听模块提交的交易信息数据,将此信息提交至交易信息缓存池子模块;该模块进行交易信息的格式化操作,将交易信息拼装成一条标准的数据短信,并保存于缓存池中。
[0064]5.1:拼装的短信的说明如下:
[0065]A:拼装的短信是数据短信,而非文本短信,数据短信的发送和接受用户不会感知,同时具有更好的安全性。用户不感知能给用户更好的体验,用户只是关心刷卡消费/充值的过程和结果,后台如何进行交易明细的采集和统计对于用户是透明的。数据短信在组包交易数据内容过程中,会对敏感内容进行特殊处理,如仅截取账户号码末4位,从而确保数据短信内容不泄露用户隐私。
[0066]B:数据短信编码格式符合国际规范:《ETSI TS 100901));
[0067]C:数据短信中的数据区内容包含:最近的两笔交易明细数据。
[0068]6:手机产生Status时间事件,事件通知给注册了事件的背包短信上发模块。
[0069]7:背包短信上发模块接收到手机的时间事件,通知数据短信上发子模块,数据短信上发子模块从交易信息缓存池子模块中读取有效的数据短信数据;若读取到有效数据则立即发送数据短信至指定的背包短信接收平台,短信发送成功后,删除缓存池中的短信数据;若短信发送失败,则不对缓存池中的数据进行处理,继续等待下一次时间事件;若没有查询你到有效数据,不做任何处理。
[0070]7.1:对于短信上发过程在S頂卡上的指令交互如下:
[0071]A:手机发送Get Status命令给SIM卡;
[0072]B:SIM卡背包短信上发模块查询是否存在有效的数据短信数据,如果存在的话,返回91XX(XX表示S頂卡需要向手机返回XX字节的数据),如果不存在,直接返回9000 ;
[0073]C:手机收到91XX后,向卡片发送Fetch指令来获取S頂卡主动式命令;
[0074]D:S頂卡给手机发送Send Short Message命令,手机即向目标平台发送数据短?目;
[0075]Ε:手机发送数据短信,同时将发送结果通过Terminal Response命令返回给SIM卡背包短信上发模块,背包短信上发模块判断如果发送成功,则删除缓冲池中的交易数据,如果发送失败,则不做任何处理;
[0076]7.2:缓冲池数据的管理方式如下:
[0077]A:缓冲池数据使用记录的管理方式,每个记录长度257个字节,格式为有效标志位+短信长度+短信内容;
[0078]B:每次写入短信数据,就是在缓冲池加入一个记录,有效标志位为01 ;
[0079]C:背包短信上发模块查询缓冲池的每个记录,如果标志位是01,则为有效短信,为00的话,则为无效短信;
[0080]D:当背包短信上发模块发送短信成功后,则将对上发过的缓冲短信记录的标志位设置为00即可。
[0081]8:过程结束;
[0082]其中,S頂卡支付应用包含M0C,PB0C等支付应用;M0C: —种支付类应用,符合标准《建设事业非接触式CPU卡》,标准号:CJ/T 304-2008 ;PB0C:金融卡电子现金应用,复合标准《中国金融集成电路(1C)卡规范第15部分:电子现金双币支付应用规范》,标准号:JR/ ?10602ooh
ISX3"據载遝碟蛱崁 I 籁二SSI gHHghM:據载翅友?隹悄捉州rsHHgicodslLOT.Loso XK 9/9 f ? s V 89988S0T zo
【主权项】
1.SIM卡支付应用脱机交易信息实时上报的方法和系统,其特征在于包括以下步骤: S頂卡的交易监听模块监听S頂卡内的脱机支付应用;当支付应用余额发生变化时,记录交易信息并向背包短信上发模块实时提交交易信息的数据; 背包短信上发模块接收交易数据并进行格式化、组包、缓存,根据缓存的信息状态进行背包短信的上发,并根据背包短信的发送情况来清理缓存的数据。2.根据权利要求1所述的S頂卡支付应用脱机交易信息实时上报的方法,其特征在于所述交易信息为本次交易和上一次交易的信息。3.根据权利要求1所述的S頂卡支付应用脱机交易信息实时上报的方法,其特征在于所述背包短信上发模块接收交易数据并进行格式化、组包、缓存,包括以下步骤: 背包短信上发模块的交易信息缓存池子模块保存交易监听模块提交的交易信息数据,同时对保存的数据进行格式化、组包形成背包短信数据。4.根据权利要求1所述的S頂卡支付应用脱机交易信息实时上报的方法,其特征在于所述根据缓存的信息状态进行背包短信的上发,并根据背包短信的发送情况来清理缓存的信息包括以下步骤: 数据短信上发子模块注册手机Get Status事件;当手机产生Get Status指令时,数据短信上发子模块响应事件,执行检查交易信息缓存池子模块动作;如果交易信息缓存池子模块存在未发送的背包短信数据,则数据短信上发子模块将交易信息缓存池子模块中的背包短信数据上发至短信网关;如果交易信息缓存池子模块不存在背包短信数据,则完成事件响应;短信发送成功后,数据短信上发子模块立即清空交易信息缓存池子模块缓存的数据;若短信发送不成功,则仍然完成事件响应,在下一次Get Status事件发生时,重新发送。5.根据权利要求4所述的S頂卡支付应用脱机交易信息实时上报的方法,其特征在于所述将交易信息缓存池子模块中的背包短信数据上发至短信网关,具体为:手机GetStatus事件周期内实时将交易信息缓存池子模块中的数据以二进制短信方式上发至短信网关。6.SIM卡支付应用脱机交易信息实时上报的系统,其特征在于包括: 交易监听模块:用于监听S頂卡支付应用的脱机支付应用,当支付应用余额变化时,记录交易信息并向背包短信上发模块提交脱机交易信息的数据; 背包短信上发模块:用于接收交易数据并进行格式化、组包、缓存,根据缓存的信息状态进行背包短信的上发,并根据短信的发送情况来清理缓存的信息。7.对于权利要求6所述的一种S頂卡支付应用脱机交易信息实时上报的系统,其特征在于所述背包短信上发模块包括: 交易信息缓存池子模块:用于保存交易监听模块提交的交易信息数据,同时对保存的数据进行组包和格式化形成背包短信数据; 数据短信上发子模块:用于注册手机的Get Status事件;当手机产生GetStatus指令时,数据短信上发子模块响应事件,执行检查交易信息缓存池子模块动作;如果交易信息缓存池子模块存在未发送的数据,则数据短信上发子模块将交易信息缓存池子模块中的背包短信数据上发至短信网关;如果不存在,则完成事件响应;短信发送成功后,数据短信上发子模块立即清空交易信息缓存池子模块,完成事件响应;若短信发送不成功,则仍然完成事件响应,在下一次Get Status事件发生时,重新发送。8.根据权利要求6所述的S頂卡支付应用脱机交易信息实时上报的系统,其特征在于所述背包短信为二进制短信。
【专利摘要】本发明涉及SIM卡支付应用脱机交易信息实时上报的方法和系统,方法包括:SIM卡的交易监听模块监听SIM卡内的离线支付应用;当余额变化时,记录交易信息并向背包短信上发模块提交实时交易信息的数据;背包短信上发模块接收数据并进行缓存,根据缓存的信息状态进行背包短信的上发,并根据背包短信的发送情况来清理缓存的信息。系统包括交易监听模块和背包短信上发模块;背包短信上发模块包括交易信息缓存池子模块和背包短信上发模块。本发明能达到对发行的带有手机支付应用的SIM卡的脱机交易使用情况的实时监控、数据采集以及必要统计目的,为SIM卡中的支付应用提供额外的安全保护和交易风险监控。
【IPC分类】H04W4/14, G06Q20/32, G06Q20/16
【公开号】CN105488668
【申请号】CN201410473232
【发明人】喻子蛟, 孙泽俊, 曹巍, 邱继红, 王启勇, 毛银华
【申请人】中国移动通信集团辽宁有限公司沈阳分公司, 沈阳新松机器人自动化股份有限公司, 上海柯斯软件股份有限公司
【公开日】2016年4月13日
【申请日】2014年9月16日