Docs

Omnichannel Subscriptions 

Omnichannel Subscriptions refer to a subscription model that allows businesses to manage and track subscriptions across multiple channels, such as web, mobile apps, and cloud marketplaces.

Every Omnichannel Subscription has a designated source that indicates where it was created. Like the subscription created in Apple will have the source as Apple App Store. This source owns the subscription and is responsible for its management. Chargebee relies on webhook events from these sources to update subscription statuses, meaning Chargebee's billing engine does not manage the subscription state.

This model is particularly beneficial for companies looking to leverage multiple sales channels to maximize customer engagement and revenue potential.

Note

This solution is currently available only for the Apple App Store.

Understanding Omnichannel Solution 

While mobile app stores like Apple App Store provide the client side solution to implement in-app purchases in your App, you need to have server implementation for provisioning the paid content and maintaining the access control for your premium subscriptions. Chargebee provides the backend server infrastructure for managing these in-app purchases by directly integrating with the app server notifications  and thus helps you run your business smoothly.

Following sections will help you understand the key concepts of the Omnichannel solution and how you can use this solution to solve your business problems.

Implement in-app purchases in your app 

Handle in-app purchases flow in your app using native billing libraries (like Storekit or Google billing library) or cross-platform libraries offered by Flutter or React Native. Use these libraries to present in-app products configured in the store to end users and allow them to make purchases. Since the client-side SDKs (i.e., iOS , Android , React Native  or Flutter  ) add very little value, these are currently not offered as part of the Omnichannel solution.

Note

Since mobile app stores equip app developers with ways to implement paywalls and in-app purchases using client-side billing libraries, having client-side SDKs on top of these billing libraries adds very little value to App developers. Disadvantages associated with client-side SDKs

  1. It introduces delay to end user who attempts to make a purchase, as client-side SDK methods will have to call respective store APIs to perform actions such as retrieving products or making purchases.
  2. To invoke Chargebee APIs, client-side SDKs will need the publishable API key generated by Chargebee. If this key is retained at the client's end, it may be misused.
  3. If there are any updates to the billing methods of the external stores, then you are dependent on Chargebee to make these changes and thus are restricted from accessing the new features immediately

The perceived value of client SDKs is that they make implementation easier and quicker. Chargebee believes that quick implementation of billing methods can be achieved through proper implementation guides on top of the documentation provided by these stores, and this will be released soon.

Thus, currently, Chargebee doesn't provide client SDKs for implementing in-app purchases and recommends implementing in-app purchases using the billing methods offered by app stores. If you still think that there's a requirement to have client-side SDKs, you can reach out to us at omnichannel@chargebee.com

Record in-app purchases in Chargebee 

Once an in-app purchase is made in your app, you can pass this purchase information to Chargebee by invoking the Record a Purchase API with Apple transaction. Chargebee will immediately return the recorded_purchase resource and initiate the job for recording the purchase. Before recording the purchase, Chargebee will verify the transaction with the respective store and only the verified transaction will be recorded in Chargebee.

Omnichannel Subscription gets auto-created 

Upon successful recording of a purchase in Chargebee, an Omnichannel subscription and transaction are automatically created. As soon as the Omnichannel subscription is created, Chargebee triggers a webhook event omnichannel_subscription_created. This Omnichannel subscription resource represents the subscription from an external source in Chargebee. The source attribute of this subscription indicates the store where the purchase is made. These omnichannel subscriptions will be listed under Omnichannel head in the left navigation ons the Chargebee site.

Omnichannel Subscription Management 

Since the Omnichannel subscription represents the subscription from an external source, Chargebee's billing engine will not manage the renewals for this subscription. Chargebee does not provide any user interface or APIs to manage this subscription as this is owned by an external source.

This subscription needs to be managed outside Chargebee as recommended by the source like Apple where the purchase was made. Chargebee will fully rely on the server notifications  from this source to manage the renewals and subscription state.

Omnichannel Subscription item status 

An omnichannel subscription item represents a unified view of a product or service that an end user subscribes to across billing platforms such as Chargebee, the Apple App Store, or the Google Play Store.

Each platform uses its own statuses to indicate the state of a subscription. Chargebee's Omnichannel Subscription Item status standardizes these platform-specific statuses, providing a consistent set of statuses regardless of the billing platform.

Since a single omnichannel subscription can include multiple items, the status is managed at the item level to ensure scalability and support for future use cases.

Here's the mapping of omnichannel subscription status to Apple App Store subscription status.

