The Transaction Object in Detail
{
"transaction_id": ?String,
"bank_transaction_id": ?String,
"bank_references": ?{
"unstructured": ?String,
"structured": ?String,
"end_to_end": ?String,
"message": ?String,
"opposing_message": ?String,
"mandate": ?String,
"additional_information": ?String,
"national": ?String
},
"reference": ?String,
"amount": Amount,
"original_amount": ?Amount,
"counter_party": ?Account,
"date": ?Date,
"booking_date": ?Date,
"value_date": ?Date,
"state": Enum<'PROCESSED', 'PENDING', 'CANCELED', 'FAILED'>,
"type": Enum<'CREDIT', 'DEBIT'>,
"method": Enum<'TRANSFER', 'DIRECT_DEBIT', 'INSTANT', 'UNKNOWN'>,
"bank_transaction_code": ?{
"code": ?String,
"sub_code": ?String,
"description": ?String,
},
"merchant_category_code": ?String,
"purpose_code": ?String
}
A unique identifier for the transaction across sessions. The id could differ between direct access and PSD2 sessions.
The transaction_id
is optional for PENDING transactions, because a consistent id can only be guaranteed after the transaction
is finally processed by the banking system. For any other state
the id is always present.
A unique identifier for the transaction as it was provided by the bank. The presence and the consistency of this field depend entirely on the bank.
To find out whether a bank guarantees the consistency of a transaction ID, please refer to our BankUniverse documentation.
Specifically, look it up in the capabilities.transactions
object of a sub-integration.
Object containing additional references.
The unstructured reference that was returned from the bank without any modifications.
The structured reference that was returned from the bank without any modifications.
The end_to_end reference that was returned from the bank without any modifications. This value can be used for reconciliation and transaction matching.
The message reference that was returned from the bank without any modifications. The message reference is exclusively shown on the debtor account.
The opposing_message reference that was returned from the bank without any modifications.
The mandate reference (Mandate ID - SEPA mandate eg.) that was returned from the bank without any modifications.
The additional_information reference that was returned from the bank without any modifications.
The national reference that was returned from the bank without any modifications.
The unsigned amount of the transaction. This amount object might be modified from your original transaction due to changing currencies.
The original unsigned amount of the transaction. This amount object will have the original currency of the transaction. This is particularly useful for transaction which are cross-currency.
The other party involved in the transaction. Can be empty for some transactions.
[deprecated] The date on which the transaction was booked or the value date if it is a pending transaction.
The date on which the transaction was valued by the bank (usually in accounting).
The state of the transaction.
Possible values are:
PROCESSED
- The transaction was processedPENDING
- The transaction is still pending and not yet processedCANCELED
- The transactions was canceledFAILED
- The transaction was not processed
The type property indicates whether funds were withdrawn (DEBIT
) or applied (CREDIT
) to the account.
Possible values are:
DEBIT
- Funds were withdrawn from the accountCREDIT
- Funds were applied to the account
The type property indicates which transaction method was used. If an unknown enum value is encountered or no enum value is set we recommend defaulting to UNKNOWN
.
Possible values are:
TRANSFER
- ADEBIT
transaction that was initiated by the consumerDIRECT_DEBIT
- ADEBIT
transactionINSTANT
- AnINSTANT
transactionUNKNOWN
- A transaction that could not be classified
The Bank Transaction Code as provided by the bank. This information allows the customer to correctly report a transaction, which will help to - for example - perform reconciliation operations.
The values of this object are not normalized and the meaning and format could differ per PSD2-framework or even per bank. For more information, visit the related PSD2-API documentation of the specific banks. Some banks (e.g. Berlin-Group PSD2) follow the ISO-20022 Standard.
Specifies the business area of the underlying transaction.
There is no guarantee that the code
-field follows the ISO-20022 Standard.
Specifies the sub-product family within a specific family.
There is no guarantee that the sub_code
-field follows the ISO-20022 Standard.
A textual description of the bank_transaction_code
.
The Merchant Category Code as provided by the banks. This information follows the ISO-18245 Standard.
Example
{
"transaction_id": "r29ndc7gqflfcgdnvpala41njf6c8j7s",
"reference": "Flight 123",
"bank_references": {
"unstructured": "This can be any free text",
"structured": "R2D2",
"end_to_end": "A1234",
"message": "From me",
"opposing_message": "For you",
"mandate": "",
"additional_information": "",
"national": ""
},
"amount": {
"amount": 12345,
"currency": "EUR"
},
"counter_party": {
"id": "123e4567-e89b-12d3-a456-426655440000",
"alias": "Girokonto",
"account_number": "123456789",
"iban": "DE44500105175407324931",
"holder_name": "Max Mustermann",
"holder_address": {
"street_address": "Konrad-Adenauer-Straße 21",
"street_address2": "Backside of the House, Floor 2",
"postalcode": "35440",
"city": "Linden",
"region": "Hesse",
"country": "DE"
},
"bank_code": "51091700",
"bic": "VRBUDE51XXX",
"bank_name": "VR Bank Untertaunus eG",
"bank_address": {
"street_address": "Konrad-Adenauer-Straße 21",
"street_address2": "Backside of the House, Floor 2",
"postalcode": "35440",
"city": "Linden",
"region": "Hesse",
"country": "DE"
},
"transfer_type": "NONE",
"account_type": "DEFAULT"
},
"date": "2018-10-23",
"booking_date": "2018-10-23",
"value_date": "2018-10-25",
"state": "PROCESSED",
"type": "DEBIT",
"method": "TRANSFER",
"bank_transaction_code": {
"code": "CCRD",
"sub_code": "CreditCardPayment",
"description": "Transaction is related to a payment of credit card."
},
"merchant_category_code": "5967",
"purpose_code": "BONU"
}