CRM-16737, CRM-15296 support for payment_status_id as the new official way to
[civicrm-core.git] / CRM / Member / BAO / Membership.php
index 13c2ca8c83516cb3b9bf80849513868c1cc4213a..bc51d8effb155b7e26e25b4240fbaa64c8e342c2 100644 (file)
@@ -1452,7 +1452,8 @@ AND civicrm_membership.is_test = %2";
     // Do not send an email if Recurring transaction is done via Direct Mode
     // Email will we sent when the IPN is received.
     if (!empty($form->_params['is_recur']) && $form->_contributeMode == 'direct') {
-      if (!empty($membershipContribution->trxn_id)) {
+      if (!empty($membershipContribution->trxn_id) && !isset($membershipContribution->payment_status_id)
+        || (!empty($membershipContribution->payment_status_id) && $membershipContribution->payment_status_id == 1)) {
         try {
           civicrm_api3('contribution', 'completetransaction', array(
             'id' => $membershipContribution->id,