Hi!
Maybe I’m getting ahead of myself because I don’t think this has been announced yet but I’ve kept up with the changes in the Admin GraphQL Api related to App subscriptions.
Namely the addition to the planHandle
field inside the appRecurringPricingDetails
node as evidenced here as early as 2025-04.
The plan handle can be retrieved once the subscription is created but in the mutation to create an app subscription there’s no field to actually set the plan handle.
Which leads me to believe that using the billing API creates a random handle? Which wouldn’t be ideal as ideally the plan handles are our way to identify plans realiably without depending on randomness.
How exactly do we set the plan handle before it’s created via the billing API?
Hey @muchisx!
The planHandle
field is specifically for apps that are using managed pricing. This can be set when configuring your pricing for your app in the partner dashboard. More context here:
1 Like
Hi @KyleG-Shopify !
Thanks for insight there about managed pricing.
About non-managed pricing apps. How exactly are we recognizing that a plan/subscription is the correct one we’ve set?
As I understand, the name of the subscription can be translated so that can raise issues for non-managed pricing apps too?
Good question. When you’re working with the billing API, you can use the plan name on the app subscription mutation to differentiate between different plans.
Regarding the translation, the name of the plans that you set in your app store listing when you use the billing API don’t necessarily have to map to the plans you are creating when a merchant subscribes to a plan. You’ll be managing that in your app yourself.
1 Like