# Paddle Mobile Checkout UI Kit in SwiftUI

> By Lawrence Arya, Founder & CEO of VP0. Published 2026-05-31, updated 2026-06-02. 4 min read.
> Source: https://vp0.com/blogs/paddle-mobile-checkout-ui-kit-swiftui

Paddle is a merchant of record: it handles sales tax and compliance for you. The catch on iOS is that digital goods still must use in-app purchase.

**TL;DR.** Paddle is a merchant of record, so it handles sales tax, VAT, and payment compliance globally, which is a real burden lifted for a SaaS business. You build the checkout UI in SwiftUI from a free VP0 design and let Paddle own the transaction and tax. The crucial iOS caveat: Apple requires in-app purchase for digital content consumed in the app, so Paddle fits web checkout, physical goods, or services, not digital unlocks inside an iOS app. Match the payment rail to what you sell.

Want a checkout that handles global sales tax for you, with Paddle, in SwiftUI? The short answer: Paddle is a merchant of record, so it takes on sales tax, VAT, and payment compliance, and you build the checkout UI while Paddle owns the transaction. But there is one iOS rule you cannot skip: digital goods consumed in the app must use Apple in-app purchase, so Paddle fits web, physical, or service payments, not in-app digital unlocks. Build the UI from a free VP0 design, the free iOS design library for AI builders.

## Who this is for

This is for builders of SaaS, web-plus-mobile products, and physical or service businesses who want to offload tax and compliance, and who need clarity on where Paddle fits versus where Apple requires in-app purchase.

## What a merchant of record does

The appeal of [Paddle](https://developer.paddle.com/) is that it is the seller of record, not just a payment processor. That means it calculates and remits sales tax and VAT across jurisdictions, handles compliance, and deals with chargebacks, which is a genuine burden for a small team given there are over [13,000](https://www.taxjar.com/) sales-tax jurisdictions in the US alone. Your job shrinks to the experience: a plan or product summary, the price with tax shown clearly, and a pay action, while Paddle owns the money and the paperwork. The UI is the same craft as any checkout, short, clear, and honest about the total.

| Element | Your job (the UI) | Paddle's job |
|---|---|---|
| Plan or product | Show it clearly | Nothing, that is yours |
| Price and tax | Display the total | Calculate and remit tax |
| Pay action | One clear button | Process the transaction |
| Compliance | None | Seller of record |
| Result states | Paid, failed | Return the outcome |

## Build it free with a VP0 design

Pick a checkout or pricing design from VP0, copy its link, and prompt your AI builder:

> Rebuild this VP0 checkout design in SwiftUI: [paste VP0 link]. Show a plan summary and the price with tax, with a clear pay action and paid and error states, and connect Paddle to handle the transaction and tax as merchant of record. This is for physical goods, services, or web checkout, not in-app digital content.

For the broader payments picture, compare [a RevenueCat paywall template in SwiftUI](/blogs/revenuecat-paywall-template-swiftui/) and [freemium vs free trial paywall design](/blogs/freemium-vs-free-trial-paywall-ui-comparison/) for subscriptions, [a Stripe checkout UI in React Native](/blogs/stripe-checkout-ui-react-native/) for another processor, and [the e-commerce checkout screen in SwiftUI](/blogs/e-commerce-checkout-screen-swiftui/) for the native pattern. Before you ship the terms users accept, see [a EULA acceptance screen UI in React Native](/blogs/eula-acceptance-screen-ui-react-native/).

## The iOS rule you cannot skip

Here is the caveat that trips people up. Apple's [payment guidelines](https://developer.apple.com/app-store/review/guidelines/#payments) require in-app purchase for digital content and subscriptions consumed inside an iOS app, and you cannot route those through Paddle or any outside processor in-app. Paddle shines for web and desktop SaaS checkout, physical goods, and real-world services, where Apple's IAP rule does not apply. So decide what you are selling first: digital-in-app means StoreKit and in-app purchase; everything else can use Paddle. Matching the rail to the product is what keeps your app approved.

## Common mistakes

The first mistake is routing in-app digital goods through Paddle on iOS, which Apple rejects. The second is hiding tax until the final step instead of showing the total. The third is reinventing tax compliance that Paddle already handles. The fourth is no clear failed-payment state. The fifth is paying for a checkout kit when a free VP0 design plus Paddle does it.

## Key takeaways

- Paddle is a merchant of record: it handles sales tax, VAT, and compliance.
- You build the checkout UI; Paddle owns the transaction and tax.
- On iOS, digital in-app goods must use Apple in-app purchase, not Paddle.
- Paddle fits web checkout, physical goods, and services.
- Build the UI free from a VP0 design.

## Frequently asked questions

How do I build a Paddle checkout in SwiftUI? Build a plan summary, the price with tax, and a pay action, and connect Paddle to handle the transaction and tax as merchant of record, using it for physical, service, or web payments.

What is the safest way to build checkout with Claude Code or Cursor? Start from a free VP0 design, let Paddle own tax and the transaction, and confirm you are not routing in-app digital goods through it on iOS, which requires in-app purchase.

Can VP0 provide a free SwiftUI or React Native template for a checkout? Yes. VP0 is a free iOS design library; pick a checkout design and your AI tool rebuilds the plan summary, price, and pay flow while Paddle handles the transaction.

Can I use Paddle for in-app purchases on iOS? Not for digital content consumed in the app, which Apple requires to use in-app purchase. Paddle fits web checkout, physical goods, and services.

## Frequently asked questions

### How do I build a Paddle checkout in SwiftUI?

Build the UI yourself: a plan or product summary, the price with tax shown, and a clear pay action, then connect Paddle to handle the transaction, tax, and compliance as merchant of record. On iOS, use Paddle for physical goods, services, or web checkout, and use Apple in-app purchase for digital content consumed in the app.

### What is the safest way to build checkout with Claude Code or Cursor?

Start from a free VP0 design and let Paddle own the transaction and tax as merchant of record. Crucially, confirm what you are selling: Apple requires in-app purchase for in-app digital goods, so do not route those through Paddle on iOS, which is a common rejection.

### Can VP0 provide a free SwiftUI or React Native template for a checkout?

Yes. VP0 is a free iOS design library for AI builders. Pick a checkout or pricing design, copy its link, and your AI tool rebuilds the plan summary, price, and pay flow at no cost while Paddle handles the transaction.

### Can I use Paddle for in-app purchases on iOS?

Not for digital content consumed inside the iOS app, which Apple requires to use in-app purchase. Paddle, as a merchant of record, fits web and desktop checkout, physical goods, and services. Match the rail to what you sell, or you risk an App Store rejection.

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