For customers in the United States, you can offer Stripe products directly from your iOS paywalls. This is a great way to streamline the checkout process and make it easier for users to purchase your products.

1

Configure Web Checkout

First, follow the web checkout setup guide to create a Stripe app and configure your web checkout settings. Specifically, you’ll need to complete the first three steps. This includes setting up your Stripe keys and configuring your app’s settings.

2

Add a Stripe product to an iOS paywall

Select a paywall and add a Stripe product to it. This will allow users to purchase the product directly from the paywall. Stripe products are prepended with “stripe” in the product selector:

3

Choose Web Checkout Location

You can control whether or not Stripe checkout opens in your app via Safari, or externally in the Safari app:

4

Respond to Checkout

From there, the flow works the same way as it would for web checkout. Once the payment succeeds, the Superwall delegate functions willRedeemLink() and didRedeemLink(result:) will be called. You can use these functions to handle the deep link in your app if you need to show any specific UI.

Additionally, the subscription status will be updated automatically and the delegate callback func subscriptionStatusDidChange(from oldValue: SubscriptionStatus, to newValue: SubscriptionStatus) will be called. If you’re using a PurchaseController, refer to the docs here.

If you need to test checkout, learn how here.