一种IAP支付验证方法及系统技术方案

技术编号:36526698 阅读:17 留言:0更新日期:2023-02-01 16:06
本申请提供一种IAP支付验证方法及系统、计算设备和计算机可读存储介质,其中所述方法为基于客户端/服务器架构的系统在IAP支付的场景下设置了独立的支付服务器以用于对IAP支付的各个环节进行校验,使得客户端不再参与相关工作,提升了整个系统的安全性。其中,支付服务器根据业务服务器反馈给客户端的订单信息再次生成新的订单,当客户端根据订单完成支付并提交支付凭据时,对订单的唯一性以及订单与支付凭据的对应关系进行校验,防止客户端篡改订单与支付凭据的匹配关系;对于最常见的代充操作,进一步采取了从IAP服务器获取支付凭据的历史交易数据进行二次判断的校验方案。最后,在业务服务器发货之前,再次将计费点的金额与实际支付金额进行比较,防止在业务服务器处发生的风险,从而实现了一种完备的IAP支付验证方法。验证方法。验证方法。

【技术实现步骤摘要】
一种IAP支付验证方法及系统


[0001]本申请涉及计算机安全
,特别涉及一种IAP支付验证方法及系统、计算设备和计算机可读存储介质。

技术介绍

[0002]目前,在所有苹果iOS操作系统生态下的应用中购买虚拟商品时,都需要使用苹果公司提供的IAP(in

App Purchase,应用程序内购)支付方案,但是由于IAP支付方案本身存在一些限制,如用户信息去获取支付结果等,这导致这些缺陷被不法人员利用,造成了商家的大量损失。例如,客户端在支付时上报历史支付凭据,此凭据在很久之前已完成过支付;又例如,客户端上报已完成支付的凭据,但该凭据未向苹果校验且已经同时做了退款操作。由此可见在现有的IAP支付方案中,每一个环节都有可能出现隐患,因此亟需一种防护完备的IAP支付验证解决方案。

技术实现思路

[0003]有鉴于此,本申请实施例提供了一种IAP支付验证方法及系统、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
[0004]根据本申请实施例的第一方面,提供了一种IAP支付验证方法,包括:
[0005]客户端向业务服务器发起购买请求,业务服务器返回第一支付订单;所述第一支付订单包括订单的标识以及虚拟商品的描述信息;
[0006]客户端根据所述第一支付订单向支付服务器发起请求,支付服务器返回第二支付订单;
[0007]客户端根据所述第二支付订单向IAP服务器发起支付请求,完成支付后获取支付凭据;
[0008]客户端根据所述第二支付订单与所述支付凭据再次向支付服务器发起验证请求;
[0009]支付服务器根据所述支付凭据的IAP验证结果与所述第二支付订单进行支付校验,校验通过后通知所述业务服务器发货。
[0010]根据本申请实施例的第二方面,提供了一种IAP支付验证系统,包括:客户端、业务服务器和支付服务器,该系统用于执行所述IAP支付验证方法。
[0011]根据本申请实施例的第三方面,提供了一种支付服务器,包括:订单处理模块和第一、第二验证模块,用于对订单信息进行校验。
[0012]根据本申请实施例的第四方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述IAP支付验证方法的步骤。
[0013]根据本申请实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述IAP支付验证方法的步骤。
[0014]与现有技术相比,本申请实施例为基于客户端/服务器的商业系统提供了独立的
支付服务器,并在IAP支付场景的各个环节进行了全面的校验,能够识别出有风险的支付并及时拒绝,降低了支付风险以及降低了对提供该虚拟商品的商家的损失。
附图说明
[0015]图1是本申请实施例提供的计算设备的结构框图;
[0016]图2是本申请实施例提供的一种IAP支付验证方法的流程图示意图;
[0017]图3是本申请实施例提供的一种IAP支付验证系统的示意图以及工作序列示意图;
具体实施方式
[0018]在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
[0019]在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0020]应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。
[0021]在本申请中,提供了一种IAP支付验证方法及系统、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
[0022]图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
[0023]计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi

MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
[0024]在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0025]计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动
电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
[0026]其中,处理器120可以执行图2所示的一种IAP支付验证方法中的步骤,包括步骤202至步骤210。
[0027]步骤202:客户端向业务服务器发起购买请求,业务服务器返回第一支付订单。
[0028]在一种可行的实施方式中,用户在客户端上运行的APP中发起虚拟商品的购买请求,客户端将该请求发送到业务服务器。例如,用户在智能手机运行的游戏中点击购买道具的按钮,智能手机将购买请求发送到游戏服务器。
[0029]进一步的,该购买请求中包括虚拟商品的信息。游戏服务器接收到客户端发送的购买请求后,生成第一支付订单返回给客户端,其中,第一支付订单包括:第一支付订单的标识以及虚拟商品的描述信息。
[0030]步骤204:客户端根据第一支付订单向支付服务器发起请求,支付服务器返回第二支付订单。
[0031]在一种可行的实施方式中,客户端接收到业务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种IAP支付验证方法,其特征在于,包括:客户端向业务服务器发起购买请求,业务服务器返回第一支付订单;所述第一支付订单包括订单的标识以及虚拟商品的描述信息;客户端根据所述第一支付订单向支付服务器发起支付请求,支付服务器返回第二支付订单;所述第二支付订单包括订单的标识、应付费金额以及对应的计费点;客户端根据所述第二支付订单向IAP服务器发起支付,完成支付后获取支付凭据;客户端根据所述第二支付订单与所述支付凭据再次向支付服务器发起验证请求;支付服务器根据所述支付凭据的IAP验证结果与所述第二支付订单进行支付校验,校验通过后通知所述业务服务器发货。2.根据权利要求1所述的方法,其中,当支付服务器接收到客户端发送的第二支付订单与支付凭据时,对接收的第二支付订单和支付凭据的唯一性进行校验;并对接收的第二支付订单和支付凭据之间的对应关系进行验证。3.根据权利要求1所述的方法,其中,支付服务器根据所述支付凭据的IAP验证结果与所述第二支付订单进行支付校验包括:校验所述验证结果中的返回的状态Status是否正确;校验所述验证结果中的bundle_id与第二支付订单的bundle id是否一致;校验所述验证结果中的product_id与第二支付订单中的计费点是否匹配;校验所述验证结果中的original_transaction_id在支付服务器中是否唯一。4.根据权利要求3所述的方法,其中,支付服务器根据所述支付凭据的IAP验证结果与所述第二支付订单进行支付校验还包括:获取所述验证结果中的订单支付时间,判断该支付时间与第二支付订单中下单时间的先后顺序,若支付时间在下单时间之前则校验失败;从所述IAP服务器获取当前支付凭据的历史交易数据,根据历史交易数据判断该凭据是否已经进行了退款,若已经退款则校验失败。5.根据权利要求4所述的方法,其中,获取当前支付凭据的历史交易数据,根据历史交易数据判断该凭据是否已经进行了退款包括:获取所述验证结果的接收时间和凭据验证结果中的订单支付时间,当接收时间超过支付时间达到了预设值...

【专利技术属性】
技术研发人员:请求不公布姓名梁前武肖春天请求不公布姓名请求不公布姓名
申请(专利权)人:北京云游互动网络科技有限公司
类型:发明
国别省市:

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

1