一种通过线上服务端保证苹果内购充值到账的方法及系统技术方案

技术编号:34915824 阅读:44 留言:0更新日期:2022-09-15 07:06
本发明专利技术提供了一种通过线上服务端保证苹果内购充值到账的方法,所述方法通过苹果系统提供的identifierForVendor方法获取到苹果应用的应用开发商标识符IDFV;开发者可以通过将IDFV上报给服务端,由服务端控制是否下单以及后续的充值来实现到帐控制。这样让用户在充值之后,能够准确的收到充值内容,提高用户体验。提高用户体验。提高用户体验。

【技术实现步骤摘要】
一种通过线上服务端保证苹果内购充值到账的方法及系统


[0001]本专利技术涉及应用开发
,特别是一种通过线上服务端保证苹果内购充值到账的方法及系统。

技术介绍

[0002]在苹果应用程序中,虚拟游戏币、虚拟商品等内容都是需要通过指定的苹果的系统库StoreKit实现InAppstorePurchase(用于给用户提供应用内购买商品的一个服务)。苹果内购信息验证所使用的服务器与国内服务器的连接存在有一定不稳定的情况,所以会出现多笔未校验成功的充值信息同时存在的情况,那么在特定情况下,就会出现不同账号的虫子信息存在。而在系统库StoreKit与苹果返回的交易信息中,是没有提供与返回任何可以进行透传的信息,即该笔充值信息是无法与充值的账号所匹配上的,那么将会出现充值的时候将游戏币充值到不同的账号,这样极度影响用户体验。

技术实现思路

