A donation can fail for hundreds of reasons. Here is how this is handled with Fundraise Up.
When a monthly recurring donation fails, it can be for any of hundreds of reasons (insufficient funds, expired, stolen, network is down, etc.).
Fundraise Up will automatically retry failed monthly donations according to how your settings are configured in Stripe. You can find this under Settings > Subscriptions & Payments > Manage Failed Payments.
Stripe offers an advanced AI-based feature called Smart Retries. This monitors the cardholder behavior, and if the card is used elsewhere, or other behaviors and purchase patterns show the card is likely now valid, it will retry.
Below is the configuration Fundraise Up suggests for best retention - however you can change this to whatever you are comfortable with.