# Help Center

Welcome to the FlyCode Help Center. We've gathered the most frequently asked questions to help you navigate setup, usage, and everything in between.

### What is FlyCode

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/EjoC3U9wUqSxh9PHU2s5">/pages/EjoC3U9wUqSxh9PHU2s5</a></td><td><a href="/files/KzqF7YqKC7kyRCwn1xfZ">/files/KzqF7YqKC7kyRCwn1xfZ</a></td></tr><tr><td><a href="/pages/gd1k8XslkSgobfy4OFJj">/pages/gd1k8XslkSgobfy4OFJj</a></td><td><a href="/files/oXfZn9oYEoJaeVK5jtMU">/files/oXfZn9oYEoJaeVK5jtMU</a></td></tr><tr><td><a href="/pages/5kf9WSCAt7FlwKHDLom6">/pages/5kf9WSCAt7FlwKHDLom6</a></td><td><a href="/files/iJRXvBoByjVrxIZcACtd">/files/iJRXvBoByjVrxIZcACtd</a></td></tr></tbody></table>

### Understanding Involuntary Churn from failed payments&#x20;

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/lJO7AsqEzpTiRQDPO1Rn">/pages/lJO7AsqEzpTiRQDPO1Rn</a></td><td><a href="/files/QLb8xGAZlVFtzB2JC00k">/files/QLb8xGAZlVFtzB2JC00k</a></td></tr><tr><td><a href="/pages/085KAMYNsD8yZXvTDhwL">/pages/085KAMYNsD8yZXvTDhwL</a></td><td><a href="/files/hXEP0GrBahTKtCYLkx4o">/files/hXEP0GrBahTKtCYLkx4o</a></td></tr><tr><td><a href="/pages/FLWVMqZ5ly4chQvCYWpV">/pages/FLWVMqZ5ly4chQvCYWpV</a></td><td><a href="/files/Y3DrY4GaSqahKBDKpvEj">/files/Y3DrY4GaSqahKBDKpvEj</a></td></tr><tr><td><a href="/pages/08LccD9qFTgj7VOpootE">/pages/08LccD9qFTgj7VOpootE</a></td><td><a href="/files/afSOFUuCbHgl5emDMkQ5">/files/afSOFUuCbHgl5emDMkQ5</a></td></tr></tbody></table>

### Handling Failed Payments

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/pYUubFHpfVHIe5n1Hnqd">/pages/pYUubFHpfVHIe5n1Hnqd</a></td><td><a href="/files/ZFmFQTuYAg6e3eLGK5Z4">/files/ZFmFQTuYAg6e3eLGK5Z4</a></td></tr><tr><td><a href="/pages/AkWcc1Fu6YWE9nPRDtOc">/pages/AkWcc1Fu6YWE9nPRDtOc</a></td><td><a href="/files/nrb93wP9mjhocNHhiYKr">/files/nrb93wP9mjhocNHhiYKr</a></td></tr><tr><td><a href="/pages/y9QnprERMEg14BVQhjPW">/pages/y9QnprERMEg14BVQhjPW</a></td><td><a href="/files/AmUQhz02nYpB37RfcvVi">/files/AmUQhz02nYpB37RfcvVi</a></td></tr></tbody></table>

### Decline Codes Explained

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/fxp92gJzyMDQXrPosjgi">/pages/fxp92gJzyMDQXrPosjgi</a></td><td><a href="/files/dZ9ZUHxRC700qnFgPaML">/files/dZ9ZUHxRC700qnFgPaML</a></td></tr><tr><td><a href="/pages/sAzGs89oS1YZa6E5EYg1">/pages/sAzGs89oS1YZa6E5EYg1</a></td><td><a href="/files/COqkRFPpVSWVxoMxi4mW">/files/COqkRFPpVSWVxoMxi4mW</a></td></tr><tr><td><a href="/pages/MeIbhoYoQFskNVpiC5Yx">/pages/MeIbhoYoQFskNVpiC5Yx</a></td><td><a href="/files/hOTqMvrsmbXqUq2SjeBe">/files/hOTqMvrsmbXqUq2SjeBe</a></td></tr><tr><td><a href="/pages/ixyb41j3HyxQgv2cKAZy">/pages/ixyb41j3HyxQgv2cKAZy</a></td><td><a href="/files/kwSyndLR7s3r3gBKSiv9">/files/kwSyndLR7s3r3gBKSiv9</a></td></tr><tr><td><a href="/pages/MqhINju1h40kiYq0HEka">/pages/MqhINju1h40kiYq0HEka</a></td><td><a href="/files/aX00ycxyqMeQZ5FOPbWf">/files/aX00ycxyqMeQZ5FOPbWf</a></td></tr></tbody></table>

### FlyCode & Stripe

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/wkIG1GFlTrMtkv9weay0">/pages/wkIG1GFlTrMtkv9weay0</a></td><td><a href="/files/Dkxu7MuN4qTBch7XAhAj">/files/Dkxu7MuN4qTBch7XAhAj</a></td></tr><tr><td><a href="/pages/uQ0Obj62r3Wji3plpBvo">/pages/uQ0Obj62r3Wji3plpBvo</a></td><td><a href="/files/2t1JQY95b2ElBXhqNReQ">/files/2t1JQY95b2ElBXhqNReQ</a></td></tr><tr><td><a href="/pages/VlfXVnIuJ2aQ9T2B0B2Y">/pages/VlfXVnIuJ2aQ9T2B0B2Y</a></td><td><a href="/files/XFqcaAUWAMdAmtEt3330">/files/XFqcaAUWAMdAmtEt3330</a></td></tr></tbody></table>

### FlyCode vs. ProfitWell (Paddle Retain)

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/EetCuA2FrKy7jDX5xZWx">/pages/EetCuA2FrKy7jDX5xZWx</a></td><td><a href="/files/BnlBJUdxoHKEDQeNTD4Q">/files/BnlBJUdxoHKEDQeNTD4Q</a></td></tr><tr><td><a href="/pages/2vm74I7arG2giiQrzzGx">/pages/2vm74I7arG2giiQrzzGx</a></td><td><a href="/files/S1JtCJgGgX4mIhVbVfQH">/files/S1JtCJgGgX4mIhVbVfQH</a></td></tr><tr><td><a href="/pages/MEGFjYxE5BaTG7za69B2">/pages/MEGFjYxE5BaTG7za69B2</a></td><td><a href="/files/Q2uU6EdLdEANBwAkMkvf">/files/Q2uU6EdLdEANBwAkMkvf</a></td></tr><tr><td><a href="/pages/enJC2tJGZQp54sLZueFt">/pages/enJC2tJGZQp54sLZueFt</a></td><td><a href="/files/gfKpuMUM1KNn6sQW6Ra6">/files/gfKpuMUM1KNn6sQW6Ra6</a></td></tr></tbody></table>

