Biblioteca DLL - Entendendo o Fluxo de Chamadas

Optando por usar o Zoop PC como uma biblioteca DLL integrada ao seu projeto (ZoopSDKPC.dll embutido no projeto com Visual Studio) esta seção lhe dará uma ideia de como acontece o fluxo de chamadas trocados entre o seu projeto (mediados pela DLL) e o backend de pagamento Zoop:

  1. Aplicação inicializa o SDK com ZoopAPI.initialize(...) especificando o marketplaceId, sellerId e o publishableKey (fixos por marketplace) identificador do estabelecimento comercial que realizará a cobrança.

  2. Aplicação Inicia a cobrança chamando o método ZoopTerminalPayment.charge(...) especificando o tipo de cobrança: crédito a vista (credit), crédito parcelado (credit_with_installments) com o número de parcelas ou Débito (debit).

  3. Aplicação Inicia o cancelamento de uma transação aprovada (estorno) chamando o métodoZoopTerminalVoidPayment.voidTransaction(...) especificando o tipo de cobrança: marketplaceId, sellerId, publishableKey e transactionId (Identificação da transação que é fornecida na callback PaymentSuccessful após realizar uma venda).

  4. Aplicação responde a callbacks de mensagens que demandam interação com o usuário:

  • ApplicationDisplayListener - Apresenta mensagens para o operador da Aplicação PDV métodos showMessage com ou sem detalhes).
  • ExtraCardInformationListener - 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.
  • TerminalPaymentListener - Contém as callbacks relacionadas ao fluxo de venda, sendo as callbacks, PaymentSuccessful, PaymentAborted, PaymentFailed e EndTransaction.
  • Além disso, uma transação aprovada pode solicitar a assinatura do portador (cardholderSignatureRequested).
  • VoidTransactionListener - Contém as callbacks relacionadas ao fluxo de estorno ( cancelamento de uma venda aprovada), sendo as callbacks, VoidTransactionSuccessful, VoidTransactionFailed e EndOfTransaction.

As mensagens são strings com formato JSON.

Abaixo o diagrama com o fluxo de troca de mensagens, que representa uma transação com cartão de tarja magnética, onde é pedido umas das callbacks de informações extras do cartão. (Last4DigitsRequested, ExpirationDateRequested, CVCRequested e HolderSignatureRequested)

518518

Diagrama de Mensagens

No caso das callbacks 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.


Did this page help you?