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.
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, "message": "Mensagem de sucesso..." }
{ "sucesso": false, "message": "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
required string |
Endereço de E-mail do usuário |
valor required string |
Valor do Pagamento Exemplo: 100.58 = R$100,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.
PIX
A API Pix é o elemento final para que o usuário recebedor possa automatizar sua interação com a BankOn, a fim de receber e gerenciar transações Pix. O usuário recebedor poderá gerar QR Code de cobrança para pagamentos e verificar a liquidação desses pagamentos, entre outras possibilidades.
Listar cobranças PIX
https://api.bankon.com.br/v1/pix/cobrancas
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
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 |
status optional string |
Tipo de transações a serem filtradas PENDING - APPROVED - EXPIRED - RETURNED Caso não informado serão retornados todos os tipos de movimentos |
initialHour optional string |
Hora Inicial da consulta Formato: H:m Exemplo: 00:01 |
finalHour optional string |
Hora Final da consulta Formato: H:m Exemplo: 23:59 |
orderAsc optional boolean |
Ordenação dos registros Ascendente Default: false |
orderBy optional string |
Ordenação dos registros pelos filtros Opções: data ou valor |
initialAmount optional float |
Define a partir de qual valor será feita a busca |
finalAmount optional float |
Define até qual valor será feita a busca |
search optional string |
Busca pelo Nome ou CPF do pagador minChars:5 ; maxChars:30 |
pageSize optional integer |
Quantidade de registros por página Default: 30 |
page optional integer |
Número identificador da página Default: 1 |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/cobrancas?initialDate=2021-09-01&finalDate=2022-02-28&status=APPROVED&initialHour=08:00&finalHour=23:01&orderAsc=true&orderBy=valor&page=1&pageSize=2&initialAmount=1.00&finalAmount=300.00&search=Fulano' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json' \ --header 'Cookie: PHPSESSID=f9sv7g0sd64gtvvua18bb6njqg'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/cobrancas?initialDate=2021-09-01&finalDate=2022-02-28&status=APPROVED&initialHour=08:00&finalHour=23:01&orderAsc=true&orderBy=valor&page=1&pageSize=2&initialAmount=1.00&finalAmount=300.00&search=Fulano', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {token_consultas}', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
Retorno JSON com sucesso
{ "sucesso": true, "message": "sucesso", "registros": { "total": 2, "listados": 2, "pagina": 1 }, "rows": [ { "transactionId": "6F9B893BD6350934", "dateCreated": "2021-04-20 15:24:09", "amount": "1.50", "status": "APPROVED", "payerName": "Roronoa Zoro", "dateApproval": "2021-04-20 17:29:26" }, { "transactionId": "A54DF363D6990937", "dateCreated": "2021-04-20 17:22:33", "amount": "1.20", "status": "APPROVED", "payerName": "Monkey D. Luffy", "dateApproval": "2021-04-20 17:29:26" }, { ... } ] }
BODY RESPONSE
transactionId |
ID único da transação |
dateCreated |
Data da criação da cobrança |
amount |
Valor da cobrança |
status |
Status da transação |
payerName |
Nome original do pagador informado |
dateApproval |
Data do pagamento |
Consultar uma cobranca PIX
https://api.bankon.com.br/v1/pix/cobrancas/:transactionId
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
PARAMETROS
transactionId required string |
ID único da transação |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/cobrancas/6F9B893BD6350934' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/cobrancas/6F9B893BD6350934', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {token_consultas}', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
Retorno JSON com sucesso
{ "sucesso": true, "message": "Transação encontrada", "body": { "transactionId": "818DA0CCE8E112F7", "status": "APPROVED", "originalValue": "1.50", "amountPaid": "1.50", "payerName": "Roronoa Zoro", "additionalInformation": { "value": "LOJA XYZ - PRODUTO ABC" }, "creditParty": { "name": "RORONOA ZORO", "taxId": "99988877766" }, "debitParty": { "name": "Monkey D. Luffy", "taxId": "99988877766", "bank": "NU PAGAMENTOS S.A.", "branch": "1", "account": "860599601" }, "emvqrcps": null, "base64image": null, "transactionIdentification": "kk6g232xel65a0daee4dd13kk553479959", "authentication": "E18236120202104220033s01591135PO" } }
BODY RESPONSE
transactionId |
ID único da transação |
dateCreated |
Data da criação da cobrança |
originalValue |
Valor da cobrança |
amountPaid |
Valor Pago |
payerName |
Nome original do pagador informado |
status |
Status da transação |
creditParty->name |
Nome do beneficiario na BankOn |
creditParty->taxId |
CPF/CNPJ do beneficiario na BankOn |
debtor->name |
Nome do pagador |
debtor->cpf |
CPF pagador (Caso Pessoa Física) |
debtor->cpj |
CPNJ pagador (Caso Pessoa Jurifica) |
emvqrcps |
EMV do QRCode |
base64image |
Imagem em base64 |
transactionIdentification |
Código único de identificação do Pagamento |
authentication |
Código do pagamento Ponta-a-Ponta no DICT |
Criar uma cobrança PIX
https://api.bankon.com.br/v1/pix/qrcode
HEADERS
Authentication required string |
{token_transacao} Seu token para realizar Transações (sem as chaves) |
Content-Type required string |
application/json |
BODY REQUEST
valor required float(10.2) |
Valor da cobrança
|
identificacao required string(100) |
Identificação da cobrança |
nomePagador required string(100) |
Nome do pagador |
documentoPagador required string(15) |
CPF ou CNPJ do pagador: |
urlNotificacao required string(200) |
URl para notificação
|
expiracao optional string |
Valor em segundos referente ao tempo de validade da cobrança
|
Request
curl --location --request POST 'https://api.bankon.com.br/v1/pix/qrcode' \ --header 'Authentication: {token_transacao}' \ --header 'Content-Type: application/json' \ --data-raw '{ "valor": 1.50, "identificacao": "LOJA XYZ - PRODUTO ABC", "nomePagador":"Roronoa Zoro", "documentoPagador":"99999999999", "expiracao":"86400", "urlNotificacao": "http://url-webhook-pagamento/" }'
<?php $data_string = json_encode( array( "valor"=> 1.50, "identificacao"=> "LOJA XYZ - PRODUTO ABC", "nomePagador"=>"Roronoa Zoro", "documentoPagador"=>"99999999999", "expiracao"=>"86400", "urlNotificacao"=> "http://url-webhook-pagamento/" ) ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1//pix/qrcode', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $data_string, CURLOPT_HTTPHEADER => array( 'Authentication: '.{token_transacao}, 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
Retorno JSON com sucesso
{ "sucesso": true, "message": "Cobrança gerada com sucesso", "status": 201, "body": { "transactionId": "D42FDD03D7A60945", "entity": "PixImmediateCollection", "status": "ACTIVE", "amount": "1.50", "calendar": { "expiration": 86400, "dueDate": "2021-04-27 17:02:59" }, "debtor": { "name": "Roronoa Zoro", "document": "99999999999" }, "additionalInformation": { "value": "LOJA XYZ - PRODUTO ABC" }, "emvqrcps": "00020101021226930014br.gov.bcb.pix...", "base64image": "iVBORw0KGgoAAAANSUhEUgAABbQAAAW0CAYAAAAeooXXAAAABGdGwAAA..." } }
BODY RESPONSE
body->transactionId |
ID único da transação |
body->status |
Status da transação |
body->amount |
Valor da cobrança |
body->calendar->expiration |
Indicador de tempo para expiração do QRCode |
body->calendar->dueDate |
Data de vencimento do QR Code |
body->debtor->name |
Nome do pagador |
body->debtor->document |
Documento do pagador |
body->additionalInformation->value |
Identificação da cobrança |
body->emvqrcps |
EMV do QRCode, a representação dos dados criptografada. |
body->base64image |
Imagem em base64 |
Fazer uma transferência via PIX
Para ter acesso ao serviço, faça uma solicitação para [email protected]
https://api.bankon.com.br/v1/pix/payment
Iniciar pagamento PIX informando todos os dados necessários.
HEADERS
Authentication required string |
{token_transacao} Seu token para realizar Transações (sem as chaves) |
Content-Type required string |
application/json |
BODY REQUEST
amount required float(10.2) |
Valor
|
description optional string(50) |
Descrição do pagamento |
creditParty->keyType required string |
Tipo de Chave |
creditParty->key required string(200) |
Chave Pix |
creditParty->taxId required string(15) |
CPF ou CNPJ do beneficiário |
creditParty->name required string(100) |
Nome do beneficiário |
urlNotificacao required string(200) |
URl para notificação
|
Request
curl --location -g --request POST 'https://api.bankon.com.br/v1/pix/payment' \ --header 'Authentication: {{token_transacoes}}' \ --header 'Content-Type: application/json' \ --data-raw '{ "amount":10.50, "description": "Descrição do Pagamento", "creditParty": { "key": "[email protected]", "keyType":"EMAIL", "taxId": "99999999999", "name": "Monkey D. Luffy" }, "urlNotificacao": "https://url-webhook-pagamento/" }'
<?php $data_string = json_encode( array( "amount"=> 10.50, "description"=> "Descrição do Pagamento", "creditParty"=>array( "key"=> "[email protected]", "keyType"=> "EMAIL", "taxId"=> "99999999999", "name"=> "Monkey D. Luffy" ), "urlNotificacao"=> "http://url-webhook-pagamento/" ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL=> 'https://api.bankon.com.br/v1/pix/payment', CURLOPT_RETURNTRANSFER=> true, CURLOPT_ENCODING=> '', CURLOPT_MAXREDIRS=> 10, CURLOPT_TIMEOUT=> 0, CURLOPT_FOLLOWLOCATION=> true, CURLOPT_HTTP_VERSION=> CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST=> 'POST', CURLOPT_POSTFIELDS=>$data_string, CURLOPT_HTTPHEADER=> array( 'Authentication: {{token_transacoes}}', 'Content-Type: application/json', ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
200
{ "sucesso": true, "message": "Transferência enviada com sucesso", "body": { "transactionId": "63E81BEF793518F3", "amount": 10.50, "createdAt": "2021-12-20 00:27:31", "status": "PROCESSING", "creditParty": { "name": "Monkey D. Luffy", "key": "[email protected]", "taxId": "99999999999", "accountType": "CACC", "bank": "ITAÚ UNIBANCO S.A." }, "endToEndId": "E1393589320211224022700615888922" } }
201
{ "sucesso": true, "message": "Adicionado a fila para posterior autorização", "body": { "amount": "350.00", "transactionId": "63E81BEF793518F3", "createdAt": "2021-12-23 23:00:24", "status": "PEND_CONFIRM", "endToEndId": null } }
BODY RESPONSE
body->transactionId |
ID único da transação |
body->amount |
Valor da transferência |
body->createdAt |
Data da transferência |
body->status |
Status da transação |
body->creditParty->name |
Nome do beneficiário |
body->creditParty->key |
Chave do beneficiário |
body->creditParty->taxId |
CPF/CNPJ do beneficiário |
body->creditParty->accountType |
Tipo de conta beneficiário |
body->creditParty->bank |
Nome do Banco |
body->endToEndId |
Identificador End-to-end único do pagamento |
Consultar o status de uma transferência Pix.
https://api.bankon.com.br/v1/pix/payment/:transactionId/status
Endpoint destinado a consulta de status posterior ao recebimento de webhook ou em caso de muita demora para o recebimento da confirmação.
A consulta receberá o transactionId gerado na requisição de pagamento, como parâmetro de entrada para realizar a consulta.
No resultado, serão apresentado até 5 tipos de status diferentes:
- PROCESSING: Transação ainda em processamento;
- PEND_CONFIRM: Transação aguardando re-aprovação;
- CONFIRMED: Transação confirmada com sucesso;
- ERROR: Transação com erro. Vide nó 'error' do payload de response para detalhes sobre o erro;
- CANCELED: transação cancelada pelo cliente;
- RETURNED: Estornada;
As consultas de status realizadas neste endpoint, só terão um status válido a partir de 2 minutos após o recebimento da resposta de sucesso da requisição de pagamento.
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
PARAMETROS
transactionId required int(32) |
ID único da transação |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/payment/234123543/status' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/payment/234123543/status', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {{token_consultas}}', 'Content-Type: application/json', ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
200
{ "sucesso": true, "message": "Consulta realizada", "body": { "transactionId": 234123543, "clientCode": "b56bfd44e0ac113d", "endToEndId": "E3030629420200808185300887639654", "status": "CONFIRMED", "error": { "code": "PBE150", "description": "General reject operation." } } }
Obter comprovante de uma transferência
https://api.bankon.com.br/v1/pix/payment/:transactionId/receipt
Endpoint destinado a consulta de um comprovante de transferência.
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
PARAMETROS
transactionId required int(32) |
ID único da transação |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/payment/234123543/receipt' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/payment/234123543/receipt', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {{token_transacoes}}', 'Content-Type: application/json', ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
200
{ "sucesso": true, "message": "Consulta realizada", "body": { "transactionId": "8607970", "amount": "10.50", "createdAt": "2021-12-24 00:27:31", "updateAt": "2021-12-24 00:27:34", "status": "CONFIRMED", "creditParty": { "key": "[email protected]", "bank": "ITAÚ UNIBANCO S.A.", "account": "00611833", "branch": 1500, "taxId": "05216208000166", "accountType": "CACC", "name": "TESTE DE RAZAO SOCIAL" }, "receiptformatted": " COMPROVANTE TRANSFERENCIA PIX \n 23/12/2021 23:27 \n TERM 11 AGENTE 999 \n CONTROLE \n E1393589320211224022700615888922 \n----------------------------------------\n PAGADOR \n\n INVIZZA 2 \n AG:1 CC:0000000005 \n CPF/CNPJ:05216208000166 \n----------------------------------------\n RECEBEDOR \n\n 60701190 AG:1500 CC:00611831 \n CPF/CNPJ:05216208000166 \n CHAVE:[email protected] \n----------------------------------------\n DATA DO PAGAMENTO 23/12/2021 23:27 \n\n VALOR R$ 10,5000 \n----------------------------------------\n AUTENTICACAO \n60.D1.8C.30.70.73.09.95.0D.B1.5F.0D.BB.A1.85.36\n", "endToEndId": "E1393589320211224022700615888922" } }
Listar transferêcias PIX
https://api.bankon.com.br/v1/pix/payment/list
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
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 |
status optional string |
- PROCESSING: Transação ainda em processamento; - PEND_CONFIRM: Transação aguardando re-aprovação; - CONFIRMED: Transação confirmada com sucesso; - ERROR: Transação com erro. Vide nó 'error' do payload de response para detalhes sobre o erro; - RETURNED: Transação devolvida devido a ERROS no processamento; |
initialHour optional string |
Hora Inicial da consulta Formato: H:m Exemplo: 00:01 |
finalHour optional string |
Hora Final da consulta Formato: H:m Exemplo: 23:59 |
orderAsc optional boolean |
Ordenação dos registros Ascendente Default: false |
orderBy optional string |
Ordenação dos registros pelos filtros Opções: data ou valor |
initialAmount optional float |
Define a partir de qual valor será feita a busca |
finalAmount optional float |
Define até qual valor será feita a busca |
search optional string |
Busca pelo Nome, CPF ou Chave do recebedor minChars:5 ; maxChars:30 |
pageSize optional integer |
Quantidade de registros por página Default: 30 |
page optional integer |
Número identificador da página Default: 1 |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/payment?initialDate=2021-04-01&finalDate=2021-04-30' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json' \
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/payment?initialDate=2021-04-01&finalDate=2021-04-30', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {token_consultas}', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
Retorno JSON com sucesso
{ "sucesso": true, "message": "sucesso", "body": { "total": 9, "this": 2, "page": 1, "rows": [ { "transactionId": "8607946", "createAt": "2021-12-23 21:36:48", "updatedAt": null, "key": "[email protected]", "amount": "10.50", "status": "PROCESSING", "endToEndId": "E1393589320211224003702042103073" }, { "transactionId": "8607945", "createAt": "2021-12-23 21:33:48", "updatedAt": null, "key": "[email protected]", "amount": "110.25", "status": "PROCESSING", "endToEndId": "E1393589320211224003400539757650" } { ... } ] } }
Cria uma devolução (estorno) de um PIX recebido
https://api.bankon.com.br/v1/pix/reverse
HEADERS
Authentication required string |
{token_transacao} Seu token para realizar Transações (sem as chaves) |
Content-Type required string |
application/json |
BODY REQUEST
transactionId required string |
ID da Transação a ser estornada |
reason required string |
Lista de reações
|
urlNotificacao required string(200) |
URl para notificação
|
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/reverse' \ --header 'Authentication: {token_transacao}' \ --header 'Content-Type: application/json' \ --data-raw '{"transactionId":"97087162BEB0112B","reason":"BE08", "urlNotificacao": "http://webhook.seudominio.com.br"}'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/reverse', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS=>{ "transactionId":"97087162BEB0112B", "reason":"BE08", "urlNotificacao": "http://webhook.seudominio.com.br" }, CURLOPT_HTTPHEADER => array( 'Authentication: {token_transacao}', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
Retorno JSON com sucesso
{ "sucesso": true, "message": "Em processamento", "body": { "status": 200, "transactionId": 909086373, "amount": 1, "message": "PROCESSING" } }
BODY RESPONSE
body->transactionId |
Id da Transação gerada para o Estorno |
body->amount |
Valor do estorno |
Consultar o status de uma devolução (estorno) Pix.
https://api.bankon.com.br/v1/pix/reverse/:transactionId
Endpoint destinado a consulta de status posterior ao recebimento de webhook ou em caso de muita demora para o recebimento da confirmação.
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
PARAMETROS
transactionId required int(32) |
ID único da cobrança recebida |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/reverse/EA9361F4C0D01135' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/reverse/EA9361F4C0D01135', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {{token_consultas}}', 'Content-Type: application/json', ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
200
{ "transactionId": "C97B3BBFBF65112F", "reverseInfo": { "transactionId": 909276830, "amount": "2.00", "statusCode": { "StatusId": 2, "Description": "Confirmed" } } }
Consultar Limites e tarifas PIX
https://api.bankon.com.br/v1/pix/usage
Lista os limites de uso diário, tarifas de uso e valores máximos para tranferências via PIX
HEADERS
Authentication required string |
{token_consultas} Seu token para realizar Consultas (sem as chaves) |
Content-Type required string |
application/json |
Request
ccurl --location --request GET 'https://api.bankon.com.br/v1/pix/key' \ --header 'Authentication: {token_consultas}' \ --header 'Content-Type: application/json' \
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.bankon.com.br/v1/pix/key', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Authentication: {token_consultas}', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?>
Retorno JSON com sucesso
{ "sucesso": true, "message": "sucesso", "body": { "limiteDiario": { "total": "50000.00", "utilizado": "11.50", "disponivel": "49988.50" }, , "tarifas": { "recebimento": "0.00", "transferencia": "0.00" }, "valorTransferenciaAutomatica": "0.00", "limiteTransferencia": "0.00" } }
BODY RESPONSE
limiteDiario->total |
Valor total para transferências via PIX |
limiteDiario->utilizado |
Valor utilizado no dia |
limiteDiario->disponivel |
Valor disponível no dia |
tarifas->recebimento |
Tarifa de recebimento de uma cobrança via PIX |
tarifas->transferencia |
Tarifa de transferência via PIX |
valorTransferenciaAutomatica |
Valor para transferência automática. |
limiteTransferencia |
Limite para uma transferência única via PIX |
Webhooks
Todos os eventos são enviados através de uma requisição HTTP/HTTPS POST
com o formato JSON no payload.
Seu endpoint informado na Criação de uma cobrança ou Transferência (item urlNotificacao ) precisa retornar um status code de sucesso na resposta, sendo (2xx) um formato válido, assim consideraremos como entregue. Caso contrário, vamos retentar entregar a notificação mais 4 vezes, com intervalo de 1 minuto cada, depois disso, não vamos mais tentar entregar a notificação deste evento.
O exemplo abaixo é um exemplo de um payload de evento que enviamos.
1. Exemplo de Payload de uma confirmação de recebimento
{ "requestBody": { "transactionType": "RECEIVEPIX", "transactionId": "0424ADBC8402150B", "amount": 1.04, "dateApproval": "2021-04-01 06:24:25", "payerName": "Roronoa Zoro", "creditParty": { "userId": "luffy", "email": "[email protected]", "taxId": "99988877732", "name": "Monkey D. Luffy" }, "debitParty": { "account": "999999999", "bank": "NU PAGAMENTOS S.A.", "branch": "1", "taxId": "99999999999", "name": "Naruto Jose" }, "authentication": "E18236120202104220033s01591135PO" } }
Esta requisição deve ser respondida apenas com um HTTP status 200.
2. Exemplo de Payload de uma expiração de um QRCode
{ "requestBody": { "transactionType": "EXPIRED", "transactionId": "D42FDD03D7A60945" } }
Esta requisição deve ser respondida apenas com um HTTP status 200.
3. Exemplo de Payload com confirmação transferência PIX.
{ "requestBody": { "transactionType": "PAYMENT", "transactionId": "840887545", "amount": "10.00", "statusCode": { "statusId": 2, "description": "Confirmed" } } }
Esta requisição deve ser respondida apenas com um HTTP status 200.
4. Exemplo de Payload com erro na transferência PIX.
{ "requestBody": { "transactionType": "PAYMENT", "transactionId": "840887545", "amount": "10.00", "statusCode": { "statusId": 3, "description": "Error" } }, "error": { "code": "PBE339", "description":"General reject operation" } }
Esta requisição deve ser respondida apenas com um HTTP status 200.
5. Exemplo de Payload de uma confirmação de um PIX Revert (Estorno).
{ "requestBody": { "transactionType": "REVERTPIX", "transactionId": "6098113", "amount": "10.00", "statusCode": { "statusId": 2, "description": "Confirmed" } } }
Esta requisição deve ser respondida apenas com um HTTP status 200.
6. Exemplo de Payload de cancelamento de um pagamento.
{ "requestBody": { "transactionType": "PAYMENT_CANCELLED", "transactionId": "7D07F7CD774018FB", "amount": "300.50", "statusCode": { "statusId": 9999, "description": "Cancelled" } } }
Esta requisição deve ser respondida apenas com um HTTP status 200.
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 |
initialHour optional string |
Hora Inicial da consulta Formato: H:m Exemplo: 00:01 |
finalHour optional string |
Hora Final da consulta Formato: H:m Exemplo: 23:59 |
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 |
orderAsc optional boolean |
Ordenação dos registros Ascendente Default: false |
orderBy optional string |
Ordenação dos registros pelos filtros Opções: data ou valor |
initialAmount optional float |
Define a partir de qual valor será feita a busca |
finalAmount optional float |
Define até qual valor será feita a busca |
pageSize optional integer |
Quantidade de registros por página Default: 30 |
page optional integer |
Número identificador da página Default: 1 |
Request
curl --location --request GET "https://api.bankon.com.br/v1/consultas/extrato?initialDate=2021-01-01&finalDate=2022-02-14&type=C&initialHour=08:00&finalHour=23:01&orderAsc=false&orderBy=valor&page=1&pageSize=30&initialAmount=1.00&finalAmount=300.00" \ --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=2021-01-01&finalDate=2022-02-14&type=C&initialHour=08:00&finalHour=23:01&orderAsc=false&orderBy=valor&page=1&pageSize=30&initialAmount=1.00&finalAmount=300.00", 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.", "total": 2, "this": 2, "page": 1, "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
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; |
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" } } }