X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FPayment%2FManual.php;h=360055e5c8e33737615909196d39ca08b4e9c242;hb=415a9951148804ba9a43d952483171d1e6a6cce8;hp=a2c7c5dd2593a0d65a0b9f9833a37007cd2a72c9;hpb=db155ac18c958f7f6cefe2fcd6ebe967fd295ebc;p=civicrm-core.git diff --git a/CRM/Core/Payment/Manual.php b/CRM/Core/Payment/Manual.php index a2c7c5dd25..360055e5c8 100644 --- a/CRM/Core/Payment/Manual.php +++ b/CRM/Core/Payment/Manual.php @@ -111,8 +111,18 @@ class CRM_Core_Payment_Manual extends CRM_Core_Payment { * @throws \Civi\Payment\Exception\PaymentProcessorException */ public function doPayment(&$params, $component = 'contribute') { - $params['payment_status_id'] = $this->getResult(); - return $params; + $result['payment_status_id'] = $this->getResult(); + if ($result['payment_status_id'] == CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Pending')) { + $result = $this->setStatusPaymentPending($result); + } + elseif ($result['payment_status_id'] == CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Completed')) { + $result = $this->setStatusPaymentCompleted($result); + } + else { + throw new \Civi\Payment\Exception\PaymentProcessorException('Result from doPayment MUST be one of Completed|Pending'); + } + + return $result; } /** @@ -238,25 +248,6 @@ class CRM_Core_Payment_Manual extends CRM_Core_Payment { return TRUE; } - /** - * Submit a manual payment. - * - * @param array $params - * Assoc array of input parameters for this transaction. - * - * @return array - */ - public function doDirectPayment(&$params) { - $statuses = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id'); - if ($params['is_pay_later']) { - $result['payment_status_id'] = array_search('Pending', $statuses); - } - else { - $result['payment_status_id'] = array_search('Completed', $statuses); - } - return $result; - } - /** * Should a receipt be sent out for a pending payment. * @@ -289,7 +280,18 @@ class CRM_Core_Payment_Manual extends CRM_Core_Payment { } return ts('To complete your contribution, click the Continue button below.'); + default: + return parent::getText($context, $params); } } + /** + * Does this processor support cancelling recurring contributions through code. + * + * @return bool + */ + protected function supportsCancelRecurring() { + return TRUE; + } + }