New in Chargebee: Explore Reveal and understand your payment performance end-to-end.Try Now
Docschargebee docs
HomeBillingCPQPaymentsRevRecGrowthReveal
Support

Product Updates


  • Release Notes

Getting Started


  • Overview
  • Chargebee Billing Data Centers
  • Object Relationship Model
  • Understanding Sites
  • Chargebee Tech Glossary
  • Articles and FAQ

Implementing Chargebee


  • Implementation Guide
  • Go-live Checklist
  • Articles and FAQ

Agentic AI


  • Chargebee Copilot
  • MCP Servers

Developer Resources


  • Developer Resources Overview
  • API Explorer
  • Articles and FAQ

Chargebee Apps


  • Chargebee Apps CLI Developer Guide

Product Catalog


  • Product Catalog Overview
  • Coupons
  • Articles and FAQ

Subscriptions


  • Working with Subscriptions
  • Billing
  • Orders
  • Articles and FAQ

Customers


  • Managing Customers
  • Account Hierarchy
  • Email Notifications
  • Branding
  • Configure Multiple Languages
  • Articles and FAQ

Entitlements


  • Entitlements Overview
  • Features Overview
  • Feature Management
  • Managing Product Entitlements
  • Subscription Entitlements
  • Customer Entitlements
  • Grandfathering Entitlements
  • Articles and FAQ

Usage Based Billing


  • Understanding Usages
  • Setting up Usage Based Billing
  • Usage Alerts
  • Prepaid credits

Invoices and Credit Notes


  • Invoices
  • Credit Notes
  • Quotes [Legacy]
  • Transactions
  • Articles and FAQ

Taxes


  • Overview
  • Configuring Taxes
  • Country-specific Taxes
  • Articles and FAQ

Hosted Capabilities


  • Overview
  • Hosted Checkout
  • Hosted Self-Serve Portal
  • Hosted Pages Features
  • Additional Hosted Pages
  • Payment Components
  • Pricing Table
  • Managing Payments with Chargebee.js
  • Mobile-Optimized Hosted Pages
  • Articles and FAQ

Site Configuration


  • Users & Roles
  • Custom Fields & Metadata
  • Approvals
  • Mandatory Fields
  • File Attachments & Comments
  • Advanced Filter Options
  • Multicurrency Pricing
  • Multi-decimal Support
  • Configuring Reason Codes
  • Events and Webhooks
  • API Keys
  • Time Zone
  • Time Machine
  • Transfer Configurations
  • Articles and FAQ

Multi Business Entity


  • Multi Business Entity Overview
  • Customer Transfer Overview
  • Articles and FAQ

Mobile Subscriptions


  • Overview
  • Omnichannel Subscriptions
    • Apple App Store
    • Google Play Store
    • Mapping Apple and Google Products
    • Importing Historic Data
    • Using Legacy and New Omnichannel Together
      • Phased Rollout from Legacy to Omnichannel
    • Omnichannel Subscriptions Migration Guide
  • Omnichannel One-Time Orders
  • Mobile Subscriptions (Legacy)

Reports and Analytics


  • RevenueStory
  • Home Dashboard
  • Frequently Asked Questions
  • FAQs for Classic Reports Sunset
  • Articles and FAQ

Integrations


  • Sales
  • Customer Support and Success
  • Finance
  • Tax
  • eInvoicing
  • Marketing
  • Stitch
  • Collaboration
  • Contract Management
  • Ecommerce Management
  • Articles and FAQ

Data Privacy & Security


  • Two Factor Authentication
  • SAML Single Sign-On
  • System for Cross-Domain Identity Management (SCIM)
  • EU-GDPR
  • Consent Management
  • Personal Data Management
  • Compliance Certificates
  • HIPAA Guidelines
  • PCI Recommendations and Integration Types
  • Articles and FAQ

Data Operations


  • Bulk Operations
  • Migration
  • Articles and FAQ
  1. Billing
  2. Mobile Subscriptions
  3. Omnichannel Subscriptions
  4. Using Legacy and New Omnichannel Together
  1. Billing
  2. Mobile Subscriptions
  3. Omnichannel Subscriptions
  4. Using Legacy and New Omnichannel Together

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 channel attribute (for example, app_store or play_store).
  • Subscriptions in Omnichannel are represented as Omnichannel subscriptions with a source attribute (for example, apple_app_store or google_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:

  1. All end users must be on the new app version built on StoreKit 2.0 (Apple) and the Omnichannel purchase flow (Apple and Google).
  2. 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.
  3. 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

API References

  • Process purchase command
  • In-app purchase events
  • Record a Purchase
  • Omnichannel subscriptions
  • Omnichannel events

Was this article helpful?