marcwrobel/jbanking — pull request #13 by ckayser (2014-11-12 17:40:18+00:00)
Title: [#7] Adding support for SEPA Creditor Identifier defined by the EPC

Enhancement #7

This introduces the EPC Creditor Identifier class which handle basic structure validation as well as check digit validation as detailed in the last [Creditor Identifier Overview](http://www.europeanpaymentscouncil.eu/index.cfm/knowledge-bank/epc-documents/creditor-identifier-overview/) updated in september 2014.

Here's the Creditor Identifier (CI) structure and my implementation comments:
* Position 1-2 filled with the ISO country code.
**IsoCountry class is reused for this**

* Position 3-4 filled with the check digit according to ISO 7064 Mod 97-10.
**IbanCheckDigit is reused as it is the same algorithm for validating a CI as it is for an Iban (business code must be removed first)**a

* Position 5-7 filled with the Creditor Business Code, if not used then filled with ZZZ.
**The business code is validated against alpha-numeric pattern**

* Position 8 onwards filled with the country specific part of the identifier being a national identifier of the Creditor, as defined by the National Community
**No specific validation applied for this field.
This enhancement doesn't go into the full validation of the Creditor National Id (which is still unclear for every SEPA country from the EPC perspective).**