Banestes
  • Começar
  • Documentação
EntrarRegistrar
Pix
Pix CobrançaPix ArrecadaçãoPix Automático
Dados Públicos
Catálogo de Risco (Pilar 3)
Veja todos os produtos

Perguntas frequentes do portalPerguntas frequentes sobre Open Banking

APP de autenticação

Dev. Portal

Se você está acessando esta página, quer dizer que já deu o primeiro passo para iniciar a comunicação com as nossas APIs.

Agora você poderá prosseguir com os próximos passos para consumo das nossas APIs.

Obter uma APP

O que é APP?

Para acessar as nossas APIs é necessário ter um código de identificação, chamado de “APP”.

Por meio desta “APP”, a plataforma consegue autenticar e autorizar as ações feitas pelas suas aplicações. Por exemplo:

  • Operações vinculadas a um cliente Banestes*, como consultar extrato bancário, fazer pagamentos, alterar dados cadastrais, geração de qr-code PIX, etc.
  • Em alguns casos, as operações não estão associadas a um cliente Banestes, como consulta de registro de boletos, lista de bancos no SPB (Sistema de Pagamentos Brasileiro), etc. * As execuções de operações vinculadas a um cliente Banestes só podem ser acessadas após autorizações explícitas dadas pelo próprio cliente Banestes via bankline. Este item será melhor detalhado nos tópicos abaixo.

Uma APP é representada na plataforma pelo seu código “Client ID”, no padrão GUID. Recomendamos que você tenha:

  • Uma APP diferente por aplicação (CRM, ERP, e-commerce) ou por grandes processos da sua aplicação (abertura de conta, pagamentos de conta, PIX, etc.);
  • Obrigatoriamente uma APP diferente por ambiente (produção e sandbox);
  • E também obrigatoriamente, uma APP por Conta Corrente (CC).

Cadastre uma APP

O cadastro de uma APP é feito por um processo simples, disponível no link:

  • Minhas aplicações

Para este cadastro, você deverá preencher o formulário com as informações solicitadas:

  • Nome: nome da APP (livre digitação, mas recomendamos que use nomes associados a sistema ou processos);

  • Link para sua app: Informação de preenchimento opcional que consiste na URL de identificação da sua APP que pode ser um website ou documentação/help;

  • Descrição: campo de livre digitação, mas recomendamos que coloque informações como finalidade da APP na sua aplicação. Será muito interessante sabermos as suas ideias e projetos;

  • Ambiente de Acesso: selecionar se a APP será utilizada me ambiente 'Sandbox' ou 'Production'; As informações daqui para baixo são referentes a Conta Corrente que será associado a APP e posteriormente ao Certificado. Se as informações forem fornecidas de forma errada, a criação da APP não será permitida.
  • Nome Titular: nome do titular da Conta Corrente (CC) que esta APP irá representar.

  • E-mail: informação importante caso seja necessário entrarmos em contato;

  • CPF/CNPJ: identificação do proprietário da CC que esta APP irá representar;

  • Agência: informação que esta APP irá representar. Caso não exista, coloque apenas o número um (1);

  • Conta Corrente: informação que esta APP irá representar;

  • Cidade: nome da cidade de nascimento/registro do CPF/CNPJ (sem acentuação);

  • Estado: sigla do estado (UF), da cidade informada;

  • País: Sigla do país, do estado informado.

Importante:
  • Após preenchimento do formulário, os dados informados serão validados pelo time do Banestes. Enviaremos um e-mail informando se a APP foi Aprovada ou Reprovada a sua criação;
  • Após o cadastro e geração da sua APP, mantenha de forma segura a informação do seu “CLIENT ID” e, principalmente, o “CLIENT SECRET”;
  • Caso a criação da APP for aprovada e o ambiente de criação for 'Sandbox', o Banestes irá disponibilizar uma massa de dados para os seus testes.

Certificado de Autorização

Descrição do processo para criação e ativação do certificado de autenticação para acesso às APIs do Banestes.

Sobre a Solução

Objetivo

Esclarecer e orientar as áreas responsáveis pela integração entre parceiros/clientes e Banestes, informando os requisitos de segurança para a utilização das APIs e os direcionamentos técnicos para que um parceiro possa interagir com recursos disponibilizados para este processo. Nessa documentação, você encontrará o fluxo de autenticação e configuração de certificado nas chamadas das APIs.

Modelo de autenticação

O nosso modelo de comunicação atual requer a execução de dois fluxos de segurança pelo parceiro:

  • OAuth 2.0 Client Credentials e
  • Certificado (fluxo mTLS) Para acessar os dados corretamente, é importante que o processo de autenticação seja devidamente concluído antes do início dos testes. As etapas do processo de autenticação estão detalhadas a seguir.

Credenciais OAuth 2.0

Para iniciar a sua jornada de desenvolvimento, é importante que o ambiente esteja preparado e configurado para realizar os testes e suportar o desenvolvimento da aplicação de maneira segura. O nosso modelo de comunicação atual requer a autenticação do parceiro através do fluxo OAuth 2.0.

Esse fluxo é composto pelo client_id, que identifica a aplicação do parceiro, também conhecida como APP, e pelo client_secret, que é uma espécie de “senha” da APP, gerado automaticamente pelos nossos sistemas.

O parceiro terá dois conjuntos diferentes de credenciais: um para o ambiente Sandbox, para desenvolvimento e testes, e o outro para o ambiente de Produção.

Para ter acesso às credenciais do ambiente de produção, você seguirá o mesmo procedimento de sandbox, porém o time Banestes irá fazer uma validação mais criteriosa antes de disponibilizar as informações de acesso.

As credenciais client_id e client_secret serão criadas pelo nosso Dev. Portal de forma automática ou não para o ambiente Sandbox e, para as credenciais de Produção, necessitará de uma aprovação do nosso time de atendimento, sendo o prazo para a resposta de aproximadamente 5 dias úteis. Fique atento à resposta do e-mail.

Importante: As credenciais (client_id e client_secret) são confidenciais e devem ser armazenadas em local seguro.

Mais informações sobre este processo, veja o item “Cadastre uma APP”.

Criação e Ativação do Certificado

Os certificados terão validade de 365 dias, podendo ser renovados a partir dos 60 dias que antecedem o seu vencimento, e são de uso exclusivo do parceiro, sendo este o único responsável pela correta utilização e renovação. As chaves são monitoradas, e podem ser revogadas a critério do time responsável do Banestes em casos de: compartilhamento, interações estabelecidas muito acima do considerado normal e fim da parceria, por exemplo.

Atenção: A partir deste momento a documentação irá se dividir entre os "processo automáticos", ou seja, que poderão ser feitos via interface gráfica do Dev. Portal e "processo manuais" que poderão ser feitos via linha de comando (openssl) ou por APIs de gerenciamento.

Pré-requisitos

Processo

  • Manual
  • Automático

Para gerar o certificado dinâmico, devem ser instalados:

  • Git com módulo OpenSSL.
  • OU apenas o OpenSSL

→ OpenSSL

É importante validar se o seu ambiente está com o OpenSSL instalado de forma correta, para isso execute o seguinte comando em um terminal de seu sistema operacional para verificar se possui o OpenSSL instalado. Caso não obtenha retorno, instale o aplicativo OpenSSL e tente novamente.

Importante: Os comandos listados abaixo são para terminais Linux. Caso precise dos comandos para o terminal Windows, favor proceder com a conversão ou entrar em contato com o suporte.

Comando:

bash
openssl version
bash
openssl version

Exemplo de retorno (deverá apresentada a versão instalada):

text
OpenSSL 1.1.1f 31 Mar 2020
text
OpenSSL 1.1.1f 31 Mar 2020

Caso decida seguir os passos de criação e registro de Certificado de forma "automática" e via formulário. Será necessário ter acesso aod Portal dos Desenvolvedores do Banestes para execução dos procedimentos. ... conforme iremos explicar nos próximos passos desta documentação.

CNF

Processo

  • Manual
  • Automático

Com o OpenSSL instalado de forma correta, podemos prosseguir com o processo de geração do par de chaves RSA. Para gerar, execute os comandos abaixo, preenchendo com as informações solicitadas:

