How can i check if a subscription is expired?
When I call isSubscribed() it always return true, even if user has deleted the subscription.
Hi,
Two things:
1) If a user cancels a subscription, Google doesn't immediately revokes their access to the contents of that subscription. Google's In App Billing API will continue to say the user is subscribed until the end of that month's cycle. You can take a look at Google Play's Terms of Service for more information on this.
Oops, the issue mentioned relates to checking using Google's Billing Service, not this library.
2) Take a look at this other issue: https://github.com/anjlab/android-inapp-billing-v3/issues/44
Some of the comments explain how to check the state of a subscription.
2) If the subscription is truly expired and isSubscribed() still says it's active, it's probably because the subscription is still in cache. Just call BillingProcessor.loadOwnedPurchasesFromGoogle() to update the list of purchases.
After subscription is canceled, its still active until the end of subscription period, so loadOwnedPurchasesFromGoogle wont affect the list of subscriptions untill that date.
I do have the same issue.
My subscription is cancelled and expired for over a day now. If I check via Google Server API, everything is returned correct and expired.
In the app however, isSubscribed is still _true_ and purchaseStatus is _PurchasedSuccessfully_.
I called loadOwnedPurchasesFromGoogle() and listOwnedSubscriptions() multiple times.
TransactionDetails.toString() return the correct date purchased.
Any help or ideas?
@serggl loadOwnedPurchasesFromGoogle does not work for me.
so am i,how to check subscribe status after subscribe?
Most helpful comment
I do have the same issue.
My subscription is cancelled and expired for over a day now. If I check via Google Server API, everything is returned correct and expired.
In the app however, isSubscribed is still _true_ and purchaseStatus is _PurchasedSuccessfully_.
I called loadOwnedPurchasesFromGoogle() and listOwnedSubscriptions() multiple times.
TransactionDetails.toString() return the correct date purchased.
Any help or ideas?