一. 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 包含两个组件:

订阅和应用内购买

可以使用 Google Play Developer API 实现以下方面的管理:

可以利用这些资源来查看购买状态,以及修改和取消周期性购买。

如需详细了解如何在 Android 应用中销售订阅,请参阅 Android 开发者网站上的 Google Play 应用内购买结算

 二. 两种验证Google Play 订单都要做的事情:

发起 API 调用之前,需要先为自己的 Google Play 开发者账号设置 API 权限。这涉及到在以下两个位置进行更改:Google Play 管理中心和 Google Cloud 控制台。下面的操作说明介绍了开始使用 Google Play Developer API 所需的步骤。

  1. 创建 Google Cloud 项目。
  2. 为 Google Cloud 项目启用 Google Play Developer API。
  3. 设置一个具有适当 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,请执行以下操作:

  1. 前往 Google Cloud 控制台中的 Google Play Developer API 页面
  2. 点击启用

三. 配置 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 管理中心创建服务账号

  1. 在 Google Cloud 控制台中,前往服务账号
  2. 点击创建服务账号,然后按照以下步骤进行操作。
  3. 前往 Google Play 管理中心的用户和权限页面。其实就是把申请邮箱作为一个测试用户添加到项目组中。
  4. 点击邀请新用户
  5. 在电子邮件地址字段中输入服务账号所用的电子邮件地址,并授予执行相关操作的必要权限。

    如需使用 Google Play 结算服务 API,您必须授予以下权限:其实可以直接给管理员权限

    • 查看财务数据、订单和用户取消订阅时对调查问卷的书面回复
    • 管理订单和订阅
  6. 点击邀请用户

  7. 回到Google Cloud后台找到刚才创建的服务账号,点击最右边三个点的更多,里面有个管理秘钥

  8. 点击管理秘钥进去后点击:添加秘钥--->创建私钥  可以选择JSON 也可以选择P12 

  9. 将创建好的Json或者P12文件放到后端中 进行订单校验了

此时,就可以通过服务账号访问 Google Play Developer API。如需了解详情,请参阅针对服务器对服务器应用使用 OAuth 2.0

下面是几个步骤的截图:

 

3.2 使用 OAuth 客户端:

借助 OAuth 客户端,可以允许用户使用自己的凭据通过 API 执行操作。用户可执行的操作仅限于通过 Google Play 管理中心的用户和权限页面允许的操作。

在创建 OAuth 客户端之前,需要为产品配置品牌信息。如需了解详情,请参阅设置 OAuth 权限请求页面

  1. 在 Google Cloud 控制台中,前往 OAuth 权限请求页面
  2. 按照相关步骤创建 OAuth 权限请求页面。

如需创建 OAuth 客户端,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往凭据
  2. 依次点击“创建凭据”>“OAuth 客户端 ID”。
  3. 选择应用类型,然后按照说明操作。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