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 - 226 through 250 (of 1,909 total)
Author Replies
Author Replies
Posted: Monday Feb 18th, 2013 at 8:18 pm #42378
Staff Member

Thanks for the follow-up :-)

Have you integrated with Pro Forms or Buttons? If you can paste the s2Member® Shortcode you used, that will tell me what I need to answer your last question properly.

One trick to testing this, is to place an image that you actually see in your API Tracking fields. That way you’ll know when/where it shows up during your tests.

Posted: Monday Feb 18th, 2013 at 8:07 pm #42376
Staff Member
Accepted as a feature request. Thank you!
Posted: Monday Feb 18th, 2013 at 7:46 pm #42372
Staff Member

Thanks for the heads up on this thread :-)

Probably the easiest way to deal with this, is to simply filter the value as it comes through to s2Member®.

Please create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
(NOTE: these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins)
(See also: http://www.s2member.com/kb/hacking-s2member/)

Posted: Monday Feb 18th, 2013 at 6:27 pm #42354
Staff Member
Awesome! Thanks for reporting back on this.

Please let us know if you have any other questions/concerns :-)

Posted: Monday Feb 18th, 2013 at 6:24 pm #42353
Staff Member
Thanks for your inquiry. ~ We appreciate your patience :-)

My issues are as follows:

1. You require that I design a separate page for each level of membership, with no solution to have the potential client select their membership level from the checkout page. I think this is a pretty basic feature that should be included in a pro product.

We intentionally leave this decision up to you, to provide greater flexibility for site owners. If you want to provide a selection to potential customers, this is what your s2Member® Membership Options Page is for. This is where most site owners will list all available purchase options.

If you are using s2Member® Pro, you can generate Pro Forms for each of your different payment options and link those up with whatever UI that you produce in a WordPress® Post or Page for your customers. Every site owner has a different approach to this, and your UI for prices/options might be different from others.

I will accept a default selection system implemented by
s2Member® as a feature request though. I can see where it would be helpful.

2. My members cannot manage their payment profiles from my site. They have to login to paypal to cancel or see their payment status. Really?

Only if a customer previously paid you through a PayPal “Standard Subscription” Button and not through a Pro Form via on-site credit card processing or through PayPal Express Checkout (i.e. you mix Buttons together with Pro Forms). This is a limitation in the PayPal® API. PayPal Standard Subscriptions (because these are NOT Recurring Profiles generated through the PayPal Pro API); cannot be cancelled through the PayPal Pro API. You must log into your PayPal account and cancel these manually; or the customer can do this from their PayPal account also.

If you process all credit cards on-site and/or accept PayPal® through a Pro Form, this is not the case at all. Customers may cancel future billing, among other things, directly through s2Member® Pro Forms. See: Knowledge Base » s2Member® Pro Forms

Even in cases where a PayPal® Standard “Subscription” was used, s2Member® Pro Forms provide functionality and details to these customers. For instance, if a customer would like to cancel future billing, but their Billing Profile is tied to a PayPal® Standard “Subscription”, Pro Forms will ask the customer to log into their PayPal account to cancel future charges.

3. After trying with three different WordPress themes and deactivating all my plugins for potential conflicts, the pro forms still look terrible and very amateur. I know these were coded with a standard WordPress theme in mind and they have the potential to look great. But they don’t and considering this is one of the primary reasons I purchased the pro upgrade, I am not going to hire a developer to re-code the forms.

I will accept this as a gripe. However, please explain to me how s2Member® should handle it when you introduce a Pro Form into a site where there is additional CSS applied by your theme which modifies the default appearance?

s2Member® Pro comes with basic structural styling that works with most WordPress® themes. However, we can’t accommodate every possible scenario. Nor would we want to really. If we forced a certain appearance across all installations of s2Member® Pro, this will remove everyone’s ability to design their overall look n’ feel; which many site owners feel is important.

See: Modifying/Customizing s2Member® Pro Forms

A default Pro Form looks quite generic, yet still professional. See also (Pro Screenshots).

Default s2Member® Pro Form (for Checkout)


Sorry, but I would like my money back.

Refund request denied (for now).

