Shopify App Pricing: activeSubscription returns 500 immediately after public paid plan selection/update during app review

Hi everyone,

we are currently submitting our public app for Shopify App Store review and ran into an issue that we can’t reproduce on development stores.

Our app uses Shopify App Pricing, not the legacy Billing API. After the merchant selects a plan on Shopify’s hosted pricing page, our app receives the billing return and queries the Partner API:

activeSubscription(appId: ID!, shopId: ID!)

During app review, this query returned the following GraphQL error:

{
“message”: “Unexpected system error”,
“path”: [“activeSubscription”],
“extensions”: { “code”: “500” }
}

We investigated the review test shop with the Partner API Historical Events endpoint and found this timeline:

  • 2026-07-02T12:41:35Z: RELATIONSHIP_INSTALLED
  • 2026-07-02T12:42:10Z: SUBSCRIPTION_CREATED, plan.handle=professional
  • 2026-07-02T12:42:53Z: SUBSCRIPTION_UPDATED, plan.handle=startup
  • 2026-07-02T12:47:51Z: CHARGE_RECURRING, planHandle=shopify-test
  • 2026-07-02T12:47:51Z: SUBSCRIPTION_UPDATED, plan.handle=shopify-test
  • 2026-07-02T13:12:34Z: RELATIONSHIP_UNINSTALLED
  • 2026-07-02T13:12:34Z: SUBSCRIPTION_CANCELLATION_SCHEDULED

Our app logs show that the Partner API activeSubscription call failed:

  • at 2026-07-02T12:42:14Z, four seconds after SUBSCRIPTION_CREATED professional
  • at 2026-07-02T12:42:56Z, three seconds after SUBSCRIPTION_UPDATED startup

So the failure seems to happen immediately after a public paid plan is created or updated.

We tried to reproduce this with a development store, but we can only test $0 private test plans / test subscriptions there. With those test plans, install, plan selection, and plan switching work correctly. We can’t reproduce the exact public paid plan state that appears in app review.

Our current activeSubscription query requests the active subscription, items, pricing, usage, currentBillingCycle, pendingUpdate, and legacySubscriptionId. The error is returned at the activeSubscription path itself.

Questions:

  1. Is it expected that activeSubscription can temporarily return a 500 immediately after SUBSCRIPTION_CREATED or SUBSCRIPTION_UPDATED for public paid Shopify App Pricing plans?
  2. Should apps implement retry/backoff around activeSubscription after the hosted pricing page redirects back?
  3. Is there a recommended minimal activeSubscription query for the billing return flow to avoid resolver issues around pending updates?
  4. Is there any supported way to test public paid-plan App Pricing behavior before app review, beyond $0 private test plans on development stores?
  5. Has anyone else seen activeSubscription return “Unexpected system error” during app review or plan switching?

We can add retry/backoff handling if this is expected eventual consistency, but we want to confirm the intended behavior before resubmitting the app.

Thanks!

Kind regards,

Philipp

Hey @Philipp, were you able to capture the request ID from either of those 500 responses? The x-request-id header would let us look in to the specific failure in our logs. I’d be happy to look in to what’s happening on the backend side so feel free to post them here or reach out through the help center if you’d prefer to share them privately.

That said, a couple of things worth trying as workarounds. Adding retry with exponential backoff around the activeSubscription call after the billing return redirect is a good defensive pattern. 3-5 retries starting at 1-2 seconds should cover the window you’re seeing. It could also help to narrow the query for that initial confirmation call to something minimal like items { handle } and items { price { ... } }, then fetch the full details separately once that succeeds.

On the testing side, as far as I’m aware there isn’t a way to exercise the real paid-plan flow since you can’t install on a live store until it passes review.

Hello Kyle,

thank you.

No, we didn’t log the headers yet. But I can give you the following details:

  1. Shop ID: gid://shopify/Shop/102187827256
  2. Error 1: 2026-07-02T12:42:14Z
  3. Error 2: 2026-07-02T12:42:56Z
  4. Query: activeSubscription(appId, shopId)
  5. Error: Unexpected system error, extensions.code=500

Can you please have a look into your backend based on those information?

And thanks for the ideas and clarification. But I think there should be a way to test real paid-plans if the Shopify team is testing that way. Otherwise it leads to those errors, where developers get stuck and have no way to reconstruct and therefore solve the error themselves.

Thank you!

I’ve attempted to find these events in our logs, but I am missing some details I will need to get anything meaningful. I would suggest in this case to reach out to our support team (logged in to your partner organization) in the help center so we can get more specific details about your app to help us dig in further.

Feel free to reference this thread in your support interaction to help the support person you reach get up to speed quicker.