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
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
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
Updated almost 3 years ago