谷歌pay服务端文档_google支付后台验证操作流程
整个开发背景是前端在调用完google play支付流程后,需要后台验证支付结果以及在自己的服务生成订单相关信息。由此着手对google后台验证的调研,首先官方流程:
https://developers.google.com/android-publisher/authorization
下面我将已网上原有贴复制+自己手动截图的形式详细描述下整个操作流程:
实现步骤
1.管理者用项目最高权限的GP账号登录,访问https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=https://www.example.com/oauth2callback&client_id=123456789 获得code,保存此code(4/SIIu58MuX3Ixuea-FJPo3rgg3x5LIDyadb8MzztPV7c#)
2.迅速访问,请注意是在步骤1后迅速访问。POST请求,https://accounts.google.com/o/oauth2/token?grant_type=authorization_code&code=4/SIIu58MuX3Ixuea-FJPo3rgg3x5LIDyadb8MzztPV7c#&client_id=123456789&client_secret=123456789&redirect_uri=https://www.example.com/oauth2callback。获得返回的refresh_token,妥善保存此token。以后的请求中都不会再出现,对于当前创建的账号的唯一且永久有效的
3.携带refresh_token可获取access_token,POST请求访问https://accounts.google.com/o/oauth2/token,参数grant_type=refresh_token为固定值,client_id,client_secret,refresh_token
PS:值得注意的是,2与3的POST请求在摸索初期我都用postman去模拟,参数不是一个JSON,是已表单的形式传参的,这点在后续也会截图表述。
4.验证:Get请求,请求接口:https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/products/productId/tokens/purchaseToken?access_token=access_token
操作截图
在Google APIs选择Credentials,Create New Project,点击创建一个auth2.0的web应用
https://console.developers.google.com/apis/dashboard
我用的是Java后台的http验证,创建了Web application,红框处完全可以填示例的url,至少单在验证支付状态的需求里这个redirect_uri是没有用到的
Anyway,请求需要的clien_id client_secret,redirect_uri都已经创建好了。操作步骤1,得到下图,保存code
同时,此时要开启一个google应用,才能在后台执行查询的api。
拿到code后,执行步骤2,我用的是Postman。Post请求,请求头Content-Type = application/x-www-form-urlencoded
第一次请求会获得refresh_token,妥善保存
拿到refresh_token后,就可以执行步骤3,请求获得access_token,步骤3.4很流畅 不截图了。
以上是整个请求流程的Postman访问。
正常情况下,按此流程操作请求到步骤4后,并不能得到想要的结果。会报一系列的错误code,下面来讲述这些错误的解决。
先推一个链接,尾部有两个错误的解决http://blog.csdn.net/lemonzone2010/article/details/44983659。创建Link的截图因为我没有主权限账号,所以没有截图。
这里写一下自己遇到的401code ,报错message如下:
The current user has insufficient permissions to perform the requested operation
困惑我的是整个google console 配置的是全局的Link 。在测试的客户端项目跑通整个流程后,新建的正式项目用同样的代码去测试就报了没有权限的code。反复查询无果,包裹google上搜索的设置一个XXXemail等等的操作都无济于事,万念俱灰之际,重新创建一个Web application,Link配置后。401code没了
{
"kind": "androidpublisher#productPurchase",
"purchaseTimeMillis": "1516155154486",
"purchaseState": 0,
"consumptionState": 1,
"developerPayload": "",
"orderId": "GPA.3322-0256-8697-13965",
"purchaseType": 0
}
成功。
谷歌pay服务端文档_google支付后台验证操作流程相关推荐
- 谷歌pay服务端文档_Google pay 服务器验证
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 谷歌pay服务端文档_米大师服务端说明
1.后台接口说明 1.支付后台接口API 1.1 API 1.1.1 查询余额接口 (1)URL地址 [现网]https:// ysdk.qq.com/mpay/get_balance_m [沙箱]h ...
- 谷歌pay服务端文档_腾讯米大师支付服务器端接入流程
腾讯开放平台的接入是非常麻烦的,文档各种不清不楚的,有些东西文档根本没有写,如果不跟腾讯的技术人员对接的话,你都可能做不出来.虽然他们也没有帮到什么 申请过程就不赘述(申请过程很蛋疼),直接开始接入. ...
- 干货-Google支付后台验证操作流程【业务后台-GP后台流程】
整个开发背景是前端在调用完google play支付流程后,需要后台验证支付结果以及在自己的服务生成订单相关信息. 由此着手对google后台验证的调研,首先官方流程: 点我查看官方流程 整个操作流程 ...
- Axure电影购票服务产品需求文档+Axure体育球赛购票服务产品需求文档+Axure演唱会购票服务原型+在线购票系统+在线买票+在线选座+移动端票务系统+Axure电影购票服务prd文档
Axure原型作品介绍:Axure电影购票服务产品需求文档+Axure体育球赛购票服务产品需求文档+Axure演唱会购票服务原型+在线购票系统+在线买票+在线选座+移动端票务系统+Axure电影购票服 ...
- 微信sdk服务器支付文档,微信支付-普通下单开发者文档
3.2. API接入(含示例代码) 本章节展示了如何使用微信支付服务端 SDK 快速接入小程序支付产品,完成与微信支付对接的部分. 注意: 文档中的代码示例是用来阐述 API 基本使用方法,代码中的示 ...
- Knife4j 2.0.8发布,史诗级微服务聚合文档中间件诞生
Knife4j前身是swagger-bootstrap-ui,是一个为Swagger接口文档赋能的工具 文档:https://xiaoym.gitee.io/knife4j/(opens new wi ...
- SQLServer报表服务研究文档
SQLServer报表服务研究文档. Ø 研究目的 研究CRM4.0中的报表与sqlserver2005中的报表的集成,如何将CRM中已经制作好的报表导出后在SQLSERVER2005中进行修改后再导 ...
- ICLR 2023 | StrucTexTv2:端到端文档图像理解预训练框架
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[计算机视觉]微信技术交流群 转载自:CSIG文档图像分析与识别专委会 本文简要介绍ICL ...
最新文章
- 最新最全大数据图谱,请拿走不谢!
- python【蓝桥杯vip练习题库】ADV-172身份证排序
- 1043 输出PATest(PAT乙级 C++)
- Android 自定义Application
- CMU博士Nature撰文:机器学习要避开这三个“大坑”
- Android 中this、getContext()、getApplicationContext()、getApplication()、getBaseContext() 之间的区别...
- 【BZOJ1030】[JSOI2007] 文本生成器(AC自动机上跑DP)
- 前端工程师都会喜欢的5个JavaScript库
- Esper 7.x集成SparkStream 2.x
- linux命令-locale字符显示
- 一致性 hash 算法
- Discuz!开发之模板制作CSS扩展规范与语法规范
- 一级域名、二级域名 cookie
- c++图像处理之对比度拉伸变换
- oppo怎么修改dns服务器地址,OPPO手机的WIFI设置里的DNS在哪
- PCB贴片元件封装焊盘设计尺寸标准
- python模糊搜索_在Python中使用Whoosh进行模糊搜索
- 上海大学生计算机应用能力大赛答辩,2018年(第十届)上海市大学生计算机应用能力大赛成功举行...
- 深入分析Android 9.0源代码——Service启动流程(startService方式)
- 云计算基础与应用 第四章 云网络