0

We are creating an app in which we have two different premium models: silver and gold. Both are monthly recurring subscriptions.

On the server we store which user has subscribed to which premium membership and the date when it will expire. At the expiration day we'll check via the Purchase.subscriptions HTTP API from the server if the subscription was renewed and remove the premium status if it wasn't.

But how should we handle subscription downgrades? Assume the user buys the more expensive gold version and then after one day downgrades to the silver version. Our server would only check after one month and recognise that the user downgraded.

The premium memberships are also usable on other platforms like iOS. That's why solutions involving the client won't properly work.

Do we have to poll the Purchase.subscriptions Api from our server on a regular basis?

Florian Gutmann
  • 2,666
  • 2
  • 20
  • 28
  • You have four solutions: push message to the client on downgrade. This will fail if the device is offline. Query the server on a regular basis for license type. Don't allow them to downgrade (and then you don't need to worry). Just decide you don't care about this corner case. – Gabe Sechan Sep 07 '16 at 17:39
  • First solution: How should we push a message to the client from our server when the server doesn't know it has been downgraded? Second solution: You mean the Google Server? Then it's clear to me and a good option. 3 and 4: totally clear :-) – Florian Gutmann Sep 08 '16 at 09:12

0 Answers0