The GraphQL Billing API now supports annual billing

Shayne
Shopify Staff
253 19 64

We’re introducing annual billing in the GraphQL Billing API to support more billing models on the app store. Merchants can approve yearly app subscriptions, and Partners are able to track annual revenue in the Partner Dashboard.

We’ve also made it simple for merchants to upgrade an existing app subscription from a monthly to a yearly plan by prorating price differences when they change plan intervals.

We've posted a tutorial on how to use annual billing for apps in our developer documentation.

If you haven't migrated any parts of your app to using GraphQL yet, this may be a good chance to get your feet wet. It's a fairly narrowly scoped domain, and likely won't have much of an effect on the rest of your app.

Happy building!

Shayne | Developer Advocate @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

Replies 2 (2)

pasinducw_vdr
Visitor
3 0 0

Hello Shayne, 

Is there a way to address the following scenario if we're using the annual billing in the GraphQL Billing API?

  • Merchant on annual plan A wants to upgrade to annual plan B
  • Merchant on annual plan A wants to upgrade to monthly plan B

Assume for the case that plan A < plan B in terms of pricing and features.

In this case, we want to upgrade the merchant's plan without waiting for the current annual plan to end because plan A does not have the features that plan B offers. But according to the limitations in the annual billing offered by the GraphQL Billing API, it's not possible to cancel the current annual subscription and create a new subscription with the new plan. (and settle any refunds through app credits)

How would you recommend to handle this scenario?
Thanks in advance.

JOSEPH_ANDERSO1
Shopify Partner
43 0 7

Hi,

I use this billing API:

https://shopify.dev/docs/admin-api/rest/reference/billing/recurringapplicationcharge?api[version]=20...

Can I create the same annual billing? If so, please send me the code. If not, when will this code support annual billing?