How to Add In-App Purchases and Subscriptions to an iPhone App (2026)

Add in-app purchases and subscriptions to an iPhone app without code: Apple's purchase types, the rules, the fees, and the steps with Borel and StoreKit.

By Sigsten Gustavii· · 9 min read

To add in-app purchases to an iPhone app, decide what is free and what is paid, choose a subscription or a one-time unlock, set up the product in App Store Connect, write the purchase and restore code with StoreKit, and test it before review. With Borel, the code and the App Store Connect setup are done for you.

What in-app purchase takes, by route
StepBy hand with XcodeWith Borel
Create the product at AppleIn App Store Connect, by handCreated for you when you publish
Write the purchase codeStoreKit 2 in SwiftBorel's store kit, called by your plan's name
Build the paywallDesign it yourselfA ready paywall, or your own design
Show the right priceLoad it from StoreKitApple's own price, never typed into the app
Restore purchasesWrite itUnder every paywall
Subscription terms and linksWrite themShown under the purchase button
A MacRequiredNot needed

In-app purchase is how most iPhone apps make money, and it is also where many apps get turned down by App Review: a missing Restore button, a price typed into the app that doesn't match the store, or unclear subscription terms. This guide explains Apple's purchase types and rules in plain words, and then shows how to add a paywall to your app with Borel.

What counts as an in-app purchase

Apple's rule is short. Guideline 3.1.1 says that if you unlock features or functionality within your app, you must use in-app purchase. That covers premium features, subscriptions, extra levels, digital content, and in-game currency. It does not cover everything you might sell:

When Apple's in-app purchase applies
What you sellUse in-app purchase?Guideline
A Pro tier, premium features, extra contentYes3.1.1
A subscription to new content or featuresYes3.1.1 and 3.1.2
Physical goods, food, tickets to real eventsNo: use another payment method3.1.3(e)
Live one-to-one services, like coaching or tutoringMay use another method3.1.3(d)

Read the full rules on Apple's App Review Guidelines page.

The four kinds of in-app purchase

Apple defines four types of in-app purchase. Picking the right one is the main decision:

Apple's in-app purchase types, and which Borel builds
TypeWhat it isExampleIn Borel's payment form
Auto-renewable subscriptionRenews until the buyer cancelsPro, monthly or yearlyYes: weekly, monthly, 2, 3 or 6 months, yearly
Non-consumableBought once, kept foreverUnlock the full recipe libraryYes: a one-time purchase
ConsumableUsed up, bought againCoins, hints, creditsNot from the form today
Non-renewing subscriptionAccess for a set time, no renewalA season passNot from the form today

For most apps, a subscription or a one-time unlock is the right choice. Subscriptions suit apps that keep giving something new, which is also what Apple's Guideline 3.1.2 expects of them. One-time unlocks suit tools that do one job well.

What Apple keeps

Apple's commission on in-app purchases
CaseApple's commissionSource
Standard rate30%App Store Review and business terms
Small Business Program, under $1 million a year15%Apple's Small Business Program page
Subscriptions after a year of paid service15%Apple's subscriptions page

You enrol in the Small Business Program separately in your developer account. Most new apps qualify, so do it before your opening sale. You also need to accept Apple's Paid Apps agreement and add banking and tax details in App Store Connect before Apple can pay you.

Designing a paywall that converts and passes review

A paywall has one job: explain what someone gets and what it costs, honestly. Apple checks that it does. Good paywalls share a pattern:

  1. A clear headline about the benefit, not the feature list.
  2. Three to five benefits, each one short.
  3. Apple's own price, with the billing period, loaded from the App Store.
  4. One main button to subscribe or buy.
  5. Restore Purchases, the subscription terms, and links to the Terms of Use and Privacy Policy under it.
  6. A way to close it without paying.

Borel's ready-made paywall follows that pattern, and its footer adds Restore Purchases, the terms and both links under any purchase button you design yourself. The app never contains a price of its own: StoreKit gives it Apple's, in the buyer's currency.

Free, then paid: where to draw the line

The hardest part is product, not code. Give enough away that people see the value, then charge for more of it:

  • A limit. Three habits free, unlimited with Pro.
  • A depth. Basic stats free, full history and charts with Pro.
  • A library. Ten recipes free, the full collection as a one-time unlock.
  • A cost you carry. Five AI answers a day free, unlimited with a subscription, which also pays for the AI.

How to price a subscription

There is no perfect price, but a few habits help:

  • Offer monthly and yearly. A yearly plan priced at roughly eight to ten months of the monthly one gives committed people a reason to stay.
  • Look at the category. Open the App Store and note what similar apps charge; price near them unless you clearly offer more.
  • Charge for what costs you money. If the paid tier uses AI or storage, the price has to cover it with room to spare.
  • Change it later. You can raise or lower prices in App Store Connect; start where it feels slightly too cheap and adjust with real numbers.

Why paywalls get rejected

Most purchase-related rejections come from a short list. Check yours against it before you submit:

