I am developing an application with in-app subscriptions. On our servers, I check the validity of each subscription through the Google Play Developer API.
As stated in the docs, a request to the Purchases.subscriptions endpoint, returns something like that:
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean
}
However, I am finding some strange behavior with it. When a user cancels a subscription through Google Play app, the "startTimeMillis" field is updated to the time of cancellation.
According to the documentation, "startTimeMillis" is "Time at which the subscription was granted", so I expected that this value should not change. Could anybody explain me why it is updated after a cancellation?
I have another important question that I can not test yet... Could someone, who has spent several months working with subscriptions, tell me if this "startTimeMillis" is updated too when the subscription is automatically renewed? I expect too that this should not change but... now, I am not sure about this.
Thank you
Google Play Android Developer API. Lets Android application developers access their Google Play accounts.
Enable Real-time developer notifications for your appOpen the Google Play Console. Select your app. Go to Monetize > Monetization setup. Scroll to the Real-time developer notifications section at the top of the page.
Had similar issue and found that:
When user cancels the subscription, startTimeMillis
won't be changed, only autoRenewing changed to false
If the user subscribes again after the cancelation, google will send you a new subscription token, but when querying with the previous token, the response would be changed to the same as the new token, i.e. startTimeMillis
would be changed
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With