latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Jason (Lead Developer)

Staff Member

My Latest Replies (From Various Topics)

Viewing 25 replies - 1,451 through 1,475 (of 1,909 total)
Author Replies
Author Replies
Posted: Thursday May 17th, 2012 at 6:44 pm #13817
Staff Member

By default, s2Member menu items will ONLY display if the current administrative user has the create_users Capability. So you might take a look to be sure the Role you’re dealing with, does NOT have this Capability. If it does, please remove that Capability from the custom Role that you’re setting up.

Otherwise, if more control is needed, you can always filter the s2Member menu out with a custom hack. s2Member exposes a Filter to make this possible.

Create the directory and file:
/wp-content/mu-plugins/s2-hacks.php
( these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins )

<?php
add_filter("ws_plugin__s2member_during_add_admin_options_create_menu_items", "__return_false");
?>

Of course, you might want to apply some conditional logic before adding the filter, but this may help.

Posted: Thursday May 17th, 2012 at 6:38 pm #13816
Staff Member

Yes, I agree with you.
I’m having this updated in the next maintenance release.

Posted: Thursday May 17th, 2012 at 6:02 pm #13812
Staff Member

Thanks for the heads up on this request for support.

The issue is with the BuddyPress layer.

Sorry, if the issue is with BuddyPress, you will need to seek assistance from BuddyPress. I attempted to view the link you posted earlier (http://bit.ly/JPVaeB/), but it appears to be broken now? If you have some further details that you’d like us to review, please feel free to follow-up.

Otherwise, you might try the BuddyPress forums, if the problem is specifically with BuddyPress.
http://buddypress.org/support/

Posted: Tuesday May 15th, 2012 at 7:33 am #13513
Staff Member
UPDATE: s2Member® Pro v120514 now supports the rrt attribute for Authorize.Net Pro Forms. Please see: s2Member® Unified Changelog » v120514
Posted: Tuesday May 15th, 2012 at 7:32 am #13512
Staff Member
UPDATE: s2Member® Pro v120514 fixes this issue.
s2Member® Unified Changelog » v120514
Posted: Tuesday May 15th, 2012 at 7:31 am #13510
Staff Member
UPDATE: s2Member® Pro v120514 now supports the Payflow® API for Recurring Billing.
s2Member® Unified Changelog » v120514
Posted: Tuesday May 15th, 2012 at 5:07 am #13482
Staff Member
This has been corrected in the development copy, and will be fixed in the next maintenance release. Thanks for bringing this to my attention, both of you :-)
$xml .= '<billTo>';
$xml .= '<firstName>'.esc_html(substr($post_vars["x_first_name"], 0, 50)).'</firstName>';
$xml .= '<lastName>'.esc_html(substr($post_vars["x_last_name"], 0, 50)).'</lastName>';
$xml .= '<address>'.esc_html(substr($post_vars["x_address"], 0, 60)).'</address>';
$xml .= '<city>'.esc_html(substr($post_vars["x_city"], 0, 40)).'</city>';
$xml .= '<state>'.esc_html(substr($post_vars["x_state"], 0, 2)).'</state>';
$xml .= '<zip>'.esc_html(substr($post_vars["x_zip"], 0, 20)).'</zip>';
$xml .= '<country>'.esc_html(substr($post_vars["x_country"], 0, 60)).'</country>';
$xml .= '</billTo>';
Posted: Tuesday May 15th, 2012 at 2:21 am #13454
Staff Member
Thanks for the heads up on this request for support.
~ Investigating now.
Posted: Monday May 14th, 2012 at 7:07 pm #13429
Staff Member

Thanks for the follow-up.

“It appears that PayPal IPN transactions are timing out from WordPress due to the one of the port being not open. Please provide us with the server requirements to further look into it. We have open only standard ports.”

I still think there is a server configuration issue here. s2Member is only attempting to access a publicly available URL over port 80 (i.e. the standard HTTP port). Like I said before, I believe there is a mis-configuration at the hosting level, causing the firewall to deny requests made by the server itself. If port 80 is being blocked, it should NOT be. Particularly if it’s the server itself making this request.

