A subscription is a business model that enables customers to pay a recurring price at scheduled intervals for goods or services. For example, customers can buy a product as a recurring subscription. Learn more about purchase option types.
Subscription apps enable developers and merchants to build subscription experiences directly into Shopify's checkout. This guide describes what a subscription is, subscription APIs, migration to subscription APIs, and limitations for subscription apps.
How do subscriptions work?Anchor link to section titled "How do subscriptions work?"
Subscriptions include policy configurations and subscription contracts.
Policy configurationsAnchor link to section titled "Policy configurations"
You can create purchase options using the
A subscription includes delivery, pricing, and billing policies. This enables you to build more flexible and extensible apps that support various ways to sell and buy products.
Delivery policyAnchor link to section titled "Delivery policy"
deliveryPolicy field defines when the order should be fulfilled, from the time that the order is created to the time that it leaves the merchant's possession. Merchants can specify the delivery interval (
interval) and the interval count (
Pricing policiesAnchor link to section titled "Pricing policies"
pricingPolicies field defines pricing changes on a given product variant, including any shipping costs, taxes, duties, or discounts. Pricing policies enable merchants to adjust prices on subscription orders by setting
adjustmentValue. Pricing policies work in conjunction with price lists.
Pricing policies include the following types:
fixedpricing policy: A single pricing policy. For example, all billing cycles can have a flat 15% discount. An initial pricing policy is applied until a defined recurring policy kicks in.
recurringpricing policy: A follow-up pricing policy that applies if the initial pricing policy expires. For example, the first billing cycle has a 20% discount, and the subsequent recurring cycles have a 15% discount.
Billing policyAnchor link to section titled "Billing policy"
billingPolicy field defines the intervals of time between the placement of an order, its fulfillment, and payment collection. Merchants can specify the billing interval (
interval) and the interval count (
Subscription contractsAnchor link to section titled "Subscription contracts"
A subscription contract is the agreement between a customer and a merchant over a specific term for recurring purchases over a set or undefined period of time. Learn more about subscription contracts.
Purchase option categoryAnchor link to section titled "Purchase option category"
category field represents the purchase option category that's used to filter orders by purchase option on the order page. The
category field supports the following approved categories:
If you want to offer a purchase option that isn't listed above, then set the
category field to
OTHER, and fill out our request form, where we'll review your request for a new purchase option.
Subscription APIsAnchor link to section titled "Subscription APIs"
Shopify provides the following APIs to help you build and manage subscriptions in your app:
Selling plan APIs: Create and manage various ways to sell and buy products.
Subscription contract APIs: Create and manage subscription agreements between a customer and merchant.
Customer payment method APIs: Store payment methods that can be used to pay for future orders without requiring the customer to manually go through checkout.
Migrating to use Subscription APIsAnchor link to section titled "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.
LimitationsAnchor link to section titled "Limitations"
The following are known limitations for all purchase options:
- Customers can't use local payment methods for purchase options.
- Purchase options can't be used through Shopify POS.
- Purchase options can't be used on draft orders.
- Purchase options don't support "Buy X get Y" discounts.
The following are known limitations for subscriptions:
- Customers can only use Shop Pay on some stores.
To use subscriptions, merchants need to use the following payment gateways:
If you're migrating from Braintree, and you sell internationally, then you need to consider that Braintree's legacy payment gateway integration doesn't support multi-currency subscription contracts.
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.
The Order Edits API doesn't support subscriptions.
Apple Pay support for subscriptions is only available in the United States, Canada, Australia, and New Zealand for Visa and Mastercard.
Subscription APIs don't support duties when subscription orders are created. Duties are available on the customer's first order that creates a subscription because the order goes through checkout. However, when subscription apps subsequently bill customers and create orders using the API, duties won't work.
Legacy subscription appsAnchor link to section titled "Legacy subscription apps"
If you have merchants that are dependent on features in your legacy subscription app that are currently unresolved limitations of the subscription APIs, then any existing installs can continue to use your app.
All new installs and apps should use the new Subscription APIs.