https://sourceforge.net/tracker/index.php?func=detail&aid=2884597&group_id=176962&atid=879335
Changes in brief:
MPayment: change in the processOnline method:
* Call the payment processor's validate method before calling pp.processCC
In this way we can validate the card details before trying to process.
PaymentProcessor:
* Create a standard validation (using existing CC-validation)
method that's overridable by subclasses.
PaymentOnline:
* Remove CC-validation from here since it prevents the use of custom CC-validation
in the custom PaymentProcessor.
VPayment:
* Don't validate the credit card details here since the payment processor
is not yet known here. The validation is made later by the payment processor.
If validation should be done at this point it should depend on the
payment processor.
Reasons for change:
Not all credit cards and payment gateways have the same validation standard. Especially
test payment gateways can have very different validation standards.
With this change, the same validation remains, but it can be changed by extending
the PaymentProcessor class.