It's possible to change the price of an active subscription item, as described here. However, it is not clear to me whether the developer has to notify the user about the price change, and get their consent, or whether the developer can rely on Google Play to do this, as described here. My reading of this is that it's optional to include code that notifies the user with a custom dialog to seek their consent, but that doing so (with a friendly explanation of why the price has changed) will increase the likelihood of the user accepting? As a side note, I find it slightly frustrating that it's not even possible to update subscription pricing to take account of exchange rate fluctuations, without potentially losing subscribers due to lack of consent.
2 Answers
The price change will affect only new subscribers. Whoever is already subscribed will not be affected by the price change, unless the purchase the item again.
https://developer.android.com/google/play/billing/billing_subscriptions
-
Sure, but for existing subscribers, do we (the developer) need to add notification / approval workflow, or can we rely on Google Play for this? It is not at all clear how to determine whether the price change workflow should be initiated in the app... i.e. how to determine whether there is a price change to notify, or whether the user has already accepted via another channel. The help page only tells you how to launch the workflow, not how to determine whether you need to in the first place. – drmrbrewer Jan 27 '20 at 19:45
I would not recommend changing the price of package if you already have a lot of active subscribers, they will not be automatically renewed if they do not agree to the price change. You can check priceChange.state field to see wether the user accepted the price change or not.
Note: currently you will need the users consent for both price increase and decrease which is kinda odd ( I was told that they are planning to remove user consent when the price is decreased but as for now user consent is required for price decrease as well)

- 101
- 5
-
Coincidentally I had just worked this out, about 30 mins after you posted your answer... I already query the API and had just noticed that the response has a handy `priceChange` object... answer accepted! – drmrbrewer Jan 29 '20 at 17:30
-
And good point re consent for price decrease... I had assumed (hoped) this wouldn't be the case (seems pointless)... was just about to do some more testing to find this out. – drmrbrewer Jan 29 '20 at 17:41
-
-
And yes I can confirm that the user's approval is also required even for a price *decrease*... I can understand that the user might be interested in being *notified* about this price change, but it shouldn't be the case that they need to *approve* it (and with the subscription ending if they take no action). Hope this will change – drmrbrewer Jan 30 '20 at 09:53
-
Regarding your recommendation to *not* change the price of a subscription... I can understand this point of view (and am wary about doing so because it might lead to inadvertent cancellations). However, exchange rates can vary wildly over time... e.g. a EUR <-> USD conversion today will likely be completely inappropriate in 5 years' time... the price in remote country could be either way too low or conversely way too high. And general inflation will devalue the subscription over time too. So in practice it becomes necessary at least to adjust for exchange rate and/or inflation? – drmrbrewer Jan 30 '20 at 09:59
-
Well you could create a new package with a higher price and start offering that subscription only for new subscribers ( assuming package_id is not hardcoded on the device app). I would highly recommend to stay away from package price change unless you have to make that change. – vasmarg Jan 30 '20 at 11:41