#tiam-subscription
1 messages · Page 1 of 1 (latest)
Can you describe you plan for this a little more? I don't think there is a pre-built thing like this but am still double checking on that.
One option I am thinking of is that you could add a price with a three month period and create a subscription schedule that switches them to monthly when the three months are up
The idea is to create subscriptions where the customer is commited for 6 or 12 months, but billed monthly.
For example: if I subscribe to the 12months one, I am billed each month, and if I cancel the subscription during this 12 months interval I am still billed every month for the remaining months until the 12th. When the 12th month is billed, if the subscription has been 'canceled' by the customer we also cancel it stripe-side. If not a new cycle begins and the customer is re-commited for 12 months.
I hope that makes sense : s
It's not a 'minimum commitment time'. Not like one time 3 months then monthly.
Oh I see thank you for the clarification. One moment as I think on that.
@shy meteor regular Subscriptions could work for that but also SubscriptionSchedules
Thanks. I'll take a look at what can be done with Schedules for our case. I was afraid to have missed some basic option on Subscriptions and that I was going to reinvent the wheel.
it is more work on Subscription, can be done, you just have to put together a bunch of things and track months of the Subscription so SubSchedule would be better
What I planned:
Canceling a Subscription:
- store the
currentBillingCycleon our (not-stripe) Subscription object ( an integer starting at 0 and incremented in the webhook ) - store a
cancelAtCycleEndon our Subscription object - when a customer clicks the 'cancel subscription' front side
- set the
cancelAtCycleEndto true - check if the
currentBillingCycle % <commitment_cycle_month_duration> == 0- if YES => set the Stripe cancel_at_period_end to true
- if NO => noOp
- set the
- in the webhook:
- increment
currentBillingCycle - check if our
cancelAtCycleEndis true &¤tBillingCycle % <commitment_cycle_month_duration> == 0set the Stripe cancel_at_period_end to true
- increment
Resuming a Subscription:
- set the
cancelAtCycleEndto false - set the Stripe cancel_at_period_end to false
This seems ok but is dependent on the webhook. While they have never failed us, it would be easier to follow if it could be done in a synchronous way.
yeah with just Subscriptions there's no great way to do this other than what you laid out
Thank you for the answers ! Have a great day :o)