Best way to bill by used slots?

FezVrasta
New Member
11 0 0

Hi, my app allows to integrate with printers not supported by Shopify POS.

The free tier allows a single printer to be configured, but the premium tier allows to buy slots for more printers.

I'd like to get your feedback on how should I handle this kind of billing.
Should I send an "appSubscriptionCreate" any time a user adds a new printer, or would it be better if I had a single subscription that keeps track of how many slots the user has available?

Is there any difference on the user side or it's just an implementation detail?

Thanks.

0 Likes
_JB
Shopify Staff
Shopify Staff
822 97 178

Hey @FezVrasta,

Apps can only have one active subscription at a time, see here for more information. In this case it sounds best to go with app subscriptions, and change the subscription as needed. 

The difference with a subscription vs usage charge is subscriptions are only approved by the merchant once, and the recurring charges continue until the merchant deletes the app. If you want to change a merchant's active subscription, use the appSubscriptionCreate mutation again with new pricing details, and this will cancel the old subscription and create a new one with the new price.

For usage charges, the merchant approves charges up to a certain capped amount. Your app can then charge custom amounts as needed until the capped amount is reached. Increasing the capped amount requires merchant approval again.

JB | Developer Support @ 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

0 Likes
FezVrasta
New Member
11 0 0

Thanks for the reply!

I'm a bit confused about the API, with /admin/api/2021-04/recurring_application_charges/{recurring_application_charge_id}/usage_charges.json do I create the recurring application charge where I set the monthly limit or do I charge the customer for a single usage?

In the second case, where do I define the monthly limit then?

0 Likes