Google 支付与服务端验证概述
在接入 Google Play 订阅服务时,正确配置支付后台和服务端验证是确保交易安全和数据准确的关键步骤。本文将详细介绍如何完成这些配置,并解决常见问题。
一、Google 开发者平台回调配置
订阅后台地址配置
访问以下链接配置订阅后台地址:
https://console.cloud.google.com/projectselector2/cloudpubsub/topic/list
新建主题
在后台新建主题,用于接收支付成功后的回调通知。
创建订阅
输入回调服务端地址以接收付款成功后的回调信息。
设置服务账号
确保添加以下服务账号:[email protected]
参考文档:Google Play Billing 配置指南
检查创收设置
访问 Google Play 控制台 确保创收设置已正确配置。
二、API 项目配置与授权流程
1. 创建 API 项目
在 Google API Console 创建 API 项目。注意:此项目与登录项目不同。
2. 开启 Google Play Android Developer API
搜索并开启“Google Play Android Developer API”。
3. 设置 OAuth 同意屏幕
配置同意屏幕,填写必填项即可。
4. 创建 OAuth2 客户端 ID
创建 Web 应用的 OAuth 客户端 ID,获取 clientId
和 clientSecret
。
5. 关联 API 项目
在 Google Play 开发者后台关联 API 项目。一个 Google Play 账号只能关联一个 API 项目。
6. 获取 Code
使用以下链接获取授权 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}
7. 使用 Code 换取 RefreshToken
通过 POST 请求换取 refreshToken
,并确保永久保存。
8. 使用 RefreshToken 获取 AccessToken
通过 POST 请求获取 accessToken
,有效期约为 5 分钟。
9. 查询订单状态
使用以下链接查询订单状态:https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}?access_token={access_token}
常见问题与注意事项
- 测试状态要求:Google 应用需在封闭测试状态下并通过审核才能支付。
- API 项目隔离:登录使用的 API 项目与支付查询项目为两个独立的项目。
- RefreshToken 存储:务必永久保存
refreshToken
,丢失后需重新创建 OAuth 客户端 ID。 - RefreshToken 过期:未使用超过 6 个月、授权超过 50 个刷新令牌等情况可能导致过期。