Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    26.199
  • Registro em

  • Última visita

  • Days Won

    749

Posts postados por Daniel Simoes

  1. 2 horas atrás, Luiz Carlos de Lima disse:

        ACBrNFSeX1.Configuracoes.Certificados.ArquivoPFX  := certificadoStream.DataString;

    Mude para DadosPFX

    2 horas atrás, Luiz Carlos de Lima disse:

        ACBrNFSeX1.Configuracoes.Certificados.NumeroSerie := FieldByName('Serie_Certificado_Nucleo').AsString;

    Se for informar DadosPFX, Não informe o Num.Serie.. isso exige que o certificado seja instalado no Windows

  2. Elas estão exatamente na mesma pasta do .EXE ?

    esse erro que você reportou, parece típico da versão 3.x, sem a Legacy.dll
     

    Na dúvida, por favor apague todas as DLLs do OpenSSL, e copie as do link que indiquei, para a mesma pasta do .EXE

  3. Isso é indicativo que as DLLs estão ok, mas as credenciais que você está usando não...

    Por favor confirme com o Gerente/Suporte do Banco, quais são as credenciais de acesso para esse cliente

    Por favor teste acesso com o PostMan.. Pois se mesmo nele,  não funcionar, você terá certeza que as credenciais estão erradas

  4. @WINDEL, obrigado pelas telas...

    Analisando o seu CallStack, notei que os Exceptions ocorriam dentro de WaitForSYN... na verdade eram Exceptions controlados.. ou seja, bastava ignorar...

    Entretanto apliquei modificações nos fontes, que devem ficar mais claro, e sem a necessidade do Exception controlado.. Commit [r32492]

    Citar

    - melhoria em TACBrAbecsPinPad.SetIsEnabled , para limpar variáveis de Cache

    - Ajuste em TACBrAbecsPinPad.ExecCommand para logar falhas no ACK
    - Ajustes em TACBrAbecsPinPad.WaitForResponse,
    - não levantar Exception de Timeout quando estiver aguardando SYN,
    - Gravar bi log o "Time Left"
    - Melhoria em TACBrAbecsPinPad.CancelWaiting, para não verificar desnecessariamente

     

    PS: Também atualizei os Demos, com um botão interessante, para tentar Detectar a presença do PinPad

  5. Olá @WINDEL,

    Desculpe a demora na resposta...

    Em 12/02/2024 at 10:31, WINDEL disse:

    Como o tamanho máximo para upload é de 2mb, compartilhei o vídeo no google drive. Segue o link para verificar o vídeo de simulação

    Pode por favor, pressionar Break nesse momento do Timeout, e enviar Print da tela no momento em que a IDE parou ?

    Eu creio que seja um Exception controlado... A rotina do ABECS já preconiza tentar ler o ACK por até 3 vezes, em até 2 segundos.. eu acho que esses exceptions são tratados pelo código abaixo

    procedure TACBrAbecsPinPad.ExecCommand(DoEvaluateResponse: Boolean); 
    ....
          // Send Data and Wait for ACK
          while (AckByte <> ACK) do
          begin
            BlockStart := max(BlockStart, 0);
            SendCommand(BlockStart, BlocksRead);
            AckByte := WaitForACK;
    
            if (AckByte = NAK) then
            begin
              Inc(ACKFails);
              if (ACKFails >= MAX_ACK_TRIES) then
                DoException(CERR_READING_ACK);
            end
            else if (AckByte <> ACK) then
              DoException(CERR_READING_ACK);
          end;  

     

     

×
×
  • 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.