Realizar uma Cobrança (Charge)

Formato das mensagens JSON

Mensagem Charge

Mensagem para iniciar o processo de cobrança.
Essa mensagem tem os dados básicos necessários para o autorizador Zoop realizar a transação.

Para os pinpads de cabo, a detecção é automática, dependendo do modelo e necessidade de drivers instalados.

O parâmetro serialPort é opcional, podendo especificar a porta utilizado caso desejado. Útil quando pinpads Bluetooth são utilizados e configurados manualmente.

Direção da mensagem: Aplicação Cliente -> Zoop PC Server

{
  "mid": "charge",  // Tipos de pagamento: charge, 
  "marketplaceId": "{{MARKETPLACE_ID}}", // Mudar pelo marketplaceId correto.
  "publishableKey": "zpk_test_...", // Mudar pelo correto. Geralmente fixo
  "sellerId": "1e5ee2e290d040769806c79e6ef94ee1", // Mudar pelo seller desejado
  "valueInCents": 125, //VALOR EM CENTAVOS
  "paymentType": "credit", // TIpo de transação: credit, debit ou credit_with_installments
  “serialPort”: “COM18” // Parâmetro opcional: A porta serial a ser utilizada
}

Interações

  • showMessage

Mensagem com notificações para a aplicação apresentar para o operador do Sistema PDV.

Veja a listagem completa de mensagens

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

{
  "mid": "showMessage", 
  "message": "Conectando ao terminal. Aguarde.", // Mensagem para ser apresentada para o operador na aplicação PDV/ Checkout. No TEF são mensagens para o operador
  "messageType": "WAIT_INITIALIZING"  // Tipo de mensagens listada, listada no tópico abaixo Tipos de Mensagens /ENUM MessageTypes
  “messageExplanation”:”Detalhe opcional da mensagem” // Esse atributo é opcional. Ocasionalmente é enviado com objetivo de explicar a mensagem principal. Utilizado para ajudar o operador a entender o que está havendo. Geralmente é uma mensagem com texto menor, apresentada na aplicação PDV/ Checkout
}

Resposta recebida pelo cliente:

{
  "mid": "showMessage",
  "message": "Conectando ao terminal. Aguarde.",
  "messageType": "WAIT_INITIALIZING"
}
  • cardLast4DigitsRequested

Mensagem com a notificação de que a transação requer os 4 últimos dígitos do cartão. O operador deve digitar os 4 últimos dígitos e a resposta deve ser enviada uma mensagem WM_COPYDATA.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

Formato JSON com a solicitação dos 4 últimos dígitos

{
    “mid”: “cardLast4DigitsRequested”
}

E a resposta com outra mensagem enviada com o formato abaixo:

{
    “mid”: “cardLast4Digits”,
    “value”: “5500” // Os 4 últimos dígitos do cartão
}

A resposta a essa mensagem para processamento bem sucedido ou diferente de zero se houve um erro.

  • cardCVCRequested

Mensagem com a notificação de que a transação requer o “CVC” (CVV, CVC2) do cartão do portador. O operador deve digitar o CVC e a resposta deve ser enviada uma mensagem JSON.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

Formato JSON com a solicitação do CVC

{
    “mid”: “cardCVCRequested”
}

E a resposta com outra mensagem enviada com o formato abaixo:

{
    “mid”: “cardCVC”,
    “value”: “812” // Normalmente os 3 atrás do cartão ao lado da assinatura ou 4 dígitos na frente do cartão caso seja American Express (AMEX) 
}

A resposta a essa mensagem WM_COPYDATA será 0 para processamento bem sucedido ou diferente de zero se houve um erro.

  • cardExpirarationDateRequested

Mensagem com a notificação de que a transação requer a data de expiração do cartão. O operador deve digitar a data de expiração do cartão e a resposta deve ser enviada uma mensagem JSON.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

Formato JSON com a solicitação da data de expiração do cartão:

{
    “mid”: “cardExpirarationDateRequested”
}

E a resposta com outra mensagem enviada com o formato abaixo:

{
    “mid”: “cardExpirarationDate”,
    “value”: “1218” // os 4 dígitos com a data de expiração do cartão no formado MMAA (mês com 2 dígitos e ano com 2 dígitos)
}

A resposta a essa mensagem para processamento bem sucedido ou diferente de zero se houve um erro.

  • cardholderSignatureRequested

Mensagem com a notificação de que a transação requer a coleta da assinatura do portador do cartão. É importante considerar que nesse momento a transação já foi aprovada pelo sistema. Essa indicação de que a coleta da assinatura é necessária deve ser usada para que o operador solicite a assinatura no recibo impresso ou na tela, de acordo com a tecnologia utilizada. A assinatura não é verificada por nenhum sistema e a responsabilidade da verificação é do operador do sistema PDV.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

Formato JSON com a solicitação de assinatura do portador:

{
    “mid”: “cardholderSignatureRequested”
}

Respostas

Respostas

  • paymentSuccessful

Mensagem com notificação de pagamento bem sucedido. Essa mensagem é a mensagem de
transação bem sucedida, equivalente a consulta de transação via API Zoop:

{
    “mid”: "paymentSuccessful”
}
  • paymentFailed

Mensagem com a notificação de que a transação falhou.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

{
    “mid”: "paymentFailed”
}
  • paymentAborted

Mensagem com a notificação de que a transação foi abortada pelo cliente, apertando o botão Cancelar no pinpad ou com o operador apertando cancelar na aplicação PDV.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

{
    “mid”: “paymentAborted”
}
  • endOfTransaction

Mensagem que encerra por completo a transação.

Direção da mensagem: Zoop PC Server -> Aplicação Cliente

{
  “mid”: “endOfTransaction”
}