Visão geral

Seja bem-vindo à documentação da BankOn! Aqui você encontrará as informações necessárias para fazer a integração com nossa infraestrutura.

Para utilização da API, é necessário obter um TOKEN de autenticação.

São fornecidos 2 (dois) tipos de Tokens:

  • Token de Consulta
    Este token é utilizado exclusivamente para obter todas as consultas do tipo GET
  • Token de Transação
    Este token é utilizado exclusivamente realizar transações financeiras.

Para criar e gerenciar seus tokens siga até o menu Usuário -> Tokens API.

Para efetuar testes de requisições acesse o PLAYGROUND .

Playground

Execute requisições pelo Playground para efetuar testes de retornos.

Acessar Playground

Endpoint

Todas as respostas da API são em JSON e as requisições são feitas no endpoint:

  https://api.bankon.com.br/v1/

Toda chamada para a API tem, no retorno, o atributo sucesso e, em caso de erro , também virá o atributo erro, conforme os exemplos abaixo:

{
  "sucesso": true,
  "mensagem": "Mensagem de sucesso..."
}
{
  "sucesso": false,
  "mensagem": "Mensagem de erro..."
}

Dúvidas ou sugestões

Mande um e-mail para [email protected] em caso de dúvidas ou sugestões de melhorias e integrações da API.


Checkout Expresso

Se precisar efetuar uma cobranca rapida de seus clientes, utilize o checkout expresso. O usuário será enviado para o ambiente seguro da BankOn para efetuar a transação.


1. Crie uma solicitação de pagamento

A solicitação de pagamento contém todas as informações sobre o produto ou serviço a ser pago. Por exemplo:

  • Referencia do Pagamento
  • Valor
  • URLs de Callback de Sucesso e Falha


Solicitar Pagamentos


https://api.bankon.com.br/v1/checkout/solicita-pagamento
HEADERS

Authentication

required

string

{token_transacao}

Seu token para realizar Transações (sem as chaves)

Content-Type

required

string

application/json

BODY

email

required

string

Endereço de E-mail do usuário

valor

required

string

Valor do Pagamento

Exemplo: 100.58 = R$100,58;
Exemplo: 20 =R$20,00
Exemplo: 1000.48 =R$1.000,58

ref_pagamento

required

string

Descrição do Pagamento

Exemplo: ORDER ID X9995

url_callback_successo

required

string

URL de retorno em caso de sucesso

Exemplo: http://www.seudominio.com.br/url-sucesso

url_callback_falha

required

string

URL de retorno em caso de falha

Exemplo: http://www.seudominio.com.br/url-falha

Request
    curl -X POST \
    https://api.bankon.com.br/v1/checkout/solicita-pagamento \
  -H 'Accept: */*' \
  -H 'Authentication:{token_transacao}' \
  -H 'Content-Type: application/json' \
   -d '{
	"email": "[email protected]",
	"ref_pagamento": "NOTEBOOK CORE 2 DUO",
	"valor": "18049.78",
	"url_callback_successo":"http://www.seudominio.com.br/url-sucesso",
	"url_callback_falha":"http://www.seudominio.com.br/url-falha"
}'

    
<?php