[0003]为克服上述问题,本专利技术的目的是提供一种通过线上服务端保证苹果内购充值到账的方法,使得用户在使用苹果内购充值的时候,可以准确的将充值的内容发送到想要的游戏帐号上。
[0004]本专利技术采用以下方案实现:一种通过线上服务端保证苹果内购充值到账的方法,所述方法包括如下步骤:
[0005]步骤S1、通过苹果系统提供的identifierForVendor方法获取到苹果应用的应用开发商标识符IDFV;
[0006]步骤S2、在请求服务端创建订单的时候,将充值的帐号信息与所述应用开发商标识符IDFV传递给服务端;
[0007]步骤S3、服务端在创建订单号的时候,对步骤S2中传递的信息进行判断订单信息并返回成功创建的订单;
[0008]步骤S4、通过调用苹果系统库StoreKit对苹果应用进行充值;
[0009]步骤S5、苹果手机客户端会异步接受到充值成功返回的凭证,上报该凭证给服务端;
[0010]步骤S6、服务端通过上传的凭证找苹果服务器解析后获取到ios设备唯一标识符UniqueVendorIdentifier与所述应用开发商标识符IDFV进行对比,找到对应的订单记录并通过订单中的帐号信息实现充值内容到帐。
[0011]进一步的,所述步骤S2中将充值的帐号信息与所述应用开发商标识符IDFV传递给服务端,在传递时采用param参数进行传递,param参数中需要增加IDFV的值、帐号信息与商品id信息。
[0012]进一步的,所述步骤S3进一步具体包括:
[0013]步骤S31、在接收到传递的信息之后,服务端先使用传递的IDFV从订单表中获取所
有存在的订单信息,并从中筛选出所有未完成的订单;
[0014]步骤S32、如果未完成的订单中,存在与传递信息相同的订单时,则不创建订单号并同时将创建失败的信息返回给客户端;客户端接收到订单创建失败信息后,将通知玩家无法充值的情况;
[0015]步骤S33、如果创建订单成功后,将订单号返回给客户端,同时将订单状态设置为未完成。
[0016]进一步的,所述步骤S5进一步具体包括:步骤S51、如果接收到苹果系统库StoreKit返回充值失败的情况,需要上报此时的IDFV与商品id;
[0017]步骤S52、在接收到失败信息的时候,将此时的IDFV与商品id信息上报给服务端,服务端将会通过IDFV查询所有未完成的订单信息,并从中筛选出对应商品信息的订单,并将该订单信息状态设置为已完成;
[0018]步骤S53、客户端收到上传失败信息成功到服务端的消息时,告诉苹果系统此时也已完成交易事务,防止重复上报;
[0019]步骤S54、在接收到成功信息的时候,获取此时苹果系统返回的SKPaymentTransaction对象中的transactionData属性,并将transactionData内容传递给服务端;
[0020]步骤S55、在传递给服务端收到接收成功的返回消息之后,告诉苹果系统此时也已完成交易事务,防止重复上报。
[0021]进一步的,所述步骤S6进一步具体包括:在上报到服务端的内容中,将transactionData保存起来,以防止丢失,并使用获取到的transactionData内容传递给苹果系统对应凭证信息校验的地址,将获取到校验后的交易内容,将交易内容中的ios设备唯一标识符UniqueVendorIdentifier提取出来,通过提取的ios设备唯一标识符UniqueVendorIdentifier查询订单列表,并找到对应的下单信息,找到对应的订单记录并通过订单中的帐号信息实现充值内容到帐。
[0022]本专利技术还提供了一种通过线上服务端保证苹果内购充值到账的系统,所述系统包括:IDFV获取模块、传递信息模块、创建订单模块、充值模块、充值成功模块、以及解析匹配发货模块;
[0023]所述IDFV获取模块,通过苹果系统提供的identifierForVendor方法获取到苹果应用的应用开发商标识符IDFV;
[0024]所述传递信息模块,在请求服务端创建订单的时候,将充值的帐号信息与所述应用开发商标识符IDFV传递给服务端;
[0025]所述创建订单模块,通过服务端在创建订单号的时候,对传递的信息进行判断订单信息并返回成功创建的订单;
[0026]所述充值模块,通过调用苹果系统库StoreKit对苹果应用进行充值;
[0027]所述充值成功模块,通过苹果手机客户端异步接受到充值成功返回的凭证,上报该凭证给服务端;
[0028]所述解析匹配发货模块,服务端通过上传的凭证找苹果服务器解析后获取到ios设备唯一标识符UniqueVendorIdentifier与所述应用开发商标识符IDFV进行对比,找到对应的订单记录并通过订单中的帐号信息实现充值内容到帐。
[0029]进一步的,所述传递信息模块中将充值的帐号信息与所述应用开发商标识符IDFV传递给服务端,在传递时采用param参数进行传递,param参数中需要增加IDFV的值、帐号信息与商品id信息。
[0030]进一步的,所述创建订单模块的实现方式进一步具体包括:
[0031]步骤S31、在接收到传递的信息之后,服务端先使用传递的IDFV从订单表中获取所有存在的订单信息,并从中筛选出所有未完成的订单;
[0032]步骤S32、如果未完成的订单中,存在与传递信息相同的订单时,则不创建订单号并同时将创建失败的信息返回给客户端;客户端接收到订单创建失败信息后,将通知玩家无法充值的情况;
[0033]步骤S33、如果创建订单成功后,将订单号返回给客户端,同时将订单状态设置为未完成。
[0034]进一步的,所述充值成功模块的实现方式进一步具体包括:步骤S51、如果接收到苹果系统库StoreKit返回充值失败的情况,需要上报此时的IDFV与商品id;
[0035]步骤S52、在接收到失败信息的时候,将此时的IDFV与商品id信息上报给服务端,服务端将会通过IDFV查询所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过线上服务端保证苹果内购充值到账的方法,其特征在于:所述方法包括如下步骤:步骤S1、通过苹果系统提供的identifierForVendor方法获取到苹果应用的应用开发商标识符IDFV;步骤S2、在请求服务端创建订单的时候,将充值的帐号信息与所述应用开发商标识符IDFV传递给服务端;步骤S3、服务端在创建订单号的时候,对步骤S2中传递的信息进行判断订单信息并返回成功创建的订单;步骤S4、通过调用苹果系统库StoreKit对苹果应用进行充值;步骤S5、苹果手机客户端会异步接受到充值成功返回的凭证,上报该凭证给服务端;步骤S6、服务端通过上传的凭证找苹果服务器解析后获取到ios设备唯一标识符UniqueVendorIdentifier与所述应用开发商标识符IDFV进行对比,找到对应的订单记录并通过订单中的帐号信息实现充值内容到帐。2.根据权利要求1所述的一种通过线上服务端保证苹果内购充值到账的方法,其特征在于:所述步骤S2中将充值的帐号信息与所述应用开发商标识符IDFV传递给服务端,在传递时采用param参数进行传递,param参数中需要增加IDFV的值、帐号信息与商品id信息。3.根据权利要求1所述的一种通过线上服务端保证苹果内购充值到账的方法,其特征在于:所述步骤S3进一步具体包括:步骤S31、在接收到传递的信息之后,服务端先使用传递的IDFV从订单表中获取所有存在的订单信息,并从中筛选出所有未完成的订单;步骤S32、如果未完成的订单中,存在与传递信息相同的订单时,则不创建订单号并同时将创建失败的信息返回给客户端;客户端接收到订单创建失败信息后,将通知玩家无法充值的情况;步骤S33、如果创建订单成功后,将订单号返回给客户端,同时将订单状态设置为未完成。4.根据权利要求2所述的一种通过线上服务端保证苹果内购充值到账的方法,其特征在于:所述步骤S5进一步具体包括:步骤S51、如果接收到苹果系统库StoreKit返回充值失败的情况,需要上报此时的IDFV与商品id;步骤S52、在接收到失败信息的时候,将此时的IDFV与商品id信息上报给服务端,服务端将会通过IDFV查询所有未完成的订单信息,并从中筛选出对应商品信息的订单,并将该订单信息状态设置为已完成;步骤S53、客户端收到上传失败信息成功到服务端的消息时,告诉苹果系统此时也已完成交易事务,防止重复上报;步骤S54、在接收到成功信息的时候,获取此时苹果系统返回的SKPaymentTransaction对象中的transactionData属性,并将transactionData内容传递给服务端;步骤S55、在传递给服务端收到接收成功的返回消息之后,告诉苹果系统此时也已完成交易事务,防止重复上报。5.根据权利要求1所述的一种通过线上服务端保证苹果内购充值到账的方法,其特征在于:所述步骤S6进一步具体包括:在上报到服务端的内容中,将transactionData保存起
来,以防止丢失,并使用获取到的transactionData内容传递给苹果系统对应凭证信息校验的地址,将获取到校验后的交易内容,将交易内容中的ios设备唯一标识符UniqueVendorIdentifier提取出来,通过提取的ios设备唯一标识符UniqueVendorIdentifier查询订单列表,并找到对应的下单信息,找到对应的订单记录并通过订单中的帐号信息实现充值内容到帐。6.一种通过线上服务端保证苹果内购充值到账的系统,其特征在于:所述系统包括:IDFV获取模块、传递...

【专利技术属性】
技术研发人员:刘德建陈晋添包树枫陈庆良吴载俭郑瑞明刘威陈丽丽李佳
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1