Class FinAcctInfo

Namespace
Subsembly.FinTS
Assembly
Subsembly.FinTS.Core.dll

Wraps a single account info segment (HIUPD) for read access.

public class FinAcctInfo
Inheritance
FinAcctInfo
Inherited Members

Constructors

FinAcctInfo(FinSegment)

Contructs an instance of this wrapper for the account info (HIUPD) segment.

public FinAcctInfo(FinSegment aHIUPD)

Parameters

aHIUPD FinSegment

The account info (HIUPD) segment to be wrapped. This must be a HIUPD segment with a segment version between 3 (HBCI 2.0.1) and 6 (FinTS 3.0 with extension).

Exceptions

ArgumentNullException

If a null reference is given for the aHIUPD parameter, then an ArgumentNullException is thrown.

ArgumentOutOfRangeException

If the given FinSegment is not of type HIUPD or the segment version is not in the range from 3 to 6 inclusive, then an ArgumentOutOfRangeException is thrown.

Properties

Acct

Provides all important account informations in a new FinAcct instance.

public FinAcct Acct { get; }

Property Value

FinAcct

AcctCcy

Optional ISO 4217 alpha currency code of this account.

public string AcctCcy { get; }

Property Value

string

An ISO 4217 alpha currency code consists of three upper case letters. Being an optional data element, null may be returned if it is not present.

Remarks

The currency code is also included in the FinAcct instance returned by the Acct property.

AcctHolderName

The name of the account holder.

public string AcctHolderName { get; }

Property Value

string

The account holder name is required and may consist of up to 54 characters each. If the HIUPD segment contains more than one line, they will be joined.

Remarks

The account holder name is also included in the FinAcct instance returned by the Acct property.

AcctHolderName1

First line of the account holder name.

public string AcctHolderName1 { get; }

Property Value

string

AcctHolderName2

Second line of the account holder name.

public string AcctHolderName2 { get; }

Property Value

string

AcctName

Optional name of account type.

public string AcctName { get; }

Property Value

string

A string with up to 30 characters that contains a descriptive name of the type of this account.

AcctNo

The account number of this account.

public string AcctNo { get; }

Property Value

string

This is a required field and therefore shall never be null. The account number may consist of up to 30 characters!

Remarks

The account number is also included in the FinAcct instance returned by the Acct property. Note that the complete information required to identify the account is only available throught the Acct property.

AcctType

Classification of the account type according to FinTS 3.0.

public int AcctType { get; }

Property Value

int

The account type is an integer in the range from 1 to 99. The value zero is used to indicate that no account type could be determined.

The account type classification was introduced as an optional data element with FinTS 3.0 (HIUPD segment version 5) and therefore will not be available most of the time. If no account type is given, then an attempt is made to guess the account type based on various heuristics.

Remarks

These are the ranges of the returned value according to FinTS 3.0. 1 - 9: Kontokorrent-/Girokonto 10 - 19: Sparkonto 20 - 29: Festgeldkonto (Termineinlagen) 30 - 39: Wertpapierdepot 40 - 49: Kredit-/Darlehenskonto 50 - 59: Kreditkartenkonto 60 - 69: Fonds-Depot bei einer Kapitalanlagegesellschaft 70 - 79: Bausparvertrag 80 - 89: Versicherungsvertrag 90 - 99: Sonstige (nicht zuordenbar)

AcctTypeClass

The account type class is derived from the AcctType.

public FinAcctTypeClass AcctTypeClass { get; }

Property Value

FinAcctTypeClass

Remarks

Basically the account type class is determined by dividing the AcctType by ten. This means, if the AcctType is zero, then this property will return Giro.

AllowedSegmentTypes

Array of order segment types that are allowed for this account.

public string[] AllowedSegmentTypes { get; }

Property Value

string[]

Remarks

The returned array may be empty. If so, the bank does not provide this information and the caller can only find out by trial and error, whether an order type is allowed. The value is never null.

BIC

The BIC of this account.

public string BIC { get; }

Property Value

string

The BIC is not included in the HIUPD segment. However, if a FinSepaAcctInfo (HKSPA) request was sent for the UPD of this account, then the BIC was possibly set from the HISPA response received.

BankCode

The Bank Code of this account.

public string BankCode { get; }

Property Value

string

Bookmark

Optional bookmark token that identifies the most recent transaction of this account.

public string Bookmark { get; }

Property Value

string

Remarks

This token can be used to determine whether new transactions are available for this account. If this value changes, then there are new transactions available.

CountryCode

The Country Code of this account. Usually 280.

public string CountryCode { get; }

Property Value

string

CustID

FinTS customer ID of the account holder.

public string CustID { get; }

Property Value

string

This is a required field and therefore should never be null. However, it may be null in some special cases. The customer ID may consist of up to 30 characters.

DiscretionaryData

Proprietary data from HIUPD field "Erweiterung, kontobezogen". This usually contains JSON encoded additional information.

public string DiscretionaryData { get; }

Property Value

string

HIUPD

Direct access to the wrapped HIUPD segment.

public FinSegment HIUPD { get; }

Property Value

FinSegment

Remarks

This property is provided for read-only access. It is not permitted to modify the returned FinSegment in any way!

IBAN

The IBAN of this account.

public string IBAN { get; }

Property Value

string

This value is optional and is only included in extended FinTS 3.0 HIUPD segments. For older segment types an attempt is made to compute the IBAN from the account number and bank code.

If a FinSepaAcctInfo (HKSPA) request was sent for the UPD of this account, then the IBAN was possibly updated from the HISPA response received.

If everything fails, then the value will be null.

SubAcctCharacteristic

The Sub-Account-Characteristic (Unterkontomerkmal) of this account.

public string SubAcctCharacteristic { get; }

Property Value

string

The value is null when this HIUPD version does not have a sub-account-characteristic field, or when the field is empty.

Methods

GetAllowedSegmentInfo(string)

Try to get the detailed information about an allowed order type.

public FinAcctOrderInfo GetAllowedSegmentInfo(string sSegmentType)

Parameters

sSegmentType string

Returns

FinAcctOrderInfo

If the requested segment type is not included in the list of AllowedSegmentTypes, then null is returned. If the segment type is specified in the HIUPD segment, then the associated allowed order details are returned.

Exceptions

ArgumentNullException

The parameter sSegmentType was null.

IsAllowed(string)

Checks whether the given transaction type is probably allowed for this account.

public bool IsAllowed(string sSegmentType)

Parameters

sSegmentType string

The segment type that identifies the transaction type, such as HKUEB.

Returns

bool

If the given segment type appears in the list of allowed segment types of this account information, then true is returned. if it doesn't appear, then false is returned.

Note that even if false is returned, the segment type may still be allowed. The correct interpretation of the result of this method must be based on the value of the Usage property of the FinUserParamData class that contains this account information.

Exceptions

ArgumentNullException

The parameter was null.