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 referência da API Signature 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 referência da API Signature InputResponse. 
- 
- 
Passe os dados relevantes do InputResultpara o seu sistema para validação e uso posterior.