Skip to content

Shopify Dude Fix

Why Is a Shopify Subscription Product Adding at the One-Time Price?

Subscription selected but Shopify adds the one-time price? Confirm the product has a selling plan and the add-to-cart request sends selling_plan.

Quick answer: When a customer selects a subscription but Shopify adds the item at the one-time price, the add-to-cart request usually omitted the selected selling_plan ID. Confirm the product has an active selling plan, then confirm the product form or Ajax request submits it.

The real symptom

The product page displays a subscription option and recurring discount, but the cart contains the variant as a normal one-time purchase.

Likely causes

  • Product is not assigned to the subscription plan.
  • The theme displays purchase options but does not submit selling_plan.
  • A bundle or Ajax request omits selling-plan IDs.
  • The selling-plan input sits outside the submitted form.
  • Quick add uses a separate form.

Confirmed Community fix

Community cases traced the wrong price to custom bundle or form requests that did not send selling_plan. Shopify then correctly treated the line as a one-time purchase.

Exact admin path

  1. Open Shopify Subscriptions or the subscription app.
  2. Open the affected plan.
  3. Confirm the product and variants are assigned.
  4. Confirm discount and billing rules.
  5. Open Online Store → Themes → Customize.
  6. Confirm the subscription app block/purchase-options block is present.
  7. Test product page, quick add, bundle, and cart separately.

Simple checks

const item = {
  id: selectedVariantId,
  quantity: 1,
  ...(selectedPlan ? { selling_plan: selectedPlan } : {})
};

fetch(`${window.Shopify.routes.root}cart/add.js`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ items: [item] })
});

In DevTools, inspect the cart/add payload and confirm selling_plan is present.

Do not do this

Do not fake a subscription discount in theme JavaScript. The selling plan must exist in Shopify and be attached to the cart line.

Sources