-
Total de ítens
27.620 -
Registro em
-
Última visita
-
Days Won
767
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Daniel Simoes
-
-
-
Geralmente o Adquirente, tem um repositório de Fontes, com exemplos...
-
1
-
-
Para resolver esse problema, você deve reinstalar o PDC
Ou seja, execute:
- ADM -> Manutenção (para apagar a pasta de trabalho)
- ADM -> Configuração
- ADM -> Instalação
Se não conseguir rodar o TEF, para rodar o comando de Manutenção, você pode apagar a pasta de trabalho, da PayGoWeb
-
1
-
Você já deve ter reparado que após o termino de transações, uma mensagem padrão sempre é exibida no Visor do PinPad
Muitas vezes essa mensagem é da Biblioteca do TEF, e sua versão...
Você deve ter se perguntado, como eu posso modificar essa mensagem, para constar Dados da minha aplicação, ou ainda o nome da Empresa do Lojista
Usando o ACBrTEFAPI, isso é muito simples... basta configurar a propriedade:
ACBrTEFAPI1.DadosAutomacao.MensagemPinPad := 'Sua Mensagem Padrao';
A maioria dos PinPads, tem um visor que suporta 2 linhas de 16 colunas, então leve isso em consideração, quando estiver atribuindo a sua mensagem
Nem todas as bibliotecas TEF suportam esse recurso... No momento, usando o ACBrTEFAPI, essa propriedade funcionará para os TEFs
- PayGoWeb
- Scope
- Aditum
- Elgin
Exibindo um Logotipo, ao invés de uma mensagem
No caso do TEF PayGo, você pode ainda, definir uma Imagem padrão...
Para isso, carregue previamente a Imagem no memória do PinPad, conforme instruções desse tópico:
Após isso, chame o mesmo comando acima, definindo como Mensagem, a Imagem previamente carregada, exemplo:
ACBrTEFAPI1.DadosAutomacao.MensagemPinPad := 'LOGOACBR';
-
1
-
O PayGo, disponibilizou uma nova versão de sua biblioteca PGWebLib 4.1.44.0, que permite as automações Enviar e manipular Imagens no PinPad, além de Menus para pesquisas ou outras funcionalidades
Você pode encontrar essa nova biblioteca, no site oficial da PayGo
Com essa nova biblioteca, implementamos os seguintes métodos, na classe TACBrTEFAPIClassPayGoWeb
procedure CarregarImagemPinPad(const NomeImagem: String; AStream: TStream; TipoImagem: TACBrTEFAPIImagemPinPad ); override; procedure ExibirImagemPinPad(const NomeImagem: String); override; procedure ObterListaImagensPinPad(ALista: TStrings); override; procedure ApagarImagemPinPad(const NomeImagem: String); override; function MenuPinPad(const Titulo: String; Opcoes: TStrings; TimeOut: Integer = 30000): Integer; override;
Isso permitirá que aplicações que usam o TEF PayGo, através da biblioteca PGWebLib, possam enviar Logotipos ao PinPad, ou QRCode do PIX, quando integrado por fora do TEF...
A funcionalidade de exibição de Menus no PinPad, também é muito útil para pesquisas de satisfação, por exemplo...
Exemplo de como enviar um QRCode ao PinPad, usando o componente ACBrTEFAPI
ACBrTEFAPI1.ExibirQRCodePinPad( '00020101021226900014BR.GOV.BCB.PIX2568pix-qr.mercadopago.com/instore/p/v2/7edcf890b0de4f0689fe7aea52e447b843540016com.mercadolibre0130'+ 'https://mpago.la/pos/1078225765204000053039865802BR5907GETCARD6009SAO PAULO62070503***6304424C', 'QRCODE');
Usando o método acima, o ACBrTEFAPI, cuidará de renderizar uma imagem PNG em QRCode, com a String de um PIX, respeitando as dimensões de tela do PinPad, e por fim, transmiti-lo ao PinPad, e exibi-lo...
Se você deseja enviar a sua própria imagem, use o comando abaixo:
procedure TFormPrincipal.Button2Click(Sender: TObject); var FileLogo, MediaName: String; begin FileLogo := ApplicationPath+'LogoACBr.png'; // Path completo, para a Imagem a ser transmitida MediaName := 'LOGOACBR'; // Nome da Imagem no PinPad ACBrTEFAPI1.CarregarImagemPinPad(MediaName, FileLogo); ACBrTEFAPI1.ExibirImagemPinPad(MediaName); end;
Observe que o primeiro comando, apenas transmite a Imagem ao PinPad... e isso pode demorar alguns segundos...
O Segundo comando, comanda a exibição da uma Imagem já existente (carregada) no PinPad...
Você pode ainda, usar o comando abaixo, para conhecer as imagens existentes no PinPad...
ACBrTEFAPI1.ObterListaImagensPinPad(AStringList);
O comando espera receber um TStrings, e irá preenche-lo com o nome das imagens existentes no PinPad
...se necessário, você pode aparar as Imagens da memória do equipamento
MediaName := 'LOGOACBR'; ACBrTEFAPI1.ApagarImagemPinPad(MediaName);
Já a funcionalidade de Exibição de Menus no PinPad, pode ser obtida, conforme exemplo abaixo:
procedure TFormPrincipal.btMenuPinPadClick(Sender: TObject); var sl: TStringList; i: Integer; begin sl := TStringList.Create; try sl.Add('Item1'); sl.Add('Item2'); sl.Add('Item3'); i := ACBrTEFAPI1.MenuPinPad('Titulo do Menu', sl); // Chama o Menu no PinPad ShowMessage('Selecionada opção: '+IntToStr(i)); finally sl.Free; end; end;
-
O ACBr não usa essa DLL
-
Acredita que as alteracoes estão corretas?
-
O mesmo problema, ocorre com o Demo do ACBrTEFAPI ?
-
Olá @Desenvolvimento.microline,
Você teria alguma informação, sobre a URL ou provedor correto ?
-
Tentou usar o ACBrTEFAndroid ?
-
@Robson_Renan, não está nos nossos planos recentes, tentar fazer ajustes para essas restrições do google
No meu entendimento, o correto é a Sw.Houses ter ser próprio servidor SMTP, ao invés de usar contas pessoais, dos clientes, para envio de emails
Veja esse vídeo:
-
1
-
-
Humm... realmente o problema ocorrerá, quando 'FazerRequisicaoSiTef' for chamado novamente...
Ou seja, se houver multiplos cartões na mesma venda, ele usará uma informação de DataHora, para cada chamada a 'FazerRequisicaoSiTef'...
Estou aguardando a liberação de um SDK para testes, para rever a integração com a Fiserv
-
@antoniojmsjr, enviei ao SVN, modificações, baseado em suas sugestões... Commit [r39850]
-- ACBrTEFComum --
[+] Adicionada a propriedade TACBrTEFResp.PAN
[*] Quando atribui algum valor a PAN, calcula o BIN e NFCeSAT.UltimosQuatroDigitos,
caso essas propriedades sejam vazias-
1
-
-
Não encontrei na documentação oficial, informações sobre o retorno do campo 2021
https://dev.softwareexpress.com.br/docs/clisitef/clisitef_documento_principal/
Ele não seria a mesma coisa, que o campo 136 (BIN) ?
-
Ainda não tenho o ambiente de testes da Sw.Express...
Mas pelo que li nos fontes, ele está enviando corretamente, a mesma DataHora, que iniciou a transação, no momento da Confirmação..
Veja que ele recupera a transação, e usa da DataHora dela
-
oi @antoniojmsjr, poderia por favor, anexar a Unit modificada ?
-
Estou aguardando a liberação de um ambiente de testes pela Fiserv...
Retorno nesse tópico em breve...
-
ficou um pouco confuso...
- o TEF Scope, é implementado no componente ACBrTEFAPI, usando a DLL.
- A GetCard tem uma aplicação que emula o TEF por troca de arquivos, no TEF Scope -
3 horas atrás, Luiz Alberto da Silva Lope disse:
Como nenhum CPF pode ter mais que 11 digitos, o "if Length(S) = 14 then" acaba gerando formatação errada.
Faz todo sentido.. obrigado, enviado ao SVN... Commit 39700
-
33 minutos atrás, SIDesenvolvimento disse:
As outras chamadas que eu uso são Iniciarlizar, EfetuarAdministrativo, ConfirmarTransacaoAutomaticamente, FinalizarTransacao e CancelarTransacao. Como posso indicar o número do cupom nelas?
humm, ok... provavelmente eles repostaram em relação a esses outros métodos.. Vou fazer uma validação
17 minutos atrás, SIDesenvolvimento disse:Existe alguma configuração para não gerar estes arquivos? Eles são necessários para o tratamento de pendências?
Experimente apagar eles, antes da inicialização...
ACBrTEFAPI1.LimparRespostasTEF;
-
-
@Smaili Amorim, em qual documento eles afirmam isso ?
Tem algum Link ou documentação ?
-
Obrigado pela contribuição...
Revi as demais classes, e implementei nas que tem a informação da Versão.. Commit [r39573]
-
1
-
-
Apliquei uma ampla revisão nos fontes, no método LerInfo de todas as classes... Commit [r39561]
Socket TcP em VB6
em ACBrMonitor PLUS
Postado
https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/VB6/