While an input request is in progress, you can cancel it in the same way that you can cancel an in-progress payment. You can either:
- Make an
AbortRequest
from your POS app. - Press the Cancel key
on the terminal keypad.
Cancel from POS app
To cancel an
InputRequest
from your POS app:
-
Make a POST request to a Terminal API endpoint, specifying:
MessageHeader
: the standardSaleToPOIRequest.MessageHeader
object. This includes:
Parameter Required Description MessageClass
Service MessageCategory
Abort -
AbortRequest
:Parameter Description AbortReason
MerchantAbort MessageReference
An object with: MessageCategory
: InputSaleID
: your unique ID of the POS app component that sent the input request.ServiceID
: theServiceID
of the input request being cancelled.
For more details see the AbortRequest API reference.
The example below shows how to make a request to cancel an in-progress input request with a
ServiceID
of 21796.{ "SaleToPOIRequest":{ "MessageHeader":{ "ProtocolVersion":"3.0", "MessageClass":"Service", "MessageCategory":"Abort", "MessageType":"Request", "SaleID":"POSSystemID12345", "ServiceID":"29239", "POIID":"V400m-324688179" }, "AbortRequest":{ "AbortReason":"MerchantAbort", "MessageReference":{ "MessageCategory":"Input", "SaleID":"POSSystemID12345", "ServiceID":"21796" } } } }
A successful
AbortRequest
returns a response with a200 OK
HTTP status code and no body. -
Check whether cancelling was successful:
- The screen generated by your
InputRequest
disappears from the terminal display. - The
InputRequest
returns a response containing:Result
: FailureErrorCondition
: Aborted
The following example shows the response for a confirmation input request that was cancelled.
{ "SaleToPOIResponse": { "InputResponse": { "InputResult": { "Device": "CustomerInput", "InfoQualify": "Input", "Response": { "Result": "Failure", "ErrorCondition": "Aborted" }, "Input": { "InputCommand": "GetConfirmation" } }, "OutputResult": { "Device": "CustomerDisplay", "InfoQualify": "Display", "Response": { "Result": "Success" } } }, "MessageHeader": { "ProtocolVersion": "3.0", "SaleID": "POSSystemID12345", "MessageClass": "Device", "MessageCategory": "Input", "ServiceID": "010", "POIID": "V400m-324688179", "MessageType": "Response" } } }
- The screen generated by your
Cancel from terminal
To cancel an in-progress input request from a terminal:
- Press the Cancel key
on the terminal keypad.
If this is successful:
- The screen generated by your
InputRequest
disappears from the terminal display. -
The
InputRequest
returns a response. Depending on the type of input, thisInputResponse
contains:Type of input Result
ConfirmedFlag
Confirmation Success false Signature Success false