To set up products for iOS, iPadOS, macOS, tvOS, and watchOS, start by logging into App Store Connect. App Store Connect is Apple's central hub for managing app releases, TestFlight, in-app purchases, and more. This guide assumes basic knowledge of App Store Connect, as well as having an app set up and ready for adding in-app purchases. For more information, visit Apple's documentation and guides for App Store Connect.
Make sure Paid Applications Agreement is signed
Before you set up your products, make sure you have the latest Paid Applications Agreement signed in in the "Agreements, Tax, and Banking" module in App Store Connect. You will not be able to test in-app purchases until the latest version of this agreement is signed with Apple.
To create an in-app purchase, go to App Store Connect's 'My Apps' page and select your app from the list.
In the sidebar, select 'Manage' under In-App Purchases, and click the '+' symbol.
You will be presented with a modal where you select the type of in-app purchase you want to add to your app. We're going to show you how to set up an Auto-Renewable Subscription here, but the steps are similar for other types of in-app purchases.
If you don't see the Auto-Renewable Subscription option, ensure your developer account has accepted all applicable contracts and have provided tax and banking information in the 'Agreements, Tax, and Banking' section of App Store Connect.
Next, you'll be asked to provide a Reference Name and a Product ID.
- Reference Name: The reference name will be used on App Store Connect and in Sales and Trends reports from Apple. It won't be displayed to your users on the App Store. We recommend using a human readable description of the purchase you plan to set up. The name can't be longer than 64 characters.
- Product ID: The product Id is a unique alphanumeric ID that is used for accessing your product in development and syncing with RevenueCat. After you use a Product ID for one product in App Store Connect, it can’t be used again across any of your apps, even if the product is deleted. It helps to be a little organized here from the beginning - we recommend using a consistent naming scheme across all of your product identifiers such as:
<app>_<price>_<duration>_<intro duration><intro price>
- app: Some prefix that will be unique to your app, since the same product Id cannot but used in any future apps you create.
- price: The price you plan to charge for the product in your default currency.
- duration: The duration of the normal subscription period.
- intro duration: The duration of the introductory period, if any.
- intro price: The price of the introductory period in your default currency, if any.
In this case, I want to set up a yearly subscription with a one week trial for $39.99 USD. Using this format I've set my product identifier as:
Pro Tip ☝️
Using a consistent naming scheme across product identifiers in App Store Connect can save you time in the future and make it easier to organize and understand your products with only the identifier.
Once you have your product identifiers configured, the last step will be to add them to a Subscription Group. Subscription Groups are ways to organize your products in App Store Connect so users are able to switch between products.
You can read more about Subscription Groups in our blog post here.
If you don't have any Subscription Groups configured yet, you'll be prompted to provide a Reference Name. Similar to the product Reference Name you set earlier, this is not user-facing so we recommend using a string you can understand.
Once your product is created, you'll be able to set the duration of the auto-renewable subscription. Use the duration dropdown to choose an option, and click Save.
To set the price of your subscription, click the '+' icon in the Subscription Prices section.
You'll be presented with a modal where you can select a Price from a dropdown in your default currency. When you click Next, Apple will automatically set the price in all App Store regions based off the price and currency you selected. You'll have the option to edit these, but we recommend sticking with the defaults. When done, click Create.
Last step, don't forget to Save!
To add an introductory offer or free trial to your product, navigate to the Introductory Offers tab on the same page you just configured pricing. Click the '+' icon next to Introductory Offers to set one up.
You'll be presented with a modal with a few configuration screens:
- Countries or Regions for Introductory Offer: Use this if you want the introductory offer or trial to be region specific. Most of the time the answer here is "no", so go ahead and click Next.
- Introductory Offer Start/End Date: Set the start and end dates if you want the introductory offer or trial to be a limited time deal. In most cases, you'll be setting the Start Date to today and No End Date, then click Next.
On the last screen, you'll get to choose the Type of Introductory Offer. Free trials are the most common type of introductory offer, and that's what we'll set up here. Select the Free radio button and choose the desired Duration from the dropdown.
You can read more about the different Introductory Offer types in our blog post here.
Just like with regular prices, don't forget to click Save when you're done.
The next piece to set up is localization information for the App Store. This is the name and description of the in-app purchase that the user will see.
In the App Store Information section, click the '+' icon next to Localization and choose the language you with to set up.
Next, you'll need to provide a Subscription Display Name and a Description.
The Subscription Display Name and Description will be visible to the user on the App Store and in their subscription management settings. We recommend a short display name that describes the level of access the purchase unlocks, and we recommend using the same Subscription Display Name for all of your products that unlock the same level of access.
Using the same name will result in a cleaner App Store listing and cause less confusion among users as your suite of products grow.
Pro Tip ☝️
Use the same Subscription Display Name and Description for all of your products that unlock the same level of access. This results in a much cleaner App Store listing as your suite of products grows.
The last part of setting up an in-app purchase in iOS is adding information for the reviewer. This is a Screenshot, and optional Review Notes. Often times developers overlook the screenshot, but you'll be unable to submit your product for review without it.
- Screenshot: A required image of your in-app purchase paywall for the reviewer. While testing, it's okay to upload an empty 640 x 920 image here of whatever you want. Before submitting for review, you should add a picture of your paywall.
- Review Notes: An optional text area to clarify anything about your in-app purchase for the reviewer.
If you're configuring products for the first time and just set up a subscription group, you may see a warning in App Store Connect:
Before you can submit your in-app purchase for review, you must add at least one localization to your subscription group. Add localizations
Clicking on the Add localizations link will take you to the Subscription Group configuration. Similar to how you added localizations to the product, you'll need to add localizations to the Subscription Group as well.
Next, you'll need to provide a Subscription Group Display Name and an App Name. Like the Subscription Display Name you set up earlier, this will be visible to the user on the App Store and in their subscription management settings.
Subscription Group Display Name: Just like the product localizations, we recommend a short display name that describes the level of access the subscription group unlocks, and if you use a multi-subscription group strategy for things like price testing we recommend using the same Subscription Group Display Name for all of your subscription groups that unlock the same level of access.
App Name: Apple provides you with a couple of options for the app display name that the users will see on their subscription. You can choose your app name from the App Store listing, or a Custom Name. Using a Custom Name is useful if your App Store listing title is slightly different than your app name. For example, if your App Store listing was titled "VSCO - Photo Filters", you may want to use a Custom Name for your subscriptions of just "VSCO".
Pro Tip ☝️
Use the same Subscription Group Display Name if you plan on creating multiple Subscription Groups that unlock the same content. Typically these types of strategies are used for price testing and offering discounts.
Don't forget to click Save before exiting.
If you're ready to integrate your new App Store Connect in-app product with RevenueCat, continue our product setup guide .
Updated about a month ago