This is your very first support ticket after having purchased the software. Please work with us to resolve and/or better understand the functionality of the software first.

We have a no-refund policy on all non-tangible, digital items. We will consider special cases (i.e. if the product has failed to perform as advertised); but this occurs VERY rarely. I’m not seeing any violation like that here. Please read through our Refund Policy. If you can show us that s2Member® was advertised to handle something that it’s failing to do, and all efforts to resolve that issue here in the forums fail, we will consider this again for you.

See: s2Member® » Terms » Refund Policy

Posted: Monday Feb 18th, 2013 at 5:42 pm #42350
Staff Member

Thanks for the heads up on this thread :-)

This IS possible in most cases.

Students need to be able to see the lessons they have purchased – presumably this would be on their user profile page? And ideally they could access their purchased lessons/pages from their list of purchased lessons.

What are you selling them exactly? s2Member® has many different functionalities, and the instructions will be different depending on whether you sold them Specific Post/Page Access, a Membership Level, or Custom Capabilties? Thanks!
Posted: Monday Feb 18th, 2013 at 5:39 pm #42349
Staff Member

Thanks for your inquiry. ~ We appreciate your patience :-)

This sounds like a question for the developer of that software. I will try to answer what I can about s2Member’s functionality in this regard though.

1. Tracking has nothing to do with actual sales or transaction processing. s2Member® API Notifications are an additional functionality that simply tracks the sale and credits an affiliate.

2. If tracking is not working as expected, I would first check to be sure that s2Member® actually processed the transaction successfully. See: Dashboard -› s2Member® -› Log Files (Debug) -› s2Member® Log Viewer.

Or, you could also setup an API Notification with s2Member® that comes via email directly to you, so you will know that particular DID get processed. This would be my recommendation for testing.
See: Dashboard -› s2Member® -› API / Notifications -› Payment Notifications

3. If you can confirm that transaction processing is going through fine, but your affiliate application is not tracking the sale, I would check to be sure you have the tracking code provided by your affiliate system in the right place (i.e. make sure it is attached to the correct API Notification — normally s2Member’s Payment Notification).

If all else fails, please consult with the developer of your affiliate system about this. Please feel free to invite them to this discussion. The API Notification URL that you posted looks fine to me. However, it results in a dead link when I attempt to access that URL in a browser.

Posted: Monday Feb 18th, 2013 at 5:30 pm #42347
Staff Member
You are very welcome. This was addressed in the release of s2Member® v130213.
See: http://www.s2member.com/changelog/#s2-changes-v130213
Posted: Monday Feb 18th, 2013 at 5:24 pm #42346
Staff Member

Thanks for reporting this important issue.

The current release of s2Member® does not work when/if a playlist:{} object property is added through player_option_blocks="" Shortcode Attribute, because s2Member® sets the playlist:{} property based on your file_download="" value. Please see this updated article for JW Player v6, which now requires that Captions be added through the playlist:{} object property. I will accept this as a feature request and create an internal Issue tracker so this gets updated in a future release of s2Member®. Please keep an eye on our Changelog for a notice about this.

See: s2Member® » Unified Changelog

For now, if you need Captions; you will need to implement your own JW Player JavaScript snippet and integrate that with s2Member®. See: Advanced Techniques (WordPress® Theme Integration)

Posted: Monday Feb 18th, 2013 at 5:05 pm #42344
Staff Member

Thanks for your inquiry. ~ We appreciate your patience :-)

I don’t see anything in your code that actually assigns those customizations to anything s2Member-related. I see your translations, but those need to be assigned to values that s2Member® uses please.

Please create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
(NOTE: these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins)
(See also: http://www.s2member.com/kb/hacking-s2member/)

Posted: Monday Feb 18th, 2013 at 4:59 pm #42343
Staff Member

Thanks for the follow-up :-)

Raam (an s2Member® Support Rep) made that comment because there is currently to Hook/Filter or UI option to disable this. If you hack this in, that hack will need to be implemented again and again, each time you update the s2Member® plugin and your source code modifications are overwritten.

We have created an internal Issue tracker for this, and we’ll at least try to add a Filter for this in the next maintenance release. Please keep an eye on our Changelog, because we will mention it there for sure.

