diff --git a/civicrm/CRM/Contribute/Form/ContributionBase.php b/civicrm/CRM/Contribute/Form/ContributionBase.php index 933128ea3208145f49faa664a99b55728f0c6d8b..725ba42c407384592c403053bc7bb5472b130709 100644 --- a/civicrm/CRM/Contribute/Form/ContributionBase.php +++ b/civicrm/CRM/Contribute/Form/ContributionBase.php @@ -294,9 +294,7 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form { $this->_fields = $this->get('fields'); $this->_bltID = $this->get('bltID'); $this->_paymentProcessor = $this->get('paymentProcessor'); - if (!$this->_paymentProcessor) { - $this->_paymentProcessor = array('object' => Civi\Payment\System::singleton()->getById(0)); - } + $this->_priceSetId = $this->get('priceSetId'); $this->_priceSet = $this->get('priceSet'); @@ -581,9 +579,10 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form { // The concept of contributeMode is deprecated. // The payment processor object can provide info about the fields it shows. - if ($isMonetary) { + if ($isMonetary && is_a($this->_paymentProcessor['object'], 'CRM_Core_Payment')) { /** @var $paymentProcessorObject \CRM_Core_Payment */ $paymentProcessorObject = $this->_paymentProcessor['object']; + $paymentFields = $paymentProcessorObject->getPaymentFormFields(); foreach ($paymentFields as $index => $paymentField) { if (!isset($this->_params[$paymentField])) {