TEF Pay&Go + NFCe

907 views
Skip to first unread message

Portillo

unread,
Dec 1, 2014, 9:25:38 AM12/1/14
to nfe...@googlegroups.com
Galera, fui incubido de criar a integração entre o TEF, com Pay&Go + NFCe, usando o PHP para, inclusive, frente de loja.

O problema é que eu não tenho a mínima ideia de onde começar. Peguei o manual do Pay&Go, para homologação e vi que tem vários tipos. Não sei se o correto agora é ter que criar através de transmissão via web com XML, com esse GATE2all, ou se eu devo utilizar algum tipo de comunicação com a maquineta e o navegador com, sei lá, talvez um applet ou algo assim.

Alguém está nesse processo ou já fez, que possa trocar umas ideias? Ou somente alguma dica de por onde começar?

Edson Ricardo Simão (Edyssomn)

unread,
Dec 1, 2014, 10:10:30 AM12/1/14
to nfe...@googlegroups.com
Olá.

Eu recomendo que você não se preocupe em "como fazer", pois você pode fazer da forma mais simples possível. O importante pra você é se concentrar nos requisitos do teste da homologação. Deve ter sido enviado junto uma lista de testes que serão feitos durante a homologação, e cada teste tem instruções do que o seu sistema deve fazer, e isso precisa ser o seu maior foco. Eles não se preocupam em "como" o seu sistema fará, mas "o que" o seu sistema fará em cada caso.

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+un...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Portillo

unread,
Dec 2, 2014, 1:41:23 PM12/2/14
to nfe...@googlegroups.com
Acontece que eu realmente não sei por onde começar... Eu devo criar um applet para poder pegar as informações de retorno da maquineta? Como integro com o Pin-Pad?? Há alguma biblioteca que me permita esse tipo de comunicação?

Roberto Machado

unread,
Dec 3, 2014, 7:17:41 AM12/3/14
to nfe...@googlegroups.com
Meu amigo vai dar trabalho.

O seu sistema através de um applet deve coletar algumas informações para a emissão da NFCe CASO SEJA PAGO COM CARTÂO DE CREDITO,  como o "codigo de autorização" da operadora de cartão de crédito, alem desse código será necessário saber a "bandeira" e o "CNPJ" da operadora de cartões.

As demais informações necessárias deverão vir do seu sistema mesmo (dados do cliente, se estabelecido, dados do produto, dados fiscais etc.) ness aparte é igual para todas as NFe. 

Como funcionaria :

O caixa pergunta se quer colocar o CPF, se quer NF paulista (isso na cidade de São Paulo) se sim deve colocar os dados do cliente (nome, CPF, rg, carteira de estrangeiro, etc.) 
Ai são introduzidos os produtos (por codigo de barras ou outro meio), nesse ponto o sistema esta buscando os dados dos produtos, como preço, quantidade, id, dados fiscais, etc.

Terminada a colocação dos produtos será feito o pagamento existem tipos estabelecidos na documentação da NFe e no caso do cartão de crédito serão necessárias mais algumas informações, nesse ponto o browser deverá buscar de alguma forma o "código de autorização do cartão de crédito".

Com todas essas informações o processo é finalizado e o xml da NFCe é gerado no servidor, assinado, validado, enviado, consultado e se autorizado impresso e disponibilizado ao cliente.

Roberto 

Saulo Mendes Martins

unread,
Dec 10, 2014, 5:47:59 AM12/10/14
to nfe...@googlegroups.com
Bom dia!
Só hoje vi seu email. Conseguiu evoluir na integração com o TEF Pay&Go?

Enviado do meu iPhone

Rafael Hasson

unread,
Jul 29, 2015, 4:29:20 PM7/29/15
to NFePHP, tal...@gmail.com
Mesma pergunta, alguém já chegou a uma solução de TEF + NFC-E?

abs

Walber Sales

unread,
Jul 29, 2015, 9:51:27 PM7/29/15
to nfe...@googlegroups.com
Olá,


Sobre:
"serão necessárias mais algumas informações, nesse ponto o browser deverá buscar de alguma forma o "código de autorização do cartão de crédito".

Para este processo(em cloud)  a operadora de cartões oferece algum Plugin, Aplet, outros???
Em sistemas exe , rodando no cliente,  existe o GP (Gerenciador Padrão) como interface entre sistema cliente X operadora para autorizar e receber o numero.

E em cloud?  como funciona  o GP?

Att.

Walber S Sales


Rafael Hasson

unread,
Jul 30, 2015, 8:01:06 AM7/30/15
to nfe...@googlegroups.com
É exatamente essa a dúvida!

Entrei em contato com o suporte da GERTEC, mas não consegui chegar em alguém da área... parecia que eu estava falando grego com eles =p

Velho problema de CLOUD vs APLICAÇÃO local.



Rafael Hasson
Computer Engineer
Cel: + 55-41-99918090

Sebastião Fidêncio

unread,
Oct 13, 2016, 2:28:05 PM10/13/16
to NFePHP, portillo...@gmail.com
O Tópico é Antigo, mas vou responder...

