# Cupons e códigos promocionais Adicione descontos a assinaturas e itens de assinatura usando cupons e códigos promocionais. Se a sua plataforma Connect utiliza [Contas configuradas pelo cliente](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer), utilize o nosso [guia](https://docs.stripe.com/connect/use-accounts-as-customers.md) para substituir as referências a `Cliente` e eventos no seu código pelas referências equivalentes da API Accounts v2. Resgate cupons para aplicar descontos às assinaturas oferecidas. Você também pode usar cupons para criar códigos promocionais para compartilhar com seus clientes. Os clientes podem resgatar esses códigos promocionais para aplicar descontos às assinaturas. - [Cupons](https://docs.stripe.com/billing/subscriptions/coupons.md#coupons): você cria e gerencia cupons para definir descontos, como uma porcentagem ou um valor de desconto do preço da assinatura. - [Códigos promocionais](https://docs.stripe.com/billing/subscriptions/coupons.md#promotion-codes): você cria códigos voltados para o cliente que mapeiam seus cupons. Por exemplo, FALLPROMO e SPRINGPROMO podem mapear para um único cupom de 25% de desconto. Você pode compartilhar códigos promocionais diretamente com seus clientes, que podem inseri-los e resgatá-los no checkout. Você pode usar cupons e códigos promocionais para: - Aplicar um ou mais descontos a uma fatura, assinatura ou item de assinatura - Aplique um ou mais descontos por um determinado período - Reduzir uma porcentagem ou um valor fixo das faturas Você também pode definir um cupom que um cliente deve resgatar até uma data específica ou que está limitado a um número definido de resgates para todos os seus clientes. Para usar descontos em pagamentos avulsos, consulte [Adicionar descontos a pagamentos avulsos](https://docs.stripe.com/payments/checkout/discounts.md). ## Cupons Para aplicar descontos a um cliente ou cobranças de um cliente, resgate cupons em descontos. Saiba como criar e gerenciar cupons nas seções a seguir. ### Criar um cupom Crie cupons no Dashboard ou com a [API](https://docs.stripe.com/api/coupons/create.md): #### Dashboard 1. No Dashboard, abra a página [Produtos](https://dashboard.stripe.com/test/products?active=true). 1. Clique em **Cupons**. 1. Clique em **+Novo**. 1. Na caixa de diálogo **Criar um cupom**, insira os parâmetros do cupom. 1. Clique em **Criar cupom**. A seguir estão todas as configurações para cupons. O nome é a única configuração que você poderá editar depois de criar o cupom. | Configuração | Descrição | | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Nome** | O nome do cupom que aparece em recibos e faturas. | | **ID** (optional) | Um identificador exclusivo para o cupom na API. Se você deixar esse campo em branco, a Stripe gera um ID para você. | | **Tipo** | Determina se um cupom desconta uma assinatura por um valor fixo ou por uma porcentagem. | | **Porcentual de desconto** ou **Valor do desconto** | Indica quanto o cupom realmente desconta. Se você vende em várias moedas, um único cupom pode definir diferentes valores de desconto para moedas diferentes. Os cupons multimoedas seguem as mesmas regras dos [preços multimoedas](https://docs.stripe.com/products-prices/how-products-and-prices-work.md#multiple-currencies). | | **Aplicar a produtos específicos** (optional) | Limita os tipos de itens aos quais o cupom pode ser aplicado. | | **Duração** | Indica a validade do cupom. | | **Limites de resgate** (optional) | Permite limitar quando um cliente pode resgatar o cupom e o número de vezes que ele pode ser resgatado. | | **Códigos** (optional) | Permite criar [códigos promocionais](https://docs.stripe.com/billing/subscriptions/coupons.md#promotion-codes--promotion-codes) para o cupom. | #### API ```curl curl https://api.stripe.com/v1/coupons \ -u "<>:" \ -d duration=once \ -d id=free-period \ -d percent_off=100 ``` A tabela a seguir contém parâmetros de cupom. | Configuração | Descrição | | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | Um identificador exclusivo para o cupom. | | `percent_off` ou `amount_off` | O valor retirado do subtotal pela duração do cupom. | | `currency` (se `amount_off` estiver definido) | O código ISO de três letras para a moeda do valor a ser decolado. | | `currency_options` (se `amount_off` estiver definido) (optional) | Se você vende em várias moedas, o valor deve ser retirado do subtotal para moedas diferentes. Os cupons multimoedas seguem as mesmas regras dos [preços multimoedas](https://docs.stripe.com/products-prices/how-products-and-prices-work.md#multiple-currencies). | | `duration` | Indica a validade do cupom. Os valores incluem **uma vez**, **vitalício** ou **repetido**. | | `max_redemptions` (optional) | O número máximo de vezes que um cupom pode ser resgatado em todos os clientes. | | `redeem_by` (optional) | A última data em que você pode aplicar este cupom aos clientes. | | `applies_to` (optional) | Limita os itens em uma fatura aos quais o cupom pode ser aplicado. | ### Definir produtos qualificados #### Dashboard Para definir os produtos elegíveis para descontos, adicione o produto relevante no campo **Aplicar a um produto específico**. Todos os códigos promocionais associados ao cupom também são restritos a essa lista de produtos elegíveis. Se você configurar um cupom para aplicar a produtos específicos e uma assinatura não tiver nenhum produto aplicável, nenhum desconto será aplicado quando você adicionar o cupom à assinatura. #### API Para definir os produtos elegíveis para descontos, adicione os IDs de produto relevantes ao hash `applies_to` no cupom. Esta lista de produtos qualificados também se aplica aos códigos promocionais associados ao cupom. Se você configurar um cupom para aplicar a produtos específicos e uma assinatura não tiver nenhum produto aplicável, nenhum desconto será aplicado quando você adicionar o cupom à assinatura. Quando você [faz alterações](https://docs.stripe.com/billing/subscriptions/change.md) em um assinatura, a Stripe calcula o pro rata e aplica os descontos existentes. Não é possível descontar itens de linha pro rata na fatura gerada. ### Aplique cupons a assinaturas Depois de criar cupons, aplique-os a uma assinatura para criar um desconto. Você pode aplicar o cupom durante a criação da assinatura ou [atualizando a assinatura existente de um cliente](https://docs.stripe.com/api.md#update_subscription). #### Dashboard 1. No Dashboard, abra a página [Assinaturas](https://dashboard.stripe.com/test/subscriptions?status=active) página. 1. Clique na assinatura relevante. 1. Clique em **Ações**. 1. Clique em **Atualizar assinatura**. 1. Clique em **Adicionar cupom**. 1. Selecione um ou mais cupons nos menus suspensos e clique em **Enviar**. #### API ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "discounts[0][coupon]"=free-period ``` Ainda é possível criar um assinatura quando um cliente não tiver uma forma de pagamento armazenada se [nenhum pagamento imediato](https://docs.stripe.com/billing/subscriptions/deferred-payment.md) for obrigatório depois que você aplica cupons a ele. ### Aplicar cupons ao Checkout Aplique cupons a assinaturas em uma sessão do Checkout definindo o parâmetro `discounts` na [API](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-discounts). Para criar uma sessão com desconto aplicado, passe o ID do cupom no parâmetro `coupon` da matriz `discounts`. #### curl ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "payment_method_types[]"=card \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \ -d mode=subscription \-d "discounts[][coupon]"="{{COUPON_ID}}" \ -d success_url="https://example.com/success" ``` ### Excluir cupons Você pode excluir cupons com o Dashboard ou a [API](https://docs.stripe.com/api/coupons/delete.md). A exclusão de um cupom impede que ele seja aplicado a assinaturas ou faturas futuras, mas não remove o desconto de nenhuma assinatura ou fatura que já o tenha. #### Dashboard 1. No Dashboard, abra a página [Produtos](https://dashboard.stripe.com/test/products?active=true). 1. Clique em **Cupons** 1. Clique no cupom desejado. 1. Clique no menu de navegação (⋯). 1. Clique em **Excluir cupom**. #### API ```curl curl -X DELETE https://api.stripe.com/v1/coupons/free-period \ -u "<>:" ``` ### Duração do cupom A duração de um cupom indica a validade do [desconto](https://docs.stripe.com/api/.md#discounts) resgatado. Por exemplo, um cupom de 50% de desconto com duração de 4 meses se aplica a todas as faturas no período de 4 meses, a partir da primeira aplicação do cupom. Se um cliente aplicar este cupom a uma assinatura anual durante o período de 4 meses do cupom, o desconto de 50% se aplicará a toda a assinatura anual. Em uma assinatura mensal, o cupom se aplica aos primeiros 4 meses. Para uma assinatura semanal, o cupom é aplicado a todas as faturas nos primeiros 4 meses. Se estiver configurando a duração de um cupom na API, quando usar o valor `repeating`, é preciso especificar `duration_in_months` como o número de meses aos quais o cupom se aplica repetidamente. Se você definir a duração como `once`, o cupom será aplicado somente à primeira fatura. Se você definir a duração como `forever`, o cupom se aplica a todas as faturas indefinidamente. > Se você aplicar um cupom a uma [assinatura retroativa](https://docs.stripe.com/billing/subscriptions/backdating.md), a duração do cupom começa a ser contabilizada a partir da data de início retroativa, e não a partir de quando você faz a chamada da API. Para cupons `recorrentes`, isso significa que o período retroativo consome parte da duração do cupom. O `duration_in_months` do cupom deve ser maior que o período retroativo se você quiser que o desconto seja aplicado às faturas após o período retroativo. Consulte [Retroatividade e descontos](https://docs.stripe.com/billing/subscriptions/backdating.md#backdating-discounts) para mais detalhes. ### Limites de resgate Os limites de resgate se aplicam ao cupom para todos os clientes. Por exemplo, se você limitar a 50 o número de vezes que um cupom pode ser resgatado, poderá aplicá-lo aos seus clientes apenas 50 vezes. Isso pode ser uma vez para 50 clientes diferentes, um cliente 50 vezes ou vários clientes várias vezes até o máximo de 50 vezes. Se você definir um cupom com durabilidade vitalícia quando um cliente usá-lo, mas o cupom tiver uma data de validade, todos os clientes que receberem esse cupom terão o desconto vitalício. Nenhum novo cliente poderá aplicar o cupom após a data de validade. ## Códigos promocionais Os códigos promocionais são destinados aos clientes que você cria para cupons. Por exemplo, FALLPROMO e SPRINGPROMO podem apontar para um único cupom de 25% de desconto. Você pode compartilhar códigos promocionais diretamente com seus clientes para usar no checkout. Se você implementou o *portal do cliente* (The customer portal is a secure, Stripe-hosted page that lets your customers manage their subscriptions and billing details) e ativou os códigos promocionais, os clientes podem aplicar um desconto ao fazer upgrade ou downgrade de suas assinaturas existentes no portal. > As assinaturas aplicam o código promocional e as atualizações de preço separadamente, o que pode causar atualizações inesperadas. Por exemplo, uma falha no pagamento pode causar falha no upgrade de preço, mas o código promocional incluído com a atualização de preço é bem-sucedido. > O portal do cliente exibe os códigos promocionais aplicados a uma assinatura. Se você não quiser permitir que os clientes apliquem o código promocional ou o compartilhem com outras pessoas, você deve [definir limites para o código promocional](https://docs.stripe.com/billing/subscriptions/coupons.md#promo-code-config) ou [aplicar um cupom](https://docs.stripe.com/billing/subscriptions/coupons.md#discount-subscriptions) diretamente. Personalize controles e limites de códigos promocionais especificando clientes elegíveis, primeiros pedidos de clientes, valores mínimos de pedidos, datas de validade e limites de resgate. ### Restrições Há algumas restrições aos códigos promocionais. - Não é possível aplicar um código promocional com restrição de valor em: - [Objetos Subscription Item](https://docs.stripe.com/api/subscription_items/object.md) - [Objetos de item da fatura](https://docs.stripe.com/api/invoiceitems/object.md) - [Objetos Subscriptions](https://docs.stripe.com/api/subscriptions/object.md) ao fazer uma atualização - Fases futuras em [objetos Subscription Schedule](https://docs.stripe.com/api/subscription_schedules/object.md) ### Criar códigos promocionais #### Dashboard Você pode criar um código promocional no Dashboard ao [criar um cupom](https://docs.stripe.com/billing/subscriptions/coupons.md#create-coupons--create-coupons). O **Código** não diferencia maiúsculas de minúsculas e é exclusivo dentre todos os códigos de promoção ativos para qualquer cliente. Por exemplo: - Você pode criar vários códigos promocionais restritos a determinados clientes com o mesmo **Código**, mas não pode reutilizar esse **Código** em uma promoção que qualquer cliente possa resgatar. - Se você criar um código promocional resgatável por qualquer cliente, não será possível criar outro código promocional ativo com o mesmo **código**. - Você pode criar um código promocional com um **Código**, [desativá-lo](https://docs.stripe.com/billing/subscriptions/coupons.md#inactive-promotions--inactivate) e depois criar um novo código promocional com o mesmo **Código**. 1. No Dashboard da página [Criar um cupom](https://dashboard.stripe.com/test/coupons/create), clique no botão **Usar códigos de cupom voltados para o cliente**. 1. Insira um código. Este é o código que o cliente insere no checkout para resgatar o desconto. Se você não definir um código, a Stripe gera um para você. 1. Selecione os requisitos para o código promocional. Por exemplo, você pode restringir o cupom a ser válido apenas para o primeiro pedido. #### API O `code` não diferencia maiúsculas de minúsculas e é exclusivo dentre todos os códigos de promoção ativos para qualquer cliente. Por exemplo: - Você pode criar vários códigos promocionais restritos a determinados clientes usando o mesmo `code`, mas não pode reutilizar esse `code` em uma promoção que pode ser resgatada por qualquer cliente. - Se você criar um código promocional que pode ser resgatado por qualquer cliente, não é possível criar outro código promocional ativo com o mesmo `code`. - Você pode criar um código promocional com `code: NEWUSER`, inativá-lo com o parâmetro `active: false` e então criar um novo código promocional com `code: NEWUSER`. Para criar um [código promocional](https://docs.stripe.com/api/promotion_codes.md), especifique um `coupon` existente e as restrições aplicáveis (por exemplo, limitado a um `customer` específico). Se você tiver um código específico que deseja atribuir ao cliente (por exemplo, `FALL25OFF`), defina o `code`. Se você deixar esse campo em branco, a Stripe irá gerar um `code` aleatório para você. ```curl curl https://api.stripe.com/v1/promotion_codes \ -u "<>:" \ -d coupon=ZQO00CcH \ -d code=ALICE20 \ -d customer="{{CUSTOMER_ID}}" ``` Quando você cria um código promocional, ele herda a configuração do cupom associado. ### Configurações de códigos promocionais Ao definir as configurações do código promocional, é possível personalizar o seguinte: - Quais clientes podem usar um código promocional - Quantas vezes um cliente pode resgatar um código promocional - Quando um código promocional expira - Definir um valor mínimo para o qual um código promocional pode ser aplicado ### Limitar por cliente #### Dashboard Para limitar um código promocional a um cliente específico, conclua estas etapas: 1. Na página [Criar um cupom](https://dashboard.stripe.com/test/coupons/create), selecione **Limitar a um cliente específico**. 1. Selecione o cliente relevante. Se você não especificar um cliente, qualquer cliente poderá resgatar o código promocional. #### API Para limitar um código promocional a um cliente específico, especifique um `customer` na criação do código promocional. Se você não especificar um cliente, qualquer cliente poderá resgatar o código promocional. ### Limitar ao primeiro pedido A configuração limita o cupom a clientes que não possuam histórico prévio de transações na sua plataforma. Isso impede que clientes utilizem o cupom se: - Tiverem iniciado um PaymentIntent, mesmo que o pagamento não tenha sido concluído. - Tiverem participado de um período de teste, ainda que posteriormente cancelado. #### Dashboard Para restringir um código promocional a clientes de primeira compra, na página [Criar um cupom](https://dashboard.stripe.com/test/coupons/create), selecione **Válido apenas para primeiro pedido**. #### API Restrinja o código promocional a clientes de primeira compra ajustando o parâmetro `first_time_transaction` do atributo `restrictions`. ### Definir um valor mínimo #### Dashboard Para definir um valor mínimo qualificado para um código promocional, na página [Criar um cupom](https://dashboard.stripe.com/test/coupons/create), selecione **Exigir valor mínimo de pedido** e insira o valor mínimo. Como as restrições por código promocional são verificadas no momento do resgate, o valor mínimo da transação se aplica somente ao pagamento inicial de uma assinatura. Se o cupom aceitar várias moedas, o valor mínimo pode ser diferente por moeda. #### API Com códigos promocionais, você pode definir um valor mínimo de transação para aplicação do desconto configurando as propriedades `minimum_amount` e `minimum_amount_currency`. Como as restrições por código promocional são verificadas no momento do resgate, o valor mínimo da transação se aplica somente ao pagamento inicial de uma assinatura. Se você vende em várias moedas, defina o valor mínimo de transação para moedas diferentes configurando a propriedade `currency_options`. ### Personalizar validades #### Dashboard Para definir uma data de validade para um código promocional, na página [Criar um cupom](https://dashboard.stripe.com/test/coupons/create), selecione **Adicionar uma data de validade** e a data e hora em que o código promocional vence. Se o cupom correspondente já tiver uma data de validade definida, a data de validade do código promocional não pode ser posterior à do cupom. Por exemplo, você pode ter planos de oferecer um cupom por um ano, mas deseja que ele possa ser resgatado apenas por uma semana após o recebimento por parte do cliente. Para isso, defina a data de validade do cupom para daqui a um ano e a data de validade de cada código promocional para uma semana após a sua criação. #### API Defina uma data de validade no código promocional usando `expires_at`. Se o cupom correspondente já tiver a configuração `redeem_by`, a data de validade do código promocional não pode ser posterior à do cupom. Se `promotion_code[expires_at]` não for especificado, a `redeem_by` do cupom preencherá automaticamente `expires_at`. - Por exemplo, você pode ter planos de oferecer um cupom por um ano, mas deseja que ele possa ser resgatado apenas por uma semana após o recebimento por parte do cliente. O parâmetro `coupon[redeem_by]` deve ser daqui a um ano, e cada `promotion_code[expires_at]` deve ser uma semana após a criação. ### Limitar resgates #### Dashboard Para definir o número total de vezes que o código promocional pode ser resgatado pelos seus clientes, selecione **Limitar o número de vezes que este código pode ser resgatado** na página [Criar um cupom](https://dashboard.stripe.com/test/coupons/create) e digite o número. Veja [Limites de resgate](https://docs.stripe.com/billing/subscriptions/coupons.md#redemption-limits) para obter detalhes. Se o cupom correspondente já tiver um número máximo de vezes definido, os resgates máximos do código promocional não podem ser maiores do que os do cupom. #### API Limite o número total de vezes que um código promocional pode ser resgatado pelos seus clientes usando `max_redemptions`, que funciona de forma semelhante aos cupons. Se o cupom subjacente já tiver `max_redemptions` definido, o código promocional `max_redemptions` não poderá ser maior que o cupom. Veja [Limites de resgate](https://docs.stripe.com/billing/subscriptions/coupons.md#redemption-limits) para obter detalhes. ### Desativar códigos promocionais #### Dashboard Para desativar um código promocional, siga estas instruções: 1. No Dashboard, abra a página [Produtos](https://dashboard.stripe.com/test/products?active=true). 1. Clique em **Cupons**. 1. Clique no cupom cujo código promocional deseja desativar. 1. Na linha do código promocional relevante, clique no menu de navegação (⋯). 1. Clique em **Arquivar código promocional**. Contudo, se o cupom correspondente de um código promocional ficar inválido, todos os seus códigos promocionais são permanentemente desativados. Da mesma forma, se um código promocional atingir seu limite máximo de resgate ou sua data de validade, ele se tornará permanentemente inativo. Esses códigos promocionais não podem ser reativados. #### API Defina se um código promocional pode ser resgatado atualmente com o parâmetro `active`. Contudo, se o cupom correspondente de um código promocional ficar inválido, todos os seus códigos promocionais são permanentemente desativados. Da mesma forma, se um código promocional atingir seu `max_redemptions` ou `expires_at`, ele se tornará permanentemente inativo. Esses códigos promocionais não podem ser reativados. ### Aplicar códigos promocionais a assinaturas Depois de criar um código promocional, resgate um desconto aplicando o código promocional a uma assinatura. Você pode aplicar códigos promocionais de duas maneiras: - Quando você [cria uma assinatura](https://docs.stripe.com/api.md#create_subscription) - Quando você [atualiza a assinatura existente de um cliente](https://docs.stripe.com/api.md#update_subscription) #### Dashboard 1. No Dashboard, acesse **Cobrança** > **Assinaturas**. 1. Clique na assinatura relevante. 1. Clique em **Ações** > **Atualizar assinatura** > **Adicionar cupom**. 1. Clique em um código promocional no menu suspenso e clique em **Enviar**. #### API 1. [Liste](https://docs.stripe.com/api/promotion_codes/list.md) os códigos promocionais e use o [código](https://docs.stripe.com/api/promotion_codes/list.md#list_promotion_code-code) do seu cliente como filtro para [recuperar](https://docs.stripe.com/api/promotion_codes/retrieve.md) o [ID do código promocional](https://docs.stripe.com/api/promotion_codes/object.md#promotion_code_object-id). 1. Para aplicar o código promocional, use o ID do código promocional na chamada da API a seguir: ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "discounts[0][promotion_code]"="{{PROMOTIONCODE_ID}}" ``` ### Adição de códigos promocionais ao Checkout Habilite códigos promocionais com a API definindo o parâmetro [allow_promotion_codes](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-allow_promotion_codes) nas sessões do Checkout. Quando `allow_promotion_codes` está ativado em uma sessão do Checkout, o Checkout inclui uma caixa de resgate de código promocional para uso pelos clientes. ![Campo de código promocional no checkout](https://b.stripecdn.com/docs-statics-srv/assets/promo_code_checkout.c07ef6d4f0b1b3f9a8a7e4bbba83d56f.png) Campo de código promocional no checkout ## Cupons empilháveis e códigos promocionais Você pode adicionar vários cupons, códigos promocionais ou [descontos](https://docs.stripe.com/api/.md#discounts) resgatados à lista de cobranças de um cliente. Isso pode ser feito ao [criar uma assinatura](https://docs.stripe.com/api.md#create_subscription) ou [atualizando a assinatura existente de um cliente](https://docs.stripe.com/api.md#update_subscription). Aceitamos vários descontos em assinaturas e itens de assinatura. Quando você cria uma assinatura com descontos cumulativos, cada desconto se aplica a todos os itens da assinatura. A ordem dos descontos é importante se você usar `amount_off` e `percent_off`. Por exemplo, os seguintes descontos acumulados se aplicam de forma diferente: - 20% de desconto *then* 5 USD de desconto - 5 USD de desconto *then* 20% de desconto #### Dashboard 1. No Dashboard, acesse **Cobrança** > **Assinaturas**. 1. Clique na assinatura relevante. 1. Clique em **Ações** > **Atualizar assinatura** > **Adicionar cupom**. 1. Clique em cupons nos menus suspensos e em **Enviar**. 1. Clique no produto relevante. 1. Clique em **Adicionar cupons**. 1. Clique em cupons nos menus suspensos e em **Enviar**. #### API ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][discounts][0][coupon]"=item-coupon \ -d "items[0][discounts][1][promotion_code]"=item-promo \ -d "discounts[0][coupon]"=sub-coupon \ -d "discounts[1][promotion_code]"=sub-promo ``` ### Restrições Há algumas restrições ao uso de vários descontos. - Você pode configurar até 20 entradas no parâmetro `discounts`. - Cada entrada em `discounts` tem de ser única. - Não é possível usar um cupom e um código promocional gerados a partir do mesmo cupom. - Não é possível usar um cupom e um desconto gerados a partir do mesmo cupom. - Os descontos resgatados já devem estar vinculados ao cliente ou assinatura que você está atualizando. ### Atualizar uma assinatura Você não precisa definir `discounts` se não pretende fazer alterações nos descontos existentes. Ao atualizar `discounts`, você precisa passar qualquer `coupon`, `promotion_code` ou `discount` definido anteriormente que você deseja manter na assinatura. Passe `discounts = ""` para eliminar todos os descontos da assinatura. Quando uma assinatura não tem descontos, o desconto por cliente, se houver, se aplica às faturas. Se você já tiver definido mais de um desconto em uma assinatura com o novo parâmetro `discounts`, não poderá atualizar a assinatura com o parâmetro `coupon` ou `promotion_code` obsoleto. Da mesma forma, você não poderá atualizar as fases de um cronograma com o parâmetro `coupon` ou `promotion_code`l obsoleto se tiver definido mais de um desconto em uma fase anterior. A atualização de `discounts` não gera rateios nem fatura por si só. Os novos descontos serão aplicados na próxima vez que a assinatura gerar uma fatura. ## Métodos de desconto alternativos Embora os cupons sejam a maneira mais comum de aplicar um desconto a uma assinatura, você também pode utilizar o seguinte: - Adicione um [saldo do cliente](https://docs.stripe.com/api.md#customer_object-balance) negativo ao cliente. - Adicione [itens de fatura](https://docs.stripe.com/billing/invoices/subscription.md#adding-draft-invoice-items) negativos. - Adicione um [segundo preço](https://docs.stripe.com/products-prices/manage-prices.md#create-price) que seja uma versão mais barata do preço normal de um produto. Desses métodos, os itens de fatura negativos fornecem informações mais detalhadas sobre qual desconto foi criado, quando e por quê. ## See also - [Alterar assinaturas](https://docs.stripe.com/billing/subscriptions/change.md) - [Trabalhar com faturas](https://docs.stripe.com/billing/invoices/subscription.md) - [API de cupons](https://docs.stripe.com/api.md#coupons) - [API de códigos promocionais](https://docs.stripe.com/api.md#promotion_codes)