Common paywall problems in App Review, and how Borel avoids them
ProblemWhat Apple wantsIn a Borel app
No Restore PurchasesA way to restore restorable purchases (3.1.1)Under every paywall
A price typed into the appThe price the App Store showsOnly Apple's price, loaded from StoreKit
Unclear subscription termsLength, price and what renews (3.1.2)Shown under the purchase button
No Terms or Privacy linksBoth reachable from the purchase screenLinked under every paywall
Unlocks without AppleNo license keys or outside codes for digital features (3.1.1)Features unlock only after a successful purchase

Testing purchases

Borel's paywall shows in the iOS Simulator in your browser and on your iPhone through Companion, so you can design and test the flow. Buying itself opens once the app is on the App Store, because Apple only takes real payments in apps installed from it. An app installed with a free Apple ID can't use in-app purchases at all; that is Apple's rule for free accounts.

How to choose the right way to add payments

  • Borel, if you want a native StoreKit paywall without writing code, with the products created at Apple for you.
  • StoreKit by hand in Xcode, if you are a developer on a Mac and need consumables or custom offers today.
  • A subscription service SDK, if you run many apps and want cross-platform analytics and experiments.
  • [CatDoes](/compare/catdoes) or [FlutterFlow](/compare/flutterflow), if you also need Android billing; check their own docs for how purchases work there.

How to do it with Borel, step by step

Step 1: Decide the plan

Write down what stays free, what is paid, whether it is a subscription or a one-time unlock, and the price.

Step 2: Fill in Payments

In your app's chat, open the + menu and choose Payments. The short form asks for three things: the plan's name, the billing cycle (weekly, monthly, every 2, 3 or 6 months, yearly, or one-time) and the price. It attaches the plan to your next message.

Step 3: Say what the plan unlocks

A message to send with the plan attached
Free people can track 3 habits. Pro unlocks unlimited habits, full history charts and custom reminder sounds. Show the paywall when someone adds a fourth habit, and from a Go Pro row in settings. Use the ready-made paywall with those three benefits.

Rivet writes the paywall in Swift on Apple's StoreKit, unlocks the features only after a successful purchase, and keeps the price as Apple's own.

Step 4: Check the paywall on a live iPhone

In the simulator, hit the limit and check the paywall appears, closes, and shows Restore Purchases, the terms and both links. Ask for changes in plain words, like "make the yearly plan the default".

Step 5: Publish

With Pro and an Apple Developer account, Publish creates the product in App Store Connect under your account at the price you chose, then builds, signs and uploads the app. Stamp checks the common reasons for rejection before you submit. After approval, purchases go live, and Apple pays you directly. See in-app purchases for more.

The Bottom Line

In-app purchase is Apple's rule for selling anything digital in an iPhone app, and getting it right is mostly about choosing the plan and showing it honestly. Borel handles the StoreKit code, the paywall, Apple's price, Restore Purchases and creating the product at Apple. You decide what is free and what is worth paying for. Open your app in Borel, choose Payments, and see your paywall on a live iPhone in minutes.

Questions people ask

Do I have to use Apple's in-app purchase?

For digital features, content and subscriptions unlocked in the app, yes, under Guideline 3.1.1. Physical goods and real-world services use other payment methods instead.

How much does Apple take from in-app purchases?

30% as standard, or 15% for developers in the Small Business Program earning up to $1 million a year, and 15% on a subscription once its subscriber has passed a year of paid service.

Can I add a subscription without writing code?

Yes. In Borel, fill in Payments with a name, cycle and price, and say what it unlocks. Borel writes the StoreKit code and the paywall, and creates the subscription at Apple when you publish.

What is Restore Purchases and do I need it?

It asks the App Store for what the person's Apple ID already bought, for example on a new phone. Apple expects it for anything that can be restored; Borel puts it under every paywall.

Can I test purchases before publishing?

You can test the paywall and the flow in the simulator and on your iPhone. Real buying opens once the app is on the App Store.

Do I need an Apple Developer account to sell?

Yes. Apple's Developer Program costs $99 a year, the app is listed under your name, and Apple pays you directly.

Can I sell coins or credits?

Apple calls those consumables, and they are allowed. Borel's payment form builds subscriptions and one-time unlocks today, so coins aren't something to ask for from the form yet.

Can I change the price later?

Yes, in App Store Connect. A Borel app always shows the price Apple gives it, so a new price appears without a new app version.

What happens when someone cancels a subscription?

People cancel in their Apple ID settings, and Apple handles it. The app asks the App Store what the person owns, so the paid features lock again when the period they paid for ends.

What is StoreKit?

Apple's framework for in-app purchases on iPhone. See StoreKit and in-app purchase in the glossary.

I started Borel because I wanted to make iPhone apps without a Mac or a team behind me. If this helped you build something, I would love to see it.

– Sigsten

Make your iPhone app in Borel

Describe the app you want and see its first screens before you pay anything.

See your app free

Keep reading