Shopify does not have built-in recurring billing. To offer recurring orders on Shopify, you need two things: a subscription app (like Joy Subscriptions) that manages subscription logic and schedules, and a compatible payment gateway (Shopify Payments is the primary one; Stripe also works via third-party setup) that can store and charge payment methods automatically. The subscription app triggers the charge on the right day; Shopify processes it and generates a standard order — with the same fulfillment workflow as any other order.
A lot of merchants come to subscriptions expecting Shopify to handle the recurring billing side out of the box. It does not. And that surprises people — especially when they see competitors using Shopify-powered subscription products and assume the platform does the work natively.
Once you understand the actual architecture — three layers, each doing a specific job — everything else about how subscriptions work on Shopify starts to make sense. This guide explains those layers, how payment timing works, what recurring orders look like in your admin, and what happens when a payment fails.
No technical background required.
Does Shopify Have Built-In Recurring Orders?
No. Standard Shopify is designed for one-time transactions. When a customer checks out, Shopify collects payment for that order and that order only. There is no native mechanism in Shopify to schedule a future charge against the same payment method.
To offer subscriptions or recurring orders on Shopify, you need two things working together:
- A subscription app — this manages the subscription logic: what products are in each plan, how often customers are billed, when the next charge is due, and what happens when a payment fails.
- A payment gateway that supports recurring billing — this stores the customer's payment method and can process a charge without the customer being present at checkout. Shopify Payments supports this natively. Some third-party gateways (like Stripe) also support it. Many do not.
Both pieces are required. A subscription app alone cannot charge a customer if the payment gateway does not support storing and reusing payment methods. A compatible gateway alone does nothing without an app to schedule and trigger the charges.
How the Architecture Works
Think of Shopify recurring orders as a three-layer system. Each layer has a clear role.
Layer 1: The Subscription App
The subscription app — Joy Subscriptions, for example — is where subscription logic lives. It stores:
- The subscription plans you have created (products, pricing, billing interval)
- Each subscriber's status, billing date, and plan details
- The schedule for when the next charge should be triggered
When the billing date arrives, the subscription app sends a payment capture request to the payment gateway. It does not process the payment itself — it tells the gateway to charge the stored card.
Layer 2: The Payment Gateway
When a customer subscribes for the first time, the payment gateway stores their card details and returns a payment token — a reference ID that can be used for future charges. The actual card number never touches Shopify or the subscription app; it lives securely with the gateway.
When the subscription app triggers a billing cycle, it sends that payment token to the gateway along with the charge amount. The gateway looks up the stored card, processes the charge, and returns a success or failure result.
This type of charge — processing a payment without the customer actively completing a checkout — is called an off-session payment. Not all gateways support it. Shopify Payments does. Stripe does. Many regional or legacy gateways do not.
Layer 3: Shopify
Once the gateway confirms a successful charge, Shopify receives that confirmation and generates a standard order. From this point forward, it is identical to any other Shopify order: it appears in your Orders tab, triggers fulfillment, and sends a confirmation email to the customer.
The key insight: from the fulfillment side, a recurring order and a manually placed order look identical. The difference is entirely in how the order was triggered — the customer did not go to your store and check out. The subscription app did it automatically on their behalf.
What Payment Gateways Support Recurring Billing?
Not all payment gateways can handle off-session charges. Here is the current landscape:
| Gateway |
Recurring Billing Support |
Notes |
| Shopify Payments |
Yes — natively supported |
The simplest path for most merchants. No additional setup required. |
| Stripe |
Yes — via third-party setup |
Works well, but requires configuration. Check your subscription app's compatibility. |
| PayPal |
Limited |
PayPal's recurring billing support on Shopify is inconsistent. Verify current compatibility before relying on it. |
| Most other gateways |
No |
Off-session payment capture is not a standard feature across all payment providers. |
Important: if your store uses a payment gateway that does not support recurring billing, subscriptions will not work — regardless of which subscription app you install. If you are unsure about your gateway's compatibility, check with your subscription app's support team before setting anything up. It is a faster conversation than discovering the issue after launch.
How Payment Timing Works
Understanding when charges happen — and in what sequence — helps you set accurate expectations for both yourself and your customers.
First Order
When a customer subscribes, their card is charged immediately for the first order. This is a standard checkout — the customer is present, enters their payment details, and Shopify processes the charge as a normal transaction. The subscription app stores the payment token returned by the gateway for all future billing cycles.
Subsequent Billing Cycles
The subscription app records the billing date for the next cycle based on the interval the customer selected (weekly, every two weeks, monthly, and so on). On that date:
- The subscription app sends a payment capture request to the payment gateway, using the stored payment token.
- The gateway processes the charge against the stored card.
- If the charge succeeds: Shopify generates the order and your fulfillment workflow begins.
- If the charge fails: the dunning process begins (more on this below).
One nuance worth knowing: billing day and fulfillment day are not always the same day. There is typically a short processing window between when a charge is captured and when the resulting order is ready to fulfill. This is usually a matter of minutes or hours, but it is worth accounting for if you have tight fulfillment SLAs.
What Does a Recurring Order Look Like in Shopify Admin?
Once a recurring order is generated, it lives in your Shopify Orders tab alongside every other order. You will not see a special "subscription" section in standard Shopify — recurring orders are just orders.
What distinguishes them in practice:
- Order tags: Most subscription apps tag recurring orders automatically so you can filter them. In Joy Subscriptions, recurring orders are tagged with joy_subscriptions. You can filter your Orders list by this tag to see only subscription-triggered orders.
- Order notes: Joy also adds the subscription ID to the order notes, so you can trace any order back to the specific subscription that generated it.
- Fulfillment workflow: Identical to a regular order. Pick, pack, ship, mark as fulfilled. No special steps required.
- Customer email: Shopify sends the standard order confirmation email by default. Most subscription apps — including Joy — also send a separate billing notification email before or at the time of charge. Both are configurable.
The practical result: your fulfillment team does not need to know or care that an order was subscription-triggered. It arrives in their queue like any other order.
What Happens When a Payment Fails?
Card declines are a normal part of running subscriptions. Cards expire, billing addresses change, fraud blocks trigger unexpectedly. This is not a rare edge case — for most subscription businesses, a small percentage of billing attempts fail every cycle.
What happens next depends on whether your subscription app has dunning — the process of retrying failed payments and prompting customers to update their details.
Without Dunning
The subscription attempt fails silently. No order is generated. The customer may not know anything happened. You lose the revenue for that cycle, and the subscription may stay in an unresolved state until someone notices.
With Dunning (Smart Retry)
The subscription app follows a retry schedule — for example, retrying on day 1, day 3, and day 7 after the initial failure. During this window, the app also sends email and/or SMS prompts to the customer, asking them to update their payment details through the customer portal.
Most modern subscription apps — including Joy Subscriptions — have dunning built in as a standard feature. It is not something you need to configure from scratch.
We cover dunning in detail in our guide to dunning management for Shopify subscriptions — including how to set retry schedules, write effective recovery emails, and benchmark your recovery rate.
The Difference Between a Subscription Order and a Regular Order
It helps to see the differences side by side. Here is how subscription orders and standard orders compare across the dimensions that matter most for merchants:
| Dimension |
Regular Order |
Subscription Order |
| How it's created |
Customer visits your store and completes checkout manually. |
Subscription app triggers the order automatically on the billing date. |
| Payment |
Customer enters card details at checkout. Gateway processes the charge in the moment. |
Card was stored from the first order. Gateway processes the charge off-session, without the customer present. |
| In Shopify admin |
Appears in Orders tab. |
Appears in Orders tab — looks identical once created. Tagged for filtering. |
| Fulfillment |
Standard: pick, pack, ship, fulfill. |
Identical: pick, pack, ship, fulfill. No special steps. |
| Inventory |
Deducted from stock on order creation. |
Deducted from stock on order creation — same behavior. |
| Cancellation before order exists |
Not applicable — a regular order only exists once it's been placed. |
The customer can pause, skip, or cancel their subscription before the next charge via the customer portal. |
The takeaway: most of the complexity in recurring orders happens before the order exists — in the subscription app and payment gateway layers. Once the order is in Shopify, it behaves like every other order you have ever fulfilled.