Please feel free to invite FatCow here for assistance with this issue. If there is something more than we/they can do, we’ll be happy to work with them in an effort to resolve this issue.
Posted: Monday May 14th, 2012 at 7:02 pm #13428
Staff Member

Thanks for the heads up on this request for support.

This works fine. You CAN nest level/ccap combinations, and s2Member will handle this properly.

/access-s2member-level2/access-s2member-ccap-man/

However, you CANNOT nest more than one Custom Capability. s2Member is not designed to handle this in file downloads. It only looks at one Custom Capability in the path to the file.

Posted: Monday May 14th, 2012 at 6:48 pm #13426
Staff Member

Thanks for the heads up on this request for support.

B. The user downloads 5 files in 7 days, and when the next 7 day period starts, he downloads 5 different files but no longer has access to re-download the first 5. The 5 files are based on concurrent use. If I had 50 files, it would take him 10 weeks to download them all but he would not be able to re-download them.

Following the example that you laid out…

s2Member allows X number of files to be downloaded, every X number of days, as configured by the site owner. A customer may download up to 7 different files in each 7 day period. The date calculation begins when the first downloaded occurs, and automatically resets back to 0 after 7 days has passed.

For example…

If a customer downloads 5 files today, they are not allowed to download any new files until 7 days later, when the next period begins for this customer. When the next period begins, 5 new files can be downloaded.

There is no distinction in these calculations regarding files downloaded in previous periods. A customer will NOT always have access to files they’ve downloaded in the previous periods. Once a new period begins, all previous downloads are wiped away. In other words, a customer could not download 5 new files, and then go back and download 25 files again, which they might have downloaded in the past.

Posted: Wednesday May 9th, 2012 at 7:32 pm #13098
Staff Member
Thanks for the heads up on this thread.

Does CCBill menu contains the subscription support?

Yes, s2Member supports both one-time payments and subscriptions via ccBill.

Does it have the form ID to be used with the sub-account such as 0000, 0001, 0002 for payment process on CCBill’s site?
Our does require this in order to purchase the subscription correctly.

I’m not sure I understand this question. s2Member uses a single dynamic pricing form from ccBill. You create one form that supports dynamic pricing, and s2Member handles the rest.

Does it support the subscription for such as 28 days recurring? Even 1 year (NOT-recurring), then 28 days recurring?
Our packages on CCBill side provide this and MagicMembers does have this supportive with the form ID for it as well.

ccBill supports only the following recurring intervals: Monthly, Bi-Monthly, Quarterly. In addition, it is also possible to offer an initial subscription period of X days before billing will begin. So you could, for example, offer 30 days free (or for a different price), then charge a separate recurring fee after that initial period has expired.

After successful payment, will s2Member be notified? Or required to use datalink to be as “notified”?
Magicmembers received and CCBill does send the payment success and cancellation directly without need of datalink for quicker response I assumed.

s2Member is notified immediately after checkout. s2Member integrates with ccBill in three different ways, all working together to form a solid connection to this payment gateway. 1. Via ccBill’s Approval/Denial URLs. 2. Via Background Post integration. 3. Via DataLink integration, to assist in the processing of expired subscriptions, refunds, and/or chargebacks.

Would datalink affect the test accounts on WordPress or only those accounts using CCBill subscription?
There are few accounts that is in used without the subscription and not using CCBill, usually the administrators.

Only those accounts that ccBill reports on, and that match an existing customer who previously checked out via ccBill. Having other test accounts, or other accounts that were processed by another payment gateway supported by s2Member Pro is fine.

Also is there an option to prevent the users logging in when the subscription has expired and/or canceled except for higher level such as Contributor member?
MagicMembers prevent the users to log in until they have paid the subscription with success.

s2Member comes with an EOT behavior option, allowing you to choose the way you want to handle chargebacks, refunds, expirations, etc. By default, members are demoted back down to a Free Subscriber. They’ll still able to log into the site, but access to any protected content will have been revoked in this scenario you put forth. Of course, there are various ways to customize this as well.

