#jarcher
1 messages · Page 1 of 1 (latest)
Hmmm, I'm not sure why this is happening. Let me dig a bit more and get back to you
I don't think it's that, because we had support for proration_behavior on Subscriptions forever
Hmmm, it looks like from our docs:
cancel_at
A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled usingproration_behavior. If set during a future period, this will always cause a proration for that period.
I think that indicates prorations were expected in this case, even though proration_behavior was set to none
is there a way around this? Like do I need to turn proration off with one api call and then second network request to update the cancel_at
You would set cancel_at to match the end of the billing cycle
is there a way to set cancel_at to be at the end of the NEXT billing period?
or do you have to calculate that? if you have to calculate, then we could potentially be off by minutes,
Sure, just as long as your timestamp has the correct value
and if we're off by minutes, then it gets prorated
Yes that is true
Situations like this are one of the use cases we developed Subscription Schedules for, where you can set the Subscription to cancel after a specified number of billing cycles. https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#installment-plans
okay got it. is there a way to modify an existing subscription (without a subscription schedule) to give it a subscription schedule?
Sure, you can create the Schedule from an existing Subscription. https://stripe.com/docs/api/subscription_schedules/create#create_subscription_schedule-from_subscription
I would highly recommend you test this out though. Subscriptions can get complicated and Schedules adds another layer to it.
Another complicated but powerful tool for just this scenario is Test Clocks: https://stripe.com/docs/billing/testing/test-clocks
which let you simulate time advancing on your Subscriptions.
okay great. Thanks for your help here!