### FlyCode & Shopify

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/pRCpt9041wQcYpIFwNkk">/pages/pRCpt9041wQcYpIFwNkk</a></td><td><a href="/files/Zh5vV7F4vohkNUibs0tn">/files/Zh5vV7F4vohkNUibs0tn</a></td></tr><tr><td><a href="/pages/1kEttlddb95Qh1pRo3PS">/pages/1kEttlddb95Qh1pRo3PS</a></td><td><a href="/files/ceDdJwchhXvGmNr5k9se">/files/ceDdJwchhXvGmNr5k9se</a></td></tr></tbody></table>

### AI Payment Recovery

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/1tHUQKay1dHsseUtta1G">/pages/1tHUQKay1dHsseUtta1G</a></td><td><a href="/files/3MvySOZQoUhbDhuYQcPw">/files/3MvySOZQoUhbDhuYQcPw</a></td></tr><tr><td><a href="/pages/oxghVcO4EjAanJbSrazm">/pages/oxghVcO4EjAanJbSrazm</a></td><td><a href="/files/3J5ejwjhRieCmC94M7l3">/files/3J5ejwjhRieCmC94M7l3</a></td></tr></tbody></table>

### Failed Payment Outreach

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/zjvfZ2iEjSzDU27k8CAl">/pages/zjvfZ2iEjSzDU27k8CAl</a></td><td><a href="/files/7ANuzXsNGT8HPxUeBexU">/files/7ANuzXsNGT8HPxUeBexU</a></td></tr><tr><td><a href="/pages/XrlaKZZPgoBFPctqRhsy">/pages/XrlaKZZPgoBFPctqRhsy</a></td><td><a href="/files/zqetxtSSFcvVheyndmbO">/files/zqetxtSSFcvVheyndmbO</a></td></tr><tr><td><a href="/pages/I1aGNNpeZnp66iYI2NP9">/pages/I1aGNNpeZnp66iYI2NP9</a></td><td><a href="/files/84HsORfYuyafeacqWMyU">/files/84HsORfYuyafeacqWMyU</a></td></tr></tbody></table>

### Backup Payment Methods

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/Sg4zlHNUqiu1QDkLMpAQ">/pages/Sg4zlHNUqiu1QDkLMpAQ</a></td><td><a href="/files/8zY91R4t3dkEtEbWwEOA">/files/8zY91R4t3dkEtEbWwEOA</a></td></tr><tr><td><a href="/pages/sjygrikXJkM4832XpxXK">/pages/sjygrikXJkM4832XpxXK</a></td><td><a href="/files/yeox3k5Cm67ykkuT5qu2">/files/yeox3k5Cm67ykkuT5qu2</a></td></tr><tr><td><a href="/pages/WrzWzN36vd9HyYXonxpw">/pages/WrzWzN36vd9HyYXonxpw</a></td><td><a href="/files/z2YCPg6RWL8LqF8awzY8">/files/z2YCPg6RWL8LqF8awzY8</a></td></tr></tbody></table>

### Payment Orchestration Agent

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/FVxAKSabpzZlbI9v0vWe">/pages/FVxAKSabpzZlbI9v0vWe</a></td><td><a href="/files/hLO0MgWerrboV3udPuSJ">/files/hLO0MgWerrboV3udPuSJ</a></td></tr><tr><td><a href="/pages/2mTjWjjeCLGD6jAbd5AU">/pages/2mTjWjjeCLGD6jAbd5AU</a></td><td><a href="/files/n8rOGHYr8OVGGweu5yT1">/files/n8rOGHYr8OVGGweu5yT1</a></td></tr><tr><td><a href="/pages/bBZeWPXaQpCnUoiPKGbz">/pages/bBZeWPXaQpCnUoiPKGbz</a></td><td><a href="/files/ZvQhVLeXkesylrTOjLEl">/files/ZvQhVLeXkesylrTOjLEl</a></td></tr></tbody></table>

### Subscription Compliance

<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/HTZQcMITOXGdNNZ7OeMC">/pages/HTZQcMITOXGdNNZ7OeMC</a></td><td><a href="/files/ArBk5qCeSiNFDHSDIl16">/files/ArBk5qCeSiNFDHSDIl16</a></td></tr><tr><td><a href="/pages/LlH7BXE576i2IQ1Nu7DL">/pages/LlH7BXE576i2IQ1Nu7DL</a></td><td><a href="/files/cXD2JQU55YkOTaKw6Vpj">/files/cXD2JQU55YkOTaKw6Vpj</a></td></tr></tbody></table>


# What is FlyCode

Get to know FlyCode - what it solves, how it’s built, and why it delivers better recovery.

{% content-ref url="/pages/EjoC3U9wUqSxh9PHU2s5" %}
[What Makes FlyCode Different](/what-is-flycode/what-makes-flycode-different)
{% endcontent-ref %}

{% content-ref url="/pages/5kf9WSCAt7FlwKHDLom6" %}
[Results & ROI](/what-is-flycode/results-and-roi)
{% endcontent-ref %}

{% content-ref url="/pages/gd1k8XslkSgobfy4OFJj" %}
[Getting Started](/what-is-flycode/getting-started)
{% endcontent-ref %}


# What Makes FlyCode Different

{% content-ref url="/pages/LIUxwLJffNpdaA8eq6bh" %}
[How is FlyCode different from traditional payment-recovery tools?](/what-is-flycode/what-makes-flycode-different/how-is-flycode-different-from-traditional-payment-recovery-tools)
{% endcontent-ref %}

{% content-ref url="/pages/7g0SsnS6aZwzvjJ0SvRt" %}
[What makes FlyCode different from standard retry logic?](/what-is-flycode/what-makes-flycode-different/what-makes-flycode-different-from-standard-retry-logic)
{% endcontent-ref %}

{% content-ref url="/pages/EY7ZpK7tJy7oArDY6Hnq" %}
[Why do Visa & Stripe partnerships matter?](/what-is-flycode/what-makes-flycode-different/why-do-visa-and-stripe-partnerships-matter)
{% endcontent-ref %}


# How is FlyCode different from traditional payment-recovery tools?

FlyCode is AI-native from day one. Its models learn from every transaction and issuer response, continuously refining retry timing, routing, and messaging, far beyond the static, rule-based schedules used by legacy solutions and PSP’s.


# What makes FlyCode different from standard retry logic?

