Criar e Configurar Subconta por API

📘

O que você irá aprender com esse artigo?

  • Criação de subcontas
  • Configuração da subconta
  • Verificação de conta
  • Configuração de cartão de crédito e boleto para uma conta
  • Configuração de Pix para uma conta

Case de uso

"Preciso utilizar a funcionalidade de split para distribuir valores fixos para meus parceiros em suas respectivas subcontas. É possível configurar essa distribuição uma única vez, com a opção de realizar alterações quando necessário, ou será necessário definir essa distribuição individualmente para cada transação?"

A distribuição de valores, conhecida como Split de Pagamento, é predefinida por você e realizada automaticamente a cada recebimento. Existem várias formas de configurar essa operação: entre a conta principal (a sua) e as subcontas (contas dos seus parceiros, associados), ou apenas entre as subcontas.

Você pode definir se essa configuração será aplicada a todos os parceiros ou se precisará de uma configuração específica para cada um. Na prática, isso permite definir condições especiais para parceiros que apresentam maior volume de vendas.

Tudo isso é implementado de maneira simples e eficiente via API, com poucas chamadas POST, facilitando o processo sem complicações.


1. Criar Subconta

Utilize o endpoint Criar SubcontaPOST v1/marketplace/create_account.

🚧

Apenas em produção

É possível Criar Subcontas apenas em ambiente de produção.

📘

account_id pode se tornar o nome da conta

Se o parâmetro name não for preenchido, o account_id gerado será utilizado como o nome da conta. Utilize o endpoint Configurar ContaPOST v1/accounts/configuration para alteração.

Request e Response exemplo

curl --request POST \
     --url 'https://api.iugu.com/v1/marketplace/create_account?api_token=<seu-api_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"name":"Subconta"}'
{
  "account_id": "49196DF60BC64B6EB42DEC9C5D81C2CC",
  "name": "Subconta",
  "live_api_token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA111111111111111111111111111111111",
  "test_api_token": "AAAAAAAAAAAAAAAAAAAAAA111111111111111111111111111111111AAAAAAAAA",
  "user_token": "111111111111111111111111111111111AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
}

Armazene os tokens ⚠️

Esses dados são exibidos apenas neste retorno, então, certifique-se de armazená-los em segurança.


2. Enviar verificação de subconta

A verificação de uma subconta é obrigatória para realizar transações. Utilize o endpoint Enviar Verificação de SubcontaPOST v1/accounts/{account_id}/request_verification. Este chamada exige o user_token ao invés do api_token (etapa 1).

🚧

Não utilize dados fictícios

A verificação de conta exige dados reais para ser bem sucedida.

Preencha os parâmetro listados abaixo:

PATH PARAMS

ParâmetroObrigatórioDescrição
account_idID da Conta (etapa 1 )

BODY PARAMS

