One-way Push Notification Interface

Flow

After each transaction, the TECS processing engine sends a JSON-formatted one-way push notification to the 3rd Party Portal via REST API. If the portal fails to receive the notification, TECS will automatically resend it multiple times per day.

The 3rd Party Portal, also referred to as the merchant's server, is supposed to be setup and built by the merchant. This merchant server serves as a "webhook" for the TECS Engine. The customer specifies the URL, and then Bluefin TECS configure the merchant/terminal identifier and TECS Engine so that the push notifications can ultimately be forwarded back to the server URL. Once the workflow below is completed, the TECS Engine automatically forwards the one-way push notification payload to the client server URL.

One-way Push Notification Workflow

One-way Push Notification Workflow

API Reference

Version: 1.16.5

One-way Push Notification

This notification contains crucial transaction data that the merchant can utilize for various purposes. Once received, the merchant can process the payload according to their specific requirements. For instance, the data can be used to generate a reconciliation report, update inventory, track sales metrics, or trigger automated responses within the merchant's system.

The push notification mechanism ensures real-time data transfer, allowing the merchant to maintain up-to-date records and perform timely actions based on the transaction information. This integration not only enhances operational efficiency but also provides the flexibility to customize data handling to align with the merchant's business processes and reporting needs.

By leveraging these notifications, merchants can streamline their workflow, improve data accuracy, and gain valuable insights into their transaction activities, ultimately leading to better decision-making and enhanced customer service.

Request Example

This is an example of a one-way push notification sent by the TECS Engine to the 3rd Party Portal.

{
    "transactionSeqNumber": 5388980,
    "transactionId": "20191106102327",
    "transactionType": "AUTHORIZATION",
    "merchantNumber": "000000123456789",
    "merchantName": "Test Merchant",
    "terminalId": 88091113,
    "acquirerTerminalId": "U88091113",
    "acquirerName": "Test acquirer",
    "amount": 100,
    "currency": "EUR",
    "transactionDate": "2019-11-06T10:23:27+0000",
    "transactionServerDate": "2019-11-06T10:23:31+0000",
    "authorizationDate": "2019-11-06T10:23:31+0000",
    "transactionClearingDate": "2019-11-07T01:00:31+0000",
    "authorizationCode": "00734127",
    "responseCode": 0,
    "responseMessage": "Authorized",
    "responseCodeFromAS": "000",
    "receiptNumber": "00000000000000000123",
    "cardNumber": "478076XXXXXX9570",
    "cardExpiration": "2302", 
    "paymentReason": "Test payment",
    "cardBrand": "VISA",
    "retrievalReferenceNumber": "931010031463",
    "traceNumber": 546783,
    "clientId": 1,
    "emvApplicationId": "A0000000031010",
    "emvApplicationLabel": "applicationLabel",
    "cvm": "NO_CVM",
    "applicationCryptogram": "77B681F0263B07EE",
    "serviceCode": "000",
    "transactionSource": "CARD",
    "cardEntry": "CTLS",
    "terminalLocation": "Tecs Test Wien",
    "originalTransactionId": null,
    "clearingStatus": "READY",
    "clearingAmount": 100, 
    "clearingCurrency": "EUR",
    "clearingProcessedDate": null,
    "clearingBatchId": null,
    "clearingDate": "2019-11-07T01:35:53+0000",
    "tipAmount": null,
    "originalTerminalId": null,
    "originalClientId": null,
    "settlementStatus": "NOT_SETTLED",
    "terminalEndOfDayDate": null
}

Request Parameters

ParameterTypeDescription
transactionSeqNumberintTransaction sequence number assigned by TECS processing engine.
transactionIdnumeric (20N)Transactionid assigned by the transaction initiator (web-shop, ECR, terminal, etc.)
transactionTypestringType of transaction (For instance, "AUTHORIZATION", "REFUND", "PRE-AUTH", "CAPTURE", "REVERSAL", "ADVICE", "AUTHORIZATION+TIP", "TIP")
merchantNumberstringMerchant contract number with the acquirer
merchantNamestringMerchant name
terminalIdnumericTECS terminalid provided by Bluefin TECS
originalTerminalIdnumericOriginal terminal identifier - used for transactions such as Refund, Capture, Cancel.
acquirerTerminalIdstringAcquirer terminalID
acquirerNamestringAcquirer name
amountnumericTransaction amount in cents
currencystringTransaction currency
transactionDatedatetimeDate time of transaction in merchant's timezone given by transaction initiator: ISO 8601 Format.
transactionServerDatedatetimeDate time of transaction in the TECS processing engine database: ISO 8601 Format.
authorizationDatedatetimeDate time - the date TECS processing engine received transaction approval from the acquirer. ISO 8601 Format
transactionClearingDatedatetimeDate time - the date transaction is set to be cleared by TECS processing engine. ISO 8601 Format
authorizationCodestringApproval code
tecsengineResponseCodeintTECS processing engine response code (0 - transaction is approved, all other codes - declined)
tecsengineResponseTextstringTECS processing engine response text
responseCodeFromASstringAcquirer/card scheme response code
receiptNumberstringReceipt number generated by transaction initiator
cardNumberstringMasked card number
cardExpirationstringCard expiration
paymentReasonstringPayment reason issued by the transaction initiator
cardBrandstringCard brand such as "VISA", "MASTERCARD", "AMEX", "AliPay", etc.
retrievalReferenceNumberstringRetrieval reference number generated by TECS processing engine. This is usually used for the purposes of Unique Identification, Tracking and Retrieval, Customer Support, Auditing and Reporting.
traceNumbernumeric (6N)Unique identifier used within the TECS Payment System to track and audit transactions
clientIdintIdentifier for managing merchant’s bank accounts (MBAI).
originalClientIdnumericOriginal client identifier - used for transactions such as Refund, Capture, Cancel.
emvApplicationIdstringEMV applicationid
emvApplicationLabelstring (16AN)EMV tag 50 - application label
cvmstringConsumer verification method (e.g. "PIN", "SIGNATURE", "NO_CVM", "3DS")
applicationCryptogramnumericApplication cryptogram
serviceCodenumeric (3N)Service code from the card
transactionSourcestringOrigin (e.g. "CARD", "ECOMMERCE", "MANUAL")
cardEntrystringCard Entry (e.g. "CHIP", "MAG", "CTLS", "MOTO", "FALLBACK")
terminalLocationstringTerminal location
originalTransactionIdnumeric (20N)Original transactionid, used for transactions that have subsequence (For instance, Refund, Capture, Reversal, Cancel)
clearingStatusstringClearing status of the original transaction: OPEN (awaiting authorization), READY (authorized and ready for clearing), IN_PROGRESS (clearing in progress), SUCCESSFUL (cleared), ERROR (clearing error), CANCELLED (cancelled).
clearingAmountnumericClearing amount in cents of original transaction
clearingCurrencystringClearing currency of original transaction
clearingProcessedDatedatetimeDate time, when original transaction was cleared by TECS processing engine.
clearingBatchIdstringAcquirer clearing batchid
clearingDatedatetimeDate time - the date transaction is set to be cleared by TECS processing engine. ISO 8601 Format
tipAmountnumericTip amount in cents
settlementStatusstringSettlement status of transactions: "SETTLED" or"NOT_SETTLED"
terminalEndOfDayDatedatetimeDate time that the end of day was initiated by terminal operator. ISO 8601 Format

Response

Determined by the 3rd Party Portal ( merchant's server )

Example Response:

{
    "responseCode": 0,
    "responseMessage": "OK"
}

Response Parameters

ParameterTypeDescription
responseCodeintResponse code (0 = OK, otherwise an error code).
responseMessagestringHuman readable response code representation.

Status Transaction API

As opposed to being sent back to the merchant's server for processing, the one-way push notification can also be received via the Merchant Services REST API, which then communicates with the TECS Payment Gateway. In other words, we are reusing the notification module via Merchant Services REST API.

Status Transaction API + One-way Push Notification Workflow

Status Transaction API + One-way Push Notification Workflow

There are two ways to get the transaction status via status transaction api:

  • with transactionSeqNumber parameters only
  • with the combination of sourceId, transactionId, terminalId

Request

POST https://{-*}.tecs.at/merchantservices/public/statusTransaction

{
    method: "POST",
    headers: {
      "Authorization": "{authKey}",
      "Content-Type": "application/json",
    },
    body: `{
      "transactionSeqNumber": "{transactionSeqNumber}"
    }`
}

For the two other ways to get the transaction status, refer to TECS Transaction Status.

Response

{
    "responseCode": 0,
    "responseMessage": "OK",
    "transactionSeqNumber": 5388980,
    "transactionId": "20191106102327",
    "transactionType": "AUTHORIZATION",
    "merchantNumber": "000000123456789",
    "merchantName": "Test Merchant",
    "terminalId": 88091113,
    "acquirerTerminalId": "U88091113",
    "acquirerName": "Test acquirer",
    "amount": 100,
    "currency": "EUR",
    "transactionDate": "2019-11-06T10:23:27+0000",
    "transactionServerDate": "2019-11-06T10:23:31+0000",
    "authorizationDate": "2019-11-06T10:23:31+0000",
    "transactionClearingDate": "2019-11-07T01:00:31+0000",
    "authorizationCode": "00734127",
    "tecsengineResponseCode": 0,
    "tecsengineResponseText": "Authorized",
    "responseCodeFromAS": "000",
    "receiptNumber": "00000000000000000123",
    "cardNumber": "478076XXXXXX9570",
    "cardExpiration": "2302",
    "paymentReason": "Test payment",
    "cardBrand": "VISA",
    "retrievalReferenceNumber": "931010031463",
    "traceNumber": 546783,
    "clientId": 1,
    "emvApplicationId": "A0000000031010",
    "emvApplicationLabel": "applicationLabel",
    "cvm": "NO_CVM",
    "applicationCryptogram": "77B681F0263B07EE",
    "serviceCode": "000",
    "transactionSource": "CARD",
    "cardEntry": "CTLS",
    "terminalLocation": "Tecs Test Wien",
    "originalTransactionId": null,
    "clearingStatus": "READY",
    "clearingAmount": 100, 
    "clearingCurrency": "EUR",
    "clearingProcessedDate": "2019-11-07T02:10:31+0000",
    "clearingBatchId": "34543535",
    "clearingDate": "2019-11-07T01:00:31+0000",
    "tipAmount": null,
    "settlementStatus": null,
    "originalTerminalId": null,
    "originalClientId": null,
    "terminalEndOfDayDate": null
}

Response Parameters

The response parameters are the same as One-way Push Notification Parameters just with two additional parameters to indicate the response.

ParameterTypeDescription
responseCodeintTransaction status response code
responseMessagestringTransaction status response text/message

What’s Next

This Interface serves as the module to the entire Tecs System. To make use of it, consider checking out