# Definir a data de renovação de faturamento da assinatura Assinaturas são cobradas em ciclos. Veja como definir a data de cobrança. Se sua integração usar [customer-configured Accounts](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer), substitua `Customer` e as referências a eventos nos exemplos de código pelas referências equivalentes da API Accounts v2. Para mais informações, consulte [Representar clientes com objetos Account](https://docs.stripe.com/connect/use-accounts-as-customers.md). O período de cobrança de uma assinatura depende de dois fatores: - O intervalo recorrente do [preço](https://docs.stripe.com/products-prices/overview.md) ou preços, como mensal, anual, semanal e assim por diante. - A [âncora do ciclo de faturamento](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-billing_cycle_anchor) é o ponto de referência que alinha datas futuras do período de cobrança. Ela define o dia da semana para intervalos de `week`, o dia do mês para `month` e intervalos de `year` e o mês do `year`. O valor padrão é a data de criação da assinatura ou a data final da avaliação (se você estiver usando um período de avaliação). Você também pode definir explicitamente esse valor no ato da criação da assinatura. > As âncoras do ciclo de faturamento são carimbos de data e hora do UNIX da época atual. Veja a seguir exemplos de assinaturas mensais com diferentes períodos de cobrança: - Uma assinatura mensal com uma data âncora do ciclo de faturamento de 2 de setembro sempre é faturada no segundo dia do mês. - Uma assinatura mensal com uma data âncora de ciclo de faturamento de 31 de janeiro fatura o último dia do mês mais próximo da data âncora, ou seja, 28 de fevereiro (ou 29 de fevereiro em um ano bissexto), depois 31 de março, 30 de abril e assim por diante. - Uma assinatura semanal com uma data âncora do ciclo de faturamento de sexta-feira, 3 de junho fatura todas as sextas-feiras a partir de então. Os períodos de faturamento completos começam na primeira data da *fatura* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) completa, que normalmente é a data da âncora do ciclo de faturamento e sempre está alinhada por intervalos. ## Especificar a âncora do ciclo de faturamento para novas assinaturas > O horário de criação da assinatura corresponde ao horário da solicitação. Ele não é o mesmo que a data de início da assinatura. Saiba mais sobre [retrodatação e âncoras do ciclo de faturamento](https://docs.stripe.com/billing/subscriptions/backdating.md#backdating-billing-cycle). Existem duas formas de definir a âncora do ciclo de faturamento em novas assinaturas: - Use `billing_cycle_anchor_config` para calcular o carimbo de data e hora para você (somente assinaturas mensais ou anuais). - Use `billing_cycle_anchor` para aceitar diretamente o carimbo de data e hora. Se estiver criando uma assinatura mensal ou anual, recomendamos usar o parâmetro `billing_cycle_anchor_config`, pois ele considera automaticamente os meses curtos e anos bissextos. Se estiver criando uma assinatura diária ou semanal, ou se preferir definir a data de renovação da sua assinatura usando um carimbo de data e hora, use o parâmetro `billing_cycle_anchor` diretamente. ### Usar billing_cycle_anchor_config Para criar uma integração com assinaturas mensais ou anuais, use `billing_cycle_anchor_config` em [criar assinatura](https://docs.stripe.com/api.md#create_subscription) para especificar o dia do mês no qual a âncora será feita. Defina `day_of_month` como `31` para criar uma assinatura mensal com renovação no final do mês, mesmo em meses com menos de 31 dias. Se um mês tiver menos de 31 dias, a assinatura renovará no último dia desse mês. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "billing_cycle_anchor_config[day_of_month]=31" ``` Você também pode especificar `month` para controlar o mês do ano para a âncora em assinaturas de vários meses ou anuais. Para definir suas assinaturas anuais no dia 1º de julho, crie uma assinatura anual com um `month` de `7` e `day_of_month` de `1`. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "billing_cycle_anchor_config[month]=7" \ -d "billing_cycle_anchor_config[day_of_month]=1" ``` Você pode especificar o mês, o dia, a hora, o minuto e o segundo exatos para a âncora do ciclo de cobrança usando `billing_cycle_anchor_config`. Se você não especificar a hora, o minuto e o segundo, o padrão será os valores do horário de criação da assinatura. A âncora do ciclo de cobrança usa UTC (Horário Universal Coordenado). Por exemplo, se você criar uma assinatura usando `billing_cycle_anchor_config` às 5 PM EST sem especificar a hora, a hora será registrada no sistema como 10 PM UTC. `billing_cycle_anchor_config` não aceita ancoragem em uma data de início retroativa. Por exemplo, se você tiver uma assinatura mensal existente com um carimbo de data e hora `billing_cycle_anchor` que contém o dia do mês, a hora, o minuto e o segundo de 15, 12, 30 e 0, poderá alinhar uma nova assinatura mensal a ele. Para fazer isso, defina `day_of_month`, `hour`, `minute` e `second` para corresponder aos mesmos valores, respectivamente. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "billing_cycle_anchor_config[day_of_month]=15" \ -d "billing_cycle_anchor_config[hour]=12" \ -d "billing_cycle_anchor_config[minute]=30" \ -d "billing_cycle_anchor_config[second]=0" ``` Se você usar `billing_cycle_anchor_config`, poderá resultar em um `billing_cycle_anchor` com mais de um período de faturamento no futuro. No entanto, a data da primeira fatura completa sempre ocorre em um período de faturamento desde a criação da assinatura ou do término de uma avaliação gratuita. Por exemplo, suponhamos que você cria uma assinatura de intervalo de dois meses em fevereiro e a realiza no final de cada mês, definindo `day_of_month` como `31`. O próximo mês, que tem 31 dias em intervalos de dois meses a partir de fevereiro, é agosto. Isso resulta em uma âncora de ciclo de faturamento em 31 de agosto. No entanto, a primeira data de fatura completa dessa assinatura ainda ocorre em fevereiro. Há um período inicial proporcional da criação da assinatura até 28 de fevereiro (ou 29 durante um ano bissexto), seguido por um período de faturamento completo de dois meses. ### Usar billing_cycle_anchor Você pode criar uma assinatura com uma âncora de ciclo de faturamento explícita usando a API Subscriptions ou o Checkout. #### API Subscriptions Chame [create subscription](https://docs.stripe.com/api.md#create_subscription), definindo um carimbo de data e hora para `billing_cycle_anchor`. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d billing_cycle_anchor=1611008505 ``` ### Configurar o comportamento proporcional Independentemente do parâmetro de API usado, a Stripe cria automaticamente uma fatura proporcional para cobrar o período entre a data de criação da assinatura e a data completa da primeira fatura. Se você não quiser cobrar imediatamente de um cliente o período entre a criação da assinatura e a primeira data da fatura completa, você pode: - [Desative o pro rata](https://docs.stripe.com/billing/subscriptions/prorations.md#disable-prorations) definindo `proration_behavior` como `none`, tornando gratuito o período inicial até a primeira data de faturamento integral. Esta ação não gera nenhuma fatura até o primeiro período de cobrança. - [Combine um período de teste com o billing_cycle_anchor](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#combine-trial-anchor) definindo `trial_end` como um carimbo que represente a data em que o teste gratuito termina. Dependendo da duração do teste gratuito e do número de dias até a data da primeira fatura completa, essa opção pode resultar em uma fatura rateada após o período de teste. Por exemplo, um teste gratuito é de 7 dias e a renovação de cobrança é mensal no dia 1º. Se o cliente assina no dia 15, geramos uma fatura pro rata no dia 22 para o período entre o dia 22 e o dia 1º e, em seguida, cobramos o valor integral no dia 1º de cada mês posteriormente. Se um cliente assina no dia 28, o teste gratuito se estende além do dia 1º, gerando uma fatura pro rata até o mês seguinte. #### Checkout Chame [criar sessão](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session) do Stripe Checkout com um carimbo de data e hora para `subscription_data.billing_cycle_anchor`: #### cURL ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \-d "subscription_data[billing_cycle_anchor]"=1611008505 ``` O Checkout deve estar no modo `subscription` para configurar uma âncora de ciclo de faturamento. ### Configurar o comportamento proporcional É possível configurar o gerenciamento do período entre a criação da assinatura e a primeira data da fatura completa usando o parâmetro `proration_behavior`. O Checkout não aceita a combinação de uma avaliação com a âncora do ciclo de faturamento. - Mantenha a configuração `create_prorations` padrão para permitir que a Stripe fature imediatamente o cliente para o período entre a data da assinatura e a primeira data da fatura completa. - [Desative o pro rata](https://docs.stripe.com/payments/checkout/billing-cycle.md?ui=embedded-form#disable-prorations) definindo `proration_behavior` como `none`, tornando o período inicial gratuito (até a primeira data de faturamento integral). Esta ação não gera nenhuma fatura até o primeiro período de cobrança. > Não é possível usar preços avulsos em sessões do Checkout quando `proration_behavior` for `none`. ## Alterar o período de cobrança das assinaturas existentes Use a [API Subscriptions](https://docs.stripe.com/api/subscriptions/update.md) ou o [Dashboard](https://dashboard.stripe.com/subscriptions) para alterar a data de faturamento de uma assinatura existente usando uma das seguintes opções: - Redefina a âncora do ciclo de faturamento para a hora atual. - Adicione uma [avaliação gratuita](https://docs.stripe.com/billing/subscriptions/trials.md) para definir automaticamente a data âncora para o final da avaliação. As avaliações normalmente começam quando você cria uma assinatura, mas também é possível aplicá-las a assinaturas existentes, permitindo creditar o cliente pelos dias restantes no ciclo anterior que ele já pagou. A data do ciclo de cobrança muda nesses cenários. No entanto, se você criar ou atualizar uma assinatura com `billing_mode[type]=flexible`, a âncora do ciclo de cobrança permanecerá inalterada. Saiba mais sobre [como configurar o modo de cobrança flexível](https://docs.stripe.com/billing/subscriptions/billing-mode.md) e suas [limitações](https://docs.stripe.com/billing/subscriptions/billing-mode.md#limitations). - Se todos os preços forem de valor zero, adicionar um ou mais preços pagos zera imediatamente o período de cobrança. Consulte o [guia para alterar preços de assinatura](https://docs.stripe.com/billing/subscriptions/change-price.md#handle-zero-amount-prices-and-quantities) para obter mais informações. - O `billing_cycle_anchor` é redefinido para a data [cancel_at](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at) ao criar uma assinatura com `cancel_at` definida para uma data anterior à próxima renovação da assinatura ou ao modificar uma data `cancel_at` existente em uma assinatura com `billing_cycle_anchor` no futuro da nova data `cancel_at`. - O `billing_cycle_anchor` é redefinido para o horário atual quando muda para um preço com [recurring.interval](https://docs.stripe.com/api/prices/object.md#price_object-recurring) diferente. ### Redefinir o período de cobrança para a hora atual Para redefinir a âncora do ciclo de cobrança para o horário atual, faça uma solicitação de atualização com `billing_cycle_anchor` definido como `now`. Isso define a âncora do ciclo de faturamento para o momento da solicitação de atualização. Depois de redefinir a âncora do ciclo de faturamento, a Stripe envia imediatamente uma fatura. [Ative a cobrança pro rata](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-proration_behavior) para creditar o cliente pelos dias já pagos no período anterior. Desativar a cobrança pro rata pode resultar em cobrança a mais do seu cliente. #### API Chame [atualizar a assinatura](https://docs.stripe.com/api.md#update_subscription), definindo `billing_cycle_anchor` como `now` e `proration_behavior` como `create_prorations` para evitar cobrar a mais do cliente os dias que ele já pagou no ciclo anterior. ```curl curl https://api.stripe.com/v1/subscriptions/sub_49ty4767H20z6a \ -u "<>:" \ -d billing_cycle_anchor=now \ -d proration_behavior=create_prorations ``` #### Dashboard 1. Na página [Assinaturas](https://dashboard.stripe.com/subscriptions) do dashboard, encontre a assinatura que deseja atualizar. 1. Clique no menu de navegação ⋯ e selecione **atualizar assinatura**. 1. Expanda a seção **Faturamento e cobrança de pagamento** e clique em **faturamento do dia**. Evitamos automaticamente a cobrança dos dias já pagos do ciclo anterior. Na prévia, clique em **exibir detalhes** para ver a fatura rateada. 1. Clique em **Atualizar assinatura**. ### Alterar o período de cobrança usando um período de teste Você pode alterar a âncora do ciclo de faturamento usando um [teste gratuito](https://docs.stripe.com/billing/subscriptions/trials.md) para definir automaticamente a data da âncora do ciclo de faturamento para a data `trial_end`. Por exemplo, se um cliente tiver uma assinatura ativa originalmente definida para ser cobrada em 23 de julho e, em 15 de julho, você introduzir um período de teste que termina em 1º de agosto: - O cliente recebe uma fatura de US$ 0 em 15 de julho. Ele já pagou até 23 de julho no ciclo anterior, então o período “gratuito” aplica-se apenas entre 24 e 31 de julho. - O cliente não é cobrado em 23 de julho. - O novo ciclo cobrado em 1º de agosto é um ciclo completo na tarifa normal e, depois disso, será cobrado novamente no 1º dia de cada mês. Opcionalmente, você pode impedir o rateio ao atualizar uma assinatura para iniciar um teste usando `proration_behavior=none`. Na maioria dos casos, se você estiver usando o período de teste para alterar o período de cobrança sem emitir uma fatura rateada, desative o rateio porque a duração do período de teste contabiliza a parcela já paga do período de cobrança anterior. #### API Chame [assinatura de atualização](https://docs.stripe.com/api.md#update_subscription), definindo `trial_end` como um carimbo de data e hora do Unix que representa a data final do teste e `proration_behavior` como `none`. Definir o `trial_end` define a âncora do ciclo de faturamento para a mesma data. ```curl curl https://api.stripe.com/v1/subscriptions/sub_49ty4767H20z6a \ -u "<>:" \ -d trial_end=1627801200 \ -d proration_behavior=none ``` #### Dashboard 1. Na página [Subscriptions](https://dashboard.stripe.com/subscriptions), encontre a assinatura que deseja atualizar. 1. Clique no menu de navegação ⋯ e selecione **atualizar assinatura**. 1. Expanda as **opções de assinatura** e clique em **período de avaliação** e selecione a duração da avaliação. O término da avaliação se torna a data de referência do novo ciclo de faturamento. Evitamos automaticamente a cobrança dos dias já pagos do ciclo anterior. Na prévia, clique em **mostrar detalhes** para ver a fatura rateada. 1. Se o período de avaliação terminar e o cliente não adicionar uma forma de pagamento, você pode optar uma das seguintes ações: - **Continuar assinatura e enviar fatura**: a Stripe envia um e-mail ao cliente com um link para uma página de pagamento para continuar a assinatura - **Cancelar assinatura** - **Suspender assinatura** 1. Clique em **Atualizar assinatura**. ## Cobrança por uso Com a [cobrança por uso](https://docs.stripe.com/products-prices/pricing-models.md), o preço pago pelo cliente varia de acordo com o consumo durante o período de cobrança. Quando a alteração do período de sobrança resulta no término antecipado do período de serviço de uma assinatura, você cobra do cliente o uso acumulado durante o período de cobrança reduzido. ### Limites Além do ciclo regular, é possível configurar assinaturas para cobrar sempre que o valor devido atingir um [limite](https://docs.stripe.com/billing/subscriptions/usage-based/thresholds.md). Se você tiver uma assinatura configurada para faturar dessa forma, poderá configurá-la para redefinir o período de serviço da assinatura quando atingir o limite. ## See also - [Usar períodos de avaliação](https://docs.stripe.com/billing/subscriptions/trials.md) - [Atualizar assinatura](https://docs.stripe.com/api.md#update_subscription)