Graphql admin api - App Subscription Create - One-time discount

Topic summary

A developer is experiencing confusion with Shopify’s GraphQL Admin API when implementing a one-time discount on annual app subscriptions.

The Issue:

  • Setting durationLimitInIntervals: 1 for a discount on a $10 annual subscription (with $3 off)
  • Initial charge confirmation shows “$3.00 off 1 charge” as expected
  • However, subscription details later display “7.00 USD every year until Dec 02, 2026”
  • Unclear whether full price ($10) resumes in 2025 or 2026

Current Status:

  • The developer wants the discount applied only to the first billing cycle, with full price charged on the next renewal
  • Multiple users report encountering the same problem
  • Shopify Partner Support has been contacted but no solution provided yet
  • Uncertainty exists about whether this is a display bug or actual billing behavior issue

The discussion remains unresolved, with developers seeking clarification on the correct implementation approach for one-time subscription discounts.

Summarized with AI on November 1. AI used: claude-sonnet-4-5-20250929.

Hi all,

Currently creating an app subscription, I want to implement a one-time discount, but something is confusing me. Will the next bill (2025) be charged at the full price, or will the 2026 bill be at the full price? As shown in the screenshot, it states: 7.00 USD every year until Dec 02, 2026.

If it really starts charging at full price from 2026 onwards, how can I fix this? I want the next one to be charged at full price.

I thought this field should be set like this for a discount only 1 time, but should I follow a different approach?

  • DurationLimitInIntervals: 1,

    REQUEST:

    {
      "query": "mutation AppSubscriptionCreate($name: String!, $lineItems: [AppSubscriptionLineItemInput!]!, $returnUrl: URL!, $test: Boolean) { \n  appSubscriptionCreate(name: $name, returnUrl: $returnUrl, lineItems: $lineItems, test: $test) { \n    userErrors { \n      field \n      message \n    } \n    appSubscription { \n      id \n      createdAt \n      currentPeriodEnd \n      name \n      returnUrl \n      status \n      test \n      lineItems { \n        plan { \n          pricingDetails { \n            ... on AppRecurringPricing { \n              price { \n                amount \n                currencyCode \n              } \n            } \n          } \n        } \n      } \n    } \n    confirmationUrl \n  } \n}",
      "variables": {
        "lineItems": {
          "plan": {
            "appRecurringPricingDetails": {
              "price": {
                "amount": 10,
                "currencyCode": "USD"
              },
              "interval": "ANNUAL",
              "discount": {
                "durationLimitInIntervals": 1,
                "value": {
                  "amount": 3
                }
              }
            }
          }
        },
        "name": "Test monthly",
        "test": true
      }
    }
    

2 Likes

Thanks for the reply!

Actually, when creating this charge, we initially see the statement “$3.00 off 1 charge.” However, when reviewing the subscription details later, it seems to behave differently (perhaps Shopify is displaying it incorrectly, but I’m not entirely sure).

1 Like

Hey @mtalhaseker . I’m actually running into the same issue right now. Have you found a solution yet?

Hi @diegonakamashi .

Unfortunately, I couldn’t find any. I also reached out to Shopify Partner Support, but I haven’t received a solution yet.