Class SepaTransactionInformation

Namespace
Subsembly.Sepa
Assembly
Subsembly.Sepa.dll

Abstract base class for all SEPA Transaction Information instances.

public abstract class SepaTransactionInformation : SepaPaymentTypeBase
Inheritance
SepaTransactionInformation
Derived
Inherited Members

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, bool)

Common default constructor for all SEPA transaction Informations.

public SepaTransactionInformation(string sTagName, bool fIsMandatory)

Parameters

sTagName string

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".

fIsMandatory bool

Properties

Amount

The instructed amount of this transaction.

public decimal Amount { get; set; }

Property Value

decimal

The value must be in the range from 0.00 through 999,999,999.99. The initial value is zero.

Exceptions

ArgumentOutOfRangeException

An attempt was made to set a negative value.

ArgumentException

An attempt was made to set a decimal value with more than two significant fractional digits.

AmountCurrency

The currency of the instructed amount.

public string AmountCurrency { get; set; }

Property Value

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

ArgumentException

An attempt was made to set a value that is not a syntactically valid currency code.

CounterParty

public abstract SepaPartyIdentification CounterParty { get; }

Property Value

SepaPartyIdentification

CounterPartyAccount

public abstract SepaAccount CounterPartyAccount { get; }

Property Value

SepaAccount

CounterPartyAgent

public abstract SepaAgent CounterPartyAgent { get; }

Property Value

SepaAgent

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.

EndToEndId

End-to-End Identification of this Transaction.

public string EndToEndId { get; set; }

Property Value

string

An arbitrary text with a maximum length of MaxIdLen (35) characters. If this property is null or an empty string, then the string NOTPROVIDED will be used in the generated XML. If the string "NOTPROVIDED" was parsed from the XML, then this property will be null.

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.

InstructionIdentification

Optional Instruction Identification of this Transaction.

public string InstructionIdentification { get; set; }

Property Value

string

IsEmpty

public override bool IsEmpty { get; }

Property Value

bool

IsSepaCompliant

public override bool IsSepaCompliant { get; }

Property Value

bool

PurposeCode

Optional purpose code.

public string PurposeCode { get; set; }

Property Value

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.

BENETransaction is related to a payment to a person who is unemployed/disabled. (German text key 56)
CHARTransaction is a payment for charity reasons. (German text key 69)
BONUTransaction is related to payment of a bonus. (German text key 53)
PENSTransaction is the payment of pension. (German text key 53)
SALATransaction is the payment of salaries. (German text key 53)
CBFFTransaction is related to capital building fringe fortune, ie capital building for retirement. (German text key 54)
GOVTTransaction is a payment to or from a government department. (German text key 56)
SSBETransaction 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, GVEAWith SALA: Emoluments unemployed persons
ATBB, GVEBWith SALA: Emoluments general
ATBL, GVECWith SALA: Emoluments disabled persons
ATBV, GVEDWith SALA: Emoluments national defence
ATPB, GOVTWith SALA: Emoluments Austrian Mail
RLWYWith SALA: Emoluments OeBB, With PENS: Pensions OeBB
ANNIWith GOVT: Annuity grant
TRFDTrusted fund payments (RAK-Payments)
TAXSTax payment

For other countries please refer to the country specific specifications.

Exceptions

ArgumentException

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

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. A remittance information string 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.

See Also

RemittanceInformationObject

Optional Remittance Information.

public SepaRemittanceInformation RemittanceInformationObject { get; }

Property Value

SepaRemittanceInformation
See Also

Methods

Clear()

public override void Clear()

OnValidate(ICollection<SepaException>, string)

protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)

Parameters

vErrors ICollection<SepaException>
sPath string