Updated 16 Aug 2026: Adds Shopify's clarified two-path subscription migration, forthcoming Migration API for usage-based/price-mismatched subscriptions, dual billing-state requirements, and July App Pricing capability updates.
Key details
- Shopify has marked the Billing API as legacy, although existing active charges continue to function.
- The plan setup flow can move existing subscriptions that directly match a prepared App Pricing plan.
- Usage-based subscriptions and price-mismatched subscriptions require a separate Migration API that Shopify currently labels 'Coming soon'.
- Until those subscriptions can migrate, they continue billing through the Billing API.
- After enabling App Pricing, apps may need to query both the Active Subscription API and legacy Billing API state to determine whether a merchant has paid.
- Shopify now supports up to eight public App Pricing plans and 15 private plans.
- Shopify added no-charge plan testing and support for negative and fractional App Events.
- Simple recurring, one-time and usage-based billing models still require different migration handling.
What builders should take away
- Classify every live subscription before migration: directly matching fixed-price plans can follow the plan setup path, while usage-based and price-mismatched subscriptions need a legacy path until the Migration API exists.
- Do not delete Billing API entitlement checks when enabling App Pricing. Shopify explicitly says a null Active Subscription API result is not enough to conclude that a merchant is unpaid while legacy subscriptions or purchases may still exist.
- Use no-charge plan testing to exercise approval, redirect and entitlement flows without creating real charges, then test legacy and App Pricing states side by side.
- Revisit plan architecture if earlier App Pricing limits forced compromises. Shopify now allows eight public plans and 15 private plans, which may remove the need for workarounds built around the old four/ten limits.
- For usage-based products, keep App Events and Billing API usage reporting paths clearly separated and monitored until Shopify's Migration API can move the remaining subscriptions.
What changed
Shopify now treats its Billing API as legacy and has expanded the migration path toward Shopify App Pricing. Its current migration guide says subscriptions that map directly to a prepared App Pricing plan can move through the plan setup flow, while subscriptions that do not map cleanly—especially usage-based subscriptions and price mismatches—must remain on the Billing API until Shopify ships a separate Migration API. Shopify also increased App Pricing limits to eight public and 15 private plans, added no-charge plan testing, and added support for negative and fractional App Events.
Why it matters
For independent Shopify app businesses, billing is core product infrastructure rather than a back-office detail. The migration path now has a meaningful split: simple subscriptions may be able to move with plan setup, while more complex billing models need a dual-system period and must keep legacy entitlement checks alive. That affects migration sequencing, test coverage and support risk, especially for usage-based SaaS products that cannot yet move every existing subscriber onto App Pricing.
The old Billing API still works, but it is now legacy
Shopify says existing apps with active Billing API charges continue to function and has not announced a forced shutdown date in the current primary documentation. The platform direction is nevertheless clear: Billing API is legacy, while Shopify App Pricing is the recommended billing system going forward.
Migration can be staged before customers move
The migration tool can create draft App Pricing plans from eligible manual plans. Developers can review generated names, prices, features and billing intervals, add or edit plans, configure usage charges and App Events, and test on a development store owned by the same Partner organisation. Preparing these plans does not itself change live billing.
Existing subscriptions now have two migration paths
Shopify's current documentation says subscriptions that map directly to a new App Pricing plan—where the current price and billing terms match—can move through the plan setup flow. Subscriptions that do not map cleanly, including usage-based subscriptions and subscriptions whose current price does not match a prepared plan, require a separate Migration API that Shopify still labels 'Coming soon'. Until then, those subscriptions continue billing through the legacy Billing API.
The product itself has become more capable
On July 9 Shopify increased the App Pricing ceiling to eight public plans and 15 private plans, up from four and ten. It also added no-charge plan testing plus negative and fractional App Events. Those changes reduce some earlier constraints around plan design and make it easier to test billing flows without generating real charges.
Dual billing-state checks matter during the transition
After an app enables Shopify App Pricing, the Active Subscription API only returns App Pricing contracts. Shopify instructs Billing API users to continue checking `currentAppInstallation` for legacy subscriptions and purchases, and not to treat a null App Pricing subscription as proof that a merchant is unpaid. Apps therefore need explicit compatibility logic until every legacy subscription has ended or migrated.
Timeline
2026-05-12
Shopify marks Billing API as legacy
Shopify announces App Pricing as the forward billing system while allowing existing Billing API charges to continue.
2026-07-07
Migration tooling opens
Developers can generate, edit and test draft App Pricing plans without automatically moving all existing subscriptions.
2026-07-09
App Pricing limits and testing expand
Shopify raises plan limits to eight public and 15 private plans, adds no-charge testing, and supports negative and fractional App Events.
2026-08-16
Current docs clarify split subscription migration path
Shopify documents that directly matching subscriptions can move through plan setup, while usage-based and price-mismatched subscriptions await a separate Migration API.
What to watch next
- When Shopify makes the separate Migration API available for usage-based and price-mismatched subscriptions.
- Whether Shopify sets a formal Billing API shutdown date.
- How the Migration API handles credits, proration, accumulated usage and custom legacy pricing when subscriptions do not map one-to-one.
- Whether Shopify adds more migration automation or diagnostics for apps running both billing systems in parallel.
Still unclear
- Shopify has not announced a forced shutdown date for the legacy Billing API in the primary materials reviewed.
- The Migration API is documented but still marked 'Coming soon', so its final behaviour and edge-case handling may change before release.
- Operational impact varies sharply by billing model; simple recurring apps have a smaller migration surface than products combining one-time charges, subscriptions and metered usage.
Sources
Direct reading behind this dossier.
5 sources