Comando:

bash
openssl req -new -subj "/UID={{APP_Client_ID}}/DC={{domainComponent_environment}}/CN={{commonName}}/O={{organizationName_CNPJ-CPF}}/OU={{organizationalUnitName_AG-CC}}/L={{localityName}}/ST={{stateOrProvinceName}}/C={{countryName}}" -out REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:4096 -keyout PRIVATE_KEY.key
bash
openssl req -new -subj "/UID={{APP_Client_ID}}/DC={{domainComponent_environment}}/CN={{commonName}}/O={{organizationName_CNPJ-CPF}}/OU={{organizationalUnitName_AG-CC}}/L={{localityName}}/ST={{stateOrProvinceName}}/C={{countryName}}" -out REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:4096 -keyout PRIVATE_KEY.key
  • UID = Client ID da APP criada no Dev. Portal;
  • DC = Ambiente que a APP foi criada e o certificado será utilizado (“Sandbox” ou “Producao”);
  • CN = Nome do proprietário da CC e CPF/CNPJ que será utilizado o certificado;
  • O = Número do CPF ou CNPJ do titular da CC que será acessada pelo certificado;
  • OU = Número da Agência “-” Número da Conta Corrente que será acessada pelo certificado;
  • L = Nome da cidade de nascimento/registro do CPF/CNPJ (sem acentuação);
  • ST = Sigla do estado (UF), da cidade informada;
  • C = Sigla do país, do estado informado.

Exemplo do comando:

bash
openssl req -new -subj "/UID=00000000-0000-0000-0000-000000000000/DC=Sandbox/CN=Empresa Exemplo LTDA/O=00000000000100/OU=0000-0/L=Vitoria/ST=ES/C=BR" -out REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:4096 -keyout PRIVATE_KEY.key
bash
openssl req -new -subj "/UID=00000000-0000-0000-0000-000000000000/DC=Sandbox/CN=Empresa Exemplo LTDA/O=00000000000100/OU=0000-0/L=Vitoria/ST=ES/C=BR" -out REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:4096 -keyout PRIVATE_KEY.key

Para execução do comando CNF, é necessário ter uma APP já criada e aprovada pelo Banestes, desta forma certifique-se que já tenha esta APP.

Para criar um comando CNF de forma "automática", basta seguir os procedimentos abaixo:

  • Logar no Portal dos Desenvolvedores do Banestes;
  • Acessar o formulário "Certificados para operações de PIX" por este link;
  • Será apresentado uma listagem de todas as APPs que foram criadas por você no portal;
  • Na listagem de APP clique no botão "CNF";
  • De forma automática, será gerado o comando CNF da APP selecionada, conforme imagem de exemplo abaixo:

Request Certificate e Key

Processo

  • Manual
  • Automático

Com o OpenSSL instalado de forma correta, e o comando openssl do CNF preenchido da forma correta, podemos prosseguir com o processo de geração do par de chaves RSA.

Exemplo do comando:

bash
openssl req -new -subj "/UID=00000000-0000-0000-0000-000000000000/DC=Sandbox/CN=Empresa Exemplo LTDA/O=00000000000100/OU=0000-0/L=Vitoria/ST=ES/C=BR" -out REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:4096 -keyout PRIVATE_KEY.key
bash
openssl req -new -subj "/UID=00000000-0000-0000-0000-000000000000/DC=Sandbox/CN=Empresa Exemplo LTDA/O=00000000000100/OU=0000-0/L=Vitoria/ST=ES/C=BR" -out REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:4096 -keyout PRIVATE_KEY.key

Exemplo de retorno:

text
Generating a RSA private key .....................................................++++ .......++++ writing new private key to 'PRIVATE_KEY.key' -----
text
Generating a RSA private key .....................................................++++ .......++++ writing new private key to 'PRIVATE_KEY.key' -----

Este comando deverá gerar a chave privada “PRIVATE_KEY.key”, que não deve ser compartilhada, e a chave de solicitação de registro “REQUEST_CERTIFICADO.csr”, que deverá ser enviada para o Banestes para validação, assinatura e geração do certificado final.

Exemplo e validação do request certificate e key

Veja abaixo um exemplo do conteúdo da chave de solicitação de registro:

Exemplo do conteúdo do arquivo “REQUEST_CERTIFICADO.csr”

