> For the complete documentation index, see [llms.txt](https://docs.flycode.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flycode.com/docs/introduction/what-is-flycode.md).

# What is FlyCode?

FlyCode is the revenue performance platform for payments. It recovers failed subscription payments and reduces involuntary churn by sitting on top of the billing stack a business already runs (Stripe, Shopify subscription apps, Braintree, PayPal, Chargebee and others) and deciding, per failed charge, when to retry, which payment method to use and when to contact the customer. Its decisioning models are trained per merchant with Visa and Mastercard network data. FlyCode is a Stripe design partner, a Mastercard network partner, a Visa Everything Award winner, and is backed by Y Combinator.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FWDBgh6tR438SpOo0oSWc%2Fflycode%20churn%20failed%20payments%20.png?alt=media&#x26;token=474db5dd-e661-4f36-8424-5f77afc3aa2d" alt=""><figcaption><p><a href="https://www.flycode.com/">flycode.com</a></p></figcaption></figure>

## The problem: recovering failed payments is complex

[Involuntary churn](https://www.flycode.com/blog/involuntary-churn-101-what-is-it-and-how-it-relates-to-failed-payments) is the loss of subscribers because a payment failed, not because they chose to cancel. In most cases the customer does not even know the payment failed. It is preventable, but not simple: there are dozens of decline reasons (insufficient funds, generic bank declines, fraud flags, authentication requirements, processing errors, outdated card credentials) and each needs a different recovery approach. Processors, issuers and card networks do not share a unified vocabulary, so the most common code, "Do Not Honor", says almost nothing about the cause.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FrV3kg0ilBaEmgUIStfLU%2Ffailed%20payments%20flycode%20stripe.avif?alt=media&#x26;token=e5cb58cc-79cf-447b-ab59-86232f651cb8" alt=""><figcaption></figcaption></figure>

**Bottom line:** effective payment recovery reduces involuntary churn and increases ARR by 5 to 10 percent.

## How FlyCode recovers payments

FlyCode's decisioning models weigh hundreds of data points per failed charge: customer and payment metadata, issuer behaviour, card type, geography, timing and FlyCode's own classification of decline codes and messages. The models determine the best moment to retry with the current or a backup payment method and when, if at all, to communicate with the customer. The communications product then coordinates transactional email and SMS with the retries, sending at the customer's ideal local time and in the local language.

The result is recovery with fewer payment retries, faster average days to recovery, less customer communication, and full compliance with card network retry rules. Card Account Updater and Network Tokens keep stored card credentials current automatically when an issuer replaces a card, so many hard declines resolve without the customer doing anything.

In practice FlyCode:

* Automatically recovers failed subscription payments and reduces passive churn
* Uses AI-based payment optimization to find the best time to charge each customer
* Separates payment retries from emails for a better customer experience
* Charges backup payment methods on file when the primary card fails hard
* Sends tailored dunning emails and SMS at the right time, per customer and per failure reason
* Detects revenue anomalies and error patterns in real time

## Why choose FlyCode?

An unrecovered failed payment costs more than one invoice; it costs the customer's remaining lifetime value. If your average customer stays 6 to 12 months, raising recovery from 45 to 55 percent lifts ARR by 6 to 10 percent. FlyCode customers typically see a 16 to 25 percentage point lift in recovery rate and a 5 to 9 percent increase in ARR, install in hours from the Stripe or Shopify app stores with no engineering, and pay only on revenue recovered above their existing baseline.

FlyCode goes beyond standard recovery: proactive, intelligent and customer-friendly, so you retain more revenue while improving retention, and focus on growing the business rather than chasing payments.

## Next steps

* [Supported payment and subscription platforms](https://docs.flycode.com/docs/integrations/supported-payment-and-subscription-platforms)
* [Stripe integration guide](https://docs.flycode.com/docs/integrations/stripe-integration-guide-for-flycode)
* [Help Center](https://help.flycode.com/) for product FAQs
* [Analyze your subscription churn (free report)](https://docs.flycode.com/docs/introduction/analyze-your-subscription-churn-free-report)

{% embed url="<https://www.flycode.com/>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.flycode.com/docs/introduction/what-is-flycode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
