Links

iOS App Store Setup

Setup your account

Before you can create your In-App Purchases, you are required by Apple to request and fill out their Paid Applications contract.
To do so, log into your App Store Connect account, and go to the Agreements, Tax, and Banking section. In this section, you will see the ability to request the Paid Applications contract towards the top of the page.
After this is complete, you will now be able to add your In-App Purchases.
  • Consumable - a one-off purchase which can be repeated and keeps no history
  • Non-Consumable - a product that can only be purchased once and keeps history in your apple account. If you try and buy a second time, it reports you have already purchased and offers a free download
  • Auto-Renewable Subscription
  • Non-Renewing Subscription

Create the item or subscription to purchase

Consumable, Non-Consumable, or Non-Renewing Subscriptions
Auto Renewable Subscriptions
Required role: You must have the Account Holder, Admin, App Manager, Developer, or Marketing role to add and edit in-app purchases. See Role permissions.
  1. 1.
    From My Apps, select your app.
  2. 2.
    In the sidebar under In-App Purchases, click Manage.
  3. 3.
    To add an in-app purchase, go to In-App Purchases and click the Add button (+).
    App Details Menu
  4. 4.
    Select Consumable, Non-Consumable, or Non-Renewing Subscriptions and click Create. For auto-renewable subscriptions, see Create an auto-renewable subscription.
  5. 5.
    Add the reference name, product ID, and a localized display name.
  6. 6.
    Click Save, or Submit for Review.
    You can enter all your metadata when you create your in-app purchases, or enter your in-app purchase information later.
All in-app purchase metadata can be edited, except the Product ID and in-app purchase type. If your in-app purchase has never been submitted to Apple for review, you can make changes to your metadata. If your in-app purchase has already been submitted, some changes require approval by App Review.

Create an auto-renewable subscription

To offer auto-renewable subscriptions within your app, you must first create auto-renewable subscription products in App Store Connect. When you create your first subscription product, the App Store Connect flow will guide you to create your first subscription group. When you create additional subscription products, you'll be able to add these products to the subscriptions groups you've already created, or create a new group. Before creating subscriptions, ensure that you understand the right subscription setup for your business model. See Overview of auto-renewable subscription group setup.
To learn more about the subscription business model for your app, read Offering Subscriptions.

Create a subscription product

  1. 1.
    From My Apps, select your app.
  2. 2.
    In the sidebar under In-App Purchases, click Manage.
  3. 3.
    Scroll to the In-App Purchases section and click the Add button (+).
    App Details Menu
  4. 4.
    Select auto-renewable subscription, then click create.
    Note: If you'd like your subscription to be accessible from more than one app, create an equivalent subscription product for each app. For more information, see Offering Subscription Products Across Multiple Apps.
  5. 5.
    Add your in-app purchase reference name and product ID, then click Next.
    Create Auto-Renewable Subscription
  6. 6.
    If this is the first auto-renewable subscription product you are creating, you'll need to also create a subscription group (you'll be able to add details to it later), by selecting Choose New Subscription Group. If you've already created subscription products and groups before, add your subscription product to an existing group or create a new subscription group. Then click Create.
    Important: How you set up your subscription group or groups will determine how customers can subscribe to your content or services, how they move between subscriptions, when they are billed, and your proceeds. See [<Overview of setting up auto-renewable subscriptions>] and ensure that you understand the right subscription setup for your business model. Keep in mind that a subscription cannot belong to more than one group and cannot switch groups after it’s been created.
    Create Subscription Group
    The Subscription Group page will open.
  7. 7.
    Once you've created your subscription product, you'll be taken to its information page to add more details. Under Subscription Duration, choose a duration from the pop-up menu.
  8. 9.
    Under Localizations, click on the Add button (+) to add a language for your localized display name.
  9. 10.
    Enter your localized information.
    Understanding Subscription Group Display Name
  10. 11.
    Under App Store Promotion, optionally add a promotional image. Learn more about Promoting In-App Purchases.
  11. 12.
    Under Review Information, provide any additional information that may help the App Review team review your in-app purchase.
  12. 13.
    Click Save.
The difference between Consumable, Non-Consumable, or Non-Renewing Subscriptions, and auto-renewable Subscriptions.
Consumable
Products that are used one time, after which they become depleted and need to be purchased again, are usually implemented as consumables. For example, fish food in a fishing app could be implemented as a consumable product.
Non-Consumable
Non-consumable products are purchased once by users and do not expire or decrease with use. For example, new race tracks for a game could be implemented as non-consumable products.
Apple can host your non-consumable products for you.
Auto-Renewable Subscription
Auto-renewable subscriptions allow users to purchase dynamic content, such as magazine subscriptions, for a set duration of time. Subscriptions renew automatically unless the user opts out of the renewal. If the content you want offer doesn’t fit what’s outlined in the App Review Guidelines, consider offering the content through a non-renewing subscription.
Auto-renewable subscriptions can include an incentive to customers who share their contact information with you.
Free Subscription
Free subscriptions allow users to download dynamic content, such as magazine subscriptions, for a set duration of time. Free subscriptions are a way for developers to put free content in the Newsstand in the App Store. After a user signs up for a free subscription, the subscription content will be available on all devices associated with the user’s Apple ID. Note that free subscriptions do not expire and can be offered only in Newsstand-enabled apps.
Free subscriptions don’t offer a marketing opt-in incentive as do auto-renewable subscriptions, but users are prompted to share their information.
Free Subscriptions are not available for Mac apps.
Non-Renewing Subscription
Non-renewing subscriptions allow the sale of items with a limited duration. They are used for products that offer time-based access to static content.
If you use non-renewing subscriptions, your app is responsible for delivering the subscription to all devices associated with the user’s Apple ID.
Because a non-renewing subscription requires a user to renew each time the subscription ends, your app must contain code that recognizes when the subscription is due to expire and prompt the user to purchase a new subscription.

