Skip to main content
Solved

Disable Purchase for current plan


James Grote
Forum|alt.badge.img+4

I have a Standard and Premium plan. If a user is sub’d to the Standard plan, how can I show the Standard plan as active and current without the purchase button? I want the user to see all plans, including their current plan. I’m trying to avoid hard-coding a current plan screen in the app.

Best answer by James Grote

Here is my SwiftUI solution. I’m using a TabView to show each available offering (e.g. Standard and Premium), and if the user has one of these offerings, I simply disable that tab and show an offering_copy that shows “Current Offering” text. 

TabView(selection: $currentTab) {
    PaywallView(offering: offering1, displayCloseButton: entitlement != entitlement_content).tag(0)
                    .disabled(entitlement == entitlement_content)
.tabItem {
                        Label("Standard", systemImage: "star.fill")
                    }

    PaywallView(offering: offering2, displayCloseButton: entitlement != entitlement_content_plus).tag(1)
                    .disabled(entitlement == entitlement_content_plus)
.tabItem {
                        Label("Premium", systemImage: "crown.fill")
}

 

This works for now.

 

Hope for something better in the future. Again, the requirement is to show all possible offerings, including the active one which is disabled. Like the CustomerCenter but with actual paywalls.

View original
Did this post help you find an answer to your question?
This post has been closed for comments

3 replies

joan-cardona
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 413 replies
  • April 25, 2025

Hi ​@James Grote,

Do you mean to configure the paywall without the plans the user is already subscribed to?

This is something that’s in our roadmap but still not available yet. You can implement Customer Center for that, which the user has the option to change plans and has this behavior out of the box.

 

Best,


James Grote
Forum|alt.badge.img+4
  • Author
  • Helper
  • 2 replies
  • April 25, 2025

I will try the Customer Center! Thanks!


James Grote
Forum|alt.badge.img+4
  • Author
  • Helper
  • 2 replies
  • Answer
  • April 29, 2025

Here is my SwiftUI solution. I’m using a TabView to show each available offering (e.g. Standard and Premium), and if the user has one of these offerings, I simply disable that tab and show an offering_copy that shows “Current Offering” text. 

TabView(selection: $currentTab) {
    PaywallView(offering: offering1, displayCloseButton: entitlement != entitlement_content).tag(0)
                    .disabled(entitlement == entitlement_content)
.tabItem {
                        Label("Standard", systemImage: "star.fill")
                    }

    PaywallView(offering: offering2, displayCloseButton: entitlement != entitlement_content_plus).tag(1)
                    .disabled(entitlement == entitlement_content_plus)
.tabItem {
                        Label("Premium", systemImage: "crown.fill")
}

 

This works for now.

 

Hope for something better in the future. Again, the requirement is to show all possible offerings, including the active one which is disabled. Like the CustomerCenter but with actual paywalls.


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