Class SepaPaymentTypeBase

Namespace
Subsembly.Sepa
Assembly
Subsembly.Sepa.dll

Abstract base class for all Payment Information and Transaction Information classes.

public abstract class SepaPaymentTypeBase : SepaObject
Inheritance
SepaPaymentTypeBase
Derived
Inherited Members

Remarks

This base class includes all properties of the Payment Type Information element group.

Constructors

SepaPaymentTypeBase(string, bool)

public SepaPaymentTypeBase(string sTagName, bool fIsMandatory)

Parameters

sTagName string
fIsMandatory bool

Properties

CategoryPurpose

Optional category purpose code.

public string CategoryPurpose { get; set; }

Property Value

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.

CASHTransaction is a general cash management instruction.
CCRD*Transaction is related to a payment of credit card.
CORTTransaction 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.
DIVITransaction is the payment of dividends.
GOVTTransaction is a payment to or from a government department.
HEDGTransaction 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.
INTCTransaction is an intra-company payment, ie, a payment between two companies belonging to the same group.
INTETransaction is the payment of interest.
LOANTransaction is related to the transfer of a loan to a borrower.
PENSTransaction is the payment of pension.
SALATransaction is the payment of salaries.
SECUTransaction is the payment of securities.
SSBETransaction is a social security benefit, ie payment made by a government to support individuals.
SUPPTransaction is related to a payment to a supplier.
TAXSTransaction is the payment of taxes.
TRADTransaction is related to the payment of a trade transaction.
TREATransaction is related to treasury operations.
VATXTransaction is the payment of value added tax.
WHLDTransaction 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.

public string CategoryPurposeProprietary { get; set; }

Property Value

string

Remarks

This may be set as an alternative to CategoryPurpose. Only one of CategoryPurpose or CategoryPurposeProprietary may be set.

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters.

InstructionPriority

Optional Instruction Priority. Usage must be agreed with bank.

public string InstructionPriority { get; set; }

Property Value

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

public override bool IsEmpty { get; }

Property Value

bool

IsEmptyPaymentTypeInformation

Indicates whether none of the payment type information properties are set.

public bool IsEmptyPaymentTypeInformation { get; }

Property Value

bool

IsSepaCompliant

Indicates whether this payment complies to the rules of a SEPA payment.

public virtual bool IsSepaCompliant { get; }

Property Value

bool

LocalInstrumentCode

Local Instrument Code.

public string LocalInstrumentCode { get; set; }

Property Value

string

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters.

LocalInstrumentProprietary

Local Instrument Proprietary.

public string LocalInstrumentProprietary { get; set; }

Property Value

string

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters.

SequenceType

Sequence Type. Only for Direct Debits.

public string SequenceType { get; set; }

Property Value

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

ArgumentException

An attempt was made to set an unknown code value.

ServiceLevelCode

Service Level Code.

public string ServiceLevelCode { get; set; }

Property Value

string

Exceptions

ArgumentException

An attempt was made to set a string longer than 4 characters.

ServiceLevelProprietary

Service Level Proprietary.

public string ServiceLevelProprietary { get; set; }

Property Value

string

Exceptions

ArgumentException

An attempt was made to set a string longer than 35 characters.

Methods

Clear()

public override void Clear()

ClearPaymentTypeInformation()

Clears all payment type information.

public void ClearPaymentTypeInformation()

OnValidate(ICollection<SepaException>, string)

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

Parameters

vErrors ICollection<SepaException>
sPath string