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.
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 |
CreditorReferenceCode
The creditor reference document type code
Declaration
public string CreditorReferenceCode { get; set; }
Property Value
Type | Description |
---|---|
System.String | This is initialized with "SCOR" but can be changed to any valid code. Setting a valid code will clear CreditorReferenceProprietary. The Code tag is written only if CreditorReferenceProprietary is null. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a value that is not a syntactically valid code. |
CreditorReferenceInformation
Optional creditor reference information from a structured remittance information element.
Declaration
public string CreditorReferenceInformation { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
This property is extracted from a structured remittance information that uses the following format:
<Strd>
<CdtrRefInf>
<Tp>
<CdOrPrtry>
<Cd>SCOR</Cd>
</CdOrPrtry>
</Tp>
<Ref>RFXXXX</Ref>
</CdtrRefInf>
</Strd>
Any other structured remittance information elements are ignored and discarded
when reading. Also, it is not possible to generate any other strcutured remittance
information than this.
Only either this CreditorReferenceInformation or the RemittanceInformation may be set, but not both.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 35 characters. |
CreditorReferenceProprietary
The creditor reference document type proprietary
Declaration
public string CreditorReferenceProprietary { get; set; }
Property Value
Type | Description |
---|---|
System.String | The Proprietary tag is written only if this string is set. Else the Code tag will be written. Setting this string will clear CreditorReferenceCode. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a value that is not a syntactically valid code. |
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
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 |