text
-----BEGIN CERTIFICATE REQUEST----- MIIFCjCCAvICAQAwgcQxNDAyBgoJkiaJk/IsZAEBDCQwMDAwMDAwMC0wMDAwLTAw MDAtMDAwMC0wMDAwMDAwMDAwMDAxFzAVBgoJkiaJk/IsZAEZFgdTYW5kYm94MR0w GwYDVQQDDBRFbXByZXNhIEV4ZW1wbG8gTFREQTEXMBUGA1UECgwOMDAwMDAwMDAw MDAxMDAxDzANBgNVBAsMBjAwMDAtMDEQMA4GA1UEBwwHVml0b3JpYTELMAkGA1UE CAwCRVMxCzAJBgNVBAYTAkJSMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC AgEAnQr4DbU/E31qgwmPN6qPWPaCNknoFbtP5EqEx9oRhMEhYgchi0GDhe8BIP2T NgcW6CXTWTyeVd1rcXnd9ZdaI1YgGaJkph7PYhq8VuWIwaRDhqZui5noeHukny7D 9rtrh1kpX2+98nX+1xxotWkeQFhY2Zml74qYMsW5MNGsE/1aM4b8z98iWW9jFkmK PKpyqlyX+RW1jlEOsXLuOxuBWFNS6SMbMbCb+kZdZTnB/0FPK/7XRPCHRoaHNXYW JfQitQWmJm6MF0+1JkG9YUJpRxKynk/wc34Rom+jKmh7Khgrv1uU5EUT/lAHZ66A sClyjCv4AMyw36Ot1uzUc3ZToZwRQJnx26XU01Qa+sQMDeUQurB1XiPQFH/+MhDK xrHKuI5ml/HFGhJMw5y+Y0swxiPyxALWArR7z+0baddVQbJ3pGMPfvmHfUewMAu5 12p7MllW88+wfvMgspupNUl/JuOaNmT/R4/G5Wi9Mk2SuSPAW3BrRTqnvvdEmsnd ptZpwDy2PLxaxvCkBuvPc81rSvKi4xLluseUs+wBJrMNfhWId1Crx7gSAN7JvNZZ dAic2ip//MvTf2Ap8Ov40wrSUGQ/LujuVc4g1GypJvHNYhBdnhs5dOx/qLembwej uzupLJJx+zBsqHz+BC9GfGfmFxWcToMhYTarifACmiErLfMCAwEAAaAAMA0GCSqG SIb3DQEBDQUAA4ICAQBwBHYvyBaghlgeSbW+GbmL+8EiGX6h7dFs/Ff6f+LwL0CE eSY5JNN4ht2wixwPmDCPxTHGCYOU7Sgxh9PtFJIX+VfHr5QrQcDdcPZEgz6ViZ5a xGmnepiDqjIKCYBzyO1Pu8USOK6ph6Euc8+GxIV3qOA7UMnjSoTiK5EGK4VmsJTh i8QQwlhy5pbuaRq+JZMRw9i7zfE0YW+wPxvHFxEYQXcZcDTMlYZxhMIQLc/Oh+FX IWE9vL04/c0vI5C0eEj8FG2pte2YFoHPtO4Ch968/L62HWubBARyNj/IYj+eD8Nq 4dWaTE/pVrdUXwiKZJjtKWyeTUIJ9BDyn3JXq4WsVJrGNngy2/IG9VxZxnXR24LJ 56NpG+eV2mMPmFyTpswQ7i5sQvgYy9w72Gs3d07Z1vfIfc95d6RkiZ3YBcStOawP GKlmKsqzWdlQ+BONBbeg137DJBJQr7eOzCmYFBHWLAL801IEkCtujvtgJv5gGT3J d5ksJIsCxULOKpmcTZxqlKwdCw2HNTZui1zCikCybElh0rWylbrjnahHtOGYYOUj ATbXVKxEz4ltyOJUrLh2n0Rsy2yHdO5We1voG3G5BP4+H85obxzQUHsS7D3qDLNg uMILCGokL7vUD7u8s0muX9yB4zlQgroxohNKTpveKappHQ38vFzXY9CVISKJsQ== -----END CERTIFICATE REQUEST-----
text
-----BEGIN CERTIFICATE REQUEST----- MIIFCjCCAvICAQAwgcQxNDAyBgoJkiaJk/IsZAEBDCQwMDAwMDAwMC0wMDAwLTAw MDAtMDAwMC0wMDAwMDAwMDAwMDAxFzAVBgoJkiaJk/IsZAEZFgdTYW5kYm94MR0w GwYDVQQDDBRFbXByZXNhIEV4ZW1wbG8gTFREQTEXMBUGA1UECgwOMDAwMDAwMDAw MDAxMDAxDzANBgNVBAsMBjAwMDAtMDEQMA4GA1UEBwwHVml0b3JpYTELMAkGA1UE CAwCRVMxCzAJBgNVBAYTAkJSMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC AgEAnQr4DbU/E31qgwmPN6qPWPaCNknoFbtP5EqEx9oRhMEhYgchi0GDhe8BIP2T NgcW6CXTWTyeVd1rcXnd9ZdaI1YgGaJkph7PYhq8VuWIwaRDhqZui5noeHukny7D 9rtrh1kpX2+98nX+1xxotWkeQFhY2Zml74qYMsW5MNGsE/1aM4b8z98iWW9jFkmK PKpyqlyX+RW1jlEOsXLuOxuBWFNS6SMbMbCb+kZdZTnB/0FPK/7XRPCHRoaHNXYW JfQitQWmJm6MF0+1JkG9YUJpRxKynk/wc34Rom+jKmh7Khgrv1uU5EUT/lAHZ66A sClyjCv4AMyw36Ot1uzUc3ZToZwRQJnx26XU01Qa+sQMDeUQurB1XiPQFH/+MhDK xrHKuI5ml/HFGhJMw5y+Y0swxiPyxALWArR7z+0baddVQbJ3pGMPfvmHfUewMAu5 12p7MllW88+wfvMgspupNUl/JuOaNmT/R4/G5Wi9Mk2SuSPAW3BrRTqnvvdEmsnd ptZpwDy2PLxaxvCkBuvPc81rSvKi4xLluseUs+wBJrMNfhWId1Crx7gSAN7JvNZZ dAic2ip//MvTf2Ap8Ov40wrSUGQ/LujuVc4g1GypJvHNYhBdnhs5dOx/qLembwej uzupLJJx+zBsqHz+BC9GfGfmFxWcToMhYTarifACmiErLfMCAwEAAaAAMA0GCSqG SIb3DQEBDQUAA4ICAQBwBHYvyBaghlgeSbW+GbmL+8EiGX6h7dFs/Ff6f+LwL0CE eSY5JNN4ht2wixwPmDCPxTHGCYOU7Sgxh9PtFJIX+VfHr5QrQcDdcPZEgz6ViZ5a xGmnepiDqjIKCYBzyO1Pu8USOK6ph6Euc8+GxIV3qOA7UMnjSoTiK5EGK4VmsJTh i8QQwlhy5pbuaRq+JZMRw9i7zfE0YW+wPxvHFxEYQXcZcDTMlYZxhMIQLc/Oh+FX IWE9vL04/c0vI5C0eEj8FG2pte2YFoHPtO4Ch968/L62HWubBARyNj/IYj+eD8Nq 4dWaTE/pVrdUXwiKZJjtKWyeTUIJ9BDyn3JXq4WsVJrGNngy2/IG9VxZxnXR24LJ 56NpG+eV2mMPmFyTpswQ7i5sQvgYy9w72Gs3d07Z1vfIfc95d6RkiZ3YBcStOawP GKlmKsqzWdlQ+BONBbeg137DJBJQr7eOzCmYFBHWLAL801IEkCtujvtgJv5gGT3J d5ksJIsCxULOKpmcTZxqlKwdCw2HNTZui1zCikCybElh0rWylbrjnahHtOGYYOUj ATbXVKxEz4ltyOJUrLh2n0Rsy2yHdO5We1voG3G5BP4+H85obxzQUHsS7D3qDLNg uMILCGokL7vUD7u8s0muX9yB4zlQgroxohNKTpveKappHQ38vFzXY9CVISKJsQ== -----END CERTIFICATE REQUEST-----

Veja abaixo um exemplo do conteúdo da chave privada:

Exemplo do conteúdo do arquivo “PRIVATE_KEY.key”

text
-----BEGIN PRIVATE KEY----- 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 fKDQWG0JcwUX2/J2TSiJWvsd4+EB45ly -----END PRIVATE KEY-----
text
-----BEGIN PRIVATE KEY----- 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 fKDQWG0JcwUX2/J2TSiJWvsd4+EB45ly -----END PRIVATE KEY-----

Para validar se a chave de solicitação de registro foi criada corretamente:

Comando:

bash
openssl req -in REQUEST_CERTIFICADO.csr -noout -text
bash
openssl req -in REQUEST_CERTIFICADO.csr -noout -text

Exemplo de retorno:

