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("订单未支付!");
}
相关推荐
CocoaKier3 天前
苹果谷歌商店:如何监控并维护用户评分评论
ios·google·apple
草帽lufei3 天前
Gemini3升级了,但不能正常用了
google·ai编程
怕浪猫5 天前
第18章:测试与性能调优——unit test与benchmark
后端·google·编程语言
逐梦苍穹7 天前
谷歌新研究:训练大模型时“偷懒跳过“50%更新,性能反而提升20%?
人工智能·google·论文·梯度更新
x-cmd16 天前
[x-cmd] Gemma 3 家族新成员:T5Gemma 2 正式发布,重新定义紧凑型编解码模型的性能上限
5g·google·x-cmd·gemma
x-cmd16 天前
[x-cmd] 性能与成本的帕累托前沿:Google 发布 Gemini 3 Flash,如何用“闪电速度”构建下一代 AI 应用?
大数据·人工智能·google·flash·gemini·x-cmd
Minilinux201825 天前
Google ProtoBuf 简介
开发语言·google·protobuf·protobuf介绍
li91361 个月前
不限速!5款磁力下载工具,50M/s!(附磁力搜索软件合集)
google
小霸王_300378631 个月前
《Google 与 Edge 浏览器对HTTP到HTTPS重定向处理的差异》
http·google·https·edge
hudawei9962 个月前
google.mlkit:face-detection和 opencv的人脸识别有什么区别
人工智能·opencv·计算机视觉·google·人脸识别·mlkit·face-detection