GuiasReferência de API

Este é o conceito mais fundamental da API de Banking Gateway da Stone pois ter uma conta é essencial para qualquer outra ação. Para criar uma conta, é necessário o envio de alguns dados do usuário e, com essas informações, é criado o objeto de conta, ou seja uma account.

Ela pode se referir tanto a uma pessoa física quanto a uma pessoa jurídica. Atualmente, damos suporte para esses dois tipos de conta e a distinção entre elas é feita a partir do tipo de documento que foi enviado.

ContaTipo de documento
Pessoa física (PF)CPF
Pessoa jurídica (PJ)CNPJ

Estrutura

A estrutura básica de uma account está descrita abaixo:

{  
  "id": "integer",  
  "name": "string",  
  "email": "string",  
  "mobile_number": "string",  
  "date_of_birth": "string",  
  "document": "string",  
  "document_type": "string",  
  "created_at": "string",  
  "updated_at": "string"  
}

Aqui vamos descrever um pouco mais sobre cada campo e a sua obrigatoriedade de envio.

CampoDescriçãoObrigatoriedade
idO ID gerado para identificar a conta no sistema Banking Gateway.-
nameNome completo do usuário.Obrigatório.
emailEmail do usuário.Obrigatório.
mobile_numberNumero de telefone do usuário.Não é obrigatório.
date_of_birthPara PF - Data de nascimento do usuário.
Para PJ - Data de criação da empresa.
Não é obrigatório nesse primeiro momento.
documentNumeração do documento do usuário escolhido para envio.Obrigatório.
document_typeTipo de documento, CPF ou CNPJ.Obrigatório.
created_atData de criação da conta.-
updated_atData de última atualização do registro.-

Se os dados enviados estiverem OK, a API vai retornar um 201 com o status da conta que foi criada.

Status

O status da conta indica se aquela conta está disponível para transacionar ou se há algum tipo de bloqueio ou pendência com nossos sistemas de Análise de Conta (Know your Customer, ou KYC) e Risco.

StatusDescrição
last_kyc_not_approvedIndica que o usuário não passou pelo fluxo de KYC ou seus dados ainda estão sendo analisados, ou seja, a conta está pendente/negada.
approvedIndica que a conta está validada, aprovada e já pode transacionar.
disabledIndica que uma conta aprovada foi desabilitada e não pode efetuar transações.
blockedDurante a análise no fluxo de KYC, o usuário foi identificado como fraudador e com isso a conta não é liberada e o usuário é impedido de tentar enviar seus dados novamente.
missing_movement_limit_planQuando o usuário está aprovado, mas por algum motivo está sem plano de limites e não vai conseguir realizar nenhuma movimentação financeira.

Dados Bancários

Além do status, existe o objeto de bank_account que contém os dados bancários do usuário porém, nesse momento, ele aparece vazio. Isso indica que a conta foi criada, mas ela ainda não é uma conta de pagamento, ou seja, não é possível transacionar com ela.

Veja a estrutura de resposta a criação de conta da API. Observe o objeto bank_account ainda vazio:

{
  "id": 0,
  "name": "Jose Penteado",
  "email": "[email protected]",
  "mobile_number": "21999998888",
  "document": 564937165,
  "document_type": "cpf",
  "date_of_birth": "2000-12-31",
  "username": "myusername",
  "enabled": true,
  "status": "last_kyc_not_approved",
  "bank_account": {
  },
  "created_at": "2020-06-30T15:54:19.201-03:00",
  "updated_at": "2020-06-30T15:54:19.201-03:00"
}

Para finalizar o processo da criação de uma conta de pagamento, é preciso:

  1. Criar a conta
  2. Passar pelas etapas de Know Your Customer (KYC), em que a conta será validada e aprovada.

Conta de Pagamento

Quando a conta é aprovada pelo fluxo de KYC, os dados bancários da conta de pagamento são criados.

Com os dados bancários disponíveis, a conta se torna apta a realizar movimentações financeiras e está pronta para ser usada.

Veja a estrutura da conta de pagamento aprovada. Note o campo bank_account preenchido:

{
  "id": 0,
  "name": "Jose Penteado",
  "email": "[email protected]",
  "mobile_number": "21999998888",
  "document": 564937165,
  "document_type": "cpf",
  "date_of_birth": "2000-12-31",
  "username": "myusername",
  "enabled": true,
  "status": "blocked",
  "bank_account": {
    "id": 1,
    "account_code": 8259,
    "branch_code": "001",
    "account_type": "CC",
    "institution": {
      "name": "Stone Pagamentos S.A.",
      "ispb": "16501555",
      "code": "197"
    }
  },
  "created_at": "2020-06-30T15:54:19.201-03:00",
  "updated_at": "2020-06-30T15:54:19.201-03:00"
}

Entenda os campos do objeto `bank_account:

CampoDescrição
idO ID gerado para identificar a conta de pagamento.
account_codeCódigo da conta com o dígito verificador.
branch_codeCódigo da agência sem o digito verificador.
account_typeTipo de conta de pagamento:

CC - Conta Corrente.
CD - Conta de Depósito.
CG - Conta Garantida.
CI - Conta de Investimento.
PG - Conta de Pagamento.
PP - Poupança.
institutionObjeto que define a instituição de pagamento:

name: Nome da instituição de pagamento.
ispb: Código de identificação dos bancos no sistema de transferência do BACEN.
code: Código referente a instituição de pagamento.

Limite

Por padrão, toda account é criada R$0,00 de limite de movimentação mensal e diário. Quando ela se torna uma conta e pagamento com KYC validado e aprovado é atribuído a ela um plano de limite padrão da API de Banking Gateway. Para editar esse limite devem ser usadas as rotas de limite disponível em nossa documentação.