# Cómo funcionan las suscripciones

Gestiona los pagos recurrentes y los ciclos de vida de las suscripciones.

Las suscripciones permiten a los clientes hacer pagos recurrentes para acceder a un producto o servicio. Cuando se crea una suscripción, Stripe automáticamente genera facturas, intenta cobrar el pago y administra el estado de la suscripción durante todo su ciclo de vida. Una suscripción atraviesa un conjunto predecible de estados, desde su creación hasta su cancelación.

A diferencia de los pagos únicos, las suscripciones requieren almacenar la información del cliente y del método de pago para ciclos de facturación futuros. Stripe se encarga de la lógica de reintento de pagos, la reclamación de pagos y las transiciones de estado.

## Ciclo de vida de la suscripción

Cada una de las siguientes fases del ciclo de vida de la suscripción se asigna a un cambio de estado en el [objeto Subscription](https://docs.stripe.com/api/subscriptions/object.md). Comprender estos estados te ayuda a saber cuándo habilitar el acceso, notificar a los clientes y administrar errores. Puedes usar los [eventos de webhook](https://docs.stripe.com/billing/subscriptions/webhooks.md#state-changes) para monitorear y gestionar las transiciones de un estado a otro.

### Crear la suscripción

Crea una nueva suscripción en el [Dashboard](https://dashboard.stripe.com/subscriptions?status=active) o con la [API Subscriptions](https://docs.stripe.com/api/subscriptions/create.md). El [objeto Subscription](https://docs.stripe.com/api/subscriptions/object.md) resultante contiene el cliente suscrito, el [producto](https://docs.stripe.com/api/products.md) y el [precio](https://docs.stripe.com/api/prices/object.md), además del estado `(status)` que refleja el ciclo de vida actual de la suscripción.

Cuando se crea una suscripción que requiere un pago inmediato, Stripe también crea un [objeto Invoice](https://docs.stripe.com/billing/invoices/subscription.md) y un [PaymentIntent](https://docs.stripe.com/payments/payment-intents.md). El estado inicial de la suscripción es incompleto `(incomplete)` y, luego, se convierte en activo `(active)` cuando el cliente paga la primera factura.

> Los métodos de pago con tiempos de confirmación de pago *diferida* (A payment method that can't immediately return payment status when a customer attempts a transaction (for example, ACH debits). Businesses commonly hold an order in a pending state until payment is successful with these payment methods), como ACH Direct Debit, pueden tener un estado diferente. Para obtener más detalles, consulta [Confirmación de pago diferida](https://docs.stripe.com/billing/subscriptions/overview.md#delayed-payment-confirmation).

El cobro predeterminado de pagos de suscripciones y la gestión de errores dependen del método de pago. En la API, puedes configurar el [payment_behavior](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-payment_behavior) de una suscripción para anular el valor predeterminado.

Si creas un [período de prueba](https://docs.stripe.com/billing/subscriptions/trials.md) para posponer el primer cargo de la suscripción, el estado inicial será en prueba `(trialing)`. La suscripción cambia automáticamente a activo `(active)` cuando finaliza la prueba y el pago se realiza con éxito.

### Cómo gestionar la factura

Para las suscripciones con `collection_method` establecido en `charge_automatically`, Stripe crea una [factura](https://docs.stripe.com/billing/invoices/subscription.md) en estado abierto `(open)` cuando se crea la suscripción. Tu cliente tiene 23&nbsp;horas para pagar. Durante este plazo, el estado de la suscripción es incompleto `(incomplete)` y el estado de la factura permanece en abierto `(open)`. Este plazo de 23&nbsp;horas se adapta a los clientes que pagan *durante la sesión* (A payment is described as on-session if it occurs while the customer is actively in your checkout flow and able to authenticate the payment method). Si el cliente vuelve a tu aplicación después de 23&nbsp;horas, deberás crearle una nueva suscripción.

Para las suscripciones con `collection_method` establecido en `send_invoice`, Stripe le envía por correo electrónico al cliente un enlace a la factura con una fecha de vencimiento configurable. Para las suscripciones sin un período de prueba, el estado inicial de la suscripción es `active`, incluso si no se ha pagado la primera factura.

Para obtener más información, consulta [Facturas de suscripción](https://docs.stripe.com/billing/invoices/subscription.md).

### Confirmar pago

Para las suscripciones con `collection_method` establecido en `charge_automatically`, si tu cliente paga la factura, la suscripción se actualiza a `active` y la factura a `paid`. Escucha el evento [invoice.paid](https://docs.stripe.com/billing/subscriptions/webhooks.md#events) o confirma que el estado de la suscripción sea `active`.

Stripe establece el [current_period_start](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-items-data-current_period_start) de la suscripción cuando crea la factura inicial. Completar el pago más adelante no cambia el inicio del período de facturación inicial. Si un método de pago requiere la acción del cliente y el cliente se demora en completarla, queda menos tiempo en el primer período de facturación cuando proporcionas el acceso.

Para estas suscripciones, si el cliente no paga dentro de las 23 horas, la suscripción se actualiza a `incomplete_expired` y la factura pasa a ser `void`. Para reactivar su acceso, crea una nueva suscripción.

Para obtener más información, consulta [Estados de suscripciones](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-statuses) y [Estados de pagos](https://docs.stripe.com/billing/subscriptions/overview.md#payment-status).

### Cómo brindar acceso a tu producto

Cuando una suscripción pasa al estado activo `(active)`, Stripe crea una [autorización](https://docs.stripe.com/billing/entitlements.md) activa para cada funcionalidad asociada al producto suscrito. Cuando un cliente accede a tus servicios, usa sus autorizaciones activas para concederle acceso a las funcionalidades incluidas en su suscripción.

Como alternativa, [realiza un seguimiento de las suscripciones activas](https://docs.stripe.com/billing/subscriptions/webhooks.md#active-subscriptions) con eventos de webhook y provee el producto para el cliente en función de esa actividad.

### Actualizar la suscripción

Puedes [modificar las suscripciones existentes](https://docs.stripe.com/billing/subscriptions/change.md) según sea necesario sin tener que cancelarlas y recrearlas. Algunos de los cambios más importantes que puedes hacer son [subir o bajar](https://docs.stripe.com/billing/subscriptions/change-price.md) el precio de la suscripción o [suspender el cobro](https://docs.stripe.com/billing/subscriptions/pause-payment.md) de una suscripción activa.

En el caso de las integraciones de [Stripe Checkout](https://docs.stripe.com/payments/checkout.md), no puedes actualizar la suscripción ni su factura si la suscripción de la sesión está en estado incompleto (`incomplete`). Puedes escuchar el evento [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) para hacer la actualización después de que se haya completado la sesión. También puedes [hacer que se venza la sesión](https://docs.stripe.com/api/checkout/sessions/expire.md) si, en cambio, quieres cancelar la suscripción, anular la factura de suscripción o marcar la factura como incobrable.

### Gestionar suscripciones impagas

Si el cliente no paga una factura de suscripción, Stripe detiene los intentos de cobro adicionales. La suscripción sigue generando facturas en cada período de facturación, que permanecen en el estado borrador `draft`. El estado de la suscripción (vencido `past_due` o impago `unpaid`) depende de tu [configuración de pagos con errores](https://dashboard.stripe.com/settings/billing/automatic#manage-failed-payments) en el Dashboard.

Las facturas anuladas no afectan el estado de la suscripción. Según tu [configuración de suscripciones](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments), Stripe determina el estado a partir de la factura no anulada más reciente o de todas las facturas pendientes que cumplan los requisitos. Para obtener más información, consulta [Configurar la resolución del estado de las suscripciones](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-status-resolution) y [Pagos de suscripciones fallidos](https://docs.stripe.com/billing/collection-method.md#failed-subscription-payments).

### Cancelación de la suscripción

Puedes [cancelar](https://docs.stripe.com/billing/subscriptions/cancel.md) una suscripción en cualquier momento, incluso al [final de un ciclo](https://docs.stripe.com/billing/subscriptions/cancel.md#cancel-at-the-end-of-the-current-billing-period) de facturación o después de un [número determinado de ciclos](https://docs.stripe.com/billing/subscriptions/cancel.md#subscription-schedules) de facturación.

De forma predeterminada, al cancelar una suscripción se desactiva la creación de nuevas facturas y [se detiene el cobro automático](https://docs.stripe.com/billing/subscriptions/cancel.md#handle-invoice-items-when-canceling-subscriptions) de todas las facturas pendientes asociadas a esa suscripción. Además, la suscripción se elimina y ya no se puede actualizar, salvo en lo que respecta a sus [metadatos](https://docs.stripe.com/metadata.md) y a los `cancellation_detailes`. Si tu cliente quiere volver a suscribirse, tendrás que recopilar nueva información de pago y crear una nueva suscripción.

## Estados de las suscripciones

Las suscripciones pueden tener los siguientes estados. Las acciones que puedes realizar en una suscripción dependen de su estado.

| Estado | Descripción |
| --- | --- |
| `trialing` | La suscripción actualmente está dentro de un período de prueba y puedes suministrar el producto a tu cliente de forma segura. La suscripción pasará automáticamente a `active` cuando un cliente efectúe el primer pago. |
| `active` | La suscripción está al corriente. Tu [configuración de suscripciones](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments) determina qué facturas se deben liquidar para que una suscripción `past_due` pase a ser `active`. Cuando la resolución del estado usa la factura más reciente, pagar o anular la última factura asociada, o bien marcarla como incobrable, hace que la suscripción pase a ser `active`. Cuando la resolución del estado usa todas las facturas, liquida todas las facturas pendientes correspondientes para que la suscripción pase a ser `active`.

`active` no necesariamente indica que se hayan pagado todas las facturas pendientes asociadas a la suscripción. Cuando la resolución del estado usa la factura más reciente, puedes dejar otras facturas pendientes abiertas para su pago, marcarlas como incobrables o anularlas según consideres oportuno. |
| `incomplete` | El cliente debe realizar un pago exitoso en un plazo de 23&nbsp;horas para activar la suscripción. O bien, el pago [requiere una acción](https://docs.stripe.com/billing/subscriptions/overview.md#requires-action), como la autenticación del cliente. Las suscripciones también pueden estar `incomplete` si hay un pago pendiente y el estado del PaymentIntent es `processing`. |
| `incomplete_expired` | Se produjo un error en el pago inicial de la suscripción y el cliente no efectuó ningún pago correctamente procesado en el transcurso de 23&nbsp;horas de creada la suscripción. Estas suscripciones no se cobran a los clientes. Este estado existe para que puedas hacer el seguimiento de los clientes que no pudieron activar sus suscripciones. |
| `past_due` | Se produjo un error en el pago de la última factura finalizada o no se intentó. Cuando la resolución del estado usa todas las facturas, `past_due` también puede indicar que una factura correspondiente anterior sigue pendiente. La suscripción sigue creando facturas. Stripe podría volver a intentar el pago mientras la suscripción esté `past_due`, pero este estado no garantiza otro intento de pago. La [configuración de suscripciones](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments) de tu Dashboard determina el próximo estado de la suscripción. Si una factura sigue sin pagarse después de todos los [reintentos de pago](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md), puedes configurar la suscripción para que pase a ser `canceled` o `unpaid`, o bien para que siga siendo `past_due`.

Para reactivar la suscripción, paga la factura más reciente cuando la resolución del estado use la factura más reciente, o liquida las facturas pendientes que cumplan los requisitos cuando la resolución del estado use todas las facturas. La suscripción pasará a ser `active` sin importar si liquidas las facturas requeridas antes o después de su fecha de vencimiento. |
| `canceled` | Se canceló la suscripción. Mientras esté cancelada, se deshabilita el cobro automático de todas las facturas no pagadas (`auto_advance=false`). Este estado es final y no puede actualizarse. |
| `unpaid` | Stripe sets a subscription’s status to `unpaid` only when your Dashboard [subscription settings](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments) select this outcome. The invoice or invoices governing subscription status haven’t been settled, but the subscription remains in place. The subscription continues to generate invoices but doesn’t attempt payment. Revoke access to your product when the subscription is `unpaid` because Stripe already attempted and retried payment while the subscription was `past_due`. To move the subscription to `active`, pay the most recent invoice when status resolution uses the most recent invoice, or settle applicable outstanding invoices when status resolution uses all invoices. |
| `paused` | La suscripción ha finalizado su período de prueba sin un método de pago predeterminado y el [trial_settings.end_behavior.missing_payment_method](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#create-free-trials-without-payment) está establecido en `pausa`. Ya no se crean facturas para la suscripción. Después de adjuntar un método de pago predeterminado al cliente, puedes [reanudar la suscripción](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#resume-a-paused-subscription). |

### Configurar la resolución del estado de las suscripciones

En tu [configuración de suscripciones](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments), elige qué facturas usa Stripe para determinar el estado de la suscripción:

- **Factura más reciente**: este es el comportamiento predeterminado. Stripe utiliza la factura no anulada más reciente. Otras facturas pendientes no impiden que la suscripción pase a ser `active`.
- **Todas las facturas**: Stripe impide que la suscripción pase a estar `active` mientras quede una factura pendiente cumpla los requisitos.

Cuando usas todas las facturas para la resolución de estado:

- Una suscripción `active` pasa a ser `past_due` si Stripe encuentra una factura pendiente que cumpla los requisitos.
- Una suscripción `past_due` no pasa a ser `active` hasta que acredites las facturas pendientes que cumplan los requisitos. Tu [configuración de pagos fallidos](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments) sigue determinando si se mueve a `canceled` o a `unpaid` una vez que finalizan todos los reintentos.
- Una suscripción `unpaid` permanece como `unpaid` hasta que liquides las facturas pendientes que cumplan los requisitos.
- Una suscripción `paused` reanudada pasa a estar `past_due` si su factura de reanudación se liquida pero otra factura que cumple los requisitos permanece pendiente.

Stripe trata una factura que cumple los requisitos como pendiente de pago cuando está finalizada, tiene un pago adeudado y no está acreditada. Para liquidar una factura, págala, anúlala o márcala manualmente como incobrable. Una factura que Stripe marca como incobrable después de finalizar los reintentos de pago, seguirá pendiente. Stripe comprueba las facturas que cumplen los requisitos de los últimos 37&nbsp;meses.

Para identificar las facturas que bloquean el proceso, [enumera las facturas de la suscripción](https://docs.stripe.com/api/invoices/list.md) con el estado `open` o `uncollectible`.

Cambiar la configuración no reevalúa de inmediato las suscripciones existentes. El cambio entra en vigencia la próxima vez que Stripe evalúa el estado de la suscripción, por ejemplo, después del pago de una factura o de que un pago falle. La configuración solo cambia la resolución del estado; no cambia el cronograma de reintentos ni las acciones de reintento finales.

## Estados del pago

Un [PaymentIntent](https://docs.stripe.com/payments/payment-intents.md) realiza el seguimiento del ciclo de vida de cada pago. Cada vez que vence un pago de una suscripción, Stripe genera una [factura](https://docs.stripe.com/billing/invoices/subscription.md) y un PaymentIntent. El PaymentIntent ID se adjunta a la factura, y puedes acceder a él desde los objetos de la factura y la suscripción.

El estado del PaymentIntent afecta el estado de la factura y de la suscripción. Los diferentes resultados de un pago se asignan a los diferentes estados de la siguiente forma:

| Resultado del pago | Estado del PaymentIntent | Estado de la factura | Estado de la suscripción |
| --- | --- | --- | --- |
| Se efectúa con éxito | `succeeded` | `paid` | `active`, if the invoice or invoices governing subscription status are settled; otherwise, the existing `past_due` or `unpaid` status |
| Falla debido a un error de la tarjeta | `requires_payment_method` | `open` | `incomplete` |
| Falla debido a la autenticación | `requires_action` | `open` | `incomplete` |

### Métodos de pago con confirmación de pago diferida

Los métodos de pago que no pueden devolver inmediatamente el estado del pago cuando un cliente intenta una transacción (por ejemplo, ACH Direct Debit) manejan las transiciones de estado de la suscripción de manera diferente. Cuando utilizas estos tipos de métodos de pago, una suscripción puede pasar directamente a `active` después de su creación y omitir `incomplete`. Si el pago falla más tarde, Stripe anula la factura, pero la suscripción permanece `active`. Utiliza este comportamiento cuando diseñes tu control de acceso y lógica de reintento.

En las siguientes secciones, se describen los resultados del pago inicial al crear una suscripción que requiere un pago inmediato. Para los errores de pago en facturas posteriores, consulta [Cómo gestionar pagos recurrentes fallidos](https://docs.stripe.com/billing/subscriptions/overview.md#failed-recurring-payments).

### El pago inicial se realizó correctamente

Cuando el pago inicial de la suscripción del cliente se realiza correctamente:

- El estado (`status`) del PaymentIntent pasa a correcto (`succeeded`).
- El estado (`status`) de la factura es pagado (`paid`).
- Stripe determines the subscription status according to your [subscription settings](https://dashboard.stripe.com/settings/billing/subscriptions#manage-failed-payments). The subscription becomes `active` when the invoice or invoices governing its status are settled.
- Stripe envía un evento `invoice.paid` a los puntos de conexión de webhook configurados.

En el caso de [métodos de pago](https://docs.stripe.com/payments/payment-methods/integration-options.md) con períodos de procesamiento más largos, las suscripciones se activan inmediatamente. En estos casos, el estado del PaymentIntent puede ser en procesamiento (`processing`) de una suscripción activa (`active`) hasta que el pago se efectúe de forma correcta.

Cuando se active la suscripción, [proporciona acceso](https://docs.stripe.com/billing/subscriptions/overview.md#provision-access) a tu producto.

### El pago inicial requiere un método de pago

Si el pago inicial falla debido a un [error de tarjeta](https://docs.stripe.com/api/errors.md#errors-card_error), como un [pago rechazado](https://docs.stripe.com/declines.md#issuer-declines):

- El estado `status` del PaymentIntent es requiere método de pago (`requires_payment_method`).
- El estado (`status`) de la suscripción es incompleto (`incomplete`).
- El estado (`status`) de la factura es abierto (`open`).

Para gestionar estos escenarios:

- Notifica al cliente.
- Recopila datos de pagos nuevos y [confirmar el PaymentIntent](https://docs.stripe.com/api/payment_intents/confirm.md).
- Actualiza el [default payment method](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_payment_method) en la suscripción.
- Stripe vuelve a hacer el intento de pago con [Smart Retries](https://docs.stripe.com/invoicing/automatic-collection.md#smart-retries) o en función de tus [reglas de reintentos](https://dashboard.stripe.com/account/billing/automatic) personalizadas.
- Usa el evento [invoice.payment_failed](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md#invoice-payment-failed-webhook) para controlar los eventos de pago fallido de suscripciones y reintentar la realización de actualizaciones. Después de intentar el pago de una factura, el valor de [next_payment_attempt](https://docs.stripe.com/api.md#invoice_object-next_payment_attempt) se establece a partir de la configuración actual de suscripciones en el Dashboard.

Obtén información sobre cómo [gestionar los errores de pago en las suscripciones](https://docs.stripe.com/billing/subscriptions/webhooks.md#payment-failures).

### Cómo gestionar pagos recurrentes con error

Cuando se produce un error con un pago recurrente de suscripción, escucha `invoice.payment_failed`. [Monitorea los cambios de estado de la suscripción](https://docs.stripe.com/billing/subscriptions/webhooks.md#state-changes) para detectar transiciones a `past_due` o `unpaid`. Notifica al cliente para que pueda actualizar su método de pago o pagar la factura pendiente. [Verifica las firmas de webhook](https://docs.stripe.com/webhooks.md#verify-events) antes de procesar los eventos.

Configura [Smart&nbsp;Retries o reglas de reintento personalizadas](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md) para reintentar los pagos con error. En tu [configuración de pagos con error](https://dashboard.stripe.com/settings/billing/automatic), elige qué sucede con la suscripción después del último reintento. Usa la [tabla de estados de suscripción](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-statuses) para determinar cuándo revocar el acceso y cómo reactivar las suscripciones `past_due` y `unpaid`. Consulta [Cargos recurrentes con error](https://docs.stripe.com/billing/collection-method.md#handle-recurring-charge-failures) para obtener más detalles.

### Requiere intervención

Algunos métodos de pago requieren la autenticación del cliente con [3D Secure](https://docs.stripe.com/payments/3d-secure.md) (3DS). El requerimiento de la autenticación depende de tus [reglas de Radar](https://docs.stripe.com/payments/3d-secure/authentication-flow.md#three-ds-radar) y del banco emisor de la tarjeta.

Si el pago falla porque el cliente necesita autenticar un pago, ocurre lo siguiente:

- El estado (`status`) del PaymentIntent es requiere acción (`requires_action`).
- El estado (`status`) de la suscripción es incompleto (`incomplete`).
- El estado (`status`) de la factura es abierto (`open`).

Para gestionar estos escenarios:

- Supervisa la notificación de eventos `invoice.payment_action_required` con [puntos de conexión de webhooks](https://docs.stripe.com/billing/subscriptions/webhooks.md). Esto indica que se requiere autenticación.
- Notifica a tu cliente que se debe autenticar. Recupera el secreto de cliente del PaymentIntent y pásalo a [stripe.handleNextAction](https://docs.stripe.com/js/payment_intents/handle_next_action). Esto guía al cliente a través de cualquier paso necesario y devuelve el resultado a tu solicitud.
- Monitor the `invoice.paid` event on your event destination to verify that the payment succeeded. Before provisioning your product, confirm that the subscription is `active` or that the customer has active entitlements.

## See also

- [Diseñar una integración de suscripciones](https://docs.stripe.com/billing/subscriptions/design-an-integration.md)
- [Crear una integración de suscripciones](https://docs.stripe.com/billing/subscriptions/build-subscriptions.md)
- [Suscripciones de inicio rápido](https://docs.stripe.com/billing/quickstart.md)