$data_string = json_encode(
      array(
        "email": "[email protected]",
        "ref_pagamento": "NOTEBOOK CORE 2 DUO",
        "valor": "18049.78",
        "url_callback_successo":"http://www.seudominio.com.br/url-sucesso",
        "url_callback_falha":"http://www.seudominio.com.br/url-falha"
	    )
    );

  
    $curl = curl_init();

    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://api.bankon.com.br/v1/checkout/solicita-pagamento',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => false,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => $data_string,
      CURLOPT_HTTPHEADER => array(
        "Content-Type: application/json",
        'Content-Length: ' . strlen( $data_string ),
        "Authentication: {token_transacao}"
      ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
  ?>
Retorno JSON com sucesso
{
    "sucesso": true,
    "message": "Solicitação de pagamento registrada com sucesso.",
    "Dados": {
        "token_pagamento": "36C767C6-84B12BAE-248183EF-4E28A342",
        "url_pagamento": "https://api.bankon.com.br/checkout/p/36C767C6-84B12BAE-248183EF-4E28A342",
        "solicitacao": "2019-07-03 15:23:41",
        "expiracao": "2019-07-10 00:00:00"
    }
}
2. Leve seu comprador para check-out

Uma vez que a solicitação é criada, use o URL que você encontra no attribute url_pagamento da resposta para gerar um botão de pagamento:

<!DOCTYPE html>
<html>
    <head>
        <title>Pagar</title>
    </head>
    <body>
        <a href="<?php echo $dados->url_pagamento; ?>">Pagar</a>
    </body>
</html>
3. Retorno do Checkout

Após o pagamento ser efetuado pelo cliente, ele será redirecionado para a url_callback contendo o parâmero transacao na url:

http://www.seudominio.com.br/url_callback?transacao={codigo_transacao}
4. Validando a transação

Para garantir maior integridade e segurança, opcionalmente você poderá fazer a validação da transação seguindo os passos em Consulta Transferências.


Financeiro

Utilize estes endpoints para consultar detalhes de sua conta.


Consultar extrato


https://api.bankon.com.br/v1/consultas/extrato

Consulta o extrato do Cliente

HEADERS

Content-Type

required

string

application/json

Authentication

required

string

{token_consultas}

Seu token de acesso a API (sem as chaves)

PARAMETROS

initialDate

required

date

Data Inicial da Consulta

Formato: YYYY-mm-dd

Exemplo: 2019-01-25

finalDate

required

date

Data Final da Consulta

Formato: YYYY-mm-dd

Exemplo: 2019-01-30

type

optional

string

Tipo de transações a serem filtradas

C - Crédito D - Débito

Caso não informado serão retornados todos os tipos de movimentos

Request
curl --location --request GET "https://api.bankon.com.br/v1/consultas/extrato?initialDate=2019-03-17&finalDate=2019-04-10" \
  --header "Content-Type: application/json" \
  --header "Authentication: {token_consultas}"'
    
<?php
  $curl = curl_init();
  curl_setopt_array($curl, array(    
    CURLOPT_URL => "https://api.bankon.com.br/v1/consultas/extrato?initialDate=2019-03-17&finalDate=2019-04-10",    
    CURLOPT_RETURNTRANSFER => true,    
    CURLOPT_ENCODING => "",    
    CURLOPT_MAXREDIRS => 10,    
    CURLOPT_TIMEOUT => 0,    
    CURLOPT_FOLLOWLOCATION => false,    
    CURLOPT_HTTP_VERSION => 
    CURL_HTTP_VERSION_1_1,    
    CURLOPT_CUSTOMREQUEST => "GET",    
    CURLOPT_HTTPHEADER => array(      
      "Content-Type: application/json",      
      "Authentication: {token_consultas}"    
      ),  
  ));    
  $response = curl_exec($curl);  
  $err = curl_error($curl);    
  curl_close($curl);    
  if ($err) {    
    echo "cURL Error #:" . $err;  
  } else {    
    echo $response;  
  } 
  ?>
Retorno JSON com sucesso
{
  "sucesso":true,
  "message":"Extrato consultado com sucesso.",
  "resultados":[
    {
      "data":"2019-04-08 23:26:50",
      "transacao":"5f10460e853f98yss",
      "tipo":"D",
      "valor":"-50.00",
      "historico":"Tranferência Enviada para Fulano de Tal"
    },
      {
        "data":"2019-04-08 23:22:54",
        "transacao":"5f10460e853f98yss",
        "tipo":"C","valor":"100.00",
        "historico":"Depósito via Transferência"
      }
        ]
      }

Nova Transferência


https://api.bankon.com.br/v1/financeiro/transferencia

Endpoint de transferências entre usuários

Por questões se segurança, todas as transferências efetuadas via API ficam pendentes de aprovação pelo titular da conta. Posteriormente as mesmas devem ser aprovadas no menu Transferências->Transferências pendentes.
HEADERS

Content-Type

required

string

application/json

Authentication

required

string (200)

{token_transacao}

Seu token para realizar Transações (sem as chaves)

BODY

beneficiario

required

string

usuario que receberá a transferência

valor

required

FLOAT

Valor da transferência

Exemplo: 100.58 = R$100,58;
Exemplo: 20 =R$20,00

id_transferencia

required

string

Identificação única da transferência

Exemplo: X9995

Request
curl --location --request POST "https://api.bankon.com.br/v1/financeiro/transferencia" \
--header "Content-Type: application/json" \
--header "Authentication:  {token_transacao}" \
--data "{
\"beneficiario\": \"fulano\",
\"valor\": \"1000.00\",
\"id_transferencia\": \"X9995\"
}"
    
<?php