text
Certificate Request: Data: Version: 1 (0x0) Subject: UID = 00000000-0000-0000-0000-000000000000, DC = Sandbox, CN = Empresa Exemplo LTDA, O = 00000000000100, OU = 0000-0, L = Vitoria, ST = ES, C = BR Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: 00:9d:0a:f8:0d:b5:3f:13:7d:6a:83:09:8f:37:aa: 8f:58:f6:82:36:49:e8:15:bb:4f:e4:4a:84:c7:da: 11:84:c1:21:62:07:21:8b:41:83:85:ef:01:20:fd: 93:36:07:16:e8:25:d3:59:3c:9e:55:dd:6b:71:79: dd:f5:97:5a:23:56:20:19:a2:64:a6:1e:cf:62:1a: bc:56:e5:88:c1:a4:43:86:a6:6e:8b:99:e8:78:7b: a4:9f:2e:c3:f6:bb:6b:87:59:29:5f:6f:bd:f2:75: fe:d7:1c:68:b5:69:1e:40:58:58:d9:99:a5:ef:8a: 98:32:c5:b9:30:d1:ac:13:fd:5a:33:86:fc:cf:df: 22:59:6f:63:16:49:8a:3c:aa:72:aa:5c:97:f9:15: b5:8e:51:0e:b1:72:ee:3b:1b:81:58:53:52:e9:23: 1b:31:b0:9b:fa:46:5d:65:39:c1:ff:41:4f:2b:fe: d7:44:f0:87:46:86:87:35:76:16:25:f4:22:b5:05: a6:26:6e:8c:17:4f:b5:26:41:bd:61:42:69:47:12: b2:9e:4f:f0:73:7e:11:a2:6f:a3:2a:68:7b:2a:18: 2b:bf:5b:94:e4:45:13:fe:50:07:67:ae:80:b0:29: 72:8c:2b:f8:00:cc:b0:df:a3:ad:d6:ec:d4:73:76: 53:a1:9c:11:40:99:f1:db:a5:d4:d3:54:1a:fa:c4: 0c:0d:e5:10:ba:b0:75:5e:23:d0:14:7f:fe:32:10: ca:c6:b1:ca:b8:8e:66:97:f1:c5:1a:12:4c:c3:9c: be:63:4b:30:c6:23:f2:c4:02:d6:02:b4:7b:cf:ed: 1b:69:d7:55:41:b2:77:a4:63:0f:7e:f9:87:7d:47: b0:30:0b:b9:d7:6a:7b:32:59:56:f3:cf:b0:7e:f3: 20:b2:9b:a9:35:49:7f:26:e3:9a:36:64:ff:47:8f: c6:e5:68:bd:32:4d:92:b9:23:c0:5b:70:6b:45:3a: a7:be:f7:44:9a:c9:dd:a6:d6:69:c0:3c:b6:3c:bc: 5a:c6:f0:a4:06:eb:cf:73:cd:6b:4a:f2:a2:e3:12: e5:ba:c7:94:b3:ec:01:26:b3:0d:7e:15:88:77:50: ab:c7:b8:12:00:de:c9:bc:d6:59:74:08:9c:da:2a: 7f:fc:cb:d3:7f:60:29:f0:eb:f8:d3:0a:d2:50:64: 3f:2e:e8:ee:55:ce:20:d4:6c:a9:26:f1:cd:62:10: 5d:9e:1b:39:74:ec:7f:a8:b7:a6:6f:07:a3:bb:3b: a9:2c:92:71:fb:30:6c:a8:7c:fe:04:2f:46:7c:67: e6:17:15:9c:4e:83:21:61:36:ab:89:f0:02:9a:21: 2b:2d:f3 Exponent: 65537 (0x10001) Attributes: (none) Requested Extensions: Signature Algorithm: sha512WithRSAEncryption Signature Value: 70:04:76:2f:c8:16:a0:86:58:1e:49:b5:be:19:b9:8b:fb:c1: 22:19:7e:a1:ed:d1:6c:fc:57:fa:7f:e2:f0:2f:40:84:79:26: 39:24:d3:78:86:dd:b0:8b:1c:0f:98:30:8f:c5:31:c6:09:83: 94:ed:28:31:87:d3:ed:14:92:17:f9:57:c7:af:94:2b:41:c0: dd:70:f6:44:83:3e:95:89:9e:5a:c4:69:a7:7a:98:83:aa:32: 0a:09:80:73:c8:ed:4f:bb:c5:12:38:ae:a9:87:a1:2e:73:cf: 86:c4:85:77:a8:e0:3b:50:c9:e3:4a:84:e2:2b:91:06:2b:85: 66:b0:94:e1:8b:c4:10:c2:58:72:e6:96:ee:69:1a:be:25:93: 11:c3:d8:bb:cd:f1:34:61:6f:b0:3f:1b:c7:17:11:18:41:77: 19:70:34:cc:95:86:71:84:c2:10:2d:cf:ce:87:e1:57:21:61: 3d:bc:bd:38:fd:cd:2f:23:90:b4:78:48:fc:14:6d:a9:b5:ed: 98:16:81:cf:b4:ee:02:87:de:bc:fc:be:b6:1d:6b:9b:04:04: 72:36:3f:c8:62:3f:9e:0f:c3:6a:e1:d5:9a:4c:4f:e9:56:b7: 54:5f:08:8a:64:98:ed:29:6c:9e:4d:42:09:f4:10:f2:9f:72: 57:ab:85:ac:54:9a:c6:36:78:32:db:f2:06:f5:5c:59:c6:75: d1:db:82:c9:e7:a3:69:1b:e7:95:da:63:0f:98:5c:93:a6:cc: 10:ee:2e:6c:42:f8:18:cb:dc:3b:d8:6b:37:77:4e:d9:d6:f7: c8:7d:cf:79:77:a4:64:89:9d:d8:05:c4:ad:39:ac:0f:18:a9: 66:2a:ca:b3:59:d9:50:f8:13:8d:05:b7:a0:d7:7e:c3:24:12: 50:af:b7:8e:cc:29:98:14:11:d6:2c:02:fc:d3:52:04:90:2b: 6e:8e:fb:60:26:fe:60:19:3d:c9:77:99:2c:24:8b:02:c5:42: ce:2a:99:9c:4d:9c:6a:94:ac:1d:0b:0d:87:35:36:6e:8b:5c: c2:8a:40:b2:6c:49:61:d2:b5:b2:95:ba:e3:9d:a8:47:b4:e1: 98:60:e5:23:01:36:d7:54:ac:44:cf:89:6d:c8:e2:54:ac:b8: 76:9f:44:6c:cb:6c:87:74:ee:56:7b:5b:e8:1b:71:b9:04:fe: 3e:1f:ce:68:6f:1c:d0:50:7b:12:ec:3d:ea:0c:b3:60:b8:c2: 0b:08:6a:24:2f:bb:d4:0f:bb:bc:b3:49:ae:5f:dc:81:e3:39: 50:82:ba:31:a2:13:4a:4e:9b:de:29:aa:69:1d:0d:fc:bc:5c: d7:63:d0:95:21:22:89:b1
text
Certificate Request: Data: Version: 1 (0x0) Subject: UID = 00000000-0000-0000-0000-000000000000, DC = Sandbox, CN = Empresa Exemplo LTDA, O = 00000000000100, OU = 0000-0, L = Vitoria, ST = ES, C = BR Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: 00:9d:0a:f8:0d:b5:3f:13:7d:6a:83:09:8f:37:aa: 8f:58:f6:82:36:49:e8:15:bb:4f:e4:4a:84:c7:da: 11:84:c1:21:62:07:21:8b:41:83:85:ef:01:20:fd: 93:36:07:16:e8:25:d3:59:3c:9e:55:dd:6b:71:79: dd:f5:97:5a:23:56:20:19:a2:64:a6:1e:cf:62:1a: bc:56:e5:88:c1:a4:43:86:a6:6e:8b:99:e8:78:7b: a4:9f:2e:c3:f6:bb:6b:87:59:29:5f:6f:bd:f2:75: fe:d7:1c:68:b5:69:1e:40:58:58:d9:99:a5:ef:8a: 98:32:c5:b9:30:d1:ac:13:fd:5a:33:86:fc:cf:df: 22:59:6f:63:16:49:8a:3c:aa:72:aa:5c:97:f9:15: b5:8e:51:0e:b1:72:ee:3b:1b:81:58:53:52:e9:23: 1b:31:b0:9b:fa:46:5d:65:39:c1:ff:41:4f:2b:fe: d7:44:f0:87:46:86:87:35:76:16:25:f4:22:b5:05: a6:26:6e:8c:17:4f:b5:26:41:bd:61:42:69:47:12: b2:9e:4f:f0:73:7e:11:a2:6f:a3:2a:68:7b:2a:18: 2b:bf:5b:94:e4:45:13:fe:50:07:67:ae:80:b0:29: 72:8c:2b:f8:00:cc:b0:df:a3:ad:d6:ec:d4:73:76: 53:a1:9c:11:40:99:f1:db:a5:d4:d3:54:1a:fa:c4: 0c:0d:e5:10:ba:b0:75:5e:23:d0:14:7f:fe:32:10: ca:c6:b1:ca:b8:8e:66:97:f1:c5:1a:12:4c:c3:9c: be:63:4b:30:c6:23:f2:c4:02:d6:02:b4:7b:cf:ed: 1b:69:d7:55:41:b2:77:a4:63:0f:7e:f9:87:7d:47: b0:30:0b:b9:d7:6a:7b:32:59:56:f3:cf:b0:7e:f3: 20:b2:9b:a9:35:49:7f:26:e3:9a:36:64:ff:47:8f: c6:e5:68:bd:32:4d:92:b9:23:c0:5b:70:6b:45:3a: a7:be:f7:44:9a:c9:dd:a6:d6:69:c0:3c:b6:3c:bc: 5a:c6:f0:a4:06:eb:cf:73:cd:6b:4a:f2:a2:e3:12: e5:ba:c7:94:b3:ec:01:26:b3:0d:7e:15:88:77:50: ab:c7:b8:12:00:de:c9:bc:d6:59:74:08:9c:da:2a: 7f:fc:cb:d3:7f:60:29:f0:eb:f8:d3:0a:d2:50:64: 3f:2e:e8:ee:55:ce:20:d4:6c:a9:26:f1:cd:62:10: 5d:9e:1b:39:74:ec:7f:a8:b7:a6:6f:07:a3:bb:3b: a9:2c:92:71:fb:30:6c:a8:7c:fe:04:2f:46:7c:67: e6:17:15:9c:4e:83:21:61:36:ab:89:f0:02:9a:21: 2b:2d:f3 Exponent: 65537 (0x10001) Attributes: (none) Requested Extensions: Signature Algorithm: sha512WithRSAEncryption Signature Value: 70:04:76:2f:c8:16:a0:86:58:1e:49:b5:be:19:b9:8b:fb:c1: 22:19:7e:a1:ed:d1:6c:fc:57:fa:7f:e2:f0:2f:40:84:79:26: 39:24:d3:78:86:dd:b0:8b:1c:0f:98:30:8f:c5:31:c6:09:83: 94:ed:28:31:87:d3:ed:14:92:17:f9:57:c7:af:94:2b:41:c0: dd:70:f6:44:83:3e:95:89:9e:5a:c4:69:a7:7a:98:83:aa:32: 0a:09:80:73:c8:ed:4f:bb:c5:12:38:ae:a9:87:a1:2e:73:cf: 86:c4:85:77:a8:e0:3b:50:c9:e3:4a:84:e2:2b:91:06:2b:85: 66:b0:94:e1:8b:c4:10:c2:58:72:e6:96:ee:69:1a:be:25:93: 11:c3:d8:bb:cd:f1:34:61:6f:b0:3f:1b:c7:17:11:18:41:77: 19:70:34:cc:95:86:71:84:c2:10:2d:cf:ce:87:e1:57:21:61: 3d:bc:bd:38:fd:cd:2f:23:90:b4:78:48:fc:14:6d:a9:b5:ed: 98:16:81:cf:b4:ee:02:87:de:bc:fc:be:b6:1d:6b:9b:04:04: 72:36:3f:c8:62:3f:9e:0f:c3:6a:e1:d5:9a:4c:4f:e9:56:b7: 54:5f:08:8a:64:98:ed:29:6c:9e:4d:42:09:f4:10:f2:9f:72: 57:ab:85:ac:54:9a:c6:36:78:32:db:f2:06:f5:5c:59:c6:75: d1:db:82:c9:e7:a3:69:1b:e7:95:da:63:0f:98:5c:93:a6:cc: 10:ee:2e:6c:42:f8:18:cb:dc:3b:d8:6b:37:77:4e:d9:d6:f7: c8:7d:cf:79:77:a4:64:89:9d:d8:05:c4:ad:39:ac:0f:18:a9: 66:2a:ca:b3:59:d9:50:f8:13:8d:05:b7:a0:d7:7e:c3:24:12: 50:af:b7:8e:cc:29:98:14:11:d6:2c:02:fc:d3:52:04:90:2b: 6e:8e:fb:60:26:fe:60:19:3d:c9:77:99:2c:24:8b:02:c5:42: ce:2a:99:9c:4d:9c:6a:94:ac:1d:0b:0d:87:35:36:6e:8b:5c: c2:8a:40:b2:6c:49:61:d2:b5:b2:95:ba:e3:9d:a8:47:b4:e1: 98:60:e5:23:01:36:d7:54:ac:44:cf:89:6d:c8:e2:54:ac:b8: 76:9f:44:6c:cb:6c:87:74:ee:56:7b:5b:e8:1b:71:b9:04:fe: 3e:1f:ce:68:6f:1c:d0:50:7b:12:ec:3d:ea:0c:b3:60:b8:c2: 0b:08:6a:24:2f:bb:d4:0f:bb:bc:b3:49:ae:5f:dc:81:e3:39: 50:82:ba:31:a2:13:4a:4e:9b:de:29:aa:69:1d:0d:fc:bc:5c: d7:63:d0:95:21:22:89:b1