See: s2Member® » Unified Changelog

Posted: Monday Feb 18th, 2013 at 4:56 pm #42342
Staff Member

Thanks for the follow-up :-)

I believe you are referring to this article that discusses MailChimp v8.
See: http://blog.mailchimp.com/v8/

From that article…

Account Keys converted into Admin-level users

Now that we’re launching multiple accounts, what do we do with our old Account Keys feature? If you’ve ever granted an Account Key to someone, you know that it was basically like giving them a set of keys to your house. Sure you can change your locks (or revoke an Account Key) if something went wrong, but you tend to only give keys to people you really know and trust. Since Account Key holders are equivalent to “Admins” for your account, they’ll all be converted over to Admin level users. This is to prevent interruptions for anyone out there that’s used to a certain level of access to your account. So now’s a good time to sign in to your MailChimp account and revoke any keys that aren’t being used anymore. Or, when v8 is live and propagated to all servers (by the end of next week, if all goes well) you should sign in and change permission levels for any users that you don’t want to be an Admin.

MailChimp’s API, OAuth and mobile apps not converted yet

We’re not 100% finished yet. There will be places in MailChimp where only Admin level access works: the MailChimp API, our mobile apps (which use the API), and third-party integrations that use our API. All this means is that if you try to use something that accesses MailChimp through the API, only Admin credentials will work. Non-Admins will get errors.

“Account Keys” are not the same as “API Keys”, which is what s2Member® uses (API Keys). Therefore, I don’t foresee (at this point in time) any ramifications on the s2Member® side of things :-)

We’ll keep an eye on their progress though. It sounds like they are not finished, and there could be some changes that would affect s2Member® before they are done. I seriously doubt they would change anything to cause all existing API integrations to fail though :-)

Posted: Monday Feb 18th, 2013 at 4:42 pm #42341
Staff Member

Thanks for the follow-up :-)

You’re very welcome. Yes, that is correct. Coupon Codes accepted by s2Member® are NOT case sensitive. However, s2Member will convert all Coupon Codes to lowercase before spitting them back out in API Notifications (or anywhere else) to create a standard that is easier to follow. Why exactly would your affiliate system reject them based on case?

Posted: Monday Feb 18th, 2013 at 4:38 pm #42340
Staff Member
Great article Randy. Thanks for posting this!

Here is another quick example. Not any better, but an alternative way.

<?php
if(($user = wp_get_current_user()))
	foreach ($user->allcaps as $_cap => $_cap_enabled)
		if (preg_match ('/^access_s2member_ccap_/', $_cap) && $_cap_enabled)
			$s2member_ccaps[] = preg_replace ('/^access_s2member_ccap_/', '', $_cap);
unset($_cap, $_cap_enabled); // Housekeeping.

if(empty($s2member_ccaps))
	echo 'Sorry; you have not registered for any of the products.';

Here is a built-in class method that will make this even easier.

http://www.s2member.com/codex/stable/s2member/user_access/c_ws_plugin__s2member_user_access/

Using built-in class method to check a specific User by ID#.

http://www.s2member.com/codex/stable/s2member/user_access/c_ws_plugin__s2member_user_access/


See also: Knowledge Base » s2Member® Roles/Capabilities
See also: Knowledge Base » Changing Roles/Capabilities via PHP
See also: Video » s2Member (Custom Capabilities)

Posted: Monday Feb 18th, 2013 at 4:21 pm #42339
Staff Member

Thanks for the follow-up :-)

I’ve copied the website over to a test installation (with a PayPal sandbox option activated as it happens) and with exactly the same plugins installed and with Easy Table activated this time. There’s no error produced

Oh, good! So this is a simply configuration issue most likely.

I used the TPC! Memory Usage plugin to check for differences in the servers and the only differences I found were:
MySQL – 5.0.96-community on the problem site, 5.1.56-log on the test site that’s fine.
Magic Quotes – set to ON on the problem site, set to OFF on the test site that’s fine.

So it’s a mystery to me why the Easy Table plugin causes problems on one site and not the other one. Any ideas your end?

