# 🎟 What causes payment failures & involuntary churn?

There’s no single cause of this problem that can be isolated. In fact, there are dozens of reasons (insufficient funds, fraud, expired cards, AVS, SCA, invalid card, etc.), and solutions to each failure need to be applied individually. Let’s look at a few examples:

1. **Batch Processing and Fixed-Interval Retries.** The majority of subscription payments and retries are processed in bulk during off-hours. If your customers are based in multiple time zones, this can increase payment failures and reduce the success rate of retries. Remember when you had to notify your bank when you were traveling? The concept is the same, a 3am charge is more likely to get flagged as fraud than a 9am charge.
2. **Expired Cards or Invalid Card Numbers:** These are frustrating because you think you have to ask your customers to do something, surprisingly there are many cases when you don’t. When you lose a credit card and replace it, do you ever wonder how Netflix still manages to charge you? It’s all thanks to Card Account Updater and Network Tokenization — if you don’t have it implemented, it’s an easy win.
3. **Customers with Insufficient Funds:** Timing is a critical factor, especially with these types of errors. If they don’t have funds, don’t force it. When retry attempts are spread out or targeted around periods of the month when cash inflow is expected, success rates will go up.
4. **Payments that are incorrectly classified as fraud:** This can cause financial losses, as well as a negative impact on customer experience. It is important to prevent those legitimate payments from failing.

When you’re on the receiving end, teams generally believe that failed payments are not only a black box, but the cost of doing business. Some believe that when a payment fails a new card is required so they rely on sending emails or making phone calls to resolve them.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flycode.com/docs/introduction/what-causes-payment-failures-and-involuntary-churn.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
