Android应用内结算。取消订阅即使在到期日期后仍然有效

时间:2018-03-29 17:37:28

标签: android google-play in-app-billing subscription

在测试订阅时,结果表明已取消的订阅即使在到期日期之后仍然有效。同时在Google Play订阅列表中为空。我尝试了两个流行的IAB库(in-app-billing v3和android-checkout)。

导致问题的原因是什么?问题仅在测试时才有意义吗?有没有办法检查订阅是否真正有效而无需运行自己的后端?

bp = new BillingProcessor(a,
            "xxx",
            new BillingProcessor.IBillingHandler() {
            ...
                @Override
                public void onBillingInitialized() {
                    bp.loadOwnedPurchasesFromGoogle();
                    bp.isSubscribed(planId); // true for expired cancelled subscription that is not listed in google play
                }
            });

UPD

我通过官方指南(https://developer.android.com/google/play/billing/billing_integrate.html)实现了没有外部库的应用内结算,现在它按预期工作,但我必须等待一段时间才能取消已过期的订阅变为非活动状态(有时一小时,有时一天)

1 个答案:

答案 0 :(得分:1)

你可以试试这个。

purchase.getPurchaseState()
// 0 (purchased), 1 (canceled)- 2 (refunded).