I'm trying to detect grace period using BillingClient.
The documentation says:
A subscription can go through various state changes throughout its lifecycle, and your app needs to respond to each change. To check the subscriber's state, your app can query using either BillingClient.queryPurchasesAsync() in the Google Play Billing Library or Purchases.subscriptions:get in the Google Play Developer API.
Unfortunately, it seems to me that it is not possible to differentiate between an active subscription and a grace period using BillingClient. In both cases isAutoRenewing
flag is set to true
and purchaseState
is 1
. At least that's what I see when I try to reproduce such case in test environment by purchasing subscription using Test card, always approves
and then changing to Test card, always declines
before subscription is renewed.
Any ideas?