PriMoThemes — now s2Member® (official notice)

This is now a very OLD forum system. It's in READ-ONLY mode.
All community interaction now occurs at WP Sharks™. See: new forums @ WP Sharks™

EOT: how does custom date interact w/membership extension

s2Member Plugin. A Membership plugin for WordPress®.

EOT: how does custom date interact w/membership extension

Postby divagrrl27 » January 14th, 2012, 3:20 pm

I gave a few members a special 3-mo extension as a free bonus. For those members, I hand-typed the extended EOT date into the Automatic EOT Time field in the user profile.

Then, some members -- including some of those who already got the free extension -- bought an additional 3-mo membership extension.

How do I handle this? Unless I hand-typed in the Automatic EOT Time, there seems to be no way to find out what the EOT is for any given members. How do I know what NEW date to put into this field?? I'm rather concerned about how to keep track of this as my membership grows -- I can't possibly track every single member's EOT if it doesn't show up somewhere in their profile, so I have no way of knowing what the NEW EOT should be.

I understand that the EOT is supposed to automatically change if someone buys with a shortcode, but what if I "hand" changed their EOT date previously? What happens then? The EOT date didn't change when these members bought an extension.

What happens if I delete the info in the Automatic EOT Time field? Will the system then use the last date in that field as their EOT, or will it revert to the EOT date from their original purchase (big problem), or..?

I hope this makes sense... Thanks for any help you can give me!

Melissa
User avatar
divagrrl27
Registered User
Registered User
 
Posts: 64
Joined: October 25, 2011

Re: EOT: how does custom date interact w/membership extensio

Postby Raam Dev » January 18th, 2012, 1:44 pm

Hi Melissa,

As long as you've hand-typed an Automatic EOT Time on their account, s2Member will ignore it's own auto-EOT times and listen to what you've configured.

EOT = End Of Term. ( i.e. Account Expiration / Termination. ).

If you leave this empty, s2Member will configure an EOT Time automatically, based on the paid Subscription associated with this account. In other words, if a paid Subscription expires, is cancelled, terminated, refunded, reversed, or charged back to you; s2Member will deal with the EOT automatically.

That being said, if you would rather take control over this, you can. If you type in a date manually, s2Member will obey the Auto-EOT Time that you've given, no matter what. In other words, you can force certain Members to expire automatically, at a time that you specify. s2Member will obey.


If you leave that field on their profile blank, s2Member will set the EOT Time when it receives an IPN message from PayPal about a Subscription expiring, being cancelled, terminated, refunded, reversed, or charged back to you.

In other words, s2Member doesn't set the EOT time until one of those things happens (which is why the field will remain blank until that message is received).

If you clear the field right now, s2Member will automatically behave based on the EOT time it receives.

Does that make sense?
Raam Dev || Wherever you are, be there. || Please rate s2Member!
User avatar
Raam Dev
Developer
Developer
 
Posts: 810
Joined: October 26, 2011

Re: EOT: how does custom date interact w/membership extensio

Postby divagrrl27 » January 18th, 2012, 2:38 pm

I'm still unclear on what happens if I hand-change the EOT, but then *delete* that info--does s2Member remember the date I had previously typed in there? Or does it revert to the original EOT from the first purchase/join date? Or does it revert to the most RECENT purchase/membership extension? Or...?

Ultimately, what is a good solution when I need to:

a) sometimes extend someone's membership without having them make an additional purchase
b) AFTER doing a, have a membership automatically extend when they DO make an additional purchase

Make sense?
User avatar
divagrrl27
Registered User
Registered User
 
Posts: 64
Joined: October 25, 2011

Re: EOT: how does custom date interact w/membership extensio

Postby Raam Dev » January 18th, 2012, 10:46 pm

Yes, as I explained, s2Member doesn't set the EOT until it receives the EOT IPN message from PayPal. If you manually type in an EOT and then remove it before s2Member receives the EOT IPN from PayPal, then s2Member will behave as if you ever manually entered an EOT.

If you manually enter an EOT, then delete it, then have someone place a new order that extends their membership, s2Member will simply EOT automatically when that new membership ends.

s2Member does not save any manually entered EOT that you supply and then delete.
Raam Dev || Wherever you are, be there. || Please rate s2Member!
User avatar
Raam Dev
Developer
Developer
 
Posts: 810
Joined: October 26, 2011

Re: EOT: how does custom date interact w/membership extensio

Postby divagrrl27 » January 18th, 2012, 11:42 pm

Thanks Raam Dev. I'm still not clear on a few things.
You wrote:

"If you manually type in an EOT and then remove it before s2Member receives the EOT IPN from PayPal, then s2Member will behave as if you ever manually entered an EOT."

Do you mean "s2Member will behave as if you NEVER manually entered an EOT"?

Here's a sample scenario:

