Skip to main content

BankAccount-Transaction

Maxime avatar
Written by Maxime
Updated over 4 months ago

BankAccount (GET/api/bankaccount/{accountId}, GET /api/bankaccount)

Model

Tables

  • BankAccount - list of payment accounts in unified LDS format

  • PSD2BankAccount - staging list of payment accounts with original ASPSP response (data XML)

  • Transaction - list of transactions in a unified LDS format. Each transaction is linked to one BankAccount

  • PSD2Transaction- list of transactions with the original ASPSP response (data XML). Each transaction is linked to one PSD2BankAccount

  • TransactionDetail - transaction details (extending attributes for Transaction record)

  • Bank - list od ASPSP

  • BankIdentifier

  • BankIdentifierSchema

  • Currency

  • BankAccountBalance

  • BalanceHistory

Details

Bank

  • bankOrder - order of bank

  • color - color

  • swiftBicCode- business code of a bank following ISO_9362 (https://en.wikipedia.org/wiki/ISO_9362)

  • logoUrlHash- Unique identifier of image resource (hash value of the URL). This is used to identify the resources stored locally at TPP app (**). SHA1 algorithm is used.

  • logoSmall- URL with small version of bank logo image

  • logo - URL with bank logo image

  • country- an embedded object representing bank (see below)

  • migrateToBankId - used only for scraping to PSD2 migration workflow

  • isPisp - flag indicating if bank supports PIS

  • isPisForceAccount - flag indicating if the bank supports PIS with selecting debtor account after redirection or not

  • provider- an embedded object representing connector

    • providerId- an embedded object representing connector

    • provider - connector name

    • providerType - connector type (scraping/api/reverse)

    • dynamicDataPath- scraping only

    • dynamicDataRegex- scraping only

    • config - config from Psd2Provider (PSD2 only)

  • isAisForceAccount- flag indicating if the bank supports AIS with selecting account after redirection or not

  • id - Unique identifier

  • name - Full name of the bank

  • officialName - Registry bank name (full name)

BankAccount (GET/api/bankaccount/{accountId}

{

"accountName": "string",

"balance": //deprecated,

"balanceOverdraft" //deprecated,

"balances": [{

"date": "<Date>",

"type": "<BalanceTypeEnum>",

"value": "<Amount>"

}],

"bank": {

"bankOrder": "int",

"color": "string",

"country": {

"alternativeISOCode": "string",

"currencyCode": "string",

"dialCode": "string",

"flagUrl": "string",

"flagUrlHash": "string",

"fullName": "string",

"isoCode": "string",

"languageCode": "string"

},

"id": 0,

"isAisForceAccount": true,

"isPisForceAccount": true,

"isPisp": true,

"logo": "string",

"logoSmall": "string",

"logoUrlHash": "string",

"migrateToBankId": 0,

"name": "string",

"officialName": "string",

"provider": {

"config": "string",

"dynamicDataPath": "string",

"dynamicDataRegex": "string",

"provider": "string",

"providerId": 0,

"providerType": "<ProviderTypeEnum>"

},

"swiftBicCode": "string"

},

"consent":{

"aspspAccountId": "["string"]",

"bank": //deprecated,

"bankSwiftCode": "string",

"createDate": "datetime",

"expirationDate": "datetime",

"externalId": "string",

"id": "string",

"invalidationReason": "string",

"previousStatus": "authorized",

"privileges": ["string"],

"status": "string",

"userId:" "string",

"userScope": "string"

}

"consentId": "string",

"consentStatus": "active",

"currencyCode": "string",

"errorMessage": "string",

"externalConsents": [{

"consentId": "string",

"externalConsentId": "string",

"purposes" : "string"

}],

"failureMessageId": //deprecated,

"generateNotifications": true,

"hasImage": true,

"holderInfo": "string",

"holderType": "string",

"iban": "string",

"id": 0,

"importDate": "2019-04-29T13:03:25.481Z",

"isActive": true,

"isBusiness": true,

"lastSession": //deprecated,

"lastSessionStatus": ////deprecated,

"lastSyncDate": //deprecated,

"lastTransactionDate": "datetime",

"manualHolderInfo": {

"holderInfo": "string",

"lastModificationDate": "datetime"

},

"manualRelation": {

"lastModificationDate": "datetime",

"type": "string"

},

"providerType": "string",

"raw": {

"accountType": {

"code": "string",

"description": "string"

}},

"relations": [{

"string"

}],

"retrievedName": "string",

"syncStatus": "active",

"secondaryIdentifiers": [{

"type": "string",

"value": "string"

}],

"syncError": {

"aspspResponse": {

"content": "string",

"status": "string"

},

"errorType": "string",

"executionId": "string",

"message": "string"

},

"syncExecutionId": "string",

"syncOffline": true,

"syncStatus": "string",

"transatcionSyncDate": "datetime",

"transatcionSyncStatus": "string",

"type":"string",

"typeName":"string",

"userName": //depreciated

}

  • accountName - Name of the account (can by customized by the user)

  • balances - Balances of the account

  • bank- an embedded object representing bank

  • consent - an embedded object representing consent

  • consentId - Internal identifier of consent

  • currencyCode - Default currency for the account (ISO 4217 code)

  • errorMessage- error message for the failed session

  • externalConsents - User's consents in which context this bank account has been retrieved

  • generateNotifications- scraping only

  • hasImage - boolean

  • holderInfo - PSU’s Name Surname or Business Name

  • holderType - Type of account holder

  • iban - Bank account IBAN

  • id - unique bank account identifier (technical key) assigned by LDS

  • importDate - timestamp when the account was added to LDS

  • isActive- active/ inactive flag on the account (api returns only active accounts)

  • isBusiness- retail (false) or business account (true)

  • lastTransactionDate - timestamp when the account was refreshed last time

  • manualHolderInfo - PSU’s Name set manually

  • manualRelation - type of relation between PSU and an Account set manually

  • providerType - type of provider (API/Scraping)

  • raw - Object contains selected fields from ASPSP response (e.g. accountType.Code and accountType.Description)

  • relations - Type of relations between PSU and Account

  • retrievedName- scraping only

  • secondaryIdentifiers- collection of alternative bank account identifiers (IBAN/BBAN/ resourceID/email/phone).

  • syncError - account synchronization error details

    • aspspResponse - httpStatusCode and content of error from ASPSP

    • errorType - types of error

    • executionId - traceid

    • message - error message for internal issues

  • syncExecutionId - ExecutionId of last synchronization

  • syncOffline- flag indicating if the bank account is refreshed with RefreshActiveAccount=true and batch process

  • syncStatus - Account synchronization status

  • transactionSyncDate - Last successful transaction history synchronization date

  • transactionSyncStatus - Account transaction history synchronization status

  • type - account type mapped from ASPSP response

  • typeName - Account type name

BalanceTypes:

  • ClosingAvailable

  • ClosingBooked

  • ClosingAvailable

  • ClosingBooked

  • Expected

  • ForwardAvailable

  • Information

  • InterimAvailable

  • InterimBooked

  • OpeningAvailable

  • OpeningBooked

  • PreviouslyClosedBooked

Reference material: Balance types

Attributes balance and balanceOverdraft are kept for backward compatibility purposes. For new implementation please use only balances object

HolderType:

  • individual

  • corporation

RelationTypes:

  • Owner

  • Borrower

  • Guarantor

  • ProxyOwnerGeneral

  • ProxyOwnerSpecial

  • ProxyOwnerAdministrator

  • ProxyOwnerUser

  • Beneficiary

  • Trustee

PL translations are available here: PSU relation type (PL)

Types:

  • ChargeCard

  • CreditCard

  • CurrentAccount

  • EMoney

  • Loan

  • Mortgage

  • PrePaidCard

  • Savings

ErrorTypes:

  • accountMissing - account is no longer sent

  • aspspResponse - error from ASPSP

  • signature - error during signing

  • internal - internal error

  • missingDetails - no information about account details (available only IBAN information from token message)

Transaction (GET /api/transaction)

{

"items": [{

"accountCurrencyCode": "string",

"accountingDate": "datetime",

"balanceAfterTransaction": 0,

"bankBranch": "string",

"bankName": "string",

"creditorDebit": "string",

"detailsFetched": "boolean",

"effectiveDate": "datetime",

"externalConsents": ["string"],

"id": 0,

"lastSyncDate": "datetime",

"mcc": "string",

"operationAmount": 0,

"operationCurrencyCode": "string",

"originalType": "string",

"recipient": "string",

"recipientAddress": "string",

"recipientAccount": "string",

"recipientAccountMassPayment": "string",

"recipientBankBicOrSwift": "string",

"recipientBankName": "string",

"recipientBankCode": "string",

"recipientBankCountryCode": "string",

"recipientBankAdress": "string",

"recipientNameAdress": "string",

"referenceNumber": "string",

"sender": "string",

"senderAddress": "string",

"senderAccount": "string",

"senderAccountMassPayment": "string",

"senderBankBicOrSwift": "string",

"senderBankName": "string",

"senderBankCode": "string",

"senderBankCountryCode": "string",

"senderBankAdress": "string",

"senderNameAdress": "string",

"status": "string",

"title": "string",

"type": "string",

"tags": //depraciated

}

],

"totalItemsCount": 0,

"pageNumber": 0,

"pageSize": 0,

"totalPagesCount": 0

}

Statuses:

  • Unauthorised

  • Confirmed

  • Added

  • Booked

  • Done

  • Pending

  • Rejected

  • Cancelled

  • Scheduled

  • Hold

TransactionDetails (GET /api/transaction/{transactionId})

(...) details from FullTransactionDto

"details": {

"RejectionReason": "string",

"holdExpirationDate": "2019-04-29T19:26:26.175Z",

"siiTaxPayerIdentification": "string",

"siiAdditionalPayerIdentification": "string",

"siiAdditionalPayerdentificationType": "string",

"siiContributionType": "string",

"siiContributionId": "string",

"siiContributionPeriod": "string",

"siiPaymentTypeIdentification": "string",

"siiObligationId": "string",

"taxPayerIdentification": "string",

"taxPayerIdentificationType": "string",

"taxFormCode": "string",

"taxPeriodId": "string",

"taxPeriodType": "string",

"taxPeriodYear": "string",

"taxObligationId": "string",

"cardCardHolder": "string",

"cardCardNumber": "string",

"fxCurrencyDate": "2019-04-29T19:26:26.175Z",

"fxFromCurrency": "string",

"fxToCurrencyCode": "string",

"fxOriginalCurrencyCode": "string",

"fxOriginalCurrencyAmount": "string",

"PaymentInstrumentIdentification": "string",

"TppReferenceIdentifiaction": "string",

"TppName": "string"

}

(...)

  • sii prefix identifies details of Social Insurance Institution transaction (SII) types

  • tax prefix identifies details of tax transaction types

  • card prefix identifies details of card transaction types

Did this answer your question?