Skip to main content
Question

Notify user about purchase while switching between Lifetime purchase and Subscription


Forum|alt.badge.img+1

“RC doesn’t automatically cancel a subscription if a user purchases a different IAP (e.g., lifetime package). For Apple, though, developers aren’t allowed to change a user’s subscription, so you should instead notify your user to cancel their annual subscription if they purchase lifetime as well.”

Sorry for the long post but with the above context, but I have some questions around my iOS App.

Do you mean we should detect the above activity after user has purchased and then notify them to cancel?

Can we notify the user about this when the user is about to buy an IAP inspite of having a subscription and vice-versa? If we are using the configurable paywall v2 - presentPaywallIfNeeded - will this case be handled automatically? Apple servers are down today so unable to check this scenario.

I have gold monthly, gold yearly, and platinum lifetime, all configured under 1 entitlement and showing up on the paywall and I am relying on the configurability of the paywall to handle this type of scenario automatically.

What is the way out here - do we use the “purchase started” callback and then fetch all the customer info and entitlements and the active package and block? Or how ?
 

 

 

4 replies

Forum|alt.badge.img+1

@Haley Pace @jeffrey_bun

Kindly help us out here, our app is waiting for review on the store and we’d like to be able to validate this for our users 🙏


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 509 replies
  • March 7, 2025

Hi ​@arjun-jain-a84726, you can check the user’s CustomerInfo to see if they own a lifetime product in the All Purchased Product Identifiers array or can check the Active Subscriptions array to see if they currently own a subscription and can take action from there.

 

One thing that you can do is perform this check before displaying the paywall and when the user tries to access it you can then notify them that they own the lifetime product or subscription and to be careful not to double-purchase access to your app. If the user already has a lifetime product, you can notify them of this and choose to not let them access the paywall by navigating back to a different page or you can display a different offering to them to prevent them from accidentally buying a subscription alongside it. 


Forum|alt.badge.img+1

Thank you for the reply ​@Haley Pace but I am using presentPaywallIfNeeded. So I assume it might be taken care of in that method itself?


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 509 replies
  • March 14, 2025

Hi ​@arjun-jain-a84726 presentPaywallIfNeeded will present a paywall only if the customer does not have the specified unlocked entitlement. The entitlement identifier is also case sensitive so you’ll want to make sure it is identical.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings