Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-14645

Contribution is accepted even if Membership is not renewed.

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Trivial
    • Resolution: Fixed/Completed
    • Affects Version/s: 4.4.5
    • Fix Version/s: 4.5
    • Component/s: None
    • Labels:
      None

      Description

      Scenario One:

      A member has two types of memberships,
      Membership Type A -> Status = Current
      Membership Type B -> Status = Cancelled

      1. The user tries to renew his/her membership via an online contribution specifying the same email associated with his/her CiviCRM record.
      2. Instead of selecting Membership Type A which is current, he/she selects Membership Type B while making the contribution.
      3. Result: Contribution is accepted, but membership renewal fails since Membership Type B has a status of Cancelled.

      NB. The same is not true for offline renewals. Renewing the membership changes the membership type and membership dates and records the correct contribution.

      The fix:
      We should throw a validation error for this (edge) case and not allow them to submit the transaction.

      "Your $membershipTypeLabel membership was previously cancelled and can not be renewed online. Please contact the site administrator for assistance."

      ==================
      Scenario Two:
      A member has membership of Membership Type 'General' (Org A) -> Status = Cancelled. The user now tries to signup for new membership of Membership Type 'Student' (Org A) from online. In this case user's contribution is accepted but its membership is declined since the user has Cancelled Membership for same Organization(Org A). Is it a bug or the user is never allowed to buy a membership for an organization if he/she already has Cancelled or Pending Membership for that organization?

      The fix:
      I can imagine scenarios where back-office staff cancels a 'Student' membership and asks the user to signup instead for a 'Senior' or other more appropriate membership type. We should NEVER accept payment for a membership if we're not going to process it - so this use case results in a paid contribution w/o a membership it definitely is a bug.

      The fix is to allow the new membership to be created (e.g. in your user story they would have a new Student membership).

      ===========
      General Comments:

      The general rule is we are NOT allowing users to renew or signup for a previously Cancelled membership TYPE. But we are allowing them to signup for OR renew a membership type where they have a Cancelled membership of a different type (regardless of whether both membership types link to same owner organization).

      This should work both for logged in and anonymous online membership signup / renewal. So we'll need to verify that (for example) that we properly handle an anonymous user 'signing up' for a membership type for which they have a Cancelled membership. I'm not familiar enough w/ the flow of the code here - but hoping that we 'know' that the 'matched' contact has a cancelled membership before we actually process the payment transaction.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dgg David Greenberg
                Reporter:
                edsel Edsel Lopez
              • Votes:
                0 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: