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

}

成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,396评论 2 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,590评论 18 139
  • 1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听...
    上山砍柴阅读 557评论 0 0
  • 不是雄鹰 但是我要高飞 即使跌跌撞撞 我也无惧凶险 我坚信 我的思想会在蔚蓝的天空中 自由翱翔 不是小草 但是我要...
    我心依然_580a阅读 426评论 44 28
  • 囚笼里的,锁不住 淡紫色的眼,肉红色的 舌 待你学会了握手和趴下 哗啦啦的喷泉声中,你就能 寻到你所渴望的水,鱼儿...
    一丘孤行阅读 149评论 0 0