ParâmetroObrigatórioDescriçãoOpçõesExemplo
price_rangeValor máximo das faturas'Até R$ 100,00', 'Entre R$ 100,00 e R$ 500,00' ou 'Mais que R$ 500,00'Até R$ 100,00
physical_productsSe vende produtos físicos ou nãotrue ou falsefalse
business_typeDescrição do seu negócioN/AIntermediador de pagamentos
person_typeSe Pessoa Física ou Jurídica'Pessoa Física' ou 'Pessoa Jurídica'Pessoa Jurídica
automatic_transferSe a conta terá saque automático ou não (sobrepõe se valor enviado na etapa 1 )N/Afalse
cnpjSe person_type for 'Pessoa Jurídica'CNPJ (apenas números) se person_type for 'Pessoa Jurídica'N/A66644651000122
cpfSe person_type for 'Pessoa Física'CNPJ (apenas números) se person_type for 'Pessoa Jurídica'N/A11343675030
company_nameSe person_type for 'Pessoa Jurídica'Nome da empresa se person_type for 'Pessoa Jurídica'N/A`iugu
nameSe person_type for 'Pessoa Física'Nome da pessoa físicaN/AJoão Silva
addressEndereço. Logradouro e númeroN/AAv. das Nações Unidas, 12495
CEPCEP do logradouro informado no parâmetro addressN/A04578-000
cityCidade do CEP do logradouroN/ASão Paulo
stateEstado do logradouro informado no parâmetro addressN/ASP
districtLogradouro do CEP informado no parâmetro CEPN/ACidade das Monções
stateEstado do CEP informado no parâmetro CEPN/ASP
telephoneTelefone ou celularN/A5511971111111
resp_nameSe person_type for 'Pessoa Jurídica'Nome do Responsável se person_type for 'Pessoa Jurídica'N/AJoão Silva
resp_cpfSe person_type for 'Pessoa Jurídica'CPF do Responsável se person_type for 'Pessoa Jurídica'N/A11343675030
bankNome do BancoConsultar documentaçãoSantander
bank_agAgência da ContaConsultar documentaçãoConsultar documentação
account_typeTipo de Conta'Corrente', 'Poupança' ou 'Pagamento'Corrente
bank_ccNúmero da ContaConsultar documentaçãoConsultar documentação

Request e Response exemplo

curl --request POST \
     --url 'https://api.iugu.com/v1/accounts/account_id/request_verification?api_token=<seu-api_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "data": {
    "physical_products": false,
    "automatic_transfer": false,
    "price_range": "Até R$ 100,00",
    "business_type": "Meu negócio",
    "person_type": "Pessoa Jurídica",
    "cnpj": "66644651000122",
    "company_name": "Minha empresa",
    "address": "Av. das Nações Unidas, 12495",
    "cep": "04578-000",
    "city": "São Paulo",
    "district": "Cidade Monções",
    "state": "SP",
    "telephone": "5511971111111",
    "resp_name": "Nome do Resp",
    "resp_cpf": "113.436.750-30",
    "bank": "Santander",
    "bank_ag": "0723",
    "account_type": "Corrente",
    "bank_cc": "99999999-D"
  }
}
'
{
  "id": "5F0610FC05AA4EF391738124B312BBFA",
  "data": {
    "price_range": "Até R$ 100,00",
    "physical_products": false,
    "business_type": "Meu negócio",
    "person_type": "Pessoa Jurídica",
    "automatic_transfer": false,
    "cnpj": "66644651000122",
    "address": "Av. das Nações Unidas, 12495",
    "cep": "04578000",
    "city": "São Paulo",
    "state": "SP",
    "telephone": "5511971111111",
    "resp_name": "Nome do Resp",
    "resp_cpf": "113.436.750-30",
    "bank": "Santander",
    "bank_ag": "0723",
    "account_type": "Corrente",
    "bank_cc": "99999999-D",
    "resp_cpf": "testes",
    "bank_ispb": "00360305"
  },
  "account_id": "3A605D267BBD4B41BC6CCF2CCA086C4A",
  "created_at": "2024-04-30T13:41:13-03:00"
}

Sequência de Chamadas

Diagrama de Sequência para Criar e Verificar Subconta

Diagrama de Sequência para Criar e Verificar Subconta



3. Configurar Subconta

Após criação da subconta, utilize o endpoint Configurar ContaPOST v1/accounts/configuration para alterações em suas configurações.

Ativar métodos de pagamento

Cartão de Crédito

Utilize o objeto credit_card e informe os seguintes parâmetros para:

ParâmetroAção
activeAtivar/desativar o método
installmentsAtivar/desativar parcelas
max_installmentsDefinir número máximo de parcelas
max_installments_without_interestDefinir número máximo de
parcelas sem juros
two_step_transactionAtivar/desativar Transação em Duas Etapas

Boleto Bancário

Utilize o objeto bank_slip e informe os seguintes parâmetros para:

ParâmetroAção
activeAtivar/desativar o método
extra_dueDeterminar número de
dias de vencimento extras
reprint_extra_due2ª via — Determinar número de
dias de vencimento extras

Pix

Utilize o endpoint Configurar Pagamentos PixPOST v1/payments/pix.

ParâmetroAção
enableAtivar/desativar o método

Com os métodos de pagamento que deseja devidamente ativados, continue com este artigo para configurar o Split de Pagamento.


Split de Pagamentos

Há uma série de formas de utilizar o Split Payment, independente de qual conta gerará a Fatura (Mestre ou Subconta). Consulte este artigo para saber mais.


Features complementares

Existem outros endpoints que permitem disponibilizar mais recursos ao seu parceiro. São eles:

Modificar Domicílio Bancário

Utilize o endpoint Adicionar Domicílio BancárioPOST v1/bank_verification para alterar a Conta Bancária que receberá os seus saques/transferências.

Dashboard

Utilize o endpoint Informações da ContaGET v1/accounts/{id} para exibir dados como Saldo Disponível para Saque, Saldo de Recebíveis, etc.

Extrato Financeiro

Utilize o endpoint Extrato FinanceiroGET v1/accounts/financial para exibir dados que facilitam a conciliação.


Mais configurações

O endpoint Configurar Contav1/accounts/configuration conta com mais configurações do que as abordadas neste artigo. São elas:

📘

Antecipação de Recebíveis

Certifique-se de que a Antecipação de Recebíveis é um recurso disponível para utilização em sua conta. Para ativá-lo, contate nosso suporte.

ParâmetroAção
auto_withdrawAtivar/desativar Saque Automático
per_day_interestAtivar/desativar Juros de mora
finesAtivar/desativar Multa
late_payment_fineDeterminar a % do valor da multa
se fines for true
auto_advanceAtivar/desativar Antecipação de recebíveis Automático.
Se null (vazio), considera o auto_advance da Conta Mestre.
auto_advance_typeDeterminar o Tipo da Antecipação Automática
(daily, weekly, monthly ou days_after_payment)
auto_advance_optionDeterminar a Opção da Antecipação. Saiba mais
payment_email_notificationAtivar/desativar e-mail de notificação de
fatura paga (pagador)
payment_email_notification_receiverAtivar/desativar e-mail de notificação de
fatura paga (recebedor)
early_payment_discountAtivar/desativar desconto por pagamento antecipado
early_payment_discountsConfigurações de desconto por pagamento antecipado se
early_payment_discount for true
disabled_withdrawDesabilitar saque da conta
customer_minimum_balance_centsDeterminar saldo mínimo que deve permanecer na conta
durante um saque