Failed payment notifications for Stripe
Monitor bank-declined and failed charges with CashNotify.
CashNotify allows you to track failed payments in real-time. Failed charges are listed in a menu bar app. They also appear in your Mac’s Notification Center.
Why Stripe payments fail
They are several reasons why a charge or subscription can fail:
- credit card has expired
- bank account has insufficient funds
- ZIP code does not match
- transaction has a high risk of fraud
- bank rejects it for other reasons
Why you may want notifications for failures
1. Failed payments can be recovered
In many cases, you can recover the payment by contacting your customer.
They may not have realized that their card expired. Or that they have reached their spending limit.
Read our post on recovering failed payments with Stripe.
2. Failed payments can indicate an issue in your code
When you’ve made changes to your checkout process, it’s reassuring to keep an eye on failed transactions alerts for a while.
Many charges suddenly failing can indicate an issue with your payment form.
3. Failed payments can reveal a configuration issue
But these rules can hurt your business and block a large number of legitimate transactions if used incorrectly.
Observing failed payments helps confirm that these settings are right.
Stripe’s missing alerts
Stripe offers email notifications for successful charges. You activate them in your user settings.
But Stripe does not propose email alerts for failed payments. Here is their guide for writing an application that will do it for you.
CashNotify’s failed payment notifications
CashNotify monitors 4 types of events, which you can turn on/off.
When a failed payment occurs, CashNotify’s menu bar icon color turns orange.
Failed payment details
Clicking on an event expands it to reveal the reason of failure. The “View on Stripe” button allows you to investigate further on stripe.com.
Here is an example of a subscription flagged as having a high risk of fraud and blocked by Stripe.
Here are examples for a few bank decline codes: