Opção 3: mini WebSockets server

Se você optou por usar o Zoop PC como um mini servidor WebSockets sem embutir a biblioteca no seu sistema, ou para conectar o seu sistema não .NET, ou o seu sistema PWA (Electron, etc) ou o seu sistema diretamente da Web interagindo com o computador local, então aqui está a forma de fazer isso:

Setup

No arquivo zip do SDK você encontrará um executável chamado ZoopCheckoutLitePC.exe, este executável precisa rodar na máquina Windows onde está plugado o pinpad (nao precisa ser a mesma máquina do seu sistema mas pode ser).

Através da confguração de algumas informações no arquivo zconfig.ini você habilitará o modo websockets e a porta TCP que responderá as requisições.

Quando o executável é iniciado ele procura esse arquivo e segue as orientações de funcionamento ali descritas.

O Zoop PC pode até mesmo mostrar uma inteface UI (um pequeno pinpad virtual) para servir de teste/suporte durante as operações antes de você habilitar ele como websocket server, basta para isso ajustar o parametro operationmode = checkout.

É importante que o Zoop PC esteja rodando em background para que o seu sistema encontre ele . Se necessário inclua o atalho para o executável no iniciar do Windows para garantir que ele sempre será aberto.

Importante: não deve existir mais de uma instância do executável rodando em background pois uma bloqueará a outra e você não conseguirá conectar o terminal pinpad.

Configurando o funcionamento

O arquivo zconfig.ini permitirá que você controle a forma como o Zoop PC executável vai trabalhar.

# zConfig.ini para ZOOP PC.
# linhas com '# ' sao comentarios. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

# debug_to_file ligado = habilita geracao do arquivo ZoopSDK.log
# debug_to_file desligado =  nao gera o arquivo de log
#     atencao: o arquivo de log quebrara automaticamente a cada 1MB de tamanho, sendo 
#              totalmente seguro apaga-lo a qualquer momento para fins de limpeza de disco.
debug_to_file=true
    
# marketplaceid =  (obrigatorio) define a conta de execucao default das configuracoes, processo de validacao de login e transacoes.
marketplaceid = {{MARKETPLACE_ID}}. (substitua pelo ser marketplaceID !!!)

# se quiser ter logos ou cores customizados quando o checkout UI é mostrado 
# mude os png do subfolder 'Variante' e, opcionalmente, inclua um arquivo color.txt com o json de cores. 


# MODOS DE OPERAÇÃO (substitue parametro obsoleto integrationmode)
#  as opcoes sao: 
#  wm:SUBSTITUIR_AQUI_POR_NOME_DA_JANELA_A_SER_PROCURADO_PELO_APP_PARCEIRO
#  websockets:SUBSTITUIR_AQUI_POR_NUMERO_SA_PORTA_TCP_A_SER_CONECTADO_PELO_APP_PARCEIRO 
#  checkout    
#  esta última nao integra em background, ao invés disso mostra a UI para uso de checkout interativo.
#  a opção operationmode=checkout é equivalente ao obsoleto  showUI = true das versoes anteriores.
operationmode=websocket:1337
#operationmode=checkout
#operationmode=wm:123456

# DEV feature : permite apontar para ZoopEMVConnect alternativa.
# uso apenas com orientação direta da Zoop para testes.
#host=zec-Leo-develop.zoop.ws

# serialport=COMx onde x é o numero da porta serial. Se nao informar este parametro, assim o middleware vai tentar automatico. Automatico só funciona com Win10 ou +.
#serialport=COM15 (ajuste para a sua porta fixa)

Dispositivos

Os seguintes dispositivos são conhecidamente suportados para uso com o Zoop PC (Conectados por USB).

❗️

Conexão

No momento não é possível conectar ao Zoop PC via conexão BLUETOOTH .

mPOS

  • Pax (D150, D180) - Qualquer versão do windows precisa de instalação de drivers
  • Gertec (MP5) - Não precisa de drivers no Windows 10

PIN pad

  • Ingenico (IPP320) - Não precisa de Driver no Windows 10
  • Gertec (PPC 920, PPC 930) - Não precisa de Driver no Windows 10

Alguns destes dispositivos podem precisar de um driver do Windows funcionar.
Para saber se o device está reconhecido e operante, abra no windows do GERENCIADOR DE DISPOSITIVOS e veja se ele aparece nas portas USB (veja a COM atribuída). Se aparecer uma interrogação (?) entao ele nao foi reconhecido adequadamente e precisa de driver do fabricante.

Via WebSocket

Na sua aplicação você precisa abrir uma conexão em localhost na porta 1337. Exemplo: ws://localhost:1337. Caso queira alterar a porta padrão, você pode passar como parâmetro na inicialização do servidor. Para isso inicialize dessa forma:
`ZoopCheckoutLitePC.exe integration=websocket nnnn (onde nnnn é o numero da porta desejada) ou pela interface gráfica.

Você pode utilizar o HTML DEMO CLIENT disponível na pasta
"opcao_3_mini_servidor_websockets"

494

para testar o Zoop PC em background conectando ele via navegador (fortemente recomendado usar Google Chrome).
Também serve como exemplo de uso da biblioteca javascript (ZoopWebSocketClient) para você usar na sua própria aplicação Electron ou PWA e integrar com o Zoop PC diretamente de uma WebView ou navegador.

Para uma explicação detalhada de cada mensagem JSON enviada/recebida por este formato, vide a sub-seção "Operações na troca de JSON messages" no menu lateral esquerdo.