Ir para conteúdo
  • Cadastre-se

dev botao

ACBrLibPIXCD Problemas ao usar PSP Banco Brasil


Ver Solução Respondido por SN Sistemas,
  • Este tópico foi criado há 269 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Bom dia,

Gostaria de relatar as situações encontradas ao implementar a cobrança imediata via Pix usando o PSP Banco do Brasil na aplicação Java ACBrLibPIXCD.Demo:

A versão 1 da API do banco não é compatível com a ACBrLibPIXCD.Demo. Embora a aplicação consiga criar a cobrança e registrá-la no banco, ao ler o retorno, apenas o txID é exibido no JSON de retorno.

Em ambiente de produção, a ACBrLibPIXCD.Demo não recebe a string de Copiar e Colar. No entanto, em ambiente de teste, essa funcionalidade opera corretamente.

No ambiente de produção, utilizando a versão 2 da API, o banco retorna apenas um código de erro HTTP 500.

Ambiente de teste:

Sistema operacional: Windows 64 bits
Biblioteca na versão 1.0.0.12.

Observação: Com os mesmos dados utilizados na aplicação Java que apresentou falhas, a aplicação PIXCDTeste funciona normalmente.

  • Consultores
Postado
1 hora atrás, SN Sistemas disse:

o ambiente de produção, utilizando a versão 2 da API, o banco retorna apenas um código de erro HTTP 500.

tente fazer o download das dll compativeis com sua compilacao x86/x64 e salve junto com a dll da lib
http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/1.1.1.10/

Vou verificar com o time se conseguimos reproduzir o erro em nosso ambiente java.

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Consultores
Postado

Bom dia!

Por favor, se mesmo após o teste que foi pedido pelo @Daniel InfoCotidianoo problema persistir, coloque as Dlls do OpenSSL no mesmo diretório do seu JDK e repita o teste.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Olá, @Diego Foliene @Daniel InfoCotidiano, fiz os testes conforme solicitado e o problema persiste.

Gostaria de frisar uma coisa: como consegui fazer funcionar em ambiente de teste, acredito que o problema não está nessas DLLs. Acredito que o problema ocorra quando utilizo a versão 2 da API Bando do Brasil, pois a mesma requer o certificado digital para autenticar a conexão e gerar o token. O problema do HTTP 500 só ocorre quando informo o arquivo do certificado digital PFX. No entanto, como mencionei anteriormente, com os mesmos dados e arquivos, a aplicação PIXCDTeste funciona perfeitamente. Não sei se a DLL da lib é diferente da DLL do PIXCDTeste. Uma coisa que percebi é que ao configurar o PSP do Banco do Brasil usando a API versão 2 na aplicação PIXCDTeste, sou obrigado a informar o certificado digital e também tenho que especificar o tipo de certificado que vou usar, PFX ou outro. Na ACBrLibPIXCD.Demo, essa configuração não está disponível

  • Consultores
Postado

O erro 500 em boa parte dos casos está relacionado a falta das dlls do OpenSSL.

No que diz respeito a configuração do certificado.

Como e quais campos você preencheu na configuração da biblioteca?

image.png

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

@SN Sistemas

Ocultei a sua mensagem por conter informações de cunho mais sensível.

A mesma ainda está visível para a equipe de consultores e moderadores.

Sobre a configuração propriamente dita.

Você está usando a versão 1 da API.

Recebemos um relato de um colega que homologou com o Banco do Brasil, no canal #pro-pixcd em nosso Discord, de que a versão 1 ficou destinada a uma finalidade diferente e que a versão 2 é que deve ser utilizada.(Perdão, o valor 1 está correto. Ele é o valor na configuração para usar a versão 2 da API)

Você citou antes, que ao utilizar com a versão 2, recebeu o erro 500.

Esse erro ocorreu mesmo adicionando as Dlls do OpenSSL no mesmo diretório do seu JDK?

Caso afirmativo, por favor, pode fornecer mais informações sobre o seu ambiente?

Está utilizando NetBeans? Qual é a versão do JDK?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Fizemos mais alguns testes com sucesso utilizando tanto versão x86 quanto versão x64(Lembrando que o x86/x64 aqui é referente a arquitetura do JDK e da Dll e não do sistema operacional)

image.png?ex=65eb7049&is=65d8fb49&hm=174

Os testes foram efetuados com o JDK 21

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Ola @Diego Foliene.
       

      Este teste que você realizou e obteve sucesso, eu também consegui. No entanto, é importante ressaltar que você está operando em um ambiente de teste, onde a versão 2 não valida certificados, por isso não é informado conforme mostrado em seu print. Na versão de produção, entretanto, o certificado digital é obrigatório, como ilustrado no print abaixo.
image.thumb.png.93a677f02f7116f0e38d892aca6afc0f.png
print 2
image.thumb.png.e47dd08142adf32fa81d18fbcf2cadc7.png
fonte: https://apoio.developers.bb.com.br/referency/post/5f80a25fd9493f0012973463

  • Membros Pro
Postado

Estou realizando testes com o seguinte ambiente:

IDE: NetBeans 12
JDK: 1.8 (versão 8.391)
DLL ACBr: v. 1.0.0.12 (x64, versão MT)
Libssl-1_1-x64 v.1.1.1.10
Libcrypto-1_1-x64 v.1.1.1.10


As DLLs estão localizadas nas pastas Windows/System32, Windows/SysWOW64, na pasta bin do JDK e na pasta do projeto. Já foram feitos testes em vários lugares, porém ainda não está funcionando, retornando o erro HTTP 500.

  • Consultores
Postado
12 minutos atrás, SN Sistemas disse:

