* @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,
$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) {
$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')) {
$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 {