#gallopinggoose_unexpected
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/1351648367360479352
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Clarification: "scheduled to be cancelled on Feb 28, 2025 " as in the setting was changed for the subscription to be cancelled at the end of the billing cycle on Feb 28, not that the subscription was expected to cancel on that date
Hi, I'm still taking a look as it looks like you've many many changes to the subscription
Thanks, I guess the time period that can be focused on is Mar 12-13 as that was when the cancel_at_period_end value was changed
Why are you keep making the same reuqest to update the subscription with the same fields?
Are you able to reroduce this?
It was just how our system was designed. There can be changes that we post to Stripe, and we use the returned subscription object to update our database with any changes. If there are no changes, the request is still made so that we can check the returned Subscription object for any Stripe-side changes that were made (our Finance department directly makes changes in Stripe sometimes)
Haven't been able to reproduce it yet because we just noticed the issue today and we don't have access to test clocks
What do you mean you don't have access to test clocks?
It should just work in test mode: https://docs.stripe.com/billing/testing/test-clocks
Oh this is a new change right? Test clocks used to be paywalled and our pricing plan with Stripe did not give us access to them
I'm unsure. I do not know much about pricing
I was able to confirm that this is a long-running bug on our end.
Yeah I'm trying to set up a test clock now to see if I can recreate it. But just looking at the events logs, it is unexpected behaviour right?
In this case, the cancel_at timestamp remains unchanged, so there's not material effect on your subscription behavior. It's just the canceled_at field getting updated incorrectly on our side.
If you retrieve the subscription, or look at the Dashboard it whould be cancelled already
I do think it is a material effect because this subscription was renewed on Mar 17 due to this value
We had to be manually cancel and refund this subscription, you can see this in the logs
You made the request to cancel the subscription at period end: https://dashboard.stripe.com/logs/req_hKGBCjB1jOn3Jz
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Still looking
Yes we had made the request which set the subscription's cancel_at_period_end to true and the subsequent end_at but the bug that we are talking about caused that to change to false (effectively cancelling the scheduled end)
And this caused the subscription's renewal to go through, charge the customer, and update the billing cycle https://dashboard.stripe.com/events/evt_1R3fOO2k4WuoSsumkeG9Zjj3
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
We then manually cancelled the subscription (https://dashboard.stripe.com/events/evt_1R3hsu2k4WuoSsumgNhjVGBt) after the customer informed us that they were renewed and charged
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
If we had not manually cancelled it, the subscription would have continued
You made the update on 2/28 so that update should have applied to the current period which is 3/17.
But it did not because there was a renewal event on 3/17 correct?
Right, talking to my teammate to confirm this.
Just ensuring that we're on the same page now
Yes, thanks
The subsequent events after the renewal charge: evt_1R3gRX2k4WuoSsumub8gg7VX - was the customer being surprised at being charged for another month, and hitting our cancel subscription button again, evt_1R3hsu2k4WuoSsumgNhjVGBt - us responding to the customer's complaint and manually immediate cancelling the subscription through the Dashboard
My teammate is jumping on here as I need to step away. They will continue investigating the issue
No worries, thanks for your help so far
Hi! So it looks like this is where it happened: https://dashboard.stripe.com/logs/req_A8B9CKSfM1lVdg Specifically, that request was made with an API version of 2013-08-13 and prior to version 2018-02-28, any parameter sent to the Update Subscription stops a pending cancellation.
That API version was explicitly set/sent by your backend (according to my tools) so this is something that somehow happened in your app.
Omg that's gotta be it thank you!
You're very welcome! ๐
I'll definitely be more mindful of the API version when looking at these bug reports from now on. Ideally we would've upgraded our versioning a long time ago. Thanks again, take care!
Well, this is something super weird, and worth investigating on your end - because the update before and the update after were made with the correct API version, and all three of them were made with the same Java SDK version.
Our default version is still 2013-08-13 so it makes sense, I'll take a look