1. Eu desenvolvi e homologuei ano passado pyago numa app desktop em VB. O Fato é, você precisa acessar o hardware, a saber, pinpad, equipamento responsável por realizar a leitura do cartão de débito/crédito do cliente. Nessa medida, tal equipamento, transfere os dados por meio de cabo usb ou serial. Uma aplicação WEB em PHP, teoricamente não tem acesso ao FileSystem por meio do código Back-End, obviamente, teria que utilizar JavaScript ou ActiveX, ou famoso Applet de Java, que são aplicação que rodam do lado do cliente, e que possui a capacidade de coletar tais informações. E detalhe, o Paygo, que é software intermediário entre o ESTABELECIMENTO e o BANCO do cartão do cliente, faz interface frente a o programador, por meio de arquivo textos, ou seja, vc envia uma solicitação via arquivo,.e obtém resposta,..e faz todas tratativas,.e por fim emitie o cupom fiscal no ECF..junto com comprovante. Agora com NFce, ficará mais tranquilo desenvolver WEB,., mas tem esse detalhe que esbarramos na questao do pinpad..ser acessado via WEB.


2. A Paygo, possui um serviço identico aos que são utilizados em Lojas Virtuais, como Mercado Pago, PagSeguro, chamado Gateway. O Problema, é que esse tipo de serviço, não permite o input dos dados via PINPAD. Ou seja, é um GATEWAY de pagamento...web.  http://www.ntk.com.br/solucoes/solucoesdepagamento/GATE2all.ashx, tipo AUTOATENDIMENTO,..ou AUTOSERVIÇO.., igual quando você compra um celular pela internet por exemplo...


Vou analisar melhor,.e ve uma solução.


Att

Roberto Machado

unread,
Oct 13, 2016, 2:38:16 PM10/13/16
to nfe...@googlegroups.com
É possível integrar qualquer dispositivo LOCAL com uma interface WEB !! Estou afirmando isso !!

Mas terá que usar um programa LOCAL, rodando na maquina do usuário para faze-lo e isso não é uma tarefa das mais simples. Mas o esquema seria o seguinte:

JavaScript no browser ----> conecta com ----> aplicativo LOCAL servindo socket (em JAVA por exemplo)

Existem programas que fazem isso como QZPrint (usado para impressoras térmicas).

Com esse método é possível a comunicação USB com impressoras, balanças  e qualquer outro dispositivo.

A parte do aplicativo JAVA (rodando no desktop) é que requer a maior parte do conhecimento para faze-lo funcionar adequadamente.

Outra forma seria o próprio fabricante criar um serviço socket local para isso ou o dispositivo já ter isso embutido em seu hardware, mas isso com certeza encarece o mesmo.

Roberto


Sebastião Fidêncio

unread,
Oct 13, 2016, 3:22:33 PM10/13/16
to NFePHP
Roberto, se a base legal admitir tal requisito, não há necessidade nem de implementar aplicativo local em java, para ficar LISTENING,...

No caso do Paygo, trata-se de um aplicativo desktop feito em c++, que possui o módulo client e servidor,..que possui os diretorios

c:\paygo\resp
c:\payg\xxx

ou seja, esses diretórios sao monitorados o tempo todo, e aguardam arquivos cujo especificação de leiaute, está descrita na documentação oficial.


Assim, o BrowserWEB, no caso do firefox ou chrome, possui motor de javascript,. que tem possibilidade de acessar o FileSystem,.e ler esses arquivos,,.pode usar...a biblioteca jQuery /Angular, pra faciliar a manipulação dos arquivos.,..ao jogar o arquivo  de solicitação de transação na pasta..o paygo mostra a tela para o cliente inserir o cartão...e concluir a transação digitando a senha.

Dai vem a pergunta,..e como gravo os dados da transação/arquivo.txt..,no banco de dados do meu servidor?

Simples, você..vai ler os campos que desejar no arquivo..., e submetê-los,.. a um script.php usando Ajax..,pra tela do PDV...não dar refresh..e ficar o mais próximo de uma aplicação GDI.

Roberto Machado

unread,
Oct 13, 2016, 3:50:47 PM10/13/16
to nfe...@googlegroups.com
Sim essa e uma solução quando e apenas quando temos o aplicativo desktop operando com arquivos TXT.

Porem nem sempre isso é uma solução viável, veja por exemplo o caso das impressoras LOCAIS térmicas, não é correto tentar imprimir com um PDF pelo browser, causa uma série de problemas.

Outro quesito está no acesso ao valor do peso de uma balança comercial num caixa de mercado. 

Ou ainda o acesso a um terminal SAT@ECF (mas nesse caso tem aplicativos do fabricante que o colocam em socket).
 
E por ai vai ... mas sua solução também é viável nesse caso especifico.

Eu não trabalho com NFCe, meus clientes são industrias mas uso o QZPrint para impressão de etiquetas nos postos de trabalho.

Roberto

Sebastião Fidêncio

unread,
Oct 13, 2016, 4:26:17 PM10/13/16
to NFePHP
Bom, e quiz restringir a solução ao Paygo, caso, os requisitos seja mais amplo, afim de atender uma automação comercial, que use balança, e demais periféricos do ramo, recomendo algo já pronto,. tipo ACBR,..que já oferece INTEROPERABILIDADE com app..em diversas linguagens,..clipper, cobol, ..etc.,, inclusive..., PHP..,, pode utilizar tanto arquivo txt quanto sockets...chama ACBRMonitor,.funciona..,,para diversos requisitos legais..,

NFe,..
CTe
Arquivo Boleto
Remessa e Retorno
Balanças
Leitor de Cheques e etc..

e é MultiPlataforma,.e MultiECF..


Att

Sebastião Fidêncio

unread,
Oct 13, 2016, 4:27:36 PM10/13/16
to NFePHP
Esqueci de falar, impressoras de cod de barras, possuem dialetos proprios..,EPL..etc., logo, não aceitam dialetos de impressoras comuns,. é uma sequencia de comandos que só o firmware dela entende.., assim,. o app que informei ja faz isso tambem..


att
Reply all
Reply to author
Forward
0 new messages