I have a bit of an unconventional pricing model. I want to charge per product each month as my app is essential a product manager.
In the App Listing's "Plan pricing" section, I can't set a monthly charge because the fee will be different for each merchant and I cannot set it to $0. So does this mean I have to set it to Free and within the "additional charges" section, I can put something like "$0.01 per product each month"?
This makes the most sense as its essential a "usage fee", which is what that section is for. Can anyone confirm this is the way to go?
In additional to that, how would I handle the charge per user each month? I was going through the Billing tutorial and it seems that the user must accept the charge on installation, I'm not sure if this is a one-time thing but the tutorial I was following was for a standard fixed-fee monthly recurring charge.
Here's an example of an app in the Shopify App Store which implements a similar billing model based on the number of orders processed - https://apps.shopify.com/smart-capture. It will show you how the various prices will be displayed if you choose to use a bracket system in conjunction with a per resource pricing model.
What you're hoping to accomplish is definitely possibly by using a RecurringApplicationCharge with various UsageCharges. If you are not bracketing your pricing model, then you will have to use the same `capped_amount` for each RecurringApplicationCharge which may appear as a large potential amount for some customers. That being said, they will only have to accept your RecurringApplicationCharge once, unless you decide to update it at a later date, in which case the new charge would have to be accepted and would replace the existing charge.
You would then just have to decide how often you would want to post your UsageCharges. You have the choice of doing so anywhere from immediately after a given action, to once a month and everything in between, which would include rolling up charges over the period of a week etc. This more so depends on the actual functionality of your app.
@Zameer: I've looked through your links and I'll be able to use that flow to implement my billing; in my situation, I'd like to create a single RecurringCharge of $0.00 and each month I'd have to create a UsageCharge based on product count. Both the scheduling of the charge and price will have to be handled by my business logic.
One more confusion on my side, I've noticed that when the merchant goes to my app's UI in the Shopify Admin area, it goes through the same OAuth flow as when they've initially installed. Given this, I'll be creating a RecurringCharge every time they open my app's UI.
Is it recommended for this flow to save the RecurringCharge's returned ID in my database, look it up when a user opens my app's UI, send an HTTP request to Shopify to check the status of the RecurringCharge, and then go through the rest of the OAuth flow if the charge is still active?
Or is there another way for the merchant to open my app's UI (as an embedded app) without going through the OAuth flow?
Connect your PayPal account to allow your customers to checkout using the PayPal gateway a...By Ollie Jul 28, 2022