Posted: Wednesday May 9th, 2012 at 6:54 pm #13096
Staff Member

@Alissa Glenn

This might be completely unrelated… however, I noticed when logging into your site via FTP, that I HAD to use http://ftp.fatcow.com, instead of your primary domain name. Your primary domain kept timing out on me. I suspect this is somehow related to the issue on the site itself. Anyway, just thought I would mention that.

Posted: Wednesday May 9th, 2012 at 6:51 pm #13094
Staff Member

@Susanna Rosario

Who is your hosting company please? FatCow also?
If problems continue, please re-submit your server details, and please include the FTP host/user/pass this time, so I can run diagnostics on your installation as well.

s2Member® » Private Contact Form

Posted: Wednesday May 9th, 2012 at 6:42 pm #13093
Staff Member

@Alissa Glenn

Investigation completed.

I found that your server is misconfigured in some way. HTTP requests from the server to itself are timing out, which is indicative of a server configuration issue, perhaps with DNS resolvers.

I’ve created a test file for you here.
http://www.noplanmealplan.com/?http_test=1

This should print success on the screen, but it is continuously timing out with the following error.

WP_Error::__set_state(array(
   'errors' => 
  array (
    'http_request_failed' => 
    array (
      0 => 'connect() timed out!',
    ),
  ),

I have this test logging it’s results into this file, for you and your hosting company to review:
/wp-content/mu-plugins/http-debug.log

The file responsible for handling these tests, was uploaded here:
/wp-content/mu-plugins/http-debug.php

Please delete that http-debug.php file once your hosting company has assisted with this issue.
I would suggest showing these errors to them, and asking for assistance.

It seems that your current server configuration is preventing WordPress from communicating with itself. HTTP POSTs are failing when the server itself is attempting to POST data to it’s IPN handler. This is required for s2Member’s Authorize.Net integration, which POSTs data from a Pro Form, to it’s own IPN handler. From your log files, it seems that your server stopped functioning properly around Sept 2011. That’s when the logs went blank, and nothing more was recorded. I suspect because all HTTP communications began to time out on the server.

Posted: Wednesday May 9th, 2012 at 2:58 pm #13076
Staff Member
Thanks for the heads up on this request for support.
~ Investigating this now.
Posted: Wednesday May 9th, 2012 at 2:26 pm #13069
Staff Member

Thanks for the heads up on this request for support.

s2Member Pro will allow 14 months, but only if you have rr="BN", meaning it’s a Buy Now button.

Otherwise, s2Member Pro is subjected to the limits set forth by PayPal’s Recurring Billing system, which states that recurring billing periods CANNOT exceed 1 year. I know this differs slightly from PayPal Standard Buttons, and I have no idea why, but that’s the way it’s written none the less. Thus, s2Member Pro Forms are not capable of charging customers in intervals that exceed 1 year, 12 months, or 365 days.

https://www.x.com/developers/paypal/documentation-tools/api/createrecurringpaymentsprofile-api-operation-nvp

Posted: Wednesday May 9th, 2012 at 1:52 pm #13066
Staff Member

As with lots of WP sites, my home page displays the most recent posts. I turned Alternative View Protection on for all alternative views, which seems to work everywhere but on the home page. A post that is set to Level 2 or higher is visible but not accessible to anonymous visitors.

I consider the home page feed to be one of those “alternate views” that should be protected. I am trying to provide a link to a customer that should otherwise be invisible to others.

Thanks for the heads up on this request for support.

Yes, s2Member does consider the home page to be one of your Alternative Views. The issue that you’re having, sounds to me like a theme compatibility problem. Perhaps your theme is pulling details from the database, for home page display, with the suppress_filters option enabled, which bypasses s2Member’s Alternative View filters. You might contact your theme developer, and see if they’ve used the get_posts() function, instead of the query_posts() function. The get_posts() function in WordPress suppresses all filters by default, and should be avoided for compatibility with s2Member’s Alternative View filters.

See also: http://codex.wordpress.org/Template_Tags/get_posts
See also: API functions that filter content with s2Member.

Posted: Wednesday May 9th, 2012 at 1:39 pm #13063
Staff Member

Yes, that is correct. s2Member does not store billing information locally, for security purposes. Any updates to billing info must be accompanied by a new submission from the customer, including a new full billing address to match the new payment method they will be using going forward.

Billing Update Forms from s2Member Pro are designed to handle this, by connecting to the payment gateway, and updating the details on file with your gateway, for a specific customer.

Posted: Saturday May 5th, 2012 at 2:48 pm #12690
Staff Member

Thanks for the heads up on this thread.

This is possible with PayPal, but it’s NOT yet possible with s2Member’s Authorize.Net integration. That is, there is no rrt attribute for Authorize.Net Pro Forms yet.

That being said, this IS possible in the development version, and a maintenance release is coming next week, with support for the rrt Shortcode Attribute in Authorize.Net Pro Forms.
Posted: Saturday May 5th, 2012 at 2:13 pm #12681
Staff Member

Thanks for the heads up on this thread.

I just took a quick look at your import file, which looks fine. You have 100 lines in this import, with 5 lines containing duplicate email addresses. I imported this file into an installation of WordPress v3.3.2, running with BuddyPress as the only other plugin, running with the default BuddyPress theme.

WordPress shows 96 Users in the list. That’s 95 from your file, and 1 additional User, which is me (i.e. the administrator of the site). Please let us know if we missed something in this test. So far, I’m not seeing any issue here.
The following errors were encountered during importation:

Line #17. Conflicting. The Email address ( xxxx@xxxxaswsor.com ), already exists.
Line #18. Conflicting. The Email address ( xxxxxx@xxxxu.edu ), already exists.
Line #19. Conflicting. The Email address ( xxxxxx@xxxxxoursuccess.com ), already exists.
Line #20. Conflicting. The Email address ( xxxxxx@xxxxxpanies.com ), already exists.
Line #21. Conflicting. The Email address ( xxxxx@xxxem.edu ), already exists.
Posted: Wednesday May 2nd, 2012 at 5:38 am #12360
Staff Member

So sorry for the delayed response.

I have spoken with PayPal Developer support, and I can confirm that this is indeed the case. Applications previously written to support DPRP through PayPal Pro will no longer work for brand new merchants signing up for PayPal (i.e. signing up for the first time).

In other words, PayPal’s API doc here, no longer apply to new merchants.

This is typical of PayPal. It’s so nice of them to have different APIs for each of their customers, based on the date each customer signs up. Brilliant stuff going on over there!

In short, this means that brand new PayPal Pro accounts, will be sold with the Payflow edition to handle Recurring Billing, and DPRP will not be sold to these accounts. These brand new accounts will need to integrate with Payflow instead (if they wan’t to bill on a recurring basis), following this documentation.

PayPal has said they have NO plans to discountinue support for DPRP in any existing PayPal accounts operating under a Pro status. However, all new PayPal Pro accounts come with a different API to deal with Recurring Billing, which is called Payflow.

The next generation of s2Member will be designed to support the Payflow API for Recurring Billing. Until the next major release of s2Member Pro, current versions of s2Member Pro will require that a merchant has an existing PayPal account, with the ability to acquire a PayPal Pro account with DPRP enabled.

@Rich. PayPal Developer Support said this when I asked about your account specifically.

Unfortunately the approvals for our different account types are done in another department. I would suggest having your merchant contact PayPal Merchant Solutions at 1-888-215-5506
Sincerely, Nathan / Merchant Technical Support / PayPal, an eBay Company

I interpret this as, NO. They can’t (or will not) change your account. Rich, if we can be of further assistance, please contact me directly via: s2Member® » Private Contact Form

Summary:

Existing PayPal accounts holders should NOT be affected by this change, and all aspects of s2Member and s2Member Pro will continue to function as they should. DPRP (Direct Pay / Recurring Billing) service continues to function in existing PayPal Pro accounts, as do other aspects of s2Member Pro integration.

New PayPal Pro accounts will be sold with the Payflow edition. New PayPal Pro accounts will continue to function with all aspects of both s2Member and s2Member Pro; but with one important exception. If Recurring Billing service is needed, you will have the Payflow edition, which is NOT compatible with current versions of s2Member Pro. We are working to integrate with Payflow, so this issue can avoided going forward. In the mean time, if you find yourself in this precarious position, we suggest using Authorize.Net (it supports recurring billing) – instead of PayPal Pro; until such time as s2Member Pro can be updated to support the Payflow API.

This thread will be updated once s2Member Pro supports the Payflow API.

Posted: Wednesday May 2nd, 2012 at 4:33 am #12351
Staff Member

Thanks for the heads up on this thread.

I’m sorry if there has been any confusion about this. There’s currently NO feature in s2Member that would absolutely stop a User/Member from updating their own Profile (i.e. Username/Password/Email Address). However, you do have control over which Custom Registration/Profile Fields can be edited, and which CANNOT be.

If you create your own Custom Registration/Profile Fields, these can be configured to disallow Profile edits, under: Dashboard -› s2Member® -› General Options -› Registration/Profile Fields. Open each field’s configuration window for details regarding this configuration option.

Under s2member > General Options > Member Profile Modifications I have the “Redirect Members away from the Default Profile Panel? ” setting set as “Yes”.

The feature that you’re referring to, is designed to prevent the /wp-admin/profile/ panel from being used, in cases where you’d rather Users/Members stay on the front-end of your site instead (i.e. NOT allowing /wp-admin/profile/ access, to the WordPress default profile editing panel). However, this is NOT to say that s2Member is going to disallow any sort of profile update whatsoever. It’s only preventing profile updates from occurring through the /wp-admin/profile/ panel.

If you’d like to take this a step further, and lock down s2Member’s stand-alone Profile editing panel as well, you could add this action hook to your site, which accomplishes just that.

Please create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
( these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins )

<?php
add_action('init', 'prevent_s2_profile_updates', 1);
function prevent_s2_profile_updates()
	{
		unset($_GET&#91;'s2member_profile'&#93;, $_POST&#91;'ws_plugin__s2member_profile_save'&#93;);
	}
?>
Posted: Wednesday May 2nd, 2012 at 4:15 am #12348
Staff Member

Thanks for the heads up on this thread.
~ and thank you VERY much for the follow-up.

the level is upgraded but the action (set_user_role) is never triggered after the payment.

If the Membership Level is changing, then by definition, the Role is also being changed, and set_user_role should be firing. I suspect that your code IS firing, but the problem in this case, is that s2Member’s routine is overriding the value that your hook is setting, later in it’s own sub-routines, after the change to the User’s Role. In other words, you’re setting s2member_auto_eot_time in your snippet, but s2Member is also handling this, which is nullifying the custom value that you’re attempting to set, after the firing of set_user_role.

Possible solution. Add your code snippet to this hook as well.

add_action('ws_plugin__s2member_during_paypal_notify_during_subscr_signup_w_update_vars', 'expiration_date');
function expiration_date($vars = array()) {
	$user_id = $vars['user_id'];
	$expire_on = strtotime('04/04/2013');
	update_user_option ($user_id, "s2member_auto_eot_time", $expire_on);
}
Posted: Wednesday May 2nd, 2012 at 3:26 am #12346
Staff Member

Thanks for the heads up on this thread.

The s2Member Framework (i.e. the free version of s2Member), is 100% GPL, as-is WordPress itself. Therefore, as long as you follow all of rules of GPL, you can bundle a copy of the s2Member Framework into another GPL-compatible software application. Just remember, your entire application must also be licensed as GPL if it includes s2Member.

s2Member Pro is NOT 100% GPL, and therefore cannot be redistributed in this way. Only the free s2Member Framework can be redistributed. See: http://www.s2member.com/terms/
Viewing 25 replies - 1,451 through 1,475 (of 1,909 total)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.