Transaction Status

🚧

Development mode

ePOS Payments is in development. You can find the API specification in development here. If you are interested in gaining access when available then please contact us via our support page

Overview

Send a Transaction Status message from your ePOS system to check the status of the last transaction, or a previous transaction processed within the last 7 days. This can be used in situations where the ePOS system cannot determine the state of a previous transaction, for example, due to a timeout. It can also be used when the cashier at the ePOS system requests a reprint of the receipt for a previous transaction.

The ePOS Payments API supports this functionality as follows:

  • nexo Retailer TransactionStatusRequest with or without ServiceID. When ServiceID is excluded the status of the last transaction is checked

Sample Workflow

This sequence diagram maps to the steps in the Transaction Status sample request and response payloads that follow. In this flow the ePOS operator is attempting to cancel a hold on a customer's card (Pre-Authorization Cancellation). However the ePOS times out, so the ePOS operator is checking the status of the cancellation as they are unsure as to whether it was processed successfully or not.

Transaction StatusTransaction Status

Sample Transaction Status Request Body payload

Below is an example of a nexo Transaction Status Request payload (body only). In this example the cashier is checking the status of a transaction they made previously to cancel a hold on a customer's card (Pre-Authorization Cancellation).

It is worth noting the following:

  • MessageCategory in MessageHeader must be set as "TransactionStatus"
  • MessageType in MessageHeader must be set as "Request"
  • POIID in MessageHeader is set as the appropriate POIID for the transaction being checked
  • MessageCategory in TransactionStatusRequest - MessageReference is set to the appropriate category for the transaction being checked
  • ServiceID in TransactionStatusRequest - MessageReference is set to the ServiceID for the transaction being checked. If want to check the last transaction then you don't need to include this ServiceID
{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "MessageClass": "Service",
      "MessageCategory": "TransactionStatus",
      "MessageType": "Request",
      "ServiceID": "2531209899",
      "SaleID": "Salesystem-00000001",
      "POIID": "CAP"
    },
    "TransactionStatusRequest": {
      "MessageReference": {
        "MessageCategory": "Reversal",
        "ServiceID": "1231207530",
        "SaleID": "Salesystem-00000001"
      }
    }
  }
}

Sample Transaction Status Response Body payload

Below is an example of a successful nexo Transaction Status Response payload (body only). In this example the status for the Pre-Authorization Cancellation transaction is being returned.

It is worth noting the following:

  • Result is "Success"
  • RepeatedMessageResponse holds the response for the transaction being checked, including receipts if transaction was processed successfully
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "MessageCategory": "TransactionStatus",
      "MessageClass": "Service",
      "MessageType": "Response",
      "POIID": "CAP",
      "SaleID": "Salesystem-00000001",
      "ServiceID": "2531209899"
    },
    "TransactionStatusResponse": {
      "MessageReference": {
        "MessageCategory": "Reversal",
        "SaleID": "Salesystem-00000001",
        "ServiceID": "1231207530"
      },
      "RepeatedMessageResponse": {
        "MessageHeader": {
          "MessageCategory": "Reversal",
          "MessageClass": "Service",
          "MessageType": "Response",
          "POIID": "CAP",
          "SaleID": "Salesystem-00000001",
          "ServiceID": "1231207530"
        },
        "ReversalResponse": {
          "CustomerOrder": {
            "SaleReferenceID": "770234332354"
          },
          "POIData": {
            "POITransactionID": {
              "TimeStamp": "2020-10-19T15:23:10",
              "TransactionID": "84549724968"
            }
          },
          "PaymentReceipt": [
            {
              "DocumentQualifier": "CustomerReceipt",
              "OutputContent": {
                "OutputFormat": "Text",
                "OutputText": [
                  {
                    "EndOfLineFlag": true,
                    "Text": "          Test_STORE           "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "         Address Line 1          "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "       Address Line 2        "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "            Country             "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "--------------------------------"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": ""
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "19.10.20                   17:23"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "      CARDHOLDER RECEIPT        "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "--------------------------------"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "TERMINAL: 12345                 "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "MERCHANT: 123456                "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "PAN: XXXXXXXXXXXX1732           "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "CARD TYPE: Mastercard           "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "MANUAL CANCELLATION             "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "MANUAL ENTRY                    "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "AMOUNT:                10,24 EUR"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "REFERENCE: 770234332354         "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "AUTHORISATION CODE: 121598      "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "              (00)              "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "          APPROVED              "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "   NO CARDHOLDER VERIFICATION   "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": " PLEASE RETAIN FOR YOUR RECORDS "
                  }
                ]
              },
              "RequiredSignatureFlag": ""
            },
            {
              "DocumentQualifier": "CashierReceipt",
              "OutputContent": {
                "OutputFormat": "Text",
                "OutputText": [
                  {
                    "EndOfLineFlag": true,
                    "Text": "          Test_STORE           "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "         Address Line 1          "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "       Address Line 2        "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "            Country             "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "--------------------------------"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": ""
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "19.10.20                   17:23"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "          MERCHANT RECEIPT      "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "--------------------------------"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "TERMINAL: 12345                 "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "MERCHANT: 123456                "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "PAN: XXXXXXXXXXXX1732           "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "CARD TYPE: Mastercard           "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "MANUAL CANCELLATION             "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "MANUAL ENTRY                    "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "AMOUNT:                10,24 EUR"
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "REFERENCE: 770234332354         "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "AUTHORISATION CODE: 121598      "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "              (00)              "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "          APPROVED              "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": "   NO CARDHOLDER VERIFICATION   "
                  },
                  {
                    "EndOfLineFlag": true,
                    "Text": " PLEASE RETAIN FOR YOUR RECORDS "
                  }
                ]
              },
              "RequiredSignatureFlag": ""
            }
          ],
          "Response": {
            "Result": "Success"
          }
        }
      },
      "Response": {
        "Result": "Success"
      }
    }
  }
}

Did this page help you?