Event Code 112 - Transaction Confirmation Event
Use the Transaction Confirmation (TC) webhook to receive notifications when transactions are confirmed, including transaction, balance, merchant, and card network details.
The Transaction Confirmation (TC) events are a notification sent using Thredd's webhook service for transaction confirmations (Event Code = 112).
Supported Transaction Messages
Transaction Confirmation notifications are generated for the following transaction message types:
| Message type | MTID | Description |
|---|---|---|
| Authorisation | 0100 | An authorisation request, including approved and declined authorisations. |
| Authorisation Advice | 0120 | An authorisation advice, including Stand-In Processing (STIP) events. |
| Online Financial Request | 0200 | An online financial transaction request. |
| Online Financial Advice | 0220 | An online financial transaction advice. |
| Authorisation Reversal | 0400 | A request to reverse a previous authorisation. |
| Authorisation Reversal Advice | 0420 | An advice confirming the reversal of a previous authorisation. |
Transaction Confirmation Notifications
Transaction Confirmation notifications provide the final outcome of these transactions after processing has completed. This can include approved, declined and reversed transactions.
The Transaction Confirmation service operates independently of External Host Interface (EHI) integration, so Event 112 notifications can be used whether or not you use EHI.
{
"productId": 12345,
"events": [112],
"webhookStatus": "active",
"config": {
"url": "https://client_domain.com/webhook",
"customHeaders": {
"header1": "value_1",
"header2": "value_2"
}
}
}After the webhook has been successfully set up, you will start to receive TC events based on the configuration of your webhook and a notification response is sent asynchronously from the Event Delivery Service to the URL specified in the webhook. See the below example of a response.
{
"context": {
"notificationId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"eventCode": 112,
"eventVersion": "v1",
"notificationTime": "2024-01-24T23:20:28Z"
},
"payload": {
"network": "Visa",
"subnetwork": "STAR",
"programManagerCode": "FTX",
"programManagerName": "FintechX",
"programManagerResponse": "00",
"actualBalance": "1500.0000",
"additionalAmount": "50.0000",
"transactionFee": "2.00",
"processorAuthorisationCode": "134822",
"acquiringInstitutionId": "06003758",
"acquirerForwarderId": "000405700",
"availableBalance": "1480.0000",
"billingAmount": "100.0000",
"billingCurrency": "840",
"blockedAmount": "0.0000",
"customerAccount": "CUST123456",
"fxPadding": "1.25",
"fixedFee": "0.0000",
"rateFee": "0.0000",
"mcc": "5411",
"mccDescription": "Grocery Stores",
"mccPadding": "0.50",
"merchantId": "MID98765",
"merchantName": "Walmart NY",
"transactionNote": "Weekly grocery purchase",
"localTransactionTime": "010107",
"localTransactionDate": "20250626",
"processingCode": "000000",
"schemeResponseCode": "00",
"token": "123456789",
"transactionAmount": "100.0000",
"transactionCurrency": "840",
"acceptorCountryCode": "USA",
"transactionDescription": "POS Purchase",
"processorTransactionDateTime": "2025-05-28T10:15:17Z",
"transactionId": "789456123",
"transactionStatusCode": "A",
"transactionType": "A",
"isThreddAuthorised": "Y",
"avsResult": "Y",
"mtid": "0100",
"productId": "1234",
"velocityGroup": "VG01",
"posCapability": "0001000000000100000000000000000000100000000230000",
"posData": "58V9000900000Px100",
"transactionLifeCycleId": "VIS1-20160608-086160508692217",
"transLink": "250415787144555555",
"retrievalReferenceNumber": "510559697285",
"posTerminal": "ECOMM001",
"networkFraudData": "",
"paymentTokenId": "998877",
"paymentTokenWallet": "APPLE",
"schemeTransactionIdentifier": "SCM123456789012345",
"terminalCity": "London",
"processorResponseCode": "00"
}
}The below table describes each of the fields included in the notification response.
| Field | Description | Type | Required |
|---|---|---|---|
| context | The context object. | ||
| notificationId | Unique identifier of the notification. | String | Yes |
| eventCode | The event code of the event. | Integer | Yes |
| eventVersion | The version of the event. | String | Yes |
| notificationTime | Notification created time in the UTC format of 'yyyy-MM-ddTHH:mm:ssZ'. | String | Yes |
| subnetwork | Merchant routing network (STAR, Pulse, DGN), Value only present for MNE transactions. | String | No |
| payload | The payload object. | ||
| acceptorCountryCode | Transaction country (ISO 3-alpha). For example, "USA". | String | No |
| acquirerForwarderId | Identifies the acquiring institution forwarding a Request or Advice message. | String | No |
| acquiringInstitutionId | The Acquiring Bank ID as assigned by the network. | String | No |
| actualBalance | Actual balance after transaction (in the card account currency). | String | No |
| additionalAmount | The additional amount (DE54). | String | No |
| availableBalance | Available balance after transaction. | String | No |
| avsResult | The Address Verification System (AVS) result. | String | No |
| billingAmount | Settlement billing amount. | String | No |
| billingCurrency | Billing currency (ISO 3-digit numeric). | String | No |
| blockedAmount | Blocked amount after transaction. | String | No |
| customerAccount | The customer account reference. | String | No |
| fixedFee | Total fixed fee amount. | String | No |
| fxPadding | Foreign currency padding. | String | No |
| isThreddAuthorised | Indicates if the transaction is authorised by Thredd. "Y" or "N". | String | No |
| localTransactionDate | Terminal local date of transaction. MMDD with YYYY added by Thredd. YYYY='0000' if MMDD invalid. | String | No |
| localTransactionTime | Local merchant transaction time. | String | No |
| mcc | Merchant Category Code. 4-digit MCC. | String | No |
| mccDescription | MCC description. | String | No |
| mccPadding | MCC padding. | String | No |
| merchantId | Merchant ID. | String | No |
| merchantName | Merchant name and location. | String | No |
| mtid | The ISO 8583 Message Type Identifier (MTID) for the transaction. For example, 0100 identifies an authorisation request and 0400 identifies an authorisation reversal. See Supported transaction messages. | String | No |
| network | Primary card network (Visa, Mastercard, DGN). | String | Yes |
| networkFraudData | Fraud or Risk Indicators received from the card network. For example, Visa: '011099 1122 013099 33' | String | No |
| paymentTokenId | Payment token ID. | String | No |
| paymentTokenWallet | Wallet the payment token belongs to. For example, APPLE (For Apple Pay Wallet) or SAMSUNG (For Samsung Pay Wallet). | String | No |
| posCapability | POS capability codes. | String | No |
| posData | POS data codes. | String | No |
| posTerminal | POS Terminal ID. | String | No |
| processingCode | Processing code for transaction. | String | No |
| processorAuthorisationCode | Authorisation code generated by Thredd for approved and declined authorisation requests. | String | No |
| processorResponseCode | Response code sent by the processor (Thredd) to the scheme. For example, "00" or "05". For advice messages where a decline is received from the scheme, this field may contain "00" while schemeResponseCode reflects the actual decline code. | String | No |
| processorTransactionDateTime | Date and time of processing. Format: yyyy-MM-ddTHH:mm:ssZ | String | No |
| productId | The Product ID of the card. | String | Yes |
| programManagerCode | The Program Manager code. | String | Yes |
| programManagerName | The Program Manager name. | String | No |
| programManagerResponse | The Program Manager response. Empty for EHI mode 3 transactions, Thredd generated transactions and non-EHI transactions. | String | No |
| rateFee | Total percentage rate fee amount. | String | No |
| retrievalReferenceNumber | Retrieval Reference Number. | String | No |
| schemeResponseCode | Response code received from the scheme. For advice messages with a decline response code from the scheme, this field shows the actual scheme response code. For example, "00" or "05". | String | No |
| schemeTransactionIdentifier | Unique identifier assigned by the card scheme for the transaction. This value can be used to classify transaction types, such as peer-to-peer (P2P) and non-P2P transactions, and to support reconciliation and reporting. | String | No |
| subnetwork | Merchant routing network (STAR, Pulse, DGN), Value only present for MNE transactions. | String | No |
| terminalCity | City associated with the merchant terminal location. This value can be used for city-level transaction analysis, fraud detection, and risk monitoring. | String | No |
| token | Thredd public token of card. | String | Yes |
| transactionAmount | The transaction amount. | String | Yes |
| transactionCurrency | Transaction currency (ISO 3-digit). For example, "840". | String | Yes |
| transactionDescription | Description of the transaction. | String | No |
| transactionFee | The transaction fee (DE28). | String | No |
| transactionId | Unique transaction ID. | String | Yes |
| transactionLifeCycleId | Lifecycle Trace ID. | String | Yes |
| transactionNote | Note about the transaction. | String | No |
| transactionStatusCode | Transaction status code. | String | No |
| transactionType | The transaction type. | String | Yes |
| transLink | Identifier to link related transactions. | String | No |
| velocityGroup | Velocity group code. | String | No |
Updated 13 days ago