I don’t think either of those differences would cause a problem for WordPress® or s2Member®. Can you please check to see if one of these servers is running Mod Security?

See also: Knowledge Base » Mod Security, Random 503/403 Errors
See also: Dashboard -› s2Member® -› Log Files (Debug) -› s2Member® Log Viewer
– Look at log file: s2-http-api-debug.log (although not ALL Mod Security issues will show up here)

(NB another question arose when using the Sandbox – I appeared to be directed to the regular PayPal site rather than a different URL, so when I entered Sandbox username and password for the buyer it was rejected – is this to be expected?)

A Pro Form would only redirect you to the Sandbox if Sandbox Mode was enabled in your s2Member® configuration. See: Dashboard -› s2Member® -› PayPal® Options -› Account Details

Or, if a Payment Button (not a Pro Form) was generated using the Full HTML code, that HTML code would need to be updated once you move from the Sandbox to a live PayPal account.

Posted: Monday Feb 18th, 2013 at 4:13 pm #42338
Staff Member

Thanks for your inquiry. ~ We appreciate your patience :-)

My site recently migrated from HostGator to WP Engine.

The Clickbank IPN log shows the widely-cited “Unable to verify $_POST vars” error message for each order.

Did you also change domain names?
Did your s2Member® Security Encryption Key change?
See: Dashboard -› s2Member® -› General Options -› Security Encryption Key

Please submit a Dashboard login and we’ll inspect your log files for the underlying issue. Thanks!
Please use: s2Member® » Private Contact Form

Posted: Monday Feb 18th, 2013 at 4:10 pm #42337
Staff Member

Thanks for the heads up on this thread :-)

While we can’t offer assistance with custom code, I will try to point you in the right direction here.
See: s2Member® » Support Policy

The payment status should be: payment_status=Completed

See also: Dashboard -› s2Member® -› PayPal® Options -› PayPal® IPN Integration
Check this sub-section please: IPN w/ Proxy Key (optional, for 3rd-party integrations)

POST variables should follow PayPal® standards.
Please see: PayPal’s IPN/PDT reference guide for full documentation.
Posted: Monday Feb 18th, 2013 at 4:01 pm #42333
Staff Member

Thanks for the heads up on this thread :-)

Related KB article. See: Knowledge Base » Protecting Non-WordPress Content with s2Member

However, this may not work in the scenario you’ve described, because the other site will already be running WordPress® too it sounds like. I would recommend that you try to consolidate these areas of your site into a single installation of WordPress® (i.e. one wp_users table in other words).

Posted: Monday Feb 18th, 2013 at 3:58 pm #42332
Staff Member

Thanks for the heads up on this thread :-)

Error #10501 often occurs because your PayPal account does not yet have Pro service enabled.

Please see these related discussions…

http://www.s2member.com/forums/topic/paypal-error-10501/
https://www.x.com/developers/paypal/forums/website-payments-pro/error-10501-paypal-sandbox
http://stackoverflow.com/questions/10553263/paypal-sandbox-invalid-merchant-configuration-error-10501

Please let us know if problems persist :-)

Posted: Monday Feb 18th, 2013 at 3:53 pm #42329
Staff Member

Thanks for the heads up on this thread :-)

Is this possible? If I turn off the “blog farm setting” in S2, will there just be one instance of S2? Will it turn off site creation all together?

I don’t recommend turning off the Blog Farm option in this scenario. Turning off the Blog Farm setting eliminates the additional security enhancements and profile editing considerations (which are SUPER important) in a Multisite Blog Farm that is allowing other site owners to operate Blogs in your Network. These security enhancements and dynamic mutations of the s2Member® software application are discussed in greater detail by an additional PDF document that we make available to s2Member® site owners that purchase a Network Support License.

The only way I can think to do this is is to disable site creation at payment/registration and set up a system where the members mail me requests to create a site and I manually create the site, add the user to it, set their role level etc. But this obviously does not scale well.

This could certainly be an option for you. Either this, or adding custom code of your own (i.e. hacking s2Member®); or by integrating another network-wide plugin that helps you accomplish this in the way you’ve described. I can confirm that s2Member® alone will NOT meet all of your needs here. You will need to seek developer assistance for things like modifying the default Role of new site owners and/or limiting blog exposure to other community members. The BuddyPress community would also a great resource.

