Class SepaAccount
Represents an Acct or RltdAcct element as it occurs in a SepaStatement.
public sealed class SepaAccount : SepaObject
- Inheritance
-
SepaAccount
- Inherited Members
Remarks
The usual account properties can be found at the following object properties.
| IBAN | IBAN |
| Domestic account number, BBAN or credit card number. | OtherId |
| BIC | Servicer.BIC |
| Domestic bank code | Servicer.ClearingSystemMemberIdentification |
| Currency Code | Currency |
| Account product name | Name |
| Account holder name | Owner.Name |
Constructors
SepaAccount()
public SepaAccount()
SepaAccount(bool)
Creates a SepaAccount with the default TagName "Acct".
public SepaAccount(bool fIsMandatory)
Parameters
fIsMandatorybool
SepaAccount(string)
public SepaAccount(string sTagName)
Parameters
sTagNamestring
SepaAccount(string, bool)
public SepaAccount(string sTagName, bool fIsMandatory)
Parameters
Properties
AccountType
public SepaAccountType AccountType { get; set; }
Property Value
AcctNo
The domestic account number.
public string AcctNo { get; }
Property Value
Remarks
This is either GermanAcctNo or OtherId.
BankCode
The domestic bank ocde.
public string BankCode { get; }
Property Value
Remarks
This is either GermanBankCode, or Servicer.ClearingSystemMemberIdentification, or Servicer.OtherId.
Currency
Optional currency of account.
public string Currency { get; set; }
Property Value
- string
The initial value of this property is
null. It is possible to set this property tonull.
Exceptions
- ArgumentException
An attempt was made to set a value that is not a syntactically valid currency code.
GermanAcctNo
If this is a German bank account, then this provides the domestic account number, if it is available.
public string GermanAcctNo { get; }
Property Value
GermanBankCode
If this is a German bank account, then this provides the German Bankleitzahl, if it is available.
public string GermanBankCode { get; }
Property Value
IBAN
The account IBAN.
public SepaIBAN IBAN { get; set; }
Property Value
Remarks
This may be NullIBAN if there is no IBAN for the account. In such case. the OtherId must be used instead.
IsEmpty
public override bool IsEmpty { get; }
Property Value
Name
Optional account product name. NOT the name of the account holder.
public string Name { get; set; }
Property Value
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 70 characters.
- See Also
OtherId
Some other proprietary account number.
public string OtherId { get; set; }
Property Value
Remarks
This property shall only be used if there is no IBAN available.
For a German domestic account number this should be 000000001111111111, where 00000000 is the BLZ and 1111111111 is the domestic account number filled with leading zeroes. In addition the OtherSchemeNameCode shall be "BBAN".
For credit cards this field may be used to hold the PAN (primary account number) of the credit card. In addition the OtherSchemeNameCode may be set to the special value "CPAN" to indicate that this holds a credit card PAN.
OtherSchemeNameCode
The scheme name code of the OtherId.
public string OtherSchemeNameCode { get; set; }
Property Value
Owner
The name and further information about the account owner.
public SepaPartyIdentification Owner { get; }
Property Value
Remarks
Only the property Name shall be used. This element does not occur in a Related Account element.
Servicer
The financial institute servicing the account.
public SepaFinancialInstitutionIdentification Servicer { get; }
Property Value
Remarks
At least the BIC must be set. This element does not occur in a Related Account element.
TypeCode
Optional type code of account.
public string TypeCode { get; set; }
Property Value
- string
This must be
nullor one of the defined code values. Use "CACC" for current accounts.
TypeProprietary
Optional proprietary account type specification.
public string TypeProprietary { get; set; }
Property Value
Remarks
This can be used as an alternative to TypeCode. Only one of TypeCode and TypeProprietary may be set, but never both.
Note that TypeProprietary is not SEPA compliant, however, it is used with Swiss payment schemes.
Methods
Clear()
public override void Clear()
OnReadXml(XmlReader, SepaMessageInfo)
protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)
Parameters
aXmlReaderXmlReaderaMessageInfoSepaMessageInfo
OnValidate(ICollection<SepaException>, string)
protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)
Parameters
vErrorsICollection<SepaException>sPathstring
OnWriteXml(XmlWriter, SepaMessageInfo)
protected override void OnWriteXml(XmlWriter aXmlWriter, SepaMessageInfo aMessageInfo)
Parameters
aXmlWriterXmlWriteraMessageInfoSepaMessageInfo