Unlike fixed retry schedules, FlyCode dynamically adjusts retry timing, routing, and messaging based on failure reasons, payment metadata and customer behavior. We partnered with Visa to hence our payment recovery. Our product also separates retries from emails to reduce churn and improve the user experience.


# Why do Visa & Stripe partnerships matter?

Direct partnership with Visa and Stripe gives FlyCode network insights and payment meta data, boosting recovery rates while preserving compliance-grade safeguards.


# Getting Started

{% content-ref url="/pages/18U0ys2R1iAvTlguv86a" %}
[What pricing model does FlyCode use?](/what-is-flycode/getting-started/what-pricing-model-does-flycode-use)
{% endcontent-ref %}

{% content-ref url="/pages/7xrXJKpNmt9vKHZkUIhc" %}
[How fast can we launch FlyCode?](/what-is-flycode/getting-started/how-fast-can-we-launch-flycode)
{% endcontent-ref %}

{% content-ref url="/pages/oKprR9dGi5yszF0CKdEe" %}
[Is this going to break my current billing workflows?](/what-is-flycode/getting-started/is-this-going-to-break-my-current-billing-workflows)
{% endcontent-ref %}


# What pricing model does FlyCode use?

FlyCode charges only on dollars it actually recovers. There are no seats or minimums, our incentives are perfectly aligned with yours.


# How fast can we launch FlyCode?

Most customers go live in hours with a Stripe or Shopify apps or API keys.


# Is this going to break my current billing workflows?

No. FlyCode runs in parallel, syncing status updates back to your subscription platform without overwriting rules or duplicating events. It’s designed to enhance, not disrupt.


# Results & ROI

{% content-ref url="/pages/vzh19J7vvJdSSNieT0d7" %}
[What ROI should we expect?](/what-is-flycode/results-and-roi/what-roi-should-we-expect)
{% endcontent-ref %}


# What ROI should we expect?

Live case studies with leading SaaS and eCom brands show a 16-25 % lift in recovery rate with ARR boost of 5% - 9%.


# Understanding Involuntary Churn

Learn how involuntary churn affects your business and what you can do to stop it.

{% content-ref url="/pages/lJO7AsqEzpTiRQDPO1Rn" %}
[What Is Involuntary Churn?](/understanding-involuntary-churn/what-is-involuntary-churn)
{% endcontent-ref %}

{% content-ref url="/pages/085KAMYNsD8yZXvTDhwL" %}
[Causes & Risks](/understanding-involuntary-churn/causes-and-risks)
{% endcontent-ref %}

{% content-ref url="/pages/FLWVMqZ5ly4chQvCYWpV" %}
[FlyCode’s Approach to Churn](/understanding-involuntary-churn/flycodes-approach-to-churn)
{% endcontent-ref %}

{% content-ref url="/pages/08LccD9qFTgj7VOpootE" %}
[Integration Considerations](/understanding-involuntary-churn/integration-considerations)
{% endcontent-ref %}


# What Is Involuntary Churn?

{% content-ref url="/pages/rrMJe1VSS9O6sIcvzD4G" %}
[What exactly is involuntary churn?](/understanding-involuntary-churn/what-is-involuntary-churn/what-exactly-is-involuntary-churn)
{% endcontent-ref %}

{% content-ref url="/pages/AnNcr70WWjMKoeSxCO58" %}
[How is involuntary churn different from passive or “voluntary” churn?](/understanding-involuntary-churn/what-is-involuntary-churn/how-is-involuntary-churn-different-from-passive-or-voluntary-churn)
{% endcontent-ref %}

{% content-ref url="/pages/eL7Gg9f9lqkB7AWFS4Vv" %}
[Why should subscription businesses care?](/understanding-involuntary-churn/what-is-involuntary-churn/why-should-subscription-businesses-care)
{% endcontent-ref %}


# What exactly is involuntary churn?

Involuntary churn is when active customers lose access to your service because a payment fails (expired card, insufficient funds, etc.), they never meant to cancel, but the transaction couldn’t pass.


# How is involuntary churn different from passive or “voluntary” churn?

Involuntary churn is triggered by external payment issues outside the customer’s control; passive or voluntary churn happens when customers stop engaging or intentionally cancel. Each requires a different retention playbook.


# Why should subscription businesses care?

Studies show 20-40 % of total churn in SaaS and other subscription models is involuntary. For a company with millions in ARR, even a one-point swing can equal hundreds of thousands in lost revenue.


# Causes & Risks

{% content-ref url="/pages/yBovirAX9tZVj6nWZsmW" %}
[What are the main reasons a payment fails?](/understanding-involuntary-churn/causes-and-risks/what-are-the-main-reasons-a-payment-fails)
{% endcontent-ref %}

{% content-ref url="/pages/NN5cU9OYzcsydI3m0AnW" %}
[What are Hard decline codes in failed payments?](/understanding-involuntary-churn/causes-and-risks/what-are-hard-decline-codes-in-failed-payments)
{% endcontent-ref %}

{% content-ref url="/pages/GbXqu2b7sYQCInLX4Ewx" %}
[Beyond revenue, what else is at risk?](/understanding-involuntary-churn/causes-and-risks/beyond-revenue-what-else-is-at-risk)
{% endcontent-ref %}


# What are the main reasons a payment fails?

Common causes include insufficient funds, bank or card declines, incorrect billing details, and gateway technical errors.


# What are Hard decline codes in failed payments?

If the card issuer returns the payment with a hard decline code, then FlyCode can’t automatically retry the payment.


# Beyond revenue, what else is at risk?

Failed-payment churn frustrates otherwise happy customers, harms brand perception, and raises acquisition costs because you must replace lost subscribers.


# FlyCode’s Approach to Churn

{% content-ref url="/pages/YLg9vYe6t5xBhZdoF3Vp" %}
[How does FlyCode attack involuntary churn?](/understanding-involuntary-churn/flycodes-approach-to-churn/how-does-flycode-attack-involuntary-churn)
{% endcontent-ref %}

{% content-ref url="/pages/KFyOYQjN8x7S4FgfGOOH" %}
[Can automation really stop failed-payment churn before it happens?](/understanding-involuntary-churn/flycodes-approach-to-churn/can-automation-really-stop-failed-payment-churn-before-it-happens)
{% endcontent-ref %}

{% content-ref url="/pages/B01qlyEwcIQ2t6bynLEQ" %}
[What best practices should I follow alongside FlyCode?](/understanding-involuntary-churn/flycodes-approach-to-churn/what-best-practices-should-i-follow-alongside-flycode)
{% endcontent-ref %}


