#pretzel_schedule-release
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/1239620465509666898
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi ๐
For this kind of a scenario, using Subscriptions with custom behavior and pre-planned changes in billing, I recommend using Subscription Schedules: https://docs.stripe.com/billing/subscriptions/subscription-schedules
However, can you clarify exactly when customers are paying and what that payment convers?
Sure! Customers can pay anytime between now and June 10 to sign up, and they will be given limited access to our web application so they can get setup and ready. Then full access will start on June 10th and end on October 10th. They should have the option to continue having full access after October 10th by resuming their subscription.
Hmmm....okay. So we don't currently support pre-billing directly in the Subscription (or Subscription Schedule) API. So you can do this, it's just a little more tricky.
So the customer pre-pays and that covers the entire period from June 10th to October 10th?
Yes exactly, plus limited access until June 10th.
I'm writing custom logic to limit the access before June 10th, so as far as Stripe is concerned, it covers the period from payment to October 10th
We have a brand new API feature to help with this, called Entitlements: https://docs.stripe.com/billing/entitlements
However, I am not super familiar with it
But it might help you with provisioning your services
So, for the future start date of the Subscription, that is the first use case considered for Subscription Schedules: https://docs.stripe.com/billing/subscriptions/subscription-schedules/use-cases#start-subscription-future
Oh interesting, the entitlements could be extremely helpful, but for something else. Does it support one-time payments by chance? Then I could set it up like:
- One-time payment -> entitlement for now to October 10
- Subscription (paused) -> entitlement after October 10th
Otherwise, with subscription schedules alone, I could do something like this?
- Paid subscription -> now to 4 months from now
- Free subscription -> 4 months from now to October 10th
- Paid subscription (paused) -> October 10th and beyond
That way it's paid up front, but the customers are given access all the way through October 10th, with the option to continue afterwards
Yes, you could definitely do that. You can schedule a free trial phase for as long as you want.
For that second phase you can pass phases.trial=true https://docs.stripe.com/api/subscription_schedules/create#create_subscription_schedule-phases-trial
Awesome! For the third phase, I don't see a way to set pause_collection. Is there a way to ensure the third phase is paused?
Unfortunately that isn't an end_behavior we have currently.
What I would recommend is have the end_behavior set to release (which just continues the Subscription based on the last phase). But listen for the subscription_schedule.released webhook event: https://docs.stripe.com/api/events/types#event_types-subscription_schedule.released and pause the subscription then.
pretzel_schedule-release
Ah that's perfect, thank you so much! The senior engineer who managed our Stripe integrations unexpectedly quit, so it's been a steep learning curve. Thank you!!!
But I also think we should have pause as an end_behavior option so I'm going to file it as a feature request.