#defekt7x_api

1 messages ยท Page 1 of 1 (latest)

frank gladeBOT
#

๐Ÿ‘‹ 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/1316874078899933276

๐Ÿ“ Have more to share? Add more details, code, screenshots, videos, etc. below.

open fableBOT
austere plaza
#

I know I can do something close by using a Scheduled Subscription (phases) but I would really like to try and avoid that if possible.

severe bridge
#

Hi there ๐Ÿ‘‹ when a Subscription changes from a Price with one billing frequency (such as an annual Price) to one with a different billing frequency (like a monthly Price), the Subscription is forced to move to the next billing period.

So you'll have to use a Subscription Schedule here to schedule the update to occur at the natural end of the current billing period.

#

Sorry, Subscription Schedules have to be used for the scenario you're describing.

austere plaza
#

I just worry that the app isn't set up to handle scheduled subscriptions. It seems like there's a lot of room for error, like other mid-cycle user interactions (canceling, pausing, etc) with their subscription before the scheduled subscription is set to start. Are there risks involved with this?

severe bridge
#

Possibly, depends on what other actions you currently allow your customers to take. I'm trying to run a quick test to confirm, because I'm trying to remember whether you're blocked from updating a Subscription directly once it's controlled by a Subscription Schedule.

austere plaza
#

Ok, that would be great to know

severe bridge
#

Phew, seems like I made that fear up. I can still update a Subscription that is controlled by a schedule.

austere plaza
#

So if someone has an active annual subscription and wants to downgrade, I create a scheduled subscription to change the plan at the end of their billing cycle, but a few days later the customer decides to cancel their subscription altogether, will Stripe automatically cancel that scheduled subscription with the downgrade? or are these scenarios I need to account for myself?

severe bridge
#

I was able to cancel a Subscription that had a Subscription Schedule in the test I just ran.

austere plaza
#

and does that automatically cancel the scheduled change as well?

severe bridge
#

Yes, canceled is a terminal state for Subscriptions, nothing can be done to them after that.

#

I'm tweaking my test now to actually add a second phase to the Subscription Schedule and make sure it doesn't change the outcome, but I don't believe it will.

austere plaza
#

yeah I'm just thinking if a user cancels an annual subscription, it's still active until the end of the cycle. so now there's two steps that are supposed to happen at the end of the cycle.

severe bridge
#

yeah I'm just thinking if a user cancels an annual subscription, it's still active until the end of the cycle.
So you don't cancel the Subscriptions immediately? Instead you update them and set cancel_at_period_end to true?

austere plaza
#

that's right, yeah

severe bridge
#

Gotcha, I'd suggest testing this against your other flows, but I don't expect there to be too many concerns with the combination.

You can use test clocks to test those fairly quickly (rather than having to wait for the test Subscriptions to cycle):
https://docs.stripe.com/billing/testing/test-clocks

austere plaza
#

yeah, what I don't want to happen is that both cases execute - meaning the users subscription gets canceled and then a couple seconds later the scheduled phase kicks in and we update their subscription plan and the user is now charged. but I think I just have a lot of testing to do on my end

#

appreciate the help