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

Create a campaign for U.S. customers

Since the ruling only applies to customers in the United States, you can easily create a campaign filter that will match to those customers. Just create a filter where storeFrontCountryCode matches USA, like this:

5

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 as described in our Post-Checkout Redirecting docs.

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.