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á 842 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á 842 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...