TransactionStatus

Get the result of an earlier transaction, for example after a lost connection.

Message categoryClassDirection
TransactionStatusServiceECR → terminal

Get information about result of a previous transaction. The result is retrieved from the terminal. Can be used in case the result of the previous transaction is unknown due to timeout or other communication issue between transmission of request from ECR and reception of response.

This request can be used to prevent duplicate transactions being initiated from the ECR in case of communication issues.

In the following example a standard payment is requested, but the response does not reach the ECR. The transaction result is then received by the ECR using TransactionStatus.

Example request and response

transactionstatus

All fields

Example request
{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "ServiceID": "2",
      "MessageClass": "Service",
      "MessageCategory": "TransactionStatus",
      "MessageType": "Request",
      "SaleID": "ECR123",
      "POIID": "AT12345"
    },
    "TransactionStatusRequest": {
      "MessageReference": {
        "MessageCategory": "Payment",
        "ServiceID": "1",
        "SaleID": "ECR456"
      }
    }
  }
}
FieldRequiredDescription
TransactionStatusRequestRequiredContains the fields below
↳ MessageReferenceOptionalContains the fields below
    ↳ MessageCategoryRequiredCategory of original message. Only 'Payment' is supported.
    ↳ ServiceIDOptionalServiceID of the original message. If omitted, the latest message will be returned.
    ↳ SaleIDOptionalSaleID of the original message. Can be used when requesting status for a transaction sent by another ECR. If omitted, the SaleID value from MessageHeader will be used
Example response
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "MessageCategory": "TransactionStatus",
      "MessageClass": "Service",
      "MessageType": "Response",
      "POIID": "AT12345",
      "ProtocolVersion": "3.1",
      "SaleID": "ECR123",
      "ServiceID": "2"
    },
    "TransactionStatusResponse": {
      "Response": {
        "Result": "Success"
      },
      "MessageReference": {
        "MessageCategory": "Payment",
        "ServiceID": "1"
      },
      "RepeatedMessageResponse": {
        "MessageHeader": {
          "MessageCategory": "Payment",
          "MessageClass": "Service",
          "MessageType": "Response",
          "POIID": "AT12345",
          "ProtocolVersion": "3.1",
          "SaleID": "ECR123",
          "ServiceID": "1"
        },
        "PaymentResponse": {
          "Response": {
            "AeStan": "123456",
            "AeAcquirerResponseCode": "00",
            "AeResponseCode": "000",
            "AdditionalResponse": "",
            "Result": "Success"
          },
          "SaleData": {
            "SaleTransactionID": {
              "TransactionID": "12345",
              "TimeStamp": "2024-04-18T22:16:13.178+02:00"
            },
            "AeSaleToHostData" : "...."
          },
          "POIData": {
            "POITransactionID": {
              "TransactionID": "123456",
              "TimeStamp": "2024-04-18T22:16:16.178+02:00"
            }
          },
          "PaymentResult": {
            "PaymentInstrumentData": {
              "CardData": {
                "SensitiveCardData": {
                  "CardSeqNumb": "01",
                  "ExpiryDate": "2701"
                },
                "CardCountryCode": "578",
                "MaskedPAN": "540481******1761",
                "PaymentBrand": "MASTERCARD"
              },
              "PaymentInstrumentType": "Card"
            },
            "AmountsResp": {
              "AuthorizedAmount": 123,
              "Currency": "EUR"
            },
            "PaymentAcquirerData": {
              "ApprovalCode": "541639",
              "MerchantID": "6815413"
            },
            "AuthenticationMethod": [
              "OfflinePIN"
            ]
          },
          "PaymentReceipt": [
            {
              "DocumentQualifier": "CustomerReceipt",
              "OutputContent": {
                "OutputText": [
                  {
                    "Text": "Receipt text 1"
                  },
                  {
                    "Text": "Receipt text 2"
                  },
                  {
                    "Text": "Receipt text 3"
                  }
                ]
              }
            }
          ]
        }
      }
    }
  }
}
FieldRequiredDescription
TransactionStatusResponseRequiredContains the fields below
↳ ResponseRequiredContains the fields below
    ↳ ResultRequiredSuccess or Failure
↳ MessageReferenceOptionalCopy of MessageReference from request
↳ RepeatedMessageResponseOptionalCopy of the original message, if the original message is completed

If the response has no RepeatedMessageResponse, the original payment isn't finished yet. Don't treat it as failed, and don't start a new payment. See Verify transaction status.