$data_string = json_encode(
      array(
        'beneficiario' => 'fulano' ,
        'valor' => '1000.00',
        'id_transferencia' => 'X9995'
	    )
    );

  
    $curl = curl_init();

    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://api.bankon.com.br/v1/financeiro/transferencia',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => false,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => $data_string,
      CURLOPT_HTTPHEADER => array(
        "Content-Type: application/json",
        'Content-Length: ' . strlen( $data_string ),
        "Authentication: {token_transacao}"
      ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
  ?>
Retorno JSON com sucesso
{
	"sucesso": true,
	"message": "Transferênca pendente de aprovação",
	"dados": {
		"transacao": "c4bb726884db0735",
		"favorecido": "Fulano de tal",
		"favorecido_user": "fulano",
		"data": "03/05/2019",
		"hora": "17:33",
		"valor": "1000,00",
    "status": "pendente"
	}
}

Consultar saldo


https://api.bankon.com.br/v1/consultas/saldo

Verifica o saldo disponível no sistema

HEADERS

Content-Type

required

string

application/json

Authentication

required

string

{token_consultas}

Seu token de acesso a API (sem as chaves)

Request
curl --location --request GET "https://api.bankon.com.br/v1/consultas/saldo" \
  --header "Content-Type: application/json" \
  --header "Authentication: {token_consultas}"'
    
<?php
  $curl = curl_init();
  curl_setopt_array($curl, array(    
    CURLOPT_URL => "https://api.bankon.com.br/v1/consultas/saldo",    
    CURLOPT_RETURNTRANSFER => true,    
    CURLOPT_ENCODING => "",    
    CURLOPT_MAXREDIRS => 10,    
    CURLOPT_TIMEOUT => 0,    
    CURLOPT_FOLLOWLOCATION => false,    
    CURLOPT_HTTP_VERSION => 
    CURL_HTTP_VERSION_1_1,    
    CURLOPT_CUSTOMREQUEST => "GET",    
    CURLOPT_HTTPHEADER => array(      
      "Content-Type: application/json",      
      "Authentication: {token_consultas}"    
      ),  
  ));    
  $response = curl_exec($curl);  
  $err = curl_error($curl);    
  curl_close($curl);    
  if ($err) {    
    echo "cURL Error #:" . $err;  
  } else {    
    echo $response;  
  } 
  ?>
Retorno JSON com sucesso
{
    "sucesso":true,
    "message":"Consulta realizada com sucesso.",
    "Dados":{
        "usuario":"fulano",
        "saldo_disponivel":"166.76"
    }
}

Consultar Transferências

https://api.bankon.com.br/v1/consultas/transferencias/{codigo_transacao}

Consulta uma transação entre contas Bankon

PARAMETROS

Authentication

required

string

{token_consultas}

Seu token de acesso a API (sem as chaves)

codigo_transacao

required

string

O número da transação

Request
curl --location --request GET 'https://api.bankon.com.br/v1/consultas/transferencias/5f10460e8539073a' \
--header "Content-Type: application/json" \
--header "Authentication: {token_consultas}"'
    
<?php

  $curl = curl_init();
  
  curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.bankon.com.br/v1/consultas/transferencias/5f10460e8539073a",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => false,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
  "Content-Type: application/json",
  "Authentication: {token_consultas}"
  ),
  ));
  
  $response = curl_exec($curl);
  $err = curl_error($curl);
  
  curl_close($curl);
  
  if ($err) {
  echo "cURL Error #:" . $err;
  } else {
  echo $response;
} 
 
?>
Retorno JSON com sucesso
{
  "sucesso":true,
  "message":"Consulta realizada com sucesso.",
  "Dados":{
    "data":"2019-04-08 23:26:50",
    "valor":"50.00",
    "status": "transferido",
    "origem":{"usuario":"fulanodetal",
      "nome":"Fulano de Tal",
      "documento":"*********06"},
      "destino":{
        "usuario":"beltrano",
        "nome":"Beltrano Ciclano",
        "documento":"*********08"
      }
    }
  }

Consultar Usuários

  https://api.bankon.com.br/v1/consultas/usuario/{usuario}
HEADERS

Content-Type

required

string

application/json

Authentication

required

string

{token_consultas}

Seu token de acesso a API (sem as chaves)

PARAMETROS

usuario

required

string

O Usuário ao qual deseja realizar consulta

Request
curl --location --request GET "https://api.bankon.com.br/v1/consultas/usuario/fulanodetal" \
  --header "Content-Type: application/json" \
  --header "Authentication: {token_consultas}"'
    
<?php
  $curl = curl_init();
  curl_setopt_array($curl, array(    
    CURLOPT_URL => "https://api.bankon.com.br/v1/consultas/usuario/fulanodetal",    
    CURLOPT_RETURNTRANSFER => true,    
    CURLOPT_ENCODING => "",    
    CURLOPT_MAXREDIRS => 10,    
    CURLOPT_TIMEOUT => 0,    
    CURLOPT_FOLLOWLOCATION => false,    
    CURLOPT_HTTP_VERSION => 
    CURL_HTTP_VERSION_1_1,    
    CURLOPT_CUSTOMREQUEST => "GET",    
    CURLOPT_HTTPHEADER => array(      
      "Content-Type: application/json",      
      "Authentication: {token_consultas}"    
      ),  
  ));    
  $response = curl_exec($curl);  
  $err = curl_error($curl);    
  curl_close($curl);    
  if ($err) {    
    echo "cURL Error #:" . $err;  
  } else {    
    echo $response;  
  } 
  ?>
Retorno JSON com sucesso
{
  "sucesso":"true",
  "message":"Usuário consultado com sucesso.",
  "Dados":{
    "documento":"*********06",
    "nome":"Fulano de tal",
    "usuario":"funano",
    "email":"[email protected]",
    "localidade":{
      "cidade":"Cidade",
      "estado":"UF"
    }
  }
}