Ir para conteúdo
  • Cadastre-se

dev botao

ACBrLibPIXCD Problemas ao usar PSP Banco Brasil


Ver Solução Respondido por SN Sistemas,

Recommended Posts

  • Membros Pro

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.

Link para o comentário
Compartilhar em outros sites

  • Consultores
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

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

@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 !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

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.

Link para o comentário
Compartilhar em outros sites

  • Consultores
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 !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

@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 !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
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

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
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
Link para o comentário
Compartilhar em outros sites

  • Consultores

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 !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
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.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
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 !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution

@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
Link para o comentário
Compartilhar em outros sites

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.