Product & plans setup

This section explains how to manage the catalogue of In-App Purchases and Subscriptions in the Purchasely Console

General process

Purchasely offers the possibility to add new In-App Purchase to your catalogue in the app remotely, without needing any app submission.

The general process for adding new In-App Subscriptions and In-App Purchases to your app is the following:

  1. Create the In-App Subscription or In-App Purchase in each store.
  2. Create a Plan in the Purchasely Console and attach it to a Product
  3. Map the Plan with the App store In-App Subscription by pasting the store product Id (also called SKU Id further)

Configuring a Product

The first step before creating a Plan is to create the Product to which the Plan will be associated.

A Product is the equivalent of a Subscription Group in the App Store Connect Console. If you don't know what a Subscription Group is, here is everything you need to know about them.

Follow these steps:

  1. Browse to the section Products & Plans in the Purchasely Console

  2. Click on the button + Add new Product in the upper right corner

  3. Fill in the fields:

    • Name: display name in the Purchasely Console
    • Id: the internal Id you want to give to the Product
    • Description (optional): only used in the Purchasely Console, to record whatever information you need to remember for that Product

Configuring a Plan

  1. Create the new In-App Purchase or In-App Subscription in each App store.
    You can follow these guides:

  2. Create a Plan in the Purchasely Console

  3. Fill in the fields:

    • Name: the display name in the Purchasely Console
    • Id: the internal Id you want to give to the Plan
    • Description (optional): will only be displayed in the Purchasely Console
    • Type: choose a value among the following
      • Renewing Subscription: used for In-App Subscription which renew automatically at the end of each billing cycle.
        99.9% of the subscriptions are like this in the App stores.
      • Non-renewing Subscription: In-App Subscription which does not renew automatically.
        Almost no app uses them.
      • Consumable: In-App Purchase that can be purchased several times.
        Eg: a stack of coins that can be bought again one consumed.
        ⚠️ Note: Consumable cannot be restored.
      • Non Consumable: In-App Purchase that can be purchased only once and remains forever.
        Eg: a book or an album.
        Contrary to Consumable, Non Consumable can be restore>>d.
    • Level: used to order Plans inside a Product to define upgrade/downgrade policies. See below
    • Default paywall (optional): this parameter is used for Promoting In-App Purchases on the App Store.
    • Then for each App store or payment platform (Stripe), you can associate the App store product id that you can gather directly from the store.

Ordering the Plans inside a Product

The parameter Level associated to a Plan allows to define upgrade/downgrade/crossgrade policies within a Product for the Play Store, like it's possible for the App Store.


When switching from Plan A to Plan B within the same Product, the migration policy applied will be based on their levels:

  • Upgrade (Level Plan A < Level Plan B) - 2 different policies are applied for each store:
    • App Store: The user is immediately upgraded and receives a refund of the prorated amount of their original subscription.
    • Play Store: The user is immediately upgraded and the remaining time will be prorated and credited to the user
  • Downgrade (Level Plan A > Level Plan B): The subscription continues until the next renewal date, then is renewed at the lower level and price.
  • Crossgrade: (Level Plan A = Level Plan B):
    • App Store:
      • If Plan A periodicity = Plan B Periodicity (e.g. Monthly -> Yearly): The crossgrade happens immediately and the user is refunded for the time that was left on Plan A
      • If Plan A periodicity != Plan B Periodicity (e.g. Monthly -> Monthly): The crossgrade happens when Plan A expires
    • Play Store: The new subscription begins immediately without changing the current billing cycle. The new price will be applied at the beginning of the next billing cycle (IMMEDIATE_WITHOUT_PRORATION)

In short:

  • the Plans offering more benefits and with higher prices should have higher levels
  • the Plans offering less benefits with lower prices should have lower levels
  • Plans with equivalent benefits or prices should have the same levels
  • if you want the same migrations policies as in the App Store, you should rank Plans in the same order as in the corresponding Subscription Group (reading top down)

🚧

Difference of ordering between the App Store Connect and the Purchasely Console

When ordering subscriptions within a Subscription Group in the App Store, the value provided is a rank. Subscriptions are ordered by rank ascending.

In the App Store the highest value subscriptions have the lowest ranks.

In the App Store the highest value subscriptions have the lowest ranks.

In the Purchasely Console, Plans are ordered by Level descending. Highest value plans have therefore the highest Levels.


What’s Next

It's time to start with the integration of the SDK! Follow the SDK Quick Start guide 👇