Creating In-App Purchase Products

In-app purchase lets you sell a variety of virtual items directly within your free or paid app. This chapter describes the in-app purchase product types and shows you how to configure them in iTunes Connect.

About In-App Purchase Products

Read Table 1-1 to know how to choose among the different product types of in-app purchases.

Table 1-1  In-app purchase product types

Product type

Description

Consumable

A product that is used once, after which it becomes depleted and must be purchased again. Example: fish food in a fishing app.

Non-Consumable

A product that is purchased once and does not expire or decrease with use. Example: Race track for a game app.

Apple can host your non-consumable products for you. See Hosting Non-Consumable Products with Apple.

Auto-Renewable Subscription

A product that allows users to purchase dynamic content for a set period. This type of Subscription renews automatically unless cancelled by the user. Example: Monthly subscriptions for an app offering streaming services.

Non-Renewing Subscription

A product that allows users to purchase a service with a limited duration. The content of this in-app purchase can be static. This type of Subscription does not renew automatically. Example: Annual subscription to a catalog of archived articles.

Configuring an In-App Purchase Product

Each developer account can create up to 10,000 in-app purchase products across all the apps in the account. Every product you want to offer in your store must be configured in iTunes Connect. Because in-app purchase products are associated with a single app, you create them from the in-app purchase section under Features in iTunes Connect.

bullet
To create an in-app purchase product
  1. As an iTunes Connect user with an Admin or App Manager role, sign in to iTunes Connect.

  2. On the iTunes Connect homepage, click My Apps.

    ../Art/MyAppsIcon_2x.png
  3. Select the app for which you want to enable in-app purchase.

    If you don't see the app you are looking for on the My Apps page, you can search for the app using a variety of criteria. In the Search box, choose the criteria you want to use to search for an app. The view starts filtering the list of apps as soon as you start typing:

    • Name. Enter the name or a portion of the name.

    • Apple ID. Enter the Apple ID of the app. This value must match exactly to return an app.

    • SKU. Enter the SKU of the app.

    If no apps are listed, then the criteria you type match no apps.

  4. After selecting the app, click Features.

    ../Art/AppDetails-menu-4_2x.png../Art/AppDetails-menu-4_2x.png
  5. Under In-App Purchases, click the Add button (+) as highlighted in the screenshot above.


  6. In the section for the type of in-app purchase you want to create, click Create.

    The in-app purchase product type cannot be changed once your in-app purchase has been created.

  7. In the Reference Name field, enter an internal name for the product.

  8. In the Product ID field, enter an alphanumeric identifier for the product.

    In iTunes Connect, you identify the in-app purchase product using a string called a product identifier. For example, com.company.app_name.productid. When your app uses Store Kit to communicate with the App Store, it uses product identifiers to retrieve the configuration data you provided for the products. Later, when a user wants to purchase a product, your app identifies the product to be purchased using its product identifier.

    Note that product identifiers are unique to the app. For example, you need separate identifiers for products available from the Mac version of an app and for products available from the iOS version of an app.

  9. For auto-renewable subscriptions, create a New Subscription Group, or add it to an existing group. All auto-renewable subscriptions must be part of a group. You can learn more in Understanding Subscription Groups and Durations.

  10. Specify whether the product is cleared for sale.

    You can come back to this item at any time to release the product for sale.

  11. Choose a price tier.

    The price tier determines both the customer price and your proceeds (which is the net price after taxes, where applicable, have been taken out). Auto-renewable subscriptions have some unique pricing options, you can learn more in Setting up your Auto-Renewable Subscriptions Pricing .

  12. Configure the product display text for at least one language, as described in Displaying Products in More Than One Language.

  13. In the Review Notes section, enter information that can help Apple review the product.

  14. Upload a screenshot of the product as it appears on the device.

    This screenshot is used for Apple’s review only and is not displayed on the App Store.

    Screenshot requirements can be found in the Product Properties table.

  15. Click Save.

    Your in-app purchase product appears on the app’s In-App Purchases page. If the product is Ready to Submit, the product’s configuration is complete and ready for you to test the product with your app.

