Class SepaTransactionDetails

Namespace
Subsembly.Sepa
Assembly
Subsembly.Sepa.dll
public sealed class SepaTransactionDetails : SepaObject
Inheritance
SepaTransactionDetails
Inherited Members
Extension Methods

Constructors

SepaTransactionDetails()

public SepaTransactionDetails()

Properties

AccountServicerReference

Optional unique entry reference of this statement entry, provided by the bank. This property value is contained in the Refs element.

public string AccountServicerReference { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters. The character set must match CheckCharset(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

AdditionalReturnReasonInformation

Optional additional information for return reason.

public string AdditionalReturnReasonInformation { get; set; }

Property Value

string

If no additional information is provided, this property is null, which is also its default value. Transactions details may contain multiple additional information (AddtlInf) elements. If so, the elements are concatenated with an Environment.NewLine separator. Empty elements are empty strings. Each line of additional information must not be longer than 105 characters.

Remarks

Only latin characters should be used. It is up to the caller to ensure that the provided string contains only characters accepted by the recipient of the SEPA document.

Exceptions

ArgumentException

An attempt was made to set a string longer than 105 characters, or a string that contains invalid characters.

See Also

AdditionalTransactionInformation

Optional additional transaction information.

public string AdditionalTransactionInformation { get; set; }

Property Value

string

If no additional transaction information is provided, this property is null, which is also its default value. The additional transaction information must not be longer than 500 characters.

Remarks

Only latin characters should be used. It is up to the caller to ensure that the provided string contains only characters accepted by the recipient of the SEPA document.

Exceptions

ArgumentException

An attempt was made to set a string longer than 500 characters.

Amount

The optional amount from the Transaction Details element that is settled against the account balance.

public SepaAmount Amount { get; }

Property Value

SepaAmount
See Also

BankTransactionCode

DEPRECATED. Use TransactionCode.ProprietaryCode instead.

public string BankTransactionCode { get; set; }

Property Value

string

Remarks

For compatibility: Settings this property also sets the BankTransactionCodeIssuer to "DK", unless it was already set to another non-empty value.

BankTransactionCodeIssuer

DEPRECATED. Use TransactionCode.ProprietaryIssuer instead.

public string BankTransactionCodeIssuer { get; set; }

Property Value

string

Charges

Collection of SepaChargesRecords contained in this transaction.

public SepaCharges Charges { get; }

Property Value

SepaCharges

ChequeNumber

Optional cheque number of this transaction. This property value is contained in the Refs element.

public string ChequeNumber { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Remarks

The character set must match CheckCharset(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

ClearingSystemReference

Optional clearing system reference of this transaction. This property value is contained in the Refs element.

public string ClearingSystemReference { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Remarks

The character set must match CheckCharset(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

Creditor

The creditor of this transaction.

public SepaPartyIdentification Creditor { get; }

Property Value

SepaPartyIdentification

CreditorAccount

Information about the creditor account of this transaction.

public SepaAccount CreditorAccount { get; }

Property Value

SepaAccount

CreditorAgent

BIC of the creditor agent (financial institution) of this transaction.

public SepaFinancialInstitutionIdentification CreditorAgent { get; }

Property Value

SepaFinancialInstitutionIdentification

CreditorReferenceInformation

Optional RF Creditor Reference (ISO 11649) assigned by the creditor, to unambiguously refer to the payment transaction.

public string CreditorReferenceInformation { get; set; }

Property Value

string

Remarks

This is a shortcut for accessing the RemittanceInformationObject CreditorReferenceInformation property.

Setting this property will setup the complete nested SepaStructuredRemittanceInformation element, to only hold the given creditor reference and nohting else. It will set the value to the CreditorReference property and also the value SCOR to the CreditorReferenceTypeCode property. All all other values from the nested SepaStructuredRemittanceInformation will be cleared! Setting this property to null, or an empty string, will completely clear the nested SepaStructuredRemittanceInformation.

Reading this property will return the value from the CreditorReference property of the nested SepaStructuredRemittanceInformation, if, and only if, the value of the CreditorReferenceTypeCode property contains the value SCOR.

Exceptions

ArgumentException

An attempt was made to set an invalid reference identification.

Debtor

The debtor of this transaction.

public SepaPartyIdentification Debtor { get; }

Property Value

SepaPartyIdentification

DebtorAccount

Information about the debtor account of the transaction.

public SepaAccount DebtorAccount { get; }

Property Value

SepaAccount

DebtorAgent

BIC of the debtor agent (financial institution) of the transaction.

public SepaFinancialInstitutionIdentification DebtorAgent { get; }

Property Value

SepaFinancialInstitutionIdentification

EndToEndId

End-to-End Identification of this Transaction. This property value is contained in the Refs element.

public string EndToEndId { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Remarks

The value must match CheckIdentification(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

InstructedAmount

The optional instructed amount InstdAmt from the Amount Details element.

public SepaAmount InstructedAmount { get; }

Property Value

SepaAmount

Remarks

Identifies the amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party and provides currency exchange information in case the instructed amount and/or currency is/are different from the entry amount and/or currency.

InstructionIdentification

Optional Instruction Identification of this Transaction. This property value is contained in the Refs element.

public string InstructionIdentification { get; set; }

Property Value

string

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

IsEmpty

public override bool IsEmpty { get; }

Property Value

bool

LocalInstrumentCode

Local Instrument Code.

public string LocalInstrumentCode { get; set; }

Property Value

string

Remarks

Only one of LocalInstrumentCode or LocalInstrumentProprietary may be set. If both are set, then an exception is thrown when trying to serialize this object.

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters.

LocalInstrumentProprietary

Local Instrument Proprietary.

public string LocalInstrumentProprietary { get; set; }

Property Value

string

Remarks

Only one of LocalInstrumentCode or LocalInstrumentProprietary may be set. If both are set, then an exception is thrown when trying to serialize this object.

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters.

MandateIdentification

Direct debit mandate reference. This property value is contained in the Refs element.

public string MandateIdentification { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Remarks

The character set must match CheckCharset(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

MessageIdentification

Optional unique identification of the message passed to the bank. This property value is contained in the Refs element.

public string MessageIdentification { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Remarks

The character set must match CheckCharset(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

PaymentInformationIdentification

Optional unique batch payment identification. This property value is contained in the Refs element.

public string PaymentInformationIdentification { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

PurposeCode

Optional purpose code.

public string PurposeCode { get; set; }

Property Value

string

Remarks

Only one of PurposeCode or PurposeProprietary may be set. If both are set, then an exception is thrown when trying to serialize this object.

Exceptions

ArgumentException

An attempt was made to set a string that is not a syntactically correct purpose code.

See Also

PurposeProprietary

Optional proprietary purpose text.

public string PurposeProprietary { get; set; }

Property Value

string

Remarks

Only one of PurposeCode or PurposeProprietary may be set. If both are set, then an exception is thrown when trying to serialize this object.

Exceptions

ArgumentException

An attempt was made to set a string that is longer than 35 characters.

See Also

ReferencesProprietary

Additional proprietary references contained in the Refs element.

public IDictionary<string, string> ReferencesProprietary { get; }

Property Value

IDictionary<string, string>

Remarks

The proprietary references are stored as a dictionary where the proprietary reference type Tp is the key and the proprietary reference Ref is the value.

RemittanceInformation

Optional unstructured remittance information.

public string RemittanceInformation { get; set; }

Property Value

string

If no remittance information is provided, this property is null, which is also its default value. Transactions details may contain multiple unstructured remittance information (Ustrd) elements. If so, the elements are concatenated with an Environment.NewLine separator. Empty elements are empty strings. Each line of unstructured remittance information must not be longer than MaxRmtInfLen (140) characters.

Remarks

Only latin characters should be used. It is up to the caller to ensure that the provided string contains only characters accepted by the recipient of the SEPA document.

Exceptions

ArgumentException

An attempt was made to set a string longer than 140 characters, or a string that contains invalid characters.

See Also

RemittanceInformationLines

Provides the optional unstructured remittance information as an array of lines.

public string[] RemittanceInformationLines { get; set; }

Property Value

string[]

Exceptions

ArgumentException

An array was set that contained null string entries, or entries with strings longer than 140 characters.

See Also

RemittanceInformationObject

Optional Remittance Information.

public SepaRemittanceInformation RemittanceInformationObject { get; }

Property Value

SepaRemittanceInformation

Remarks

This is never null, but may be an empty object.

ReturnInformationReasonCode

Optional reason code for returned transaction.

public string ReturnInformationReasonCode { get; set; }

Property Value

string

Remarks

All codes are four alphanumeric characters. See other documentation for individual possible values. Only either ReturnInformationReasonCode or ReturnInformationReasonProprietary may be set, and never both.

Exceptions

ArgumentException

An attempt was made to set a syntactically invalid code.

ReturnInformationReasonProprietary

Optional proprietary reason code for returned transaction.

public string ReturnInformationReasonProprietary { get; set; }

Property Value

string

Remarks

Only either ReturnInformationReasonCode or ReturnInformationReasonProprietary may be set, and never both.

Exceptions

ArgumentException

An attempt was made to set a syntactically invalid value.

TransactionAmount

The optional transaction amount TxAmt from the Amount Details element.

public SepaAmount TransactionAmount { get; }

Property Value

SepaAmount

Remarks

Note that this field is optional. With newer CAMT versions, the field Amount replaces this field. The transaction amount may even contain a different amount in a different currency.

For compatibility with existing code: If no TxAmt was included when reading the CAMT document, then this property returns the value from Amount.

See Also

TransactionCode

The bank transaction code set of elements.

public SepaBankTransactionCode TransactionCode { get; }

Property Value

SepaBankTransactionCode

TransactionDateTime

Date and time of the underlying transaction.

public DateTime TransactionDateTime { get; set; }

Property Value

DateTime

Remarks

This appears in the Related Dates element.

TransactionIdentification

Transaction identification of accepting bank. This property value is contained in the Refs element.

public string TransactionIdentification { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters.

Remarks

The value must match CheckIdentification(string).

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters.

UltimateCreditor

The ultimate creditor of this transaction.

public SepaPartyIdentification UltimateCreditor { get; }

Property Value

SepaPartyIdentification

UltimateDebtor

The ultimate debtor of this transaction.

public SepaPartyIdentification UltimateDebtor { get; }

Property Value

SepaPartyIdentification

Methods

Clear()

public override void Clear()

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