Member purchases a 3-month membership on November 1 (EOT is automatically set to end of January). Then because of some bonus, on December 1 I "hand-extend" the membership by 3 months by typing in an EOT of, say, April 30.

What happens if I remove the typed-in EOT on December 2? Does s2Member still "know" that the EOT is April 30, or does it revert to thinking the EOT is end of January?

And what if I remove the typed-in EOT on March 15? Or April 3? Does s2Member now "think" that the member's membership has expired?

MEANWHILE: I had a few other members who extended their memberships via a PayPal purchase, but since there is nothing in the EOT field, I have no way of knowing if their EOT did actually change. There must be a database that has this info, right? Where is it? I've had problems with members NOT being added to my AWeber list when they were supposed to, so I'm skeptical that s2Member is logging member extensions as it's supposed to, and I don't want annoyed members knocking on my door because they got locked out before the term they paid for!

I hope this makes sense... I'm finding it really challenging to explain this, but I'm also having a hard time believing this issue has not been brought up before... Seems pretty basic to want to see an EOT for every member.

Thanks!
User avatar
divagrrl27
Registered User
Registered User
 
Posts: 64
Joined: October 25, 2011

Re: EOT: how does custom date interact w/membership extensio

Postby Raam Dev » January 24th, 2012, 11:33 pm

divagrrl27 wrote:"If you manually type in an EOT and then remove it before s2Member receives the EOT IPN from PayPal, then s2Member will behave as if you ever manually entered an EOT."

Do you mean "s2Member will behave as if you NEVER manually entered an EOT"?


Yes, that's what I meant; sorry for the spelling mistake. However, that statement is only true for recurring subscriptions, not fixed-term subscriptions like you're using (which set the EOT immediately after purchase). Please see below.

divagrrl27 wrote:Here's a sample scenario:

Member purchases a 3-month membership on November 1 (EOT is automatically set to end of January). Then because of some bonus, on December 1 I "hand-extend" the membership by 3 months by typing in an EOT of, say, April 30.

What happens if I remove the typed-in EOT on December 2? Does s2Member still "know" that the EOT is April 30, or does it revert to thinking the EOT is end of January?

And what if I remove the typed-in EOT on March 15? Or April 3? Does s2Member now "think" that the member's membership has expired?


With a 3-month membership, s2Member should immediately receive an EOT IPN from PayPal indicating that the membership should expire in 3 months (e.g., end of January).

If you manually change the EOT to April 30 and a few weeks later clear EOT field, s2Member has no way of knowing what the original EOT was (because s2Member relies on receiving the EOT IPN from PayPal, which has already occurred when the subscription was created and therefore will not happen again).

That means if you remove the manually typed in EOT at any point on a non-fixed membership (e.g., 3-month membership), you'll end up with a membership that never expires (because the EOT field would remain empty forever).

divagrrl27 wrote:MEANWHILE: I had a few other members who extended their memberships via a PayPal purchase, but since there is nothing in the EOT field, I have no way of knowing if their EOT did actually change. There must be a database that has this info, right? Where is it? I've had problems with members NOT being added to my AWeber list when they were supposed to, so I'm skeptical that s2Member is logging member extensions as it's supposed to, and I don't want annoyed members knocking on my door because they got locked out before the term they paid for!


If these membership extensions were fixed-term memberships (e.g., 3-months access), the EOT field should've been updated immediately after purchase. If that's not happening, I suspect you might have problems with your IPN integration (PayPal should've sent back an EOT IPN for that subscription indicating when it's supposed to end).

I recommend enabling logging routines (WP Admin -> s2Member -> PayPal Options -> PayPal Account Details -> Enable Logging Routines?) and looking at the logs for the transactions in question.

A final note:

The existing EOT Time on the account (i.e., whatever you've entered into the Automatic EOT Time field) is always obeyed, except in the follow scenario:

The only time the EOT time is not obeyed is when/if the EOT is triggered by a refund or charge-back, and you have chosen WP Admin -> s2Member -> PayPal Account Details -> EOT Behavior -> Refunds/Reverals always trigger an immediate EOT.

SNAG-0043.png
SNAG-0043.png (12.38 KiB) Viewed 449 times


In this special case, existing EOT Times are ignored, and s2Member will EOT the account immediately, regardless of whether or not an existing EOT Time exists already for the account.

In all other cases, an existing EOT Time is obeyed, even if an IPN is received that tells s2Member to EOT the account, it will not do so, because an EOT Time is already established for the account (perhaps by you directly).
Raam Dev || Wherever you are, be there. || Please rate s2Member!
User avatar
Raam Dev
Developer
Developer
 
Posts: 810
Joined: October 26, 2011


Return to s2Member Plugin

Who is online

Users browsing this forum: Exabot [Bot], Google [Bot] and 2 guests

cron