Status
Description

active

A customer has an active subscription for an item.

in_grace_period

The subscription for an item has failed to renew due to a billing issue and is now in the grace period. Continue to provide service using the grace period while billing is retried.

in_dunning

The subscription for an item has failed to renew due to a billing issue and is now in the dunning period. Access to the subscription can be revoked while billing is retried. Inform the customer that their access is revoked and that there may be an issue with their billing information.

cancelled

A customer has canceled their subscription for an item either voluntarily or without consenting to the price increase for the subscription item. 
Check the cancellation reason to understand the reason for cancellation.

expired

An item's subscription has expired due to billing errors, the item being no longer available, or other reasons. 
Check the expiration reason to understand the reason for expiration.
Note
  • To learn more about the possible subscription statuses in Apple, click here.
  • To understand how Apple subscription statuses map to Omnichannel subscription item statuses, click here.
  • For details about the subscription statuses of regular Chargebee subscriptions, click here.
  • Additional statuses may be supported in the future with other billing system integrations.
  • Omnichannel subscription statuses will also expand to include Google Play Store subscriptions and Chargebee web subscriptions.

Purchase information from the source 

Although Omnichannel serves as a representation of subscriptions from external sources, you may want to review specific transactions and events from the source, such as the Apple App Store, to confirm the subscription status in Chargebee.

To view Transactions and Events for an app linked to Chargebee, go through these steps.

This setup enables you to ensure the subscription's status in Chargebee aligns accurately with the data from the external source.

Granting access to the paid content 

Upon successful in-app purchase, the end user should be given access to the paid content immediately. So it is recommended to grant access to the content as soon as the purchase transaction is verified by the source.

In the case of in-app purchases made using Apple's Storekit 2 framework, Apple takes care of this verification at the time of purchase . Thus, access to the content can be given if the transaction is verified.

However if you rely on Chargebee webhook events for the downstream actions like enabling entitlements, then you need to rely on omnichannel_subscription_created webhook event for provisioning content to the end user.

Invoices are not issued by Chargebee 

Since the invoice is issued by the source where the purchase was made, Chargebee will not issue any invoice to the end user for Omnichannel subscriptions.

Omnichannel subscriptions are not associated with Item prices of Chargebee 

Since the price configuration structure of in-app products is different from Chargebee's item price structure, Omnichannel subscription is. not associated with the item price in Chargebee. Item ID at source attribute in the Omnichannel subscription resource can be used to check the product ID in the source to which the subscription belongs.

Separate set of webhook events 

There's a separate set of webhook events associated with Omnichannel subscription. You need to rely on these webhook events to manage the subscription state at your end. Learn more about omnichannel events.

Benefits of Omnichannel Subscriptions 

An omnichannel solution creates a single source of truth for purchases made across Apple and Web storefronts, minimizes the integration efforts involved in managing these disparate channels, and maximizes revenues through data insights and workflows. Here are some key use cases that you can achieve through this capability.

Currently, the omnichannel solution only supports Apple subscriptions in Chargebee. In the future, it will support Google and other storefronts like the Amazon app store, Roku, etc.

1. Create a unified customer experience 

As a business selling on the web and Apple storefronts, you may want to provide a seamless experience to your customers by allowing them to start their subscription on one channel such as mobile and continue to access the subscribed content on another such as your website.

Example:

John purchases premium sports news content on a mobile app but would prefer to read the same on his desktop browser and thus login to the website. Upon login, you can invoke the list omni-subscriptions API with the customer ID of John and check for the active subscriptions. Since he has an active Apple subscription, you can allow him to access his favorite sports news content on the desktop browser and thereby avoiding duplicate subscriptions.

2. Streamline development efforts for enhanced efficiency 

Building a subscription engine that integrates with Apple APIs and notification events  requires significant effort, including staying updated with Apple's changes. Instead of diverting valuable development resources to tackle this unrelated challenge, focus on streamlining efforts to address your core business problems.

Example:

Acme Inc. offers exercise videos through an app available on the Apple App Store, but premium subscriptions are only available via their website due to Apple's in-app purchase requirements. With a significant number of mobile users, the company needs to invest engineering resources to build a subscription solution from scratch.

Instead, Acme Inc. can integrate Apple's paywall for in-app purchases and leverage Chargebee's backend infrastructure for provisioning, notifications, and subscription management, allowing them to focus on their core offering.

3. Ensure proper access control 

