google pay谷歌支付java后端验证最新版

折腾了两天,终于搞定,简单不废话快速搞定 这个文章不会太详细,大部分内容其他教程都有,只是为了解决其他教程里面常见的两个问题:

1.为什么我的google play控制台上没有api-access页面? 现在已经不需要这个页面了,按照我的教程来配置就行了,不用到处找api-access页面了。

2.为什么按照教程还是提示下面的报错:

json 复制代码
{
  "code": 401,
  "errors": [
    {
      "domain": "androidpublisher",
      "message": "The current user has insufficient permissions to perform the requested operation.",
      "reason": "permissionDenied"
    }
  ],
  "message": "The current user has insufficient permissions to perform the requested operation."
}

这个也是大部分教程都不太对的地方,看我下面标红的位置即可。

1.google cloud 创建服务账号 google cloud控制台-api和服务-凭据-创建凭据-服务账号:

账号随便填,记住这个邮件地址,然后点下一步 下一步的角色选择owner,很多教程都选了Service Account Admin,是没用的,至少这个版本没用! 一定要选择owner。(就是这个地方浪费了我两天的时间) 否则就会出现文章开头的"The current user has insufficient permissions to perform the requested operation"问题

保存之后,创建秘钥:

创建密钥之后会生成一个json文件。这个json文件,是为了让你获取这个服务账号的token用的,具体代码如下:

java 复制代码
// GOOGLE_PAY_KEY_JSON 是json文件的具体地址
InputStream inputStream = Files.newInputStream(ResourceUtils.getFile(GOOGLE_PAY_KEY_JSON).toPath())

ttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredentials credential = ServiceAccountCredentials.fromStream(inputStream).createScoped(AndroidPublisherScopes.ANDROIDPUBLISHER);
HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(credential);
AndroidPublisher androidPublish = new AndroidPublisher.Builder(transport, GsonFactory.getDefaultInstance(), requestInitializer)
        .setApplicationName(packageName).build();

获取token之后,接下来就要调用对应的api去查询支付的结果

  1. google play权限配置

上面的服务账号配置好之后,要想调通api,还要配置好相应的权限 goole play控制台-用户和权限-邀请新用户

输入刚刚的服务账号的邮件,权限选管理员,图省事儿。(实际上只选择财务数据的那两个就行了) 点了保存之后,刚刚的服务账号就有对应的权限可以调通查询支付结果的api了,代码如下:

java 复制代码
AndroidPublisher.Purchases.Products products = publisher.purchases().products();
AndroidPublisher.Purchases.Products.Get product = products
        .get(packageName, productId, purchaseToken);

ProductPurchase purchase = product.execute();
if (purchase.getPurchaseState() != 0) {
    log.error("订单未支付!");
}
相关推荐
TunerT_TQ3 天前
Google|LangExtract 源码静态评测:从 90 个 Python 文件看大模型结构化信息抽取工程基础
google·开源·github
寒水馨17 天前
Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
linux·运维·服务器·google·序列化·protobuf·protoc
寒水馨17 天前
macOS下载、安装protobuf-v35.1(附安装包protoc-35.1-osx-universal_binary.zip)
macos·google·grpc·序列化·protobuf·protoc·数据交换
元Y亨H17 天前
大模型技术 模型调用结果解析 概述
google·langchain·llm
小鹿软件办公19 天前
谷歌 Lyria 3.5 正式上线:全面提升 AI 音乐表现力与创作控制
人工智能·google·lyria 3.5
Coffeeee22 天前
谷歌的一个优化建议,让我重新学了一遍Android里面如何正确处理位图
android·google·kotlin
码哥字节1 个月前
Google 上周推了个 agents-cli,我装完发现 Claude Code 多了 7 个超能力
google·agent·claude
Mac的实验室1 个月前
最新注册谷歌邮箱遇到此号码验证次数过多提示 | 谷歌账号电话号码用太多次的解决办法
google
众少成多积小致巨1 个月前
Android C++ 编码规范指南
android·c++·google
小李@Free2FA1 个月前
Google Cloud(GCP)二次验证怎么开?Cloud Identity 的 MFA 配置
google·gcp·mfa·账号安全