Class SepaDirectDebitPaymentInformation
Specialized Payment Information for direct debits.
Inheritance
Inherited Members
Namespace: Subsembly.Sepa
Assembly: Subsembly.Sepa.dll
Syntax
public sealed class SepaDirectDebitPaymentInformation : SepaPaymentInformation
Constructors
SepaDirectDebitPaymentInformation()
Creates a new SepaDirectDebitPaymentInformation object which can be added to the payment information collection of SepaDirectDebitPaymentInitiation message.
Declaration
public SepaDirectDebitPaymentInformation()
Properties
Creditor
The creditor of the transactions in this payment block.
Declaration
public SepaPartyIdentification Creditor { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification | The Creditor is a required element, therefore at least the Name property of this SepaPartyIdentification must be set before a XML document can be generated. |
CreditorAccount
Mandatory creditor account of this payment block.
Declaration
public SepaAccount CreditorAccount { get; }
Property Value
Type | Description |
---|---|
SepaAccount |
CreditorAccountCurrency
Shortcut to the currency of the creditor account of this payment block.
Declaration
public string CreditorAccountCurrency { get; set; }
Property Value
Type | Description |
---|---|
System.String |
See Also
CreditorAccountIBAN
Shortcut to the IBAN of the creditor account of this payment block.
Declaration
public SepaIBAN CreditorAccountIBAN { get; set; }
Property Value
Type | Description |
---|---|
SepaIBAN |
See Also
CreditorAgent
Declaration
public SepaAgent CreditorAgent { get; }
Property Value
Type | Description |
---|---|
SepaAgent |
CreditorAgentBIC
BIC of the creditor agent (financial institution) of all transactions in this payment block.
Declaration
public SepaBIC CreditorAgentBIC { get; set; }
Property Value
Type | Description |
---|---|
SepaBIC | This is initially a null BIC value and should be initialized before a XML document is generated for this transaction. |
Remarks
This field is mandatory prior to ZKA_Pain_001_003_03. In order to create an always valid SEPA output, it is highly recommended to always set this field with a valid BIC.
CreditorAgentFinancialInstitutionIdentification
Shortcut to CreditorAgent.FinancialInstitutionIdentification.
Declaration
public SepaFinancialInstitutionIdentification CreditorAgentFinancialInstitutionIdentification { get; }
Property Value
Type | Description |
---|---|
SepaFinancialInstitutionIdentification |
CreditorSchemeIdentification
Identifier of the creditor (CI).
Declaration
public string CreditorSchemeIdentification { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
In version 01 of pain.008 the creditor identifier only existed at the transaction level. In version 02 the creditor identifier exists optionally at the payment information level or the transaction level. However, there was always the usage rule that recommended that all transactions within the same Payment Information block have the same Creditor Scheme Identification.
The CI may be set either at the payment information level, or the transaction level. It must be set at either level, but never be set at both levels. If it is set at the transaction level, then it must be set in all SepaDirectDebitTransactionInformation objects.
For version 01 the CI is always written at the transaction level, even if it was set at the payment information level.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An invalid value was set. |
CreditorSchemeNameProprietary
Definition: Name of the identification scheme, in a free text form (Prtry).
Declaration
public string CreditorSchemeNameProprietary { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
Default name is "SEPA". For Swiss DD other names may be used.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | Too long or otherwise invalid value was set. |
IsEmpty
Declaration
public override bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
MessageType
Returns DirectDebitPaymentInitiation.
Declaration
public override SepaMessageType MessageType { get; }
Property Value
Type | Description |
---|---|
SepaMessageType |
Overrides
OrderingParty
Returns Creditor.
Declaration
public override SepaPartyIdentification OrderingParty { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification |
Overrides
OrderingPartyAccount
Returns CreditorAccount.
Declaration
public override SepaAccount OrderingPartyAccount { get; }
Property Value
Type | Description |
---|---|
SepaAccount |
Overrides
OrderingPartyAgent
Returns CreditorAgent.
Declaration
public override SepaAgent OrderingPartyAgent { get; }
Property Value
Type | Description |
---|---|
SepaAgent |
Overrides
RequestedCollectionDate
The mandatory requested collection date for the transactions in this payment block.
Declaration
public DateTime RequestedCollectionDate { get; set; }
Property Value
Type | Description |
---|---|
System.DateTime | By default this is initialized with today's date. When setting this property, any date, except DateTime.MinValue may be given. |
Remarks
ATTENTION: The German FinTS specification requires, that for immediate payments this date is initialized with the special value 1999-01-01!
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set this property to DateTime.MinValue. The value DateTime.MinValue is often used to indicate a logical Null-DateTime and therefore is not permitted here. |
RequestedDate
Declaration
public override DateTime RequestedDate { get; }
Property Value
Type | Description |
---|---|
System.DateTime |
Overrides
UltimateCreditor
Optional name of the ultimate creditor. Rarely needed.
Declaration
public SepaPartyIdentification UltimateCreditor { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification | Only the Name property of this SepaPartyIdentification must be used. |
Remarks
The ultimate creditor may be set here, or at the transaction level UltimateCreditor property. It must not be set at both levels.
Methods
Clear()
Declaration
public override void Clear()
Overrides
NewTransactionInformation()
Creates a new SepaDirectDebitTransactionInformation object.
Declaration
public override SepaTransactionInformation NewTransactionInformation()
Returns
Type | Description |
---|---|
SepaTransactionInformation | A new SepaDirectDebitTransactionInformation which is owned by this payment information. |
Overrides
OnReadXml(XmlReader, SepaMessageInfo)
Declaration
protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlReader | aXmlReader | |
SepaMessageInfo | aMessageInfo |
Overrides
OnValidate(ICollection<SepaException>, String)
Declaration
protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.ICollection<SepaException> | vErrors | |
System.String | sPath |
Overrides
OnWriteXml(XmlWriter, SepaMessageInfo)
Declaration
protected override void OnWriteXml(XmlWriter aXmlWriter, SepaMessageInfo aMessageInfo)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlWriter | aXmlWriter | |
SepaMessageInfo | aMessageInfo |