Cobrar tarifa de saque da subconta

📘

O que você irá aprender com esse artigo?

  • Pré-requisitos para usar essa API
  • Como cobrar tarifa de saque

Caso de uso

“A minha subconta vai realizar saques e eu, como conta Mestre, gostaria de cobrar uma tarifa dela por isso”

Diagrama de sequência

839

Pré-requisitos para usar essa API

Necessário utilizar token API e o id da conta mestre e da subconta. Para saber como acessar esses dados, clique aqui.

Como cobrar tarifa de saque

A solicitação de saque para a subconta não permite colocar informações adicionais além do valor da transferência bancária, o token e o id da subconta (referente a chamada via API).

Há clientes que possuem a necessidade de criar uma tarifa para essa solicitação da subconta e, portanto, é possível realizar fazendo duas chamadas adicionais.

O primeiro passo seria saber quanto a subconta possui de saldo disponível, pois a cobrança da tarifa será feita por meio de uma transferência entre contas iugu e para tal é necessária que a subconta possua saldo disponível. Da mesma forma, essa consulta de saldo serve para saber se a subconta possui saldo suficiente para sacar e pagar a tarifa.

Para isso, é necessário realizar um POST na API de Informações da conta passando o id e o token da subconta.

Modelo de request

curl --location --request GET 'https://api.iugu.com/v1/accounts/{{id_da_subconta}}' \ 
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=80b41f3c9d256803596bb7be3d5a542bb2b0962b-1642426348'

Modelo de response

706

Uma das informações retornadas nessa requisição é o campo balance_available_for_withdraw, que diz quanto pode ser sacado e transferido.

Depois de obter a informação do que está disponível para a movimentação, o saque poderá ser solicitado. Veja como solicitar saque aqui.

OBS: Há duas formas de seguir com a cobrança da tarifa: A tarifa pode ser cobrada assim que que o saque for solicitado e se o saque, por algum motivo, for recusado, é só realizar o processo inverso da transferência. O inverso é basicamente transferir o mesmo valor, só que da conta Mestre para a subconta.

Ou, de outro modo, a cobrança pode ser realizada só depois que o saque for confirmado. Para isso, utilize o gatilho de withdraw_request.status_changed para saber se o saque ocorreu com sucesso.

Para cobrar a tarifa, basta realizar um POST na API de Transferir Valor com o token API da subconta, passando o id da conta Mestre e o valor da tarifa que deseja cobrar. Essa transferência não possui cobrança de taxas da iugu.

Modelo de request

curl --location --request POST 'https://api.iugu.com/v1/transfers' \ 
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=80b41f3c9d256803596bb7be3d5a542bb2b0962b-1642426348' \ 

--data-raw '{ 

    "receiver_id": "{{id_da_conta_Mestre}}", 

    "amount_cents": "100" 

}'

O campo receiver_id é a informação da conta que receberá o valor da tarifa, então deve ser informado o id da conta Mestre, e o campo amount_cents é o valor que deve ser transferido, valor da tarifa. A API também aceita informar variáveis personalizadas que podem ser usadas para descrever o processo, exemplo:

"custom_variables": [ 

          { 

               "name": "serviço", 

               "value": "tarifa de saque" 

          } 

     ]

Modelo de response

568