Subscriptions

Setting Up an App Paywall

7 minute readUpdated June 2026Explore more

TL;DR

A paywall needs three things: subscription products created in App Store Connect and Google Play Console, a tool like RevenueCat to manage them, and a paywall screen in your app. Describe what you want to Claude Code, wire up RevenueCat, test with a sandbox account, then ship.

A paywall sounds technical, but the pieces are simple once you see them laid out. You need products defined in the stores, a tool to manage subscriptions and receipts, and a screen in your app that offers the plans. Claude Code can build the screen and wire up the tool for you; your job is to understand the parts so you can steer it and test that the whole thing works before you ship.

The three pieces of a paywall

  • Subscription products created in App Store Connect and Google Play Console, with prices and durations set.
  • A subscription tool like RevenueCat that manages plans, trials, and receipts across both stores.
  • A paywall screen in your app that shows the plans and starts the purchase.
  • A way to check whether a user is subscribed so you can unlock the paid features.

Set up your products in the stores first

Before any code, create your subscription products in App Store Connect and Google Play Console. Give each a clear ID, set the price and billing period, and add a free trial if you want one. These store-side products are the source of truth for what a user actually gets charged, so get them right first. The app and RevenueCat both point back to these products.

Build the paywall screen with Claude Code

With products and RevenueCat in place, describe the paywall screen to Claude Code: the headline benefit, the plans to show, the highlighted best-value option, and the subscribe button. Claude Code writes the screen and connects it to RevenueCat so tapping a plan starts a real purchase. Preview it live in Expo on your phone and refine the wording and layout until it feels clear and honest.

Test purchases before you ship

Never assume a paywall works because it looks right. Both stores give you sandbox and test accounts that let you run real purchase flows without spending money. Buy a subscription as a test user, confirm the paid features unlock, and check that restoring a purchase works for someone who reinstalls. A paywall that charges but does not unlock, or unlocks but cannot restore, is a fast way to earn refunds and one-star reviews.

Ship, then refine

Once the paywall works end to end in testing, ship it with your app. After launch, watch your conversion in RevenueCat and refine the screen over time, testing the headline, the highlighted plan, and any trial. The first version of a paywall just needs to work and be honest; the winning version comes from testing it against real users once your app is live.

Common questions

  • What do I need to set up a paywall?

    Three things: subscription products created in App Store Connect and Google Play Console, a tool like RevenueCat to manage subscriptions and receipts, and a paywall screen in your app that offers the plans. Claude Code can build the screen and wire up the tool once the products exist.

  • Do I create the subscription in the app or the store?

    In the store first. Create your subscription products in App Store Connect and Google Play Console with their IDs, prices, and durations. Those store-side products are the source of truth for what a user is charged. Your app and RevenueCat both point back to them.

  • Why use RevenueCat instead of coding it myself?

    Because managing in-app purchases and receipts across two stores by hand is fiddly and easy to break. RevenueCat handles the plumbing, tracks who is subscribed, manages trials and renewals, and gives your app one simple way to check subscription status. Its free tier covers most new apps.

  • How do I build the paywall screen?

    Describe it to Claude Code: the headline benefit, the plans to show, the highlighted best-value option, and the subscribe button. Claude Code writes the screen and connects it to RevenueCat so a tap starts a real purchase. Preview it live in Expo and refine the wording until it feels clear.

  • How do I test a paywall without spending money?

    Both stores give you sandbox and test accounts for real purchase flows without real charges. Buy a subscription as a test user, confirm the paid features unlock, and check that restoring a purchase works after a reinstall. Testing catches the bugs that otherwise cause refunds and bad reviews.

  • What if my paywall charges but does not unlock?

    That is a wiring bug between the purchase and your subscription check, and it is exactly what sandbox testing catches. Confirm that a successful purchase updates the user's subscription status in RevenueCat and that your app unlocks the paid features off that status before you ever ship.

Add a paywall to your app without getting lost

Get the other 37 in the app user stack, plus the full App Store Launch Club community - $9/mo, cancel anytime.

Join the Club