Para execução do comando CNF e consequente criação do Request Certificate e sua KEY, é necessário ter uma APP já criada e aprovada pelo Banestes.

Mesmo com o comando CNF em mãos, gerado no processo anterior, você pode optar por não executá-lo e deixar que o Portal dos Desenvolvedores do Banestes faça este processo para você. Para criar o Request Certificate e a sua respectiva KEY de forma "automática", basta seguir os procedimentos abaixo:

  • Logar no Portal dos Desenvolvedores do Banestes;
  • Acessar o formulário "Certificados para operações de PIX" por este link;
  • Será apresentado uma listagem de todas as APPs que foram criadas por você no portal;
  • Na listagem de APP clique no botão "CSR e KEY";
  • De forma automática, será gerado os arquivos CSR (Request Certificate) e KEY (chave privada), conforme imagem de exemplo abaixo:

Importante: Copie as informações geradas pelo formulário pois o Portal dos Desenvolvedores não armazena essas informações por serem sigilosas.

Registrar o Certificado

Processo

Para execução destes processos, é necessário ter uma APP criada e aprovada pelo Banestes.

  • Registrar Certificado
  • Gerar e Registrar Certificado

Para execução destes processos, é necessário ter gerado o Request Certificate (CSR) e KEY de forma manual ou pelo Portal dos Desenvolvedores do Banestes.

Para enviar o Request Certificate (CSR) ao Banestes e registrá-lo como Certificado de acesso, basta seguir os procedimentos abaixo:

  • Logar no Portal dos Desenvolvedores do Banestes;
  • Acessar o formulário "Certificados para operações de PIX" por este link;
  • Será apresentado uma listagem de todas as APPs que foram criadas por você no portal;
  • Na listagem de APP clique no botão "Registrar Certificado" e, no formulário apresentado, clique no botão "Registrar Certificado";
  • No campo apropriado, preencha com o Request Certificate (CSR) e clique no botão "Confirmar";
  • O arquivo será enviado para o Banestes valida-lo. Caso passe pela validação automática, o certificado será gerado de forma imediata. Se o Banestes entender que precisa de validações mais detalhada, retornaremos por e-mail a geração do certificado;

Consideramos a execução deste processo como um processo "automático", ou seja, não é necessário gerar e executar o CNF e muito menos ter em mãos o Request Certificate (CSR) e KEY.

Para Gerar e Registrar um Certificado, basta seguir os procedimentos abaixo:

  • Logar no Portal dos Desenvolvedores do Banestes;
  • Acessar o formulário "Certificados para operações de PIX" por este link;
  • Será apresentado uma listagem de todas as APPs que foram criadas por você no portal;
  • Na listagem de APP clique no botão "Registrar Certificado" e, no formulário apresentado, clique no botão "Gerar e Registrar Certificado";
  • Este processo enviará uma solicitação de Certificado ao Banestes e o mesmo irá validar a sua solicitação. Caso passe pela validação automática, o certificado será gerado de forma imediata. Se o Banestes entender que precisa de validações mais detalhada, retornaremos por e-mail a geração do certificado;

Importante: O prazo para a resposta da equipe de atendimento com o certificado assinado pela Certificate Authority do Banestes é de até 7 dias úteis. Enviaremos o certificado para o e-mail do responsável pela solicitação e dono da APP.

Exemplo do Certificado

example

Exemplo do conteúdo de um Certificado (chave pública) após validado, assinado e registrado pelo Banestes.

