• API Overview
  • EBICS API
  • FinTS API
  • XS2A API
  • SEPA API
Search Results for

    Class FinOrderBuilder

    Base class for concrete order builders. A concrete derived order builder class builds a specific FinOrder derived class.

    Inheritance
    System.Object
    FinOrderBuilder
    FinAcctBalBuilder
    FinAcctDetailsBuilder
    FinAcctMvmtsSpecifiedPeriodBuilder
    FinAcctStmtListBuilder
    FinAcknowledgeableBuilder
    FinAcknowledgementBuilder
    FinBuildingSavingsInfosBuilder
    FinBuildingSavingsMvmtsBuilder
    FinCamtStatementBuilder
    FinChangePinBuilder
    FinConsentDeclarationBuilder
    FinCreditCardBalBuilder
    FinCreditCardMvmtsBuilder
    FinCreditCardStmtListBuilder
    FinCustMsgBuilder
    FinDekaFondsListBuilder
    FinDistCancellationOrderBuilder
    FinDistHvbCancellationOrderBuilder
    FinDistHvbOrderListBuilder
    FinDistHvbSignatureOrderBuilder
    FinDistOrderListBuilder
    FinDistSignatureOrderBuilder
    FinDocListBuilder
    FinDocReqBuilder
    FinFixedtermDepositInventoryBuilder
    FinInternationalRemittBuilder
    FinMailDownloadBuilder
    FinMailListBuilder
    FinPortfAcctStatementReqBuilder
    FinPortfListBuilder
    FinPortfOrderStatReqBuilder
    FinPrepaidLoadBuilder
    FinPsd2ManagementOrderBuilder
    FinRevokePinBlockBuilder
    FinSepaAcctInfoBuilder
    FinSepaAllStoBuilder
    FinSepaDirectDebitIndicationListBuilder
    FinSepaDirectDebitRejectBuilder
    FinSepaDraftOrderBuilder
    FinSepaInstPaymtStatusBuilder
    FinSepaOrderBuilder
    FinSepaOutstandingPostdatedOrderBuilder
    FinSepaReclassAcctListBuilder
    FinSingOrderBuilder
    FinTanBuilder
    FinTanGeneratorSyncBuilder
    FinTanListEnableBuilder
    FinTanMediaListBuilder
    FinTaxExemptionListBuilder
    FinVopVerificationBuilder
    FinVopVerificationConfirmationBuilder
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Subsembly.FinTS
    Assembly: Subsembly.FinTS.Core.dll
    Syntax
    public class FinOrderBuilder
    Remarks

    All actual FinOrder derived order classes can only be created through their corresponding FinOrderBuilder derived class. Thus, to create an order, the first step is to create the appropriate FinOrderBuilder derived class. For example: In order to create an account balance inquiry order, the first step is to create a FinAcctBalBuilder instance. Then its Build(FinAcct, Boolean) method must be called, which will return a new FinAcctBal instance, derived from FinOrder. An FinOrderBuilder derived class needs only be created once and can be used to create any number of orders.

    The second task of all FinOrderBuilder derived classes is to provide convenient access to the bank parameter data associated with their type of order. Derived classes usually make bank parameter data available as simple objcet properties.

    Classes that derive from FinOrderBuilder must call Init(FinOrderSegmentInfo[]) in order to initialise the order builder.

    Constructors

    FinOrderBuilder(FinContact)

    Declaration
    protected FinOrderBuilder(FinContact aContact)
    Parameters
    Type Name Description
    FinContact aContact

    FinOrderBuilder(FinContact, FinAcctTypeClass)

    Declaration
    protected FinOrderBuilder(FinContact aContact, FinAcctTypeClass nAcctTypeClass)
    Parameters
    Type Name Description
    FinContact aContact

    The contact for which the order builder shall create orders. This is used to get the FinTS version, the bank parameter data and the user parameter data that are in effect. This parameter must not be null.

    FinAcctTypeClass nAcctTypeClass

    Must be set to the preferred account type class of the implementing order.

    Properties

    BankParamSegment

    The bank parameter segment that was chosen for the type of order that this class will build.

    Declaration
    public FinSegment BankParamSegment { get; }
    Property Value
    Type Description
    FinSegment

    Contact

    Declaration
    public FinContact Contact { get; }
    Property Value
    Type Description
    FinContact

    FinTSVersion

    The FinTS version that the chosen order segment version was designed for.

    Declaration
    public int FinTSVersion { get; }
    Property Value
    Type Description
    System.Int32
    Remarks

    This is not necessarily the FinTS version that will be used as the protocol version for the online dialog. The purpose of this information is to control the correct handling of FinTS version dependent idioms such as the security level and the subaccount characteristic.

    IsSupported

    Indicates whether the order type is supported by checking whether the requested BPD segment is available.

    Declaration
    public virtual bool IsSupported { get; }
    Property Value
    Type Description
    System.Boolean

    MaxOrders

    Maximum number of orders of this type that can be sent in a single FinTS message.

    Declaration
    public int MaxOrders { get; }
    Property Value
    Type Description
    System.Int32

    This is in the range from 1 through 999.

    MinSignatures

    Minimum number of signatures required when sending an order of the derived type.

    Declaration
    public int MinSignatures { get; }
    Property Value
    Type Description
    System.Int32

    Usually this is only zero (for orders that can be sent without any signature) or one (for orders that have to be signed). The FinTS defined range is from zero through three.

    OrderSegmentInfo

    The order segment information that was chosen by this builder.

    Declaration
    public FinOrderSegmentInfo OrderSegmentInfo { get; }
    Property Value
    Type Description
    FinOrderSegmentInfo

    OrderSegmentType

    The order segment type that was chosen by this order builder.

    Declaration
    public string OrderSegmentType { get; }
    Property Value
    Type Description
    System.String

    ParameterCount

    Provides the number of parameter GDs that are given in the BPD segment for this order type.

    Declaration
    public int ParameterCount { get; }
    Property Value
    Type Description
    System.Int32

    This will be zero until initialised.

    ParameterDEG

    Provides the DEG group position where the parameters can be found inside the BPD segment of this order type.

    Declaration
    public int ParameterDEG { get; }
    Property Value
    Type Description
    System.Int32

    This is usually 4 for all HBCI versions up to HBCI 2.2 and 5 for FinTS 3.0. It is zero until initialised.

    ParamSegmentType

    The parameter segment type that was chosen by this order builder.

    Declaration
    public string ParamSegmentType { get; }
    Property Value
    Type Description
    System.String

    SecurityLevel

    Required security level for sending an order of the derived type.

    Declaration
    public int SecurityLevel { get; }
    Property Value
    Type Description
    System.Int32

    The concept of security levels is currently only defined for FinTS 3.0.

    SegmentVersion

    The segment version that was chosen by this order builder.

    Declaration
    public int SegmentVersion { get; }
    Property Value
    Type Description
    System.Int32

    SepaDomesticAcctAllowed

    Indicates whether the domestic account information is allowed in an international account data element group.

    Declaration
    protected bool SepaDomesticAcctAllowed { get; }
    Property Value
    Type Description
    System.Boolean
    Remarks

    This is a conveniece for easy access of this.Contact.SepaAcctInfoBuilder.DomesticAcctAllowed.

    SepaOrderCustAcct

    Indicates whether this order builder needs a SEPA ordering account.

    Declaration
    public bool SepaOrderCustAcct { get; }
    Property Value
    Type Description
    System.Boolean

    TanRequired

    Indicates whether a TAN is required when sending an order of the derived type.

    Declaration
    public bool TanRequired { get; }
    Property Value
    Type Description
    System.Boolean

    If this is

    true
    , then a TAN is required, if this is

    false
    , then no TAN is required. In the latter case, there is still

    a PIN required, unless MinSignatures is zero, too.

    TanSecuritySupported

    Indicates whether an order of the derived type may be sent using PIN/TAN security.

    Declaration
    public bool TanSecuritySupported { get; }
    Property Value
    Type Description
    System.Boolean

    Methods

    AugmentSubAcctCharacteristic(FinAcct)

    If needed, then try to augment the sub-account-characteristic from the UPD.

    Declaration
    protected void AugmentSubAcctCharacteristic(FinAcct aAcct)
    Parameters
    Type Name Description
    FinAcct aAcct

    BuildOrderSegment()

    Builds a completely uninitialised order segment of an appropriate type.

    Declaration
    protected FinSegment BuildOrderSegment()
    Returns
    Type Description
    FinSegment

    Returns a new instance of an FinSegment.

    Remarks

    This method is mainly of interest to derived classes and isn't usually called directly by application code.

    BuildOrderSegment(FinAcct)

    Builds an order segment of an appropriate type initialised with the given ordering account.

    Declaration
    protected virtual FinSegment BuildOrderSegment(FinAcct aOrderAcct)
    Parameters
    Type Name Description
    FinAcct aOrderAcct

    Optional ordering customer account. If this is not null, then the account data will be inserted into the DEG number 2 of the newly created segment.

    Returns
    Type Description
    FinSegment

    Returns a new instance of an FinSegment.

    Remarks

    This method is mainly of interest to derived classes and isn't usually called directly by application code.

    Exceptions
    Type Condition
    System.InvalidOperationException

    This FinOrderBuilder instance was not initialised, or the order type is not supported.

    FindParameterSegment(FinOrderSegmentInfo)

    Find an exactly matching parameter segment.

    Declaration
    protected FinSegment FindParameterSegment(FinOrderSegmentInfo aSegInfo)
    Parameters
    Type Name Description
    FinOrderSegmentInfo aSegInfo
    Returns
    Type Description
    FinSegment

    GetAmountParameter(Int32)

    Returns the amount MVE that starts at the given position inside the BPD segments parameter group.

    Declaration
    public SwiftAmt GetAmountParameter(int nGD)
    Parameters
    Type Name Description
    System.Int32 nGD
    Returns
    Type Description
    SwiftAmt

    If the MVE is empty, then this returned NullAmt.

    GetBoolParameter(Int32)

    Returns the boolean element from the given position inside the BPD segments parameter group.

    Declaration
    public bool GetBoolParameter(int nGD)
    Parameters
    Type Name Description
    System.Int32 nGD
    Returns
    Type Description
    System.Boolean

    GetIntegerParameter(Int32)

    Returns the integer element from the given position inside the BPD segments parameter group.

    Declaration
    public int GetIntegerParameter(int nGD)
    Parameters
    Type Name Description
    System.Int32 nGD
    Returns
    Type Description
    System.Int32

    GetStringParameter(Int32)

    Returns the string element from the given position inside the BPD segments parameter group.

    Declaration
    public string GetStringParameter(int nGD)
    Parameters
    Type Name Description
    System.Int32 nGD
    Returns
    Type Description
    System.String

    Init(FinOrderSegmentInfo, FinSegment)

    For internal use only.

    Declaration
    protected void Init(FinOrderSegmentInfo aOrderSegmentInfo, FinSegment aBankParamSegment)
    Parameters
    Type Name Description
    FinOrderSegmentInfo aOrderSegmentInfo

    The chosen order segment info.

    FinSegment aBankParamSegment

    The choden bank parameter segment.

    Init(FinOrderSegmentInfo[])

    Must be called by derived classes in order to initialise this base class.

    Declaration
    protected bool Init(FinOrderSegmentInfo[] vaSegmentInfos)
    Parameters
    Type Name Description
    FinOrderSegmentInfo[] vaSegmentInfos

    An array with information about the order segment types that are supported by the derived implementation. This array is matched against the bank parameter data in order to find the best possible order segment type. This array should contain order segment types in decreasing order of preference. This parameter must not be null.

    Returns
    Type Description
    System.Boolean

    If a matching parameter segment was found, then true is returned. If not, then the requested order cannot be supported and false is returned.

    Remarks

    The FinTS version that is used by the dialog for which this order builder shall build suitable order segments is taken from the contact object. The order builder uses this FinTS version in order to find the optimal parameter segment version based on the bank parameter data.

    In This Article
    Back to top Copyright 2009-2025 Subsembly GmbH