Membership cancellation -> EOT date calculated wrong

3 replies [Last post]
fontanat
Offline
Joined: 03/03/2010
Status: 
Answered

Hi,

One of my memberships is a 3 day trial, which converts to a full membership after 3 days.

I just noticed that the role granted upon subscription is not taken away at EOT, but instead 3 days after the user cancels.

So to be more precise:
- user became a 3 day trial member on the 5th (which means he would convert to full price on the 8th).
- user cancelled membership on the 8th before the payment recurred, so he did not convert to become a full priced member, which means that the 3 day trial membership EOT would occur on the same day.
- the MS module should have revoked the assigned subscription role on the 8th (since that was the end-of-term set with the 3 day trial), BUT instead, set itself to take away the role on the 11th, 3 days after what it should have been.

So I'm guessing that the module takes away the role X number of days after cancellation, where X is the original full duration of the membership. This is wrong, it should revoke the role at EOT when Paypal send the EOT IPN, or just calculate correctly.

Best,
Tom

Leighton Whiting
Offline
Joined: 06/02/2009
Tom, Actually, the way

Tom,
Actually, the way Membership Suite calculates EOT is by first checking if the start_time + trial_period is in the future or not. If it is, then the membership must still be in trial period and the EOT will be start_time + trial_period. If the trial_period is over, then EOT will be start_time + regular_period.

From your description, I can't see why it would be doing that, unless the trial period was passed and it tried to use the regular period. How many days was your regular period set for?

Sincerely,
Leighton Whiting

fontanat
Offline
Joined: 03/03/2010
The regular period is monthly

The regular period is monthly recurring, it has no reason to calculate start time + 3 days. Maybe the problem is due to the fact that the trial was cancelled on the day it would have converted to normal membership, so maybe the module date calculation thought it had already recurred, and added another trial period.

Also, you wrote that "If the trial_period is over, then EOT will be start_time + regular_period."

I think that should correctly be start time + trial period + regular period no?

Tom

Leighton Whiting
Offline
Joined: 06/02/2009
Tom, You are correct, I

Tom,
You are correct, I looked over the function again and I see what is going wrong. I'll get a fix out tonight.

Sincerely,
Leighton Whiting

Twitter Feed