Pular para o conteúdo
Criar conta
ou
Entrar
O logotipo da documentação da Stripe
/
Pergunte à IA
Criar conta
Login
Comece já
Pagamentos
Receita
Plataformas e marketplaces
Gestão de valores
Ferramentas para desenvolvedores
Visão geral
Billing
    Visão geral
    Sobre as APIs do Billing
    Assinaturas
      Como funcionam as assinaturas
      Início rápido
      Casos de uso
      Crie sua integração
      Recursos de assinatura
        Faturas de assinatura
        Cronogramas de assinatura
        Preços de assinatura
        Modelos de preço recorrente
        Incorporar uma tabela de preços
        Iniciar assinaturas
        Definir quantidades
        Defina ciclos de faturamento
        Inicie assinaturas com data passada
        Inscrever-se em vários itens
        Definir períodos de avaliação
        Aplicar cupons
        Migrar assinaturas para a Stripe
        Como cobranças proporcionais de crédito são calculadas
        Pagamentos de assinaturas
        Formas de pagamento de assinaturas
        Integrar com processamento de pagamentos externo
        Métodos de cobrança
        SCA (autenticação forte de cliente)
        Gerenciar assinaturas
        Modifique assinaturas
        Gerencie atualizações pendentes
      Análises
    Invoicing
    Cobrança por uso
    Connect e Billing
    Tax e Billing
    Cotações
    Recuperação de receitas
    Automações
    Scripts
    Reconhecimento de receitas
    Gerenciamento de clientes
    Direitos
    Teste sua integração
Tributos
Relatórios
Dados
Incorporação de startups
Página inicialReceitaBillingSubscriptionsSubscription features

Ativar comportamento flexível para assinaturas

Use o modo de cobrança para controlar como as cobranças proporcionais e as faturas de assinaturas são calculadas e orquestradas.

Copiar página

Cobranças proporcionais de assinatura

Leia o nosso guia de cobranças proporcionais para saber como gerenciar cobranças proporcionais em assinaturas modificadas e entender seu comportamento.

Atualmente, a Stripe calcula os valores da cobrança proporcional de crédito de acordo com o valor do preço atual, imposto, quantidade e últimos descontos usados do item de assinatura.

Você pode configurar billing_mode=flexible para ativar outra lógica de cobrança proporcional que calcula cobranças proporcionais de crédito com base no valor original debitado anteriormente de um cliente.

Visualização pública

Para ativar a nova lógica de cálculo de cobrança proporcional configurandobilling_mode=flexible, você deve atualizar sua versão da API para 2025-04-30.preview ou posterior.

O comportamento atual pode causar cobranças proporcionais inesperadas quando as alíquotas de impostos de um cliente mudam, você desabilita as cobranças proporcionais de débito ou usa valores complexos nos cupons. A lógica aprimorada de cobrança proporcional calcula as cobranças proporcionais de crédito com base apenas no valor original debitado anteriormente de um cliente. Quando um cliente faz uma alteração na assinatura que resulta em um crédito, a Stripe calcula a cobrança proporcional usando o valor cobrado anteriormente. Esse cálculo ocorre independentemente de alterações posteriores feitas à assinatura. A Stripe recomenda usar billing_mode=flexible se as limitações da prévia pública não se aplicarem a você.

Limitações da prévia pública Prévia pública

Durante a prévia pública, billing_mode=flexible não é compatível com todas as funcionalidades do Stripe Billing.

Quando você configura billing_mode=flexible:

  • Cobrança por uso não é aceita.
  • Cálculo de imposto automático não é aceito.
  • Avaliações não são aceitas.
  • Endpoints de cotações não são aceitos.
  • Não é possível criar assinaturas retroativas.
  • Não é possível suspender a cobrança de pagamentos em assinaturas.

Se você usar esses recursos com billing_mode=flexible, eles retornarão um código de erro 400.

Configurar o modo de cobrança Prévia pública

Você pode configurar billing_mode=flexible em assinaturas específicas e ter várias assinaturas com configurações de billing_mode diferentes. Não é possível alterar o billing_mode de flexible para classic. Isso garante lógica e comportamento consistentes durante todo o ciclo de vida de cada assinatura. Você pode migrar assinaturas existentes de billing_mode=classic para billing_mode=flexible.

Quando você configura billing_mode=flexible, ele também atualiza o subscription.trial_start para refletir a data de início da avaliação mais recente.

Especifique flexible no parâmetro billing_mode em qualquer solicitação de API que criar uma assinatura:

  • Assinaturas
  • Prévias de faturas
  • Sessões do Checkout

Migrar assinaturas para o modo de cobrança flexível Public preview

