本发明涉及IOS系统的支付
技术领域:
:,具体来讲是一种IOS(InternetworkOperatingSystem,互联网操作系统)应用内实现支付查询的方法及系统。
背景技术:
::随着移动互联网的快速发展,越来越多的IOS应用上架到AppStore(应用商店),并衍生出大量的虚拟产品,比如游戏应用内的虚拟道具、社交应用内的虚拟礼物等。由于苹果公司审核的限制,购买虚拟产品必须使用IAP(In-AppPurchase,苹果公司提供的应用内购买的支付购买方式)进行购买。为保护用户隐私,苹果公司不给产品提供商出具用户购买信息,也不追踪提供商是否发放商品。一旦用户购买的虚拟产品没有到账,与应用提供商出现分歧时,很难查询到用户是否真正购买了此虚拟产品,这无疑会给用户带来很多麻烦和问题,长此下去将会影响用户的购买欲。因此,如何在IOS应用内实现支付的查询是本领域技术人员亟待解决的问题。技术实现要素:本发明的目的是为了克服上述
背景技术:
:的不足,提供一种IOS应用内实现支付查询的方法及系统,能详细记录整个购买流程中的用户操作和购买信息,从而实现IOS应用内的支付查询,满足了用户的使用需求。为达到以上目的,本发明提供一种IOS应用内实现支付查询的方法,包括以下步骤:A、创建用于临时保存信息的一维可变数组,转入步骤B;B、当用户进入充值页时,生成用户充值信息并将其添加至创建的一维可变数组中,转入步骤C;C、监听用户点击事件,当用户选择商品时,生成所选商品信息并添加至创建的一维可变数组中;当用户确定购买商品时,生成购买商品信息并添加至创建的一维可变数组中,转入步骤D;D、将购买商品信息发送至AppStore应用商店服务器进行商品查询,同时生成商品查询信息并添加至创建的一维可变数组中;判断商品是否可以被购买,若是,转入步骤E;若否,生成购买失败信息并添加至创建的一维可变数组中,转入步骤G;E、待用户输入账号、密码进行支付操作后,监听AppStore应用商店服务器通知,判断用户是否支付成功,若是,转入步骤F;若否,生成购买失败信息并添加至创建的一维可变数组中,转入步骤G;F、生成订单信息并将其添加至创建的一维可变数组中,转入步骤G;G、将当前的一维可变数组中的所有数据上传至用户端服务器。在上述技术方案的基础上,步骤B中,生成的用户充值信息包括用户充值时间和用户进入充值页标记信息;步骤C中,生成的所选商品信息包括选择商品标示、选择商品的时间和所选商品的ID信息,生成的购买商品信息包括购买标示、购买商品的时间和购买商品的ID信息;步骤D中,生成的商品查询信息包括查询标示、查询时间和查询的商品ID信息;步骤D和E中,生成的购买失败信息包括购买失败标示、失败原因信息、购买商品的ID信息和购买失败时间;步骤F中,生成的订单信息包括购买成功标示、交易订单号、购买商品的ID信息和订单生成时间。在上述技术方案的基础上,在步骤F与步骤G之间,还包括订单验证操作:将订单信息发送至用户端服务器进行订单验证,同时生成订单验证信息并添加至创建的一维可变数组中;判断订单是否验证成功,若是,生成验证成功信息并将其添加至创建的一维可变数组中,转入步骤G;若否,生成验证失败信息并添加至创建的一维可变数组中,转入步骤G。在上述技术方案的基础上,订单验证操作中,生成的订单验证信息包括验证标示、交易订单号、购买商品的ID信息和验证时间,生成的验证成功信息包括验证成功标示、交易订单号、购买商品的ID信息和验证成功时间,生成的验证失败信息包括验证失败标示、验证失败原因信息、购买商品的ID信息、验证失败时间和交易订单号。在上述技术方案的基础上,该方法中,生成相应信息并添加至创建的一维可变数组中时,具体操作流程包括:使用可变字典函数NSMutableDictionary创建一个可变字典,将待生成的信息的相应内容添加到可变字典中,生成相应信息;再将该可变字典添加到创建的一维可变数组中。本发明还提供一种IOS应用内实现支付查询的系统,包括该系统包括可变数组创建模块、用户充值信息生成模块、购买监听模块、商品查询模块、支付判断模块、订单信息生成模块和数据上传模块;其中,所述可变数组创建模块用于:创建用于临时保存信息的一维可变数组;所述用户充值信息生成模块用于:当用户进入充值页时,生成用户充值信息并将其添加至创建的一维可变数组中;所述购买监听模块用于:监听用户点击事件,当用户选择商品时,生成所选商品信息并添加至创建的一维可变数组中,当用户确定购买商品时,生成购买商品信息并添加至创建的一维可变数组中,向商品查询模块发送查询信号;所述商品查询模块用于:收到查询信号后,将购买商品信息发送至AppStore应用商店服务器进行商品查询,同时生成商品查询信息并添加至创建的一维可变数组中,判断商品是否可以被购买,若是,向支付判断模块发送支付判断信号,若否,生成购买失败信息并添加至创建的一维可变数组中,并向数据上传模块发送上传信号;所述支付判断模块用于:收到支付判断信号后,待用户输入账号、密码进行支付操作后,监听AppStore应用商店服务器通知,判断用户是否支付成功,若是,向订单信息生成模块发送信息生成信号;若否,生成购买失败信息并添加至创建的一维可变数组中,并向数据上传模块发送上传信号;所述订单信息生成模块用于:收到信息生成信号后,生成订单信息并将其添加至创建的一维可变数组中,并向数据上传模块发送上传信号;所述数据上传模块用于:收到上传信号后,将当前的一维可变数组中的所有数据上传至用户端服务器。在上述技术方案的基础上,所述用户充值信息生成模块生成的用户充值信息包括用户充值时间和用户进入充值页标记信息;所述购买监听模块生成的所选商品信息包括选择商品标示、选择商品的时间和所选商品的ID信息,生成的购买商品信息包括购买标示、购买商品的时间和购买商品的ID信息;所述商品查询模块生成的商品查询信息包括查询标示、查询时间和查询的商品ID信息;所述商品查询模块和支付判断模块生成的购买失败信息包括购买失败标示、失败原因信息、购买商品的ID信息和购买失败时间;所述订单信息生成模块生成的订单信息包括购买成功标示、交易订单号、购买商品的ID信息和订单生成时间。在上述技术方案的基础上,该系统还包括订单验证模块,所述订单验证模块用于:将订单信息发送至用户端服务器进行订单验证,同时生成订单验证信息并添加至创建的一维可变数组中;判断订单是否验证成功,若是,生成验证成功信息并将其添加至创建的一维可变数组中,并向数据上传模块发送上传信号;若否,生成验证失败信息并添加至创建的一维可变数组中,并向所述数据上传模块发送上传信号。在上述技术方案的基础上,所述订单验证模块生成的订单验证信息包括验证标示、交易订单号、购买商品的ID信息和验证时间,生成的验证成功信息包括验证成功标示、交易订单号、购买商品的ID信息和验证成功时间,生成的验证失败信息包括验证失败标示、验证失败原因信息、购买商品的ID信息、验证失败时间和交易订单号。在上述技术方案的基础上,该系统中,各模块生成相应信息并添加至创建的一维可变数组中的具体操作流程为:使用可变字典函数NSMutableDictionary创建一个可变字典,将待生成的信息的相应内容添加到可变字典中,生成相应信息;再将该可变字典添加到创建的一维可变数组中。本发明的有益效果在于:本发明提供了一种IOS应用内进行支付查询的的实现方法,能监控用户购买虚拟产品的各种行为和IAP支付流程,从用户进入购买页面到购买流程结束,详细记录用户操作和购买信息,最终将信息上传至用户端服务器以供查询使用。为减少用户端服务器压力,本发明使用创建的一维可变数组先保存各项信息记录,等操作完成后再上传。通过本发明,当用户反馈购买后未发放相应虚拟商品时,可以通过查询用户端服务器数据,准确找到用户购买的时间和失败的原因,方便商家处理补单事宜及解决购物分歧,满足了用户及商家的使用需求,用户体验佳。附图说明图1为本发明实施例中IOS应用内实现支付查询的方法流程图;图2为本发明实施例中IOS应用内实现支付查询的系统的结构框图。具体实施方式下面结合附图及具体实施例对本发明作进一步的详细描述。参见图1所示,本发明实施例提供一种IOS应用内实现支付查询的方法,包括以下步骤:步骤S1:为减少因频繁上传数据对用户端服务器造成压力,使用可变对象数组函数NSMutableArray创建一维可变数组,用于临时保存信息,转入步骤S2。步骤S2:当用户进入充值页时,生成用户充值信息并将其添加至创建的一维可变数组中,转入步骤S3;其中,所述用户充值信息包括用户充值时间和用户进入充值页标记信息等。可以理解的是,实际操作时,生成用户充值信息并将其添加至创建的一维可变数组中,具体包括以下流程:使用可变字典函数NSMutableDictionary创建一个可变字典(此处“字典”表示编程中用于存储数据的容器结构,“可变字典”表示该存储结构中的对象为可变对象,其可使用key-value键值对的形式存储数据),将用户充值时间和用户进入充值页标记信息添加到可变字典中生成用户充值信息;再将该可变字典添加到创建的一维可变数组中。通过可变字典进行信息的生成和添加,可有效提高数据存储的可靠性,避免信息添加时出错;还可有效降低对可变数组的读写次数,提高效率。步骤S3:监听用户点击事件,当用户选择商品时,生成所选商品信息并添加至创建的一维可变数组中;当用户确定购买商品时,生成购买商品信息并添加至创建的一维可变数组中,转入步骤S4。其中,所选商品信息包括选择商品标示、选择商品的时间和所选商品的ID(Identifier,标识符)信息;购买商品信息包括购买标示、购买商品的时间和购买商品的ID信息。同样可以理解的是,步骤S3中,生成所选商品信息、购买商品信息并添加至创建的一维可变数组中时,其具体操作过程均与步骤S2中生成用户充值信息并将其添加至创建的一维可变数组的过程一致,此处不再赘述。步骤S4:将购买商品信息发送至AppStore应用商店服务器进行商品查询,同时生成商品查询信息并添加至创建的一维可变数组中;判断商品是否可以被购买,若是,转入步骤S5;若否,生成购买失败信息并添加至创建的一维可变数组中,转入步骤S9。其中,商品查询信息包括查询标示、查询时间和查询的商品ID信息;购买失败信息包括购买失败标示、失败原因信息、购买商品的ID信息和购买失败时间。同样可以理解的是,步骤S4中,生成商品查询信息或购买失败信息并添加时,其具体操作过程均与步骤S2中生成用户充值信息并将其添加至创建的一维可变数组的过程一致,此处不再赘述。步骤S5:待用户输入账号、密码进行支付操作后,监听AppStore应用商店服务器通知,判断用户是否支付成功,若是,转入步骤S6;若否,生成购买失败信息并添加至创建的一维可变数组中,转入步骤S9。步骤S6:生成订单信息并将其添加至创建的一维可变数组中,转入步骤S7。其中,订单信息包括购买成功标示、交易订单号、购买商品的ID信息和订单生成时间。同样可以理解的是,步骤S6中,生成订单信息并将其添加至创建的一维可变数组中时,其具体操作过程与步骤S2中生成用户充值信息并将其添加至创建的一维可变数组的过程一致,此处不再赘述。步骤S7:将订单信息发送至用户端服务器进行订单验证,同时生成订单验证信息并添加至创建的一维可变数组中;判断订单是否验证成功,若是,转入步骤S8;若否,生成验证失败信息并添加至创建的一维可变数组中,转入步骤S9。其中,订单验证信息包括验证标示、交易订单号、购买商品的ID信息和验证时间;验证失败信息包括验证失败标示、验证失败原因信息、购买商品的ID信息、验证失败时间和交易订单号。同样可以理解的是,步骤S7中,生成订单验证信息、验证失败信息并添加时,其具体操作过程均与步骤S2中生成用户充值信息并将其添加至创建的一维可变数组的过程一致,此处不再赘述。步骤S8:生成验证成功信息并将其添加至创建的一维可变数组中,转入步骤S9。其中,验证成功信息包括验证成功标示、交易订单号、购买商品的ID信息和验证成功时间。同样可以理解的是,步骤S8中,生成验证成功信息并将其添加至创建的一维可变数组中时,其具体操作过程与步骤S2中生成用户充值信息并添加至创建的一维可变数组的过程一致,此处不再赘述。步骤S9:将当前的一维可变数组中的所有数据上传至用户端服务器,转入步骤S10。步骤S10:用户端服务器根据上传的数据实现支付查询,结束。参见图2所示,本发明实施例还提供一种IOS应用内实现支付查询的系统,该系统包括可变数组创建模块、用户充值信息生成模块、购买监听模块、商品查询模块、支付判断模块、订单信息生成模块和数据上传模块。其中,可变数组创建模块用于:创建用于临时保存信息的一维可变数组;用户充值信息生成模块用于:当用户进入充值页时,生成用户充值信息并将其添加至创建的一维可变数组中;购买监听模块用于:监听用户点击事件,当用户选择商品时,生成所选商品信息并添加至创建的一维可变数组中;当用户确定购买商品时,生成购买商品信息并添加至创建的一维可变数组中;向商品查询模块发送查询信号;商品查询模块用于:收到查询信号后,将购买商品信息发送至AppStore应用商店服务器进行商品查询,同时生成商品查询信息并添加至创建的一维可变数组中;判断商品是否可以被购买,若是,向支付判断模块发送支付判断信号;若否,生成购买失败信息并添加至创建的一维可变数组中,并向数据上传模块发送上传信号;支付判断模块用于:收到支付判断信号后,待用户输入账号、密码进行支付操作后,监听AppStore应用商店服务器通知,判断用户是否支付成功,若是,向订单信息生成模块发送信息生成信号;若否,生成购买失败信息并添加至创建的一维可变数组中,并向数据上传模块发送上传信号;订单信息生成模块用于:收到信息生成信号后,生成订单信息并将其添加至创建的一维可变数组中,向数据上传模块发送上传信号;数据上传模块用于:收到上传信号后,将当前的一维可变数组中的所有数据上传至用户端服务器。更进一步的,为了更好的确保订单信息的正确性,保障用户利益,该系统还包括订单验证模块,所述订单验证模块用于:将订单信息发送至用户端服务器进行订单验证,同时生成订单验证信息并添加至创建的一维可变数组中;判断订单是否验证成功,若是,生成验证成功信息并将其添加至创建的一维可变数组中,并向数据上传模块发送上传信号;若否,生成验证失败信息并添加至创建的一维可变数组中,并向数据上传模块发送上传信号。需要说明的是:上述实施例提供的系统在进行操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。本发明不局限于上述实施方式,对于本
技术领域:
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。当前第1页1 2 3 当前第1页1 2 3