Managed App Pricing
Managed app pricing lets you define your app’s pricing plans directly in the Shopify Partner Dashboard, without needing to use the Billing API. Shopify hosts your app’s plan selection page, and automates most common billing tasks, such as recurring charges, free trials, proration, test charges, and price updates.
For most developers, managed pricing is simpler and more consistent than coding your own billing logic using the Billing API.
Set up managed pricing
Anchor link to section titled "Set up managed pricing"Managed pricing is the default option when you submit a new public app for approval. You can opt in to managed pricing for existing apps by editing your app listing. You can switch back to manual pricing at any time.
Managed pricing is available for free, monthly, and annual recurring plan types.
Opt in to managed pricing
Anchor link to section titled "Opt in to managed pricing"- From your Partner Dashboard, click Apps > All Apps and click the name of the app you want to update pricing for.
- Click Distribution.
- Beside Shopify App Store listing, click Manage listing.
- Under Published languages, click Edit for the locale you want to update.
- Click or scroll down to Pricing details
- Under Set up plans and pricing, select Managed pricing.
- In the confirmation dialog, click Switch.
Add pricing plans
Anchor link to section titled "Add pricing plans"Once you've opted into managed pricing, you can add one or more pricing plans:
- In the pricing details section of your app listing, click Add.
- Type a name for your plan.
- Under Charge type, select whether the plan is a free, monthly, or yearly charge.
- (Optional) Check This app has a yearly discounted price if it applies.
- Under Yearly discounted price, add the corresponding annual price.
- (Optional) Under A free trial is available, add the number of days your app can be trialed for free.
- (Optional) Under Plan features, describe what functionality the plan offers.
- Under Charge approval redirect URL, add a path or URL where the merchant will be redirected after approving the plan charge.
- Click Save.
Plan selection page
Anchor link to section titled "Plan selection page"Shopify hosts your plan selection page and creates subscriptions for merchants using the prices set in your Shopify App Store listing. Direct your merchants to this page and check their subscription status.
Your app's plan selection page URL follows this pattern:
You can validate that your plan selection page works as expected by following the test charge documentation.
Redirect URLs
Anchor link to section titled "Redirect URLs"When a merchant approves a subscription, they're redirected to the URL that's specified for that plan. You can configure these URLs on a per-plan basis to customize your app onboarding experience.
We recommend that you query the Billing API for subscription status after approval for charge status changes.
Embedded app redirects
Anchor link to section titled "Embedded app redirects"If you've built an embedded app, then you can specify a relative path, such as /welcome
. A charge_id
URL parameter with a transaction ID is appended to all redirect URLs.
External redirects
Anchor link to section titled "External redirects"If you have a non-embedded app, or prefer to redirect to an external site, then you can redirect to a valid URL (including the http
or https
protocol). URL parameters for the charge_id
and the merchant shop domain are appended to redirect URLs.
Proration logic
Anchor link to section titled "Proration logic"Trial proration
Anchor link to section titled "Trial proration"Managed app pricing tracks trial days over a 180-day period to prevent users from repeatedly reinstalling apps to exploit free trial periods. For example, if a merchant uses 12 out of 15 trial days on a Pro Plan, uninstalls, then reinstalls the app 90 days later, they'll still have 3 trial days left for the Pro Plan.
If you update your trial periods, then previously consumed trial days are subtracted from the new totals.
Plan downgrading
Anchor link to section titled "Plan downgrading"Downgrading from a paid plan to a free plan is deferred, meaning it's effective at the end of the paid plan’s current cycle.
Discounts and trial extensions
Anchor link to section titled "Discounts and trial extensions"You can issue discounts or extend app trial periods through your Partner Dashboard:
Issue a discount
Anchor link to section titled "Issue a discount"- From your partner dashboard, search for the name of the merchant you want to offer a discount. Click the merchant name in the Store column of the search results.
- Beside Discount, click Create.
- Under App, search for your app by name and select it.
- Select the type, value, and duration of the discount.
- Click Create.
- In the confirmation dialog, click Apply to confirm the discount.
Extend a trial period
Anchor link to section titled "Extend a trial period"- From your partner dashboard, search for the name of the merchant whose trial you want to extend. Click the merchant name in the Store column of the search results.
- Beside Trial extension, click Create.
- Under App, search for your app by name and select it.
- Under Extra trial days, enter the number of days to extend the merchant's trial.
- Click Create.
- In the confirmation dialog, click Apply to confirm the trial extension.
For both discounts and trial extensions, Shopify sends an email to the merchant on your behalf confirming the discount or trial extension. The merchant doesn't need to re-subscribe to the plan. The discount is applied to their subscription automatically, and starts on the next billing cycle.
Test charges
Anchor link to section titled "Test charges"To simplify testing your app's pricing, managed pricing has implemented free testing for dev stores.
When a development store subscribes to a plan, Shopify creates a test subscription for that store. Your account isn't charged for test subscriptions.
To receive a webhook when a subscription is updated, register for the APP_SUBSCRIPTIONS_UPDATE
topic. Note that webhooks can take several minutes to deliver. Make sure your app can handle webhook delays and follow Shopify's best practices for webhooks.
Limitations
Anchor link to section titled "Limitations"- Managed pricing currently supports only fixed, recurring pricing models (for example, $10/month or $100/year).
- Once you opt in, you can’t create new recurring application charges using the Billing API. Charges created before opting into managed pricing continue to process as expected.
- When testing a draft app during development, its plan selection page might return a 404 error if the development store and the app listing are set to different locales. This issue doesn't affect production stores or published apps.