Transaction fee billing for app usage

Highlighted
Tourist
3 0 3

We will soon be submitting the FenixCommerce app (which calculates and displays accurate delivery dates among other things), and need to figure out how to set up our billing which is a combination monthly subscription fee plus potential per-transaction fees. The structure is as follows (all plans offer a discount if you pay the subscription fee annually, but you still need to pay any txn fees monthly):

- 0 to 1500 orders/month: $299/month plus $0.17/order for more than 1500 orders

- 1501 - 5000 orders/month: $750/month plus $0.15/order for more than 5000 orders

- 5001 - 10000 or more orders/month: $1250/month plus $0.14/order for more than 10000 orders

We also need to charge a one-time set-up fee.

Our dev team will need to understand how to set up the APIs to facilitate this billing model. I've been going back and forth with support about this for about 3 months--initially requesting a billing exemption--and they sent me here.

0 Likes
Highlighted
Excursionist
16 0 1

Same position as you. Billing team sent me to the support chat which sent me here

0 Likes
Highlighted
Tourist
3 0 3

nice to know i'm not alone. :^)

I still haven't heard anything and the API support team doesn't seem to have noticed this post.

2 Likes
Highlighted
New Member
2 0 1

Would it be possible to custom "UsageChage" API to operate the charge of per/transaction? I'm currently researching it as well. Couldn't find much within the documentation though.

1 Like
Highlighted
Shopify Partner
40 3 14

From what I can tell about how to do this. You would need to create a recurring application charge (https://shopify.dev/docs/admin-api/rest/reference/billing/recurringapplicationcharge/) (this can be for $0.00 if need be) and this gives you a charge ID to work with. Once you have that ID you can create a usage charge (reference here: https://shopify.dev/docs/admin-api/rest/reference/billing/usagecharge) for a custom amount. Essentially this will need to be handled on your back end. What it would entail is every time you have a transaction that needs to be charged for (be it overage or on an each basis) you would need to increment the value for the client/store. If you are trying to bill monthly then you would need to setup a cron job on your server that would run once a month (this would be if you want to bill all clients/stores on the same date, if you want to bill them based on when they install, you would need to also store a bill date in your database and run the cron job daily checking for clients/stores that has a bill date of that date). When the cron job runs it would check your database and total up a custom charge then send the `usageCharge` call to the Admin REST API. Once that is made you would then need to reset the usage count in your database.

Without knowing more about how your app is setup and what stack/languages you are using this is the best explanation I can give. But if you need more information/help setting this up let me know what languages you are working with/how your app is created and I might be able to better assist you.

2 Likes
Highlighted
Tourist
3 0 3

Thanks so much Martin! We are currently addressing some feedback from our last submission, so we'll be revisiting this in the near future, at which time I'll point our dev team at your response and they may follow  up with additional questions.

Thanks again!

Vince 

1 Like