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
  • Metered Billing
  • Articles and FAQ

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
  • 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

Omnichannel Subscriptions Migration Guide

Overview

This document describes how to migrate subscriptions from the Apple App Store and Google Play Store to Chargebee’s Omnichannel solution. The goal is to ensure a seamless transition with no downtime while maintaining accurate subscription states during migration.

Apple App Store migration

Prerequisites for Apple App Store migration

Before you begin, ensure the following:

  1. Connect your Apple apps with in-app subscriptions to Chargebee. Learn more.

  2. Ensure valid Apple transaction IDs are available.

  3. Create customers in Chargebee for all users whose subscriptions you plan to migrate.

  4. Configure the webhook notification URL generated by Chargebee in your backend.

Note

Don’t change the notification URL in App Store Connect until migration is complete. Changing it may disrupt service for existing users.

Key constraints for Apple App Store migration

Apple enforces strict rate limits:

  • ~3,500 requests per minute
  • ~430 subscriptions per hour

Additional considerations:

  • Large migrations (100K–200K subscriptions) can take significant time.
  • Apple supports only one webhook notification URL.

Migration approach for Apple App Store

1. Parallel system setup

To sync new subscriptions during migration:

  • Record transactions in your backend when users create subscriptions in your Apple app.
  • Call the Create Customer API and Record a Purchase API to create the customer and corresponding Omnichannel subscription in Chargebee.

2. Webhook events handling

Apple supports only one notification URL.

  • Configure either:

    • the Chargebee notification URL, or
    • your backend URL in App Store Connect
  • If you use your backend URL:

    • Forward webhook events to the Chargebee notification URL.

3. Subscription import process

Import subscriptions in batches:

  • Call the Record a Purchase API in a loop.
  • Limit requests to 430 per hour.

Example

If you need to import 1,200 subscriptions:

  • Create 3 batches
  • Each batch contains ~400 transaction IDs

Handling rate limits

If you exceed the limit:

  • You may receive an HTTP 429 RateLimitExceededError.
  • Log the failure.
  • Retry the job later using a queue.

Learn more.

4. Post-migration validation

After migration:

  • Verify imported subscriptions using the List Omnichannel Subscriptions API.

Key considerations during Apple App Store migration

  • Continue provisioning access through your existing system until your backend switches to Chargebee webhook events.
  • Migration duration depends on total subscription volume.

Google Play Store migration

Prerequisites for Google Play Store migration

Before you begin, ensure the following:

  1. Connect your Google apps to Chargebee.

  2. Ensure valid Google order IDs are available.

  3. Create customers in Chargebee for all users whose subscriptions you plan to migrate.

  4. Subscribe Chargebee to the Play Store Pub/Sub topic configured in Google Cloud Console. Learn more.

Migration approach for Google Play Store

1. Parallel system setup

To sync new subscriptions during migration:

  • Record order IDs in your backend when users create subscriptions in your Google app.
  • Call the Create Customer API and Record a Purchase API to create the customer and corresponding Omnichannel subscription in Chargebee.

2. Webhook events handling

Subscribing to the Play Store Pub/Sub topic ensures:

  • Chargebee receives webhook events
  • Subscription states stay up to date

3. Subscription import process

Import subscriptions by calling the Record a Purchase API in a loop.

Rate limits

  • Google supports ~3,000 API calls per minute.

  • To account for internal processing, use:

    • 400 API calls per minute
    • ~24,000 per hour

4. Post-migration validation

After migration:

  • Verify imported subscriptions using the List Omnichannel Subscriptions API

Key considerations during Google Play Store migration

  • Continue provisioning access through your existing system until your backend switches to Chargebee webhook events.
  • Migration duration depends on total subscription volume.

Was this article helpful?