Understanding Subscription Groups

When you configure your in-app purchase subscriptions in iTunes Connect, you'll need to create at least one subscription group. Subscription groups can consist of several in-app purchase subscriptions with varying levels and durations. Details about creating subscriptions groups, setting durations, and creating levels are outlined in Subscription Groups in iTunes Connect . Information about the customer’s view can be found in Subscription Groups on a Consumer Device. To learn more about the subscription business model for your app, read Offering Subscriptions.

Subscription Groups in iTunes Connect

When you create an auto-renewable subscription for the first time, you'll need to enter the Reference Name and Product ID. The reference name will only be used on iTunes Connect and won't be displayed on the App Store. The name must be unique and can't be longer than 64 characters. You’ll be able to enter the Subscription Display name for the App Store later in the Localization section.

../Art/Subscription_Groups_in_iTunes_Connect_1.shot/Resources/shot_2x.png

When you click Next, you'll see either an option to create a subscription group with a Subscription Group Reference Name or an option to choose from an existing subscription group. This reference name is also just for iTunes Connect and won’t be displayed on the store. A subscription cannot belong to more than one group and cannot switch groups after it’s been created.

../Art/Subscription_Groups_in_iTunes_Connect_2.shot/Resources/shot_2x.png

After you create the auto-renewable subscription and its group, you'll see a new section in Features called Subscription Groups. In this section you can click into the in-app purchase subscription and select from a number of duration options. On the Subscriptions Group page, you can determine the subscription levels for your in-app purchase. Each subscription can only have one duration. If you’d like to add a second duration to the same product, you’ll need to create an additional subscription.

../Art/Understanding_Subscription_Groups4.shot/Resources/shot_2x.png../Art/Understanding_Subscription_Groups4.shot/Resources/shot_2x.png

You can assign every in-app purchase within a subscription group to a subscription level. Subscription levels will be listed in the order they are created, but you can reorder them by dragging and dropping.

../Art/Understanding_Subscription_Groups3.shot/Resources/shot_2x.png../Art/Understanding_Subscription_Groups3.shot/Resources/shot_2x.png

Your subscription levels should be listed in descending order, with the one that offers the highest level of service (in terms of the content not the duration) listed first. You can add more than one subscription to each level if the service provided is determined to be equal, even if they have varying durations. You can also assign all your subscriptions to an equal level. These levels will determine if customer changes are an upgrade, downgrade, or crossgrade between levels, as defined below.

  • Upgrade. When a customer switches from a subscription in a lower level to a subscription in a higher level. This change goes into effect immediately.

  • Downgrade. When a customer switches from a subscription in a higher level to a subscription in a lower level. This changes goes into effect on the customer's next renewal date.

  • Crossgrade. When a customer switches between subscriptions within the same level. If the in-app purchases are of the same duration, the crossgrade goes into effect immediately. If the in-app purchase are of different durations, the crossgrade goes into effect on the customer’s next renewal date.

When subscribers move between levels within a subscription group, their number of days of paid service is retained. If they switch to a subscription within a new subscription group, the days of paid service resets on the date they begin their new subscription. Once a customer has reached one year of paid service, you receive 85% of the subscription price.

Note that upgrades, downgrades, and crossgrades are only supported within a subscription group, and not across  different groups.

All subscriptions must be part of a group, however you are not required to differentiate them into levels. For example, you can choose to offer a single subscription in-app purchase, or you can choose to offer multiple subscriptions and assign them all to the same level within the group.

For more information about subscriptions, see Offering Auto-Renewable Subscriptions.

Subscription Groups on a Consumer Device

After users purchase an auto-renewable subscription, they see a Confirm Your Subscription dialog. The confirmation includes the subscription’s display name and its duration:

