#lukeify-billing
1 messages · Page 1 of 1 (latest)
The only alternative to this I can see is to not use Stripe Billing, and instead manually issue charges ourselves on our own schedule, although I'm not sure of the full ramifications of that just yet! 😵
A couple of questions for you - are these two subscriptions completely independent from each other? Is it possible that one would be canceled but not the other?
Sure thing.
So one is a fixed Price that can be billed either monthly or annually. The user can select from either.
The other is a metered Price that is guaranteed to always be billed monthly (although leaving this open to be changed to quarterly or when they reach a threshold would be ideal).
They'll definitely always have both Price's attached to their customer at all times—although there's no guarantee the metered Price would be more than $0.
The tricky bit is what to do if the user selects the annual Price, which introduces this disparity between intervals.
Started to type up some more questions, but want to start off by saying yes, i think this is something you could probably build on top of our subscriptions but it won't be very simple and there are a lot of edge cases to think about here. Will they ever need to change back from monthly -> annually (and vice-versa)? How do you want to handle quantity updates, trials, other subscription updates that will result in prorations?
A simple solution here is that you would listen for invoice.created events and conditionally add an extra line item once a year, but again, depending on what your integration is doing there's a lot to consider
Heh. Ideally yes, we'd support the user changing back and forth between the Price's that are fixed.
It sounds like the suggestion is to do something similar to this? https://stackoverflow.com/a/41559725
Although at that point it's at the bounds of what you could reasonably call "semantic", which makes me think leaning into just regular Stripe Payments is best
Yup, you'd go down a similar route to that suggestion (but instead of $0 monthly plan, I'd probably just go with using your metered billing plan as the base so you don't have to calculate that yourself).
If you have users switching back and forth between Prices then this can get a bit more complicated, but you could probably model it like this:
- have two subscriptions, one for your metered price that will be generating the invoices you want your customers to pay, and one just for tracking the current state (monthly vs annual) of your customer and will always have a $0 price
- when the $0 subscription generated a new $0 invoice, you would create a new invoice item (for the real annual or monthly cost) for the customer and set
subscription(https://stripe.com/docs/api/invoiceitems/create#create_invoiceitem-subscription) to the metered subscription - this way, the metered subscription will automatically pull in the invoice item
It's up to you whether you want to model this on Billing or just plain old Payments - personally I'd just do it with Billing, but that's up to you
Interesting. That might just work. What is it that potentially makes it complicated about switching intervals between monthly and annual? Presumably proration of the change, which might have to be calculated on our end?