#dan_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/1488159761731031142
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
hello ๐ adding a trial_end mid-cycle is largely used as a way of moving the billing date
essentially you're resetting the billing date, and delaying the next payment to the new trial_end
so if you set trial_end to "Next billing date +1m" then yes, but it's not the easiest way to grant a free month/cycle
We also considered $N off coupon, and applying a credit balance to their account. But these solutions didn't work well for us since we wanted the solution to even give free months to a user who had decided to cancel their subscription. With coupon and $N balance, it only helped customers who were renewing with us. But not a way for us to grant free months to departing users
but it's not the easiest way to grant a free month/cycle
Would love to hear more - what would be the easiest way?
can you share more about how the coupon-based solution doesn't achieve your goals? my suggestion was going to be a 100% off coupon (duration=once) which would allow you to grant a free month without moving the subscription to a 'trialing' status
Two reasons the coupon didn't work well:
We have annual subscribers. So the coupon would need to be a fixed amount $N off. Less clean than 100% off for monthly subscriptions, but would still work.
But largely, our main issue is that we wanted to grant free months even to exiting customers. If a customer was unhappy with the product and had issues, we often will grant them free months as a courtesy before they leave. So they "cancel" their subscription, and we want to give them some free months on their way out.
hi there, taking over for Glo as they had to step away. give me a couple minutes to catch up...
I think you may need to have two solutions, depending on if the customer has canceled or not:
- if they haven't canceled, use a coupon for the monthly amount
- if they have, issue a credit note for the amount of the number of months you want to give, and then use this guide to refund the credit balance to the customer
That's interesting, so for the canceled customer, you are suggesting a literal refund to their payment method
yes, if they don't intend to come back, that would be the only way to ensure they are credited
I was also considering just extending their access. So if they were going to end in January, the free month now means they end in February
ah I see, I thought this was for a subscription that had already entered the canceled state. can you tell me more about how you are canceling the subscription?
We cancel all subscriptions at end of current billing period
I was going to suggest using subscription schedules, but I see from your initial message that this doesn't work for you... I'm trying to think of something else you could do, one moment
I think you may be able to update the subscription to set cancel_at_period_end to false, and then set trial_end to extend the sub past what would have been the cancellation date, but you would then need to manually cancel the subscription once the trial period ends to prevent the user from being billed. Subscription schedules are nice because it automates this all for you. I can try this myself to see if it works, but it may be faster if you test it yourself (working with a couple threads right now)
you can try in a sandbox using test clocks to see if it behaves the way you want
ok, I think I found a way to do this without manual cancellation. assuming your subscription is active with cancel_at_period_end set to true, you would update the subscription with the following params:
cancel_at: <next billing cycle anchor timestamp + X months>,
trial_end: <same timestamp as cancel_at>,
proration_behavior: "none"
this should extend the cancel at date past what would have been subscription renewal with X free months, after which it cancels with no prorations. the only downside is that it will generate a $0 invoice at the time that you create the free trial. again, I would recommend trying this yourself with test clocks to see if it results in the behavior you want before you move it to live
I will try this myself, thanks Denton!