Using the Legacy and New Omnichannel Solutions Together
If your Chargebee site uses Mobile Subscriptions (Legacy), you can enable Omnichannel Subscriptions on the same site without turning off the legacy integration. Both solutions can run together while you adopt Omnichannel at your own pace and eventually retire the legacy integration.
This page explains what running both solutions together means, how subscription sync and webhooks behave for Apple and Google, and frequently asked questions about cutover. For the step-by-step rollout from test site to live migration, see Phased Rollout from Legacy to Omnichannel. For store-specific import mechanics and rate limits, see the Omnichannel Subscriptions Migration Guide. To compare how the two solutions work, see Legacy Vs New Solution.
Running both solutions on the same Chargebee site
Running both solutions together means the Mobile Subscriptions (Legacy) integration and the Omnichannel integration are both active on the same Chargebee site at the same time.
While both solutions run together:
- Legacy in-app subscriptions continue to be represented as regular Chargebee subscriptions with a
channelattribute (for example,app_storeorplay_store). - Subscriptions in Omnichannel are represented as Omnichannel subscriptions with a
sourceattribute (for example,apple_app_storeorgoogle_play_store). - After you connect your apps to Omnichannel, both integrations appear under Apps on your Chargebee site.
How subscription sync works while both solutions run together
When Chargebee enables sync notifications as part of setup for running both solutions together, new subscriptions recorded in the legacy solution are carried forward to Omnichannel. You do not need to change your existing mobile SDK implementation or stop calling the process purchase command API for legacy-originated purchases.
After Omnichannel is connected and sync notifications are enabled:
- When a subscription is created in the legacy solution through a mobile SDK purchase method or the process purchase command API, Chargebee auto-creates the corresponding Omnichannel subscription. You do not need to call the Record a Purchase API for those legacy-originated purchases to appear in Omnichannel. Learn more.
- At the customer level, you can view the legacy subscription and follow the link to the corresponding Omnichannel subscription in the new solution.
Information
Running both solutions together and enabling sync notifications are set up by Chargebee on your site. Contact Chargebee Support or your account team to enable this setup and confirm when sync notifications are active before you rely on Omnichannel subscription state for downstream operations.
Apple App Store notifications while both solutions run together
For Apple apps, no additional notification setup is required. Keep the Apple notification URL pointed at the legacy solution's app notification URL in App Store Connect. Chargebee routes Apple store notifications through the legacy solution's notification URL even when a subscription was recorded through the Omnichannel Record a Purchase API, so eligible subscription activity syncs to Omnichannel without any change to your Apple notification configuration.
Google Play Store notifications while both solutions run together
For Google apps, subscribe the Omnichannel solution's notification URL to the existing Pub/Sub topic you already use for the legacy solution. Reuse the token and topic created for the legacy integration — add the Omnichannel notification URL as an additional subscription on that topic rather than creating a separate topic.
Follow the steps in Set Up Notification URL in Google Cloud Platform for Subscription State Sync with Chargebee and Create subscription to the topic with Chargebee's notification URL, using the notification URL generated for your Omnichannel-connected Google app.
Phased rollout to full migration
Move from running both solutions together on a test site through live migration and final cutover to Omnichannel in four phases: set up both solutions on your test site, enable both on your live site, implement the new Omnichannel integration, then complete live migration and update notification URLs. Each phase includes specific steps for Apple and Google, sync notification setup, and validation checkpoints.
See Phased Rollout from Legacy to Omnichannel for the complete phase-by-phase plan.
Frequently asked questions
Which webhooks should I listen to while both solutions run together?
While both solutions run together, use legacy in-app purchase events and legacy webhooks for existing subscriptions that remain in the legacy solution. Use Omnichannel webhook events and Omnichannel webhooks for new subscriptions recorded in Omnichannel through the Record a Purchase API.
For Apple, store notifications must continue to use the legacy solution app's notification URL in App Store Connect while both solutions run together. Chargebee receives Apple notifications through that URL and syncs eligible subscription activity to Omnichannel once sync notifications are enabled.
See Legacy Vs New Solution for how legacy and Omnichannel events differ. There is no single published event-mapping table; compare event types in the linked API references when updating your webhook handlers.
How do I avoid duplicate webhook events while both solutions run together?
While both solutions run together, Chargebee can emit both legacy and Omnichannel events for the same subscription activity. If you only want to act on Omnichannel events for synced subscriptions, you can ignore legacy events that include Apple or Google channel information for those subscriptions.
Subscriptions synced from legacy to Omnichannel automatically as they are created additionally emit an omnichannel_subscription_created event. Plan your webhook handlers so that acting on both the legacy creation event and the Omnichannel creation event does not duplicate downstream actions such as provisioning or analytics updates.
What happens to legacy webhook events when migration is complete?
Until you change the notification URLs for your apps from the legacy integration to the Omnichannel integration in Chargebee (for both Apple and Google), which should only happen after full migration, both solutions continue to run together and both legacy and Omnichannel events can fire for subscriptions.
After you update notification URLs to point to Omnichannel (Phase 4, step 3), Chargebee receives store notifications only through the Omnichannel integration. You receive Omnichannel events only; legacy events stop because the legacy solution no longer receives notifications from Apple or Google. There is no separate legacy cancellation event at cutover — legacy events simply stop.
What are the prerequisites for full migration of existing subscriptions?
Full migration imports existing legacy subscriptions into Omnichannel and removes them from the legacy solution. Treat the following as prerequisites before you proceed:
Warning
Full migration of existing subscriptions deletes all subscriptions and associated data in the legacy solution. Confirm that your organization accepts this data removal before you proceed.
Before full migration:
- All end users must be on the new app version built on StoreKit 2.0 (Apple) and the Omnichannel purchase flow (Apple and Google).
- All downstream use cases must be satisfied by Omnichannel webhook events — access control, reporting, customer support, and any other workflows that currently rely on legacy in-app purchase events.
- Move to App Store Server Notifications V2 for Apple if you currently use V1 notifications. We recommend configuring App Store Server Notifications V2 in App Store Connect before full migration if your Apple integration still uses App Store Server Notifications V1.
For self-service full migration, invoke the Record a Purchase API in a script and respect Chargebee and store rate limits. Stagger large volumes — for example, import roughly 30,000–50,000 subscriptions at a time when migrating Google Play subscriptions, due to Google API limits. See the Omnichannel Subscriptions Migration Guide for Apple and Google rate-limit details, or work with Chargebee Support for an assisted import.
You can also use Importing Historic Data for bulk import workflows where applicable.
Related documentation
- Phased Rollout from Legacy to Omnichannel
- Omnichannel Subscriptions overview
- Apple App Store — legacy coexistence
- Google Play Store — Omnichannel setup
- Omnichannel Subscriptions Migration Guide
- Importing Historic Data
See also
Was this article helpful?