【问题标题】:How to detect refund with google billingclient library如何使用 google billingclient 库检测退款
【发布时间】:2019-02-28 06:36:47
【问题描述】:

我想知道如何检测退款或任何类型的应用内购买取消(不是订阅,也不是消耗品)。

我目前正在做我的测试,当我像这样在谷歌退还测试时:

购买仍然存在于billingClient.queryPurchaseHistoryAsync()(即使在queryPurchase())。

如何检测此类更改以及如何为退款用户禁用我的应用?

提前致谢。

【问题讨论】:

  • 我还通过queryPurchaseHistoryAsync() 收到了已退款的购买。你找到任何信息了吗?
  • 我还没有解决这个问题。但在我的研究中,我发现有一个谷歌 API 可以检查这一点。您必须发送请求以检查购买状态。我还没有测试过。也许这个链接会帮助你:developers.google.com/android-publisher/api-ref/rest/v3/…
  • 感谢您的回复。我知道我们可以用你所说的后端服务器和谷歌 API 服务来解决这个问题。但似乎没有它们就没有解决方案。感谢您的确认:)

标签: android google-play in-app-billing android-billing


【解决方案1】:

这个功能一定要试试

PurchasesUpdatedListener

用于购买更新的侦听器界面,例如,当用户在应用内购买商品或从 Google Play 商店开始购买时发生。

void onPurchasesUpdated (int responseCode, 
                List<Purchase> purchases)

实施此方法以获取有关购买更新的通知。您的应用发起的购买和 Play 商店发起的购买都会在此处报告。

OnPurchasesUpdated on developer.android

【讨论】:

  • 是的,我已经对此进行了测试,但如果在应用关闭时发生退款,则永远不会调用它。
  • 该侦听器用于处理启动购买流程和消费应用内产品的结果...该方法的可能响应代码在这里:developer.android.com/reference/com/android/billingclient/api/… 它不适用于检测退款 afaik....
  • @Eric 你找到解决方案了吗?这个库真的很糟糕……
  • @Jenix 不,遗憾的是没有找到任何解决方案,但从那时起已经有一段时间了。
  • @Eric 我明白了……这很可悲。还是谢谢!
【解决方案2】:

我理解您对退款商品的担忧。

如果您提供应用内商品,您可以使用Voided Purchases API 请求您的应用内商品的无效购买清单。当用户为应用内购买请求退款时,您可以查看购买的内容并从该用户处收回已退款的数字商品。

为保护您的应用免遭退款滥用,请使用Protect your apps from refund abuse help guide,了解保护您应用的应用内商品的最佳做法。

【讨论】:

  • 它只返回最近 30 天的结果,所以它并不是真正的 100% 解决方案。
  • 在 Google 实施之前,您不会找到解决方案。您是否向谷歌发布了错误/功能?最好在这里发布一个链接。
猜你喜欢
  • 2018-03-14
  • 2011-07-03
  • 2012-12-01
  • 2016-05-24
  • 2019-10-28
  • 2018-12-16
  • 2015-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多