See: Knowledge Base » Hacking s2Member® Via Hooks/Filters

Moving this back to the Community Forum for greater exposure now. If you would like Blog Farm support from s2Member® Support Reps, please purchase our Network Support License. Thanks! See: s2Member® » Prices/Licensing
Posted: Monday Feb 18th, 2013 at 3:38 pm #42325
Staff Member

Thanks for the heads up on this thread :-)

The current s2Member POT file (which is updated for each new release of s2Member®), includes the following.

#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:69
#: s2member-pro/includes/templates/forms/authnet-registration-form.php:50
#: s2member-pro/includes/templates/forms/paypal-checkout-form.php:69
#: s2member-pro/includes/templates/forms/paypal-registration-form.php:50
msgctxt "s2member-front"
msgid "Username (lowercase letters and/or numbers)"
msgstr ""

#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:75
#: s2member-pro/includes/templates/forms/authnet-registration-form.php:56
#: s2member-pro/includes/templates/forms/paypal-checkout-form.php:75
#: s2member-pro/includes/templates/forms/paypal-registration-form.php:56
msgctxt "s2member-front"
msgid "Password (type this twice please)"
msgstr ""
Please see my reply here also. Where I discuss this issue specifically.
Posted: Monday Feb 18th, 2013 at 3:25 pm #42320
Staff Member

Thanks for the follow-up :-)

With Payment Buttons, you can take a Shortcode provided by s2Member® and change the output="" Attribute to output="url". Then you create a redirection that occurs at your installation site.

Please create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
(NOTE: these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins)
(See also: http://www.s2member.com/kb/hacking-s2member/)

Posted: Monday Feb 18th, 2013 at 3:17 pm #42318
Staff Member

Is there a better way to get support other than the several-day turnaround on the forum? Can we knock this out over the phone in real time?

No, I’m sorry but our support service is limited to support provided here in the Customer Support Forums. We do not offer phone support at this time.

See: s2Member® » Support Policy

Posted: Monday Feb 18th, 2013 at 3:15 pm #42317
Staff Member

Thanks for the follow-up :-)

I just took another look at your installation and log files. I see what you’re talking about. Definitely an issue. Unfortunately this error comes directly from the Payflow API during s2Member’s attempt to process the transaction for you. Payflow is not accepting the API Credentials you’ve supplied s2Member with.

I suggest that you take one of those log entries and show it to the PayPal support team. You will need to ask them why the credentials that you’ve supplied are not passing authentication with the Payflow API. I can confirm this does NOT occur on other s2Member installations; so the issue in this log entry is installation-specific (or PayPal account-specific).

array (
  'RESULT' => '1',
  'RPREF' => 'RLF58C14EC31',
  'RESPMSG' => 'User authentication failed: Recurring Billing',
  '__error' => 'Error #1. User authentication failed: Recurring Billing.',
)

In this log entry, the term “User” is referring to the merchant (e.g. your API credentials). This error message comes directly from the Payflow API. We need PayPal to help explain this please.

When you submit this to PayPal, be sure to include the ENTIRE log entry, which also includes the API Credentials that you supplied s2Member with. They will need to see the entire log entry to help you with this. See: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_testing_SBSupport

If problems persist, I would also suggest that you test your Payment Gateway on a clean/test installation of WordPress® where there are no other plugins installed but s2Member (running a default WP theme). This eliminiates the possiblity of a plugin or theme conflict somewhere, which may add to confusion during this type of testing. See: Knowledge Base » Common Troubleshooting Tips

Please let us know what PayPal tech support has to say. Thanks!

Posted: Monday Feb 18th, 2013 at 2:40 pm #42312
Staff Member

Thanks for your reply :-)

Thank you. If you would like to submit a Dashboard login for me, I will run diagnostics for you. I just tried to reproduce this locally but I was unable to. If we can run diagnostics, perhaps we can tell you more. Please see: s2Member® » Private Contact Form

Viewing 25 replies - 226 through 250 (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.