So the only way of implementing this would be an extra subscription plan called "extra users", with a price of $5 / month, and then increment that plan's quantity when a new user gets added to the team?
But it feels like an awful workaround with 2 subscriptions.
A bit late to reply, but in case anyone else is looking for a solution, it would be best to listen for the stripe webhook invoice created, then add an invoice line item for the extra users, which stripe will then charge in addition to the regular subscription around 20 minutes later.
I think it would be best to set the base plan at 5/month. (the cost per extra user)
And then increment the quantity to 2 for my first paid plan of 10/month.
The next plan of 25/month would then be a quantity of 5, and so on.
This also works out in my case, because I want to include 2 & 5 users (seats) on each plan respectively.
I think this should be the most flexible, if you want to simulate a base plan of 10/month,
but also want to increment the price with extra users by 5/month.
@jlmmns That would work, but it isn't very transparent to the end user on their receipt, and doesn't make it easy to have a base price + variable cost which is what they are really after.
As another example, when Stripe automatically generates an invoice for a recurring payment, your site will be notified of the invoice via webhooks (an invoice.created event). Stripe will wait approximately an hour before attempting to pay that invoice. In that time, you can add invoice items to the recently-created invoice.
@jlmmns Agree with @shreddor: it’s just a “hack-y” way around the problem and doesn’t accurately represent what’s going on or what your customers are being charged for. They’re being charged for your plan and extra seats, not your plan ×3 or whatever.
@martinbean@shreddor So it would be better to do it with that stripe event, and manually add the necessary lines?
As another example, when Stripe automatically generates an invoice for a recurring payment, your site will be notified of the invoice via webhooks (an invoice.created event). Stripe will wait approximately an hour before attempting to pay that invoice. In that time, you can add invoice items to the recently-created invoice.
Very good to know, thanks!
But don't plans often do it the way I was thinking of?
Because they are in fact seats.
The only difference is that my plans already include 2 & 5 seats respectively, which results in the 10 & 25 /month.
I'm sure I can just formulate it in a clear way to our users?
Or is this still considered bad practice, Stripe-wise or down the road maybe?
Varying billing amounts
Some users need full flexibility in computing billing amounts. For example, you might have a conceptual subscription that has a base cost of $10 per month, and a $5 per-seat cost each month. We recommend representing these billing relationships by creating a base plan that is only $1 per month, or even $0.01 per month. This lets you use quantity parameter to bill each user very flexibly. In an example with a $10 base cost and three $5 seats, you could use a $1 per month base plan, and set quantity=25 to achieve the desired total cost of $25 for the month.