Class SepaPaymentTypeBase
Abstract base class for all Payment Information and Transaction Information classes.
Inheritance
Inherited Members
Namespace: Subsembly.Sepa
Assembly: Subsembly.Sepa.dll
Syntax
public abstract class SepaPaymentTypeBase : SepaObject
Remarks
This base class includes all properties of the Payment Type Information element group.
Constructors
SepaPaymentTypeBase(String, Boolean)
Declaration
public SepaPaymentTypeBase(string sTagName, bool fIsMandatory)
Parameters
Type | Name | Description |
---|---|---|
System.String | sTagName | |
System.Boolean | fIsMandatory |
Fields
CHARGEBEARER_SERVICELEVEL
Declaration
protected const string CHARGEBEARER_SERVICELEVEL = "SLEV"
Field Value
Type | Description |
---|---|
System.String |
Properties
CategoryPurpose
Optional category purpose code.
Declaration
public string CategoryPurpose { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
This element does not exist in the original German ZKA specification for namespaces pain.001.001.02 and pain.008.001.01.
The following codes are defined in the current ISO 20022 external code list. Those that are not allowed according to the German ZKA specification are marked with an asterisk.
CASH | Transaction is a general cash management instruction. |
CCRD | Transaction is related to a payment of credit card. |
CORT | Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction. |
DCRD | Transaction is related to a payment of debit card. |
DIVI | Transaction is the payment of dividends. |
GOVT | Transaction is a payment to or from a government department. |
HEDG | Transaction is related to the payment of a hedging operation. |
ICCP | Transaction is reimbursement of credit card payment. |
IDCP | Transaction is reimbursement of debit card payment. |
INTC | Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group. |
INTE | Transaction is the payment of interest. |
LOAN | Transaction is related to the transfer of a loan to a borrower. |
PENS | Transaction is the payment of pension. |
SALA | Transaction is the payment of salaries. |
SECU | Transaction is the payment of securities. |
SSBE | Transaction is a social security benefit, ie payment made by a government to support individuals. |
SUPP | Transaction is related to a payment to a supplier. |
TAXS | Transaction is the payment of taxes. |
TRAD | Transaction is related to the payment of a trade transaction. |
TREA | Transaction is related to treasury operations. |
VATX | Transaction is the payment of value added tax. |
WHLD | Transaction is the payment of withholding tax. |
The German ZKA specification allows usage of all codes, except CCRD, DCRD, ICCP, and IDCP. The Austrian APC specification only lists the following codes: GOVT, INTC, LOAN, PENS, SALA, SSBE, TAXS.
Note that this property is largely ignored by German banks. If you want to provide a purpose code similar to the DTAUS text key, then you must use the transaction property PurposeCode instead.
For Austrian SEPA documents this property seems to be supported by their banks. Additional information can be supplied in the transaction property PurposeCode.
CategoryPurposeProprietary
Optional category purpose proprietary.
Declaration
public string CategoryPurposeProprietary { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
This may be set as an alternative to CategoryPurpose. Only one of CategoryPurpose or CategoryPurposeProprietary may be set.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 35 characters. |
InstructionPriority
Optional Instruction Priority. Usage must be agreed with bank.
Declaration
public string InstructionPriority { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
Allowed values are "NORM", "HIGH" or null
. If not set, then the bank
assumes normal priority. Starting with
ZKA_Pain_001_003_03, the property
ServiceLevelCode can be used to mark urgent
payments.
IsEmpty
Declaration
public override bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
IsEmptyPaymentTypeInformation
Indicates whether none of the payment type information properties are set.
Declaration
public bool IsEmptyPaymentTypeInformation { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsSepaCompliant
Indicates whether this payment complies to the rules of a SEPA payment.
Declaration
public virtual bool IsSepaCompliant { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
LocalInstrumentCode
Local Instrument Code.
Declaration
public string LocalInstrumentCode { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 35 characters. |
LocalInstrumentProprietary
Local Instrument Proprietary.
Declaration
public string LocalInstrumentProprietary { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 35 characters. |
SequenceType
Sequence Type. Only for Direct Debits.
Declaration
public string SequenceType { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
Allowed values are "FRST" (Initial Direct Debit of a series), "RCUR" (Recurring Direct Debit of a series), "FNAL" (Final Direct Debit of a series), and "OOFF" (Single Direct Debit).
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set an unknown code value. |
ServiceLevelCode
Service Level Code.
Declaration
public string ServiceLevelCode { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 4 characters. |
ServiceLevelProprietary
Service Level Proprietary.
Declaration
public string ServiceLevelProprietary { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | An attempt was made to set a string longer than 35 characters. |
Methods
Clear()
Declaration
public override void Clear()
Overrides
ClearPaymentTypeInformation()
Clears all payment type information.
Declaration
public void ClearPaymentTypeInformation()
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 |