Omnichannel Subscriptions solution ensures that subscriptions from external marketplaces are not managed by Chargebee's billing engine. This guarantees an accurate representation of external store subscriptions within Chargebee. Thus, you can rely on the subscription state in Chargebee and ensure that only eligible users get access to the paid content.

Example:

Acme Inc. is into health and fitness videos on monthly and annual subscription plans. John purchases a monthly subscription plan for $20 per month and soon realizes that he can get more value with an annual plan of $100 per month. So he upgraded his subscription by visiting the settings page of the App Store and thus is now eligible for the upgraded content. Acme Inc. can rely on Chargebee's upgrade webhook event and grant access to upgraded content immediately.

4. Ensure customer satisfaction by addressing their queries 

Customers expect fast, immediate responses, especially on mobile in-app purchases. Chargebee's real-time sync with Apple lets you quickly view transaction and subscription changes, enabling you to address queries efficiently and enhance customer relationships.

Example:

John purchased a travel app subscription through the Apple App Store but now wants to cancel it since he has no travel plans in the near future. He is uncertain whether canceling will result in immediate loss of access to the content (i.e., travel itineraries) or if he can continue using it until the end of the current billing period. He reaches out to customer support for clarification.

Without Chargebee, the support agent wouldn't have access to John's information since Apple doesn't share customer data. John would need to contact Apple Support for this cancellation query, but they wouldn't be able to assist with questions about saved or browsed travel itineraries, as they lack context on the app's offerings.

However, with Chargebee, customer data is linked to Apple subscription details. This allows the support agent to view John's subscription information directly. The agent can then confirm how long John can continue accessing the content and when the current billing term will end, providing him with accurate and timely assistance.

5. Easily debug subscription issues to boost customer satisfaction 

When Apple app subscribers have queries about payments, cancellations, or premium content access, Chargebee's omni-subscription feature provides a quick overview of their status. For deeper insights into the subscription lifecycle, you can access detailed Apple transaction and event data through Chargebee's Apple Purchase Information page. Leveraging Apple APIs, this page provides real-time transaction details along with information on Apple products and offers. This functionality enables you to efficiently troubleshoot subscription issues and reach out to Apple customer care when necessary.

Example:

Acme Inc. offers artists basic and premium plans on the Apple App Store for distributing their music globally. The basic plan provides promotional guidance, while the premium plan allows publishing with top music companies.

When artist John downloads Acme's app and purchases the basic plan, he quickly decides to upgrade to the premium plan for better opportunities. However, after upgrading through the App Store settings, he still cannot access top music labels and contacts Acme support.

Upon checking John's customer ID in Chargebee, the Acme support team finds that his subscription hasn't been upgraded. They escalate the issue to their technical team, who can easily check John's Apple purchase information in Chargebee to verify whether the upgrade transaction occurred, rather than dealing with Apple APIs.

If the upgrade is confirmed in Apple, Acme will reach out to Chargebee support to investigate why the upgrade event wasn't triggered. If not, they will inform John that the upgrade failed in Apple and advise him to retry.

6. Manage multiple apps and multiple accounts under one hood 

Chargebee allows enterprises to link multiple Apple apps and accounts to a single site, providing a unified view of subscriptions across all apps. This helps you gain valuable insights across apps and accounts to make informed business decisions.

Example:

Acme Inc. offers health and fitness services through two apps, Yoga and Gym, on the Apple Store. After acquiring ABC Inc., which provides Diet and Wellbeing apps, Acme now manages all four apps under two Apple accounts. With Chargebee, Acme can view and analyze subscriptions for all apps in one site, using filters to track performance by app. Here's how the apps will be available in Chargebee:

  1. Acme Inc

    1. Yoga app - Provides online yoga videos through weekly & monthly subscription plans
    2. Gym app - Provides yoga videos through weekly & monthly subscription plans
  2. ABC Inc.

    1. Diet app - Provides daily diet suggestions through weekly subscription plans
    2. Wellbeing app - Provides wellbeing suggestions through monthly subscription plans

Limitations of Omnichannel Subscriptions 

Omnichannel subscription currently represents only in-app subscription purchases made on the Apple App Store. We will be extending this solution to the Google Play Store by Q2 2025 and to Chargebee web subscriptions by the end of 2025. Therefore, the limitations stated below apply only to Apple App Store integration.

