Hi!
I’m currently building an iOS app using React Native and RevenueCat for handling subscriptions.
In App Store Connect, I’ve set up one subscription group that contains the following four auto-renewable subscriptions:
-
PREMIUM – Monthly
-
PREMIUM – Weekly
-
SIGNATURE – Monthly
-
SIGNATURE – Weekly
I have a few questions regarding how upgrades and downgrades work within this setup, especially when using the Purchases.purchasePackage(pkg) method in RevenueCat.
Question 1 – Upgrading Between Monthly Plans
If a user is currently subscribed to SIGNATURE Monthly and decides to upgrade to PREMIUM Monthly (both within the same subscription group and both having the same time duration - 1 month):
-
Will the upgrade take effect immediately, or only after the current billing period ends?
-
Does iOS handle this automatically, or do I need to write any additional code to manage upgrades (similar to Android)?
-
In other words, does RevenueCat automatically trigger the upgrade and reflect the entitlement change right away, or is there any delay?
Question 2 – Downgrading Between Monthly Plans
If a user wants to downgrade from PREMIUM Monthly to SIGNATURE Monthly, both having the same billing period, will the change:
-
Take effect immediately, or
-
Only after the current subscription period expires (i.e., at the next renewal date)?
Question 3 – Changing Between Different Durations
If a user moves from a Monthly plan (either PREMIUM or SIGNATURE) to a Weekly plan (shorter duration):
-
Will this change be applied immediately, or will it wait until the end of the current monthly period?
-
I want to confirm how iOS handles duration changes (monthly → weekly or vice versa) within the same subscription group via RevenueCat.
