From ceeac74bda06f2adabc95a1e6555bdb5d886d6c3 Mon Sep 17 00:00:00 2001 From: Ruben Rodriguez Date: Thu, 19 Aug 2021 17:59:33 +0200 Subject: [PATCH] Only complete first transaction if found. RT#1683617 --- trustcommerceIPN.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/trustcommerceIPN.php b/trustcommerceIPN.php index 4642a1c..c58ab9e 100644 --- a/trustcommerceIPN.php +++ b/trustcommerceIPN.php @@ -126,18 +126,18 @@ class CRM_Core_Payment_trustcommerce_IPN extends CRM_Core_Payment_BaseIPN { }else{ $first_contribution_id=$result['values'][0]['contribution_id']; $first_status_id=$result['values'][0]['contribution_status_id']; - } - // If first contribution is pending, and the IPN is Complete, complete original transaction - if ($first_status_id == 2 && $input['status'] == 1){ - $result = civicrm_api3('Contribution', 'completetransaction', [ - 'id' => $first_contribution_id, - 'trxn_id' => $input['trxn_id'], - 'trxn_date' => $input['date'], - 'payment_processor_id' => 7, - ]); - $this->logmsg('TrustCommerceIPN: Completed first contribution for contact: '.$contact_id.' amount: $'.$input['amount'].' trxn_id: '.$input['trxn_id'].' status: '.$input['status']); - // TODO handle errors + // If first contribution is pending, and the IPN is Complete, complete original transaction + if ($first_status_id == 2 && $input['status'] == 1){ + $result = civicrm_api3('Contribution', 'completetransaction', [ + 'id' => $first_contribution_id, + 'trxn_id' => $input['trxn_id'], + 'trxn_date' => $input['date'], + 'payment_processor_id' => 7, + ]); + $this->logmsg('TrustCommerceIPN: Completed first contribution for contact: '.$contact_id.' amount: $'.$input['amount'].' trxn_id: '.$input['trxn_id'].' status: '.$input['status']); + // TODO handle errors + } } // check if IPN contribution already exists -- 2.25.1