My app (under development) has two pricing components:
So far, I've implemented the billing API to handle the recurring fees, but now I've turned to figuring out usage fees, and hadn't noticed that the cappedAmount argument is required to set up a billing plan for these.
Our app's core function is to charge merchants for every order associated with our app. Since we don't know in advance how big or small a merchant's order volume would be, I'm unsure of what the best strategy is for implementing a predefined capped amount when they set up billing.
Firstly — I'm assuming there is no way to set an "uncapped" usage-based plan for a store? It goes without saying that the merit of capped billing is quite clear, but it would be great to offer the merchant an option when usage is unknown.
Secondly — What's the protocol for dealing with capped amounts when the potential usage isn't easy to predefine?
The best I can come up with right now is a UX flow that:
I see from the advice to merchants that their expected behaviour is:
To continue using an app after exceeding a capped amount, you need to agree to a new usage charge. This prevents you from being charged for any usage over and above the capped amount.
This seems a little cumbersome to me, as having to ping a merchant when they want to continue fulfilling their orders (through our app), and also implementing "spill-over" / unpaid fee functionality is a lot of extra engineering, and potentially annoying merchant UX (again, understand this is balanced by the safety of billing caps).
I couldn't find any examples in the billing documentation that focus on this use case specifically.
Does anyone have any experience doing this or the best practices / flows for implementing it?
Thanks in advance!