【发布时间】:2019-10-28 21:17:24
【问题描述】:
我正在使用以下BillingClient。
implementation 'com.android.billingclient:billing:1.2.2'
虽然我已经按以下方式退款了
但我仍然收到来自BillingClient.queryPurchases的以下回复
{
"orderId": "GPA.3352-2555-5719-25534",
"packageName": "com.yocto.wenote",
"productId": "note_list_promo",
"purchaseTime": 1560501011137,
"purchaseState": 0,
"purchaseToken": "djjneabakdaenkjafajbbclo.AO-J1OzbDNn5WkobYbSqLNzoBokm1F552-CqzfLQuNXK69bhxC-TnOTqdPV1RCl9T2okpSWfRD9RrE0eFhSN8glUbsOM5XUBDRnm_yK2Ohq_uyNuU17i1dc3CBhdeEn9uZCIfD3zY4tF"
}
根据BillingClient.queryPurchases的文档
获取在您的应用中购买的所有商品的购买详情。这 方法使用 Google Play 商店应用程序的缓存而不启动 网络请求。
这可能是原因。我尝试使用另一个功能 - queryPurchaseHistoryAsync 也无济于事。根据文档
返回用户为每个 SKU 进行的最近购买,即使 如果该购买已过期、取消或消费。
对于queryPurchaseHistoryAsync,没有purchaseState表示后面的购买被取消了!
{
"productId": "note_list_promo",
"purchaseToken": "djjneabakdaenkjafajbbclo.AO-J1OzbDNn5WkobYbSqLNzoBokm1F552-CqzfLQuNXK69bhxC-TnOTqdPV1RCl9T2okpSWfRD9RrE0eFhSN8glUbsOM5XUBDRnm_yK2Ohq_uyNuU17i1dc3CBhdeEn9uZCIfD3zY4tF",
"purchaseTime": 1560501011137,
"developerPayload": null
}
Google 确实应该提供queryPurchases 的非缓存版本。
知道我做错了什么吗?在我发放退款后,我不希望用户继续使用付费功能。
【问题讨论】: