Input

Ask the customer or cashier for input, such as a mobile number or a BankAxept voice authorisation code.

Message categoryClassDirection
InputDeviceBoth

Used in Customer onboarding to show the terms and ask the customer for their mobile number.

Example request and response

input

All fields

Example Input request
{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "ServiceID": "2",
      "MessageClass": "Device",
      "MessageCategory": "Input",
      "MessageType": "Request",
      "DeviceID": "ABC123",
      "SaleID": "ECR123",
      "POIID": "AT12345"
    },
    "InputRequest": {
      "DisplayOutput": {
        "Device": "CustomerDisplay",
        "InfoQualify": "Display",
        "OutputContent": {
          "OutputFormat": "Text",
          "OutputText": [
            {
              "Text": "Text row 1"
            },
            {
              "Text": "Text row 2"
            }
          ]
        }
      },
      "InputData": {
        "Device": "CustomerInput",
        "InfoQualify": "Input",
        "InputCommand": "DigitString"
      }
    }
  }
}
FieldRequiredDescription
InputRequestRequiredContains the fields below
↳ DisplayOutputRequiredContains the fields below
    ↳ DeviceRequiredAlways "CustomerDisplay"
    ↳ InfoQualifyRequiredAlways "Display"
    ↳ OutputContentRequiredContains the fields below
        ↳ OutputFormatRequired"Text" to indicate text format
        ↳ OutputTextRequiredList, one per text row
            ↳ TextRequiredRow text
↳ InputDataRequiredContains the fields below
    ↳ DeviceRequiredAlways "CustomerInput"
    ↳ InfoQualifyRequiredAlways "Input"
    ↳ InputCommandRequired"DigitString" (requesting digit input like a phone number)
Example Input response
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "ServiceID": "2",
      "MessageClass": "Device",
      "MessageCategory": "Input",
      "MessageType": "Response",
      "DeviceID": "ABC123",
      "SaleID": "ECR123",
      "POIID": "AT12345"
    },
    "InputResponse": {
      "OutputResult": {
        "Device": "CustomerDisplay",
        "InfoQualify": "Display",
        "Response": {
          "Result": "Success"
        }
      },
      "InputResult": {
        "Device": "CustomerInput",
        "InfoQualify": "Input",
        "Response": {
          "Result": "Success"
        },
        "Input": {
          "InputCommand": "DigitString",
          "DigitInput": "11223344"
        }
      }
    }
  }
}
FieldRequiredDescription
InputResponseRequiredContains the fields below
↳ OutputResultRequiredOne per DisplayOutput item of the request, and in the same order
    ↳ DeviceRequiredCopy from request
    ↳ InfoQualifyRequiredCopy from request
    ↳ ResponseRequired
↳ InputResultRequiredContains the fields below
    ↳ DeviceRequiredCopy from request
    ↳ InfoQualifyRequiredCopy from request
    ↳ ResponseRequired
    ↳ InputRequiredContains the fields below
        ↳ InputCommandRequiredCopy from request
        ↳ DigitInputRequiredMobile number entered by customer

BankAxept voice authorisation

For merchants subscribing to BankAxept backup solution voice authorisation is required if the amount exceeds the voice authorisation limit. currently NOK 2,500. If so, the terminal sends an Input request to the ECR that requests the cashier to call a number, inform the voice authorisation service about the BankAxept merchant-id (BAX-number), the amount and the account/card number. The details are displayed at the ECR's display. The cashier then enters the received 6-digit authorisation code in the input window or writes in on the paper receipt. If written on the receipt, there is no need to enter the code in the input window, i.e. an empty input response is accepted.

The prompt text to be displayed is.

Reserveløsning: Ring autorisasjonstelefon 24 17 43 91, oppgi brukerstedsnummer <BAX-number>, beløp <amount> og kontonummer <digits 7-17 from PAN> og skriv inn autorisasjonskoden nedenfor eller på kvitteringen.

The <xxx> strings are replaced by the actual values in each case.

Example Input request
{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "ServiceID": "2",
      "MessageClass": "Device",
      "MessageCategory": "Input",
      "MessageType": "Request",
      "DeviceID": "ABC123",
      "SaleID": "ECR123",
      "POIID": "AT12345"
    },
    "InputRequest": {
      "DisplayOutput": {
        "Device": "CashierDisplay",
        "InfoQualify": "Display",
        "OutputContent": {
          "OutputFormat": "Text",
          "OutputText": [
            {
              "Text": "Reserveløsning:"
            },
            {
              "Text": "Ring autorisasjonstelefon 24 17 43 91..."
            }
          ]
        }
      },
      "InputData": {
        "Device": "CashierInput",
        "InfoQualify": "Input",
        "InputCommand": "DigitString",
        "MaxInputTime": 300
      }
    }
  }
}
FieldRequiredDescription
InputRequestRequiredContains the fields below
↳ DisplayOutputRequiredContains the fields below
    ↳ DeviceRequiredAlways "CashierDisplay"
    ↳ InfoQualifyRequiredAlways "Display"
    ↳ OutputContentRequiredContains the fields below
        ↳ OutputFormatRequired"Text" to indicate text format
        ↳ OutputTextRequiredList, one per text row
            ↳ TextRequiredRow text
↳ InputDataRequiredContains the fields below
    ↳ DeviceRequiredAlways "CashierInput"
    ↳ InfoQualifyRequiredAlways "Input"
    ↳ InputCommandRequired"DigitString" (requesting digit input like a phone number)
    ↳ MaxInputTimeRequiredNumber of seconds the terminal will wait for input response before timing out and aborting the flow
Example Input response
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "ServiceID": "2",
      "MessageClass": "Device",
      "MessageCategory": "Input",
      "MessageType": "Response",
      "DeviceID": "ABC123",
      "SaleID": "ECR123",
      "POIID": "AT12345"
    },
    "InputResponse": {
      "OutputResult": {
        "Device": "CashierDisplay",
        "InfoQualify": "Display",
        "Response": {
          "Result": "Success"
        }
      },
      "InputResult": {
        "Device": "CashierInput",
        "InfoQualify": "Input",
        "Response": {
          "Result": "Success"
        },
        "Input": {
          "InputCommand": "DigitString",
          "DigitInput": "123456"
        }
      }
    }
  }
}
FieldRequiredDescription
InputResponseRequiredContains the fields below
↳ OutputResultRequiredOne per DisplayOutput item of the request, and in the same order
    ↳ DeviceRequiredCopy from request
    ↳ InfoQualifyRequiredCopy from request
    ↳ ResponseRequiredContains the fields below
        ↳ ResultRequired"Success" if successful, "Failure" if display message failed
↳ InputResultRequiredContains the fields below
    ↳ DeviceRequiredCopy from request
    ↳ InfoQualifyRequiredCopy from request
    ↳ ResponseRequiredContains the fields below
        ↳ ResultRequired"Success" if successful, "Failure" if failed or cancelled by the cashier
        ↳ ErrorConditionOptionalNot present if "Success", "Cancel" if cancelled by the cashier, "Failure" if other errors
    ↳ InputRequiredContains the fields below
        ↳ InputCommandRequiredCopy from request
        ↳ DigitInputRequiredAuthorisation code (6 digits) entered by the cashier