Shopify App Pricing: The next generation of app billing

Managed Pricing is now Shopify App Pricing, and it’s a significant upgrade. In addition to recurring subscriptions, Shopify App Pricing now supports usage-based billing, powered by the new App Events API and includes new App Pricing APIs with more accurate subscription data and functionality.

Below is the full breakdown: why we built this, what it does, and what comes next.

Why we built Shopify App Pricing

Merchants want consistent, transparent, predictable billing. That consistency builds trust in your app, in the platform, and in the decision to keep paying.

But up until now, apps that wanted to offer anything beyond a flat monthly fee had to build and maintain their own billing infrastructure. That created two problems:

  1. Every app’s billing looks different. Billing is configured independently, so every app has its own pricing page, its own invoice format, its own approval flow. When billing is confusing or inconsistent across apps, merchants feel it. So do developers, in support tickets, cancellations, and reviews.
  2. Flexibility came at a cost. The Billing API let you price how you wanted, but it meant building and maintaining a full billing stack. Engineering time that could go toward your product went toward billing plumbing instead.

In 2024, we released Managed Pricing as a first step toward Shopify-hosted billing. Apps on it saw smoother app reviews and fewer billing-related rejections, but its capabilities were limited to flat-rate subscriptions. If your app’s value scaled with merchant activity, Managed Pricing couldn’t represent that.

Developers should be free to price how they want without taking on billing as a side job. Shopify App Pricing eliminates that tradeoff. Same Shopify-hosted billing merchants trust, now with the flexibility to support any pricing model.

When developers don’t have to build custom and bespoke billing, merchants get the consistent experience that keeps them paying.

What’s new

  1. Managed Pricing is now Shopify App Pricing

The same Shopify-hosted billing system Managed Pricing gave you, now with more power and flexibility to support your revenue goals as you scale.

Pricing is configured once during app submission in the Partner Dashboard, and the rest is left to Shopify: the plan page, charge approvals, usage tracking, invoicing, and payment collection. Your app’s charges appear on the same Shopify invoice merchants already pay.

  1. Usage-based billing supported

This is the biggest addition. Shopify App Pricing lets you choose from recurring subscription fees, usage-based charges, or a combination of both.

Stick with subscriptions or charge merchants based on how they actually use your app, whether it’s per message sent, per order processed, per image optimized, etc. Three pricing structures are supported:

  • Fixed - uniform rate per unit
  • Graduated - tiered rates summed across usage bands
  • Volume - single rate based on total usage tier
  1. New APIs to power your billing

Shopify App Pricing ships with new APIs split across two surfaces:

A. Send usage from your app to the App Events API

Usage-based pricing works through the new App Events API. You define meters in the Partner Dashboard, then send usage events from your app. Shopify matches events to your meters, aggregates usage, calculates charges, and invoices the merchant automatically.

The App Events API also supports negative reporting. Which means it automatically corrects a usage charge (a message bounced, a transaction was reversed, a job was retried) without having to deal with refund processing or support tickets.

B. See a more accurate report of your apps billing data

The new Active Subscription and Historical Events APIs solves key limitations in the current GraphQL Admin API by providing persistent data beyond uninstall, so you can accurately track revenue, reconcile billing history, and report on the full merchant lifecycle.

  • Active Subscription API: Real-time subscription status (active / pending / cancelled / frozen) that persists beyond uninstall. The old AppSubscription object in the GraphQL Admin API only reflects the most recently accepted charge, which doesn’t always match the true subscription status. This API gives you the real state of the merchant’s subscription.
  • Historical Events API: Full event log of installs, uninstalls, subscription changes, charges, credits, and usage, for reporting and reconciliation. This API is enriched with more detail than past APIs and is built with Shopify App Pricing in mind.
  1. Transparent billing in the admin

Merchants now see a billing card on your app’s page in their Shopify admin. It shows their current plan, subscription status, usage charges, and upcoming pricing changes — including downgrades. This is the same information surfaced through the Active Subscription API on your side.

