我正在尝试在我的应用程序中实现应用程序内计费,除了退款之外,一切都很好。过去几天我一直在反对这个问题,如果用户要求退款,似乎无法从应用程序方面知道这一点,这似乎令人难以置信。我希望能够在用户获得退款后撤销对一次性托管产品的访问权限(删除广告)。我没有使用后端,所以我依赖于 Google Play API。
我尝试过的是查询 Google Play API,queryPurchaseHistoryAsync它返回用户最近购买的列表。这似乎不起作用,因为在要求退款后购买的东西仍然存在(在写这篇文章之前等了一天)。
这是我所做的:
那么任何用户都可以购买我的应用内产品,然后立即转到他的 Google Play 页面并要求退款?是我遗漏了一些明显的东西还是这个 API 是一场噩梦?
该PurchaseState枚举是
public @interface PurchaseState {
// Purchase with unknown state.
int UNSPECIFIED_STATE = 0;
// Purchase is completed.
int PURCHASED = 1;
// Purchase is waiting for payment completion.
int PENDING = 2;
}
Run Code Online (Sandbox Code Playgroud)
我在这里没有看到与退款相关的任何内容,这在我看来是一个非常正常的用例,所以我仍然认为我缺少一些关键信息,我该怎么做?
谢谢你的帮助
我在退款时遇到问题。我在启动应用程序时查询所有过去的购买,并检查是否购买了 InAppProduct。
final QueryPurchaseDetailsResponse purchaseResponse =
await _connection.queryPastPurchases();
Run Code Online (Sandbox Code Playgroud)
现在购买已退款,但仍通过queryPastPurchases()方法查询购买。此外,PurchaseDetails类没有关于被退款的购买的任何信息。
知道如何处理这种情况吗?
信息 :
问候