一种通过StoreKit2库保证苹果内购充值的方法及系统技术方案

技术编号:36881196 阅读:66 留言:0更新日期:2023-03-15 21:10
本发明专利技术提供了一种通过StoreKit2库保证苹果内购充值的方法,该方法为:使用用户id生成UUID格式的字符串作为充值关联凭证;在客户端请求服务端创建订单时,将充值的用户帐号信息与所述UUID格式的字符串作为账户标记accountToken传递给服务端;通过调用苹果系统库StoreKit2并传递UUID格式的字符串作为应用程序账户标记appAccountToken进行苹果充值;在充值完成后,客户端会异步接受到充值完成返回的凭证号,上报凭证号给服务端;通过生成appAccountToken并上报给服务端,由服务端控制是否下单以及后续的充值来实现到帐控制;这样能够准确的收到充值内容,提高用户体验。提高用户体验。提高用户体验。

【技术实现步骤摘要】
一种通过StoreKit2库保证苹果内购充值的方法及系统


[0001]本专利技术涉及静态库开发
,特别是一种通过StoreKit2库保证苹果内购充值的方法及系统。

技术介绍

[0002]在苹果应用程序中,虚拟游戏币、虚拟商品等内容都是需要通过指定的苹果的系统库StoreKit实现应用内购买InAppstorePurchase。苹果内购信息验证所使用的服务器与国内服务器的连接存在有一定不稳定的情况,所以会出现多笔未校验成功的充值信息同时存在的情况,那么在特定情况下,就会出现不同账号的充值信息存在。而在旧版的StoreKit与苹果返回的交易信息中,是没有提供与返回任何可以进行透传的信息,即该笔充值信息是无法与充值的账号所匹配上的,那么将会出现充值的时候将游戏币充值到不同的账号。极度影响用户体验。
[0003]其中,StoreKit提供了一种既简单又安全的方式来在所有Apple平台上购买您App中的数字商品或服务,用户能即刻开始娱乐、游戏、阅读等活动。StoreKit 2使用基于Swift的新式API,能够更加轻松地提供出色的App内购买项目体验。即StoreKit为旧版的,StoreKit 2为新版。StoreKit 2新特性主要包含三部分:StoreKit 2:关于在App里API的更新和变化,包含应用内更改订阅、退款等;Server to Server:苹果服务器与开发者服务器之间的通讯,包括苹果通知、开发者主动请求苹果服务器、新的验证收据流程等;Sandbox Test:关于沙盒测试环境相关的更新,还有一些注意事件等。

技术实现思路