# How does FlyCode attack involuntary churn?

FlyCode uses AI-optimized retry timing, charges backup cards automatically, sends personalized reminders (email/SMS), surfaces root-cause analytics, and plugs directly into processors like Stripe and Shopify, recovering more payments with no integration.


# Can automation really stop failed-payment churn before it happens?

Yes, features like automatic card updater, real-time decline retires, ML-based risk prediction, and flexible billing dramatically reduce failure rates before they lead to churn.


# What best practices should I follow alongside FlyCode?

Keep cards up to date, offer multiple payment options, let customers adjust billing timing and use predictive analytics to flag high-risk accounts.


# Integration Considerations

{% content-ref url="/pages/wM8JWcgsxwl3a4jU20hE" %}
[Do I need to rebuild my billing stack to use FlyCode?](/understanding-involuntary-churn/integration-considerations/do-i-need-to-rebuild-my-billing-stack-to-use-flycode)
{% endcontent-ref %}


# Do I need to rebuild my billing stack to use FlyCode?

No. FlyCode integrates natively with Stripe (and other processors), so you keep your existing workflows.


# Handling Failed Payments

Explore how FlyCode handles failed transactions and helps reduce revenue loss with minimal friction.

{% content-ref url="/pages/pYUubFHpfVHIe5n1Hnqd" %}
[When and How Payments Are Retried](/handling-failed-payments/when-and-how-payments-are-retried)
{% endcontent-ref %}

{% content-ref url="/pages/AkWcc1Fu6YWE9nPRDtOc" %}
[Reducing Churn from Failed Payments](/handling-failed-payments/reducing-churn-from-failed-payments)
{% endcontent-ref %}

{% content-ref url="/pages/y9QnprERMEg14BVQhjPW" %}
[Coordinating Messaging with Recovery](/handling-failed-payments/coordinating-messaging-with-recovery)
{% endcontent-ref %}


# When and How Payments Are Retried

{% content-ref url="/pages/MQZmuIe6eNzPNDholEXU" %}
[How does FlyCode decide when to retry a payment?](/handling-failed-payments/when-and-how-payments-are-retried/how-does-flycode-decide-when-to-retry-a-payment)
{% endcontent-ref %}

{% content-ref url="/pages/pHThDQICIr8ZNXU2BEl4" %}
[Does FlyCode do more than simple retries?](/handling-failed-payments/when-and-how-payments-are-retried/does-flycode-do-more-than-simple-retries)
{% endcontent-ref %}

{% content-ref url="/pages/OmDNJYm2rKDn3KeYhD80" %}
[How does FlyCode optimize billing workflows?](/handling-failed-payments/when-and-how-payments-are-retried/how-does-flycode-optimize-billing-workflows)
{% endcontent-ref %}


# How does FlyCode decide when to retry a payment?

FlyCode uses machine learning to find the best moment to retry a failed payment.


# Does FlyCode do more than simple retries?

Yes. FlyCode prevents churn by automatically charging alternate cards on file, sending communication, finding revenue anomalies, orchestrating smart dunning flows, and surfacing granular analytics your team can act on.


# How does FlyCode optimize billing workflows?

FlyCode tracks failures in real time, detects anomalies, adapts retries based on the issue, and routes payments through the most effective providers. It offers instant visibility into what's working and what’s not.


# Reducing Churn from Failed Payments

{% content-ref url="/pages/oTOBAJ5VjqjYeeTEt7Tm" %}
[How can I solve involuntary churn?](/handling-failed-payments/reducing-churn-from-failed-payments/how-can-i-solve-involuntary-churn)
{% endcontent-ref %}


# How can I solve involuntary churn?

Involuntary churn is mostly payment-related. FlyCode attacks it on three fronts: (1) AI-optimized retries, (2) alternate-card-on-file routing, and (3) predictive dunning that reaches customers before the subscription lapses. The result is fewer cancellations and higher lifetime value.


# Coordinating Messaging with Recovery

{% content-ref url="/pages/TGoAEMIMTwIi8p1ZLMfj" %}
[Do you provide email templates for failed-payment outreach?](/handling-failed-payments/coordinating-messaging-with-recovery/do-you-provide-email-templates-for-failed-payment-outreach)
{% endcontent-ref %}

{% content-ref url="/pages/S9IioBf7RUjH15KVbbMA" %}
[How does FlyCode handle customer emails compared with Stripe’s defaults?](/handling-failed-payments/coordinating-messaging-with-recovery/how-does-flycode-handle-customer-emails-compared-with-stripes-defaults)
{% endcontent-ref %}

{% content-ref url="/pages/LMGEcmb5scEJRsSSAvvg" %}
[Should I expose the raw decline code to customers?](/handling-failed-payments/coordinating-messaging-with-recovery/should-i-expose-the-raw-decline-code-to-customers)
{% endcontent-ref %}


# Do you provide email templates for failed-payment outreach?

Yes. At FlyCode, payment recovery doesn't stop with retries. Our advanced email communication models coordinate perfectly with payment retries to recover revenue and reduce involuntary churn.


# How does FlyCode handle customer emails compared with Stripe’s defaults?

FlyCode coordinates emails (from your own domain) with its AI retries; Stripe’s default can send up to eight emails for every retry, which risks churn.


# Should I expose the raw decline code to customers?

Up to you. You can also show a friendly message using FlyCode email product and log the exact code internally for support or automated retries.


# Decline Codes Explained

Explore how FlyCode interprets and acts on decline codes to recover more failed payments.

{% content-ref url="/pages/fxp92gJzyMDQXrPosjgi" %}
[What Decline Codes Tell You](/decline-codes-explained/what-decline-codes-tell-you)
{% endcontent-ref %}

{% content-ref url="/pages/sAzGs89oS1YZa6E5EYg1" %}
[Where to Find Decline Codes (and How to Use Them)](/decline-codes-explained/where-to-find-decline-codes-and-how-to-use-them)
{% endcontent-ref %}

{% content-ref url="/pages/MeIbhoYoQFskNVpiC5Yx" %}
[How to Handle the Most Common Declines](/decline-codes-explained/how-to-handle-the-most-common-declines)
{% endcontent-ref %}

{% content-ref url="/pages/ixyb41j3HyxQgv2cKAZy" %}
[What to Do When You See These Other Codes](/decline-codes-explained/what-to-do-when-you-see-these-other-codes)
{% endcontent-ref %}

{% content-ref url="/pages/MqhINju1h40kiYq0HEka" %}
[How FlyCode Makes Decline Codes Work for You](/decline-codes-explained/how-flycode-makes-decline-codes-work-for-you)
{% endcontent-ref %}


