2024年最新:服务端验证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 包含两个组件:

订阅和应用内购买

可以使用 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. 选择应用类型,然后按照说明操作。
  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 使用多线程方式实现TCP套接字编程,可以让服务端同时接收多个客户端的通信。每当有一个客户端连接到服务端时,服务端就会创建一个新的线程来处理该客户端的请求。这样,服务端就可以同时处理多个客户端的请求,提高了系统的并发性能。同时,需要注意线程安全问题,避免多个线程同时访问共享资源导致的数据竞争问题。 ### 回答2: TCP套接字编程是基于传输层的一种通讯方式,在进行通讯时需要使用socket()函数来创建一个套接字。TCP套接字编程中,服务端与客户端之间的通讯是单向的,需要通过不同的套接字进行分别的通讯。为了能够同时接收多个客户端的通讯,需要使用多线程方式来实现。 使用多线程方式实现TCP套接字编程,需要将服务端的主线程用来接收客户端的请求并创建子线程来处理每个客户端的通讯。首先,服务端需要创建一个主线程来监听客户端的连接请求并创建子线程。当客户端连接到服务端时,主线程会接收并将客户端的socket描述符传递给新创建的子线程。子线程根据接收到的客户端socket描述符进行通讯,并在通讯完成后关闭该socket。主线程则继续监听其他客户端的连接请求。 使用多线程方式实现TCP套接字编程可以提高程序的并发性能,可以同时处理多个客户端的通讯请求,有效地减少了客户端之间的等待时间。同时也减轻了主线程的工作压力,避免了服务端因为并发请求太多而崩溃的情况。 在使用多线程方式实现TCP套接字编程时,需要注意线程之间的同步问题,避免出现多个线程同时操作同一个资源而导致数据错误的问题。正确地使用锁等同步机制可以保证线程之间的协作顺利进行,提高程序的可靠性和稳定性。 总之,使用多线程方式实现TCP套接字编程能够极大地提高程序的并发性能,更好地满足客户端的通讯需求。同时,需要注意线程之间的同步问题,保证程序的可靠性和稳定性。 ### 回答3: TCP套接字编程通常涉及到两个主要方面,即服务端和客户端。多线程方式在TCP套接字编程中的作用主要是提高服务端的处理效率和提高并发性,服务端能够同时接收多个客户端的通信。 在多线程方式下,服务端通过一个主线程来监听客户端的连接请求。一旦有客户端发起连接请求,服务端主线程就会创建一个新的线程来处理该客户端的连接请求。这个新的线程负责接收该客户端的数据,然后将其回传给该客户端,并且保持连接状态。同时,服务端的主线程继续监听其他客户端的连接请求。 使用多线程方式实现TCP套接字编程的主要好处是可以提高并发性,同时能够更快地响应客户端请求。对于服务端来说,每个客户端连接会创建一个新的线程,这个线程专门负责处理该连接的所有数据。因此,在多线程方式下,服务端可以同时处理多个客户端请求,而不必等待某个客户端完成一个请求后再处理下一个请求。 另外,使用多线程的方式还可以更快地响应客户端请求。在单线程模型下,如果某个客户端的请求需要一定的时间才能得到响应,那么后续所有请求都必须等待这个请求完成后才能得到响应。但是,使用多线程方式,每个连接都有自己的线程,因此,在处理某个客户端请求的同时,其他客户端的请求可以在不受影响的情况下继续得到响应。这可以提高整个系统的响应速度。 综上所述,使用多线程方式实现TCP套接字编程的主要好处是可以提高服务端的处理效率和提高并发性。通过多线程方式服务端可以同时处理多个客户端请求,从而更快地响应客户端请求。这将提高整个系统的性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张海龙_China

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值