Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Herramientas para desarrolladores
Resumen
Billing
    Resumen
    Acerca de las API de facturación
    Suscripciones
      Cómo funcionan las suscripciones
      Inicio rápido
      Casos de uso
      Desarrolla tu integración
      Funcionalidades de la suscripción
        Facturas de suscripciones
        Calendarios de suscripciones
        Precios de suscripciones
        Modelos de tarifas recurrentes
        Inserta un cuadro de tarifas
        Iniciar suscripciones
        Determinar cantidades
        Establecer ciclos de facturación
        Suscripciones con fechas pasadas
        Suscríbete a varios elementos
        Configura períodos de prueba
        Aplica cupones
        Migrar suscripciones a Stripe
        Cómo se calculan los prorrateos de crédito
        Pagos de suscripciones
        Métodos de pago de suscripciones
        Integra con el procesamiento de pagos de terceros
        Métodos de cobro
        Autenticación reforzada de clientes (SCA)
        Administración de suscripciones
        Modificar suscripciones
        Gestionar actualizaciones pendientes
      Análisis
    Invoicing
    Cobro por consumo
    Connect y Billing
    Tax y Billing
    Presupuestos
    Recuperación de ingresos
    Automatizaciones
    Scripts
    Reconocimiento de ingresos
    Gestión de clientes
    Derechos
    Prueba tu integración
Impuesto
Elaboración de informes
Datos
Constitución de una startup
InicioIngresosBillingSubscriptionsSubscription features

Habilita un comportamiento flexible para las suscripciones

Usa el modo de gestión de cobros para controlar cómo se calculan y organizan los prorrateos y las facturas de las suscripciones.

Copiar página

Prorrateos de suscripciones

Lee nuestra guía de prorrateos para obtener información sobre cómo administrar los prorrateos de suscripciones modificadas y comprender su comportamiento.

Actualmente, Stripe calcula los importes de prorrateo de créditos en función del valor del precio actual, los impuestos, la cantidad y los últimos descuentos utilizados del artículo de la suscripción.

Puedes configurar billing_mode=flexible para habilitar una lógica de prorrateo diferente que calcule los prorrateos de crédito en función del importe original debitado previamente al cliente.

Vista previa pública

Para habilitar la nueva lógica de cálculo de prorrateo configurando billing_mode=flexible debes actualizar tu versión de API a 2025-04-30.preview o posterior.

El comportamiento actual puede dar lugar a prorrateos inesperados si cambian las tasas impositivas de un cliente, deshabilitas los prorrateos de débito o usas importes complejos de cupones. La lógica de prorrateo mejorada calcula los prorrateos de crédito basándose únicamente en el importe original debitado previamente a un cliente. Cuando un cliente realiza un cambio en su suscripción que genera un crédito, Stripe calcula el prorrateo usando el importe que se le facturó anteriormente. Este cálculo se realiza independientemente de los cambios posteriores que se realicen en la suscripción. Stripe recomienda usar billing_mode=flexible si no se aplican las limitaciones de la vista previa pública.

Limitaciones de la versión preliminar pública Public preview

Durante la versión preliminar pública, billing_mode=flexible no es compatible con todas las funcionalidades de Stripe Billing.

Cuando configuras billing_mode=flexible:

  • El Modelo de cobro por consumo no se admite.
  • El Cálculo automático de impuestos no se admite.
  • Las Pruebas no se admiten.
  • Los puntos de conexión de Quotes no se admiten.
  • No puedes crear suscripciones con fecha anterior.
  • No puedes pausar el cobro de pagos en las suscripciones.

Si usas estas funcionalidades con billing_mode=flexible se devuelve un código de error 400.

Configura el modo de gestión de cobros Public preview

Puedes establecer billing_mode=flexible en suscripciones específicas y tener varias suscripciones con diferentes configuraciones de billing_mode. No puedes cambiar el billing_mode de flexible a classic. Así se garantiza que la lógica y el comportamiento sean coherentes a lo largo del ciclo de vida de cada suscripción. Puedes migrar las suscripciones existentes de billing_mode=classic a billing_mode=flexible.

Al configurar billing_mode=flexible, también se actualiza subscription.trial_start para reflejar la fecha de inicio de prueba más reciente.

Especifica flexible en el parámetro billing_mode en cualquier solicitud de la API que cree una suscripción:

  • Subscriptions
  • Invoice Previews
  • Checkout Sessions

Migra las suscripciones al modo de facturación flexible Public preview

Puedes migrar las suscripciones existentes de billing_mode=classic a billing_mode=flexible usando el punto de conexión de migración de suscripciones. La migración al modo de facturación flexible es un proceso unidireccional. Después de migrar una suscripción al modo flexible, no puedes revertirla al modo classic. De este modo, se garantiza una lógica de prorrateo coherente a lo largo del ciclo de vida de la suscripción.

Al migrar una suscripción, la marca de tiempo billing_mode_details.updated_at se actualiza para mostrar cuándo cambia el billing_mode.

Para migrar una suscripción a billing_mode=flexible, haz una solicitud POST al punto de conexión /v1/subscriptions/{SUBSCRIPTION_ID}/migrate con el parámetro billing_mode establecido en flexible:

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions/sub_123/migrate \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d billing_mode=flexible

La respuesta muestra la suscripción actualizada con billing_mode establecido en flexible y la marca de tiempo billing_mode_details.updated_at:

Migrate subscription response
{ "id": "sub_123", "billing_mode": "flexible", "billing_mode_details": { "updated_at": 1716883200 // Example timestamp }, // ... other subscription details }

Cambios en el modo de gestión de cobros flexible

Establecer billing_mode=flexible en una suscripción cambia el comportamiento de los objetos Subscription a lo largo de su ciclo de vida y en respuesta a cambios a planes superiores o inferiores, y cancelaciones.

Lógica de cálculo sin prorrateos

En el siguiente escenario, actualizas una suscripción mensual de 10 USD a 20 USD con el proration_behavior establecido en none durante 10 días. No hay un débito previo en el que basarse. Luego, cambias la suscripción a 10 USD por mes con el proration_behavior establecido en always_invoice.

Para configurar este escenario, primero creas una suscripción por 10 USD/mes el 01/04/2025:

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "items[0][price]"=price_10_monthly

La respuesta incluye la factura creada para esta suscripción:

Create subscription response
{ id: "sub_123", latest_invoice: { id: "in_123", total: 10_00, currency: "usd" } }

Luego, el 11/04/2025, cambias a una suscripción superior de 20 USD/mes sin crear prorrateos:

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions/sub_123 \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "items[0][price]"=price_20_monthly \ -d proration_behavior=none

La última factura no se modifica porque proration_behavior es none:

Upgrade subscription response
{ id: "sub_123", latest_invoice: { id: "in_123" } }

Por último, el 21/04/2025, cambias a un plan de suscripción inferior a 10 USD/mes y creas prorrateos:

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions/sub_123 \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "items[0][price]"=price_10_monthly \ -d proration_behavior=always_invoice

La lógica de cálculo del prorrateo predeterminada crea un prorrateo del crédito basado en el precio actual, aunque el cliente nunca haya pagado la tasa de 20 USD/mes. En la última factura, se acredita un tercio del mes para 20 USD (-6.67 USD), aunque el cliente nunca pagó el precio price_20_monthly. También debita un tercio del mes por 10 USD (3.33 USD).

La lógica de cálculo que se habilita con billing_mode=flexible crea un prorrateo del crédito basado en el último precio facturado por el ítem de suscripción. En este caso, en la última factura se acredita un tercio de mes por el precio 10 USD/mes facturado el 01/04/2025 (3.33 USD) y se debita un tercio del mes por el 10 USD precio (3.33 USD). El crédito y el débito se cancelan, por lo que el total de la factura es 0 USD.

Antes
Después
# Default behavior # billing_mode = classic { id: "sub_123", latest_invoice: { id: "in_456", total: -3_34, currency: "usd" } }
# New behavior # billing_mode=flexible { id: "sub_123", latest_invoice: { id: "in_456", total: 0, currency: "usd" } }

Lógica de cálculo para cupones aplicados a varios ítems de suscripción

Stripe pondera el cupón amount_off en el prorrateo del crédito para evitar la sobrefacturación.

En el siguiente escenario, un cupón de 5 USD se asigna de manera desigual a una suscripción mensual de 25 USD para un ítem de 10 USD y un ítem de 20 USD.

Para configurar este escenario, creas una suscripción con varios ítems y un cupón el 01/02/2025:

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "items[0][price]"=price_20_monthly \ -d "discounts[0][coupon]"=five_dollars_off

Lo que devuelve esta respuesta:

Create subscription with multiple items and a coupon response
{ id: "sub_123", latest_invoice: { id: "in_123", total: 25_00, currency: "usd", lines: { data: [ { id: "ili_1", amount: 10_00, price: "price_10_monthly", discount_amounts: [{ discount: "di_a", amount: 1_66 }] }, { id: "ili_2", amount: 20_00, price: "price_20_monthly", discount_amounts: [{ discount: "di_a", amount: 3_34 }] }, ] } } }

Para cancelar el ítem de suscripción 10 USD/mes usando billing_mode=classic:

Command Line
cURL
curl https://api.stripe.com/v1/subscription_items/si_10_monthly \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d proration_behavior=create_prorations

Para cancelar el mismo ítem usando billing_mode=flexible:

Command Line
cURL
curl https://api.stripe.com/v1/subscription_items/si_10_monthly \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d proration_behavior=create_prorations \ -d billing_mode=flexible

El comportamiento predeterminado distribuye un cupón de 5 USD a cada artículo (2.5 USD cada uno), cancela el artículo más económico (5 USD) y da como resultado un reembolso de 2.5 USD. Stripe calcula el total con la fórmula -0.5 x (10 USD price - 5 USD coupon) = -2.50 USD.

El nuevo comportamiento refleja el descuento proporcional aplicado al ítem cancelado, en lugar de aplicar potencialmente el importe total del descuento al cálculo del prorrateo. Stripe calcula el total usando la fórmula -0.5 x (10 USD price - 1.66 USD discount amount) = -4.17 USD.

Antes
Después
# Default behavior # billing_mode = classic { "id": "sub_123", "latest_invoice": { "id": "in_456", "total": -250, "currency": "usd" } }
# New behavior # billing_mode = flexible { "id": "sub_123", "latest_invoice": { "id": "in_789", "total": -417, "currency": "usd" } }

Restablecimientos de delimitación del ciclo de facturación

Cuando realizas cambios en una suscripción, el billing_cycle_anchor no se restablece de manera implícita. Por ejemplo, cambiar una suscripción a un precio diferente con un intervalo recurrente diferente o mover cancel_at a una fecha anterior a la próxima vez que se produzca el ciclo de suscripción no restablece el billing_cycle_anchor.

Fechas de inicio y finalización de la prueba

subscription.trial_start usa la fecha de inicio de prueba más reciente para las suscripciones con períodos de prueba posteriores.

¿Te fue útil esta página?
SíNo
¿Necesitas ayuda? Ponte en contacto con soporte.
Únete a nuestro programa de acceso anticipado.
Echa un vistazo a nuestro registro de cambios.
¿Tienes alguna pregunta? Contacto.
¿LLM? Lee llms.txt.
Con tecnología de Markdoc