# What Decline Codes Tell You

{% content-ref url="/pages/KWI3kiGNdlK3qmX83Ib9" %}
[What are decline codes in the context of failed payments?](/decline-codes-explained/what-decline-codes-tell-you/what-are-decline-codes-in-the-context-of-failed-payments)
{% endcontent-ref %}

{% content-ref url="/pages/iXzweT44Dj61DFNZJtFx" %}
[Why do decline codes matter for my subscription business?](/decline-codes-explained/what-decline-codes-tell-you/why-do-decline-codes-matter-for-my-subscription-business)
{% endcontent-ref %}

{% content-ref url="/pages/4bsLu2iM1pSGvv0Qt6Om" %}
[What’s the difference between a soft and a hard decline?](/decline-codes-explained/what-decline-codes-tell-you/whats-the-difference-between-a-soft-and-a-hard-decline)
{% endcontent-ref %}

{% content-ref url="/pages/8gg067ApB0JkDLTs3Hv1" %}
[Are decline-code patterns useful for fraud detection?](/decline-codes-explained/what-decline-codes-tell-you/are-decline-code-patterns-useful-for-fraud-detection)
{% endcontent-ref %}


# What are decline codes in the context of failed payments?

Decline codes are short strings returned by the card-issuing bank (and surfaced by Stripe and other payment processors) that explain why a transaction was refused—for example insufficient\_funds or do\_not\_honor. They guide merchants on whether to retry, request a new card, or tell the customer to contact their bank.


# Why do decline codes matter for my subscription business?

Knowing whether a decline is soft or hard lets you automate the right next step—smart retries for soft declines or prompting for new details for hard declines—so you save revenue and reduce involuntary churn.


# What’s the difference between a soft and a hard decline?

Soft declines (e.g., insufficient\_funds, generic\_decline) can succeed on a later retry; hard declines (e.g., lost\_card, invalid\_cvc) require new card details.


# Are decline-code patterns useful for fraud detection?

Yes—clusters of hard declines like stolen\_card or pickup\_card can trigger extra verification, while rapid repeats of soft declines can indicate card-testing bots. FlyCode surfaces these anomalies in its dashboard.


# Where to Find Decline Codes (and How to Use Them)

{% content-ref url="/pages/3hy8F1CLow8qhn40TQGv" %}
[Where can I see decline codes in Stripe and FlyCode?](/decline-codes-explained/where-to-find-decline-codes-and-how-to-use-them/where-can-i-see-decline-codes-in-stripe-and-flycode)
{% endcontent-ref %}

{% content-ref url="/pages/8gg067ApB0JkDLTs3Hv1" %}
[Are decline-code patterns useful for fraud detection?](/decline-codes-explained/what-decline-codes-tell-you/are-decline-code-patterns-useful-for-fraud-detection)
{% endcontent-ref %}

{% content-ref url="/pages/FIWB51W5ixFyKzsWSuDY" %}
[Can I simulate decline codes in Stripe Test Mode?](/decline-codes-explained/where-to-find-decline-codes-and-how-to-use-them/can-i-simulate-decline-codes-in-stripe-test-mode)
{% endcontent-ref %}


# Where can I see decline codes in Stripe and FlyCode?

Every failed PaymentIntent and Invoice shows a decline\_code inside the last payment error. The same code comes through webhooks, so tools like FlyCode can act on it in real time.


# Are decline codes the same across all payment processors?

No. Some processors pass through the same issuer responses, but each may add gateway-specific aliases. Stripe maps any aliases back to a canonical list, which FlyCode also uses.


# Can I simulate decline codes in Stripe Test Mode?

Yes. Stripe provides test card numbers that trigger specific codes (e.g., 4000 0000 0000 9995 for insufficient\_funds, 4000 0000 0000 0002 for generic\_decline).


# How to Handle the Most Common Declines

{% content-ref url="/pages/ccdTrAGv9AhBzW5QSxg9" %}
[What does the insufficient\_funds decline code mean?](/decline-codes-explained/how-to-handle-the-most-common-declines/what-does-the-insufficient_funds-decline-code-mean)
{% endcontent-ref %}

{% content-ref url="/pages/cDw8KGsb4xqtCu7ib1Gn" %}
[Why is insufficient\_funds the most common decline code?](/decline-codes-explained/how-to-handle-the-most-common-declines/why-is-insufficient_funds-the-most-common-decline-code)
{% endcontent-ref %}

{% content-ref url="/pages/ZMY1sqmraRoijW1GPBT7" %}
[How much better does FlyCode recover insufficient\_funds declines?](/decline-codes-explained/how-to-handle-the-most-common-declines/how-much-better-does-flycode-recover-insufficient_funds-declines)
{% endcontent-ref %}

{% content-ref url="/pages/RsKH5mcFMtSlpBPGOo0X" %}
[What dataset backs those recovery numbers?](/decline-codes-explained/how-to-handle-the-most-common-declines/what-dataset-backs-those-recovery-numbers)
{% endcontent-ref %}


# What does the insufficient\_funds decline code mean?

The cardholder didn’t have enough balance at the moment of the charge; Stripe classes it as a soft decline.


# Why is insufficient\_funds the most common decline code?

FlyCode’s study of 500+ merchants shows it accounts for 40 %–65 % of all declines, largely because customer cash-flow gaps recur every billing cycle.


# How much better does FlyCode recover insufficient\_funds declines?

Across USD 1 billion in volume (March 2024 – June 2025), FlyCode lifted recovery on these declines by 17.6 %–26.2 % over Stripe and Profitwell baselines.


# What dataset backs those recovery numbers?

The figures come from a June 2025 banking and issuers data cohort study covering 14 months of live data from more than 500 SaaS and eCommerce merchants.


# What to Do When You See These Other Codes

{% content-ref url="/pages/7rkl4hGlcixVhM5Y4EJZ" %}
[What is a generic\_decline?](/decline-codes-explained/what-to-do-when-you-see-these-other-codes/what-is-a-generic_decline)
{% endcontent-ref %}

{% content-ref url="/pages/JFR2yVIhzanhTSRP5qVp" %}
[What does the transaction\_not\_allowed code indicate?](/decline-codes-explained/what-to-do-when-you-see-these-other-codes/what-does-the-transaction_not_allowed-code-indicate)
{% endcontent-ref %}

{% content-ref url="/pages/kqqns2zEH4hBHDAcXoMs" %}
[Why would Stripe return invalid\_account?](/decline-codes-explained/what-to-do-when-you-see-these-other-codes/why-would-stripe-return-invalid_account)
{% endcontent-ref %}

