> 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/es/integrations/stripe-integration-guide-for-flycode.md).

# Guía de integración de Stripe: conecta FlyCode con Stripe Billing

{% hint style="info" %}
**Resumen:** Instala la aplicación verificada de FlyCode desde el Stripe App Marketplace, configura los ajustes de reintento y correos de recuperación de Stripe para que no compitan con FlyCode y activa la aplicación. Sin código, sin puntos de conexión webhook que crear. Luego FlyCode reintenta las facturas de suscripción fallidas a través de la API de Stripe con una sincronización de aprendizaje automático por comerciante, y cada acción aparece en tu panel de Stripe. La configuración tarda menos de una hora; el modelo se ajusta por sí solo durante las primeras 6 a 8 semanas.
{% endhint %}

## Para quién es esto

Empresas de suscripción que facturan a través de Stripe Billing (suscripciones y facturas) y que desean recuperar más pagos fallidos que con Stripe Smart Retries por sí solo. Si facturas a través de Shopify, Recharge, Skio, Braintree o PayPal, consulta [Plataformas de pago y suscripción compatibles](https://docs.flycode.com/docs/integrations/supported-payment-and-subscription-platforms).

## En qué se diferencia FlyCode de la recuperación integrada de Stripe

{% embed url="<https://youtu.be/Ok0Emw2Veb0?si=hbKWbaOXUBMUig3b>" %}

Stripe Smart Retries aplica una estrategia de reintento entrenada en todos los comercios de Stripe y limita los intentos a 8 por factura. FlyCode entrena un modelo con tus propias transacciones y las respuestas de los emisores, elige el momento del reintento para cada factura, coordina los correos con los reintentos en lugar de enviar un correo en cada intento y puede cobrar una tarjeta de respaldo registrada. Por lo general, los comercios recuperan alrededor de un 20 por ciento más de pagos fallidos, un aumento de entre el 5 y el 9 por ciento en ARR. Detalles: [Guía completa de Stripe Smart Retries](https://docs.flycode.com/docs/stripe-smart-retries-complete-guide).

## Requisitos previos

* Una cuenta de Stripe que usa Stripe Billing para suscripciones, con permiso para instalar aplicaciones (rol de Administrador o Desarrollador).
* Acceso a la configuración de Revenue Recovery de Stripe (Configuración, Billing, Revenue recovery).
* Una cuenta de FlyCode. Si aún no tienes una, [empieza aquí](https://www.flycode.com/get-started); la instalación desde el marketplace también inicia el flujo de registro.
* Opcional: si quieres que FlyCode envíe correos de recuperación desde tu dominio, la capacidad de añadir registros DNS SPF y DKIM para un subdominio de envío.

## Configuración

{% stepper %}
{% step %}

### Instala la aplicación FlyCode

Abre la [aplicación FlyCode en el Stripe App Marketplace](https://marketplace.stripe.com/apps/flycode-payments) y haz clic en Instalar. Revisa y confirma los permisos que muestra Stripe: FlyCode lee clientes, suscripciones, facturas, intenciones de pago y cargos, y escribe metadatos de factura, pagos de factura y estado de la suscripción. Nada más. Al instalarse, FlyCode carga todas las facturas que actualmente están en estado de error para que la recuperación empiece con tu cartera actual vencida, no solo con nuevos fallos.
{% endstep %}

{% step %}

### Configura los ajustes de reintento de Stripe

Ve a [Revenue recovery, Reintentos](https://dashboard.stripe.com/revenue-recovery/retries) y realiza estos cambios en este orden.

1. **Estado de la suscripción y de la factura después de una recuperación fallida:** configúralo en «dejar como vencida». Esto permite que FlyCode gestione los estados posteriores a la recuperación sin que Stripe cancele las suscripciones según su propio cronograma.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf8LiLHfxcXh5CWORAuRm844fCWfvod6i08jJHOvts16HP3JSLhqog6qa45jboJ_luR9995sSycnhPcwbT2YCgtKY8jwoeES9v35bn4nV_3Ff6NQi4t8q7S9tuL3v3A5zU9aDoq?key=fnT4URI1uQRIKM025_99dnW4" alt="" width="375"><figcaption><p>Pestaña Revenue recovery, Reintentos: estado después de una recuperación fallida</p></figcaption></figure>

2. **Reintentos con tarjeta:** elige «Personalizado» y configura 3 reintentos con un intervalo de 7 días, para un período máximo de recuperación de 7 días. Esto mantiene al mínimo los reintentos propios de Stripe para que el motor de FlyCode controle el momento del reintento.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfSC3ZSTInagXI5kX4mdAYhvWe0JuYkqRrya4y1sDdN-Btpd1kS7zHdGHw24NssRkC5jL24TrQC25dYYsojckDl83rVo_KXYBWIL3kQ0PsBMkuBF4T6UEWUgmXH_3DI8DOxwMsSXA?key=fnT4URI1uQRIKM025_99dnW4" alt="" width="375"><figcaption><p>Pestaña Revenue recovery, Reintentos: reintentos personalizados con tarjeta</p></figcaption></figure>

3. **Reintentos ACH:** si aceptas ACH, deja activado el interruptor de reintentos ACH. La recuperación con tarjeta de FlyCode no sustituye los reintentos de débito bancario de Stripe.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcC6Kplr231bnvbiqH21475nZbnhKxCMhhpV4AU2cn1a0-1WMjCz-D3xhroUjUS8HsyCyast7XwAHlXCwK9ac8cdIhBiFAOKCNRu5STVaoKuRsOqLd3lmTia8c1Plg9cQxr0Wr7?key=fnT4URI1uQRIKM025_99dnW4" alt="" width="375"><figcaption><p>Pestaña Revenue recovery, Reintentos: ACH</p></figcaption></figure>
{% endstep %}

{% step %}

### Configura los ajustes de correo de Stripe

Ve a [Revenue recovery, Correos](https://dashboard.stripe.com/revenue-recovery/emails).

1. **Correos por pago fallido:** si estás usando las notificaciones de recuperación de FlyCode (recomendado), desactiva los correos predeterminados de recuperación de pagos de Stripe para que los clientes no reciban dos conjuntos de mensajes.
2. **Correos por débito ACH fallido:** si aceptas ACH, déjalos activados.
3. **Correos de recordatorio de tarjeta:** mantén activados los correos de recordatorio de tarjeta de Stripe.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdfnN9iSNdpY2m2X9AJuDFoMG9cIrD0kl490zCliPm7Eeyo8BbwogjT3Qsm7gUkT6yO5BqDcbvx-BwII6xRJEu5R_ja8ObfmQGv0_6y72VKwOIeLNzaLZkukokAGfGbT5nW47pr4Q?key=fnT4URI1uQRIKM025_99dnW4" alt="" width="563"><figcaption><p>Pestaña Revenue recovery, Correos: pagos fallidos</p></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfekYhFi3VT4xem6fxom2CKN_DxzqvCLs2FKoifzGIB3KTn5U1nPeMvpwb96sQqzWrucCKfm0XKeYTsN8n8SP2XCpKVnNXSsWrP00DXdCaU8yNndzLuMpeBscSULro6QAJdQMMuGw?key=fnT4URI1uQRIKM025_99dnW4" alt="" width="563"><figcaption><p>Pestaña Revenue recovery, Correos: recordatorios de tarjeta</p></figcaption></figure>
{% endstep %}

{% step %}

### Configura las preferencias de FlyCode y activa

En FlyCode, confirma dos preferencias: el modo de reintento (deja la programación predeterminada guiada por el modelo, salvo que tengas un motivo para no hacerlo) y si FlyCode enviará correos de recuperación en tu nombre. Si lo hace, añade los registros SPF y DKIM que te proporciona FlyCode para que los mensajes se autentiquen desde tu dominio. Luego activa la aplicación. FlyCode comienza a trabajar de inmediato en las facturas fallidas abiertas.
{% endstep %}
{% endstepper %}

## Cómo funciona la integración

La aplicación FlyCode conecta tu cuenta de Stripe con el motor de recuperación de FlyCode. Escucha eventos webhook de Stripe para obtener actualizaciones en tiempo real sobre suscripciones y pagos, pasa los datos relevantes al motor y ejecuta las decisiones del motor a través de la API de Stripe. Todo se ejecuta de forma transparente y se refleja en tu panel de Stripe.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FDsdjL8f9JtDrw6zLI267%2Fimage1.jpg?alt=media&#x26;token=dd0145a5-f69c-463c-98eb-7d4b0529fa45" alt="" width="542"><figcaption><p>Arquitectura de FlyCode</p></figcaption></figure>

### Lo que FlyCode lee: eventos webhook

La aplicación solo se suscribe a los eventos de Stripe necesarios para la recuperación y la gestión de suscripciones: eventos de factura (creada, finalizada, pago fallido, pagada, actualizada), eventos de intención de pago y cargo (pago fallido, সফলido), y eventos de cliente y suscripción (creado, actualizado, eliminado). Estos proporcionan al motor el código de rechazo, los detalles de la tarjeta y del emisor, y el historial de la cuenta que necesita para programar cada reintento. La aplicación usa su propia suscripción de eventos con alcance de aplicación y no toca los puntos de conexión webhook creados por tu equipo o por otras aplicaciones.

### Lo que FlyCode escribe: llamadas a la API de Stripe

Estas son las únicas llamadas de escritura (POST) que hace la aplicación FlyCode. Cada una queda registrada en el portal para desarrolladores de Stripe y es visible en el objeto correspondiente del panel.

| Acción                                                                  | Llamada a la API de Stripe                                                                                                                                       | Cuándo                                                                                                                | Lo que ves en Stripe                                                                                                             |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Marcar una factura como en recuperación                                 | [Actualizar factura](https://docs.stripe.com/api/invoices/update): añade metadatos `flycode_recovery: true`                                                      | Cuando una factura de suscripción fallida entra en recuperación                                                       | Campo de metadatos en la página de la factura; entrada de Actualizar factura en el registro de eventos de la factura             |
| Reintentar una factura fallida                                          | [Pagar factura](https://docs.stripe.com/api/invoices/pay)                                                                                                        | Cuando el motor decide el momento del reintento                                                                       | Entrada en la actividad reciente de la factura; nuevo cargo bajo la intención de pago original (sin objetos de pago adicionales) |
| Cancelar una suscripción irrecuperable (opcional, activado por defecto) | [Cancelar suscripción](https://docs.stripe.com/api/subscriptions/cancel), con `cancellation_details`                                                             | Después del número máximo de reintentos sin éxito                                                                     | Suscripción mostrada como cancelada con el evento de cancelación                                                                 |
| Cerrar la factura no recuperada (opcional, activado por defecto)        | [Anular factura](https://docs.stripe.com/api/invoices/void) o [Marcar como incobrable](https://docs.stripe.com/api/invoices/mark_uncollectible), según prefieras | En el mismo momento que la cancelación; también se aplica a las facturas abiertas posteriores de la misma suscripción | Estado de la factura anulada o incobrable con el evento registrado                                                               |

Antes de cada escritura, la aplicación vuelve a leer el estado actual del objeto de Stripe. Si una factura ya fue pagada, anulada o cancelada por otro sistema, FlyCode no realiza ninguna acción. Esto hace que la integración sea idempotente y evita cargos duplicados o conflictos de estado.

{% hint style="info" %}
**Salvaguarda:** una suscripción nunca se cancela si alguna factura creada después de la irrecuperable se ha pagado. Una suscripción que se volvió sana por otros medios permanece activa.
{% endhint %}

{% hint style="info" %}
**Recomendado:** los pasos de cancelación y limpieza de facturas son opcionales, pero están activados por defecto. Dejarlos activados detiene más intentos en facturas muertas y mantiene los estados de suscripción y factura precisos para tus clientes y tus informes.
{% endhint %}

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2F69gUGUrHMFaGXueBmCPd%2Fimage3.jpg?alt=media&#x26;token=63dcf447-dfee-4d05-9ce2-b79f564e2fd4" alt="" width="524"><figcaption><p>Registro de eventos de factura que muestra la actualización de metadatos de FlyCode</p></figcaption></figure>

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FIw88HdPBqMOhHGVIsPcI%2Fimage4.jpg?alt=media&#x26;token=f1d55931-473a-4614-aeef-4cee8e1a8c20" alt="" width="531"><figcaption><p>Página de la factura después de un reintento exitoso de FlyCode</p></figcaption></figure>

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FI3Or6eUzg7hleYnVtLNe%2Fimage06.jpg?alt=media&#x26;token=42d63a19-8ffe-40ca-bd21-76ffb65b62e5" alt="" width="541"><figcaption><p>Vista de pagos: el reintento es un nuevo cargo bajo la intención de pago original</p></figcaption></figure>

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FMSgXsfY1E5EayitNSiNG%2Fimage08.jpg?alt=media&#x26;token=82503ad3-16b6-43e0-816f-b3eb0e8f315e" alt="" width="563"><figcaption><p>Página de la suscripción después de la cancelación por parte de FlyCode</p></figcaption></figure>

### Correos de recuperación

Para obtener los mejores resultados y una experiencia de marca coherente, desactiva los correos de recuperación predeterminados de Stripe y usa las notificaciones de FlyCode. El motor las activa en sincronía con el calendario de reintentos (sin correo después de un rechazo temporal mientras un reintento aún tiene buenas posibilidades), se envían desde tu propio dominio en el idioma de tu marca y se programan según las horas locales del cliente. Consulta [Seguimiento de pagos fallidos](https://help.flycode.com/failed-payment-outreach).

## Lista de verificación para la puesta en marcha

* [ ] Aplicación FlyCode instalada y permisos confirmados
* [ ] Reintentos de Stripe: estado después de una recuperación fallida configurado en «dejar como vencida»
* [ ] Reintentos de Stripe: reintentos con tarjeta configurados en Personalizado, 3 reintentos, intervalo de 7 días
* [ ] Reintentos de Stripe: reintentos ACH activados (si corresponde)
* [ ] Correos de Stripe: correos predeterminados de pago fallido desactivados (si FlyCode envía notificaciones)
* [ ] Correos de Stripe: correos por débito ACH fallido activados (si corresponde), correos de recordatorio de tarjeta activados
* [ ] FlyCode: modo de reintento y preferencia de notificación configurados; registros SPF y DKIM añadidos si FlyCode envía correos
* [ ] Aplicación FlyCode activada

## Qué esperar después de ponerlo en marcha

**Facturas abiertas en recuperación.** En Stripe, abre Facturas y aplica [este filtro](https://dashboard.stripe.com/invoices?status=open\&total\[gt]=0\&type=subscription) (estado abierto, facturas de suscripción, total superior a cero). Haz clic en «Editar columnas» y añade «FlyCode Recovery (metadata)» para ver la marca de recuperación en cada fila.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FTNup2iuvGqgEOMSaOlyo%2Fimage20.jpg?alt=media&#x26;token=9e45d171-d35b-4cbd-bc27-a14a6327edfd" alt=""><figcaption><p>Lista de facturas filtrada con la columna FlyCode Recovery</p></figcaption></figure>

**Tasa de recuperación.** Sigue usando [el panel de Revenue Recovery de Stripe](https://dashboard.stripe.com/revenue-recovery). Las facturas recuperadas por FlyCode aparecen allí como recuperadas; la visualización de Stripe no cambia. El panel propio de FlyCode añade la recuperación por código de rechazo, la velocidad de recuperación, los intentos por factura recuperada y los ingresos recuperados frente a tu línea base previa a FlyCode.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2F3cvr8xWL3R1fp95JdQOf%2Fimage10.jpg?alt=media&#x26;token=a21131ef-ab99-415d-a577-dc74f452445e" alt=""><figcaption><p>Panel de Revenue Recovery de Stripe</p></figcaption></figure>

**Cronograma.** Por lo general, el motor necesita de 6 a 8 semanas para optimizar su modelo para tu base de clientes; la recuperación mejora durante ese período. La función Go Back in Time de FlyCode también revisita facturas que fallaron hasta unos 60 días antes de la activación, por lo que las tasas de recuperación de meses anteriores pueden aumentar después de ponerlo en marcha.

**La cifra de «En recuperación» de Stripe.** En el desglose de Revenue Recovery, Stripe define «En recuperación» según la duración máxima personalizada de reintentos que configures (7 días), no según la ventana real de recuperación de FlyCode, por lo que ese segmento naranja subestima las facturas en las que FlyCode sigue trabajando. Usa el filtro de facturas de arriba o el panel de FlyCode para obtener la cifra exacta.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FxP3hz0GoPVhbZKTIcXVl%2Fimage18.jpg?alt=media&#x26;token=ee2396c7-d06e-4d56-9273-f902be6070ef" alt="" width="563"><figcaption><p>Información sobre «En recuperación» en el panel de Revenue Recovery</p></figcaption></figure>

## Solución de problemas

**Los clientes recibieron dos correos sobre el mismo pago fallido.** Los correos de recuperación predeterminados de Stripe siguen activados. Desactívalos en Revenue recovery, Correos (Paso 3), o configura FlyCode en solo reintentos si quieres que Stripe u otra herramienta gestione los mensajes.

**Stripe sigue reintentando según su propio cronograma.** Los reintentos con tarjeta no están configurados en Personalizado, 3 reintentos a intervalos de 7 días (Paso 2). Dos motores de reintento en una misma tarjeta pueden superar los límites de intentos de la red de tarjetas y reducir las tasas de autorización.

**Se canceló una suscripción después de que FlyCode agotara sus reintentos, y no esperábamos que ocurriera.** Los pasos de cancelación y limpieza de facturas están activados por defecto. Desactívalos en FlyCode si prefieres mantener las suscripciones no recuperadas como vencidas, y ten en cuenta que la salvaguarda ya evita la cancelación cuando se ha pagado una factura posterior.

**Una factura no muestra los `flycode_recovery` metadatos.** Solo las facturas de suscripción fallidas entran en recuperación; las facturas únicas y las facturas que fallaron antes de la ventana de retrocarga de la aplicación no se etiquetan. Comprueba que la factura sea una factura de suscripción con estado abierto y fallo de pago, y que la aplicación esté activada.

**La tasa de recuperación en Stripe parece sin cambios en las primeras semanas.** El modelo está en su período de optimización de 6 a 8 semanas, y el panel de Stripe atribuye las facturas recuperadas sin distinguir las de FlyCode. Compárala con tu línea base en el panel de FlyCode, que es lo que usa la facturación basada en resultados.

**La cantidad de «En recuperación» en Stripe parece demasiado baja.** Es lo esperado; consulta la nota anterior sobre cómo la define Stripe.

¿Sigues atascado? Envía un correo al soporte o [reserva tiempo con el equipo](https://www.flycode.com/get-started).

## Preguntas frecuentes

**¿FlyCode necesita tiempo de ingeniería?** No. La instalación es una aplicación de Stripe; los únicos pasos manuales son los ajustes de Stripe anteriores. La mayoría de los comercios están en producción en menos de una hora.

**¿FlyCode interferirá con mis webhooks o aplicaciones existentes?** No. Usa su propia suscripción de eventos con alcance de aplicación, nunca modifica tus puntos de conexión webhook, reglas de Radar ni otras aplicaciones, y vuelve a comprobar el estado del objeto antes de cada escritura.

**¿FlyCode toca los fondos?** No. Los reintentos son llamadas de Pagar factura a través de tu cuenta de Stripe; los ingresos recuperados se liquidan en tu saldo de Stripe con normalidad.

**¿Puedo mantener activado Stripe Smart Retries?** Mantienes técnicamente activada la función de reintentos de Stripe, pero minimizada al cronograma personalizado del Paso 2 para que FlyCode controle el momento. Ejecutar ambos en paralelo de forma completa desperdicia intentos.

**¿Qué ocurre con las facturas que ya fallaban antes de que lo instalara?** Se cargan al instalarse y entran en recuperación; la función Go Back in Time cubre aproximadamente los 60 días anteriores.

**¿Cómo se cobra FlyCode en Stripe?** Basado en resultados: una parte de los ingresos recuperados por encima de tu línea base, nada de lo que Stripe habría recuperado de todos modos. Consulta [¿Cómo se cobra FlyCode para los usuarios de Stripe?](https://help.flycode.com/flycode-and-stripe/going-further-with-flycode)

## Relacionado

* [FlyCode y Stripe](https://help.flycode.com/flycode-and-stripe) en el Centro de ayuda
* [Cómo gestionar pagos fallidos en Stripe](https://docs.flycode.com/docs/integrations/how-to-manage-failed-payments-in-stripe)
* [Guía de códigos de rechazo de pagos de suscripción para Stripe](https://docs.flycode.com/docs/subscription-payment-decline-codes-guide-for-stripe)
* [Referencia de códigos de rechazo de Stripe](https://www.flycode.com/stripe/decline-codes)


---

# 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/es/integrations/stripe-integration-guide-for-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.
