#niceone_subscription-cycle-cancel
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/1394346431678251098
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hello ๐
Can you share the Subscription ID so I can take a look?
hi, sure
sub_1RZLoQL7qyU6wPqulu7zciKk
here's the event that states the subscription will be cancelled https://dashboard.stripe.com/events/evt_1RaRVpL7qyU6wPquFaEEWF1E
Unfortunately I cannot use the Dashboard links. Can you share just the event ID?
evt_1RaRVpL7qyU6wPquFaEEWF1E
Thanks, taking a look
Okay so we can see the cancel request here: https://dashboard.stripe.com/logs/req_iC4H3JL9GaeWHF
You can see the Subscription object in the JSON response.
You specified cancel_at_period_end: "true". At the time of this request the current_period_end is a timestamp that maps to 2025-07-16 00:49:42
So if you look at the cancel_at timestamp, this is telling you when the Subscription will be canceled
The cancel_at timestamp also has 2025-07-16 00:49:42 so this appears to line up
So this Subscription will end in a couple days
What did you expect?
where did you get this date from?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
It's the timestamp values in the properties I listed in UTC
The value 1752626982 as a timestamp is the same as 2025-07-16 00:49:42
Ah okay I understand that confusion
is it because a moment before the draft invoice was created?
canceled_at means the timestamp when the cancellation request occurs
The current billing cycle started at 2025-06-16 00:49:42
Your request to cancel the subscription occurred at 2025-06-16 01:07:01
so the billing cycle starts with draft invoice creation?
The cycle starts when the previous cycle ends. These timetsamps are present in the Subscription object
I know it can be hard to keep track of all these different dates.
But we recommend checking against the current_period_start and current_period_end properties on the Subscription object to understand the cut-off times for billing cycles
ok, thanks for clarification
Happy to shed what ๐ก I can ๐
but still there is one thing I don't get it, namely:
the original cancellation reason changed from:
"reason": "cancellation_requested"
to:
"reason": "payment_disputed" (it happend on 1.07.2025)
there was some claim from the customer?
The original request to set cancelation did not provide the canellation_details.reason parameter. Let me see when that got updated
"reason": "cancellation_requested" is the default when no other data is provided
I don't get it, so why at 1.07.2025 the reason was set to "payment_disputed"?
It looks like this was set automatically because a payment associated with the Subscription was disputed. Let me see if I can find that charge
Okay. yes a dispute was created for this Charge: ch_3RaSCjL7qyU6wPqu1qqjiOHS
This is the event. Because this charge was related to the Payment Intent pi_3RaSCjL7qyU6wPqu1giaHCwt which is related to in_1RaRFoL7qyU6wPquwheDNGQw, that is what reset the cancellation reason
hm how this works? I mean how the dispute is being created? is it sth that is done via dashboard?
Disputes can be created by customers through the bank that manages their credit cards
They dispute the charges and that comes back to you
ok, thanks
We have a doc on this here: https://docs.stripe.com/disputes/how-disputes-work
Happy to help