../Art/iap_confirm_subscription_2x.png

After confirming the purchase, users sign in to their App Store account, if they aren’t already signed in. If the product is a Magazines & Newspapers app with Newsstand kit implemented, and an opt-in incentive is configured, the personal data sharing dialog appears, asking users to choose to share their information with you. The prompt includes the opt-in incentive duration. Users can select Don't Allow in this dialog and still purchase the subscription.

../Art/iap_share_info_2x.png

After iOS 10.0 launches, Apple will introduce an updated subscription management page. The example below illustrates how your app’s metadata will display on this page, showing different levels within the subscription group along with their durations. Users can see when a subscription renews; upgrade, downgrade, or crossgrade between levels; and can cancel their subscription.

../Art/Subscription_Groups_on_a_Customer_Device__3.shot/Resources/shot_2x.png../Art/Subscription_Groups_on_a_Customer_Device__3.shot/Resources/shot_2x.png

After users purchase a subscription, they receive a subscription confirmation email with information regarding the subscription they have purchased. The display name that you choose for your in-app purchase product (as appropriate for this user’s territory) appears in the confirmation email as the “Name of Subscription.”

Hosting Non-Consumable Products with Apple

Apple can host your non-consumable products for you. Apple provides a reliable and familiar experience for users and handles distributing products to their devices and restoring products if needed.

When you host content with Apple, Apple stores your app’s content using the same infrastructure that supports other large-scale operations, such as the App Store. Additionally, Apple automatically downloads Apple-hosted content in the background even if your app isn’t running.

You can choose to have Apple host in-app purchase products when you first create the products in iTunes Connect. You can also convert content that you are currently hosting on your own servers to be hosted by Apple.

To host content with Apple, you submit the content to Apple for review. You create a product in Xcode using an In-App Purchase Content template, include your content, and upload it to iTunes Connect using the Archive process. Alternatively, you can create a .pkg file from Xcode for each product and upload them all at once using Application Loader. See Using Application Loader more information about submitting in-app purchase metadata and content to iTunes Connect.

bullet
To enable content hosting
  1. Create a new non-consumable product, as described in To create an in-app purchase product.

    Alternatively, open the In-App Purchase page for an existing non-consumable product.

  2. In the In-App Purchase section, Hosting Content with Apple area, select Turn on Content Hosting.

    ../Art/Hosting_Non-Consumable_Products_with_Apple_Step2.shot/Resources/shot_2x.png../Art/Hosting_Non-Consumable_Products_with_Apple_Step2.shot/Resources/shot_2x.png

Verifying an Auto-Renewable Subscription Receipt

To increase the security of the transaction between your app and Apple’s servers when validating an auto-renewable subscription, you can include a string of 32 randomly generated alphanumeric characters in the transaction receipt. Generate this parameter, known as the shared secret, in iTunes Connect.

For information about incorporating the shared secret into your app’s receipt handling, see Receipt Validation Programming Guide.

There is only one shared secret per organization; make sure that when you generate a new shared secret, all apps submitted for your organization use the new value to verify auto-renewable subscriptions.

bullet
To generate a shared secret
  1. Open the App.

  2. Click Features.

  3. From In-App Purchases, click View Shared Secret.

    ../Art/iap_generate_secret_2x.png../Art/iap_generate_secret_2x.png
  4. Click Done.

You can access the In-App Purchase Shared Secret page from inside the In-App Purchases page for an app or from the Ellipsis (…) menu in the upper left corner of the My Apps page. This link is visible if you have at least one auto-renewable subscription set up for any app.

../Art/EllipsesMenuIAP_2x.png

Providing Access to Privacy Policies for Subscriptions

If your app collects user or device-related data, iTunes Connect asks for a URL linking to a privacy policy that applies to your app. Privacy policy URLs are required for apps that offer auto-renewable subscriptions, or as required by law. Supply a privacy policy in each language in which your app displays on the App Store.