December 3, 2024
New Fields in Transaction Event
We are introducing an event-level network_info
to the transaction object, to assist you with locating transactions using identifiers shared between you, Lithic, the card network, and in some cases the acquirer. This will go into effect in sandbox on Tuesday, December 10th and in production on Tuesday, December 17th. More fields may be added here in the future.
"network_info": {
"acquirer": {
"acquirer_reference_number": String | null,
"retrieval_reference_number": String | null
},
"mastercard": {
"banknet_reference_number": String | null,
"switch_serial_number": String | null
},
"visa": {
"transaction_id": String | null
}
}
Definitions
acquirer
- contains fields assigned by the acquirer, that are standard between Visa and Mastercard. These fields can be used as common identifiers between the acquirer and the issuer to locate a particular transaction, such as during processing of disputes/chargebacks.
acquirer_reference_number
- applies to dual-message transactions.*retrieval_reference_number
- applies to dual- and single-message transactions.
mastercard
- contains fields assigned by Mastercard.
banknet_reference_number
- applies to dual- and single-message transactions.**switch_serial_number
- applies to single-message transactions.
visa
- contains fields assigned by Visa.
transaction_id
- applies to dual- and single-message transactions.
*The acquirer reference number (ARN) is only populated once a transaction has been cleared, and it is not available in all transactions (such as automated fuel dispenser transactions). A single transaction can contain multiple ARNs if the merchant sends multiple clearings. We will deprecate the existing acquirer_reference_number
in the transaction object in favor of the new acquirer_reference_number
in the event-level network_info
.
**For single-message transactions, the banknet reference number (BRN) is only populated in certain cases, such as if the transaction is completed by a dual-message event (i.e. a financial authorization followed by a clearing).
Each field is populated contingent on the network and the dual- vs single- message system the given transaction event occurs on. If the field is populated by the network or the acquirer, we will pass it through. All fields are optional.
- If
acquirer_reference_number
andretrieval_reference_number
are not populated, thenacquirer
is null. - If
banknet_reference_number
andswitch_serial_number
are not populated, thenmastercard
is null. - If
transaction_id
is not populated, thenvisa
is null. - If
acquirer
,mastercard
, andvisa
are all null, then the entirenetwork_info
is null.
Simulating in Sandbox
For each event you simulate, Lithic generates a network_info
object based on the networks’ guidelines for what fields can occur in what events, and what fields typically stay the same across the events in a transaction.
Keep in mind that real-life events will not always contain the fields that Lithic populates in sandbox, because these fields are ultimately set at the discretion of the acquirer or the network.
Lithic determines which network guidelines to follow based on the PAN of the card you use.
- If the PAN starts with
5
, then Lithic treats the event (as well as the entire transaction this event constitutes) as if it occurs over Mastercard. - If the PAN starts with
4
, then Lithic treats the event (as well as the entire transaction this event constitutes) as if it occurs over Visa.
For instance, if you simulate an authorization using a PAN starting with 5
, then the clearing you simulate against that authorization will automatically be associated with Mastercard.
Both networks
retrieval_reference_number
is populated in each event.
acquirer_reference_number
is not populated in any event.
Mastercard
switch_serial_number
is populated in each single-message event, and has the same value across all events in a single-message transaction.
banknet_reference_number
is populated in each event, and has the same value across all events* in a transaction.
*except for authorization advices. Lithic generates a new value for any authorization advice, to mirror what Mastercard typically does.
Visa
transaction_id
is populated in each event, and has the same value across all events in a transaction.
If you have any questions or concerns, please contact us via the HELP link in your Lithic Dashboard.
The Lithic changelog has an RSS feed! To monitor for new update announcements, subscribe with your preferred RSS reader.