Integração por Mensagens do Windows

Introdução

O Zoop Checkout Lite é uma aplicação Windows desenvolvida em C#, .Net (CLR VERSÃO) que pode ser utilizada de forma independente, stand alone, instalada no computador com sistema operacional Windows do Estabelecimento Comercial (seller).

O modelo de integração utiliza mensagens do Windows WM_COPYDATA, disponíveis em todas as tecnologias Windows em aplicações com janelas.

Para aplicações sem janelas, oferecemos os modelos de integração via Process IO ou File IO.

O fluxo é dividido em 3 partes (detalhadas na seção 2):

  1. Aplicação Inicia a cobrança com o envio da mensagem charge

  2. Aplicação responde as mensagens que demandam interface gráfica como:

  • Apresentar mensagens para o operador da Aplicação PDV (ApplicationDisplayListener, métodos showMessage com ou sem detalhes)
    
  • Responder a mensagens com solicitação de informações adicionais sobre o cartão, geralmente em transações com cartões de tarja magnética (extraCardInformation). Essas informações podem ser: 4 últimos digitos e/ ou CVV (CVC2, 3 números atrás do cartão) e/ ou data de expiração.
    
  1. Finalização da transação com a possibilidade de transação aprovada (paymentSuccessful), transação falhou (paymentFailed) ou transação abortada pelo usuário ou operador, clicando o botão de cancelar do pinpad ou cancelar no Sistema PDV (transactionAborted). Além disso, uma transação aprovada pode solicitar a assinatura do portador (cardholderSignatureRequested).

As mensagens são strings com formato JSON, com o atributo “message” com o identificador da mensagem e os parâmetros adicionais de cada mensagem.

As respostas também devem ser feitas usando o padrão JSON, detalhado na seção 3.

Abaixo o diagrama com o fluxo de troca de mensagens para realizar uma cobrança (charge):

637

No código de exemplo fornecido, o processo é inicializado com 2 parâmetros. O tipo de integração no primeiro parâmetro, integration=wm e o título da janela como segundo parâmetro. O título da janela é utilizado para que a aplicação PDV encontre a janela e possa enviar e receber as mensagens WM_COPYDATA.

As mensagens WM_COPYDATA devem ser respondidas como recebidas/ processadas em todos os casos.

No caso das mensagens ExtraCardInformation, aonde os 4 últimos digitos (cardLast4Digits), CVV ou CVV (cardCVCRequested) ou data de expiração (cardExpirationDate Requested) forem chamados, a aplicação deve responder mesmo que a resposta não seja informada pelo usuário/ operador ou que a Aplicação PDV não tenha implementado a resposta, pois a transação estará esperando esses dados para completar o processamento.

Ao finalizar a transação o executável que foi inicializado pela Aplicação PDV é finalizado e o código de retorno deve ser 0 (zero) se tudo correu bem.