If you have subscribers in India, chances are you’ve heard about some upcoming app store changes that may affect your business. But in case you haven’t, we’re here to fill you in.
For the past two years, India has been working toward an SCA-like system for recurring transactions. There’s a lot of fine print, but in a nutshell, India’s central financial regulatory body — the Reserve Bank of India (RBI) — recently enacted new rules requiring an additional layer of authentication for prepaid recurring transactions. As of April 1, 2021, consumers in India must manually authenticate recurring transactions over a certain amount.
RBI originally gave payment processors until March 31, 2021 to become compliant with this new framework. However, many organizations failed to meet the original deadline, so RBI issued a new deadline: September 30, 2021. During this time, any payment processor that isn’t compliant can’t process new recurring transactions.
In response to these new regulations, Google has suspended new auto-renewing subscriptions, free trials, and introductory pricing in the Google Play Store starting May 4, 2021.
As with any regulation, digging into the details of how this will play out is important. Here’s what you need to know:
New subscriptions will not auto-renew
This means your Indian users will need to purchase their subscription again after it expires.
Note that this change only affects new subscriptions — existing auto-renewing subscriptions in India will continue to renew as expected.
New subscriptions cannot have free trials or introductory pricing
Unfortunately, you won’t be able to offer free trials or introductory pricing to users in India. This has to do with how Google handles upgrades and downgrades. Google’s proration logic depends on subscriptions auto-renewing — refunds are added to the next renewal of a subscription. But since subscriptions can't be auto-renewed anymore, Google has disabled free trials and introductory pricing.
This means that any users who are currently signed up for a free trial will most likely lose access and won't auto-renew to a paid subscription.
What this means for Android app developers
If your app is listed on the Google Play Store in India, there are a few steps you can take to keep things running smoothly for your users.
Adjust the wording on your paywall
Remove any mention of free trials, auto-renewals, and introductory pricing from your paywall for users in India. There are a couple of ways to do this:
- Check the currency of the SkuDetails using getPriceCurrencyCode.
- When the currency code returns INR (the code for Indian Rupees), dynamically change the wording on your paywall.
It’s also a good idea to add in-app messaging that informs users in India that their subscriptions will not automatically renew, and encourage them to resubscribe at the end of their subscription period.
One caveat here is that aspects of these regulations could technically apply to Indian citizens who use Play Store accounts in other geographies. It’s common for people outside the US to set up Play Store accounts based in the US (and even use a VPN) to get access to apps and content not available outside the US. That being the case, keep an eye out for how these regulations are interpreted as they roll out. And when in doubt, always talk to a knowledgeable lawyer or other compliance professional.
Create a separate offering for your Indian subscribers
Google recommends removing free trials and introductory pricing from your app altogether, but that doesn’t make a lot of sense for apps that also have users outside of India. Free trials and introductory pricing are a great way to get new signups — removing them for all potential subscribers could mean fewer conversions and reduced revenue.
Instead, we recommend offering a different SKU in India that doesn’t include a free trial or introductory pricing. RevenueCat can help you with this. Just create an offering for your Indian users and display it in your app accordingly.
Make sure you replace auto-renewing subscription SKUs in India with one-time product SKUs.
Update your introductory pricing eligibility logic
If your app includes introductory offers, you may need to update your introductory pricing eligibility logic. Since it’s no longer possible to provide introductory offers in India, you’ll need to update your pricing eligibility logic to avoid showing messaging about introductory offers to users in India. To do this, use the same logic you use to prevent current and former subscribers from redeeming an introductory offer. Check for the user’s location, and if they’re located in India, deem them ineligible for the introductory offer.
There may be other changes you need to make, but we’ll have to wait until September to find out more.
What about iOS apps?
So far, Apple hasn't made any announcements about the new RBI rules. It's possible that Apple is already compliant with the new framework, so they don't need to send out any communications about it.
If and when Apple announces changes for apps listed on the App Store in India, we’ll update this post.
Good news for RevenueCat users
As far as we know right now, your entitlement status tracking in RevenueCat will not be affected by these changes. We use subscription purchase and expiration dates to determine a subscriber’s entitlement status, which will continue to behave as normal.
However, there are a few metrics that might be affected:
- Auto-renew status
- Churn and cohort charts
- Trial conversion chart
- Trial start rate chart
Depending on how Google displays these changes in the receipt, your RevenueCat charts may look a little odd. The auto-renew status may be wrong. The churn and cohort charts may show spikes. And the trial conversion and trial start rate charts may show dips, depending on how large the Indian user base is for your app.
If you’re listening to RevenueCat’s webhooks to update your systems, you may receive higher than normal billing issue webhooks for your Indian users. This is because when an Indian user purchases a subscription, Google indicates that the subscription was canceled by the system. While this doesn’t necessarily mean that a billing issue occured, 9 times out of 10 Google cancels subscriptions because of billing issues. When RevenueCat detects that the subscription was canceled by the system, a CANCELLATION webhooks of type BILLING_ERROR is sent. Since every subscription purchased in India will be canceled by Google, RevenueCat will send a billing issue webhook. On your end, you should check the currency field of the webhook: if it’s INR and a billing issue, you should disregard it. Alternatively, you can check RevenueCat for the first purchase date of the user’s subscription: if it was purchased before May 4, then this billing issue is legitimate and you should put this user through your billing issue flow; if it was purchased after May 4, you can safely ignore this webhook, as it very likely was generated right after the initial purchase of a subscription that can’t be auto-renewed anyway.
We're keeping an eye on the situation and will provide updates as we learn more from Google.