#URGENTSubscription expired for prod user
1 messages · Page 1 of 1 (latest)
This usually means no successful charge was created at renewal time, not necessarily a failed one.
- If a payment attempt is made and fails → you’ll see
payment.failed - If no charge is attempted (e.g. payment method missing/invalid, or auto-charge not possible) → subscription can go straight to
expired subscription.updated→ status transitionsubscription.expired→ final state after no successful renewal
Retries:
- Dodo does not retry indefinitely by default
- Retry behavior depends on your billing/retry settings (if configured)
What to check:
- Whether the subscription had a valid default payment method at renewal
- If an invoice/charge object was created for this cycle
- Webhook logs around the same timestamp for any skipped payment creation
If you want, share the subscription config and I can help pinpoint exactly why no attempt was made.
We did not receive any payment.failed event before the expiry. The previous renewal on Mar 15 worked fine (payment.succeeded + subscription.renewed).
Could you help me understand:
- Why did this subscription expire instead of renewing?
- Was there a payment attempt that failed? If so, why didn't we receive a payment.failed webhook?
- Does Dodo retry failed payments before expiring, or does it expire immediately on first failure?
we only received this
msg_3CP1JL4LJPRfblWeCB0iWhfs6Yh | subscription.expired | 2026-04-15 16:58:38
msg_3CP1JL3ljalCzJigIjxq8LcwTlv | subscription.updated | 2026-04-15 16:58:38
@grand oracle What's your product's subscription period?
Yes, that was the issue
You need to set it to a higher amount like 10/20 years
That is about when the subscription will auto-expire
can you charge the current customer again. i will fix that bug in my portal, I dont want their experience to break. these are our initial customers.
@bitter shadow please help with this query. Please check if anything can be done.
Additionally, if you have other customers on the same plan, immediately duplicate the product, update the subscription period of the new product to be 20 years and migrate those users to the new plan otherwise you'll lose them.
can i just update the time instead of duolicating. I can increase it to 10 years by editing?
If you update the product now, it will only be applied for the future buyers. Existing subscriptions will still auto expire in 1 month. Only new subscriptions will follow the updated subscription period.
how can we fix the older customers. The payment will fail for all my 22 customers.
can dodo team handle it formt he backend?
You should change the plan for each subscription.
For that,
- Duplicate the current plan.
- Update the subscription period to 20 years on the newly duplicated subscription plan.
- Go to Sales > Subscriptions.
- Open the subscription and then click on "Update".
- On the modal, select choose another plan.
- Select the newly created plan with extended subscription period.
- Select the billing mode to "do not bill" and then proceed.
Repeat from step 4 for all 22 subscriptions and you're good to go!
You can do this with the API too but that would require some testing before proceeding
thank you for this. What do you mean by plan? the dodo product?
Yes
Subscription Plan = Dodo Product
does this mean the existing customers will be continued to be charged with the same subscription? Also I will need to update the new product ids in my app for new customers?
The new customers can be charged on older product ids where the tenure can be updated to 20 years. My understanding is this duplicate product is only for existing 22 customers.
Technically, it's a different subscription. You will need to update the product id.
Yes but what you can do is migrate everyone to the new product, process all new subscriptions on it and then delete the older product. This will prevent confusion in the future.
Otherwise, it will be like you have 2 subscriptions doing the exact same thing for no obvious reason.
will the futur recurring subscription payments go through?
one small feedback, can you add a small highlight of what this field means, setting 20 years of higher, i set to 1 month because the wording isn't clear
@polar trout can we have a huddle today?
how does it differ from an existing subscription getting modified the existing product vs cloning one?
@polar trout when you say the update the product id, how can we attach that to existing subscriptions, i don't get it
Yes, I think this is needed
@grand oracle can we do it ?
If you create a new subscription with a longer subscription period (i.e. auto expire), and migrate the current users (who have auto expire set to 1 month) then their auto expire will change from 1 month to longer period set in the new subscription.
why cant we do it by modifying the existing product id, can you elaborate?
I told the user to update the product id in the code. Like at webhook verification and stuff.
If you modify the existing subscription product, the new change would only be applied to new subscribers. The old subscribers will still be on the older subscription period.
What I suggested is he duplicate the product, increase the subscription period, and migrate existing subscriptions to that new product.
Yes because when you change the plan (product), the older parameters get updated to the new product's parameters.
for some customers, we don't see the update subscription is not visuble
There is no option to change the subscription on the modal?
no we dont see, we also dont see an option to chage the customer in the next billing cycle
FOUND THESE TWO SUBSCRIPTIONS WHERE WE CANNOT SEE THE UPDATE BUTTON
Because they're cancelled
They are scheduled to be cancelled i.e. will cancel at end of billing period
why does it show status show as active then ?
Because they're currently active
they will cancel at end of billing period
You should select "do not bill"
Also you should remove the "(Copy)" since it may show up in the invoice. Instead what you do is rename the older one to "(Old)" and remove "(Copy)" from the new one.
But this is optional
HI, I JUST DID THIS FOR ONE CUSTOMER, however I still see the validity date is valid till 24/04/2026
can we come on a quick huddle @polar trout ?
@grand oracle @whole osprey I asked about this to my team and they said it wouldn't be possible to change the subscription for existing users since that's handled at mandate creation. Really sorry for my earlier responses. Additionally, we're working on removing that field completely. As for the active subscriptions, they will need to resubscribe unfortunately.
Apologies once again for my earlier responses.
we have updated the subscriptiom duration in existing products to 20 years. Will our new subwcribers not face this issue
you should improve the wording not to confuse the users
10/20 years seem to be a magic number and appropiate doc should be used to not land into this trouble
They will need to resubscribe
unfortunately
I was incorrect earlier
i meant not being incorect, my concern is more about the user experience
We're going to remove that field entirely for that reason
No worries. It seems we will lose our existing customers. We will try reaching out to them. Thanks for the prompt respopnse.
@polar trout Can you confirm this with your team?
I am removing the duplicate products that we created.
I will update our existing products with duration set to 20 years.
My question is: Will the new customers who subscribe with us in the future not see this issue? They will be subscribed for 20 years.
This means we dont have to do any code change to uopdate the product ids. We just have to handle the exisitng customers via email communication. Please give a verified answer here.
Thanks
Yes, you are correct. There is no need to make any changes. New customers will have a 20-year period, and for existing customers, you will need to contact them to subscribe.
is anyone online ?
What happened Diljit?
@burnt osprey can you reset our business verification online, not able to submit our llp docs?
So you want to switch to individual?
we want to resubmit our business docs for verification, the director changed, the UI is not allowing to do it
What's your business id, I'll ask the team to unlock the form.
Hello, we have faced same issue, initially our product subscription period was 1 month when we noticed first expired sub, we switched all other users to a new plan with 20 year duration however when the renewal date came today all their subscriptions still expired.
What can we do here now? We have opened a ticket, can dodopayment team help fixing this from their end or only option is to contact customer? Also why did subscription still expired despite switching to new product with renewal set for 20 year?
You can't do anything unfortunately. You will have to ask them resubscribe. The problem is the mandate duration is set at subscription purchase time for the customer.
has this been fixed? this is a P0 wonder many will run into the same issue