{% content-ref url="/pages/j62UdDSjKbnGauyP54b9" %}
[What does do\_not\_honor mean and should I retry?](/decline-codes-explained/what-to-do-when-you-see-these-other-codes/what-does-do_not_honor-mean-and-should-i-retry)
{% endcontent-ref %}


# What is a generic\_decline?

It’s a catch-all when the issuer gives no detail or Stripe Radar blocks the payment. Treat it as a soft decline: retry once, then suggest the customer contact their bank.


# What does the transaction\_not\_allowed code indicate?

The issuer blocked the charge for policy reasons—often a restricted merchant category or cross-border rule. Ask the customer to request approval from their bank, then retry.


# Why would Stripe return invalid\_account?

The card or linked bank account has been closed or entered incorrectly. Stop automatic retries and collect a new payment method or use FlyCode recovery.


# What does do\_not\_honor mean and should I retry?

It’s a blanket refusal, sometimes fraud-related. Use AI recovery to find the best time to retry; if it fails again, request a different card.


# How FlyCode Makes Decline Codes Work for You

{% content-ref url="/pages/J8dAH5boXmVocbeqR8vo" %}
[How does FlyCode use decline codes to improve recovery?](/decline-codes-explained/how-flycode-makes-decline-codes-work-for-you/how-does-flycode-use-decline-codes-to-improve-recovery)
{% endcontent-ref %}

{% content-ref url="/pages/56Lz4lBhsZgQqghuVZSv" %}
[Does FlyCode interfere with my existing Stripe webhooks or apps?](/decline-codes-explained/how-flycode-makes-decline-codes-work-for-you/does-flycode-interfere-with-my-existing-stripe-webhooks-or-apps)
{% endcontent-ref %}


# How does FlyCode use decline codes to improve recovery?

FlyCode ingests each decline via banks, Visa and Stripe webhooks, auto-classifies soft vs. hard, applies issuer-specific retry cadences, and coordinates emails—raising revenue without extra engineering.


# Does FlyCode interfere with my existing Stripe webhooks or apps?

No. It listens passively, then calls Stripe APIs for retries or invoice updates; it never overwrites other webhook endpoints.


# FlyCode & Stripe

See how FlyCode works alongside Stripe to boost failed payment recovery and surface better insights.

{% content-ref url="/pages/wkIG1GFlTrMtkv9weay0" %}
[Connecting FlyCode to Stripe](/flycode-and-stripe/connecting-flycode-to-stripe)
{% endcontent-ref %}

{% content-ref url="/pages/uQ0Obj62r3Wji3plpBvo" %}
[What FlyCode Adds to Stripe](/flycode-and-stripe/what-flycode-adds-to-stripe)
{% endcontent-ref %}

{% content-ref url="/pages/VlfXVnIuJ2aQ9T2B0B2Y" %}
[Going Further with FlyCode](/flycode-and-stripe/going-further-with-flycode)
{% endcontent-ref %}


# Connecting FlyCode to Stripe

{% content-ref url="/pages/s1eWgpl8RQmwfO6ROJzi" %}
[How does FlyCode connect to my Stripe account?](/flycode-and-stripe/connecting-flycode-to-stripe/how-does-flycode-connect-to-my-stripe-account)
{% endcontent-ref %}

{% content-ref url="/pages/zoJ7siNMoOgQxpCCUgwg" %}
[Do I need engineering time to set FlyCode with Stripe?](/flycode-and-stripe/connecting-flycode-to-stripe/do-i-need-engineering-time-to-set-flycode-with-stripe)
{% endcontent-ref %}

{% content-ref url="/pages/F1uK8KlMBDlzZOEAtCM6" %}
[Will FlyCode interfere with my existing Stripe webhooks or apps?](/flycode-and-stripe/connecting-flycode-to-stripe/will-flycode-interfere-with-my-existing-stripe-webhooks-or-apps)
{% endcontent-ref %}


# How does FlyCode connect to my Stripe account?

The verified FlyCode App installs from the Stripe Marketplace and hooks into Stripe Billing; it passes events to FlyCode’s AI engine and triggers retries directly in Stripe, so everything stays visible in your dashboard.


# Do I need engineering time to set FlyCode with Stripe?

No just install the app, set your recovery preferences, and you’re live.


# Will FlyCode interfere with my existing Stripe webhooks or apps?

No. The app is designed to coexist, before each action it checks current object status to avoid duplicates and never overwrites other webhook configurations.


# What FlyCode Adds to Stripe

{% content-ref url="/pages/jhvuXkH72psNLLT7hDvK" %}
[I already use Stripe Smart Retries—why add FlyCode?](/flycode-and-stripe/what-flycode-adds-to-stripe/i-already-use-stripe-smart-retries-why-add-flycode)
{% endcontent-ref %}

{% content-ref url="/pages/vl3l2v7hlLmLUrGjufDb" %}
[How much extra revenue can FlyCode unlock?](/flycode-and-stripe/what-flycode-adds-to-stripe/how-much-extra-revenue-can-flycode-unlock)
{% endcontent-ref %}

{% content-ref url="/pages/5wrvHw4P8sIRjqssE07C" %}
[Can FlyCode fix subscription-status anomalies Stripe sometimes misses?](/flycode-and-stripe/what-flycode-adds-to-stripe/can-flycode-fix-subscription-status-anomalies-stripe-sometimes-misses)
{% endcontent-ref %}

{% content-ref url="/pages/xaBFhJSc9I08Z12NWYvi" %}
[How does FlyCode cut involuntary churn for Stripe businesses?](/flycode-and-stripe/what-flycode-adds-to-stripe/how-does-flycode-cut-involuntary-churn-for-stripe-businesses)
{% endcontent-ref %}


# I already use Stripe Smart Retries—why add FlyCode?

\- Higher recovery rate: FlyCode recovers, on average, 20 % more failed payments than Stripe.

\- Smarter, adaptive retry engine: Our models go further than Stripe—analyzing failure reasons, adapting retry strategies dynamically (vs. fixed), expanded retry capabilities (Stripe limits to 8) and leveraging alternative payment methods to recover revenue. This adds \~8 % to ARR on average.

\- Data-driven customer communications: FlyCode coordinate emails with the retries. No immediate emails after soft declines (reduces voluntary churn), customized cadences for hard declines (Stripe sends only 1–2), delivery in the customer’s local time, and simple transactional templates sent from high-sender-score domains for maximum deliverability.

\- ROI-linked pricing: Our pricing is tied to the extra revenue we recover, typically delivering a 20× positive ROI.


# How much extra revenue can FlyCode unlock?

