Android 应用内结算:已退款的应用内购买未取消
Android In-App Billing: Refunded in-app purchases not cancelled
我在测试应用内结算时遇到问题。
(使用 Google Play 应用内结算版本 3 API)
问题:
已退款的应用内购买仍存在于购买列表中,该列表由 BillingClient.queryPurchases()
提供。
当我在 1 月份尝试退款时,已退款的商品从购买列表中消失了。
我做了什么:
- 作为测试者购买了一些物品。
(我很确定对话框说这是一次试购。)
- 之后在 Google Play 管理中心退款。
- 等到他们的付款状态变成"Refunded"。
- 已清除 Google Play 服务和 Google Play 的缓存。
- 检查了我的购买
BillingClient.queryPurchases()
在我的应用程序中提供。
- 等了几天。重新安装了我的应用程序。都没有用。
最小校验码:
private val client: BillingClient // provided
fun check() {
// client.startConnection() already completed here
client.queryPurchases(BillingClient.SkuType.INAPP)
.run {
purchasesList
.map { it.originalJson }
.forEach { Log.d("billing", "json = $it") }
}
}
我想做什么:
我想取消我所有的测试购买。
有人有什么建议吗?
提前谢谢你。
基于此documentation, currently, the In-app Billing API does not provide support for programmatically canceling subscriptions from inside the purchasing app. Then after a user cancels a subscription, the subscription is still active until the expiration date. Thus it stays visible in the Play Store app until the subscription expires. You may check this support page了解更多信息。
如果您的取消没有从查询结果中删除您的购买,您可以使用它们。当您进行新查询并可以再次购买时,它们将不再可用。
int response = client.consumePurchase(3, packageName, purchaseToken);
托管 in-app 产品是消费品,但订阅不是。
我在测试应用内结算时遇到问题。
(使用 Google Play 应用内结算版本 3 API)
问题:
已退款的应用内购买仍存在于购买列表中,该列表由 BillingClient.queryPurchases()
提供。
当我在 1 月份尝试退款时,已退款的商品从购买列表中消失了。
我做了什么:
- 作为测试者购买了一些物品。
(我很确定对话框说这是一次试购。) - 之后在 Google Play 管理中心退款。
- 等到他们的付款状态变成"Refunded"。
- 已清除 Google Play 服务和 Google Play 的缓存。
- 检查了我的购买
BillingClient.queryPurchases()
在我的应用程序中提供。 - 等了几天。重新安装了我的应用程序。都没有用。
最小校验码:
private val client: BillingClient // provided
fun check() {
// client.startConnection() already completed here
client.queryPurchases(BillingClient.SkuType.INAPP)
.run {
purchasesList
.map { it.originalJson }
.forEach { Log.d("billing", "json = $it") }
}
}
我想做什么:
我想取消我所有的测试购买。
有人有什么建议吗? 提前谢谢你。
基于此documentation, currently, the In-app Billing API does not provide support for programmatically canceling subscriptions from inside the purchasing app. Then after a user cancels a subscription, the subscription is still active until the expiration date. Thus it stays visible in the Play Store app until the subscription expires. You may check this support page了解更多信息。
如果您的取消没有从查询结果中删除您的购买,您可以使用它们。当您进行新查询并可以再次购买时,它们将不再可用。
int response = client.consumePurchase(3, packageName, purchaseToken);
托管 in-app 产品是消费品,但订阅不是。