#jeffnv-metered-billing
1 messages · Page 1 of 1 (latest)
Hey!
So sounds like you will want multiple Products here. One metered and then one licensed.
does licensed just mean I didn't check metered?
That's correct
Have you given a read through https://stripe.com/docs/products-prices/pricing-models ?
Yes I did my best to understand that
So what I've tried in the past was somethign like this
can I link you to my dashboard?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
So this will work for the basic X # credits per month and some price each after that
but how can I factor in purchasing a "package" mid month?
that's the bit I couldn't wrap my brain around
like, in this model I have, it would be $1/credit, but let's say they then buy a $10 20 credit pack, when I report usage will it consume the package credits?
Sorry server got really busy
Helping several folks at once
Taking a look at your example above
So if you are doing package credits then you would likely change the Price on the Subscription altogether.
And you would track credits in your own database here.
Or you would have a Product that gave a free amount of first credits
Based on that package
so if they bought a package, I would just not report usage to stripe while they're using the package credits?
That's up to you.
That would be one way to do it
The other way would be to change the Price where you give a $0 amount for a certain amount of Usage
Then charge again after they surpass that usage
how can I do that? i don't understand
So you would do tiers
Where the first tier would be a $0 tier for a certain amount
Which corresponds with your package
And you can have a one-time cost for that for purchasing the package
isn't that what I already have?
You have two different options here, right?
I think bismarck's point is Stripe would not track the "threshold" for usage - your systems/database would. You would have a "usage subscription" you could add usage to (base cost: $0), and a separate "license" product for purchasing the "base amount"
You have 1 Price that is, for example, $1 per credit
Then you have another Price that is $10 for 100 credits
So for the $10 for 100 credits it would have tiered pricing where the first 100 of usage would not be charged per usage, however there would be a one-time cost of $10. Then after the first 100 usage it would start to charge at $1 per credit
ok let me configure this so I can see if I understand
so first: i create 1 product "Bronze License" that is NOT metered
Then I create another product: "Credit Package" that is metered
So for Bronze License that is your $1 for 1 credit type of product?
And Credit Package... is your package ($20 for 100 credits for instance)
If so, both of those would be metered.
However, Credit Package would be using Graduated Pricing
Which is what forces the tiers
Then you have a third Product
Which is a one-time Price
Which is the actual payment for the Package credits
Does that make sense?
I know this is all a bit convoluted
i think im on the cusp of getting it
just need to see it done
let me try to set it up as you described
Yep test it out. Lot easier to look at it visually I think
for sure thank you
Bronze Package Plan $50/month
* includes 250 credits per month
* if exceeding 250 credits used, will change $5/10 credits
* can buy package of 100 credits at any time for $20
* credits do not rollover
so that's the summary of what I'm shooting for
what I already set up maybe is making it more confusing
sorry the prices for things are shifting around, but for the sake of this discussion let's stick with what's in my code block quote
That's helpful
apologies!
So first, I'd create a $50/month Licensed Price
Since you are always going to be charging $50 monthly
Okay
Now you want to create a Graduated pricing Price
For the first 250 units it would be $0
not new product, a price within bronze license?
That's up to you really.
Probably just a new Price
Since this is all the same Product really
done, right?
Right so now it depends
Are you okay with $0.50 per unit?
Or do you want $5/10
If you do $5/10 you need tiers
With a flat fee
ok
But $0.50 would be easier
so I'd have to make infinity tiers?
So just depends what you want
You would need a lot of tiers if you want that model. How much usage are you expecting?
let's leave it as is, understand the concept of adding tiers for flat fees
let's move on to the real sticking point: packages that can be purchased at any time
Yep okay
So for that part, the idea would be that if they purchase the batch, they would get essentially 350 credits for $70, right?
Like it is always going to build on the 250 credits + 100 credits for the package, correct?
uh yes
for example customer A pays for $50 subscription on day 1 and also buys 1 package for $20, they have 350 credits to consume before $0.50
Right, so the only way to really do this is to create new Prices with each amount of credits.
So you would have one that is $0 for first 350
And $0 for first 450
Since all of these are metered, and $0 for the same interval (monthly), updating between these will not trigger any sort of proration.
You can update at any point in the month and then charge based on the usage at end of month
ok so let me check my understanding
And you would have a one-time Price for purchasing the package that you would add as an invoice-item
Do you want that purchase to happen immediately?
Or upon next billing cycle?
immediately
ok so lemme show you what i have
one time package purchase
then i would just switch from reporting usage to this new price
which I named "1 package" to indicate they purchased 1 package
Yep
Now if you want to charge immediately you would want to create a one-off invoice to scoop up the invoice item (if this wasn't at the very beginning of the Subscription creation)
Ah actually you might be able to update the Sub with proration_behavior: always_invoice
That should cut an invoice immediately
And I don't believe that would influence the billing cycle
Mostly at this point you are going to want to test out the different scenarios
You can use Test Clocks to ensure that things work as you desire here: https://stripe.com/docs/billing/testing/test-clocks
thank you