From 7d2018faec5801e313f6dbfcf943019aa6ccb462 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 4 Feb 2015 16:27:52 -0500 Subject: [PATCH] Fix recurring billing handling. --- trustcommerce.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/trustcommerce.php b/trustcommerce.php index 560cae3..b2b7a3f 100644 --- a/trustcommerce.php +++ b/trustcommerce.php @@ -110,8 +110,9 @@ class org_fsf_payment_trustcommerce extends CRM_Core_Payment { $tc_params = $this->_getTrustCommerceFields(); /* Are we recurring? If so add the extra API fields. */ - if (CRM_Utils_Array::value('is_recur', $params) && $params['contributionRecurID']) { + if (CRM_Utils_Array::value('is_recur', $params) == 1) { $tc_params = $this->_getRecurPaymentFields($tc_params); + $recur=1; } /* Pass our cooked params to the alter hook, per Core/Payment/Dummy.php */ @@ -141,9 +142,14 @@ class org_fsf_payment_trustcommerce extends CRM_Core_Payment { * Save the transaction ID */ - if (CRM_Utils_Array::value('is_recur', $params) && $params['contributionRecurID']) { - $params['contributionRecurID'] = $reply['billingid']; - } + if (array_key_exists('billingid', $reply)) { + $params['recurr_profile_id'] = $reply['billingid']; + CRM_Core_DAO::setFieldValue( + 'CRM_Contribute_DAO_ContributionRecur', + $this->_getParam('contributionRecurID'), + 'processor_id', $reply['billingid'] + ); + } $params['trxn_id'] = $reply['transid']; $params['gross_amount'] = $tc_params['amount'] / 100; -- 2.25.1