For apps with usage-based pricing, merchants see itemized breakdowns of what they’re being charged for and why. This should significantly decrease those “why is my bill higher this month?” support tickets landing in your inbox.

  1. The Billing API is now legacy

The Billing API keeps running, however, Shopify App Pricing is where billing gets built going forward, including usage-based pricing, better subscription data, automatic usage corrections, etc. New apps default to Shopify App Pricing today.

When billing becomes a platform capability, the entire ecosystem wins

  • Merchants get billing experiences they can trust. When every app’s pricing page, invoice, and charge approval looks and works the same way, merchants don’t have to figure out how billing works for each app they install. They just read the price, approve the charge, and move on. For you, that means fewer billing-related support tickets, fewer cancellations, and more merchant trust.

  • Make billing decisions faster. When pricing is configuration instead of code, you can add, adjust, or scale your billing to grow with you. Notice features that drive retention through App Events? Price for it instantly or run $0 tests to verify the approach before you ship it – all without ever redeploying code. App Store reviews go smoother too, because your billing is already built into the platform.

  • You get more time building apps, not billing. Plan selection, charge approvals, proration, metering, invoicing, all handled by Shopify. The engineering time you used to spend on billing plumbing goes back to building the features merchants are actually paying for.

Get started with Shopify App Pricing

Shopify App Pricing is the default option when you start a new app.

If you have an existing app, you’ll soon be able to opt into Shopify App Pricing by switching your APIs over. Migration tooling will be available shortly to make this transition as seamless as possible, so your merchants won’t need to resubscribe or take any action.

Using Mantle to configure your app pricing? No worries, we are working closely with them to ensure you have a smooth transition. Details to come soon.

For more details on how to set up Shopify App Pricing, check out our dev documentation.

Have questions? Ask us or share your feedback below. We’ll be actively monitoring this thread as we continue to make Shopify App Pricing available to all apps and pricing plans.

FAQ

Q: Is my billing going to break?

No. Your current billing on Managed Pricing or the Billing API continues to work exactly as it does today. Nothing will break.

Q: Do I have to migrate to Shopify App Pricing?

Your current billing will keep working if you don’t migrate, however, Shopify App Pricing is the default billing solution going forward because it addresses several limitations of the Billing API and Managed Pricing, including:

  • Subscription status not reflecting a merchant’s real subscription state (only the last accepted charge)
  • Billing data disappearing after app uninstall
  • The Usage API adding separate line items per call instead of true metering

These gaps can cause inaccurate reporting, billing disputes, and merchant experiences that feel inconsistent with the rest of Shopify. Shopify App Pricing fixes this with real-time subscription status, persistent billing history, native metering, and automatic usage corrections. It’s also where all new investment is going and we intend to expand Shopify App Pricing’s capabilities to offer the best solution for all apps.

Q: Is the Billing API being deprecated?

As of now, the Billing API is legacy. Shopify App Pricing is now the default billing solution for apps.

Q: Will one-time charges be supported?

While there’s no standard one-time charge support on Shopify App Pricing currently, we found that the majority of use cases that rely on one-time charges can be represented as usage-based pricing, which Shopify App Pricing does support. If your app currently uses one-time purchases, take a look at whether usage-based pricing could work for your model. We’re evaluating additional pricing features for future releases.

Q: Are there limits on usage-based pricing?

Yes. Up to 5 usage meters per plan, up to 6 pricing tiers per meter. Usage charges must be billed monthly. They can’t be combined with yearly-only plans. Usage caps aren’t supported yet. Full details in the dev docs.

Q: Does subscription data work the same on Shopify App Pricing as it did on Managed Pricing?

Shopify App Pricing uses the Partners API for subscription data, not the GraphQL Admin API. Subscription changes aren’t delivered via webhooks. See the dev docs for details.

Q: I’m on Managed Pricing, do I need to update my code?

Yes. Beyond plan configuration updates, you’ll need to move subscription queries to the Partners API and update code that relies on webhooks for subscription notifications. See the dev docs for details.

