Skip to content
MergeGuard
Install free

Guide

How Shopify subscriptions work: selling plans, contracts and billing attempts

A selling plan sets how a product can be bought on repeat. A subscription contract is the agreement between the customer and the merchant. Each charge is a billing attempt on that contract, and it can succeed or fail. A failed attempt is a payment event, so it does not show by itself that the customer chose to leave.

By MergeGuard team

Last updated

3 min read

On this page

A subscription looks like one thing to a customer and three things to Shopify. A plan says how the product can be bought, a contract records the agreement, and every charge is a separate attempt to collect money. Knowing which is which makes it easier to read what your admin shows you when a payment fails or a subscriber goes quiet.

Key insight

The contract and the billing attempt are separate things. A failed charge is a payment event, and the customer may not have decided anything yet.

Selling plans

Shopify’s developer documentation describes two types of selling plan.

  • Pay-per-delivery. “Pay for products for each delivery. New orders are created at regular intervals.”
  • Pre-paid. “Make a single payment upfront and receive products on a regular cadence until the order is fulfilled.”

The type decides how often you ask for money. A pay-per-delivery plan collects at every delivery, so there are more moments when a payment can fail. A pre-paid plan collects once at the start. That comparison is our reasoning from the two definitions, and Shopify’s pages don’t put it that way.

Subscription contracts

A subscription contract is, in Shopify’s words, “the agreement between a customer and a merchant over a specific term for recurring purchases” (Subscriptions). The developer documentation says contracts “might have a status of active, paused, or failed”.

The contract is attached to a customer profile. That detail matters later: when the same person has two profiles, the contract sits on only one of them. It also explains a merge limit, because Shopify refuses to merge a profile that has, or has ever had, a subscription contract. The details are in duplicate profiles and subscription contracts.

Billing attempts

An app collects payment on a contract. Shopify’s documentation says “apps charge customers for their subscriptions by initiating a billing attempt on the subscription contract”. When an attempt fails, Shopify sends a webhook (a message to the app) described as “Occurs when a billing attempt fails”. The documentation’s example error reads “Payment method was declined by processor” (Subscription contracts).

Selling plan, Sets how the product can be bought on repeat: pay per delivery or pre-paid.. Subscription contract, Records the agreement between the customer and you, and carries the status.. Billing attempt, Each charge on the contract.. Does the charge go through? Yes: An order is created; No: The attempt fails.Does the charge go through?Selling planSets how the product can be bought on repeat: payper delivery or pre-paid.Subscription contractRecords the agreement between the customer andyou, and carries the status.Billing attemptEach charge on the contract.Yes: An order iscreatedNo: The attempt failsThe order ID might benull, and retries mayfollow.
Each billing attempt either creates an order or fails.

The failed branch explains why a failed payment can pass without a trace in your order list. The attempt failed, so there may be no order to look at.

What customers can do

Shopify’s help page for its Subscriptions app says: “Customers can resume, skip, or cancel their subscriptions, and they can manage their payment methods and shipping address” (Shopify Subscriptions app).

So a subscriber has several quiet ways to change what they receive. A skipped delivery, a canceled subscription and an expired card are different events, and each leaves a different mark in your data.

Where it goes wrong

Two things go wrong most often, and each has its own guide.

In MergeGuard’s demo store: 412 subscribers → 38 with a second account → 21 showing signs Demo store (Northsail Supply).

Take the self-check below to see which gap to close first.

Self-assessment

Four questions about your own practice. Each answer is worth 0, 1 or 2 points. This is a self-check: nothing is stored or sent.

1. Do you know which type of selling plan you sell?
2. Do you know how many retries your store makes after a failed payment, and how many days apart?
3. Can you tell a failed payment from a customer who chose to leave?
4. Do you check whether subscribers have a second account?

Add up the points beside your answers (the highest total is 8) and find your total in the list below.

0 to 2: Start with the terms

Selling plan, contract and billing attempt describe every charge you collect. Read the contract entry first, then the failed payments guide.

Read what a subscription contract is

3 to 5: Review your retry settings

You know the outline. Write down your retry values and your final action, then read what each setting does.

Read about failed payments and retries

6 to 8: Add a second-account check

Your billing basics are in place. The next gap is subscribers whose other orders sit on another profile.

See how to find subscribers who buy outside their plan

Sources