#mobileengagement
1 messages · Page 1 of 1 (latest)
Hi there 👋 can you elaborate on what you mean when you ask:
My question is what do we do about metered billing.
I'm not sure I'm grasping what you're trying to ask.
Hi toby. Thanks for helping. Metered billing is based on how much someone buys during the billing period. In our case we say monthly billing. First 1000 subscribers free. Thereafter £1 each. The first thousand are funded by a flat monthly fee. The flat monthly fee can be easily pro rata so 15 days we would charge say £500 instead of £1,000 then charge the full £1,000 at the beginning of the following month. Easy. But if someone starts on say the 28th they may be paying just 3 days = £100 but the metered system doesn't charge until they have signed up over 1,000 subscribers. We want the metered target to be adjusted so 3 days would be 100 subscribers free. Does that make sense?
Oohh, yup, got it. Thank you for the clarification.
I think the best way to do that is to have multiple metered prices then. You could then apply different prices to the Subscription initially depending on where in the current billing period it is when the Subscription is created.
You could then use a Subscription Schedule to queue an update for the Subscription so it changes to your standard metered price (with the higher free-threshold) at the next billing period.
https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#upgrading-subscriptions
Yes we looked at that. But with 4 plans and 31 days thats 124 options. Not ideal. I was wondering if the meterage plan could be on. a trial till the end of the month and issue a one time invoice for meterage (if needed) . There are 3 items in our subscription (FIXED, METERAGE, VOLUME) Can we set METERAGE PLAN to trial but leave the FIXED and VOLUME Plans to pro rata. If so how would we do that
we currently use
$result = $stripe->subscriptions->create(
[
'customer' => $customerid,
'items' =>
[
[
'price' => $plan,
'quantity' => 1,
],
[
'price' => $excess,
],
[
'price' => $certificates,
'quantity' => $certificatecount,
],
],
'billing_cycle_anchor' => 1677628800,
'proration_behavior' => 'always_invoice',
]
);
$plan = fixed cost, $excess = metered, $certificates = volume
No, a Subscription's trial status is controlled at the Subscription object level rather than the Subscription Item level, so you can't get that granular with trial settings.
OK so how about this. The customer has over a 1,000 subscribers during the few days so the meterage plan will bill them for the excess over 1,000. However we manually calculate an extras due below a 1,000 and issue a manual invoice for those.
Yes that would work and only applies if there are extras due. Thanks for your help Toby.
Any time!
Depending on when you handle the overage calculations, you may be able to create an Invoice Item associated with the existing Subscription so it'll be included on the Subscription's next Invoice rather than being processed on a stand-alone Invoice:
https://stripe.com/docs/api/invoiceitems/object#invoiceitem_object-subscription
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.