Home / Issuing / Handle Transactions
A transaction is an electronic message that originates from a cardholder attempting payment online or in-store. These electronic messages are sent to Highnote based on logic set by merchants and networks. When Highnote receives these messages, the platform interprets them using the TransactionEvent
object.
This guide provides an overview of the transaction lifecycle on the Highnote platform, details on how Highnote interprets network messages, and examples of common transaction scenarios.
At the network level, the typical transaction lifecycle occurs as follows:
Authorizations fall into two categories:
The following graphics outline how Highnote receives and interprets single and dual-message authorizations throughout the transaction lifecycle:
Single-message authorization flow
Dual-message authorization flow
Note: The following section provides an overview of transaction events for card products not using collaborative authorization. For more information on the transaction lifecycle for card programs with collaborative authorization enabled, see Card products with collaborative authorization.
Highnote interprets electronic messages from the network using the TransactionEvent
object. The table below shows how Highnote interprets network transaction messages. It also shows the related Highnote notification events:
Network transaction message | Description | Highnote transaction event | Notification event |
---|---|---|---|
Verification | The network sends a message to Highnote to validate card details: cardholder name or address, spend rules, zip code, etc. | VerificationEvent | Notification reference |
Pre-authorization | The network sends a message to Highnote to reserve a specific amount of money on a cardholder's account to ensure funds availability. | AuthorizationEvent | Notification reference |
Authorization | The network sends a dual-message request to Highnote to decide whether to approve the transaction. Later, the network sends additional information to Highnote to finalize the transaction. | AuthorizationEvent | Notification reference |
The network sends a single-message request to Highnote with the necessary data to approve and finalize the transaction in one step. | AuthorizationAndClearEvent | Notification reference | |
Clearing | The network sends the second half of a dual-message request to Highnote to finalize a transaction. | ClearingEvent | Notification reference |
Settlement | The process of moving money between the merchant's and cardholder's banks. Highnote uses clearing events to represent clearing and settlement. | ClearingEvent | Notification reference |
Reversals | This type of transaction occurs when a merchant cancels a transaction before a clearing event takes place. Reversals can be for the full transaction amount or a partial amount. | ReversalEvent | N/A |
Refunds | The network sends an authorization event Highnote to process a refund. The refund is reflected as a credit to the cardholder's account. | AuthorizationEvent | Notification reference |
The network sends an authorization and clearing event to Highnote to process a refund. The refund is reflected as a credit to the cardholder's account. | AuthorizationAndClearEvent | Notification reference | |
The network sends a clearing event to Highnote to process a refund. The refund is reflected as a credit to the cardholder's account. | ClearingEvent | Notification reference |
Collaborative authorization allows you to approve or decline transactions in real-time based on your business logic. In card products that use collaborative authorization, an IssuerPreliminaryAuthorizationEvent
precedes AuthorizationEvent
s.
The following steps represent a common flow for transaction messages sent to Highnote for a card product using collaborative authorization:
IssuerPreliminaryAuthorizationEvent
before calling the card product's collaborative authorization endpoint. An IssuerPreliminaryAuthorizationEvent
holds funds to cover the amount requested by the network.AuthorizationEvent
.Highnote interprets network verifications as VerificationEvents
. Verifications are typically done to prevent fraud and validate a payment card in the following common scenarios:
Verifications may be declined for several reasons. Examples include, but are not limited to:
When a VerificationEvent
is declined, Highnote provides a Response Code explaining why.
Highnote interprets the following types of transaction messages as AuthorizationEvents
:
Authorizations may reflect different requested and approved amounts. When an authorization is approved, the amount reflected on the Highnote ledger is the approved amount. These amounts are defined as follows:
requestedAmount
: The amount of funds requested from the network for the transaction.approvedAmount
: The amount of funds approved and posted to the Highnote ledger for the transaction.Authorizations are decisioned by Highnote based on your card product logic and settings. They can be approved or denied based on several factors. You can participate in the authorization flow using Collaborative Authorization. Collaborative authorization allows you to approve or decline the transaction before it reaches Highnote for decisioning.
When a transaction is approved, Highnote typically returns an APPROVED
response code. For a full list of transaction response codes, see the TransactionEventResponseCode
API Reference.
Declines occur for several reasons, including but not limited to the following common decline reasons:
When an authorization is declined, the merchant will receive a response code for the decline reason. These response codes are typically used by the merchant and displayed to the cardholder. For a full list of transaction response codes, see the TransactionEventResponseCode
API Reference.
In some scenarios, other types of authorizations may take place. The following table provides examples of other authorization types:
Type | Description |
---|---|
Pre-authorization | An authorization that acts as a hold for a specific amount of funds. |
Automated Fuel Dispenser (AFD) transactions | Automated fuel dispensers (AFDs) typically have an authorization amount defined by card product or network rules. |
$0 authorization | Merchants may send an authorization for a zero dollar amount to validate card details. This authorization typically happens when a card is saved for future payments. |
When an authorization is approved, it acts as a hold for the authorized amount. Typically, funds on hold are displayed as "pending" in an application or website.
Note the following about pending authorizations:
If you participate in authorization via Collaborative Authorization, Highnote responds to a transaction event with an IssuerPreliminaryAuthorizationEvent
to temporarily fund the requested authorization until your collaborative authorization response is received.
Note: Highnote does not have control over how reversal logic is implemented. Decisioning for reversals is set by the card network, and can vary across different merchants.
Reversals are used when a transaction needs to be canceled. Reversals can be done for the full amount of the transaction or a partial amount.
Reversals typically occur in the following scenarios:
Reversals are determined by the card network. For reversals that occur after an authorization and clear transaction, we recommend handling these scenarios as refunds.
Once an authorization event is confirmed, a clearing event takes place to transfer the funds from the account holder's financial account to the merchant. When the funds are transferred, the account holder's authorization ledger is updated and the cash ledger is decreased.
Note the following about clearing events:
Refunds occur when a merchant refunds a purchase that has already cleared. Refunds are typically sent in the following ways:
Refer to the following guides to simulate transactions using the Highnote API: