谷歌播放应用内购买通知的发布/订阅主题

时间:2020-07-02 19:22:52

标签: android firebase google-cloud-functions in-app-billing google-cloud-pubsub

我正在尝试使用Google Play应用内结算来实现付款处理器的后端。
Google Play计费api专为无用场景而构建,要使其在正常的世界情况下正常工作是一项艰巨的工作,在这种情况下,应用程序的后端需要验证和处理付款逻辑。

我正在关注本教程:https://developer.android.com/google/play/billing/getting-ready#configure-rtdn

但是只有在实现了整个逻辑之后,我才读到一小段

实时开发者通知(RTDN)是一种接收机制 只要用户的 您的应用内的权利。 RTDN利用了Google Cloud 发布/订阅,可让您接收推送到 您使用客户端库设置或查询的URL。这些 通知可让您立即对订阅状态做出反应 进行更改,从而无需轮询Google Play开发者API。注意 Google Play开发人员API的低效使用可能导致API 配额限制。

所以我的逻辑集成做得很好,播放控制台中的测试消息有效,但是Google Play结算未发送真实的通知,因为我的应用处理的是应用内商品而不是订阅

然后我读了本教程https://developer.android.com/google/play/billing/rtdn-reference,上面写着

注意:仅针对某些类型的邮件发送OneTimePurchaseNotification 一次性购买。有关更多信息,请参阅集成。

但链接为https://developer.android.com/google/play/integrate的是404

有人知道如何使Google Play控制台发送有关应用内购买的付款状态的通知吗?

还有如何获得退款购买通知

5 个答案:

答案 0 :(得分:3)

+1 你的问题,因为这是一个奇怪的场景,缺少谷歌的文档。 当我通过单击“发送测试通知”测试来自 google play 控制台的通知时,它可以工作,但是当我尝试使用测试客户端计费从我的 android 应用程序这样做时,它不起作用!
但这个截图说

...for updates to your in-app products and subs...

Screen shot from google play RTDN page

答案 1 :(得分:1)

OneTimeProductNotification于2019-05-07引入,其主要目的是处理现金购买

https://developer.android.google.cn/google/play/billing/release-notes#release-2_0

如发行说明所述: “此通知类型仅针对与延迟付款方式(例如现金)相关的购买发送”

enter image description here

答案 2 :(得分:0)

Heeeey @Rafael Lima 现在正在为一次性产品工作,我刚刚测试了发布/订阅 我得到了 oneTimeProductNotification

^_^

答案 3 :(得分:0)

只需将以下代码行复制并粘贴到权限输入框中,然后将其添加到成员中即可。

google-play-developer-notifications@system.gserviceaccount.com

接下来向发布/订阅发布者授予权限,您就可以开始了。

您可能会犯的错误是您添加了一个不正确的服务帐户,该服务帐户已经存在于您的 google 云帐户中。

以上解决方案对我来说非常好!

答案 4 :(得分:0)

为了获得退款购买,您可以尝试Voided Purchases API

<块引用>

Google Play Voided Purchases API 提供与用户已作废的购买相关的订单列表。您可以使用此列表中的信息来实施撤销系统,以防止用户访问这些订单中的产品。

<块引用>

此 API 适用于一次性应用内订单和应用订阅。

<块引用>

可以通过以下方式取消购买:

<块引用>
  • 用户为其订单申请退款。
  • 用户取消了他们的订单。
  • 订单被拒付。
  • 开发者取消或退款订单。注意:只有撤销的订单才会显示在 Voided Purchases API 中。如果开发者在未设置撤销选项的情况下退款,则订单将不会显示在 API 中。
  • Google 取消或退款订单。