text
-----BEGIN CERTIFICATE----- MIIFwDCCA6gCFFe1hD4TM9Z9XV8wXfBcJ8wTDYlgMA0GCSqGSIb3DQEBDQUAMHQx CzAJBgNVBAYTAkJSMQswCQYDVQQIDAJFUzEQMA4GA1UEBwwHVml0b3JpYTEmMCQG A1UECgwdQmFuZXN0ZXMgRGV2IFBvcnRhbCAoZXhlbXBsbykxHjAcBgNVBAMMFURl diBQb3J0YWwgRXhlbXBsbyBDQTAeFw0yNjEwMjYwMzE2NDhaFw0yNzEwMjYwMzE2 NDhaMIHEMTQwMgYKCZImiZPyLGQBAQwkMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAt MDAwMDAwMDAwMDAwMRcwFQYKCZImiZPyLGQBGRYHU2FuZGJveDEdMBsGA1UEAwwU RW1wcmVzYSBFeGVtcGxvIExUREExFzAVBgNVBAoMDjAwMDAwMDAwMDAwMTAwMQ8w DQYDVQQLDAYwMDAwLTAxEDAOBgNVBAcMB1ZpdG9yaWExCzAJBgNVBAgMAkVTMQsw CQYDVQQGEwJCUjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJ0K+A21 PxN9aoMJjzeqj1j2gjZJ6BW7T+RKhMfaEYTBIWIHIYtBg4XvASD9kzYHFugl01k8 nlXda3F53fWXWiNWIBmiZKYez2IavFbliMGkQ4ambouZ6Hh7pJ8uw/a7a4dZKV9v vfJ1/tccaLVpHkBYWNmZpe+KmDLFuTDRrBP9WjOG/M/fIllvYxZJijyqcqpcl/kV tY5RDrFy7jsbgVhTUukjGzGwm/pGXWU5wf9BTyv+10Twh0aGhzV2FiX0IrUFpiZu jBdPtSZBvWFCaUcSsp5P8HN+EaJvoypoeyoYK79blORFE/5QB2eugLApcowr+ADM sN+jrdbs1HN2U6GcEUCZ8dul1NNUGvrEDA3lELqwdV4j0BR//jIQysaxyriOZpfx xRoSTMOcvmNLMMYj8sQC1gK0e8/tG2nXVUGyd6RjD375h31HsDALuddqezJZVvPP sH7zILKbqTVJfybjmjZk/0ePxuVovTJNkrkjwFtwa0U6p773RJrJ3abWacA8tjy8 WsbwpAbrz3PNa0ryouMS5brHlLPsASazDX4ViHdQq8e4EgDeybzWWXQInNoqf/zL 039gKfDr+NMK0lBkPy7o7lXOINRsqSbxzWIQXZ4bOXTsf6i3pm8Ho7s7qSyScfsw bKh8/gQvRnxn5hcVnE6DIWE2q4nwApohKy3zAgMBAAEwDQYJKoZIhvcNAQENBQAD ggIBABeKD3H8Ba3jKlKGD4rD9XHmhuBXyk8D43u0z8lMAziNhIB7UrXDwj8u94/C jXwVmwcs2qoQnltBEvb0gUy2GI4jlHvAcQrff4nCogxUiSbQypaYhLq+WLKAEGf7 w+GaoEynSApAIGG2GR38G4wF5wzkG/ndeK1GTm6X0FbkW3WfvEFp/87Zf8oI3M76 5LGbKiLM+4oZebJCChJ0NjMmwFS80muvnQJ8zlfttYXliVO21rmoMdBfbEWtIwI/ sgafqqq9shUpg1F0wEeQGpAehOvwEbwAPFfbMpn5nqEyHYz73PwhcEn60PJtpNMS Reg+ziQ1xpXnpdWqWz0q3jOFwCB7xtFE3/onlqDeLwy9X0YY2lD8l+cxR9nwbb5y xmK0SBl0klaCDq9L1TxYVyTVgqb+KeIg8yqP34W5OUeMlbVON6JHZFOwRnGLrBMj GXnVEL30Yf0II5xFj0CTmXaG2jSv35l2ZoCR2L/YbkdaIZaOzhb7y5xF28B44L14 PJcIYNEtlxiVb1FlYJpgK1+bb9hmqNN0L8YRSrtRspGGLk+7qOq50BaGmlDyY9vb 4oNPLMutXTu/lGvWOoQqs6gh9A3gefTVCyJ7djQY7nWMBInpuezqaVKrmTba05Dl hTmEESRv5K/FF5lOzXNye8dhTjiYXCUCjfZmVkh0FPxj6aGz -----END CERTIFICATE-----
text
-----BEGIN CERTIFICATE----- MIIFwDCCA6gCFFe1hD4TM9Z9XV8wXfBcJ8wTDYlgMA0GCSqGSIb3DQEBDQUAMHQx CzAJBgNVBAYTAkJSMQswCQYDVQQIDAJFUzEQMA4GA1UEBwwHVml0b3JpYTEmMCQG A1UECgwdQmFuZXN0ZXMgRGV2IFBvcnRhbCAoZXhlbXBsbykxHjAcBgNVBAMMFURl diBQb3J0YWwgRXhlbXBsbyBDQTAeFw0yNjEwMjYwMzE2NDhaFw0yNzEwMjYwMzE2 NDhaMIHEMTQwMgYKCZImiZPyLGQBAQwkMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAt MDAwMDAwMDAwMDAwMRcwFQYKCZImiZPyLGQBGRYHU2FuZGJveDEdMBsGA1UEAwwU RW1wcmVzYSBFeGVtcGxvIExUREExFzAVBgNVBAoMDjAwMDAwMDAwMDAwMTAwMQ8w DQYDVQQLDAYwMDAwLTAxEDAOBgNVBAcMB1ZpdG9yaWExCzAJBgNVBAgMAkVTMQsw CQYDVQQGEwJCUjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJ0K+A21 PxN9aoMJjzeqj1j2gjZJ6BW7T+RKhMfaEYTBIWIHIYtBg4XvASD9kzYHFugl01k8 nlXda3F53fWXWiNWIBmiZKYez2IavFbliMGkQ4ambouZ6Hh7pJ8uw/a7a4dZKV9v vfJ1/tccaLVpHkBYWNmZpe+KmDLFuTDRrBP9WjOG/M/fIllvYxZJijyqcqpcl/kV tY5RDrFy7jsbgVhTUukjGzGwm/pGXWU5wf9BTyv+10Twh0aGhzV2FiX0IrUFpiZu jBdPtSZBvWFCaUcSsp5P8HN+EaJvoypoeyoYK79blORFE/5QB2eugLApcowr+ADM sN+jrdbs1HN2U6GcEUCZ8dul1NNUGvrEDA3lELqwdV4j0BR//jIQysaxyriOZpfx xRoSTMOcvmNLMMYj8sQC1gK0e8/tG2nXVUGyd6RjD375h31HsDALuddqezJZVvPP sH7zILKbqTVJfybjmjZk/0ePxuVovTJNkrkjwFtwa0U6p773RJrJ3abWacA8tjy8 WsbwpAbrz3PNa0ryouMS5brHlLPsASazDX4ViHdQq8e4EgDeybzWWXQInNoqf/zL 039gKfDr+NMK0lBkPy7o7lXOINRsqSbxzWIQXZ4bOXTsf6i3pm8Ho7s7qSyScfsw bKh8/gQvRnxn5hcVnE6DIWE2q4nwApohKy3zAgMBAAEwDQYJKoZIhvcNAQENBQAD ggIBABeKD3H8Ba3jKlKGD4rD9XHmhuBXyk8D43u0z8lMAziNhIB7UrXDwj8u94/C jXwVmwcs2qoQnltBEvb0gUy2GI4jlHvAcQrff4nCogxUiSbQypaYhLq+WLKAEGf7 w+GaoEynSApAIGG2GR38G4wF5wzkG/ndeK1GTm6X0FbkW3WfvEFp/87Zf8oI3M76 5LGbKiLM+4oZebJCChJ0NjMmwFS80muvnQJ8zlfttYXliVO21rmoMdBfbEWtIwI/ sgafqqq9shUpg1F0wEeQGpAehOvwEbwAPFfbMpn5nqEyHYz73PwhcEn60PJtpNMS Reg+ziQ1xpXnpdWqWz0q3jOFwCB7xtFE3/onlqDeLwy9X0YY2lD8l+cxR9nwbb5y xmK0SBl0klaCDq9L1TxYVyTVgqb+KeIg8yqP34W5OUeMlbVON6JHZFOwRnGLrBMj GXnVEL30Yf0II5xFj0CTmXaG2jSv35l2ZoCR2L/YbkdaIZaOzhb7y5xF28B44L14 PJcIYNEtlxiVb1FlYJpgK1+bb9hmqNN0L8YRSrtRspGGLk+7qOq50BaGmlDyY9vb 4oNPLMutXTu/lGvWOoQqs6gh9A3gefTVCyJ7djQY7nWMBInpuezqaVKrmTba05Dl hTmEESRv5K/FF5lOzXNye8dhTjiYXCUCjfZmVkh0FPxj6aGz -----END CERTIFICATE-----
UTILIZAÇÃO Para acessar as APIs de PIX do Banestes, é necessário:
  • Ter uma APP (client_id e client_secret), criada e autorizada;
  • Ter um certificado (CRT e KEY), criado e registrado.

