Alterar Assinatura

📘

O que você irá aprender com esse artigo?

  • O que pode ser alterado em uma assinatura

Caso de uso

“Quero disponibilizar aos meus clientes, opções de alteração de assinatura como: alterar data de cobrança, acrescentar itens a assinatura, alterar método de pagamento, desabilitar o envio de e-mails notificando o vencimento da fatura, suspender assinatura.”

O que pode ser alterado em uma assinatura

É possível alterar informações de uma assinatura, via API, como:

Data de Cobrança
Para alterar a data de cobrança, é preciso realizar uma atualização na assinatura utilizando o método PUT no endpoint https://api.iugu.com/v1/subscriptions/{id} informando o parâmetro de id da assinatura e expires_at, que é a data de expiração e também a data da próxima cobrança.

Adicionar ou remover itens em uma assinatura
Para acrescentar produtos a assinatura, deve realizar uma atualização na mesma, utilizando o método PUT no endpoint https://api.iugu.com/v1/subscriptions/{id}.

É necessário que informe os parâmetros de id da assinatura e dentro da informação de subitens inserir os dados do produto (descrição, preço em centavos, quantidade e se este item terá ou não recorrência).

Já para remover item de uma assinatura, utilize o método PUT no endpoint https://api.iugu.com/v1/subscriptions/{id} informando dentro do objeto os parâmetros de id do subitem a ser removido e o parâmetro _destroy com o valor de true.

Desabilitar envio de e-mails notificando o vencimento da fatura
É possível realizar a atualização da assinatura para que o cliente não receba e-mail de vencimento da fatura, utilizando o método PUT no endpoint https://api.iugu.com/v1/subscriptions/{id} passando o parâmetro ignore_due_email com o valor de true.

Troca de plano da assinatura
A alteração de plano dentro de uma assinatura há duas formas que podem ser realizadas:

- Cobrando pró-rata
Para maiores informações, consulte a documentação Upgrade e Downgrade de Assinatura.

- Sem cobrança de pró-rata
É preciso realizar a alteração utilizando o método PUT na endpoint https://api.iugu.com/v1/subscriptions/{id} informando o id da assinatura e o plan_identifier como parâmetro básico para alteração.

Porém para não realizar cobrança de pró-rata, é preciso ou alterar a data de cobrança da assinatura, ou passar o parâmetro skip_charge com o valor true, para ignorar a cobrança.

Utilizando o parâmetro skip_charge, não será gerada a cobrança de forma imediata, obedecendo a data da cobrança do ciclo.

Exemplo de request

curl --request PUT \ 

     --url 'https://api.iugu.com/v1/subscriptions/FB1AA05822BF482F8A8B912850765671?api_token=ACC4D2292F4467C5092EC2DD231E06673160ECF95ED5E8E463A80DAC79113092' \ 

     --header 'Accept: application/json' \ 

     --header 'Content-Type: application/json' \ 

     --data ' 

{ 

     "two_step": false, 

     "suspend_on_invoice_expired": true, 

     "plan_identifier": "web_plan", 

     "skip_charge": true 

}'

Exemplo de response

É possível realizar a mudança de plano de uma assinatura ativa, para isto veja o artigo: https://dev.iugu.com/docs/upgrade-e-downgrade-de-assinatura

- Alterar método de pagamento da assinatura
Caso seu cliente precise alterar o método de pagamento, criamos um artigo específico: https://dev.iugu.com/docs/alterar-m%C3%A9todo-de-pagamento-de-uma-assinatura

Existem algumas alterações, que não dependem da solicitação do cliente, como

- Habilitar ou desabilitar transação em duas etapas
Esta opção precisa estar habilitada nas configurações da conta na iugu. Para realizar esta alteração utilize o método PUT na endpoint https://api.iugu.com/v1/subscriptions/{id} passando o parâmetro two_step com o valor de true.

Saiba mais sobre cobrança em duas etapas clicando aqui.

- Suspender assinatura quando há fatura expirada

Esta opção te possibilita suspender a assinatura caso a fatura não tenha confirmação de pagamento e expire.
Para atualizar a assinatura, com o intuito de habilitar ou desabilitar esta opção, utilize o método PUT na endpoint https://api.iugu.com/v1/subscriptions/{id} passando o parâmetro suspend_on_invoice_expired com o valor de true.

Exemplo de Request

curl --request PUT \ 

     --url 'https://api.iugu.com/v1/subscriptions/FB1AA05822BF482F8A8B912850765671?api_token=ACC4D2292F4467C5092EC2DD231E06673160ECF95ED5E8E463A80DAC79113092' \ 

     --header 'Accept: application/json' \ 

     --header 'Content-Type: application/json' \ 

     --data ' 

{ 

     "subitems": [ 

          { 

               "description": "novo produto", 

               "price_cents": "1500", 

               "quantity": "1", 

               "recurrent": true 

          } 

     ], 

     "two_step": false, 

     "suspend_on_invoice_expired": true, 

     "expires_at": "2021-11-29", 

     "ignore_due_email": false, 

     "suspended": false, 

     "skip_charge": false 

}'

Exemplo de Response


Did this page help you?