Class SepaTransactionInformation
Abstract base class for all SEPA Transaction Information instances.
Inheritance
Inherited Members
Namespace: Subsembly.Sepa
Assembly: Subsembly.Sepa.dll
Syntax
public abstract class SepaTransactionInformation : SepaPaymentTypeBase
Remarks
The structure and content of a SEPA Transaction Information depends on the actual kind of transaction. There are two derived classes of this abstract base class. The SepaCreditTransferTransactionInformation provides the details of a Credit Transfer Transaction Information. The SepaDirectDebitTransactionInformation provides the details of a Direct Debit Transaction Information.
Once a SepaTransactionInformation has been added to a SepaPaymentInformation it will always be owned by exactly that payment information. It cannot be moved from one payment information to another payment information.
The creditor reference document type code is preset to "SCOR", which is required for a SEPA structured remittance information. If a different type code is needed, then it must be overwritten.
Constructors
SepaTransactionInformation(String, Boolean)
Common default constructor for all SEPA transaction Informations.
Declaration
public SepaTransactionInformation(string sTagName, bool fIsMandatory)
Parameters
Type | Name | Description |
---|---|---|
System.String | sTagName | The local name of the XML tag that shall be used for this Transaction Information object. Depending on the type of transaction this is currently either "CdtTrfTxInf", or "DrctDbtTxInf". |
System.Boolean | fIsMandatory |
Properties
Amount
The instructed amount of this transaction.
Declaration
public decimal Amount { get; set; }
Property Value
Type | Description |
---|---|
System.Decimal | The value must be in the range from 0.00 through 999,999,999.99. The initial value is zero. |
Exceptions
Type | Condition |
---|---|
System.ArgumentOutOfRangeException | An attempt was made to set a negative value. |
System.ArgumentException | An attempt was made to set a decimal value with more than two significant fractional digits. |
AmountCurrency
The currency of the instructed amount.
Declaration
public string AmountCurrency { get; set; }
Property Value
Type | Description |
---|---|
System.String | This is initialized with "EUR" and must be "EUR" for all SEPA payments. However, it is possible to set any valid currency code. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a value that is not a syntactically valid currency code. |
CounterParty
Declaration
public abstract SepaPartyIdentification CounterParty { get; }
Property Value
Type | Description |
---|---|
SepaPartyIdentification |
CounterPartyAccount
Declaration
public abstract SepaAccount CounterPartyAccount { get; }
Property Value
Type | Description |
---|---|
SepaAccount |
CounterPartyAgent
Declaration
public abstract SepaAgent CounterPartyAgent { get; }
Property Value
Type | Description |
---|---|
SepaAgent |
CreditorReferenceInformation
Optional RF Creditor Reference (ISO 11649) assigned by the creditor, to unambiguously refer to the payment transaction.
Declaration
public string CreditorReferenceInformation { get; set; }
Property Value
Type | Description |
---|---|
System.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
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set an invalid reference identification. |
EndToEndId
End-to-End Identification of this Transaction.
Declaration
public string EndToEndId { get; set; }
Property Value
Type | Description |
---|---|
System.String | An arbitrary text with a maximum length of MaxIdLen (35)
characters. If this property is |
Remarks
The character set must match CheckCharset(String).
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 35 characters, or a string that contains invalid characters. |
InstructionIdentification
Optional Instruction Identification of this Transaction.
Declaration
public string InstructionIdentification { get; set; }
Property Value
Type | Description |
---|---|
System.String |
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
PurposeCode
Optional purpose code.
Declaration
public string PurposeCode { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
This property is similar to the German DTAUS text key. For example, it can be used to tag a payment as a salary payment. The following list shows the special codes that are recognized by German banks.
BENE | Transaction is related to a payment to a person who is unemployed/disabled. (German text key 56) |
CHAR | Transaction is a payment for charity reasons. (German text key 69) |
BONU | Transaction is related to payment of a bonus. (German text key 53) |
PENS | Transaction is the payment of pension. (German text key 53) |
SALA | Transaction is the payment of salaries. (German text key 53) |
CBFF | Transaction is related to capital building fringe fortune, ie capital building for retirement. (German text key 54) |
GOVT | Transaction is a payment to or from a government department. (German text key 56) |
SSBE | Transaction is a social security benefit, ie payment made by a government to support individuals. (German text key 56) |
For Austrian SEPA documents this property provides more specific information in extension to the property CategoryPurpose. The following list shows the special extension codes that are defined by the Austrian APC. The ATXX codes must be used in old SEPA documents, the GVXX codes must be used in new SEPA documents.
ATBA, GVEA | With SALA: Emoluments unemployed persons |
ATBB, GVEB | With SALA: Emoluments general |
ATBL, GVEC | With SALA: Emoluments disabled persons |
ATBV, GVED | With SALA: Emoluments national defence |
ATPB, GOVT | With SALA: Emoluments Austrian Mail |
RLWY | With SALA: Emoluments OeBB, With PENS: Pensions OeBB |
ANNI | With GOVT: Annuity grant |
TRFD | Trusted fund payments (RAK-Payments) |
TAXS | Tax payment |
For other countries please refer to the country specific specifications.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string that is not a syntactically correct purpose code. |
RemittanceInformation
Optional unstructured remittance information.
Declaration
public string RemittanceInformation { get; set; }
Property Value
Type | Description |
---|---|
System.String | If no remittance information is provided, this property is |
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
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 140 characters. |
See Also
RemittanceInformationObject
Optional Remittance Information.
Declaration
public SepaRemittanceInformation RemittanceInformationObject { get; }
Property Value
Type | Description |
---|---|
SepaRemittanceInformation |
See Also
Methods
Clear()
Declaration
public override void Clear()
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 |