.... você poderá iniciar o processo de consumo das APIs. Para isto siga as instruções do tópico “Consumo das APIs”.

Renovação do Certificado

processo

O certificado poderá ser renovado a partir dos 60º dia que antecedem o término da sua validade. Caso contrário, o certificado ficará inválido para o consumo das APIs e será necessário refazer todo o fluxo de criação, validação e registro de um novo certificado para a APP.

Importante: Verifique sempre as datas de expiração do certificado para executar o processo da sua renovação.

O Banestes não avisará quando o certificado expirará, porém é possível consultar esta informação no Portal dos Desenvolvedores conforme descrito abaixo:

  • Logar no Portal dos Desenvolvedores do Banestes;
  • Acessar o formulário "Certificados para operações de PIX" por este link;
  • Será apresentado uma listagem de todas as APPs que foram criadas por você no portal;
  • Na listagem de APP clique no botão "+ detalhes";
  • Será apresentado um formulário com as informações da APP e todos os seus certificados. Entre as informações será possível ver a data de validade do Certificado;

Processo de renovação

O processo de renovação é o mesmo da criação de um novo certificado, a única diferença é que a renovação só é possível ser feito se o atual certificado estiver com a sua validade igual ou inferior a 60 dias.

Importante: No processo de renovação, o certificado antigo continua válido até sua data de vencimento, ou seja, é o único momento que uma APP poderá ter dois certificados ativos para utilização.

Revogação do Certificado

processo

Os certificados do Banestes são revogáveis e o processo pode ser feito pelo dono da APP ou pelo time de Segurança do Banestes sem aviso prévio.

Caso o dono da APP necessite revogar um certificado, siga os passos abaixo:

  • Logar no Portal dos Desenvolvedores do Banestes;
  • Acessar o formulário "Certificados para operações de PIX" por este link;
  • Será apresentado uma listagem de todas as APPs que foram criadas por você no portal;
  • Na listagem de APP clique no botão "+ detalhes";
  • Será apresentado um formulário com as informações da APP e todos os seus certificados. No certificado ativo, clique no botão "Revogar acesso";
  • Justifique o motivo da revogação e clique no botão "Confirmar";

Importante: Certificados revogados podem ser reativados somente pelo Banestes. Caso for necessário, entre em contato com o nosso suporte.

Consumo das APIs

Com a criação da APP para autenticação (doc) e com a geração e registro do Certificado para autorização (doc), agora você está apto a consumir as APIs do Banestes.

Para isso siga os passos descritos abaixo

Base URLs

Antes de entrarmos nos detalhes do processo, é importante ressaltar como identificar as APIs do Banestes e em qual ambiente ela se encontra, que pode ser SANDBOX ou PRODUÇÃO.

Base URL produção para APIsURL produção para Token
https://api-pix.banestes.b.brhttps://api-pix.banestes.b.br/oauth/v1/access-token
Base URL sandbox para APIsURL sandbox para Token
https://api-pix-sandbox.banestes.b.brhttps://api-pix-sandbox.banestes.b.br/oauth/v1/access-token
Lembre-se: é importante utilizar a URL correta, para isso, consulte na documentação de cada API qual é o endereço de produção exato, pois elas podem variar.

APIs e Modelo de autenticação

Nossas APIs são RESTful, seguem as regras definidas na arquitetura REST - Representational State Transfer (referência: W3C), e utilizam JSON como formato de troca de dados (referência: json.org). Elas também são compatíveis com o protocolo OAuth 2.0, contemplando especialmente o fluxo client_credentials e mTLS para autorizar acesso a dados e transações baseado em tokens de acesso, no qual utilizamos fluxos específicos para a situação server-to-server.

Desta forma, o acesso a todas as nossas APIs, independente do ambiente, segue o padrão OAuth 2.0 Client Credentials, para geração do “access_token”. Porém, cada ambiente (Sandbox e Produção) tem a sua própria APP para geração dos Access Tokens, e cada ambiente tem o seu certificado para o fluxo de mTLS (handshake).

Lembrando que a etapa de testes em sandbox é fortemente recomendada antes das chamadas para as APIs produtivas, já que nele você pode testar vários cenários para entender o processo de implantação do access token + certificado e facilitar o momento da entrada em produção da sua aplicação.

Importante:
  • Certificado, do fluxo de mTLS, é válido por 365 dias;
  • Access token é válido por 5 minutos (300 segundos);
  • É necessário utilizar o certificado válido tanto para o processo de geração do access token quanto para chamar as operações das APIs.
  • As credências obtidas (APP e Certificados) são específicos por ambiente, ou seja, as credenciais de Sandbox não funcionarão no ambiente de Produção e vice-versa.

Segue abaixo procedimentos para gerar as chaves e token específicos por ambiente:

Geração do Access Token

Com as informações da APP, também conhecido como Authorization (“client_id:client_secret” em base64) e o certificado da APP (CRT e KEY) específico do ambiente (sandbox ou produção), a operação de geração do access token é a seguinte:

Comando:

bash
curl --location --request POST -ivk 'https://api-pix-sandbox.banestes.b.br/oauth/v1/access-token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic {{base64(client_id:client_secret)}}' \ --data-urlencode 'grant_type=client_credentials' --cert CERTIFICADO.crt --key PRIVATE_KEY.key
bash
curl --location --request POST -ivk 'https://api-pix-sandbox.banestes.b.br/oauth/v1/access-token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic {{base64(client_id:client_secret)}}' \ --data-urlencode 'grant_type=client_credentials' --cert CERTIFICADO.crt --key PRIVATE_KEY.key

Onde: base64(client_id:client_secret) = Trata-se do “client_id”, seguido de “:” e do “client_secret” da sua APP, convertido em Base64;

Exemplo do comando:

bash
curl --location --request POST -ivk 'https://api-pix-sandbox.banestes.b.br/oauth/v1/access-token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMA==' \ --data-urlencode 'grant_type=client_credentials' --cert CERTIFICADO.crt --key PRIVATE_KEY.key
bash
curl --location --request POST -ivk 'https://api-pix-sandbox.banestes.b.br/oauth/v1/access-token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMA==' \ --data-urlencode 'grant_type=client_credentials' --cert CERTIFICADO.crt --key PRIVATE_KEY.key

Exemplo do retorno:

json
{ "access_token": "MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw", "token_type": "Bearer", "expires_in": 300 }
json
{ "access_token": "MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw", "token_type": "Bearer", "expires_in": 300 }

Acesso às APIs Banestes

Com a informação do access token gerada para a APP, também conhecido como "Authorization Bearer" ou "Bearer access token" e o certificado da APP (CRT e KEY) do ambiente (sandbox ou produção), você poderá acessar as APIs do Banestes.

Importante: O access token é válido por 5 minutos (300 segundos) após a sua criação.

Comando:

bash
curl --location --request GET -ivk 'https://api-pix-sandbox.banestes.b.br/pix-qrcode-arrecadacao/v1/mockup' --header 'Authorization: Bearer {{access_token}}' --cert CERTIFICADO.crt --key PRIVATE_KEY.key
bash
curl --location --request GET -ivk 'https://api-pix-sandbox.banestes.b.br/pix-qrcode-arrecadacao/v1/mockup' --header 'Authorization: Bearer {{access_token}}' --cert CERTIFICADO.crt --key PRIVATE_KEY.key

Onde: {{access_token}} = Trata-se do access token gerado no processo de obtenção do token de acesso;

Exemplo do comando:

bash
curl --location --request GET -ivk 'https://api-pix-sandbox.banestes.b.br/pix-qrcode-arrecadacao/v1/mockup' --header 'Authorization: Bearer MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw' --cert CERTIFICADO.crt --key PRIVATE_KEY.key
bash
curl --location --request GET -ivk 'https://api-pix-sandbox.banestes.b.br/pix-qrcode-arrecadacao/v1/mockup' --header 'Authorization: Bearer MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw' --cert CERTIFICADO.crt --key PRIVATE_KEY.key

Exemplo do retorno:

