干货-Google支付后台验证操作流程【业务后台-GP后台流程】

2024-09-04 17:58

本文主要是介绍干货-Google支付后台验证操作流程【业务后台-GP后台流程】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        整个开发背景是前端在调用完google play支付流程后,需要后台验证支付结果以及在自己的服务生成订单相关信息。

由此着手对google后台验证的调研,首先官方流程:
点我查看官方流程

整个操作流程如下:

1、在开发者后台中启用Google Play Android Developer项目
Google Play Android Developer项目
2、在Google APIS中选择Google Play Android Developer项目–【凭据】–【OAuth同意屏幕】

注:只要填入信息即可,无需验证,但一定要添加【域名(已获授权的网域)】

例如:使用这个地址比较好,请求成功率高

http://localhost:8080

在这里插入图片描述
3、创建OAuth客户端凭据
在这里插入图片描述

4、创建好Oauth客户端ID后管理者用项目最高权限的GP账号登录,访问:

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=http://localhost:8080&client_id=123122121

复制链接后将下面的两个参数value修改成分配的正确值即可

redirect_uri=已授权的重定向URI(建议使用:http://localhost:8080)
client_id=google分配的客户端ID

以上链接登录成功后,会在浏览器的地址栏中显示code,只要拿出code的值即可:
在这里插入图片描述

注:有链接会被转义,比如/会被转成%2F,就如以上参数值,copy下来后手动改一下:
Code=4/bAEGOfkpDnG5hhtv8E7FSkKPp-oFVQpTPeg8l_jWjKQd5BaOviZLyimEywJR9ptEoFtRqb95sZh4yXfRLI81BbM

Tip:文中所提到的模拟数字含义:

123122121=client_id=客户端 ID
123456789=client_secret=客户端密钥

在这里插入图片描述
5、获取到code后发送post请求,以下POST请求实例以postman工具来进行操作

注:一定要按步骤来才能到发post请求这一步

请求头Content-Type = application/x-www-form-urlencoded 以表单的形式传参

请求以下接口获得refresh_token:

https://accounts.google.com/o/oauth2/token

注:只有在第一次请求时会返回refresh_token,之后将不会返回了,所以在获得返回的refresh_token后,请妥善保存此token。以后的请求中都不会再出现,对于当前创建的凭证账号是唯一且永久有效的,可以存放到配置文件(或者写到数据库),以备后用

参数:

grant_type=authorization_code为固定值
code=第4步中获取到的code值,
client_id=客户端ID,(123122121)
client_secret=客户端密钥,(123456789)
redirect_url=重定向链接(http://localhost:8080)

注:返回结果中的expires_in是指access_token的时效,为3600秒

在这里插入图片描述

第一次请求会获得refresh_token,妥善保存

6、携带refresh_token可获取access_token,POST请求访问

请求头Content-Type = application/x-www-form-urlencoded 以表单的形式传参

再次请求以下接口时只会获得access_token:

https://accounts.google.com/o/oauth2/token

参数:

grant_type=refresh_token为固定值,
client_id=客户端ID,(123122121)
client_secret=客户端密钥,(123456789)
refresh_token=第5步中获取到的refresh_token值,

在这里插入图片描述
7、验证:GET请求
请求以下接口时查询获得商品信息:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{purchaseToken}?access_token=access_token

上面的http请求中的参数信息需要修改为以下内容:

packageName=需要查询的应用ID(包名、gradle中的applicationId )
productId=开发者后台中创建好的商品ID
purchaseToken=订单中purchaseToken
access_token=第6步中获得的access_token
注:如果客户端是用V2API进行支付的,直接使用上方链接即可,如果是v3api时,需要将链接中的v2改成v3,否则查询失败

返回数据:
在这里插入图片描述
到这里就结束了,把流程梳理好后,做起来就不难了,大家喜欢这篇文章的话,可以麻烦点个赞和加个关注咩?,我也希望这篇文章能够帮助更多的小伙伴。但是有一点要说明哦,

码字不容易哦,如果要收藏啥的,转发时请麻烦标明出处

这篇关于干货-Google支付后台验证操作流程【业务后台-GP后台流程】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136633

相关文章

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

使用Python在PDF中绘制多种图形的操作示例

《使用Python在PDF中绘制多种图形的操作示例》在进行PDF自动化处理时,人们往往首先想到的是文本生成、图片嵌入或表格绘制等常规需求,然而在许多实际业务场景中,能够在PDF中灵活绘制图形同样至关重... 目录1. 环境准备2. 创建 PDF 文档与页面3. 在 PDF 中绘制不同类型的图形python

Java 操作 MinIO详细步骤

《Java操作MinIO详细步骤》本文详细介绍了如何使用Java操作MinIO,涵盖了从环境准备、核心API详解到实战场景的全过程,文章从基础的桶和对象操作开始,到大文件分片上传、预签名URL生成... 目录Java 操作 MinIO 全指南:从 API 详解到实战场景引言:为什么选择 MinIO?一、环境