Google Play 中的测试订单会在五分钟后自动退款

Posted

技术标签:

【中文标题】Google Play 中的测试订单会在五分钟后自动退款【英文标题】:Test Orders in Google Play are automatically refunded after five minutes 【发布时间】:2020-03-21 09:31:10 【问题描述】:

我今天升级了 billingclient 库:

//implementation 'com.android.billingclient:billing:1.2.1'
//to 
implementation 'com.android.billingclient:billing:2.0.3'

我还完成了所需的代码更改,例如使用 setSkuDetails 代替 setSku、定义一个 SkuDetailsResponseListener 等。

一切似乎都运行良好。 但是,在测试期间,我注意到我的测试订单会在五分钟后自动退款。显然,我的代码并没有发生这种情况,因为即使关闭我的设备,退款也会发生。

以下是其中一项测试在 Google Play 管理中心的“订单管理”页面中观察到的顺序:

Nov 25 2019 21:10:21, Payment pending, You received a new order.
Nov 25 2019 21:10:21, Chargeable, The customer's form of payment was authorized for $0.00.
Nov 25 2019 21:15:22, Refunding, A refund of $0.99 was initiated on this order.
Nov 25 2019 21:20:22, Charged, The customer's form of payment was successfully charged for $0.00.
Nov 25 2019 21:20:22, Refunded, Google processed your request and applied a refund of $0.99.

另外,我没有使用保留的产品 ID 来测试静态 Google Play 结算响应(“android.test.purchased”)。我正在使用在 Google Play 控制台中注册的许可证测试人员在测试设备中使用我的真实产品 ID。

这给了我足够的时间来测试所有内容,但是这笔退款是故意的吗?

【问题讨论】:

【参考方案1】:

如果您使用 Google Play 结算库 2.0 版或更高版本,则必须在三天内确认所有购买。未能正确确认购买会导致这些购买被退款。您可以在官方文档中阅读有关如何在您的应用中实现确认购买的更多信息:https://developer.android.com/google/play/billing/billing_library_overview#acknowledge

通常在 3 天内未确认的购买会被退款,但由于这些是测试订单,因此该期限会缩短到 5 分钟。

【讨论】:

我已经完成了,已确认购买,但仍使用com.android.billingclient:billing-ktx:3.0.3 每 5 分钟审核一次测试订阅 正确答案在这里***.com/a/66316354/7767664【参考方案2】:

你必须Acknowledge a purchase。 所以你必须添加一些代码。

【讨论】:

我已经完成了,已确认购买,但仍使用com.android.billingclient:billing-ktx:3.0.3 每 5 分钟审核一次测试订阅 正确答案在这里***.com/a/66316354/7767664【参考方案3】:

正确答案在这里https://***.com/a/66316354/7767664

很快:它会做 6 次,所以这是测试卡的正常行为

【讨论】:

以上是关于Google Play 中的测试订单会在五分钟后自动退款的主要内容,如果未能解决你的问题,请参考以下文章

google play支付如何用php验证订单完成的合法性

Google Play结算库在购买交易失败或取消时不会发出orderId,但它会在控制台中显示

Google Play 内部测试轨道上应用的未知用户

Google Play 订单状态 - “已取消”和“付款被拒绝”有啥区别?

Google Play 中的内部测试不发送电子邮件

Google Play 控制台中的测试人员未推出 Beta 版