Add actual field name for processor_id to getSubscriptionDetails
authorMatthew Wire <mjw@mjwconsult.co.uk>
Tue, 2 Jun 2020 09:45:44 +0000 (10:45 +0100)
committerMatthew Wire <mjw@mjwconsult.co.uk>
Tue, 2 Jun 2020 09:53:05 +0000 (10:53 +0100)
CRM/Contribute/BAO/ContributionRecur.php
CRM/Contribute/Form/CancelSubscription.php
CRM/Contribute/Form/UpdateBilling.php
CRM/Contribute/Form/UpdateSubscription.php

index 52a6bf609851df34ba4abf4b2c3e18fbf0e96863..5862d4b777ba9ac39187b05eb707c5fcf69f0867 100644 (file)
@@ -326,9 +326,12 @@ class CRM_Contribute_BAO_ContributionRecur extends CRM_Contribute_DAO_Contributi
    * @return null|Object
    */
   public static function getSubscriptionDetails($entityID, $entity = 'recur') {
+    // Note: processor_id used to be aliased as subscription_id so we include it here
+    // both as processor_id and subscription_id for legacy compatibility.
     $sql = "
 SELECT rec.id                   as recur_id,
        rec.processor_id         as subscription_id,
+       rec.processor_id,
        rec.frequency_interval,
        rec.installments,
        rec.frequency_unit,
index ec7cd0fc957144b23cc1d5fa669d4b1a52eb6636..3cd63518c969a88c854047256504c2600663e740 100644 (file)
@@ -218,7 +218,7 @@ class CRM_Contribute_Form_CancelSubscription extends CRM_Contribute_Form_Contrib
         $propertyBag->setIsNotifyProcessorOnCancelRecur(!empty($params['send_cancel_request']));
       }
       $propertyBag->setContributionRecurID($this->getSubscriptionDetails()->recur_id);
-      $propertyBag->setRecurProcessorID($this->getSubscriptionDetails()->subscription_id);
+      $propertyBag->setRecurProcessorID($this->getSubscriptionDetails()->processor_id);
       $message = $this->_paymentProcessorObj->doCancelRecurring($propertyBag)['message'];
     }
     catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
index 1370802e5494bea13208fecef2c0151dbae44ce5..f902a049ddafbf44024bd3bf7c581eac7aff6f5f 100644 (file)
@@ -202,7 +202,7 @@ class CRM_Contribute_Form_UpdateBilling extends CRM_Contribute_Form_Contribution
     $processorParams['country'] = CRM_Core_PseudoConstant::country($params["billing_country_id-{$this->_bltID}"], FALSE);
     $processorParams['month'] = $processorParams['credit_card_exp_date']['M'];
     $processorParams['year'] = $processorParams['credit_card_exp_date']['Y'];
-    $processorParams['subscriptionId'] = $this->_subscriptionDetails->subscription_id;
+    $processorParams['subscriptionId'] = $this->getSubscriptionDetails()->processor_id;
     $processorParams['amount'] = $this->_subscriptionDetails->amount;
     $updateSubscription = $this->_paymentProcessor['object']->updateSubscriptionBillingInfo($message, $processorParams);
     if (is_a($updateSubscription, 'CRM_Core_Error')) {
index be18481f5e79f620624336e2c36e97b6bd880c18..51e218b99f3b1c97c847c0d2f56d08ad90721444 100644 (file)
@@ -206,7 +206,7 @@ class CRM_Contribute_Form_UpdateSubscription extends CRM_Contribute_Form_Contrib
     $params['id'] = $this->_subscriptionDetails->recur_id;
     $message = '';
 
-    $params['subscriptionId'] = $this->_subscriptionDetails->subscription_id;
+    $params['subscriptionId'] = $this->getSubscriptionDetails()->processor_id;
     $updateSubscription = TRUE;
     if ($this->_paymentProcessorObj->supports('changeSubscriptionAmount')) {
       try {