Page 1 of 1

Missed Account Registration

PostPosted: July 9th, 2010, 10:29 pm
by danisrael
Jason. First, let me say - Very nice work on the plug. It's thorough and very intuitive. Especially given the process through PayPal isn't always. You should be getting a cut from PayPal for making their service so accessible.

Question on a user who missed the account registration. I'm assuming they closed before the redirect. I found their PayPal Subscriber ID and info. And I'm assuming I just put this in the appropriate field, set the EOT, and their subscriber level...and voila. Please let me know if there is anything else.

However, as we don't have the OPEN REGISTRATION option, do I need to create their account manually? Or is there another way for a user to set that up? And if an account isn't setup before the IPN is sent, does s2Member just ignore it, or is there a caching effect that may tie this together based on email or other criteria.

Also, is there anyway to search the Word Press Users for the Subscriber ID? It doesn't seem to be a search field. Is the only way to do this, through a SQL query on the database itself? If so, can you advise the table/column to search?

Thanks again for you help...and great work.

Re: Missed Account Registration

PostPosted: July 16th, 2010, 1:49 am
by Jason Caldwell
Thanks for the great questions.
Question on a user who missed the account registration. I'm assuming they closed before the redirect. I found their PayPal Subscriber ID and info. And I'm assuming I just put this in the appropriate field, set the EOT, and their subscriber level...and voila. Please let me know if there is anything else.

Nope, that's it. You are correct in your assumption. The account can be created manually, or if an account already exists, you can update the account manually. You just find a User in the list, by logging into your WP Dashboard, and navigating to the list of "Users". [ more information here ]
However, as we don't have the OPEN REGISTRATION option, do I need to create their account manually? Or is there another way for a user to set that up? And if an account isn't setup before the IPN is sent, does s2Member just ignore it, or is there a caching effect that may tie this together based on email or other criteria.

You might want to have a look at this Post. It offers some insight as to how s2Member processes data from PayPal. If this does not answer your questions, please let me know.
Also, is there anyway to search the Word Press Users for the Subscriber ID? It doesn't seem to be a search field. Is the only way to do this, through a SQL query on the database itself? If so, can you advise the table/column to search?

The data that s2Member stores for each Customer, is found in the "wp_usermeta" table. The easiest way to access this information, is to use the WP_User class, which is already built into a default installation of WordPress. Here is a code sample for you.
Code: Select all
<?php
$user = new WP_User("johndoe22"); // Or use their ID# instead of the Username.
$s2member_subscr_id = get_usermeta($user->ID, "s2member_subscr_id");
$s2member_custom = get_usermeta($user->ID, "s2member_custom");
$s2member_custom_fields = get_usermeta($user->ID, "s2member_custom_fields");
?>

$s2member_subscr_id This may output something like: S-82234JD0923423
( this is the PayPal Subscription ID associated with their account )

$s2member_custom This may output something like: www.yourdomain.com|cv1|cv2|cv3
( this is the PayPal input field value for the `custom` variable )

$s2member_custom_fields If you've configured additional Custom Fields with s2Member, those Custom Fields will be in this array. For example, if you configured the Custom Field: Street Address, it would be included in this array as: street_address. Custom Field references are converted to lowercase format, and spaces are replaced by underscores. You can do print_r($s2member_custom_fields); to get a full list for testing.

I also suggest the s2Member API, which makes all of this even easier to deal with. In your WP Dashboard, you can read the section under, s2Member -> API Scripting -> API Constants.