Please fix this issue.
BillingProcessor.isSubscribed is always true, even after the subscription is expired and autoRenew is false
I'm seeing exactly the same thing at the moment that I've just been debugging in my app.
The play store doesn't show the subscription, our webhooks get that the subscription is stopped, but the app still thinks it's active
The same. Has anyone found a solution?
same here.
When I try to purchase the subscription, it says what I already own that item, (the subscription) but it is not listed in google play. (subscription activity or subscriptions page)
yes bp.isSubscribed always returning true. This lib will not be useful if this issue persists.
Kindly resolve this issue.
I have the same. Please fix.
Can you check by this following snippet:
bp.getSubscriptionTransactionDetails("subscribe_id").purchaseInfo.purchaseData.autoRenewing;
PRs welcome!
Same problem here, return is always true even if the subscription is cancelled.
Library update will be a present for us :)
Anybody know workaround?
As @antranvn said, you can check autoRenewing to know if the subscription is cancelled (will return false), but you must check the date to maintain subscription until end date.
Hope anjlab can update and fix the isSubscribed method.
it might be because I'm using an older version of the library, but I've noticed that autoRenewing=true even after a user has cancelled. I need to dig more into that.
I don't get how to calculate end date to maintain subscription after it's cancelled as PurchaseData.purchaseTime returns date of the first purchase, not the last renew date.
Nevermind, it seems that this is not a library issue, this is how google api works. Cancelled expired subscriptions become inactive in 1-2 days anyway (after google play cache cleared - com.android.vending).
I solved my problem. The problem was that someone made a mistake with the sku. It was a purchase sku and it must be a subscription sku.
The problem disappeared after we created the correct sku type.
hope this helps someone else. <3
For example , I test app with beta 10/minute sub , but after 10 minutes its not update, because this part
return turn , but after re-installing app it works.
public boolean isUserSubscribed() {
if (user != null)
if (bp.loadOwnedPurchasesFromGoogle() && bp.isSubscribed(user.getSubId())) {
return true;
}
return false;
}
Iv got the same problem isSubscribed() returns false the first time then when subscription has ended it still returns true. Calling loadOwnedPurchasesFromGoogle() before doesn't work either. Anybody know a work around or a fix?
Hey Guys ! I also faced this issue, i thought it was due to library error like you guys, but the fact is usually google take 2-3 days for updating the subscription in our app. You can check this by changing the "Date and Time(i.e one or two days from current date ) " settings in your Mobile Phone. Then try to restart the App. if doesnt work try to clear the App Cache and repeat the the same thing ...
Seems to be working for me. Using billingProcessor.isSubscribed() changes from true to false when the subscription has expired and was not renewed. If its true then from there you just have to check if autorenewing is true and the purchaseTime.
Closing this in favor of https://github.com/anjlab/android-inapp-billing-v3/issues/348
bp.getSubscriptionTransactionDetails("subscribe_id").purchaseInfo.purchaseData.autoRenewing
Not working :( Always true. Even if user unsubscribed.
Most helpful comment
yes bp.isSubscribed always returning true. This lib will not be useful if this issue persists.
Kindly resolve this issue.