#High rate of payment failures in my account

1 messages · Page 1 of 1 (latest)

boreal ridge
#

Hi Dodo team

In my account, between 4th Feb - 25th Mar 2026, a total of 10 payments were attempted. Out of which, 5 of the transactions failed. 1 of those 5 transactions was an abandoned checkout, so let's discount that, I still have 4 out of 10 transactions failed (a failure rate of 40%)

3 of them - failed with the same error - Insufficient funds (This is a soft decline — a temporary, recoverable failure). All 3 monthly subscribers' subscriptions have gone on hold. This has led to loss of future revenue from 3 of my paying customers. The payment failure rate is too high.

I have another serious complaint - that I can't do a retry of any such payments. I am surprised that there's no built-in dunning or retry schedule within Dodo payments.

For context, here's how other platforms handle this:

  • Stripe — up to 8 smart retries over 2 months, AI-optimized timing
  • Paddle — up to 7 retries over 30 days
  • Lemon Squeezy — 4 retries over 2 weeks with automated customer emails
    (Researched via Claude)

You should allow at least 1 manual retry from the merchant (my) side, so that I can retry the subscription payment without contacting the customer. Is there a way to do this?

This is not the first time when I had payment failures - I had 2 payments failed in quick succession before. My previous thread:
#1450002439272009738 message

Can you please respond back on this? This is URGENT please.

clever flame
#

@jagged zealot please see what can be done here

boreal ridge
#

Hi Sancho

#

Why do you guys not support dunning logic?

jagged zealot
boreal ridge
#

Ok, can you help me in my present case?

#

If its too late now, I can connect back tomorrow morning (IST)

#

I am in IST

boreal ridge
#

@Dodo Team, just want to reiterate here, lack of Dunning logic in Dodo payments is a big feature that is missing - something that all other platforms support. Lack of it leads to loss of revenue. Please take it on priority and implement it.

#

@sullen fossil

jagged zealot
#

We understand your concern. As mentioned earlier in the call, this feature is currently under development and will be available soon.
We appreciate your patience

still delta
boreal ridge
#

Ok, thanks. Eagerly awaiting the roll out.

still delta
boreal ridge
#

Hi @still delta I had a look at your new functionality, this is very good. But it is still not doing what I am looking for. I had an issue where a customer got 'Insufficient funds' during automatic payment and his subscription moved to on_hold. Generally, it might happen that the customer's account may have funds after a few days - say their salary gets credited and now their account has enough funds.

So auto retry of failed payment in this case may actually help in recovering subscription, that too without customer's manual intervention.

#

Another point that I discussed with @jagged zealot was that currently in the above situation, the customer needs to update their payment method. If they want to use the same payment method as earlier (given that they now have funds in their account), they still need to manually add the same payment method again - which is wasteful. Ideally, the customer should get a simple button on their portal to simply retry the payment with the given payment method.

This simplifies the process for the customer.

jagged zealot
#

@boreal ridge – Could you please confirm how we can identify whether the merchant has sufficient balance or got the salary?

If the payment fails due to reasons like bank decline or expired card, retries may work in perfectly. However, in your case we cannot determine when the amount will be available in the customer’s bank account, and even attempting to track that would not be appropriate.

boreal ridge
#

Hi @jagged zealot, I am not suggesting that you should track the user's bank account - nobody like Stripe/Paddle does that. What they do is - just retry the payment after say 1-2 days. If money is there, the payment will work. If not, it fails again with the same error: Insufficient funds.
Retrying makes sure that if insufficient funds is a temporary problem, then it will automatically get fixed.

jagged zealot
#

Our team member working in it