Ir para conteúdo
  • Cadastre-se

Mario Inacio

Membros Pro
  • Total de ítens

    317
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Mario Inacio

  1. Boa tarde.

    Descobri o problema.

    Seguindo a lógica do Demo, ao chamar a função Administrativa, não informei o segundo parâmetro, sendo esse Número sequencial de operação.

    Estava assim no demo:

    procedure TFormPrincipal.btAdministrativoClick(Sender: TObject);
    begin
      AdicionarLinhaLog('- btAdministrativoClick');
      IniciarOperacao;
      StatusVenda := stsOperacaoTEF;
      try
        ACBrTEFAPI1.EfetuarAdministrativa(tefopAdministrativo);
      finally
        StatusVenda := stsFinalizada;
      end;
    end;

     

    Homologação concluida informando:

    ACBrTEFAPI1.EfetuarAdministrativa(tefopAdministrativo,NumeroSequencial);

     

    Obrigado

    • Curtir 2
  2. Também acho sem sentido, respondi a ele.

     
    A numero sequencial informei quando chamei o ADM, a partir dali respondo as perguntas que o Sitef precisa para continuar o cancelamento.
     

     

    • Curtir 1
  3. Bom dia.

    Encaminhei pra Sitef, arquivos para a Pré-Homologação.

    No retorno deles, estão me reclamando a ausência de conteúdo no campo Cupom Fiscal na carteira Digital, que seria um sequencial.

    image.thumb.png.3bdef4744aee17bf23614256964d99d7.png

     

    image.thumb.png.dde64c5989a525ac41edb39c4bc56867.png

     

    Esse cancelamento estou preenchendo via Menu Administrativo conforme as perguntas vindas.

  4. Bom dia.

    Para solucionar "esse problema" do usuário informar manualmente os dados do cancelamento, mudei a forma de confirmar a transação, fazendo-a apenas depois da NFC-e aprovada.

    Fiz uma transação e após aprova-la, fechei o sistema.

    Ao reiniciar tentei esses 3 procedures e nenhum delas cancela a transação pendente.

     

    ProcessarTransacaoPendente('');
    EstornarTransacoesPendentes;
    CancelarOuEstornarTransacoesDiretorioTrabalho;

     

    image.thumb.png.626065b2d7741b4969cbb27bc3dba874.png

  5. Eu pergunto, quando a transação já está confirmada e envio o cancelamento, se pede todos os campos individualmente igual ao Sitef ou aceita o cancelamento direto.

  6. 2 horas atrás, Juliomar Marchetti disse:

    No caso se tu chama os métodos do componente e abstrai ele não deveria mesmo solicitar novamente.

    verifica se está gravando o NSU que ele deseja e depúra praver o que está enviando

    nós não temos o ambiente de testes da sitef pra fazer isso

    image.png.85086c26867fb4185a88cc9b5bd6a33d.png

    fRespostasPorTipo.ValueInfo[146] := '0,15';
    fRespostasPorTipo.ValueInfo[147] := '0,15';
    fRespostasPorTipo.ValueInfo[515] := '12012024'
    fRespostasPorTipo.ValueInfo[516] := '999120035'

     

    image.png

  7. Boa tarde.

    Estou finalizando a Configuração do Sitef.

    Ao enviar o cancelamento de uma transação, está abrindo as perguntas sobre o NSU, valor e data.

    Questionando o suporte da Software Express, me informaram que essas informações são necessárias.

    Alguem já usa em produção? Porque isso seria inviável num PDV, cabendo ao usuário digitar informações que já temos e já passamos via parâmetro.

     

    Resposta deles:

    image.thumb.png.94dc619e87cd5fe1476f437f18fff8bb.png

  8. Bom dia.

    Na verdade vou ver como se comporta na homologação, pois o Sitef Demo não pára pra pagamento do QrCode, ele mostra e já autoriza.

    Pra contornar, e apresentar o QRcode, o suporte da Software Express sugerir colocar um Sleep após apresentar, e é isso que está causando o travamento com certeza.

    Vou fazer a homologação e qualquer retorno e abro um novo ticket.

    Podem fechar esse.

    Obrigado

  9. Boa tarde.

    Na fase final de configuração, e conforme o manual do Sitef, quando apresentado o QrCode para PIX, deve haver a possibilidade de cancelar o QrCode, por desistência do cliente por exemplo.

    No Evento QuandoExibirQRCode já inseri a criação do form que mostrará o QrCode, só não consigo fazer com o que o foco fique nele pra que eu possa clicar num botão de cancelamento da operação.

    procedure TfMenu.TEFAPIQuandoExibirQRCode(const DadosQRCode: String);
    var
       QRCode: TDelphiZXingQRCode;
       QRCodeBitmap: TBitmap;
       Row, Column: Integer;
    begin
       if DadosQRCode <> '' then begin
          if not FormExiste(fTEFExibeQrCode) then
             Application.CreateForm(TfTEFExibeQrCode, fTEFExibeQrCode);
       end else begin
          if FormExiste(fTEFExibeQrCode) then
             FechaForm(fTEFExibeQrCode);
          Exit;
       end;
    
       QRCode       := TDelphiZXingQRCode.Create;
       QRCodeBitmap := TBitmap.Create;
       try
          QRCode.Encoding      := qrUTF8BOM;
          QRCode.QuietZone     := 2;
          QRCode.Data          := widestring(DadosQRCode);
    
          QRCodeBitmap.Width   := QRCode.Columns;
          QRCodeBitmap.Height  := QRCode.Rows;
    
          for Row := 0 to QRCode.Rows - 1 do begin
             for Column := 0 to QRCode.Columns - 1 do begin
                if (QRCode.IsBlack[Row, Column]) then
                   QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack
                else
                   QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite;
             end;
          end;
    
          with fTEFExibeQrCode do begin
             prog.Max := LConfTerm('TEFPIX_SLEEP',5);
             if prog.max = 0 then
                prog.max := 300000;
             imgQRCode.Picture.Bitmap.Assign(QRCodeBitmap);
             Timer1.Enabled := True;
             Show;
             Refresh;
          end;
    
          //Sleep(LConfTerm('TEFPIX_SLEEP',5));
       finally
          QRCode.Free;
          QRCodeBitmap.Free;
       end;
    end;

    Obs: Inseri um timer e um progressBar no form criado pra mostrar o andamento do tempo para efetuar o PIX.

     

    No form criado, inseri um botão Setando uma variavel global para "iCanceladoPeloOperador := TRue;"

    procedure TfTEFExibeQrCode.BotaoFecharClick(Sender: TObject);
    begin
       fMenu.iCanceladoPeloOperador := TRue;
       Close;
    end;

     

    E no evento QuandoEsperarOperacao verifico essa variavel global:

    procedure TfMenu.TEFAPIQuandoEsperarOperacao(
      OperacaoAPI: TACBrTEFAPIOperacaoAPI; var Cancelar: Boolean);
    begin
      if iCanceladoPeloOperador then begin
         iCanceladoPeloOperador := False;
         Cancelar := True;
      end;
    end;

     

     

     

     

  10. Ola.

    Descobri o problema.

    Como não uso a mesma forma como se faz no Demo, não havia implementado o evento "QuandoEsperarOperacao".

    Coloquei apenas um Sleep(1) no evento e já resolveu.

     

    Obrigado.

     

     

     

  11. Bom dia.

    Hoje deletei tudo, acbr e sitef, limpeza de registro, maquina reiniciada, depois tudo reinstalado.

    Mas persiste o erro quando chega no momento de inserir o cartão, a mensagem solicitando chega a aparecer no pinpad

    image.png.c59d14194f744c4f9bc6b98de5062778.png

     

  12. Atualizei mas continua a mesma coisa.

     

    Fico debugando e monitorando aqui até a mensagem trazer o tipo cartão, quando trouxe "MasterCard" na Const Mensagem e apareceu no visor do Pinpad.

    image.png.5296dc1da048fbe9ec6c6210faf0984a.png

     

    Nem chegou a apresentar o menu solicitando se é a vista ou parcelado e já caiu aqui com a Resposta como "Negada pelo autorizador (10000)" e depois da mensagem gera um AV.

     

    image.png.98424ef06580c51f0fba1b76e72876ae.pngimage.png.4df9030f53430a0de1fe517e3e137151.png

     

    Se tentar transmitir em seguida, dai aparece as mensagens do inicio desse Post.

  13. Escrevi de forma confusa:

    Configurei no meu sistema o QrCode, e como ocorreu erro de AV, fiz a correção e agora não consigo mais testar pois ocorre esse erro.

    E nos utilitários do Sitef não mostra nada pendente.

  14. Bom dia.

    Estou implementando as rotinas com Sitef.

    Os cartões estavam todos funcionando, então fui implementar o PIX, abrindo um form pra apresentar o QrCode.

    procedure TfMenu.TEFAPIQuandoExibirQRCode(const DadosQRCode: String);
    var
       QRCode: TDelphiZXingQRCode;
       QRCodeBitmap: TBitmap;
       Row, Column: Integer;
    begin
       if DadosQRCode <> '' then begin
          if not FormExiste(fTEFExibeQrCode) then
             Application.CreateForm(TfTEFExibeQrCode, fTEFExibeQrCode);
       end else begin
          if FormExiste(fTEFExibeQrCode) then
             FechaForm(fTEFExibeQrCode);
          Exit;
       end;
    
       QRCode       := TDelphiZXingQRCode.Create;
       QRCodeBitmap := TBitmap.Create;
       try
          QRCode.Encoding      := qrUTF8BOM;
          QRCode.QuietZone     := 2;
          QRCode.Data          := widestring(DadosQRCode);
    
          QRCodeBitmap.Width   := QRCode.Columns;
          QRCodeBitmap.Height  := QRCode.Rows;
    
          for Row := 0 to QRCode.Rows - 1 do begin
             for Column := 0 to QRCode.Columns - 1 do begin
                if (QRCode.IsBlack[Row, Column]) then
                   QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack
                else
                   QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite;
             end;
          end;
    
          with fTEFExibeQrCode do begin
             imgQRCode.Picture.Bitmap.Assign(QRCodeBitmap);
             Show;
             Refresh;
          end;
    
          Sleep(5000);
       finally
          QRCode.Free;
          QRCodeBitmap.Free;
       end;
    end;

    Como é uma rotina nova, apresentou um erro de AV.

    Fiz as correções, mas agora não consigo simular mais nada, mesmo com cartão, pois acusa "Erro na Rotina Interativa".

    Não achei nos utilitários do sitef como remover alguma pendência que exista.

    image.png.f3cfbb9e817dd6c07e4f21db3bc5efa6.pngimage.png.3777c18b174b2d636bff2d6157a85c76.pngimage.thumb.png.594bdd86dc2eb9722f3f75ee15b2a094.png

     

  15. Bom dia.

    Não, manterei da forma automática, pois pode existir mais de uma transação na mesma venda, dai o TEF não aceita transmitir uma nova com uma em aberto.

    Mas entendi a lógica e vai funcionar corretamente.

    Só estou esperando o retorno da Software Express do motivo de não cancelar automaticamente quando chamo a rotina "CancelarTransacao".

    • Curtir 1
  16. No meu caso, a venda terá que ser acessada, passando pela parte de pagamento da mesma e só depois chegar na emissão da "NFC-e / Comprovante do Cartão".

    Então cancelo tudo e refaço a operação de cartão também.

     

     

  17. Ola Daniel.

    Já fiz as configurações com base nessas dicas dos videos.

    Mas olhe o que ocorre, o relatório de transações aparece O NSU: 040025 como "Efetuada".

    image.thumb.png.5655b435734f8034c791af7ac5d917f1.png

    Ao iniciar o TEFApi, é enviado um Cancelamento dessa transação, e que está errado, pois ela já esta confirmada.

     

     

     

     

    logtef.txt

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