Class SepaTransactionDetails
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
- See Also
BankTransactionCode
DEPRECATED. Use TransactionCode.ProprietaryCode instead.
public string BankTransactionCode { get; set; }
Property Value
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
Charges
Collection of SepaChargesRecords contained in this transaction.
public SepaCharges Charges { get; }
Property Value
ChequeNumber
Optional cheque number of this transaction.
This property value is contained in the Refs
element.
public string ChequeNumber { get; set; }
Property Value
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
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
CreditorAccount
Information about the creditor account of this transaction.
public SepaAccount CreditorAccount { get; }
Property Value
CreditorAgent
BIC of the creditor agent (financial institution) of this transaction.
public SepaFinancialInstitutionIdentification CreditorAgent { get; }
Property Value
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
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
DebtorAccount
Information about the debtor account of the transaction.
public SepaAccount DebtorAccount { get; }
Property Value
DebtorAgent
BIC of the debtor agent (financial institution) of the transaction.
public SepaFinancialInstitutionIdentification DebtorAgent { get; }
Property Value
EndToEndId
End-to-End Identification of this Transaction.
This property value is contained in the Refs
element.
public string EndToEndId { get; set; }
Property Value
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
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
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
LocalInstrumentCode
Local Instrument Code.
public string LocalInstrumentCode { get; set; }
Property Value
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
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
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
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
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
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
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
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
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
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
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
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
TransactionDateTime
Date and time of the underlying transaction.
public DateTime TransactionDateTime { get; set; }
Property Value
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
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
UltimateDebtor
The ultimate debtor of this transaction.
public SepaPartyIdentification UltimateDebtor { get; }
Property Value
Methods
Clear()
public override void Clear()
OnReadXml(XmlReader, SepaMessageInfo)
protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)
Parameters
aXmlReader
XmlReaderaMessageInfo
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
XmlWriteraMessageInfo
SepaMessageInfo