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

    Class FinOrder

    Base class that holds all segments that participate in a single FinTS order.

    Inheritance
    System.Object
    FinPersist
    FinOrder
    FinAcctBal
    FinAcctDetailsOrder
    FinAcctMvmtsSpecifiedPeriod
    FinAcctStmtOrder
    FinBuildingSavingsInfos
    FinBuildingSavingsMvmts
    FinCamtStatement
    FinCreditCardBal
    FinCreditCardMvmts
    FinCreditCardStmtListOrder
    FinDekaFondsList
    FinDistHvbOrderList
    FinDistOrderList
    FinDocListOrder
    FinDocReqOrder
    FinFixedtermDepositInventory
    FinMailDownloadOrder
    FinMailListOrder
    FinPortfAcctStatementReqOrder
    FinPortfList
    FinPortfOrderStatReqOrder
    FinProcPreparationOrder
    FinSepaAcctInfo
    FinSepaAllSto
    FinSepaDirectDebitIndicationList
    FinSepaDraftOrderList
    FinSepaInstPaymt
    FinSepaModifyOrder
    FinSepaOutstandingPostdatedOrder
    FinSepaReclassAcctList
    FinSepaSetupSto
    FinSepaSubmitPostdatedOrder
    FinSynchronisationOrder
    FinTan
    FinTanMediaList
    FinTaxExemptionListOrder
    FinVopVerificationOrder
    FinWhitelistListOrder
    FinWhitelistRegisterOrder
    FinXmlOrder
    Inherited Members
    FinPersist.RootTag
    FinPersist.SaveAs(String)
    FinPersist.Load(String)
    FinPersist.Write(Stream)
    FinPersist.Read(Stream)
    FinPersist.SaveXml()
    FinPersist.SaveXml(String)
    FinPersist.LoadXml(String)
    FinPersist.ToXml(String)
    FinPersist.WriteXmlDocument(XmlWriter)
    FinPersist.WriteXmlDocument(XmlWriter, String)
    FinPersist.ReadXmlDocument(XmlReader)
    FinPersist.WriteXmlElement(XmlWriter, String, String)
    FinPersist.WriteXmlElementInt(XmlWriter, String, Int32)
    FinPersist.WriteXmlElementBool(XmlWriter, String, Boolean)
    FinPersist.WriteXmlElementDate(XmlWriter, String, SwiftDate)
    FinPersist.WriteXmlElementTime(XmlWriter, String, SwiftTime)
    FinPersist.WriteXmlElementAmt(XmlWriter, String, SwiftAmt)
    FinPersist.WriteXmlElementAcct(XmlWriter, String, FinAcct)
    FinPersist.WriteXmlElementSegment(XmlWriter, String, FinSegment)
    FinPersist.ReadXmlElement(XmlReader, String)
    FinPersist.ReadXmlElementInt(XmlReader, String)
    FinPersist.ReadXmlElementBool(XmlReader, String)
    FinPersist.ReadXmlElementDate(XmlReader, String)
    FinPersist.ReadXmlElementTime(XmlReader, String)
    FinPersist.ReadXmlElementAmt(XmlReader, String)
    FinPersist.ReadXmlElementAcct(XmlReader, String)
    FinPersist.ReadXmlElementSegment(XmlReader, String)
    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 FinOrder : FinPersist
    Remarks

    Usually a class derived from FinOrder is constructed through one of the specialized builder classes. Only if no specialized builder is available, then a FinOrder may be constructed from a manually built FinSegment that holds the order segment.

    The ExecuteOrder(FinOrder, String) method of the FinDialog class takes a FinOrder instance as its parameter. ExecuteOrder(FinOrder, String) and the FinOrder class closely work together in order to execute the order online, in the context of the FinDialog. See ExecuteOrder(FinOrder, String) for more information.

    Once a FinOrder instance was executed by ExecuteOrder(FinOrder, String), it is switched into the Executed state. In this state the result of the order is processed by the application. A FinOrder instance that was already executed cannot be executed again. For every order a new FinOrder instance must be created.

    The FinOrder can be used as it is in order to conduct any kind of transaction. To do so, the order segment and response segments must be manually processed.

    The FinOrder is also used as the base class for specialised transaction types such as FinAcctBal. It can also be used as a base class for your own specialised transaction types.

    Constructors

    FinOrder()

    This default ctor should only be used for loading a previously persisted instance of this FinOrder.

    Declaration
    public FinOrder()

    FinOrder(FinSegment)

    Declaration
    public FinOrder(FinSegment aOrderSegment)
    Parameters
    Type Name Description
    FinSegment aOrderSegment

    FinOrder(FinSegment, String)

    Creates a generic FinOrder instance, using the given order segment.

    Declaration
    public FinOrder(FinSegment aOrderSegment, string sXmlRootTag)
    Parameters
    Type Name Description
    FinSegment aOrderSegment

    The order segment that contains the order details of this order. This segment will be sent to the FinTS server when ExecuteOrder(FinOrder, String) is called with this FinOrder instance.

    System.String sXmlRootTag

    The XML root tag that would be used when this FinOrder is persisted as XML. The default value of this parameter is "FinOrder". Derived classes my provide their own XML tag in order to match the actual class name.

    Remarks

    If the FinOrder was persisted via its FinPersist base class, then this constructor may be called with null as the aOrderSegment parameter and the order segment is then loaded from the persisted state.

    Properties

    DialogID

    Provides the Dialog ID of the FinTS dialog during which the order was sent.

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

    May be null if the FinOrder was not executed, yet.

    Executed

    Indicates whether this FinOrder instance was already Executed by ExecuteOrder(FinOrder, String).

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

    When ExecuteOrder(FinOrder, String) completes executing the given FinOrder instance it will set its Executed flag, regardless of whether the order was executed successfully or whether the FinTS server returned an error code.

    HvbDistOrder

    If true, then this is a very special HypoVereinsbank partially signed order.

    Declaration
    public bool HvbDistOrder { get; set; }
    Property Value
    Type Description
    System.Boolean
    Remarks

    Orders with this flag are wrapped in a pair of BNLSK and BNLSA segments, when the message is built by the FinMessage class. This is a very special HypoVereinsbank extension and is not supported by any other bank.

    MsgNo

    Provides the message sequence number of the FinTS message that carried this order.

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

    May be zero if the FinOrder was not executed, yet.

    OrderAcct

    Order account

    Declaration
    public FinAcct OrderAcct { get; set; }
    Property Value
    Type Description
    FinAcct
    Remarks

    The order account is only available when it was initialized by the corresponding order builder class. Otherwise the initial null value is returned.

    The order account may be required for building the HKTAN segment when using the Smart-TAN procedure. If it is not provided by the order builder, then it can be set by the application before this order is sent.

    OrderAmount

    Optional order amount.

    Declaration
    public SwiftAmt OrderAmount { get; set; }
    Property Value
    Type Description
    SwiftAmt
    Remarks

    The order amount is only available when it was initialized by the corresponding order builder class. Otherwise the initial null value is returned.

    The order amount may be required for building the HKTAN segment when using the Smart-TAN procedure. If it is not provided by the order builder, then it can be set by the application before this order is sent.

    OrderChallengeClass

    The TAN procedure challenge class of this order.

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

    The default value of this property is 90, which is the miscellaneous challenge class. A particual order builder shall set this property according to the order type.

    The order challenge class may be required for building the HKTAN segment when using the Smart-TAN procedure. If it is not provided by the order builder, then it can be set by the application before this order is sent.

    OrderChallengeParameter

    An optional TAN procedure challenge parameter that may be required for this order.

    Declaration
    public string OrderChallengeParameter { get; set; }
    Property Value
    Type Description
    System.String
    Remarks

    The default value of this property is null. If, according to the TAN procedure Smart-TAN, a special challenge parameter is needed, then the order builder shall set this property accordingly.

    The order challenge parameter may be required for building the HKTAN segment when using the Smart-TAN procedure. If it is not provided by the order builder, then it can be set by the application before this order is sent.

    OrderID

    Provides the optional Order ID that was returned for this order.

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

    OrderSegment

    The order segment that contains the order details of this order. This segment will be sent to the FinTS server when ExecuteOrder(FinOrder, String) is called with this FinOrder instance. This is never null.

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

    OrderSegNo

    Convenience accessor to the segment sequence number of the order segment.

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

    OrderType

    Convenience accessor to the segment type of the order segment.

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

    OrderVisualizationClass

    The visualization class of this order.

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

    This value is required when building a HKTAN version 5 segment for this order. It is not required for older HKTAN segments, or if a HKTAN is never built for this order.

    The default value is zero, which actually applies to no order type. Hence, if a HKTAN version 5 will ever be built for this order, then this property must properly initialized, first. Usually the specialized order builder does this for you.

    ResponseSegment

    Convenience property that provides direct access to a single response segment.

    Declaration
    public FinSegment ResponseSegment { get; }
    Property Value
    Type Description
    FinSegment
    Remarks

    If, and only if, the ResponseSegments collection contains just a single segment, then this segment is returned. If no response segments are available, or more than one response segment is available, then null is returned.

    ResponseSegments

    Provides access to the FinSegments collection that contains the response data segments of this order.

    Declaration
    public FinSegments ResponseSegments { get; }
    Property Value
    Type Description
    FinSegments

    StatusSegment

    Provides the HIRMS status segment that was replied to this order.

    Declaration
    public FinStatusSegment StatusSegment { get; }
    Property Value
    Type Description
    FinStatusSegment

    May be null if no HIRMS status segment was received for this FinOrder or the FinOrder was not executed, yet.

    StatusThreshold

    The minimum status code of interest for this order.

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

    An HBCI status code threshold value in the range from zero through 10000. The value 10000 effectively suppresses all status output. The default value is zero.

    Remarks

    This property can be used by the application in order to indicate the minimum response status code that it is interested in. By default the status threshold is zero, indicating that all status responses are important. It may make sense to set a higher threshold for inquiry orders in order to suppress the warnings for an empty result set.

    Success

    Convenience property that provides direct access to the Success property of the StatusSegment.

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

    If the order was not executed yet and no StatusSegment is available, then false is returned. If the order was executed and there are ResponseSegments but no StatusSegment, then true is returned, anyway.

    TanOrderRef

    The TAN order reference from OrderRef, if one was used.

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

    Methods

    AddOrderVisualizationParameter(FinDataElement)

    Adds another visualization parameters to this order.

    Declaration
    public void AddOrderVisualizationParameter(FinDataElement aVisualizationParameter)
    Parameters
    Type Name Description
    FinDataElement aVisualizationParameter

    A data element that holds the visualization parameter. This may be null if an empty visualization parameter shall be added.

    Remarks

    The visualization parameters are required when building a HKTAN version 5 segment for this order. It is not required for older HKTAN segments, or if a HKTAN is never built for this order.

    Usually the specialized order builder will add all necessary visualization parameters for you.

    GetOrderVisualizationParameters()

    Gets all the visualization parameters for this order.

    Declaration
    public FinDataElement[] GetOrderVisualizationParameters()
    Returns
    Type Description
    FinDataElement[]

    Returns an array with all the visualization parameters that have been added through AddOrderVisualizationParameter(FinDataElement). The returned array may contain null values, representing unused visualization parameter positions.

    InsertScrollRef(String)

    Inserts the given scroll reference into the order segment.

    Declaration
    protected virtual bool InsertScrollRef(string sScrollRef)
    Parameters
    Type Name Description
    System.String sScrollRef

    Scroll reference that was returned and shall be inserted into the order segment. This is not null.

    Returns
    Type Description
    System.Boolean

    If this FinOrder derived class actually supports automatic handling of scroll references, and the given scroll reference was inserted into the order segment, then true must be returned. If handling of scroll references is not supported by the derived class, then false must be returned.

    Remarks

    If a scroll reference was returned, then this method is invoked in order to prepare the order segment for an immediate follow-up transaction.

    The generic FinOrder base implementation of this method always returns false. A specialised derived order class must override this method in order to implement support for automatic handling of scroll references.

    OnExecuteComplete(FinDialog)

    Indicates that the FinOrder was executed to the derived class.

    Declaration
    protected virtual void OnExecuteComplete(FinDialog aDialog)
    Parameters
    Type Name Description
    FinDialog aDialog

    The dialog instance that was used to send the order. This is never null.

    Remarks

    A derived class may override this method in order to do any post processing on the executed FinOrder.

    ReadXml(XmlReader)

    Declaration
    public override void ReadXml(XmlReader aXmlReader)
    Parameters
    Type Name Description
    System.Xml.XmlReader aXmlReader
    Overrides
    FinPersist.ReadXml(XmlReader)

    SetOrderID(String)

    Set the value for the OrderID property.

    Declaration
    protected void SetOrderID(string sOrderID)
    Parameters
    Type Name Description
    System.String sOrderID
    Remarks

    If applicable, this method shall be called in a derived classes OnExecuteComplete(FinDialog) override in order to set the new Order ID that was extracted from the response data segment.

    SetOrderSegment(FinSegment)

    Sets the order segment of this FinOrder from the constructor in derived classes.

    Declaration
    protected void SetOrderSegment(FinSegment aOrderSegment)
    Parameters
    Type Name Description
    FinSegment aOrderSegment
    Exceptions
    Type Condition
    System.ArgumentNullException

    An attempt was made to set a null reference.

    System.InvalidOperationException

    An attempt was made to set the order segment, but this FinOrder instance has already an order segment.

    WriteXml(XmlWriter)

    Declaration
    public override void WriteXml(XmlWriter aXmlWriter)
    Parameters
    Type Name Description
    System.Xml.XmlWriter aXmlWriter
    Overrides
    FinPersist.WriteXml(XmlWriter)
    In This Article
    Back to top Copyright 2009-2025 Subsembly GmbH