PIN

Let the ECR control PIN entry on the terminal.

Message categoryClass
PINDevice
📘

Used in these guides

Connect your ECR · Display and PIN

Used to request PIN input on the terminal. Used in combination with DisplayRequest messages from the ECR to the terminal, to inform the cardholder of transaction status. For the full flow, see PIN entry controlled by the ECR. Ask your Aera contact for the appendix that describes the full PIN message flow.

Example request and response

pin

All fields

Example request
{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "MessageClass": "Device",
      "MessageCategory": "PIN",
      "MessageType": "Request",
      "SaleID": "ECR123",
      "POIID": "AT12345",
      "DeviceID": "14"
    },
    "PINRequest": {
      "PINRequestType": "PINEnter",
      "AePINSessionTimeout": 30000,
      "AePINEnterMessage" : "PIN_FIRST_TRY",
      "AeDisplayBrand": "MyPaymentBrand",
      "AdditionalInput": "1234567890123456",
      "AeAccessibilityMode": true,
      "PaymentTransaction": {
        "AmountsReq": {
          "RequestedAmount": 123
        }
      }
    }
  }
}
FieldRequiredDescription
PINRequestRequiredContains the fields below
↳ PINRequestTypeRequiredEnum: PINEnter. The PIN is entered by the Cardholder, encrypted by the terminal, and encrypted PIN Block is provided as result back to ECR.
↳ AePINSessionTimeoutTimeout in milliseconds for how long the terminal waits for either a DisplayRequest from ECR with transaction completion status, or a new PINRequest in case of wrong PIN. The timer starts after the corresponding PINResponse is sent to the ECR.
↳ AePINEnterMessageRequiredEnum: PIN_FIRST_TRY, PIN_TRY_AGAIN, PIN_LAST_TRY. Used to control the message shown to the cardholder during PIN entry.
↳ AeDisplayBrandRequiredPayment brand name. Will be displayed on the PIN enter screen.
↳ AdditionalInputRequiredThe "PAN" of the card. Which can be a real PAN or some card nr, userId etc. Please contact Aera to agree on the value(s) / format to be used for your use case.
↳ AeAccessibilityModeOptionalBoolean. Enable accessibility mode for transaction. Default is false.
↳ PaymentTransactionRequiredContains the fields below
    ↳ AmountsReqRequiredContains the fields below
        ↳ RequestedAmountRequiredTransaction amount. Will be displayed on the PIN enter screen.
Example response
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "MessageClass": "Device",
      "MessageCategory": "PIN",
      "MessageType": "Response",
      "SaleID": "ECR123",
      "POIID": "AT12345",
      "DeviceID": "14"
    },
    "PINResponse": {
      "Response": {
        "Result": "Success"
      },
      "CardholderPIN": {
        "AeEncrPINBlock": "C8F397C71AC88882A447FE2EFC115192",
        "PINFormat": "ISO4",
        "AeKeySerialNumber": "1AC88882A447FE2E",
        "AdditionalInput": "1234567890123456"
      }
    }
  }
}
FieldRequiredDescription
PINResponseRequiredContains the fields below
↳ ResponseRequiredContains the fields below
    ↳ ResultRequiredResult of message processing. 'Success' or 'Failure'
↳ CardholderPINRequiredContains the fields below
    ↳ AeEncrPINBlockRequiredThe encrypted PIN Block
    ↳ PINFormatRequiredEnum: ISO4
    ↳ AeKeySerialNumberRequiredKey serial number
    ↳ AdditionalInputRequiredThe "PAN" of the card.