# Stripe Redirect Checkout on iOS: What's Actually Allowed

> By Lawrence Arya, Founder & CEO of VP0. Published 2026-06-01, updated 2026-06-02. 5 min read.
> Source: https://vp0.com/blogs/stripe-redirect-checkout-ui-ios-app-store-bypass-free-ios-template-vibe-coding-g

External Stripe checkout is legitimate for physical goods and, with the right entitlement, some digital ones. Using it to dodge IAP for digital goods gets you rejected.

**TL;DR.** Stripe checkout via a redirect is fully allowed for physical goods and real-world services, where Apple actually forbids IAP. For digital goods and subscriptions, Apple requires In-App Purchase, except where you use the official External Purchase Link entitlement that regulators now permit in some regions. Build the checkout UI free from a VP0 design, but do not use a redirect to dodge IAP for digital goods: that is an App Store rejection. Know which bucket you are in first.

Thinking about a Stripe redirect checkout on iOS to skip App Store fees? The short answer: it depends entirely on what you sell. For physical goods and real-world services, external Stripe checkout is not a bypass, it is the required method. For digital goods, Apple requires In-App Purchase, and using a redirect to dodge it gets you rejected. Build the checkout UI free from a VP0 design, the free iOS design library for AI builders, but get the category right first. For context, the App Store [blocked more than $1.8 billion in fraudulent transactions in 2023](https://www.apple.com/newsroom/2024/05/app-store-stopped-over-7-billion-usd-in-potentially-fraudulent-transactions/).

## Who this is for

This is for builders selling through an iOS app who are weighing Stripe against In-App Purchase, and want the honest, compliant answer rather than a risky workaround that fails review.

## The rule that actually matters

Apple draws a clear line. Physical goods and real-world services, a meal, a ride, a haircut, a physical product, must use an external processor like Stripe, and Apple forbids IAP for them. Digital goods and subscriptions, content or features unlocked inside the app, must use In-App Purchase, with one growing exception: the official External Purchase Link entitlement that regulators in some regions (such as the US and EU) now require Apple to permit. Outside that entitlement, there is no legitimate hidden bypass for digital purchases. The [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/) define it, [Stripe Checkout](https://docs.stripe.com/payments/checkout) handles the external payment, and Apple takes 15 to 30 percent on IAP, which is what makes people ask the question.

| What you sell | Allowed method | Notes |
|---|---|---|
| Physical goods | Stripe (external) | IAP not allowed for these |
| Real-world services | Stripe (external) | Rides, food, bookings |
| Digital goods or subscriptions | In-App Purchase | Required by default |
| Digital, with entitlement | External link, where permitted | Use the official entitlement only |
| Person-to-person payments | Stripe (external) | Not a digital good |

## Build the checkout UI free with a VP0 design

For the cases where external checkout is correct, build the UI from a VP0 design. Pick a checkout or cart screen, copy its link, and prompt your AI builder:

> Build a SwiftUI cart and checkout screen from this design: [paste VP0 link]. Show line items and an honest total, then a checkout button that hands off to Stripe Checkout for a physical-goods order. Match the palette and spacing from the reference, and generate clean code.

For neighboring payments and monetization patterns, see [an in-app purchase paywall UI template in SwiftUI](/blogs/in-app-purchase-paywall-ui-template-swiftui/) for the digital-goods path, [a Stripe checkout UI in React Native](/blogs/stripe-checkout-ui-react-native/), [freemium versus free-trial paywalls compared](/blogs/freemium-vs-free-trial-paywall-ui-comparison/), and [a banco digital UI template gratis](/blogs/banco-digital-ui-template-gratis/).

## Do it right, not around the rules

Decide the category before you build: physical or service means Stripe, digital means IAP unless you qualify for the external-link entitlement. If you are selling digital goods and tempted to route around IAP with a quiet redirect, do not, it is the most common reason apps get rejected or pulled, and the savings are not worth the risk. If you operate in a region with the external-purchase entitlement, use it through the official program with the required disclosures. Honest beats clever here, because Apple reviews for exactly this.

## Common mistakes

The first mistake is using a Stripe redirect for digital goods to dodge IAP, which fails review. The second is using IAP for physical goods, which Apple does not allow. The third is assuming the external-link entitlement applies everywhere; it is region-specific. The fourth is hiding the payment handoff. The fifth is paying for a checkout kit when a free VP0 design plus Stripe does it.

## Key takeaways

- Physical goods and services must use Stripe; Apple forbids IAP for them.
- Digital goods and subscriptions require IAP, except via the official External Purchase Link entitlement where permitted.
- There is no legitimate hidden bypass for digital purchases; dodging IAP gets you rejected.
- Build the checkout UI free from a VP0 design and hand off to Stripe for physical orders.
- Decide your category first, then pick the compliant method.

## Sources

- [Stripe Payments documentation](https://docs.stripe.com/payments): accepting payments through a certified provider.
- [Apple App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/): the rules on digital goods and in-app purchase.
- [React Native architecture overview](https://reactnative.dev/architecture/landing-page): how React Native renders real native views.

## Frequently asked questions

Can I use Stripe instead of In-App Purchase on iOS? Yes for physical goods and services, where Apple requires it. For digital goods, IAP is required except via the official External Purchase Link entitlement in some regions.

Is a Stripe redirect an App Store bypass? Not for physical goods, where it is required. For digital goods, dodging IAP outside the official entitlement is against the rules and leads to rejection.

When is external Stripe checkout the right choice? For physical products, real-world services, or person-to-person payments. For in-app digital content, default to IAP unless you use the external-link entitlement.

How do I build the checkout UI? Build the cart and checkout from a free VP0 design, then hand off to Stripe Checkout for physical goods, keeping totals honest and following Apple's rules for your category.

## Frequently asked questions

### Can I use Stripe instead of In-App Purchase on iOS?

Yes for physical goods and real-world services, where Apple actually requires an external processor like Stripe and forbids IAP. For digital goods and subscriptions, Apple requires In-App Purchase, except where you use the official External Purchase Link entitlement that some regions now allow. Know which category your sale is in.

### Is a Stripe redirect an App Store bypass?

Not for physical goods, where it is the correct and required method. For digital goods, using a redirect to avoid IAP outside the official entitlement is against the rules and leads to rejection. There is no legitimate hidden bypass for digital purchases.

### When is external Stripe checkout the right choice?

When you sell physical products, real-world services, or person-to-person payments, Stripe is correct because Apple does not allow IAP for those. For digital content unlocked in the app, default to IAP unless you qualify for and use the External Purchase Link entitlement.

### How do I build the checkout UI?

Build the cart and checkout screen from a free VP0 design, then hand off to Stripe Checkout or a Stripe payment sheet for physical goods. Keep the handoff clear and the totals honest, and follow Apple's rules for your category.

---
*Published on the [VP0 Journal](https://vp0.com/blogs). Free to read, index and cite with attribution.*