Q: Will merchants see usage breakdowns in their email notifications?

Not at launch. Merchants can view usage details on their Shopify invoice and in the charge approval flow. We’re working on adding usage details to email notifications.

Q: Is historical billing data available right away?

New billing data is available immediately. Historical data backfill is in progress and coverage will build over the coming months.

Q: Shopify App Pricing doesn’t support the pricing features I need. Can I request they get added?

We’re exploring more use cases to add to Shopify App Pricing in future releases. If you have feedback and feature requests, we want to hear them.

Q: I’m currently using Mantle to configure my pricing. Do I have to migrate?

We are working closely with Mantle to ensure you have a smooth transition, with little to no disruption to your Shopify settings and Mantle set up. Details to come.

Was there a “heads up” on this that I missed?

Is this why managed billing went down earlier?

Hello,

Is it possible to have more than 3 plans this time? What’s the max number of plans supported?

Also, is there any chance some basic metrics could be baked into the dev dashboard like MRR, churn etc?

Thanks!

I’d rather have my own page, do I have to remain on billing Api?

@jzaz How can we submit our own use cases for consideration?

Hi @sebastian.pisula

Can you describe your use case and how it wouldn’t be supported currently?

Awesome, much needed on the usage front where currently it’s extremely difficult to manage volume usage pricing because of dynamic and flexible billing period end dates.

In the past, it’s not been possible to offer a subscription that features an annual flat subscription with a monthly billing period for usage charges (2 components).

I assume even with this change that’s still not possible right?

This is a great step on the right direction, I’m sure it will continue to improve.

We’ve been using Managed Pricing with minimal issues since it came out. There is a concern with this announcement that I’d like clarification on however.

There are no timelines for migration, and there are already some posts warning that some workflows have broken (e.g, free plans on dev stores).

The migration guide does not share explicit timelines for migration, and it says that apps using Managed Pricing are now automatically using Shopify App Pricing.

While it is an improvement, we are not ready to patch our codebase to use the new Partner API suddenly, we need to allocate time for this refactor in the future, not now, and the migration is prompting us to migrate immediatly without any warning or breathing time.

We’re left with a few big questions:

  • Will new subscriptions be associated to this system (thus breaking our code that relies on webhooks and admin api?)
  • Is there a way to delay or not auto opt-in for a while we stay in Managed Pricing?
  • Are the tooling around the Partners Api? (graphql-codegen, graphql client utilities)?
  • Webhooks makes it easier for us to know when we should run reconciliation jobs without unnecessary polling. Is it possible to include webhooks for the Partners API so we don’t need to continously poll it for changes that happen outside of regular redirect flows? These redirect flows are brittle as they depend on the user actually landing on the redirect target which could be prevented in many ways (closing tab, losing internet, etc…)

Thank you for the great work!

Hi Daryl,

Shopify App Pricing supports 4 public plans at this time.

I’ll take your basic metrics suggestion back to the team.

Hi Jonathan @jzaz

Excited to see this consolidating, but flagging one limitation that’s blocking us (and likely other usage-based apps) from migrating:

No support for usage caps (cappedAmount-equivalent).

Our app charges per connected sales channel, with a hard monthly cap so merchants know their worst-case bill. We rely on cappedAmount in appSubscriptionCreate + appUsageRecordCreate for this… it’s the entire reason merchants approve the charge, since it’s the only thing standing between them and an unbounded usage bill.

Without a cap mechanism in Shopify App Pricing, we can’t migrate without forcing every merchant to re-approve into a model with a worse worst-case. That’s not a conversation we’d survive.

Related smaller asks (less urgent for us, but probably common):

  • Combining yearly base + monthly usage line items
  • One-time charges alongside usage

Otherwise the direction looks great! Especially the Active Subscription API persisting through uninstall (we maintain a hand-rolled reconciliation loop for exactly this race today) and the Historical Events API for billing reconciliation. Happy to beta-test cap support if/when it lands.

