Aqui, descrevemos como você pode usar um InputRequest
para mostrar algumas informações no visor do terminal de pagamento e pedir ao cliente para confirmar se concorda.
Faça uma solicitação de entrada de confirmação
Para usar o terminal de pagamento para pedir a um cliente que confirme algo:
-
Faça uma solicitação POST para um Endpoint da API de Terminais, especificando:
-
The standard
SaleToPOIRequest.MessageHeader
object, withMessageClass
set to Device andMessageCategory
set to Input.Parameter Required Description ProtocolVersion
3.0 MessageClass
Device MessageCategory
Input MessageType
Request ServiceID
Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal ( POIID
) being used.SaleID
Your unique ID for the system where you send this request from. POIID
The unique ID of the terminal to send this request to. Format: [device model]-[serial number].
-
InputRequest.DisplayOutput
: Esta parte do corpo da solicitação define o que é mostrado no terminal:Parameter Required Description Device
CustomerDisplay InfoQualify
Display OutputContent.OutputFormat
Text OutputContent.PredefinedContent.ReferenceID
GetConfirmation OutputContent.OutputText
Uma matriz de quatro campos Text
contendo seu próprio texto para mostrar no terminal:- 1: O título. Em uma tela de retrato, isso é limitado a cerca de 20 caracteres.
- 2: exto adicional que pode ser longo. Use
\n
para adicionar uma quebra de linha. - 3: O rótulo para o botão "Cancelar" à esquerda.
- 4: O rótulo para o botão "Confirmar" à direita.
-
InputRequest.InputData
: Esta parte do corpo da solicitação lida com a entrada do usuário:Parameter Required Description Device
CustomerInput InfoQualify
Input InputCommand
GetConfirmation MaxInputTime
(Integer) Tempo limite em segundos. Este é o momento em que o usuário conclui sua entrada.
O exemplo a seguir pede ao comprador para confirmar se concorda.
Para obter uma lista completa de campos que você pode passar em uma solicitação de entrada de confirmação, consulte a Confirmation InputRequest API reference.
-
-
Aguarde até que o usuário forneça a entrada solicitada.
A entrada fornecida não é validada em um formato.
-
Se a solicitação de entrada expirar, você receberá uma
EventNotification
comEventDetails
: message=Did+not+receive+a+response+from+the+POI. -
Se você fizer uma solicitação de pagamento enquanto a solicitação de entrada está aguardando a entrada no terminal, a solicitação de pagamento substitui a solicitação de entrada. Você recebe uma
InputResponse
indicação de que a solicitação de entrada foi fechada. -
Se a entrada for recebida do terminal, o
InputResponse
tem umInputResult
com:Input.ConfirmedFlag
: true indica que o cliente confirmou seu acordo ao selecionar o botão direito no visor ("Agree") ou a tecla Confirmno teclado.
Input.ConfirmedFlag
: false significa que o cliente selecionou o botão esquerdo no visor ("Decline") ou a tecla Cancelno teclado.
Para obter uma lista completa de campos que você pode receber em uma resposta de entrada de confirmação, consulte a Confirmation InputResponse API reference.
-
-
Passe os dados relevantes do
InputResult
ara o seu sistema para validação e uso posterior.