Ir para conteúdo
  • Cadastre-se

dev botao

ACBrPIXCD - Erro HTTP 400 Sicoob apenas se não clicar nas configurações antes


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

Recommended Posts

Postado

Boa tarde, senhores.

Estamos usando o ACBrPIXCD. Copiamos a tela do programa exemplo para dentro de nosso sistema. Mas gostaria de relatar uma situação, para ver se alguém tem uma explicação/solução:
Caso 1 - A tela do pix é aberta, clico no botão pagar, mas nada acontece. Internamente, criei uma exceção para a linha ACBrPixCD1.PSP.epCob.CriarCobrancaImediata e retorna
Erro HTTP: 400, Método: GET, URL: https://auth.sicoob.com.br/auth/ralms/cooperado/protocol/openid-connect/token
Caso 2 - A tela do pix é aberta, clico primeiro na aba Configurações, aba PSPs, aba Sicoob, aba Extrair Chave/Certificdo (só posiciono nas abas, não faço mais nada). Depois disso, retorno à aba Fluxo de Pagamento e clico no botão Pagar. Aí aparece o QRCode e Aguardando Pagamento.

Isso já aconteceu inúmeras vezes. Eu tentei localizar na lógica se o clicar das abas disparava algum evento, mas não localizei. Tentei também posicionar as abas via lógica, mas também não adiantou. Só funciona quando clico com o mouse.

Alguém tem uma explicação?

Obrigado.

 

  • Consultores
Postado

Olá @Eduardo Arantes,

O problema também ocorre utlizando o nosso demo?

Provavelmente as configurações não estão sendo setadas no componente antes de enviar a requisição.

Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
Postado
17 hours ago, EliasCesar said:

Olá @Eduardo Arantes,

O problema também ocorre utlizando o nosso demo?

Provavelmente as configurações não estão sendo setadas no componente antes de enviar a requisição.

Olá, EliasCesar.

Como nós copiamos a tela para dentro do nosso projeto e mantivemos toda a lógica, imaginamos que não haveria diferença.

Mas o mais estranho, conforme relatei mais acima, é que após clicar nas abas e posicionar nas configurações do Sicoob, tudo funciona perfeitamente, inclusive efetuando o pagamento comprovado em conta.

Por isso perguntei. Se o processo se completa, não faltam dados (mas apenas se as abas são clicadas).

Alguém passou por problema semelhane?

Obrigado.

 

  • Moderadores
Postado
23 minutos atrás, Eduardo Arantes disse:

Olá, EliasCesar.

Como nós copiamos a tela para dentro do nosso projeto e mantivemos toda a lógica, imaginamos que não haveria diferença.

Mas o mais estranho, conforme relatei mais acima, é que após clicar nas abas e posicionar nas configurações do Sicoob, tudo funciona perfeitamente, inclusive efetuando o pagamento comprovado em conta.

Por isso perguntei. Se o processo se completa, não faltam dados (mas apenas se as abas são clicadas).

Alguém passou por problema semelhane?

Obrigado.

 

Nunca faça cópia dos demos.

a gente faz pra demonstrar o uso do componente e como preencher

use a lógica do seu sistema, implemente o seu

para ter ideia escrevi usando padrões de projeto observer e mais alguns e fiz uma classe que agora qualquer novo PSP adicionado

eu não tenho problemas algum basta ir no sistema e colocar os dados que vai aparecer para a pessoa sem mexer na programação

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Apenas para relatar a solução e ajudar outros que passem pelo mesmo problema:

Há na tela do Programa Exemplo do ACBrPIXCD uma lógica no evento pgPrincipalChange que só permite executar a procedure AplicarConfiguracao se o usuário posicionar na aba Configurações e depois retornar para a aba Fluxo de Pagamento. E é nessa procedure AplicarConfiguracao que o programa carrega os dados de configuração para o componente.

Aí eu disparei AplicarConfiguracao no final do FormCreate e deixo as propriedades carregadas desde o início.

Agora o botão Pagar funciona sempre de primeira.

Obrigado pela atenção e respostas.

 

  • Moderadores
Postado
Em 17/12/2022 at 14:02, Eduardo Arantes disse:

Apenas para relatar a solução e ajudar outros que passem pelo mesmo problema:

Há na tela do Programa Exemplo do ACBrPIXCD uma lógica no evento pgPrincipalChange que só permite executar a procedure AplicarConfiguracao se o usuário posicionar na aba Configurações e depois retornar para a aba Fluxo de Pagamento. E é nessa procedure AplicarConfiguracao que o programa carrega os dados de configuração para o componente.

Aí eu disparei AplicarConfiguracao no final do FormCreate e deixo as propriedades carregadas desde o início.

Agora o botão Pagar funciona sempre de primeira.

Obrigado pela atenção e respostas.

 

Isso no exemplo do SVN ou na sua aplicação?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Solution
Postado

Olá, Juliomar.

Conforme citado mais acima, "Há na tela do Programa Exemplo do ACBrPIXCD uma lógica no evento pgPrincipalChange".

Fica no FrPrincipal.pas:

procedure TForm1.pgPrincipalChange(Sender: TObject);
begin
  if (pgPrincipal.ActivePageIndex in [0, 1]) and btSalvarParametros.Enabled then
  begin
    GravarConfiguracao;
    AplicarConfiguracao;
  end;

  btSalvarParametros.Enabled := (pgPrincipal.ActivePageIndex = 2);
end;

Ou seja, para que execute o AplicarConfiguracao, tem que estar btSalvarParametros.Enabled,

e para que btSalvarParametros esteja Enabled, tem que ter passado por pgPrincipal.ActivePageIndex = 2.

Obrigado.

  • Moderadores
Postado
59 minutos atrás, Eduardo Arantes disse:

Olá, Juliomar.

Conforme citado mais acima, "Há na tela do Programa Exemplo do ACBrPIXCD uma lógica no evento pgPrincipalChange".

Fica no FrPrincipal.pas:

procedure TForm1.pgPrincipalChange(Sender: TObject);
begin
  if (pgPrincipal.ActivePageIndex in [0, 1]) and btSalvarParametros.Enabled then
  begin
    GravarConfiguracao;
    AplicarConfiguracao;
  end;

  btSalvarParametros.Enabled := (pgPrincipal.ActivePageIndex = 2);
end;

Ou seja, para que execute o AplicarConfiguracao, tem que estar btSalvarParametros.Enabled,

e para que btSalvarParametros esteja Enabled, tem que ter passado por pgPrincipal.ActivePageIndex = 2.

Obrigado.

sim. basicamente é um exemplo de como alimentar o componente não um software em si para produção

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
On 12/22/2022 at 2:20 PM, Juliomar Marchetti said:

sim. basicamente é um exemplo de como alimentar o componente não um software em si para produção

Sim, Juliomar. Por isso comentei a solução mais acima. Para ajudar outras pessoas na alimentação de partes do componente que estejam faltando em seus próprios softwares, e para economizar tempo na solução desse problema.

Obrigado.

  • Curtir 1
  • Este tópico foi criado há 700 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.