Thanks!
Jeremy

+1 for usage charges on annual plans.

We would also need usage caps to be able to migrate. Also +1 for yearly plans and usage. Surprised this is the first time I’ve heard of this upcoming change and billing is already legacy.

Thanks for confirming! Do you think the ability to add more than 4 plans is on the cards? It’s currently a blocker for me.

Cheers!

Billing events and Custom events are different things. Can we query custom events through any of the APIs?

The docs say:

For broader analysis across your merchant base, you’d need to export or process the event data externally — for example, by querying the API programmatically and aggregating the results in your own analytics system.

I couldn’t find information on how to query those Custom events programmatically. Does the Events API only support creating events?

Are there any plans to add support for currencies other than USD? The only reason I’m using the billing API is to charge in EUR.

We’ve been testing the managed pricing with out simpler apps and have already encountered issues related to dev stores, previously all dev stores create test charges, although some Shopify staff accounts aren’t dev stores yet creates test charges and makes it impossible for us to determine whether they should be moved to a paid plan or not, we’ve had to assume all staff plans are dev plans. With Shopify app pricing, this has been removed, which fixes the above, but causes significant other issues:

  • we can no longer offer a free plan to merchants without manually creating a private plan for every single store.

With our higher usage apps, we’ve been looking at transitioning to a new billing model and Shopify app pricing still falls short of our use cases and we’ve actually just spend the last couple of weeks building out our own solution. Some things we need:

  • Ability to give merchants a discount coupon, i did see in the billing API there was scope for discounts to be applied (i.e 50% discount for first x months) although i haven’t actually tried it, something like this on the Shopify app pricing would be extremely useful if applicable via a discount coupon, or even better where we can tie to a pattern in the store owners email, we use this to apply bulk pricing for companies who manage a large number of stores and this allows us to apply a discount tied specific to their account and not be concerns about the coupon being leaked.
  • Ability to offer merchants discount if they have multiple apps installed. This can potentially be applied using a coupon.
  • Ability to target plans at a specific Shopify store plan. For example we want a dev plan to show just for dev stores, and hide PLUS specific plans from non PLUS accounts.
  • Ability to adjust the trial time for specific merchants, for example we want the trial to apply from when the merchant first activates a plan, not from each install as some merchants try to game the system by reinstalling the app continuously, whilst this doesn’t occur often, it’s still a point of concern. We also would like to adjust the trial time for merchants using discounts, this is usually for merchants who are already using the app and are installing a second or third store at a discount, as they’re already using the app, a trial in this scenario doesn’t make sense anymore.
  • Ability to show plans grandfathered plans to merchants who are already using the app before a certain cut off date, this is useful when there are plan changes across the app and we wish to maintain a level of continuity with existing merchants.

What are the intended deprecation timelines for the billing API? From my point of view, the current Shopify App Pricing isn’t currently suitable for some of our apps yet but moving in the right direction.

What i would also like to see once this is fully rolled out is a common plan change page and flow for all apps, which means we no longer need to surface plan change settings within the app UI itself. If the intention is to have a single plan selection experience across all apps, this should definitely be the case, and merchants will know exactly how to change plans for any app. Whilst there is currently a manage plan link buried in the app settings page, this isn’t accepted as a valid option by the app review team for things like ‘built for shopify’.

Any update on multi-currency billing? Merchants pay their Shopify invoices in local currency and have done for years - but as an app partner, charging in anything other than USD is still extremely limited and confusing. More context in what I wrote last year: Multi-currency billing for apps is fundamentally broken right now

What about localization @Liam-Shopify @jzaz?

My app supports 140 locale at the moment. Would you be able to support localization in a way that we can upload the resources via graphql?

Also what will happen to the external apps?

Also please clarify this phrase
“Before April 28, 2026, you can query the Billing API for subscription status after a merchant approves a charge. After April 28, 2026, use the Partner API to confirm subscription status.”
Did I miss something on changelogs regarding this?