How to recover failed payments with Stripe
+20% of transactions usually fail
You’ve setup your Stripe account and are charging people for your product. You’re working on what you love, people pay you for that. Life is wonderful!
But you’re already losing money 😧
Payments do fail
Recurly did a benchmark and found out that up to 18% of transaction are declined for B2C. Spreedly’s insights are even more alarming, as 25% of transactions fail on average.
For some currencies used in Mexico (MXN) or South Africa (ZAR), where Stripe is available on invitation, 55 to 74% of total transactions fail.
Yes, up to 3 out of 4 are failed charges!
USD and EUR have lower percentage, but this is still 20 to 25% lost to failed payments.
This is huge.
Obviously, fraud plays a big role in these numbers.
But there are a lot more reasons why a transaction can fail.
It can be because…
- there’s insufficient funds on the account (credit card limit was reached)
- account details are not matching / are obsolete (e.g. ZIP code does not match)
- credit card is expired (recurring subscriptions actually suffer more from that, as card can expire between 2 charges)
- or because bank’s fraud system decided that something does not look good: “international transaction + high amount + digital goods” carries a higher risk of being disputed, and banks don’t like risks.
Bottom line is: payments do fail, and this impacts your revenue 📉.
Good news is, on the 4 failed payment reasons listed above, the first 3 can be recovered quite easily.
Stripe will automatically retry failed payments, so that should take care of temporary fund limit issues.
For anything else, you should simply talk to your customer. Ask her to update her credit card, or her account details, and try again.
If your customer found your product, was convinced by your marketing, went through the checkout process, and gave you her credit card just to get her payment rejected, it means two things:
- she’s already made the decision to throw money at you
- she’s probably upset to NOT being able to buy.
By contacting your customer and explaining her how to fix that situation, you’ll both end up happy.
See how Statsbot reduced churn due to failed charges by nearly 27%, by automating emails when a charge fails.
Time to contact is key
The sooner you know about a failed transaction, the sooner you can contact your customer and fix the situation. Ideally you would email / phone her in the minutes following a failed transaction.
If you wait too long, your customer will have switched context, and this makes it harder to recover your payment.
How to know when payments fail
If you’re short on money
- Simply install CashNotify, a native Mac app to get failed payment alerts directly in your menubar. Not only will you have real-time notifications on failed charges, but you can also monitor successful charges, refunds, and even payouts.
- Set up an IFTTT or Zap to send you an email or push notification when a payment fails. Easy to set up, but then you have to make sure to read your emails / notifications. It’s bound to be lost amongst your Instagram and WhatsApp notifications… 🙄
- Push Stripe alerts to your Slack team. Great way to let all your team know about a failed charge, so anyone can contact the customer. Protip: create a dedicated channel for these notifications, otherwise they’ll be lost amongst all your cat gifs.
- Of course you can use Stripe’s webhooks and develop your own alert system. Most flexible solution, but be prepared to spend nights and days on it. And you need to know how to code, obviously.
If you’re ready to put money on this
There are products dedicated to handle this exact issue, through automated emails and credit card update form.
Costs range from USD $50 up to $500+ / month. This starts to become serious.
Here are a few of them: Stunning, Baremetrics, Churnbuster.