#arggh
1 messages · Page 1 of 1 (latest)
I'd look at using a schedule to fulfil all these requirements:
- 'Signup' and you create a schedule to start on X date.
- Coupon is applied in that initial phase with 3 iterations.
I'll look into it, I kinda dismissed it from the get-go since previously Schedules proved problematic when customer is allowed to freely make changes to their subscription. In our case, before 2023, they can freely add new subscriptions, new items, remove items etc... but maybe it's ok if the Schedule doesn't touch the Subscription items.
Thanks!
Well, the schedule will create a separate subscription that can be managed independantly once released from the 'control' of the schedule
So in your example, you could schedule the subscription to start on X, have and initial 3 free months (as a phase), then let the schedule release the subscription after those 3 months to be controlled individually and enter the regular billing cycle
But this does mean that any changes the customer makes to their Subscription, I need to update the Schedule instead, right? 😦
I'm in a hurry (nearly Christmas), so looking for the "least amount of code & testing required" method. So far I'm leaning towards:
- customers created in 2022 have billing paused
- manually (or scheduled) run a function 1.1.2023 that resumes billing and adds the coupon to all subscriptions
Yes whilst its controlled by the schedule. You can't directly update a subscription controlled by a schedule
Otherwise not sure how a subscription with paused billing handles coupons. You'd need to test that with a clock
I guess I'll give it a try. Thanks for help.
If it doesn't work like I hoped, then I'll just set the billing to be paused forever, and manually resume + add coupon on 1st of Jan.
If I had to guess, I'd assume the coupon/discount is applied even when billing is paused
p.s. as feedback, would be great if one could use clocks via API when creating a customer/sub. Now I have to hand-modify the references in our database to the test clock objects.
eg.
await stripe.customers.create({ email: ... }, { test_clock: 'yes please' });
Yep, valid feedback! Will pass along