Idk why my last post was deleted without any help. I have been able to stimulate all 11/12 of the webhooks in test mode leaving subscription.expired which i believe it the option on the product page i set to 19 years that is max. But this aside, in test mode payment.processing on an upgrade will never succeed, it remains in processing forever, why is that? Also why is the failure@upi not stimulating failure and firing a webhook for payment.failed or whatever?? The docs and sentra do not answer any of these issues.
#Webhook issues
1 messages · Page 1 of 1 (latest)
It looks like you're encountering a couple of issues with Dodo Payments webhooks in test mode. Let's address them one by one:
-
Payment Processing Stuck in Test Mode:
- This can happen if there is an issue with the configuration or the test environment. First, ensure that the API keys and webhook URLs are correctly configured. Also, check if the webhook signing key matches and that your server can receive incoming webhook requests.
- It's also important to verify that the webhooks are set up correctly in the Dodo Payments dashboard under the Developers > Webhooks section.
-
Failure at UPI Not Firing
payment.failedWebhook:- Dodo Payments does not currently support UPI for subscription payments, which might explain why you're not seeing the expected behavior for UPI-related failures.
- Ensure that your webhook endpoint is correctly configured to handle
payment.failedevents. This involves verifying the webhook signature and ensuring your server is set up to process these events.
-
Subscription Expired Webhook:
- The
subscription.expiredwebhook is triggered when a subscription reaches its expiration date. If you've set the expiration to a very long period (like 19 years), this webhook will not be triggered until that period ends【4:0†openapi.txt】【4:8†openapi.txt】.
- The
To resolve these issues, I recommend the following steps:
- Double-check your webhook configuration in the Dodo Payments dashboard.
- Ensure your test environment is set up correctly with valid API keys and webhook URLs.
- Test your webhook endpoint locally using tools like ngrok to expose your local server to the internet.
- Review the logs on your server to ensure webhooks are being received and processed correctly.
If issues persist, consider reaching out to Dodo Payments support for further assistance.
Helpful Links:
Dodo Payments Documentation
Understand the different webhook events triggered by Dodo Payments during payment, refund, subscription, dispute, and license key activities
@errant dune
This is test mode as you can see. for upi it gets stuck on processing
So there is no way to know which event is fired after a success or failure
im assuming a payment.succeeded should fire after processing but the screenshot i showed back in 29th nov it still remains processing
also this is only upi issue. cards seem to work fine
Ok, Got the issue
so?
It was making a UPI payment in test mode, and it was an UPI AutoPay transaction and subscription . The status moved to processing because, as per RBI guidelines, mandate deductions for UPI AutoPay take up to 48 hours before the amount is actually debited from the user’s account.
After this 48-hour window, the payment will succeed.
That is why the status shows processing, and the webhook event sent was payment.processing.
refer this -
https://docs.dodopayments.com/features/subscription#48-hour-processing-delay
yes... but i showed u a screenshot of the one i did on 29th of november
im already aware of the 48 wait
Share that payment id will check
ok sec
pay_flQRxEXP9AqwLzG7LV9Ja
here
sorry wrong one that is card
pay_HLjLRT5PipPHDGTbe2j2n
this is the one
well over 1 week still processing. Some of them go into customer action required but its very random when that happens
Bro this id - pay_HLjLRT5PipPHDGTbe2j2n
as authication issue use proper card from dcos
pay_flQRxEXP9AqwLzG7LV9Ja - this tooo
its upi though
this one is card
Sorry, just sec
but these are all 10 days old so i may i have cancellled them so if your trying to push it foward it may not work
ok
yes, they are old and subscription or cancelled right now
here is another one i did 2nd december this one went "on hold"
payment_id: pay_JNlgOMD5kmFNecYKdgWHa (still active)
Please check for this payment - pay_q2kX1FoGjAWn1gPpG6Ong
if issue persist please let me know
could you check the one above i shared. that is still active not cancelled
did you make this one? it shows no payment method
Yes, the subscription moved to on-hold. We have a mechanism where, if the payment does not go through even after the UPI mandate time window, we automatically move the subscription to the on-hold state so that the user’s access can be reverted.
What?
understood ill note this. so what about the suceeded it had 9 days to show succeeded
Just sec
whichone you taking about?
sorry this one
this one isnt cancelled. it was done on 2nd december via upi in test mode
@errant dune if its taking time to find the issue could you just answer these questions:
-
which webhooks will fire when payment has been recieved via upi? This way i can write my code knowing what to wait for on live test.
-
I know that the upgrade fee is auto debited from that user without needing their confirmation. In the case their bank didnt have enough money to pay the upgrade, will the fee still be taken from them sending them into negative net? that way our end of the process is handled, or will them not being able to pay the fee send a payment failed event?
and the subscription will normally cancel/renew on the first plan end date right?
or nevermind i think you would be required to finish the upgrade payment then it would resume monthly i believe?
thats to get the subscription out of "on_hold"
@errant dune do let me know the answer when you find time. its hard to proceed foward since the upi option doesnt work at all for upgrades in test mode.
and the subscription will normally cancel/renew on the first plan end date right?
Yes,
cancel if set cancel_at_period_end: true
else it moved on-hold if payment failed
anything else
yes could you just comfirm again, if the plan to renew when "on_hold" user is required to finish upgrade then it renews?
^this is for the upgrade part. As you explained it goes into hold if payment fails. So i was wondering for user to continue their subscription which is on hold, will they be required to finish the upgrade payment then in renews? This way i can decide if i should give the plan on plan_changed webhook or payment_suceeded.
Yes
ok last question sorry for the trouble 😂
so
upgrade that is on hold -> renew = finish upgrade then it renews
upgrade that is on hold -> cancel now or at eoc = ?
Does that skip the upgrade payment part and close the subscription?
@errant dune let me know whenever free to the question above and below
Also Would you recommend giving upgraded plan to user on plan_changed or only after payment suceeded?
This is mostly upi/india issues. That would conclude all my doubts.
Thanks
any update @errant dune
this is for the upgrade part. As you explained it goes into hold if payment fails. So i was wondering for user to continue their subscription which is on hold, will they be required to finish the upgrade payment then in renews? This way i can decide if i should give the plan on plan_changed webhook or payment_suceeded.
It depends on your preference: if you want to provide immediate access after the upgrade, you can do that and let the payment complete later.
Alternatively, you can wait and give access only after receiving the payment.succeeded event.
Anything else?
this one
upgrade that is on hold -> renew = finish upgrade then it renews
upgrade that is on hold -> cancel now or at eoc = ?
can you eloabarte more this?
so if payment failed for upi upgrade because user doesnt have money in the card it will go onto hold. Lets say user doesnt pay for the upgrade and cancels the plan at eoc. Will the upgrade fee not be taken at all?
upi or card
upi
if payment fails due to some reason the subscription moved on-hold -> which means subscrition cant be accessed -> no charge
Is it clear?
so the subscription simply gets locked, then it would be bad idea to give user upgraded plan on plan_changed webhook because its like giving free plan to upi users which could fail or can be used as an exploit.
Thanks I can work with this 👍
Hey I wanted to know if subscription automatically gets cancelled if it stays on hold for too long?
thanks
Do you how many days payment failed will be retried until it set to on_hold?