Class SepaDirectDebitPaymentInformation

Namespace
Subsembly.Sepa
Assembly
Subsembly.Sepa.dll

Specialized Payment Information for direct debits.

public sealed class SepaDirectDebitPaymentInformation : SepaPaymentInformation
Inheritance
SepaDirectDebitPaymentInformation
Inherited Members

Constructors

SepaDirectDebitPaymentInformation()

Creates a new SepaDirectDebitPaymentInformation object which can be added to the payment information collection of SepaDirectDebitPaymentInitiation message.

public SepaDirectDebitPaymentInformation()

Properties

Creditor

The creditor of the transactions in this payment block.

public SepaPartyIdentification Creditor { get; }

Property Value

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.

public SepaAccount CreditorAccount { get; }

Property Value

SepaAccount

CreditorAccountCurrency

Shortcut to the currency of the creditor account of this payment block.

public string CreditorAccountCurrency { get; set; }

Property Value

string
See Also

CreditorAccountIBAN

Shortcut to the IBAN of the creditor account of this payment block.

public SepaIBAN CreditorAccountIBAN { get; set; }

Property Value

SepaIBAN
See Also

CreditorAgent

public SepaAgent CreditorAgent { get; }

Property Value

SepaAgent

CreditorAgentBIC

BIC of the creditor agent (financial institution) of all transactions in this payment block.

public SepaBIC CreditorAgentBIC { get; set; }

Property Value

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

public SepaFinancialInstitutionIdentification CreditorAgentFinancialInstitutionIdentification { get; }

Property Value

SepaFinancialInstitutionIdentification

CreditorSchemeIdentification

Identifier of the creditor (CI).

public string CreditorSchemeIdentification { get; set; }

Property Value

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

ArgumentException

An invalid value was set.

CreditorSchemeIdentificationObject

public SepaCreditorSchemeIdentification CreditorSchemeIdentificationObject { get; }

Property Value

SepaCreditorSchemeIdentification
See Also

IsEmpty

public override bool IsEmpty { get; }

Property Value

bool

MessageType

public override SepaMessageType MessageType { get; }

Property Value

SepaMessageType

OrderingParty

Returns Creditor.

public override SepaPartyIdentification OrderingParty { get; }

Property Value

SepaPartyIdentification

OrderingPartyAccount

Returns CreditorAccount.

public override SepaAccount OrderingPartyAccount { get; }

Property Value

SepaAccount

OrderingPartyAgent

Returns CreditorAgent.

public override SepaAgent OrderingPartyAgent { get; }

Property Value

SepaAgent

RequestedCollectionDate

The mandatory requested collection date for the transactions in this payment block.

public DateTime RequestedCollectionDate { get; set; }

Property Value

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

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

public override DateTime RequestedDate { get; }

Property Value

DateTime

UltimateCreditor

Optional name of the ultimate creditor. Rarely needed.

public SepaPartyIdentification UltimateCreditor { get; }

Property Value

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()

public override void Clear()

NewTransactionInformation()

public override SepaTransactionInformation NewTransactionInformation()

Returns

SepaTransactionInformation

A new SepaDirectDebitTransactionInformation which is owned by this payment information.

OnReadXml(XmlReader, SepaMessageInfo)

protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)

Parameters

aXmlReader XmlReader
aMessageInfo SepaMessageInfo

OnValidate(ICollection<SepaException>, string)

protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)

Parameters

vErrors ICollection<SepaException>
sPath string

OnWriteXml(XmlWriter, SepaMessageInfo)

protected override void OnWriteXml(XmlWriter aXmlWriter, SepaMessageInfo aMessageInfo)

Parameters

aXmlWriter XmlWriter
aMessageInfo SepaMessageInfo