服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)

访客 231 0

转载处:Google支付和服务端验证 - 简书

在进行服务端验证之前,需要先进行一些准备工作。

  1. 创建api项目这个和登录用的项目不是同一个
  2. 开启Google Play Android Developer API
  3. 设置oauth同意屏幕(就是拉起开发者授权账号登录时的登录页面)
  4. 创建web应用的oauth客户端ID
  5. google play开发者后台,API权限菜单中关联刚刚创建的项目,一个google play账号只需要也只能关联一个api项目就行了,这个项目可以查询关联账号中的所有应用的订单
  6. 拉起授权页面,使用google开发者账号给项目授权,得到code
  7. 通过code,拿到refreshToken,这个token只有第一次才会返回需要永久储存(这个refreshtoken很重要,需要保存下来),如果弄丢,只有重新创建一个oauth客户端ID,然后重复步骤6,7,拿到新的refreshtoken
  8. 刷新refreshToken, 得到accessToken,通过accesstoken就可以去查询订单状态了,这里的accessToken一般只有5分钟左右,5分钟后需要重新用refreshToken换取新的accessToken

步骤1:
在Google API控制台中创建API项目。

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第1张图片-谷歌商店上架

步骤2:
启用Google Play Android开发者API

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第2张图片-谷歌商店上架

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第3张图片-谷歌商店上架

请搜索“Google Play Android Developer API”。

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第4张图片-谷歌商店上架

激活“Google Play Android Developer API”

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第5张图片-谷歌商店上架

 

步骤3
启用同意屏幕

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第6张图片-谷歌商店上架

 

填上必填项

请填写必填项即可,授权同意屏幕将在请求code时弹出,供开发人员使用。无论填写什么内容都没有关系。

setp4
创建oauth2客户端id

 

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第7张图片-谷歌商店上架

 

创建页面和修改成功后的页面都能够获取到clientId和clientSecret。

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第8张图片-谷歌商店上架

 

到这里api项目就已经创建好了

第五步:在Google Play后台关联API项目

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第9张图片-谷歌商店上架

setp6
获取code
地址:https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri={填写的重定向地址}&client_id={创建的clientId}
将上面的{XX}替换成创建api项目时填写的重定向地址和clientId,然后将连接放到浏览器中打开,就会吊起授权界面,使用你的开发者账号授权登录
请求方式:浏览器中打开

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第10张图片-谷歌商店上架

 

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第11张图片-谷歌商店上架

在重定向地址中,我们可以观察到两个参数code和scope。然而,我们只需要关注code这个参数。需要注意的是,这里的code是经过urlencode编码的,在使用时需要进行解码。

Step 7:
使用代码来获取刷新令牌
地址:https://accounts.google.com/o/oauth2/token
请求方式:POST
参数:
- grant_type=authorization_code
- code=获取到的代码(如果代码中包含百分号,请进行URL解码)
- client_id=创建API项目时的客户端ID
- client_secret=创建API项目时的客户端密钥
- redirect_uri=创建API项目时设置的重定向地址

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第12张图片-谷歌商店上架

在这里,我们成功获取到了refreshToken。请注意,refreshToken非常重要,请务必妥善保存。它只会在第一次请求中返回,并且后续相同的请求不会再返回refreshToken。如果不小心丢失了refreshToken,您需要重新创建一个WebClientId来获取新的refreshToken。

Step 8: 使用refreshToken获取accessToken
请访问以下链接获取accessToken:https://accounts.google.com/o/oauth2/token
请求方式:POST
参数:
- grant_type=refresh_token
- refresh_token=刚刚获取到的refreshToken
- client_id=创建API项目时的clientId(客户端ID)
- client_secret=创建API项目时的clientSecret(客户端密钥)

服务端验证是指通过Google支付进行的一种验证方法。(服务端验证的实现步骤有哪些)(服务端验证是指什么意思)-第13张图片-谷歌商店上架

 

setp9
查询订单状态
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}?access_token={access_token}
packageName:app包名,必须是创建登录api项目时,创建android客户端Id使用包名
productId:对应购买商品的商品ID
token:购买成功后Purchase对象的getPurchaseToken()
access_token:上面咋们获取到的accessToken
请求方式:get
返回值:

改写为:

Sep 9

查询订单状态:
点击此处
packageName: app包名,必须是在创建登录API项目时所使用的Android客户端ID所对应的包名。
productId: 购买商品对应的商品ID。
token: 购买成功后Purchase对象中获取到的购买令牌(purchase token)。
access_token: 上述步骤中获得的访问令牌(access token)。
请求方式:GET。
返回值:

标签: 谷歌商店上架 步骤 方法

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~