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. Esta 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âmetros listados abaixo:

PATH PARAMS

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

BODY PARAMS

ParâmetroDescriçãoObrigatório
price_rangeValor máximo da venda
physical_productsSe o produto vendido é físico
business_typeDescrição do negócio
person_typePessoa Física ou Pessoa Jurídica
automatic_transferSaque automático
cnpjCNPJ da empresaSe person_type é Pessoa Jurídica
cpfCPF do titular da contaSe person_type é Pessoa Física
company_nameNome da empresaSe person_type é Pessoa Jurídica
resp_nameNome do responsável da empresaSe person_type é Pessoa Jurídica
resp_cpfCPF do responsável da empresaSe person_type é Pessoa Jurídica
nameNome do titular da contaSe person_type é Pessoa Física
addressEndereço (Rua, Avenida, etc)
cepCEP do endereço
cityCidade do endereço
districtBairro do endereço
stateEstado
telephoneTelefone
bankNome do Banco (e.g. Bradesco/Next — confira a lista)
bank_agAgência da Conta
account_typeCorrente, Poupança ou Pagamento
bank_ccNúmero da conta

Objeto files

Arquivos (codificados em Base64 e com limite de 15 MB por arquivo) para KYC, como Foto do Documento de Identificação Pessoal, selfie etc.

ParâmetroDescriçãoObrigatório
identificationDocumento de Identificação Pessoal do Titular (RG, CNH ou Passaporte) detentor dos dados informados no objeto data
selfieFoto (selfie) do titular da Conta
address_proofComprovante de Endereço do Titular da Conta (contas de luz, energia, água ou internet) dos últimos 90 dias. Se person_type é Pessoa Jurídica, envie Comprovante de Endereço da companhia.
balance_sheetRelatório financeiro da CompanhiaSe person_type é Pessoa Jurídica
social_contractContrato SocialSe person_type é Pessoa Jurídica
additional_document_oneDocumento adicional 1
additional_document_twoDocumento adicional 2

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âmetro

Ação

active

Ativar/desativar o método

installments

Ativar/desativar parcelas

max_installments

Definir número máximo de parcelas

max_installments_without_interest

Definir número máximo de
parcelas sem juros

two_step_transaction

Ativar/desativar Transação em Duas Etapas

Boleto Bancário

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

Parâmetro

Ação

active

Ativar/desativar o método

extra_due

Determinar número de
dias de vencimento extras

reprint_extra_due

2ª 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âmetro

Ação

auto_withdraw

Ativar/desativar Saque Automático

per_day_interest

Ativar/desativar Juros de mora

fines

Ativar/desativar Multa

late_payment_fine

Determinar a % do valor da multa
se fines for true

auto_advance

Ativar/desativar Antecipação de recebíveis Automático.
Se null (vazio), considera o auto_advance da Conta Mestre.

auto_advance_type

Determinar o Tipo da Antecipação Automática
(daily, weekly, monthly ou days_after_payment)

auto_advance_option

Determinar a Opção da Antecipação. Saiba mais

payment_email_notification

Ativar/desativar e-mail de notificação de

  • fatura paga_ (pagador)

payment_email_notification_receiver

Ativar/desativar e-mail de notificação de

  • fatura paga_ (recebedor)

early_payment_discount

Ativar/desativar desconto por pagamento antecipado

early_payment_discounts

Configurações de desconto por pagamento antecipado se
early_payment_discount for true

disabled_withdraw

Desabilitar saque da conta

customer_minimum_balance_cents

Determinar saldo mínimo que deve permanecer na conta
durante um saque