Hi,
We recently noticed a store installed our app, having ShopPlan.partnerDevelopment: true and ShopPlan.publicDisplayName: 'Basic' at the same time.
Our app uses managed pricing and requires approving subscription after installing, and test charge was applied to the store. It looks like ShopPlan.partnerDevelopment: true took precedence.
But I don’t understand how this is possible. Did anyone had situations like this?
Regards,
Peter
Hi Peter! This is expected behavior and comes down to how the Dev Dashboard works now. Partners can create dev stores on any Shopify plan (Basic, Grow, Advanced, Plus), so the store you’re seeing was most likely created as a dev store with the Basic plan selected.
I confirmed this by creating a dev store on the Basic plan and querying ShopPlan. The result was exactly what you described:
{
"partnerDevelopment": true,
"publicDisplayName": "Basic",
"shopifyPlus": false,
"displayName": "Basic App Development"
}
The two fields track different things. partnerDevelopment indicates whether the store is a development store, while publicDisplayName reflects the store’s current billing plan. They’re not mutually exclusive.
The test charge behavior is also correct. Managed pricing automatically creates test subscriptions for development stores, regardless of the plan name. If you need the definitive check for whether to treat a store as a dev store for billing purposes, partnerDevelopment is the recommended field to rely on.
1 Like