Class FinAcctInfo
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
FinSegmentThe 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
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
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
AcctHolderName1
First line of the account holder name.
public string AcctHolderName1 { get; }
Property Value
AcctHolderName2
Second line of the account holder name.
public string AcctHolderName2 { get; }
Property Value
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.
AcctTypeClass
The account type class is derived from the AcctType.
public FinAcctTypeClass AcctTypeClass { get; }
Property Value
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
Bookmark
Optional bookmark token that identifies the most recent transaction of this account.
public string Bookmark { get; }
Property Value
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
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
HIUPD
Direct access to the wrapped HIUPD segment.
public FinSegment HIUPD { get; }
Property Value
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
wasnull
.
IsAllowed(string)
Checks whether the given transaction type is probably allowed for this account.
public bool IsAllowed(string sSegmentType)
Parameters
sSegmentType
stringThe 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, thenfalse
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
.