无法升级Android应用内订阅。错误:我们这一端出了问题。请重试。&Q;

问题:

  • 无法将当前订阅升级为其他订阅。
  • 显示错误:我们这一端出了问题。请重试。

描述:

  • 我们使用play billing library v3.0.3,并且我们按以下代码处理订阅升级。
BillingFlowParams purchaseParams = BillingFlowParams.newBuilder()
                    .setSkuDetails(skuDetails)
                    .setOldSku(oldSKU, oldPurchaseToken)
                    .setReplaceSkusProrationMode(IMMEDIATE_WITH_TIME_PRORATION)
                    .build();
  • 启动时情况与预期一致。
  • 某些用户报告他们无法升级其订阅。
  • 我们测试了升级,但遇到了相同的错误:我们这一端出现了问题。请重试。
  • 然后我们升级到play billing library v4.0.0,认为它可以解决我们的问题。
BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
        .setSubscriptionUpdateParams(SubscriptionUpdateParams.newBuilder()
            .setOldSkuPurchaseToken(oldPurchaseToken)
            .setOldSkuPurchaseId(oldSKU) // This method is not available in lib[4.0.0] but mentioned in docs
            .setReplaceSkusProrationMode(IMMEDIATE_WITH_TIME_PRORATION))
        .setSkuDetails(skuDetails)
        .build();
  • 再次报告相同的错误:我们这一端出现了错误。请重试。
  • 也是新的play billing library v4.0.0在SubscriptionUpdateParams.Builder类中没有方法setOldSkuPurecheId(),但在developer docs
  • 中提到了

下面附加的错误屏幕截图


解决方案

由于新的Reserve Bank of India eMandate notification,您的某些订阅体验可能会更改。

有关更多详细信息checkout this

相关文章