[0004]为克服上述问题,本专利技术的目的是提供一种通过StoreKit2库保证苹果内购充值的方法,让用户在充值之后,能够准确的收到充值内容,提高用户体验。
[0005]本专利技术采用以下方案实现:一种通过StoreKit2库保证苹果内购充值的方法,所述方法包括如下步骤:步骤S1、使用用户id生成UUID格式的字符串作为充值关联凭证;
[0006]步骤S2、在客户端请求服务端创建订单时,将充值的用户帐号信息与所述UUID格式的字符串作为账户标记accountToken传递给服务端;
[0007]步骤S3、服务端在创建订单号时,判断传递的用户账号信息是否正确,否,则结束流程;是,则返回成功创建的订单;
[0008]步骤S4、通过调用苹果系统库StoreKit2并传递UUID格式的字符串作为应用程序账户标记appAccountToken进行苹果充值;
[0009]步骤S5、在充值完成后,客户端会异步接受到充值完成返回的凭证号,上报凭证号给服务端;
[0010]步骤S6、服务端通过所述凭证号找苹果服务器获取到凭证信息,并在凭证信息中获取到应用程序账户标记appAccountToken与所述的账户标记accountToken进行对比是否相同,否,则关闭订单交易结束流程;是,进入步骤S7;
[0011]步骤S7、根据凭证信息找到对应的订单记录并通过订单中的用户帐号信息实现充值内容到帐。
[0012]进一步的,所述步骤S1中使用用户id生成UUID格式的字符串具体为:通过将用户id转为hex字符串,并按照UUID格式进行填充来得到UUID格式的字符串。
[0013]进一步的,所述步骤S6进一步具体为:步骤S61、服务端通过凭证号调用苹果接口获取所有未完成的凭证信息;
[0014]步骤S62、在获取到所有未完成的凭证信息后,将所有凭证信息解析出来,对比每条凭证信息中的凭证号与上报的凭证号是否相同;
[0015]步骤S63、在获取到相同凭证号的凭证信息后,保存凭证信息并返回客户端成功,并进行充值内容操作;
[0016]步骤S64、在访问苹果超时时,需要返回客户端等待,让客户端不关闭此次交易,等待后续的轮询再次上报凭证号;
[0017]步骤S65、在访问苹果发现凭证有异常时,需要返回客户端失败,让客户端关闭此次交易。
[0018]本专利技术还提供了一种通过StoreKit2库保证苹果内购充值的系统,所述系统包括:字符串生成模块、传递信息模块、创建订单模块、充值模块、充值完成模块、凭证获取与解析模块、以及发货模块;
[0019]所述字符串生成模块,使用用户id生成UUID格式的字符串作为充值关联凭证;
[0020]所述传递信息模块,在客户端请求服务端创建订单时,将充值的用户帐号信息与所述UUID格式的字符串作为账户标记accountToken传递给服务端;
[0021]所述创建订单模块,服务端在创建订单号时,判断传递的用户账号信息是否正确,否,则结束流程;是,则返回成功创建的订单;
[0022]所述充值模块,通过调用苹果系统库StoreKit2并传递UUID格式的字符串作为应用程序账户标记appAccountToken进行苹果充值;
[0023]所述充值完成模块,在充值完成后,客户端会异步接受到充值完成返回的凭证号,上报凭证号给服务端;
[0024]所述凭证获取与解析模块,服务端通过所述凭证号找苹果服务器获取到凭证信息,并在凭证信息中获取到应用程序账户标记appAccountToken与所述的账户标记accountToken进行对比是否相同,否,则关闭订单交易结束流程;是,执行发货模块;
[0025]所述发货模块,根据凭证信息找到对应的订单记录并通过订单中的用户帐号信息实现充值内容到帐。
[0026]进一步的,所述字符串生成模块中使用用户id生成UUID格式的字符串具体为:通过将用户id转为hex字符串,并按照UUID格式进行填充来得到UUID格式的字符串。
[0027]进一步的,所述凭证获取与解析模块的实现方式进一步具体为:服务端通过凭证号调用苹果接口获取所有未完成的凭证信息;
[0028]在获取到所有未完成的凭证信息后,将所有凭证信息解析出来,对比每条凭证信息中的凭证号与上报的凭证号是否相同;
[0029]在获取到相同凭证号的凭证信息后,保存凭证信息并返回客户端成功,并进行充值内容操作;
[0030]在访问苹果超时时,需要返回客户端等待,让客户端不关闭此次交易,等待后续的轮询再次上报凭证号;
[0031]在访问苹果发现凭证有异常时,需要返回客户端失败,让客户端关闭此次交易。
[0032]本专利技术的有益效果在于:在苹果内购项目开发过程中,经常会出现充值信息与下单帐号不匹配的情况,会导致用户充值的帐号收不到充值内容,而没进行成功充值的帐号反而收到了充值内容。本专利技术则让用户在充值之后,能够准确的收到充值内容,提高用户体验。
附图说明
[0033]图1是本专利技术的方法流程示意图。
[0034]图2是本专利技术系统的原理框图。
具体实施方式
[0035]下面结合附图对本专利技术做进一步说明。
[0036]请参阅图1所示,本专利技术的一种通过StoreKit2库保证苹果内购充值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过StoreKit2库保证苹果内购充值的方法,其特征在于:所述方法包括如下步骤:步骤S1、使用用户id生成UUID格式的字符串作为充值关联凭证;步骤S2、在客户端请求服务端创建订单时,将充值的用户帐号信息与所述UUID格式的字符串作为账户标记accountToken传递给服务端;步骤S3、服务端在创建订单号时,判断传递的用户账号信息是否正确,否,则结束流程;是,则返回成功创建的订单;步骤S4、通过调用苹果系统库StoreKit2并传递UUID格式的字符串作为应用程序账户标记appAccountToken进行苹果充值;步骤S5、在充值完成后,客户端会异步接受到充值完成返回的凭证号,上报凭证号给服务端;步骤S6、服务端通过所述凭证号找苹果服务器获取到凭证信息,并在凭证信息中获取到应用程序账户标记appAccountToken与所述的账户标记accountToken进行对比是否相同,否,则关闭订单交易结束流程;是,进入步骤S7;步骤S7、根据凭证信息找到对应的订单记录并通过订单中的用户帐号信息实现充值内容到帐。2.根据权利要求1所述的一种通过StoreKit2库保证苹果内购充值的方法,其特征在于:所述步骤S1中使用用户id生成UUID格式的字符串具体为:通过将用户id转为hex字符串,并按照UUID格式进行填充来得到UUID格式的字符串。3.根据权利要求1所述的一种通过StoreKit2库保证苹果内购充值的方法,其特征在于:所述步骤S6进一步具体为:步骤S61、服务端通过凭证号调用苹果接口获取所有未完成的凭证信息;步骤S62、在获取到所有未完成的凭证信息后,将所有凭证信息解析出来,对比每条凭证信息中的凭证号与上报的凭证号是否相同;步骤S63、在获取到相同凭证号的凭证信息后,保存凭证信息并返回客户端成功,并进行充值内容操作;步骤S64、在访问苹果超时时,需要返回客户端等待,让客户端不关闭此次交易,等待后续的轮询再次上报凭证号;步骤S65、在访问苹果发现凭证有异常时,需要返回客户端失败,让客户端关闭此次交易。4.一种通过StoreKit2库保证苹果内购充值的系统,其特征在于:所述...

【专利技术属性】
技术研发人员:刘德建陈晋添陈庆良包树枫郑瑞明陈威陈丽丽陈丛亮樊小龙赖梦清刘威吴载俭吴泽铭肖禹张爱民蔡芳壬
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

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

1