# Shopify starts moving app developers toward App Pricing

Shopify has marked its Billing API as legacy and released migration tooling for App Pricing, while current docs clarify which existing subscriptions can move now and which must wait for a forthcoming Migration API.

Shopify's App Pricing migration is now clearer: directly matching subscriptions can move through plan setup, while usage-based and price-mismatched subscriptions stay on the Billing API until a separate Migration API arrives.

- Status: Active
- Published: 2026-08-15T13:18:32+12:00
- Updated: 2026-08-16T17:19:53+12:00
- Categories: Indie Business
- Tags: app businesses, App Pricing, Billing API, developer platforms, SaaS pricing, Shopify, Shopify App Store
- Canonical HTML: https://beyondthe.news/dossiers/shopify-app-pricing-migration

## Latest material change

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.

## 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.

## 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.

## Builder takeaways

- 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 to watch

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

## Uncertainties

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

## 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.

## Sources

- [Prepare your app for migration to Shopify App Pricing](https://shopify.dev/changelog/prepare-your-app-for-migration-to-shopify-app-pricing) — Shopify · primary · 2026-07-07T00:00:00+12:00. Primary changelog entry describing draft-plan generation and migration preparation.
- [Shopify App Pricing: charge for usage, recurring subscriptions, or both](https://shopify.dev/changelog/shopify-app-pricing-charge-for-usage-recurring-subscriptions-or-both) — Shopify · primary · 2026-05-12T00:00:00+12:00. Primary announcement marking Billing API as legacy and describing Shopify App Pricing as the forward path.
- [Migrate to Shopify App Pricing](https://shopify.dev/docs/apps/launch/billing/shopify-app-pricing/migrating-to-shopify-app-pricing) — Shopify · primary. Current migration guide covering direct subscription migration, dual billing-state checks and legacy compatibility.
- [Migration API](https://shopify.dev/docs/apps/launch/billing/shopify-app-pricing/migration-api) — Shopify · primary. Current documentation for subscriptions that cannot move through plan setup; marked Coming soon.
- [App Pricing: more plans, no-charge plan testing, and negative and fractional App Events](https://shopify.dev/changelog/app-pricing-more-plans-no-charge-plan-testing-and-negative-and-fractional-app-events) — Shopify · primary · 2026-07-09T00:00:00+12:00. Primary changelog for higher plan limits, no-charge testing and expanded App Event values.

