diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index e7d3adae812..2ddab06997f 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -2492,8 +2492,11 @@ public static function recordMembershipContribution(&$params, $ids = array()) { // store contribution id $params['contribution_id'] = $contribution->id; - //insert payment record for this membership - if (empty($ids['contribution']) || !empty($params['is_recur'])) { + // Create membership payment if it does not already exist + $membershipPayment = civicrm_api3('MembershipPayment', 'get', [ + 'contribution_id' => $contribution->id, + ]); + if (empty($membershipPayment['count'])) { civicrm_api3('MembershipPayment', 'create', [ 'membership_id' => $membershipId, 'contribution_id' => $contribution->id,