Setup in-app purchase testers

Setup Test Users
Clearing test purchase history
Subscription Renewal Rate
Interrupted Purchases
App Store Country or Region
You can test your app and in-app purchases without creating financial transactions by using sandbox, a test environment that uses the infrastructure of the App Store but doesn’t process actual payments. Instead, it returns transactions as if payments were processed successfully.
  1. 1.
    From Users and Access, click Testers under Sandbox.
  2. 2.
    Click the Add icon (+).
  3. 3.
    Enter the tester information, then click Invite.
Account information cannot be edited once a Sandbox Apple ID is created.
You can clear the purchase history for a tester so that you can continue to use the same sandbox Apple ID for ongoing testing. Clearing purchase history will delete all past auto-renewable subscriptions and non-consumables purchased by the selected testers in the sandbox environment. In-app purchases made by customers on the App Store are not affected.
To clear tester purchase history:
  1. 1.
    From Users and Access, under Sandbox, click Testers.
  2. 2.
    Click Edit.
  3. 3.
    Select the checkbox for each tester you want to modify and click Clear Purchase History.
  4. 4.
    Click Clear Purchase History in the dialog that appears.
    Sandbox Apple IDs with a high number of purchases may take longer to clear. This action cannot be reversed.

Subscription Renewal Rate

You can choose a subscription renewal rate for each tester to speed up or slow down how often subscriptions renew. Subscriptions are automatically canceled after 12 renewals.
By default, a one month renewal lasts 5 minutes. If you wish to speed up the renewal period, you can choose 3 minutes. If you wish to slow down the renewal period, you can choose 15 minutes, 30 minutes, or an hour.
The columns in the chart below represent each of the accelerated renewal rates you can select for a tester in App Store Connect. The corresponding test durations are listed underneath the accelerated rates for each product duration.
Actual Duration
Monthly renewal every 3 minutes
Monthly renewal every 5 minutes (default)
Monthly renewal every 15 minutes
Monthly renewal every 30 minutes
Monthly renewal every hour
1 week
3 minutes
3 minutes
5 minutes
10 minutes
15 minutes
1 month
3 minutes
5 minutes
15 minutes
30 minutes
1 hour
2 months
6 minutes
10 minutes
30 minutes
1 hour
2 hours
3 months
9 minutes
15 minutes
45 minutes
1 hour 30 minutes
3 hours
6 months
18 minutes
30 minutes
1 hour 30 minutes
3 hours
6 hours
1 year
36 minutes
1 hour
3 hours
6 hours
12 hours

You can test interrupted purchase scenarios on a device running iOS 14 or later by enabling interrupted purchases in App Store Connect for a specific tester Sandbox Apple ID. If this option is selected, on-device purchase attempts by that Sandbox Apple ID will be interrupted in the sandbox environment and continue to be interrupted until the option is deselected or the tester agrees to terms and conditions on their iOS device. This allows you to test your app’s handling of an interruption to ensure a seamless customer experience.
In general, an interrupted purchase is experienced anytime a customer needs to address an issue with their Apple ID. Some example scenarios include:
  • The user needs to agree to updated terms and conditions.
  • The user needs to update an expired payment method.
When interrupted purchase is enabled for a sandbox tester, all purchases will be interrupted for that Sandbox Apple ID, preventing the transaction from completing until resolved. In sandbox, the tester will need to agree to terms and conditions in order to complete the purchase. Purchases will continue to be interrupted on the Sandbox Apple ID until you disable the option in App Store Connect or the tester agrees to terms and conditions on their iOS device.
Follow the steps outlined in Testing In-App Purchases with Sandbox to understand what to test and how to use your device in a testing environment.
You can change the account region for a tester to any of the 175 different regions for the App Store. This allows you to continue testing on different storefronts using the same Sandbox Apple ID, without having to create new testers.
You will need to sign in again with your Sandbox Apple ID on your device to complete this change.

Create an app password

Create an App Password: used to verify purchases

  1. 1.
    Navigate to Appleid.apple.com from your web browser and sign in with your Apple ID and Password.
  2. 2.
    Verify your identity with two-factor authentication.
  3. 3.
    Under the Security section, select Generate Passwords.
    If you don't see the option to generate app-specific passwords, you'll need to enable two-factor authentication, which is different than two-step verification.
  4. 4.
    Enter a label for the password. Be sure the name relates to the app for which you are generating the password, like "Outlook" or "Thunderbird."
  5. 5.
    Select Create.
  6. 6.
    Copy the app-specific password you generated and save it in a file on your local system such that you may reference it as needed while building your app.