#worming_api
1 messages · Page 1 of 1 (latest)
👋 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/1402058976090394707
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- worming_best-practices, 1 hour ago, 16 messages
hello! i just had a few questions come in at once but i'll get back to you asap
ok, np
ok, just to restate your question to make sure i understand - you want to
- upgrade customers from a monthly to an annual subscription
- charge $0 for the upgrade (you'll handle that yourself)
- at some point in the future, resume the regular annual subscription with stripe handling the billing
is that right?
correct
after the sub update, stripe should continue to billing the customer automatically
ok, that makes sense. you might need to do some fancy work with subscription schedules to pull that off, but let me noodle on it for just a bit to make sure i'm not overcomplicating things
ok, we prefer not to use schedules
just letting you know that i'm still looking at this
also just checking - where do you want the billing cycle anchor to be?
let's say i sign up for your subscription on a monthly basis on january 1st 2025 and then i decide to upgrade to annual on february 1st. when should i be billed for the annual subscription? january 1st 2026?
i'm assuming so based on you saying "as if it had been yearly from the start" but just want to be sure
yes, exactly on january 1st 2026
same if you decide to upgrade to annual on feb 20 or mar 10, etc
ok cool. still researching...
ok thx
not sure how much longer I’ll be here, but if I leave, I’ll be back tomorrow to check your answer
ok cool! that works for me 👍
thanks for your patience. there are a few tricky things about this scenario and i'm trying to reconcile all of them
ok, i have two options for you, depending on how you want to handle prorations...
both of them require you to use the new flexible billing mode, which requires you to use version 2025-06-30.basil at least
this is because flexible billing mode allows you to update a subscription from monthly to annual without changing the billing cycle anchor. note that there are other (mostly really good) changes that come with migrating to flexible billing mode, and moving to this mode is irreversible, so make sure you feel comfortable with this solution and test it thoroughly before moving forward with it.
first, if you want to prorate for unused time if the change is made mid-month you'll need to do the following
- migrated your subscriptions to flexible billing mode using our migrate API
- update the subscriptions to use the new price, while also passing in
trial_endas a timestamp equal to exactly 1 year from your current subscription's billing cycle anchor
this will update your subscription immediately, prorate for any unused time in the middle of the monthly cycle, and put the subscription into free trial mode until the start of the next billing cycle, at which the full annual amount will be charged
if you don't want to prorate for unused time for changes made mid-month:
- migrated your subscriptions to flexible billing mode using our migrate API
- update the subscriptions to use the new price, while also passing in
proration_behavior: "none"
this will just change the subscription to an annual cycle immediately without crediting any unused time back, and at the point of the next annual billing cycle they'll be charged the full annual amount without being back-charged for monthly time they used.
the last option would be to use subscription schedules (as mentioned previously), and to essentially put them on a free trial until the beginning of the next annual billing cycle.