Paywall / Store page
Store page
The Store is your hosted pricing page — the screen a buyer sees before checkout, with one card per plan. In the dashboard preview the cards render straight from your products, so there's nothing to design up front. This tab is where you make it yours: layout, ordering, badges, and per-card copy.
/buy checkout returns 404. Full integration on the Store page.Access Gate
The Access Gate answers two separate questions, and the second one only appears once the first is on.
1. “Plan required” — is the app paid?
| Switch | What happens |
|---|---|
| On | Everyone needs a plan. New and existing users without one are sent to the store to choose — a free plan, if you have one, is one click with no card. |
| Off | Nobody is gated: everyone gets into the app without a plan. Selling is off too — buyers get no store to open and checkout is refused until this is on. Your store cards stay saved. |
It fires on sign-in as much as sign-up: switch it on later and your existing users without a plan meet the same gate, as does a customer whose plan lapsed. A plan priced at 0 satisfies it exactly like a paid one — the gate asks whether there is a plan, not whether money changed hands.
2. Where people buy. Two choices, for the whole app on every platform. A new app starts with Show the store; you can switch at any time.
| Choice | What your users get |
|---|---|
| Show the store (default) The usual choice. People can buy inside your app. You are responsible for the app store rules of every platform you ship to. | The store opens in-app and buyers check out there. On iOS and the Mac App Store this is the choice that puts App Review guideline 3.1.1 on you — see Store in your app. |
| Sign in only The exception. Your app never sells. People buy on your website (embed the store there); the app only signs them in. Use this when a store's rules forbid your own payments in the app — for example Apple's App Store — or when you deliberately sell only on the web. | The app never sells inside itself, on any platform. Sign-up disappears from the hosted sign-in page, the in-app store refuses to open, and the customer portal hides buying and plan changes. A signed-in user with no plan sees “No active plan — this account doesn't have access to {your app} right now” and can switch account. |
When your app (or one of its platform apps) can ship to Apple, the dashboard adds a note under the choice: Shipping to Apple's App Store? Showing your own store inside an iOS or Mac App Store app can fail App Review — choose Sign in only for an app you ship there.
Your SDK sees the choice as in_app_store_allowed in /api/sdk/config, so you can hide your own “Upgrade” buttons without hard-coding anything. If your code opens the store anyway, the endpoint answers 409 in_app_store_not_allowed — a loud error while you're building, rather than a silent nothing that surfaces as a rejection weeks later.
Toggle Plan required. With it on, pick Sign in only or Show the store under Where people buy. On an Umbrella app, choose per platform app in the list.
Products vs Options — the one concept to get
A product is what the buyer pays for. An option is a card on the store page that points at a product. With no options, every active product gets an automatic card. Add options when you want control: a different card order, custom copy, a “Contact sales” card, or two cards selling the same product with different framing.
| You want to… | Do this |
|---|---|
| Just show my products | Nothing — cards render from Products automatically. |
| Reorder / restyle the cards | Click + Add option per card, pick its target product, drag to order — first in the list = first on the page (top card in Stack, top-left in Grid). |
| Custom card text | On the option, turn “Inherit display from product” off — then override title, description, price display, badge, button text, features, footer and color. |
| A “Contact sales” style card | Custom option with a free-form price display (e.g. “Contact sales”). |
Click + Add option, pick its Target product in the editor, drag cards in the left list to set their order. To customise copy, switch “Inherit display from product” off.
Choose a layout
| Layout | Best for |
|---|---|
| Stack | One plan, or a simple top-to-bottom comparison. Calm, mobile-friendly. |
| Grid | Two to four plans side by side — the classic pricing page. |
| Featured | One hero card above smaller siblings. Mark a card with “Mark as featured” (only one per app — promoting a new one demotes the old). |
Pick Stack, Grid or Featured — the preview on the right re-renders instantly. For Featured, mark the hero card with “Mark as featured” in its option editor.
Polish the details
The Settings panel groups the store-wide knobs:
| Group | Controls |
|---|---|
| Header | Heading, subheading, your app logo, alignment. |
| Card display | Card width (Narrow → Extra wide), card borders, compact mode. |
| Pricing display | Show the old price on sale, the “Save X%” pill, CTA alignment, monthly/annual toggle alignment, badge style (pill / ribbon / corner). |
| Featured card | Hero border width & color. |
Everything previews live on the right — toggle Web / Mobile to check both. Colors and typography come from your app's Branding, so the store matches the rest of your product.