Você pode migrar assinaturas existentes de billing_mode=classic para billing_mode=flexible usando o endpoint de migração de assinatura. A migração para o modo de cobrança flexible é um processo unidirecional. Após migrar uma assinatura para o modo flexible, não é possível revertê-la para o modo classic. Isso garante uma lógica consistente de cobrança proporcional durante todo o ciclo de vida da assinatura.

Quando você migra uma assinatura, o carimbo de data e hora billing_mode_details.updated_at é atualizado para refletir quando o billing_mode é alterado.

Para migrar uma assinatura para billing_mode=flexible, faça uma solicitação POST para o endpoint /v1/subscriptions/{SUBSCRIPTION_ID}/migrate com o parâmetro billing_mode definido como flexible:

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

A resposta mostra a assinatura atualizada com billing_mode definido como flexible e o carimbo de data e hora 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 }

Mudanças no modo de cobrança flexível

Definir billing_mode=flexible em uma assinatura altera o comportamento dos objetos Subscription ao longo do ciclo de vida e em resposta a upgrades, downgrades e cancelamentos.

Lógica de cálculo sem cobranças proporcionais

No seguinte cenário, você atualiza uma 10 USD assinatura mensal para 20 USD com o proration_behavior definido como none por 10 dias. Não há débito anterior para baseá-lo. Posteriormente, você faz o downgrade da assinatura para 10 USD por mês com proration_behavior definido como always_invoice.

Para configurar esse cenário, primeiro você cria uma assinatura de 10 USD/mês em 2025-04-01:

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

A resposta inclui a fatura criada para esta assinatura:

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

Em 2025-04-11, você atualiza a assinatura para 20 USD/mês sem criar cobranças proporcionais:

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

A fatura mais recente permanece inalterada porque proration_behavior é none:

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

Finalmente, em 2025-04-21, você faz um downgrade da assinatura para 10 USD/mês e cria cobranças proporcionais:

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

A lógica padrão de cálculo proporcional cria uma cobrança proporcional de crédito com base no preço atual, mesmo que o cliente nunca tenha pago a taxa de 20 USD/mês. A última fatura credita um terço do mês por 20 USD (-6.67 USD), mesmo que o cliente nunca tenha pago pelo preço price_20_monthly. Além disso, debita um terço do mês no valor de 10 USD (3.33 USD).

A lógica de cálculo habilitada com billing_mode=flexible cria uma cobrança proporcional de crédito com base no último preço faturado para o item de assinatura. Nesse caso, a última fatura credita um terço de um mês pelo preço de 10 USD/mês cobrado em 2025-04-01 (3.33 USD) e debita um terço do mês pelo preço de 10 USD (3.33 USD). O crédito e o débito são cancelados, então o total da fatura é 0 USD.

Antes
Depois
# 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 cupons aplicados a vários itens de assinatura

A Stripe pondera o cupom amount_off no rateio de crédito para evitar cobranças em excesso.

No seguinte cenário, um cupom de 5 USD é alocado de forma desigual a uma assinatura mensal de 25 USD para um item de 10 USD e um item de 20 USD.

Para configurar esse cenário, crie uma assinatura com vários itens e um cupom em 2025-02-01:

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

O que retorna esta resposta:

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 o item de assinatura de 10 USD/mês 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 o mesmo item 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

O comportamento padrão distribui um cupom de 5 USD para cada item (2.5 USD cada), cancelando o item mais barato (5 USD) e resultando em um reembolso de 2.5 USD. A Stripe calcula o total com a fórmula -0.5 x (10 USD price - 5 USD coupon) = -2.50 USD

O novo comportamento reflete o desconto proporcional aplicado ao item cancelado, em vez de aplicar o valor do desconto total ao cálculo proporcional. A Stripe calcula o total usando a fórmula -0.5 x (10 USD price - 1.66 USD discount amount) = -4.17 USD.

Antes
Depois
# 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" } }

Redefinições de âncora de ciclo de cobrança

Quando você altera uma assinatura, o billing_cycle_anchor não é redefinido implicitamente. Por exemplo, mudar uma assinatura para um preço diferente com um intervalo recorrente diferente ou mudar o cancel_at para uma data anterior à próxima vez que os ciclos de assinatura não redefinem o billing_cycle_anchor.

Datas de início e término da avaliação

O subscription.trial_start usa a data de início da avaliação mais recente para assinaturas com avaliações subsequentes.

Esta página foi útil?
SimNão
Precisa de ajuda? Fale com o suporte.
Participe do nosso programa de acesso antecipado.
Confira nosso changelog.
Dúvidas? Fale com a equipe de vendas.
LLM? Read llms.txt.
Powered by Markdoc