I am working on a platform that involves Stripe Connect and subscriptions. Basically I have connected accounts, that add their customers to the platform create price plans and then add subscriptions for their customers. The connected customers in turn have a fixed price monthly subscription to the platform.
I want to implement a feature where the customers of the connected account can pause their subscription. So for example if a customer pauses their subscription i would like to stop collecting as well as "holding" the remaining time of their subscription for when they un-pause. (For example I would like it if a customer starts a 6-month subscription, pauses at 4 months, and unpauses at 8 months that he would be billed again at 10 months.To be more specific the timeline is: He/she is billed at month 0, use the service for 4 months and pause, unpause after 4 months, use the service for 2 months and then get billed again.)
I have seen questions like this and the Stripe pause feature but it won't do what i want. I've also looked at articles like this but the solutions they offer don't really seem that "clean" to me. Is there an alternative/good practice that I am just not seeing.
Honestly, I think any solution you come up with won't really be that "clean" since this use case isn't very well-supported with Stripe's current API.
The simplest solution I can think of is this:
prorate:true
(https://stripe.com/docs/api/subscriptions/cancel?lang=cli#cancel_subscription-prorate). This will create a proration line item for the unused time still left on the subscription.Unfortunately, that solution doesn't solve your problem of wanting to not bill your customer immediately after they resume their subscription. If this is an important part of your flow you could try something like this:
pause_collection[behavior]:void
https://stripe.com/docs/billing/subscriptions/pause#unable-provide-servicesproration_behavior:none
and add a free trial (by calculating and setting trial_end
to the current timestamp + how much time is left from the previous step)If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With