+ * Default payment instrument validation.
+ *
+ * Implement the usual Luhn algorithm via a static function in the CRM_Core_Payment_Form if it's a credit card
+ * Not a static function, because I need to check for payment_type.
+ *
+ * @param array $values
+ * @param array $errors
+ */
+ public function validatePaymentInstrument($values, &$errors) {
+ if ($this->_paymentProcessor['payment_type'] == 1) {
+ CRM_Core_Payment_Form::validateCreditCard($values, $errors);
+ }
+ }
+
+ /**
+ * Getter for the payment processor.
+ *
+ * The payment processor array is based on the civicrm_payment_processor table entry.
+ *
+ * @return array
+ * Payment processor array.
+ */
+ public function getPaymentProcessor() {
+ return $this->_paymentProcessor;
+ }
+
+ /**
+ * Setter for the payment processor.
+ *
+ * @param array $processor
+ */
+ public function setPaymentProcessor($processor) {
+ $this->_paymentProcessor = $processor;
+ }
+
+ /**
+ * Setter for the payment form that wants to use the processor.
+ *