We handle subscription purchases in our Android app using real time developer notification (RTDN). Seems to work fine with new subscriptions, renewals, cancellations and expirations.
I’m baffled about how to handle re-subscribes. This is the resubscribe that the user can initiate in the Google Play store (outside the app).
One type of resubscribe is easy and works. When the user cancels a subscription and resubscribes before the expiration, the play store seems to treat this as an ignored cancel. The renewals continue happening with the same purchase token.
However, when the users cancels, the expiration occurs, and then the user clicks resubscribe (in the Play Store) things don’t make sense. The Google Play Store treats this as new subscription with a new purchase token. This is fine, except that the application doesn’t know a new purchase was made. It receives no billing event.
The backend records the new purchase, but it has no way to associate a user with the purchase. The app doesn’t even know that a new subscription occurred.
How should a resubscribe from the Google Play store be handled?