Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Fixed/Completed
-
Affects Version/s: 2.2.4
-
Fix Version/s: 2.2.6
-
Component/s: CiviMember
-
Labels:None
Description
Assuming that CRM-4555 bug fix is in place, the behavior for pay-later (and IPN) renewals of existing membership is:
- Membership end date is updated to new end date
- Membership status is set to Pending
This behavior is not ideal, since a member whose status at renewal time has "is_current" property (e.g. New, Current, Grace) will have their status set to Pending and may be denied membership "rights" until their payment is received. (For example, I decide to renew my status 1 month prior to it's expiration. My Current status becomes Pending - which has "is_current" = false attribute - even though I have 1 month left on my membership.)
Solutions
-------------
Two possible approaches to evaluate based on complexity of implementation:
1. (Preferred solution): For Pay-later and IPN renewals, do not update membership record at all. Then when payment is received, update both status and membership dates. The membership start date for the renewal can use the date that payment is received (rather than date that the renewal was submitted via online form).
We need to determine whether we have enough information at the time the contribution record is "completed" to properly update the membership record. If so, use this approach.
2. (Alternate solution): For Pay-later and IPN renewals, don't change membership status to Pending IF the current status has is_current flag = true. Example: If my status at renewal time is Current or Grace, don't change it to Pending. If current status has is_current flag = false, then change it to Pending.
All other processing logic remains unchanged (membership dates are still updated when online membership form is submitted).
Attachments
Issue Links
- supplements
-
CRM-4555 Renewing existing membership with Pay Later incorrectly sets membership status to Current AND extends membership end date
- Done/Fixed