2024年最新:服务端验证Google Pay订单的两种方式(使用Google Play Developer API)
服务端验证Google Pay订单的两种方式(使用Google Play Developer API)
一. Google Pay主要支付流程:
1.手机端向服务端发起支付,生成预订单,给手机端返回生成的订单号
2.手机端向Google发起支付(传入本地服务器生成的订单号)
3.Google服务器将支付结果返回给手机端(因这边用到的是消耗型的产品,所以购买后必须要通知gp我已经消耗了这次交易)
4.手机端向服务端发送校验请求,校验通过后即可处理订单(服务端重试校验,发货,保证订单正常发货成功)
当客户端支付成功后,客户端将支付订单的token 传给服务端,服务端进行再次校验,服务端校验订单有两种方式:
1.服务账号:由安全的软件服务访问 API(最常见)
2.OAuth 客户端:由用户访问 API
其实这两种方式都是依赖于:Google Play Developer API
Google Play Developer API
可以使用 Google Play Developer API 执行多项发布和应用管理任务。该 API 包含两个组件:
- 利用 Subscriptions and In-App Purchases API,可以管理应用内购买和订阅。
- 利用 Publishing API,可以上传和发布应用,以及执行其他发布相关的任务。
订阅和应用内购买
可以使用 Google Play Developer API 实现以下方面的管理:
可以利用这些资源来查看购买状态,以及修改和取消周期性购买。
如需详细了解如何在 Android 应用中销售订阅,请参阅 Android 开发者网站上的 Google Play 应用内购买结算。
二. 两种验证Google Play 订单都要做的事情:
发起 API 调用之前,需要先为自己的 Google Play 开发者账号设置 API 权限。这涉及到在以下两个位置进行更改:Google Play 管理中心和 Google Cloud 控制台。下面的操作说明介绍了开始使用 Google Play Developer API 所需的步骤。
- 创建 Google Cloud 项目。
- 为 Google Cloud 项目启用 Google Play Developer API。
- 设置一个具有适当 Google Play 管理中心权限的服务账号,以便访问 Google Play Developer API。
创建 Google Cloud 项目
如果已有要使用的 Google Cloud 项目,则可跳过此步骤。
在 Google Cloud 控制台中创建项目。
如需进一步了解 Google Cloud 项目,请参阅创建和管理项目。
启用 API
在设置完 Google Cloud 项目后,您需要为此项目启用 Google Play Developer API。
若要启用 Google Play Developer API,请执行以下操作:
- 前往 Google Cloud 控制台中的 Google Play Developer API 页面。
- 点击启用。
三. 配置 OAuth 和服务账号
使用 OAuth 客户端或服务账号配置对 Google Play Developer API 的访问权限。在大多数情况下,使用服务账号来访问 API。
服务账号必须在安全环境(例如我们自己的服务器)中使用。需妥善管理服务账号凭据,避免将其泄露给任何无权使用该 API 的人。
如果需要代表个人用户访问该 API,应使用 OAuth 客户端 ID。例如,如果网站需要代表用户从网页客户端访问 Google Play Developer API,那么可以使用客户端 ID。系统会使用用户的 Google 账号(而不是服务账号)对其进行身份验证。这样,就可以代表用户进行 API 调用,而不会影响服务账号凭据的安全。
- 服务账号:由安全的软件服务访问 API(最常见)
- OAuth 客户端:由用户访问 API
3.1 通过 Google Play 管理中心创建服务账号。
- 在 Google Cloud 控制台中,前往服务账号。
- 点击创建服务账号,然后按照以下步骤进行操作。
- 前往 Google Play 管理中心的用户和权限页面。其实就是把申请邮箱作为一个测试用户添加到项目组中。
- 点击邀请新用户。
-
在电子邮件地址字段中输入服务账号所用的电子邮件地址,并授予执行相关操作的必要权限。
如需使用 Google Play 结算服务 API,您必须授予以下权限:其实可以直接给管理员权限
- 查看财务数据、订单和用户取消订阅时对调查问卷的书面回复
- 管理订单和订阅
-
点击邀请用户。
-
回到Google Cloud后台找到刚才创建的服务账号,点击最右边三个点的更多,里面有个管理秘钥
-
点击管理秘钥进去后点击:添加秘钥--->创建私钥 可以选择JSON 也可以选择P12
-
将创建好的Json或者P12文件放到后端中 进行订单校验了
此时,就可以通过服务账号访问 Google Play Developer API。如需了解详情,请参阅针对服务器对服务器应用使用 OAuth 2.0。
下面是几个步骤的截图:
3.2 使用 OAuth 客户端:
借助 OAuth 客户端,可以允许用户使用自己的凭据通过 API 执行操作。用户可执行的操作仅限于通过 Google Play 管理中心的用户和权限页面允许的操作。
在创建 OAuth 客户端之前,需要为产品配置品牌信息。如需了解详情,请参阅设置 OAuth 权限请求页面。
- 在 Google Cloud 控制台中,前往 OAuth 权限请求页面。
- 按照相关步骤创建 OAuth 权限请求页面。
如需创建 OAuth 客户端,请执行以下操作:
- 在 Google Cloud 控制台中,前往凭据。
- 依次点击“创建凭据”>“OAuth 客户端 ID”。
- 选择应用类型,然后按照说明操作。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)