Aqui, descrevemos como você pode usar um InputRequest para mostrar um prompt no terminal de pagamento pedindo ao cliente que confirme algo desenhando sua assinatura no visor.
Os exemplos a seguir mostram a aparência da tela com uma assinatura desenhada em telas de terminal em paisagem e retrato.

Usando os botões na tela, o cliente pode cancelar, limpar ou confirmar sua assinatura..
Em alguns modelos de terminal, você pode incluir texto adicional abaixo do cabeçalho, por exemplo, para explicar por que está pedindo ao cliente sua assinatura. Nos terminais M400, e280 e e285p, o texto adicional é ignorado.
Faça uma solicitação de entrada de assinatura
Para usar o terminal de pagamento para pedir a um cliente que forneça sua assinatura:
-
Faça uma solicitação POST para um endpoint da API de Terminais, especificando:
-
The standard
SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Device andMessageCategoryset 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:Parâmetro Requerimentos Descrição Device
CustomerDisplay InfoQualify
Display OutputContent.OutputFormat
Text OutputContent.PredefinedContent.ReferenceID
GetSignature OutputContent.OutputText
Uma matriz de dois campos Textcontendo seu próprio texto para mostrar no terminal:- 1: O cabeçalho. Em uma tela de retrato, isso é limitado a cerca de 20 caracteres.
- 2: Use um valor vazio ou especifique um texto adicional.
Nos terminais dos terminais M400, e280 e e285, o texto adicional é ignorado, mas você ainda precisa incluir o segundo campoTextcom um valor vazio.
-
InputRequest.InputData: Esta parte do corpo da solicitação lida com a entrada do usuário:Parâmetro Requerimentos Descrição 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 cliente sua assinatura.
Para obter uma lista completa de campos que você pode passar em uma solicitação de entrada de assinatura, consulte a InputRequest.
-
-
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
EventNotificationcomEventDetails: 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
InputResponseindicação de que a solicitação de entrada foi fechada. -
Se a entrada for recebida do terminal, o
InputResponsetem umInputResultcom:Response.AdditionalResponse: A assinatura fornecida pelo cliente.Input.ConfirmedFlag: true indica que o cliente confirmou seu acordo selecionando Confirm
.Input.ConfirmedFlag: false significa que o cliente recusou selecionando Cancel
.
Para obter uma lista completa de campos que você pode receber em uma resposta de entrada de assinatura, consulte a InputResponse.
-
-
Passe os dados relevantes do
InputResultpara o seu sistema para validação e uso posterior.