json
{ "method": "GET", "url": "/", "headers": { "accept": "*/*", "accept-encoding": "gzip, deflate, br", "access_token": "00000000-0000-0000-0000-000000000000", "authorization": "Bearer eyJhbGciOiJSUzI1NiIs...l5GQQLyA", "client_id": "00000000-0000-0000-0000-000000000000", "host": "supermock.demo.sensedia.com", "postman-token": "00000000-0000-0000-0000-000000000000", "user-agent": "PostmanRuntime/7.30.0", "x-amzn-trace-id": "Root=1-639b7a9b-74387ca3142ca3430fb40162", "x-envoy-external-address": "203.0.113.10", "x-forwarded-client-cert": "Hash=...;Cert=...;Subject=\"C=BR,ST=ES,L=Vitoria,OU=0000-0,O=00000000000100,CN=Empresa Exemplo LTDA,DC=Sandbox,UID=00000000-0000-0000-0000-000000000000\"", "x-forwarded-for": "203.0.113.10, 203.0.113.20", "x-forwarded-port": "80", "x-forwarded-proto": "http", "x-request-id": "00000000-0000-0000-0000-000000000000", "x-tenantid": "00000000000100" }, "params": {}, "body": "", "queryString": null, "supermockVersion": "2.0a", "requestEncoding": "utf-8", "supermockHost": "ip-10-0-1-117.sa-east-1.compute.internal", "callerAddress": "10.0.0.51", "t0": 1671133851895, "sleepMillis": null, "t1": 1671133851896, "t0t1": 1 }
json
{ "method": "GET", "url": "/", "headers": { "accept": "*/*", "accept-encoding": "gzip, deflate, br", "access_token": "00000000-0000-0000-0000-000000000000", "authorization": "Bearer eyJhbGciOiJSUzI1NiIs...l5GQQLyA", "client_id": "00000000-0000-0000-0000-000000000000", "host": "supermock.demo.sensedia.com", "postman-token": "00000000-0000-0000-0000-000000000000", "user-agent": "PostmanRuntime/7.30.0", "x-amzn-trace-id": "Root=1-639b7a9b-74387ca3142ca3430fb40162", "x-envoy-external-address": "203.0.113.10", "x-forwarded-client-cert": "Hash=...;Cert=...;Subject=\"C=BR,ST=ES,L=Vitoria,OU=0000-0,O=00000000000100,CN=Empresa Exemplo LTDA,DC=Sandbox,UID=00000000-0000-0000-0000-000000000000\"", "x-forwarded-for": "203.0.113.10, 203.0.113.20", "x-forwarded-port": "80", "x-forwarded-proto": "http", "x-request-id": "00000000-0000-0000-0000-000000000000", "x-tenantid": "00000000000100" }, "params": {}, "body": "", "queryString": null, "supermockVersion": "2.0a", "requestEncoding": "utf-8", "supermockHost": "ip-10-0-1-117.sa-east-1.compute.internal", "callerAddress": "10.0.0.51", "t0": 1671133851895, "sleepMillis": null, "t1": 1671133851896, "t0t1": 1 }
NOTA:
  • Navegue pelo nosso catálogo de APIs e explore nossas documentações;
  • Clique em ver especificação técnica, localizado no card da API, ou abra a API que deseja testar e clique no botão ver especificação técnica.

Notificação Webhook

Introdução

O que é Webhook?

O objetivo de um Webhook é notificar uma entidade externa, por exemplo o parceiro, do acontecimento de um evento de negócio ou técnico.

A aplicação responsável pela emissão do evento possui o controle de quem deve ser notificado na ocorrência do mesmo, podendo controlar os destinatários corretos para cada tipo de evento emitido. Esses filtros são chamados de target-id.

Através desses targets, o Hub de Notificação do Banestes filtra as mensagens que são enviadas para um endpoint centralizado e, em seguida, envia para os destinatários parceiros via webhook.

As respostas provenientes das notificações são posteriormente enviadas para os tópicos de resposta, onde a aplicação emissora do evento pode consumi-las e ter o resultado da notificação.

Quando deve ser utilizado?

A utilização do Hub de Notificação é indicada para arquiteturas que tenham a necessidade de notificar o(s) parceiro(s) interno(s) ou externo(s) do Banestes.

Em local apropriado, que iremos explicar neste tutorial, o Banestes deverá ser informado qual é a URL de notificação de webhook que irá utilizar para enviar os requests de notificação por produto (API).

Configure a sua Infraestrutura

Cadastre a sua URL

As notificações são por produto (API) e, desta forma, a configuração da sua URL deverá ser feita por produto conforme documentação Swagger da API do produto.

Por exemplo, a API “PIX ARRECADAÇÃO Banestes” tem as operações de cadastro e gestão de Webhook (/webhook). Com a operação “[PUT] /webhook/{chave}” vocês poderão cadastrar a URL da sua operação de notificação, e com as demais operações (GET e DELETE), poderão gerenciar o cadastro feito.

Após o cadastro, quando o Banestes precisar notificá-los, iremos enviar um request POST informando o conteúdo da notificação.

Para mais detalhes técnicos do cadastro, gestão e conteúdo das notificações, veja a documentação Swagger da API do produto, path “/webhook”

Segurança de acesso

Por questão de segurança, as suas operações de recepção das notificações de webhook que o Banestes irá enviar não podem ficar expostas para a internet de forma 100% pública. Desta forma, precisamos que vocês configurem um fluxo de validação de acesso por mTLS

Porém, antes, vamos entender o que é mTLS (Mutual Transport Layer Security): O mTLS é um protocolo de criptografia de autenticação mútua que tem como principal finalidade garantir que as duas pontas de uma conexão de rede são quem afirmam ser, verificando também suas respectivas chaves privadas. Ele se baseia no Transport Layer Security (TLS), que tem como papel autenticar o servidor em uma conexão client-server e criptografar as comunicações. O TLS trabalha utilizando a técnica de criptografia assimétrica, que depende de um par de chaves: uma chave pública e uma chave privada. Desta forma o mTLS é um método que faz com que o servidor faça a validação do cliente, utilizando TLS. O mTLS é comumente utilizado no mercado financeiro, principalmente para identificação de instituições e suas transações entre si, já que as mesmas terão suas chaves de identificação. Portanto, ao analisar uma requisição em uma API financeira, é possível verificar que a entidade A fez uma transação com a entidade B através dos certificados usados, que normalmente são gerados por uma certificadora que faz as devidas validações de instituição por TrustCA.

Configure a sua Infraestrutura

Desta forma, o Banestes precisará que vocês configurem o ambiente de notificações de webhook para validar o certificado de acesso do Banestes através da TrustCA:

TrustCA de ProduçãoTrustCA de Sandbox
TrustCA-Webhook_PRODUCTION_20221209.cerTrustCA-Webhook_SANDBOX_20221222.cer

APOIO

Seguem abaixo alguns materiais de apoio para auxiliá-los na jornada de integração com o Banestes.

  • Collection Postman: API Pix ARRECADAÇÃO (banestes).postman_collection.json;
  • Collection Postman: API Pix COBRANÇA (banestes).postman_collection.json;
  • Environment Postman: Banestes-ClientSandbox.postman_environment.json;

Nesta página

APP de autenticação
Certificado de Autorização
Consumo das APIs
Notificação Webhook
APOIO
Banestes
Portal do desenvolvedor Banestes
Vamos conversar
Fale Conosco
APIs
  • Catálogo
  • Pix Cobrança
Documentação
  • Primeiros passos
  • Usando as APIs
  • Perguntas frequentes
Suporte
  • Fale Conosco
  • Minhas apps
Banestes
  • Site institucional
  • Central de atendimento0800 645 2030
  • Ouvidoria0800 727 0030
  • SAC0800 727 0474
  • Acessibilidade0800 282 3030
Política de privacidadeCookiesAviso legal
© 2026 Banestes — Banco do Estado do Espírito Santo

Fotos: Terceira Ponte vista do Convento, LucFreitas, CC BY-SA 4.0; VitorJubini TerceiraPonte Vitoria ES (27121005458), Vitor Jubini/MTur, public domain, Wikimedia Commons.