From 94d1bc8dc44416bc8531d0508e55ee5d92f706d2 Mon Sep 17 00:00:00 2001 From: Pratik Joshi Date: Fri, 24 May 2013 17:54:47 +0530 Subject: [PATCH] CRM-12524-fix : handled carry forward of campaign id, honor contact id, honor type fields for recurring contributions --- CRM/Core/Payment/AuthorizeNetIPN.php | 6 +++++- CRM/Core/Payment/GoogleIPN.php | 4 ++++ CRM/Core/Payment/PayPalIPN.php | 8 +++++--- CRM/Core/Payment/PayPalProIPN.php | 5 ++++- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CRM/Core/Payment/AuthorizeNetIPN.php b/CRM/Core/Payment/AuthorizeNetIPN.php index ec352f2ab8..c36748faa8 100644 --- a/CRM/Core/Payment/AuthorizeNetIPN.php +++ b/CRM/Core/Payment/AuthorizeNetIPN.php @@ -111,7 +111,7 @@ class CRM_Core_Payment_AuthorizeNetIPN extends CRM_Core_Payment_BaseIPN { // create a contribution and then get it processed $contribution = new CRM_Contribute_BAO_Contribution(); $contribution->contact_id = $ids['contact']; - $contribution->financial_type_id = $objects['contributionType']->id; + $contribution->financial_type_id = $objects['contributionType']->id; $contribution->contribution_page_id = $ids['contributionPage']; $contribution->contribution_recur_id = $ids['contributionRecur']; $contribution->receive_date = $now; @@ -119,6 +119,10 @@ class CRM_Core_Payment_AuthorizeNetIPN extends CRM_Core_Payment_BaseIPN { $contribution->payment_instrument_id = $objects['contribution']->payment_instrument_id; $contribution->amount_level = $objects['contribution']->amount_level; $contribution->address_id = $objects['contribution']->address_id; + $contribution->honor_contact_id = $objects['contribution']->honor_contact_id; + $contribution->honor_type_id = $objects['contribution']->honor_type_id; + $contribution->campaign_id = $objects['contribution']->campaign_id; + $objects['contribution'] = &$contribution; } $objects['contribution']->invoice_id = md5(uniqid(rand(), TRUE)); diff --git a/CRM/Core/Payment/GoogleIPN.php b/CRM/Core/Payment/GoogleIPN.php index 0e08f0c494..6266324388 100644 --- a/CRM/Core/Payment/GoogleIPN.php +++ b/CRM/Core/Payment/GoogleIPN.php @@ -168,6 +168,10 @@ class CRM_Core_Payment_GoogleIPN extends CRM_Core_Payment_BaseIPN { $contribution->invoice_id = $input['invoice']; $contribution->total_amount = $dataRoot['order-total']['VALUE']; $contribution->contribution_status_id = 2; + $contribution->honor_contact_id = $objects['contribution']->honor_contact_id; + $contribution->honor_type_id = $objects['contribution']->honor_type_id; + $contribution->campaign_id = $objects['contribution']->campaign_id; + $objects['contribution'] = $contribution; } $transaction->commit(); diff --git a/CRM/Core/Payment/PayPalIPN.php b/CRM/Core/Payment/PayPalIPN.php index ad07fd8ca2..934f709cc0 100644 --- a/CRM/Core/Payment/PayPalIPN.php +++ b/CRM/Core/Payment/PayPalIPN.php @@ -176,13 +176,16 @@ class CRM_Core_Payment_PayPalIPN extends CRM_Core_Payment_BaseIPN { // create a contribution and then get it processed $contribution = new CRM_Contribute_BAO_Contribution(); $contribution->contact_id = $ids['contact']; - $contribution->financial_type_id = $objects['contributionType']->id; + $contribution->financial_type_id = $objects['contributionType']->id; $contribution->contribution_page_id = $ids['contributionPage']; $contribution->contribution_recur_id = $ids['contributionRecur']; $contribution->receive_date = $now; $contribution->currency = $objects['contribution']->currency; $contribution->payment_instrument_id = $objects['contribution']->payment_instrument_id; $contribution->amount_level = $objects['contribution']->amount_level; + $contribution->honor_contact_id = $objects['contribution']->honor_contact_id; + $contribution->honor_type_id = $objects['contribution']->honor_type_id; + $contribution->campaign_id = $objects['contribution']->campaign_id; $objects['contribution'] = &$contribution; } @@ -341,5 +344,4 @@ class CRM_Core_Payment_PayPalIPN extends CRM_Core_Payment_BaseIPN { $input['net_amount'] = self::retrieve('settle_amount', 'Money', 'POST', FALSE); $input['trxn_id'] = self::retrieve('txn_id', 'String', 'POST', FALSE); } -} - +} \ No newline at end of file diff --git a/CRM/Core/Payment/PayPalProIPN.php b/CRM/Core/Payment/PayPalProIPN.php index 3f5ad9ef2f..67ddcc9629 100644 --- a/CRM/Core/Payment/PayPalProIPN.php +++ b/CRM/Core/Payment/PayPalProIPN.php @@ -196,13 +196,16 @@ class CRM_Core_Payment_PayPalProIPN extends CRM_Core_Payment_BaseIPN { // create a contribution and then get it processed $contribution = new CRM_Contribute_BAO_Contribution(); $contribution->contact_id = $ids['contact']; - $contribution->financial_type_id = $objects['contributionType']->id; + $contribution->financial_type_id = $objects['contributionType']->id; $contribution->contribution_page_id = $ids['contributionPage']; $contribution->contribution_recur_id = $ids['contributionRecur']; $contribution->receive_date = $now; $contribution->currency = $objects['contribution']->currency; $contribution->payment_instrument_id = $objects['contribution']->payment_instrument_id; $contribution->amount_level = $objects['contribution']->amount_level; + $contribution->honor_contact_id = $objects['contribution']->honor_contact_id; + $contribution->honor_type_id = $objects['contribution']->honor_type_id; + $contribution->campaign_id = $objects['contribution']->campaign_id; $objects['contribution'] = &$contribution; } -- 2.25.1