Stripe merchants typically see 5% - 9 % boost in ARR


# Can FlyCode fix subscription-status anomalies Stripe sometimes misses?

Yes. FlyCode’s Subscription Anomaly Agent monitors invoices, proration events, refunds and “uncollectible” states to stop revenue leakage that occurs when Stripe still shows a subscription as active. [Read more here](https://www.flycode.com/blog/stripe-guide-manage-stripe-billing-lifecycle-and-reporting)&#x20;


# How does FlyCode cut involuntary churn for Stripe businesses?

FlyCode AI platform tackling the top causes of involuntary churn and retaining customers who would otherwise churn


# Going Further with FlyCode

{% content-ref url="/pages/RtHJsLSh6D10TdNeUrxp" %}
[What extra analytics do I get?](/flycode-and-stripe/going-further-with-flycode/what-extra-analytics-do-i-get)
{% endcontent-ref %}

{% content-ref url="/pages/Zb7Eg7DeRYj4gMqK9wss" %}
[What if we add other payment processors later?](/flycode-and-stripe/going-further-with-flycode/what-if-we-add-other-payment-processors-later)
{% endcontent-ref %}

{% content-ref url="/pages/Q3PQxy03647D7KnNkTnG" %}
[How is FlyCode priced for Stripe users?](/flycode-and-stripe/going-further-with-flycode/how-is-flycode-priced-for-stripe-users)
{% endcontent-ref %}


# What extra analytics do I get?

FlyCode surfaces root-cause insights, recovery KPIs and anomaly alerts


# What if we add other payment processors later?

FlyCode can act as a no-code payment-orchestration layer inside Stripe, routing failed invoices across multiple PSPs while still syncing everything back to Stripe.


# How is FlyCode priced for Stripe users?

Pricing is outcome-based: you pay only on revenue recovered above your current baseline, ensuring clear, positive ROI of 15-20X.


# FlyCode vs. ProfitWell (Paddle Retain)

Compare how FlyCode stacks up against ProfitWell, and what changes when you make the switch.

{% content-ref url="/pages/EetCuA2FrKy7jDX5xZWx" %}
[Recovery Performance](/flycode-vs.-profitwell-paddle-retain/recovery-performance)
{% endcontent-ref %}

{% content-ref url="/pages/2vm74I7arG2giiQrzzGx" %}
[What’s Different Behind the Scenes](/flycode-vs.-profitwell-paddle-retain/whats-different-behind-the-scenes)
{% endcontent-ref %}

{% content-ref url="/pages/MEGFjYxE5BaTG7za69B2" %}
[Platform Fit & Compatibility](/flycode-vs.-profitwell-paddle-retain/platform-fit-and-compatibility)
{% endcontent-ref %}

{% content-ref url="/pages/enJC2tJGZQp54sLZueFt" %}
[What You Keep (and Gain) If You Switch](/flycode-vs.-profitwell-paddle-retain/what-you-keep-and-gain-if-you-switch)
{% endcontent-ref %}


# Recovery Performance

{% content-ref url="/pages/jkndqarSt5dZt1PvQvlT" %}
[How much better is FlyCode at recovering failed payments than ProfitWell?](/flycode-vs.-profitwell-paddle-retain/recovery-performance/how-much-better-is-flycode-at-recovering-failed-payments-than-profitwell)
{% endcontent-ref %}

{% content-ref url="/pages/c8pdeAkzQl3wu9NRHLVd" %}
[What extra revenue lift can I expect with FlyCode beyond the baseline?](/flycode-vs.-profitwell-paddle-retain/recovery-performance/what-extra-revenue-lift-can-i-expect-with-flycode-beyond-the-baseline)
{% endcontent-ref %}


# How much better is FlyCode at recovering failed payments than ProfitWell?

FlyCode outperforms ProfitWell by Paddle Retain in recovering failed payments by 25 %–40 % on average.


# What extra revenue lift can I expect with FlyCode beyond the baseline?

By analyzing failure reasons, adapting retries dynamically, expanding retry windows and leveraging alternate payment methods, FlyCode boosts ARR by an average of 8%.


# What’s Different Behind the Scenes

{% content-ref url="/pages/5Q6BHlRJ5Knqj8oXlsIW" %}
[Why does FlyCode’s AI-driven retry engine matter?](/flycode-vs.-profitwell-paddle-retain/whats-different-behind-the-scenes/why-does-flycodes-ai-driven-retry-engine-matter)
{% endcontent-ref %}

{% content-ref url="/pages/wMnxWUKoRYuag62Kt5vo" %}
[How does FlyCode handle customer emails during the retry cycle?](/flycode-vs.-profitwell-paddle-retain/whats-different-behind-the-scenes/how-does-flycode-handle-customer-emails-during-the-retry-cycle)
{% endcontent-ref %}


# Why does FlyCode’s AI-driven retry engine matter?

FlyCode uses custom machine-learning models for each merchant, continually learning from your data, while ProfitWell relies on a brute-force fixed-interval retry schedule.


# How does FlyCode handle customer emails during the retry cycle?

FlyCode coordinates emails with its retry plan: no immediate emails after soft declines (reducing voluntary churn), distinct schedules for hard declines, sends at each customer’s local time and uses high-deliverability transactional templates—far beyond Stripe’s one-or-two default messages.


# Platform Fit & Compatibility

{% content-ref url="/pages/cKZm3ZRdFVHUSUM9uqp9" %}
[How is FlyCode working with Stripe vs. ProfitWell?](/flycode-vs.-profitwell-paddle-retain/platform-fit-and-compatibility/how-is-flycode-working-with-stripe-vs.-profitwell)
{% endcontent-ref %}

{% content-ref url="/pages/BjZbWqRHxEJdcaF6qxU4" %}
[Who’s using better technology, ProfitWell or FlyCode?](/flycode-vs.-profitwell-paddle-retain/platform-fit-and-compatibility/whos-using-better-technology-profitwell-or-flycode)
{% endcontent-ref %}


# How is FlyCode working with Stripe vs. ProfitWell?

FlyCode fully replaces Stripe’s native retry model with models. ProfitWell simply stacks extra retries on top of Stripe, which can degrade auth rates.


# Who’s using better technology, ProfitWell or FlyCode?

ProfitWell was founded in 2012 and still runs on dated technology. FlyCode is purpose-built for the AI era, with an AI-native payment-recovery platform and per-merchant ML models.


# What You Keep (and Gain) If You Switch

{% content-ref url="/pages/JJZ8Af4jLEvBmC2CtesB" %}
[Do I lose ProfitWell’s cancellation flows if I move to FlyCode?](/flycode-vs.-profitwell-paddle-retain/what-you-keep-and-gain-if-you-switch/do-i-lose-profitwells-cancellation-flows-if-i-move-to-flycode)
{% endcontent-ref %}


# Do I lose ProfitWell’s cancellation flows if I move to FlyCode?

Not at all. Keep Paddle Retain for your cancel-flows and plug in FlyCode for payment recovery with a click of a button.


# FlyCode & Shopify

Everything you need to know about using FlyCode with Shopify, including app compatibility, setup, and support.

{% content-ref url="/pages/pRCpt9041wQcYpIFwNkk" %}
[Compatibility & App Support](/flycode-and-shopify/compatibility-and-app-support)
{% endcontent-ref %}

{% content-ref url="/pages/1kEttlddb95Qh1pRo3PS" %}
[Setup & Requirements](/flycode-and-shopify/setup-and-requirements)
{% endcontent-ref %}


# Compatibility & App Support

See which Shopify apps FlyCode supports and how it fits into your current subscription management setup.

{% content-ref url="/pages/PNYPhYZoV9QolYSdjJxx" %}
[How does FlyCode work with Shopify subscriptions?](/flycode-and-shopify/compatibility-and-app-support/how-does-flycode-work-with-shopify-subscriptions)
{% endcontent-ref %}

{% content-ref url="/pages/c95NQsyWetAFNh5vnoS5" %}
[Which Shopify subscription apps does FlyCode support?](/flycode-and-shopify/compatibility-and-app-support/which-shopify-subscription-apps-does-flycode-support)
{% endcontent-ref %}

{% content-ref url="/pages/BMTcq26L72Lab0nZYA2i" %}
[Can I use FlyCode if I already have dunning flows set up in Recharge or Skio?](/flycode-and-shopify/compatibility-and-app-support/can-i-use-flycode-if-i-already-have-dunning-flows-set-up-in-recharge-or-skio)
{% endcontent-ref %}

{% content-ref url="/pages/PWN9HdVO2P8j26eghrBW" %}
[What kind of support do I get as a Shopify merchant?](/flycode-and-shopify/compatibility-and-app-support/what-kind-of-support-do-i-get-as-a-shopify-merchant)
{% endcontent-ref %}


# How does FlyCode work with Shopify subscriptions?

FlyCode connects directly to your Shopify store and works alongside your subscription management app (like Recharge or Skio). It automatically detects failed payments, retries them using AI models, and coordinates the emails — all without disrupting your existing stack.


# Which Shopify subscription apps does FlyCode support?

FlyCode is compatible with all the subscription apps in Shopify


# Can I use FlyCode if I already have dunning flows set up in Recharge or Skio?

Yes. FlyCode can enhance or replace your existing dunning flows. Its coordination engine avoids overlap, ensuring emails aren’t sent after a soft decline or when a retry is already in progress.


# What kind of support do I get as a Shopify merchant?

FlyCode customers have access to expert support via email, Slack, and phone. Our team brings over 15 years of experience in payments and eCommerce.


# Setup & Requirements

Learn how to connect FlyCode to your Shopify store and start recovering failed payments automatically.

{% content-ref url="/pages/O0Qsn0W2rod5rG7Ix47V" %}
[Do I need to change anything in Shopify to use FlyCode?](/flycode-and-shopify/setup-and-requirements/do-i-need-to-change-anything-in-shopify-to-use-flycode)
{% endcontent-ref %}

{% content-ref url="/pages/PjFEAONq5tt9pTv47JGw" %}
[How do I connect FlyCode to my Shopify store?](/flycode-and-shopify/setup-and-requirements/how-do-i-connect-flycode-to-my-shopify-store)
{% endcontent-ref %}

{% content-ref url="/pages/BNl0JEQlBWQsV59LvdvY" %}
[Do I need a developer to integrate FlyCode with Shopify?](/flycode-and-shopify/setup-and-requirements/do-i-need-a-developer-to-integrate-flycode-with-shopify)
{% endcontent-ref %}


# Do I need to change anything in Shopify to use FlyCode?

No. FlyCode works on top of your existing setup. You don’t need to replace your subscription app or rebuild your billing flows — just connect and go.


# How do I connect FlyCode to my Shopify store?

You’ll log in with your Shopify account and approve the connection. The setup takes a few minutes and doesn’t require changes to your existing store or subscription app.

<br>


# Do I need a developer to integrate FlyCode with Shopify?

No. FlyCode doesn’t require any custom code or developer work. Most merchants complete the setup on their own. If you need help, support is available.


# AI Payment Recovery

See how FlyCode uses AI to optimize payment retries, improve recovery rates, and reduce churn — all without changing your billing stack.

{% content-ref url="/pages/1tHUQKay1dHsseUtta1G" %}
[Hard Declines & Backup Logic](/ai-payment-recovery/hard-declines-and-backup-logic)
{% endcontent-ref %}

{% content-ref url="/pages/oxghVcO4EjAanJbSrazm" %}
[Email Behavior & Deliverability](/ai-payment-recovery/email-behavior-and-deliverability)
{% endcontent-ref %}


# Hard Declines & Backup Logic

Not all failed payments are the same. FlyCode applies different logic for hard declines, card errors, and retry sequencing.

{% content-ref url="/pages/mYmshIzPxVMkumOystNM" %}
[What are the decline codes?](/ai-payment-recovery/hard-declines-and-backup-logic/what-are-the-decline-codes)
{% endcontent-ref %}

{% content-ref url="/pages/6bllh02YipOVTAEaZYNs" %}
[What FlyCode does with hard declines?](/ai-payment-recovery/hard-declines-and-backup-logic/what-flycode-does-with-hard-declines)
{% endcontent-ref %}

{% content-ref url="/pages/a43m8QDquXhCHd3zgs13" %}
[Can FlyCode update expired or replaced cards automatically?](/ai-payment-recovery/hard-declines-and-backup-logic/can-flycode-update-expired-or-replaced-cards-automatically)
{% endcontent-ref %}

{% content-ref url="/pages/dqd8NA6mTfrTCmniZpKB" %}
[Does FlyCode support backup payment methods?](/ai-payment-recovery/hard-declines-and-backup-logic/does-flycode-support-backup-payment-methods)
{% endcontent-ref %}


# What are the decline codes?

These codes are one of the following:

❌ incorrect\_number

❌ lost\_card

❌ pickup\_card

❌ stolen\_card

❌ revocation\_of\_authorization

❌ revocation\_of\_all\_authorizations

❌ authentication\_required

❌ highest\_risk\_level




---

[Next Page](/llms-full.txt/1)

