Subscription Management

Consumables & One-Time Purchases

Sell credits, tokens, boosts, and lifetime unlocks on the same paywalls as your subscriptions, in the app stores and through Stripe web checkout. Entitlements decide whether a purchase unlocks access or gets used up.

Subscriptions are most of the revenue in most apps, but not all of it. Credit packs, tokens, boosts, and lifetime unlocks are one-time purchases, and until recently they meant a second purchase path outside the paywall tooling. Superwall sells them from the same paywalls as your plans, tracks them in the same purchase history, and applies one simple rule to tell them apart. A product with an entitlement grants ongoing access. A product without one is a consumable your app grants and uses up.

How the entitlement rule works

Superwall uses entitlements to decide whether a user is active. That fits a lifetime unlock, which should turn an entitlement on forever. It does not fit a pack of 100 credits, because buying credits should not make someone a subscriber. So a consumable gets no entitlement. The purchase still lands in customerInfo.nonSubscriptions with an isConsumable flag, and your app grants the benefit on transactionComplete.

  • Lifetime access. Set the product's period to None (Lifetime / Consumable) and attach the entitlement it unlocks. After purchase, the user holds that entitlement with no expiry.

  • Consumables. Same period setting, no entitlement. Listen for the purchase in your delegate, credit the user in your own system, and make the grant idempotent so a retried event never double-credits.

  • Purchase history that includes them. Apple leaves consumables out of App Store purchase history unless you opt in. Add SKIncludeConsumableInAppPurchaseHistory to Info.plist and the SDK reads them back on iOS 18 and later, with a StoreKit 1 fallback before that.

Step-by-step guides exist for iOS and Android, with Flutter and Expo versions alongside them. Expo apps can also call consume() on an Android purchase token so a consumable can be bought again.

One-time purchases on the web

Web checkout supports Stripe one-time prices with the same rule. Create a one-off price in Stripe, import it, and it appears in Superwall with the None period. Attach an entitlement for lifetime access, or leave it off for a credit pack. Checkout runs in payment mode, so the customer pays once, no Stripe subscription is created, trial fields are ignored, and revenue is tracked as a non-renewing purchase. Redeem and Redirect modes work unchanged, so a web-bought lifetime unlock can be redeemed inside the app.

Set up Stripe one-time prices

What you can do with it

  • Put a lifetime plan on your annual paywall and test whether it lifts or cannibalizes.
  • Sell AI credits inside the app and the same pack on the web at a lower price.
  • Offer a one-time boost at the moment a user hits a limit, from a placement, with no release.
  • Report on non-renewing revenue next to subscription revenue in one set of charts.

Get started

Create the product in App Store Connect, Google Play, or Stripe, add it in Products with the None period, and decide on the entitlement. Then add the product to a paywall and handle transactionComplete if it is a consumable. If your purchases go through your own billing system, see Custom Products.

More features

Custom Products Sell through Stripe, Paddle, Polar, Appcharge, or your own checkout page from a Superwall paywall. For apps that can skip in-app purchase: US storefront links, physical goods, in-person services, and more. Subscription Management
Customers Every user's paywalls, purchases, and entitlements on one timeline — so you can answer any 'what happened to this person?' in seconds. Subscription Management
Entitlements & Products Define your products once, map them to entitlements, and check access with one call — server-synced and correct on cold launch. Subscription Management

Book a demo

Tell us a little about your app and we'll match you with the right person.

  • A personalized walkthrough of the paywall builder
  • Guidance on your monetization and pricing strategy
  • Custom implementation recommendations for your stack
  • A look at proven paywall templates
  • Revenue-optimization best practices

Get started

Build, test, and optimize your paywalls

Join 10,000+ apps using Superwall to grow subscription revenue without shipping an app update.

Start for free

No credit card required