Transaction status
Get information about result of a previous transaction
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.
sequenceDiagram
participant ECR
participant AIC as Terminal (AIC)
ECR->>AIC: 1. Payment Request
AIC--xECR: 2. Payment Response
Note left of ECR: Response does not reach the ECR
Note left of ECR: ECR sends TransactionStatus request\nto determine result of previous transaction
ECR->>AIC: 3. TransactionStatus
AIC-->>ECR: 4. TransactionStatus response
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"
}
}
}
}| Property | Description | Mandatory / Optional |
|---|---|---|
| TransactionStatusRequest | Mandatory | |
| MessageReference | Optional | |
| MessageCategory | Category of original message. Only 'Payment' is supported. | Mandatory |
| ServiceID | ServiceID of the original message. If omitted, the latest message will be returned. | Mandatory |
| SaleID | SaleID 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 | Mandatory |
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": "2026-04-18T22:16:13.178+02:00"
},
"AeSaleToHostData" : "...."
},
"POIData": {
"POITransactionID": {
"TransactionID": "123456",
"TimeStamp": "2026-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"
}
]
}
}
]
}
}
}
}
}| Property | Description | Mandatory / Optional |
|---|---|---|
| TransactionStatusResponse | Mandatory | |
| Response | Mandatory | |
| Result | Success or Failure | Mandatory |
| MessageReference | Copy of MessageReference from request | Optional |
| RepeatedMessageResponse | Copy of the original message, if the original message is completed | Optional |
Updated 13 days ago
Did this page help you?