Ir para conteúdo
  • Cadastre-se

marcelobd

Membros
  • Total de ítens

    3
  • Registro em

  • Última visita

Tudo que marcelobd postou

  1. realmente deve ser a PGWebLib que fecha a serial após enviar o CLO nas transações de Pagamentos, Cancelamentos e na maioria das Administrativas a PGWebLib fecha a serial no fim. Mas infelizmente em alguns casos a serial fica aberta o que bloqueia o pinpad uma sugestão é falar com a Paygo para eles tornarem Public dentro da PGWebLib o método que fecha a serial (não querendo ser leviano, mas acho que isso deve ser barbada pra eles....) daí o componente TefApi poderia implementar este método e nós poderíamos simplesmente fazer TefApi.FecharSerialPinPad(); TACBrAbecsPinPad.IsEnabled := true; // usar o pinpad TACBrAbecsPinPad.IsEnabled := false;
  2. realmente esta gambiarra é inviável pelo delay que causa, eu só postei pra compartilhar os motivos de ocorrer o conflito na serial na verdade nem é necessário DesInicializar a tef quando você quer usar o pinpad fora da TEF pra exibir um PIX por exemplo basta fazer tefapi.EfetuarAdministrativa(tefopTesteComunicacao, ''); // dar um tempo para operação administrativa terminar TACBrAbecsPinPad.IsEnabled := true; // usar o pinpad TACBrAbecsPinPad.IsEnabled := false; mas claro que isso é uma gambiarra inviável em produção.... o componente TACBrAbecsPinPad está incrível e resolveria muitos dos nossos problemas, principalmente com o PIX já que o pix da Paygo é muito limitado em termos de bancos mas se não conseguirmos resolver esta questão de conflito da serial, infelizmente continuaremos com o stress do pix
  3. bom dia em relação ao conflito da porta do pinpad tive o mesmo problema ao tentar exibir qrcode de pix no pinpad mesmo fazendo assim tefapi.DesInicializar; freeandnil(tefapi); application.ProcessMessages; sleep(5000); TACBrAbecsPinPad.IsEnabled := true; // erro de acesso negado o que eu percebi foi o seguinte: na Tef, quando a dll da paygo finaliza uma transação ela envia um comando CLO para o pinpad pra fechar a conexão do pinpad, e daí o display do pinpad "apaga" mas alguns comandos do TefApi comunicam com o pinpad mas não enviam um CLO, daí o pinpad fica "aceso", como se a conexão ficasse ativa isso acontece em * tefapi.Inicializar; * tefapi.ExibirMensagemPinPad(); * se cancelar uma transação de pagamento no meio dela, a dll da paygo encerra enviando um CLO mas depois o TefApi envia uma mensagem de "operacao cancelada" e como não há CLO o pinpad fica "aceso" * em algumas operações Administrativas também acontece isso daí quando eu chamo tefapi.DesInicializar; se o pinpad estiver "aceso" a porta fica bloqueada, só fechando o EXE para o TACBrAbecsPinPad poder conectar o ideal seria que dentro da função tefapi.DesInicializar, o componente pudesse enviar através da dll da paygo um comando CLO para o pinpad. eu contornei isso com uma Gambiarra.... aqui no meu ppc930 deu certo tefapi.EfetuarAdministrativa(tefopTesteComunicacao, ''); // dar um tempo para operação administrativa terminar tefapi.DesInicializar; TACBrAbecsPinPad.IsEnabled := true; a operação de Teste de comunicação no final envia um CLO e "apaga" o pinpad, daí desbloqueia a porta na verdade eu coloquei tefapi.EfetuarAdministrativa(tefopTesteComunicacao, '') após todas as operação de Tef em que ao serem concluídas o pinpad fica "aceso" o ideal é que o pinpad sempre ficasse "apagado"(CLO) após as rotinas de Tef terminarem
×
×
  • 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...