Subscription/Plans upgrades and downgrades, RecurringApplicationCharge

Viewed 416

In our app implemented multiple plans, every plan provides more o less functionality for our clients, depending on that the price of the different plan is different.

Our plans implementation based on the RecurringApplicationCharge Shopify feature

We know that Shop owners are charged immediately upon accepting an application charge. Hence the question what happening:

  • if shop owner change plan from a less expensive charge to a more expensive charge
  • if shop owner downgrade plan by moving from a more expensive charge to a less expensive charge

?

I found billing FAQ for the shop owners, where written:

If you upgrade or downgrade your subscription with an app, then the app will prompt you to agree to a new recurring app charge. This is because Shopify allows each app only one recurring app charge to be enabled at a time. The existing recurring application charge will be canceled and replaced by the new charge.

When you upgrade your plan by moving from a less expensive charge to a more expensive charge, the charge is prorated based on the difference in price and the number of days remaining in the billing cycle. For example, if you begin a 30-day billing cycle on a $5.00 plan, and then upgrade to a $15.00 plan on day 15 of the billing cycle, you'd be charged $5.00 + ($15.00 - $5.00) * (15/30) = $10.00 USD.

do these rules work for the RecurringApplicationCharge? Or here talking about the GraphQL subscription model?

1 Answers
If shop owner change plan from a less expensive charge to a more expensive charge
As mentioned in the example provided by Shopify a new recurring charge would be created and the merchant needs those charges to be accepted for the charge to happen. You need to manage your code logic so as to if a merchant chooses to upgrade a new charge will be made and the pro rated amount will be charged to the merchant.


If shop owner downgrade plan by moving from a more expensive charge to a less expensive charge
There won't be any refund in this case. You would however need to create a new Recurring charge which the merchant will be charged in the upcoming billing cycle. The merchant needs to accept the new recurring charge.


Do these rules work for the RecurringApplicationCharge? Or here talking about the GraphQL subscription model?
Both do the same thing
Related