Class SepaDirectDebitPaymentInformation
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
CreditorAccountCurrency
Shortcut to the currency of the creditor account of this payment block.
public string CreditorAccountCurrency { get; set; }
Property Value
- See Also
CreditorAccountIBAN
Shortcut to the IBAN of the creditor account of this payment block.
public SepaIBAN CreditorAccountIBAN { get; set; }
Property Value
- See Also
CreditorAgent
public SepaAgent CreditorAgent { get; }
Property Value
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
Shortcut to CreditorAgent.FinancialInstitutionIdentification.
public SepaFinancialInstitutionIdentification CreditorAgentFinancialInstitutionIdentification { get; }
Property Value
CreditorSchemeIdentification
Identifier of the creditor (CI).
public string CreditorSchemeIdentification { get; set; }
Property Value
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
- See Also
IsEmpty
public override bool IsEmpty { get; }
Property Value
MessageType
Returns DirectDebitPaymentInitiation.
public override SepaMessageType MessageType { get; }
Property Value
OrderingParty
Returns Creditor.
public override SepaPartyIdentification OrderingParty { get; }
Property Value
OrderingPartyAccount
Returns CreditorAccount.
public override SepaAccount OrderingPartyAccount { get; }
Property Value
OrderingPartyAgent
Returns CreditorAgent.
public override SepaAgent OrderingPartyAgent { get; }
Property Value
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
Provides the RequestedCollectionDate.
public override DateTime RequestedDate { get; }
Property Value
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()
Creates a new SepaDirectDebitTransactionInformation object.
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
aXmlReaderXmlReaderaMessageInfoSepaMessageInfo
OnValidate(ICollection<SepaException>, string)
protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)
Parameters
vErrorsICollection<SepaException>sPathstring
OnWriteXml(XmlWriter, SepaMessageInfo)
protected override void OnWriteXml(XmlWriter aXmlWriter, SepaMessageInfo aMessageInfo)
Parameters
aXmlWriterXmlWriteraMessageInfoSepaMessageInfo