【问题标题】:In App Billing error when upgrading subscription plan - “Error while retrieving information from server [DF-DFERH-01]”升级订阅计划时出现应用计费错误 - “从服务器 [DF-DFERH-01] 检索信息时出错”
【发布时间】:2019-12-17 04:23:05
【问题描述】:

我们的应用有 3 种可能的自动续订订阅计划 - 每月、6 个月和每年。 它们在 Google Play 中定义,在购买时效果很好。

最近,我们添加了一个使用新 API 更改计划的选项 - https://developer.android.com/google/play/billing/billing_subscriptions#Allow-upgrade

对于降级(订阅期较短),我们使用DEFERRED 按比例分配模式。 对于升级,我们使用IMMEDIATE_AND_CHARGE_PRORATED_PRICE

在我们的测试中,我们发现所有更改都可以正常工作,除非将“6 个月”更改为“每年”。每当我们这样做时(用户已经有 6 个月的订阅,试图更改为按年订阅),而不是获得正常的购买流程,我们会得到一个错误。 显示的错误信息是

“从服务器 [DF-DFERH-01] 检索信息时出错”

我们从库中收到的实际错误代码是SERVICE_UNAVAILABLE

再次 - 所有其他流程都正常工作,例如每月 -> 每年、每月 -> 6 个月。

缺乏文档和对正在发生的事情的清晰说明,并且 logcat 没有显示任何有用的信息。

【问题讨论】:

  • 这里也发生,等待答案:)
  • 这个问题已经解决了吗?如果不是:你能解释一下你是如何测试的吗?也就是说,从6 months -> 1 year 改变是不是你正在尝试的最后一个?或者您是否正在尝试在某些可能影响结果的其他操作之后立即进行更改? (基本上试图确认它确实是孤立的问题)。另外,失败的代码/ API 请求的确切行是什么?
  • 完全隔离。当旧 sku 是 6 个月订阅时,只需购买 1 年订阅。
  • 找到解决办法了吗?
  • @MittalVarsani 我们更改了按比例分配的比率。这没有任何意义,我们无法让 Google 回答为什么我们选择的按比例分配模式在这种情况下不起作用。

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


【解决方案1】:

据我从您的问题中得知,我猜想订阅时间越长的订阅的每月价格低于例如一个月的订阅。

文档

对于分配模式IMMEDIATE_AND_CHARGE_PRORATED_PRICEdocumentation 中的示例说:

可以使用此模式,因为每时间单位的第 2 层订阅价格(36 美元/年 = 3 美元/月)高于每时间单位的第 1 层订阅价格(2 美元/月)。

这表明您只能在每月费用因给定升级而增加的情况下使用此模式。 在下面的免费试用文档中提到:

注意:此选项仅适用于订阅升级,其中每单位时间的价格会增加

(我猜他们不知何故忘记在第一个按比例分配模式描述中添加此注释,因为这似乎是一个有或没有免费路径的限制

解决方案

所以将按比例分配模式改为例如IMMEDIATE_WITH_TIME_PRORATION 或任何符合您要求的解决方案似乎是唯一的解决方案(@SirKnigget 在问题线程中也提到过),假设您的订阅不会因为升级而变得更加昂贵。

【讨论】:

  • 这也是我们的修复方法,但我们通过反复试验发现,缺少此文档。
猜你喜欢
  • 2012-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 2013-06-18
  • 2018-10-11
相关资源
最近更新 更多