Class SepaTransactionInformation
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
sTagNamestringThe 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".
fIsMandatorybool
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
CounterPartyAccount
public abstract SepaAccount CounterPartyAccount { get; }
Property Value
CounterPartyAgent
public abstract SepaAgent CounterPartyAgent { 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.
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
nullor 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 benull.
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
IsEmpty
public override bool IsEmpty { get; }
Property Value
IsSepaCompliant
public override bool IsSepaCompliant { get; }
Property Value
PurposeCode
Optional purpose code.
public string PurposeCode { get; set; }
Property Value
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
- 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
- See Also
Methods
Clear()
public override void Clear()
OnValidate(ICollection<SepaException>, string)
protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)
Parameters
vErrorsICollection<SepaException>sPathstring