How to downgrade to Shopify App "Free plan"

Andy5
Shopify Partner
1 0 0

Hi!

From Shopify app requirements:
"If your app has multiple pricing plans, then merchants must be able to upgrade and downgrade their plan without having to delete the app or contact support."

The app has 4 plans: a free plan and 3 recurring paid ones. 
And I have a question. What do we need to do to choose the free plan? Do we need to create a recurring charge with a price of 0.00? Or do we just need to cancel programmatically the current non-free subscription?

If we need to create recurring charges with a price of 0.00, what is the correct way to do it? We get the error "the price must be greater than zero"

Thank you!

Replies 3 (3)

SocialMediaFeed
Shopify Partner
18 1 3

Hello, 

 

Good Question. 

 

We have also stuck with the same issue when we started building Social Media Feed [ https://apps.shopify.com/tagembed-widget ]. 

At last, we started giving free plans by default when the customer is installing the app through shopify and also added a cancel subscription by using webhook. 

I Hope, this way you can offer free plan to your users

 

Thanks. 

Michael Williams
For Social Media Feed App by Tagembed
Embed Instagram Feed, Facebook Feed, Google Reviews & Many More

ssodano
Shopify Partner
11 1 5

Good question. If I had to answer I'd say it depends. If with the free plan there is the possibility that the merchant has to pay for a surplus or an extra or something else, you could manage it with a subscription to use and credit the merchant if necessary. If there is no possibility that the merchant has to pay something then you can simply cancel the plan.

Raffebot_AI
Shopify Partner
1 0 0

This may be a little late to help with this, but maybe o

https://shopify.dev/docs/api/admin-graphql/2023-07/mutations/appsubscriptioncancel#examples-Cancel_a...

One of the negatives about the documentation is the lack of python support, but it isn't much different than ruby.  You will just create a request query, establish the variables and header, then submit the request.  

You will need to have the charge ID, so make sure you are catching that in the callback authorization and storing it for the user so you can call it back to upgrade/downgrade.  This is the only call that you have to do through GraphQL when dealing with subscriptions, the rest will be done with Shopify's admin api as it requires a confirmation from the user by them clicking accept to the new pricing and then they will be redirected back to your app's redirect_url you set.