We recently started using the “planHandle” of the subscription object to detect the store’s active plan when using managed pricing. However, we’ve found that some subscriptions have “planHandle“ as “null”.
Here’s the query:
query Subscriptions {
currentAppInstallation {
activeSubscriptions {
id
currentPeriodEnd
name
lineItems {
plan {
pricingDetails {
... on AppRecurringPricing {
price {
amount
currencyCode
}
planHandle
interval
}
}
}
}
}
}
}
And the result:
{
"data": {
"currentAppInstallation": {
"activeSubscriptions": [
{
"id": "gid://shopify/AppSubscription/XXXX",
"currentPeriodEnd": "2026-04-16T14:26:19Z",
"name": "Basic",
"lineItems": [
{
"plan": {
"pricingDetails": {
"price": {
"amount": "9.0",
"currencyCode": "USD"
},
"planHandle": null,
"interval": "EVERY_30_DAYS"
}
}
}
]
}
]
}
},
}
Since the beginning the app was using the managed pricing so this subscription should have the “planHandle“ as “basic“.
According to the planHandle changelog:
All existing plans have been updated with a planHandle value based on their plan name.
but it doesn’t seem like the subscription received a plan handle.
Is there a way to update “planHandle“ field to have a non-null value and according to the plan name?
Thanks.