#fintant_billing-models

1 messages · Page 1 of 1 (latest)

mild sorrelBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1263915444436336832

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

jovial rock
#

We have a customer structure as follows:

  • A single customer purchases an annual subscription to our service
  • It is a quantity driven service - they an add or remove to the quantity over the course of the year. Additions are charged on a pro-rated basis, reductions are not rebated
  • It is annual - so we bill the customer up front for their current quantity every 12 months
  • The quantity is spread across different departments in the customer organization and needs to be accounted for as such. Meaning the customer wishes to be able to attribute sub quantities to different departments, each which will have their own Payment Method. The Payment Method in fact represents the department. Basically each department has their own bank account they want their part of the subscription charged to. But it is very much one customer.
  • We want the customer to be able to map payment methods / department to subsets / line items of the quantity, such that upon renewal the payment methods are charged based on the subset of the quantity attributed to the departments. Our system would track the business object to department mapping, and somehow we need to track the quantity to department/paymemt method in Stripe
  • The division:quantity relationships can change over the course of the year as well as the overall quantity being increased or decreased - if they made a mistake they want to be able to adjust the amount attributed to a particular department
#

What is the best way to structure this in Stripe Subscriptions?

  • One idea is having multiple stripe subscriptions - one per Division. However, this leads to a lot of complexity on our side. If a customer starts with one Division, and adds another, we need to create another subscription on the same schedule as the first (because from the customer’s perspective there is only one subscription) Also, if a quantity is transferred from one Department to another, we need to decrement one subscription and increment another, it is just a lot to code and test.
  • We could create Customer records in Stripe per department but that introduces similar complexity for us

Any ideas? We’d love some best practice input here to make sure we go down the right path.

pseudo lake
#

Hi 👋

We offer technical advice to developers coding integrations with stripe APIs. This business logic review is a bit beyond the service we can offer here. Do you have specific API integration questions about your approach?

jovial rock
#

I wont be able to use any APIs until I know how best to use Stripe to meet our business requirements.

pseudo lake
#

I would start by reviewing our docs on Subscriptions and recurring pricing models

jovial rock
#

I guess its more of a product question is there any where i can get some advice on that?

#

Ive read the docs.

jovial rock
#

OK thanks

pseudo lake
#

It is a quantity driven service - they an add or remove to the quantity over the course of the year. Additions are charged on a pro-rated basis, reductions are not rebated
So you would update your Subscription and specify proration_behavior: "none" when performing downgrades
https://docs.stripe.com/billing/subscriptions/upgrade-downgrade

It is annual - so we bill the customer up front for their current quantity every 12 months
We support annual prices

We want the customer to be able to map payment methods / department to subsets / line items of the quantity
You cannot do this. A single subscription can have one payment method. You would need multiple subscriptions to achieve this

#

A Subscription can only have a single Customer that is the payer for that subscription.

jovial rock
#

Right you are absolutely correct on items 1 and 2 - we tested all that and its working great.

#

Noted on No. 3

#

thats where our challenge lies

#

i guess we will have to have multiple subscriptions.

#

Is there a direct mapping between a subscription and a payment method or is the relationship customer has payment methods, customer has subscriptions and upon renewal stripe will look for the customers default payment method and invoice tht?

pseudo lake
#

There can be both. You can set an invoice_settings.default_payment_method on the Customer and we will automatically charge that but you can also specify a default_payment_method directly on the Subscription and that will take precedence.

#

The more specific setting wins, if present.

jovial rock
#

gotcha

#

this is helpful - thank you

pseudo lake
#

Great. It took me a bit to narrow the comments down to something specific enough to answer (for me).

jovial rock
#

Well thanks for your assistance - happy friday - pour one out for our brethren at cloudflare