Jump to content

marcelosantos

Membros Pro
  • Posts

    67
  • Joined

  • Last visited

About marcelosantos

Recent Profile Visitors

1,139 profile views

marcelosantos's Achievements

  1. Olá a todos Realizei testes com o PaygoWEB e 2 tipos de PinPAD Com os PinPADs mais antigos que possuem a versão 1.08a a função de obter dados não funciona Com PinPADs mais novos (usei o PPC 930 da Gertec versão 2.03) a função funciona perfeitamente Será que conseguimos mudar/alterar a função para funcionar também com os mais antigos (lembrando que com o TEF por troca de arquivos - Paygo) a função de obter dados funciona com os 2 tipos de pinpad
  2. Sim estou fechando o gerenciador, se estes numero ai representam a versão do ABECS então o meu aqui de testes é 1.08a, então é este o problema, agradeço por toda a atenção, e vou testar nos clientes que tem PinPad mais novos (e atualizados)
  3. Daniel se uso gpPaygo ou gpTefDial o recurso funciona (tanto no DEMO, quanto na minha aplicação) inclusive no mesmo computador, com o mesmo pin pad se com "carga" você quiser dizer ao ligar o PinPad, não aparece nada com relação a ABECS, se for outra coisa favor dizer que verifico
  4. Daniel, copiei o TEFDDEMONF.exe e TEFDDEMONF.INI para dentro da pasta da minha aplicação onde o TEFPAygoWeb esta instalado (C:\manager\) Inicio o TefDDemonf.exe e clico em operações e solicitar CPF (Aqui já recebo o erro) O PinPad é um ingenico ipp320 Obs.: Apagei todos os logs e fiz apenas 3 operações Solicitar CPF Venda Credito a vista de R$ 10,00 Solicitar CPF PGWeb.rar
  5. Olá O componente ACBrTEFD está devolvendo o erro Chamada invalida ao solicitar o CPF Teste foi feito no Demo Não Fiscal configurado como PaygoTEFWeb Chamada: ACBrTEFD1.CDP('F', Saida); // F=CPF LOG ***************EACBrTEFPayGoWeb*************** CHAMADA INVALIDA PW_iPPGetUserData( PWDPIN_DIGITE_O_CPF, 11, 11, 30 ) PWRET_31 PW_iGetResult( PWINFO_RESULTMSG ) [CR] CHAMADA INVALIDA EACBrTEFPayGoWeb: CHAMADA INVALIDA ***************EACBrTEFPayGoWeb*************** CHAMADA INVALIDA Obs.: Configurado como TefDial ou TefPaygo o Recurso funciona normalmente
  6. Obrigado Daniel, então vou deixar '02' mesmo
  7. Posso uma aplicação (Frente de Caixa com emissão de NFCe) homologada na Pay Go usando o GP "gppaygo" agora estamos pensando em implementar o GP "gppaygoweb" (via dll) e percebi que em nossa aplicação toda vez que vamos iniciar uma transação de venda fazemos: StatusTransacao := DM.ACBrTEFD.CRT( StrToCurrDef(vValorPago, 0), '02', NumDocVinculado) só que no demo de TEF não fiscal é utilizado o comando OK = ACBrTEFD1.CRT(AValor, '01'); ou seja o IndiceFPG_ECF é '01' e na minha aplicação '02' A dúvida é, este valor interfere em algo? ou só era usado para o PAC_ECF (que não utilizamos mais aqui em PE - na nossa software house)
  8. EMBarbosa, problema resolvido tudo funcionando perfeitamente Componente agora está redondo
  9. Basta consultar novamente a transação e verificar se o status é 'paid'
  10. Isso exato, eu tentei colocar um "Result.free" no final da função mais não deu certo, o retorno da função ficou invalido e o qr-code não foi carregado
  11. Tem sim, só vou precisar que você me diga como é feito esse FullDebug mais detalhes do erro 29 - 36 bytes: TStringStream x 3 -> Esse 3 no final indica que foram 3 TStringsStream que estouraram erro, no debug aqui na hora que mandou enviar uma solicitação ele passa no método de gerar o qr-code por 3 vezes, então por isso o 3 fiz um teste de uso normal e solicitei 5 pagamentos, o leak no final era = 15
  12. Olá a todos os envolvidos Refiz todos os testes e tudo esta funcionando perfeitamente muito boa a ideia deste evento "procedure TDM.ACBrPicPay1WaitingTimeout(var Retry: Boolean);" -> Testei retornando true e false para a variável e funcionou como esperado neste evento "procedure TDM.ACBrPicPay1WaitingPayment(const Status: string; const TempoRestante: Integer);" o Retorno do TempoRestante esta funcionando perfeitamente, era justamente o que eu queria o único problema agora é um Memory Leak que é estourado ao finalizar a aplicação e ter usado o método Enviar --------------------------- Unexpected Memory Leak --------------------------- An unexpected memory leak has occurred. The unexpected small block leaks are: 29 - 36 bytes: TStringStream x 3 The sizes of unexpected leaked medium and large blocks are: 3116, 3116, 3116 --------------------------- OK --------------------------- eu acredito que seja esta function, (não tenho certeza) function TACBrPicPay.GetQRCode: TStringStream; {$IFDEF FPC} procedure DecodeQRCodeLazarusFPC; var vData: Ansistring; begin vData := DecodeStringBase64(fQRCode); Result := TStringStream.Create(vData); Result.Position := 0; end; {$ELSE} procedure DecodeQRCodeDelphi; var Input: TStringStream; begin Input := TStringStream.Create(fQRCode); try Result := TStringStream.Create(fQRCode); DecodeStream(Input, Result); Result.Position := 0; finally Input.Free; end; end; {$ENDIF} begin if fQRCode = '' then begin Result := nil; EACBrPicpayError.Create('QRCode está vazio ou inválido.'); end; fQRCode := StringReplace(fQRCode, 'data:image/png;base64,', '', [rfReplaceAll]); {$IFDEF FPC} DecodeQRCodeLazarusFPC; {$ELSE} DecodeQRCodeDelphi; {$ENDIF} end; Ultimo detalhe, fiz os testes também iniciando a aplicação, usando os métodos, consultar e cancelar e não há nenhum memory leak ao fechar a aplicação
  13. Eu pensei em mais uma propriedade teríamos tempo de Retorno que seria o tempo total, e teriamos tempoDecorrido (tempo que falta) que seria o valor retornando para a aplicação
  14. Bom dia "resolvi" o contador de tempo restante do demo adicionando o seguinte na unit ACBRPicPay.pas procedure TACBrPicPayThread.FazWaitingPayment; begin if Assigned(fACBrPicpay.fOnWaitingPayment) then begin fACBrPicpay.fOnWaitingPayment(fACBrPicpay.Status); fACBrPicpay.TempoRetorno := fACBrPicpay.TempoRetorno - 1; // adicionei esta linha end; end; sei que não estou usando as melhoras praticas, mais resolveu aqui pra mim, tudo funcionando agora. Se houver uma melhor forma de fazer, gostaria de "ouvi-los"
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.