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
}

transaction_id String, optional

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.

transaction_id

bank_transaction_id String, optional

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.

reference String, optional

The reference for the transaction.

bank_references BankReferences, optional

Object containing additional references.

bank_references.unstructured String, optional

The unstructured reference that was returned from the bank without any modifications.

bank_references.structured String, optional

The structured reference that was returned from the bank without any modifications.

bank_references.end_to_end String, optional

The end_to_end reference that was returned from the bank without any modifications. This value can be used for reconciliation and transaction matching.

bank_references.message String, optional

The message reference that was returned from the bank without any modifications. The message reference is exclusively shown on the debtor account.

bank_references.opposing_message String, optional

The opposing_message reference that was returned from the bank without any modifications.

bank_references.mandate String, optional

The mandate reference (Mandate ID - SEPA mandate eg.) that was returned from the bank without any modifications.

bank_references.additional_information String, optional

The additional_information reference that was returned from the bank without any modifications.

bank_references.national String, optional

The national reference that was returned from the bank without any modifications.

amount Amount, always present

The unsigned amount of the transaction. This amount object might be modified from your original transaction due to changing currencies.

original_amount Amount, optional

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.

counter_party Account, optional

The other party involved in the transaction. Can be empty for some transactions.

date Date (String: "YYYY-MM-DD"), optional

[deprecated] The date on which the transaction was booked or the value date if it is a pending transaction.

booking_date Date (String: "YYYY-MM-DD"), optional

The date on which the transaction was booked.

value_date Date (String: "YYYY-MM-DD"), optional

The date on which the transaction was valued by the bank (usually in accounting).

state Enum, always present

The state of the transaction.

Possible values are:

  • PROCESSED - The transaction was processed
  • PENDING - The transaction is still pending and not yet processed
  • CANCELED - The transactions was canceled
  • FAILED - The transaction was not processed

type Enum, always present

The type property indicates whether funds were withdrawn (DEBIT) or applied (CREDIT) to the account.

Possible values are:

  • DEBIT - Funds were withdrawn from the account
  • CREDIT - Funds were applied to the account

method Enum, always present

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 - A DEBIT transaction that was initiated by the consumer
  • DIRECT_DEBIT - A DEBIT transaction
  • INSTANT - An INSTANT transaction
  • UNKNOWN - A transaction that could not be classified

bank_transaction_code Object, optional

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.

bank_transaction_code.code String, optional

Specifies the business area of the underlying transaction. There is no guarantee that the code-field follows the ISO-20022 Standard.

bank_transaction_code.sub_code String, optional

Specifies the sub-product family within a specific family. There is no guarantee that the sub_code-field follows the ISO-20022 Standard.

bank_transaction_code.description String, optional

A textual description of the bank_transaction_code.

merchant_category_code String, optional

The Merchant Category Code as provided by the banks. This information follows the ISO-18245 Standard.

purpose_code String, optional

The Purpose Code as provided by the banks.

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"
}

results matching ""

    No results matching ""