App Store listing structure for plan + top-up subscription (Billing API), does every combination need its own plan?

Hi everyone,

Our app is already published. We use the Shopify Billing API (appSubscriptionCreate, usage-based). All charges stay on Shopify Billing.

What we want

  1. App Store listing: list base plan and top-up separately in Pricing / additional charges (not every combination as its own plan).
  2. In-app: merchant buys a pack (e.g. $10 plan + $50 top-up) and we create one subscription via appSubscriptionCreate, name like $10 plan + $50 top-up, with a $60 usage cap.

Questions

  1. Has anyone passed App Review with plan + top-up listed separately, while creating one combined subscription in-app?
  2. Did reviewers require every combination ($60, $110, etc.) as its own listed plan, or was separate component pricing enough?
  3. Is “submit / ask in Distribution Q&A or Test Instructions” the only way to get a written App Review answer before a full build?

Not trying to charge outside Shopify Billing — only need listing clarity before we build. Any reviewer feedback or similar shipping experience would help.

Thanks.

Hey @Crop_Photo, you mentioned that your app is already published.

Can you clarify, are you migrating to using Shopify app pricing and want clarity on how to display your plans there?

I want to make sure I fully understand your questions here before digging in too far.

Hi @KyleG-Shopify, thanks for the quick response!

Quick clarification first: No, we’re not migrating to Shopify-managed app pricing. Our app is already published with an active user base, and we already use the Shopify Billing API (appSubscriptionCreate, usage-based). All charges stay on Shopify Billing — that part isn’t changing.

The only thing we’re changing is our plan structure, not the billing system. We’re introducing a “base plan + recurring monthly top-up” bundle:

  • Base plans (monthly): $10, $100, $250, $500
  • Recurring monthly top-ups: $10, $20, $25, etc.

In the app, a merchant picks a base plan and can optionally add a recurring top-up in the same step. When they do, we create one subscription via appSubscriptionCreate that covers both in a single usage charge — named like plan-100 + top-up-10, with the combined amount as the usage cap. So Shopify always sees one subscription per merchant with the bundled cap.

For listing, we plan to show each base plan and each recurring top-up as separate pricing options under “See all pricing options” — not every plan + top-up combination ($110, $275, etc.) as its own plan, since the combination is formed in-app at purchase time.

Our specific questions:

1. Is separate component pricing on the listing acceptable?
Context: On the App Store listing we want to show the base plans and the recurring top-ups as separate pricing options under “See all pricing options,” while in-app the merchant buys a plan + top-up bundle that we implement as a single combined appSubscriptionCreate.

2. Does App Review require every combination to be listed as its own plan?
Context: We don’t want to list $110, $260, $275, etc. as individual plans, because they’re only assembled in-app at purchase time.

3. Is it acceptable to gate high-value top-ups (over $500) behind an in-app approval step before purchase?
Context: For any top-up above $500, we don’t let the merchant buy it directly. They first submit a request, we review and approve it, and only then can they purchase that top-up. The actual charge still goes through the Shopify Billing API like every other charge — the approval step is just an in-app gate before the purchase.

For reference, here’s how the in-app purchase looks: the merchant selects a base plan ($100 / $250 / $500) and can add a recurring monthly top-up, which we combine into a single subscription (e.g. $250 base + $25 top-up = $275/mo, one appSubscriptionCreate with a $275 cap). On the App Store listing we’d show the base plans and top-ups as separate pricing components — not this combined $275 figure.

We’re not trying to charge outside Shopify Billing — we only need listing-display clarity before we build this out. Any guidance (or examples of apps doing component-style pricing) would be a big help. Thanks!