Building subscription apps
Subscription apps allow developers and merchants to build subscription experiences directly into Shopify's checkout. Using Subscription APIs, you can sell goods and services in multiple ways.
Using our docs and tutorials, you can familiarize yourself with all aspects of the subscription apps creation process, from explore and build, through to launch:
- Explore - Review the requirements for building an app that uses subscriptions.
- Build - Refer to Shopify subscriptions overview for a high level view of the build process.
- Launch - Follow the launch checklist to submit your app to the Shopify App store.
The requirements for building an app that uses subscriptions depends on the type of app that you're building.
|Public apps||You can request Subscription APIs access through the Partner Dashboard. Public apps must meet specific requirements in order to be published on the Shopify App Store.|
|Custom apps||You can request Subscription APIs access through the Partner Dashboard. Your app will receive access as long as it's designed according to our documented principles and patterns.|
|Private apps||Private apps are unable to use extensions or request access to protected scopes, so they can't use subscriptions. If you're building a solution for a single store, then use a custom app.|
Migrating to use Subscription APIs
If you already have a subscription app and need to migrate to use Subscription APIs, then refer to the Subscription API migration guide.
If your existing subscription app uses Stripe to process subscription payments, then you can import pay-as-you-go contracts directly into Shopify without the need to migrate credit cards. For more information, refer to Migrating existing subscription contracts to Shopify.
While subscriptions are a powerful and exciting new feature, there are some limitations that you need to be aware of:
- Scripts that discount subscription price or shipping rates apply to the first payment only.
- Gift cards used to pay for subscriptions only apply to the first payment.
- To use subscriptions, the merchant must be using Shopify Payments as their primary payment gateway.
- Customers can't use accelerated checkouts or local payment methods to purchase subscriptions.
- Subscriptions are charged shipping separately from the rest of the cart.
- Subscriptions don't support local delivery or local pickup options.
- Merchants can't sell subscriptions through Shopify POS yet, but we're planning to add support for this later in the year.
- Subscriptions don't support "Buy X get Y" discounts.
- Selling plan titles don't support translations for multi-language storefronts.
- Merchants who are using Shopify Plus and have a customized checkout can't sell subscription products to their customers. If you need access for a specific Plus store before then, contact Partner Support for early access.
- Selling subscriptions using draft orders is not supported, but is planned for later this year.
- The Order Edits API doesn't support subscriptions.
Some subscription features are in development and will be released later this year. Below you’ll find the features on our roadmap and our estimated launch dates. These dates may change but represent our current best estimates.
|Feature||Target launch date|
|(Plus) Checkout.liquid support||Launched Feb 2021|
|(Plus) Scripts support||Launched Feb 2021|
|Paying for subscriptions with a gift card||Launched Feb 2021|
|Improvements to shipping calculation for carts containing subscriptions and one-time purchases||Q2 2021|
|Additional gateway: PayPal Express||Q2 2021|
|Additional gateways: Stripe||Q2 2021|
|Additional gateways: Authorize.net||H2 2021|
|Wallets support: Shop Pay, Apple Pay, G Pay||H2 2021|
|Local pickup||H2 2021|
|Local delivery||H2 2021|
|CSV exports||H2 2021|
|Draft orders||H1 2022|
|Shopify POS||H1 2022|
|Storefront API||H1 2022|
This section specifies the prohibited actions associated with using the Subscription APIs. The list is not exhaustive and might be updated at any time:
- Vaulting cards: Vaulting cards for any purpose other than processing recurring payments for a specific product isn't supported.
- Overbilling: Billing against a customer's card can only be done as specified by the contract. Don't overbill against any card.
- Updating contracts inappropriately: Subscription contracts must only be updated to reflect what the customer has agreed to.
- Unclear contracts: It must be clear to the customer what they're agreeing to. The storefront must clearly state the conditions of the contract.
- Stale contracts: Don't let contracts become stale in Shopify. As soon as a customer agrees to a contract change, the updates must be reflected in Shopify. This helps to ensure that merchants are never locked into a particular subscription provider.
- Selling plans without subscription contracts: Don't create selling plans as a means to only have additional pricing control without handling the resulting subscription contracts.
- Unsupported usage: The APIs are built to support subscriptions. Don't use the APIs to solve for other business use cases like instalments, layaways, or pre-orders.
Any failure to abide by these prohibitions constitutes a breach of Shopify’s API Terms. We might update these prohibitions from time to time, so please check back for any changes that might impact you.
Build apps to manage subscriptions
- Shopify subscriptions overview
- Create and manage selling plans
- Create and manage subscription contracts
- Create and manage discounts on subscriptions
- Create and manage subscription shipping rates and delivery methods
- Create a secure customer-facing subscription portal
Build support for subscriptions in your theme
- Showing selling plan groups and selling plans on a product page
- Online store UX guidelines for subscriptions
Build a product subscription app extension
- Product subscription app extension overview
- Getting started building a product subscription app extension
- Create and manage a product subscription app extension
- Version and publish your product subscription app extension
- Authenticate an extension built with Argo
- Shopify App CLI Extension commands
Manage orders and fulfillments for prepaid subscriptions
- Create and manage fulfillments for a prepaid subscription order
- Handling advanced fulfillment scenarios for subscriptions
- Manage orders for prepaid subscriptions
Migrate your app to use Subscription APIs
- Subscriptions API migration guide
- Migrating existing subscription contracts to Shopify
- UX guidelines for building migration experiences
Frequently asked questions
What should I do if I have merchants dependent on features in my legacy subscription app that are currently unresolved limitations of the new APIs?
Any existing installs can continue to use your app at this time. All new installs, apps, and opportunities should use the new Subscription APIs. We'll continue to release more features and support for subscriptions over the coming months, as outlined above and going forward.
Where can I learn more about subscriptions?
For more information on subscriptions, refer to our Partner Blog post, where we give some background information on why we built this feature.
We are always looking for feedback on our APIs. If you have any specific questions, concerns, or feedback on the Subscription APIs, then visit our Subscriptions API forums.
Learn how subscriptions work at Shopify and get familiar with the developer tools and resources you can use to build and manage subscriptions.