boa tarde @Daniel InfoCotidiano e @Diego Foliene algum posicionamento sobre a questão relatada.

Boa tarde!

Não temos dados de produção para a realização de um teste, por isso fizemos o teste em homologação.

Vamos levar a sua questão ao resto da equipe de consultores para verificar como podemos proceder.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

@SN Sistemas, por favor, pode disponibilizar as credenciais em produção para que façamos um teste?

Envie para o e-mail [email protected] os arquivos e as informações necessárias.

Não se esqueça de colocar também no corpo do e-mail o link deste tópico para posterior identificação.

  • Obrigado 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
2 horas atrás, Diego Foliene disse:

@SN Sistemas, por favor, pode disponibilizar as credenciais em produção para que façamos um teste?

Envie para o e-mail [email protected] os arquivos e as informações necessárias.

Não se esqueça de colocar também no corpo do e-mail o link deste tópico para posterior identificação.

@Diego Foliene email enviado conforma solicitado. aguardando retorno dos testes

  • Consultores
Postado

Boa tarde!

O e-mail foi recebido, no entanto devido a outras demandas, a equipe de consultores não conseguiu atuar nesta questão.

Já fiz um pedido e ficou agendado para que amanhã às 09h00 sejam feitos os testes.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Bom dia!

Realizamos alguns testes de geração de cobrança imediata com sucesso.

Vou lhe enviar os arquivos relacionados via e-mail.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
18 minutos atrás, Diego Foliene disse:

Bom dia!

Realizamos alguns testes de geração de cobrança imediata com sucesso.

Vou lhe enviar os arquivos relacionados via e-mail.

bom dia @Diego Foliene, Fico no aguardo das informações para refazer meus testes.

  • Curtir 1
  • Consultores
Postado

O e-mail foi enviado.

Por favor, veja se o preenchimento do seu arquivo ACBrLib.ini coincide com o que foi utilizado.

Algo que a princípio não deveria interferir, mas parece ser uma das diferenças mais evidentes é a versão do JDK.

É possível atualizar para realizar novo teste?

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
22 minutos atrás, Diego Foliene disse:

O e-mail foi enviado.

Por favor, veja se o preenchimento do seu arquivo ACBrLib.ini coincide com o que foi utilizado.

Algo que a princípio não deveria interferir, mas parece ser uma das diferenças mais evidentes é a versão do JDK.

É possível atualizar para realizar novo teste?

 

Não tenho como mudar a versão da minha JDK. Impossível. Vou verificar aqui, atualizar tudo que posso e refazer os testes.

  • Curtir 1
  • Consultores
Postado

Entendido, de fato isso não deveria interferir. Apenas sugeri pois é uma das diferenças mais evidentes.(fora isso do que me passou parece estar tudo correto).

Ficamos no aguardo de um feedback.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
22 horas atrás, Diego Foliene disse:

Entendido, de fato isso não deveria interferir. Apenas sugeri pois é uma das diferenças mais evidentes.(fora isso do que me passou parece estar tudo correto).

Ficamos no aguardo de um feedback.

@Diego Foliene Bom dia, Refiz os testes e infelizmente continua apresentando o mesmo problema. Continuo recebendo o status 500. Já atualizei tudo até a JDK para JDK 21.0.2, atualizei DLL e ainda utilizei o ACBrLib.ini que você anexou no e-mail. Usando o Postman, a comunicação funciona normalmente. Também testei pela aplicação PIXCDTeste.

 

  • Consultores
Postado
1 hora atrás, SN Sistemas disse:

@Diego Foliene Bom dia, Refiz os testes e infelizmente continua apresentando o mesmo problema. Continuo recebendo o status 500. Já atualizei tudo até a JDK para JDK 21.0.2, atualizei DLL e ainda utilizei o ACBrLib.ini que você anexou no e-mail. Usando o Postman, a comunicação funciona normalmente. Também testei pela aplicação PIXCDTeste.

 

Veja se você não está passando por Dll Hell.

Por favor, faça o seguinte teste:

Confira no Path do Windows se não tem essas dlls.

image.png

Porque se existir outra aplicação que use OpenSSL, ela estiver com outra versão e no Path do Windows ela estiver antes vai carregar essas dlls antigas primeiro mesmo que as dlls estejam distribuídas na pasta corretamente.

Em anexo estão as Dlls que utilizamos em nossos testes.

Tente registrar essas Dlls de ACBrLib\x64 no Path do Windows no inicio

Lembrando que qualquer alteração no mesmo só é considerada quando você no mínimo faz um logoff ou reinicia a máquina.

Se o problema persistir.

Execute os seguintes comandos para procurar por outras versões da Dll.

Citar

cd \
dir libssl-1_1-x64.dll /s

Para buscar essas dlls no seu ambiente fora as da pasta ACBrLib e remova elas.

Faça o mesmo processo também com libcrypto

Citar

cd \
dir libcrypto-1_1-x64.dll /s

Feito a remoção, distribua elas em ACBrLib\x64 e repita o teste.

Como esse processo envolve alterar o Path do Windows e também envolve remover dlls, recomendo que o faça em um ambiente a parte ou com um backup antes.

libssl-1_1-x64 (1).dll libcrypto-1_1-x64 (1).dll

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
  • Solution
Postado

@Diego Foliene e @Daniel InfoCotidiano Gostaria de agradecer pelo apoio e dedicação para resolver o problema pelo qual estava passando. Ainda estou com o problema, mas refiz os testes em outro PC e não tive nenhum problema. Então, aparentemente, há algum bloqueio em minha máquina, que vou investigar. Desde já, muito obrigado pelo apoio.

  • Curtir 2
  • Este tópico foi criado há 269 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.