AltorLabFree Scan →
Error CodesSUBSCRIPTION_CONTRACT_PAUSED
shopifyrecharge

SUBSCRIPTION_CONTRACT_PAUSED in Shopify — State Mismatch Fix

Root cause

SUBSCRIPTION_CONTRACT_PAUSED occurs when a Shopify SubscriptionContract has its status set to PAUSED — either by merchant action, customer portal request, or a subscription app bug — while the corresponding Recharge subscription remains ACTIVE. When Shopify's contract is PAUSED, no billing attempts are generated from Shopify's side, but Recharge may still be configured to attempt charges. The mismatch means charges either fail silently or Recharge shows a healthy subscription while no revenue is being collected.

Symptoms

How to fix it

1

Query Shopify Admin API for unexpectedly PAUSED contracts

In Shopify Admin GraphQL, query subscriptionContracts filtered by status: PAUSED. Review the list for subscriptions that should be actively billing. Check the updatedAt timestamp and any associated notes to determine whether the pause was intentional.

Open in admin →
2

Cross-reference PAUSED Shopify contracts with Recharge

For each PAUSED Shopify contract, check the corresponding Recharge subscription status. If Recharge shows ACTIVE but Shopify shows PAUSED, you have a state mismatch. In Recharge Admin, find the customer and subscription to confirm the discrepancy.

Open in admin →
3

Determine whether the pause was intentional

Check your subscription app audit logs or customer portal records to determine if a customer requested a pause or if a merchant intentionally paused the contract. If the pause was customer-requested or merchant-intentional, update Recharge to match the PAUSED state. If the pause was unintentional, proceed to step 4.

4

Reactivate via subscriptionContractUpdate mutation

For unintentional pauses, call the Shopify Admin GraphQL subscriptionContractUpdate mutation with status: ACTIVE to resume billing. Also verify Recharge subscription state is ACTIVE and aligned. After reactivation, manually trigger a subscriptionBillingAttemptCreate for any missed billing cycles.

Frequently asked questions

What is the difference between a PAUSED and a CANCELLED subscription contract in Shopify?

PAUSED means billing is temporarily suspended but the subscription agreement is intact — it can be reactivated via subscriptionContractUpdate with status: ACTIVE. CANCELLED means the billing agreement has permanently ended and cannot be reactivated. A new subscription contract must be created if the customer wants to resume.

Why would a Shopify subscription contract become PAUSED without merchant action?

Possible causes include a subscription app bug that incorrectly calls subscriptionContractUpdate with PAUSED status, a customer pause request processed by the subscription app's customer portal, or a platform-level billing issue that auto-pauses contracts. Check your subscription app's webhook and API activity logs for unexpected subscriptionContractUpdate calls.

How do I reactivate a PAUSED Shopify subscription contract?

Call the Shopify Admin GraphQL subscriptionContractUpdate mutation with the contract ID and status: ACTIVE. After reactivation, create a new billing attempt using subscriptionBillingAttemptCreate to collect any missed cycles. Also update the Recharge subscription to ACTIVE if it drifted during the PAUSED period.

Can a subscription be PAUSED in Shopify but ACTIVE in Recharge at the same time?

Yes, this is one of the most common cross-stack state mismatches. Shopify's contract is PAUSED so no billing attempts are generated from Shopify's side. Recharge still shows ACTIVE because it did not receive a state update. Revenue collection stops while Recharge's dashboard misleadingly shows a healthy subscription.

Detect this error automatically

Free cross-stack scan finds all billing errors in 60 seconds.

Run Free Scan →