Product Catalog 

  1. Currently, there's no provision to link the in-app products configured in the App Store Connect to Chargebee's product catalog. So you'll not be able to view the in-app products configured in your App Store Connect account in Chargebee's Product Catalog. To get the information about the Apple product, you can access the Omnichannel subscriptions page or the purchases page.

  2. Offers like Introductory, Promotional, Win-Back, and Offer Codes associated with products in App Store Connect cannot be viewed in Chargebee's product catalog as Apple offers are currently not linked to Chargebee. If these offers are availed during the in-app purchase, then this information will be available on the Purchases page.

Customers 

  1. Customer records cannot be created through record purchase API. So before invoking the record purchase API, a customer record needs to be created in Chargebee, and the created customer ID needs to be passed while invoking the record purchase API.

  2. A customer record associated with an active Omnichannel subscription can be deleted in Chargebee. This means that there can be Omnichannel subscriptions in Chargebee without a customer record, so it is recommended to double-check the Omnichannel subscription associated with the customer before deleting the customer record.

Omnichannel Subscriptions 

  1. Omnichannel subscriptions can only be created in Chargebee by invoking the Record a Purchase API with a valid Apple transaction. Since Apple introduced the transaction concept for devices with iOS15+ OS, purchases made in lower versions of devices cannot be recorded using this API.

  2. Chargebee's Record a Purchase API operates asynchronously as invoking this API triggers verification of signed Apple transactions, which is a third-party operation and is not in Chargebee's control. So you may experience some delay in receiving the omnichannel_subscription_created event from Chargebee. However, upon invoking Record a Purchase API, the recorded_purchase object is returned synchronously. You can use the ID of the recorded_purchase to invoke Retrieve a Recorded Purchase API and get the status of recorded purchase. If the recording of the purchase is completed successfully in Chargebee, then Omnichannel Subscription ID and Omnichannel Transaction ID will also be available as part of the recorded_purchase object.

  3. If offers are associated with in-app subscriptions, the omnichannel subscription will be created in Chargebee with the offer price, but the details of the offer will not be present on the details page.

  4. Currently, one-time purchases made for in-app products configured in App Store Connect cannot be recorded in Chargebee.

  5. Omnichannel subscriptions are fully managed with Apple notifications  and cannot be modified in Chargebee. This means that they are read-only subscriptions, and operations like edit, cancel, pause, etc. will not be applicable to them.

  6. Currently, Chargebee supports only limited events from the App Store, and thus, only the following subscription operations are possible on Omnichannel subscriptions through Apple events. Learn more.

  7. Omnichannel subscriptions consume only App Store V2 server notifications; thus, if you have configured V1 notifications in App Store Connect, then make sure that it is changed to V2. Learn more on how to configure the notifications URL in App Store Connect.

Dunning 

Chargebee's dunning capabilities are not applicable for Omnichannel subscriptions as the stores directly handle the payment retries for failed transactions.
When a payment fails through Apple's payment system, Apple will automatically attempt to process the payment again for a period of 60 days. Learn more.

Reports and Analytics 

  1. Currently, Omnichannel subscriptions are not integrated with Revenue Story, so you need to build your analytics engine by relying on Omnichannel subscription events.

  2. The transaction information present in the Omnichannel transaction resource indicates the amount paid by the end user at the time of the transaction. Thus, it includes the commission amount charged by Apple as well as the taxes paid by the end user. So consider this amount for calculating gross revenue only.

  3. For Revenue recognition, please refer to the Revrec solution of Chargebee.

Invoices 

As Apple owns the subscription, it generates invoices and sends these directly to the end user. Since Chargebee doesn't have access to these invoices, these invoices cannot be imported or generated in Chargebee.

Accounting and Taxes 

Since Apple owns the invoice, accounting, and taxation, the Omnichannel transactions in Chargebee are not transmitted to any downstream accounting and tax integrations of Chargebee. It is recommended to rely on the reports generated by Apple to understand sales and proceeds for the purchases made on the store.

Multi Business Entity 

The new Omnichannel solution for the Apple App Store cannot be enabled for your Chargebee site if the Multi Business Entity feature is enabled for it.

Implementing Chargebee to create Omnichannel subscriptions 

  1. Complete the pre-requisites in your App to get the transaction ID for in-app purchase
  2. Connect your App to Chargebee to generate a unique App ID & notification URL
  3. Retrieve the App ID generated by Chargebee to initiate recording purchases
  4. Record a purchase and get the corresponding Omnichannel subscription ID & transaction ID
  5. Set Up Notification URL in App Store Connect for Subscription-State Sync with Chargebee
  6. Subscribe to Omnichannel webhook events for your downstream operations
Was this article helpful?
Loading…