Ir para conteúdo
  • Cadastre-se

dev botao

AcbrPSP Shipay autenticando a cada requisição


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

Recommended Posts

  • Membros Pro

Boa tarde,

Finalizei a implementação do PIX utilizando o acbrpspshipay e acbrpixcd porém quando fui fazer a homologaçao o pessoal da shipay comentou que a autenticação estava sendo feita a cada requisição o que não pode, por esse motivo minha homologação ficou pendente.

Eu coloquei um breakpoint na linha 600 do ACBrPIXPSPShipay, 

  Wallets.Clear;
  if (ResultCode = HTTP_OK) then
  begin
    js := TACBrJSONObject.Parse(RespostaHttp);
    try
      fpToken := js.AsString['access_token'];
      fpRefreshToken := js.AsString['refresh_token'];
    finally
      js.Free;
    end;

    if (Trim(fpToken) = '') then
      DispararExcecao(EACBrPixHttpException.Create(ACBrStr(sErroAutenticacao)));

    fpValidadeToken := IncHour(Now, 24);
    fpAutenticado := True;     coloquei o breakpoint aqui

    GetWallets;
    if (fWallets.Count < 1) then
      DispararExcecao(EACBrPixHttpException.Create(sErrNoWallet));
  end
  else
    DispararExcecao(EACBrPixHttpException.CreateFmt( sErroHttp,
       [Http.ResultCode, ChttpMethodPOST, AURL]));

 

 

Porém a cada requisição o sistema para nessa linha.

Coloquei o arquivo do log em anexo.

 

Obrigado

 

 

 

 

logpixacbr.rar

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
14 minutos atrás, gilfgfilho disse:

Boa tarde,

Finalizei a implementação do PIX utilizando o acbrpspshipay e acbrpixcd porém quando fui fazer a homologaçao o pessoal da shipay comentou que a autenticação estava sendo feita a cada requisição o que não pode, por esse motivo minha homologação ficou pendente.

Eu coloquei um breakpoint na linha 600 do ACBrPIXPSPShipay, 

  Wallets.Clear;
  if (ResultCode = HTTP_OK) then
  begin
    js := TACBrJSONObject.Parse(RespostaHttp);
    try
      fpToken := js.AsString['access_token'];
      fpRefreshToken := js.AsString['refresh_token'];
    finally
      js.Free;
    end;

    if (Trim(fpToken) = '') then
      DispararExcecao(EACBrPixHttpException.Create(ACBrStr(sErroAutenticacao)));

    fpValidadeToken := IncHour(Now, 24);
    fpAutenticado := True;     coloquei o breakpoint aqui

    GetWallets;
    if (fWallets.Count < 1) then
      DispararExcecao(EACBrPixHttpException.Create(sErrNoWallet));
  end
  else
    DispararExcecao(EACBrPixHttpException.CreateFmt( sErroHttp,
       [Http.ResultCode, ChttpMethodPOST, AURL]));

 

 

Porém a cada requisição o sistema para nessa linha.

Coloquei o arquivo do log em anexo.

 

Obrigado

 

 

 

 

logpixacbr.rar 536.54 kB · 0 downloads

Mais um detalhe

nessa rotina do acbrpixcd sempre passa com Autenticado igual a false, ou seja, sempre entra no autenticar, pode ser algum parametro que nao estou configurando corretamente

procedure TACBrPSP.VerificarAutenticacao;
begin
  if not Autenticado then
  begin
    if (NivelLog > 2) then
      RegistrarLog('Autenticar');
    Autenticar;
  end;
  VerificarValidadeToken;
end;

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia.
Foi criada a #TK-3256 para que o consultor responsável pelo componente possa analisar o seu caso e fornecer um parecer.

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

Olá @gilfgfilho,

Enquanto o componente estiver instanciado ele conseguirá gerenciar a autenticação corretamente, utilizando a validade dela.

Porém quando ele é destruído, essas informações são perdidas.

Pelo seu log verifiquei que está "matando" o componente após as requisições. Isso realmente vai fazer com que o componente autentique novamente.

image.png

  • Curtir 2
Consultor SAC ACBr

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

 
Link para o comentário
Compartilhar em outros sites

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