Class SepaDirectDebitTransactionInformation
Spezialized Transaction Information for direct debits.
Inheritance
Inherited Members
Namespace: Subsembly.Sepa
Assembly: Subsembly.Sepa.dll
Syntax
public sealed class SepaDirectDebitTransactionInformation : SepaTransactionInformation
Constructors
SepaDirectDebitTransactionInformation()
Creates a new SepaCreditTransferTransactionInformation object which can be added to the transaction object collection of a SepaDirectDebitPaymentInformation object.
Declaration
public SepaDirectDebitTransactionInformation()
Fields
SMNDA
In case of a SEPA mandate amendment, if the original debtor account is not known, then this special IBAN can be used to indicate a changed account.
Declaration
public static readonly SepaIBAN SMNDA
Field Value
Type | Description |
---|---|
SepaIBAN |
Remarks
This is only supported starting with SEPA Direct Debit Rulebook Version 9.0. It may not be used before November, 20th 2016.
Properties
CounterParty
Returns Debtor.
Declaration
public override SepaPartyIdentification CounterParty { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification |
Overrides
CounterPartyAccount
Returns DebtorAccount
Declaration
public override SepaAccount CounterPartyAccount { get; }
Property Value
Type | Description |
---|---|
SepaAccount |
Overrides
CounterPartyAgent
Returns DebtorAgent
Declaration
public override SepaAgent CounterPartyAgent { get; }
Property Value
Type | Description |
---|---|
SepaAgent |
Overrides
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.ArgumentNullException | An attempt was made to set a |
System.ArgumentException | An empty or otherwise invalid value was set. |
Debtor
The debtor of this transaction.
Declaration
public SepaPartyIdentification Debtor { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification | The Debtor is a required element, therefore at least the Name property of this SepaPartyIdentification must be set before the XML document can be generated. |
DebtorAccount
Mandatory debtor account of this transaction.
Declaration
public SepaAccount DebtorAccount { get; }
Property Value
Type | Description |
---|---|
SepaAccount |
DebtorAccountIBAN
Shortcut to the IBAN of the debtor account of this transaction.
Declaration
public SepaIBAN DebtorAccountIBAN { get; set; }
Property Value
Type | Description |
---|---|
SepaIBAN |
See Also
DebtorAgent
Declaration
public SepaAgent DebtorAgent { get; }
Property Value
Type | Description |
---|---|
SepaAgent |
DebtorAgentBIC
BIC of the debtor agent (financial institution) of this transaction.
Declaration
public SepaBIC DebtorAgentBIC { 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.
DebtorAgentFinancialInstitutionIdentification
Shortcut to DebtorAgent.FinancialInstitutionIdentification.
Declaration
public SepaFinancialInstitutionIdentification DebtorAgentFinancialInstitutionIdentification { get; }
Property Value
Type | Description |
---|---|
SepaFinancialInstitutionIdentification |
InstructionForCreditorAgent
Optional instrcution for creditor agent.
Declaration
public string InstructionForCreditorAgent { get; set; }
Property Value
Type | Description |
---|---|
System.String | Initially |
Remarks
Further information, related to the processing of the payment instruction, that may need to be acted upon by the creditor agent, depending on agreement between creditor and the creditor agent.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 140 characters. |
IsEmpty
Declaration
public override bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
IsSepaCompliant
Declaration
public override bool IsSepaCompliant { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
MandateDateOfSignature
Mandatory date of signing of the mandate.
Declaration
public DateTime MandateDateOfSignature { get; set; }
Property Value
Type | Description |
---|---|
System.DateTime |
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. |
MandateElectronicSignature
Optional electronic signature of mandate.
Declaration
public string MandateElectronicSignature { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
This may only be used if agreed with the bank or if defined for a particular country.
MandateIdentification
Mandatory unique mandate reference.
Declaration
public string MandateIdentification { get; set; }
Property Value
Type | Description |
---|---|
System.String |
OriginalCreditorName
Optional original creditor name.
Declaration
public string OriginalCreditorName { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
If this is not null
or an empty string, then an Amendment Information
Details element is present.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 70 characters. |
OriginalCreditorSchemeIdentification
Optional original creditor scheme ID.
Declaration
public string OriginalCreditorSchemeIdentification { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
If this is not null
or an empty string, then an Amendment Information
Details element is present.
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | An attempt was made to set a |
System.ArgumentException | An empty or otherwise invalid value was set. |
OriginalDebtorAccount
Optional original debtor account of this transaction.
Declaration
public SepaAccount OriginalDebtorAccount { get; }
Property Value
Type | Description |
---|---|
SepaAccount |
See Also
OriginalDebtorAccountIBAN
Optional IBAN of the original debtor account of this transaction.
Declaration
public SepaIBAN OriginalDebtorAccountIBAN { get; set; }
Property Value
Type | Description |
---|---|
SepaIBAN |
Remarks
If this is not null
or an empty string, then an Amendment Information
Details element is present. Starting with SEPA Direct Debit Rulebook Version 9.0
the special value SMNDA may be used, if the account has changed,
but the original IBAN is not known.
See Also
OriginalMandateIdentification
Optional original mandate reference.
Declaration
public string OriginalMandateIdentification { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
If this is not null
or an empty string, then an Amendment Information
Details element is present.
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 may be used. |
Remarks
The ultimate creditor may be set here, or at the collection level UltimateCreditor property. It must not be set at both levels.
UltimateDebtor
Optional name of the ultimate debtor. Rarely needed.
Declaration
public SepaPartyIdentification UltimateDebtor { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification | Only the Name property of this SepaPartyIdentification may be used. |
Remarks
Required if explicitly provided in the debtor mandate.
Methods
Clear()
Declaration
public override void Clear()
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 |