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 - 626 through 650 (of 1,909 total)
Author Replies
Author Replies
Posted: Saturday Jan 26th, 2013 at 5:03 am #39641
Staff Member

Thanks for the follow-up :-)

Please set the following Shortcode Attribute: modify="1"
Or generate a Pro Form for Billing Modifications (does the same thing).

Billing Modification Forms are what should be introduced to existing Users (i.e. they already have an account), so s2Member® needs them to be logged into their account before upgrading (or renewing in this case). If a User is NOT currently logged-in, we have to assume they are new; and thus, the email address they are attempting to use is already taken, because they already have an account at your site.

Setting modify="1", will force the customer to log in before completing checkout.

See: Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms

Please let us know if problems persist :-)

Posted: Saturday Jan 26th, 2013 at 4:58 am #39640
Staff Member

Thanks for the follow-up :-)

I sent Paypal your text file and got on the phone with them again, and they said there was nothing wrong from our end. They say it’s a legitimate refusal from the processor or the card issuer’s bank, and that it’s a generic decline. He said it could be any number of reasons on the part of the processor or bank, probably having to do with their fraud filters, but they aren’t privy to any of that specific information.

One person I talked to also mentioned that the fraud filters for Payflow are more robust than for the normal Paypal Express checkout. Even though I was using separate Paypal accounts as customer and merchant to do these test transactions, the billing address would still be the same (since they’re both mine), and the fraud filters might not like that. However, I had a friend test with her account just now (and she says her account is even verified with a checking account), and it still gave the same error #36.

The guy also said these fraud filters can be inconsistent, meaning that one day they may accept a particular transaction and that another day they would decline the exact same one. Apparently there’s an element of randomness to it??? I consistently get this error though, and with Payflow credentials entered, I’ve never successfully setup a recurring billing profile with Express checkout.

So they are suggesting that we should take this error at face value then. This would make the most sense to me as well. If these declines resulted from test transactions, that would be expected. Fraud filters can be amazingly effective. Declining a site owner a purchase from their own site, where they are the merchant, is a fairly common decline among payment gateways; so I wouldn’t blame PayPal® too much for this. Even though it’s viewed as an inconvenience, test transactions should really be processed against a development environment whenever possible.

Having others test your site (as you’ve done) would be more effective, but only if they are not associated with you, and they are not on the same IP address that you are on either.

Also, I would be sure that test amounts are within reason. For instance, don’t try to run a test transaction at $0.01 over and over again, because that can create a red flag with your underlying merchant bank. I’d go with charges of at least $2.50 when running live tests. Or, whatever you’ve listed with your merchant bank, as being the average retail sale amount — most banks keep this on file.

At this point, it really just feels like a brick wall. Paypal says it’s a legitimate decline, and that the customer just has to use another funding source. Paypal just doesn’t work for my particular site/merchant account. So I asked Paypal if I could remove their payment option from my site and just use credit cards (contrary to Paypal’s policy), and they said I could.

s2Member® intentionally makes this impossible, because it violates PayPal’s terms of service. I can’t say that I recommend doing this, but here is how you would go about it. It requires custom code.

Find line #84 inside: /s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php

$attr["accept"] = (!in_array("paypal", $attr["accept"])) ? array_merge($attr["accept"], array("paypal")) : $attr["accept"];

Comment that line out, and add the following underneath it.

//$attr["accept"] = (!in_array("paypal", $attr["accept"])) ? array_merge($attr["accept"], array("paypal")) : $attr["accept"];
						if(empty($_POST["s2member_pro_paypal_checkout"]["card_type"])) $_POST["s2member_pro_paypal_checkout"]["card_type"] = "Visa";

In your Pro Form Shortcode, set the following Shortcode Attributes.
accept="visa,mastercard,amex,discover,maestro,solo" accept_via_paypal=""

Please let us know if problems persist :-)

Posted: Saturday Jan 26th, 2013 at 4:25 am #39635
Staff Member

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

The issue here is that you’re adding slashes to each array value separately. The only reason to add slashes (I recommend using mysql_real_escape_string), is to properly escape the final serialized data string so it can be inserted properly into the database.

Example:

$array = array(
		'key' => $value,
		'another_key' => $another_value
	);

mysql_query("UPDATE ... meta_value='".mysql_real_escape_string(serialize($array))."' ...");

That’s about as far as I can go on custom coding. I’ll be happy to provide you with more leads on where to find certain things, or to share ideas with you, but I can’t debug any custom code that you end up with; due to time constraints :-) Please see: s2Member® » Support Policy » Within Scope for some clarification on this. Thanks!

Posted: Saturday Jan 26th, 2013 at 4:13 am #39634
Staff Member

Thanks for the heads up on this thread :-)

@AnotherOpus

I.e. Is it possible that because we allow level zero registered users to access unlimited downloads, that once a member is cancelled down to level zero they will continue to be authenticated–so essentially, once a “member” with access to podcasts–always a member with access to podcasts.

When a paying Member is demoted down to a Free Subscriber, they are at Membership Level #0 (a Free Subscriber). This is the default EOT Behavior for s2Member® installations. If your configuration of s2Member® allows unlimited downloads at Membership Level #0, that would create the behavior you’ve described. I would suggest that you configure s2Member® so that Membership Level #0 allows ZERO downloads.

See also: Dashboard -› s2Member® -› PayPal® Options -› Automatic EOT Behavior

If you are seeing inconsistency in this behavior, please keep the following details in mind. An Amazon S3 link (once it is generated for an authenticated User/Member), will remain available for up to 24 hours. So regardless of Membership Level, if they were authenticated at some point in the last 24 hours by s2Member®, their access to files in your Amazon S3 Bucket will remain, for up to 24 hours.

Dashboard -› s2Member® -› Download Options -› Amazon® S3/CDN Storage
Dev Note w/Technical Details: s2Member uses “Digitally Signed URLs”, authenticated by the Amazon® S3 API. Documented for developers here. To put it simply, s2Member will generate Amazon® S3 URLs ( internally ); which allow Customers temporary access to specific files inside your S3 Bucket. s2Member’s Digitally Signed URLs leading to Amazon® S3, give a Customer 24 hours to connect to the file inside your S3 Bucket. This connection period of 24 hours is largely irrelevant when used in combination with s2Member, because access is renewed for another 24 hours each time you make a file available to a User/Member, and they are authenticated by your configuration of s2Member. This connection period of 24 hours is just a secondary line of defense to further prevent the possibility of link sharing. If you need to change this connection timeout of 24 hours for some reason ( not likely ), you can use this WordPress® Filter: ws_plugin__s2member_amazon_s3_file_expires_time.

Another wildcard here (which I’m not clear on yet), is the way your podcast is integrated with s2Member®. If your podcast feed itself, is NOT protected by s2Member®, only the audio files that it offers; then that’s fine. But please note that if your feed itself is not protected, the feed will remain available to anyone that can access it. If problems persist for you, please submit a Dashboard login and we’ll review your configuration. Also please submit a URL leading to your podcast feed so we can review that with you as well.

Please do that privately. See: s2Member® » Private Contact Form

Please let us know if problems persist :-)

Posted: Saturday Jan 26th, 2013 at 2:06 am #39630
Staff Member

Thanks for the follow-up :-)

s2Member® Pro includes a disclaimer for ClickBank on your default Thank-You page. If there is another disclaimer that is required by ClickBank, please let us know. See attached screenshot (click to enlarge).

Posted: Saturday Jan 26th, 2013 at 2:01 am #39628
Staff Member

Thanks for the follow-up :-)

Please post screenshots of your configuration here, and I will review this with you.
See: Dashboard -› s2Member® -› General Options -› Registration/Profile Fields

Posted: Saturday Jan 26th, 2013 at 1:59 am #39627
Staff Member

Thanks for the follow-up :-)

I read on the forum that the redirct page should not have any text on it. I checked my PalPal information and it all appears to be correct. I rebuilt the PayPal buttons but the problem persists.

I’m sorry. What problem exactly? What is the expected outcome?
Is there a problem related specifically to s2Member here?

Note. This URL leads to a PHP script file, and not to any output generated by a server scan.
See: https://docs.google.com/file/d/0B71IVUXzSG2JVXBZVEs5b1BkSk0/edit

If you would like to test your server, please use the official server scanner that we offer.
Please download via this linke: http://www.s2member.com/r/server-check-tool/
Unzip & upload to your server — then open in a browser.
Posted: Saturday Jan 26th, 2013 at 1:52 am #39625
Staff Member

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

While it’s not called this by name, yes. With s2Member® Pro you can maintain a master Coupon Code configuration file, which contains ALL of your Coupon Codes (and their configurations). So if you maintain this file offline, you could log back into your Dashboard and submit a new version of this configuration at anytime you like.

Posted: Saturday Jan 26th, 2013 at 1:49 am #39624
Staff Member
Posted: Saturday Jan 26th, 2013 at 1:48 am #39623
Staff Member

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

No, I’m sorry but this feature is not available in the current release of s2Member® or in s2Member® Pro. It is on our list, and a future release will make this possible. There is no formal release date at this time however.

Posted: Saturday Jan 26th, 2013 at 1:46 am #39622
Staff Member

Thanks for reporting this important issue.

I received the following error upon a review of your installation.


Some users seem to be going straight to the members area home page when they log in. Some go to the profile page – http://www.sippclub.com/wp-admin/profile.php – which is really confusing for them. It seems older users are OK and arrive at http://www.sippclub.com/welcome-to-the-members-area/ and newer ones are not.

I’m not aware of any reason for an older Member to be treated differently from a newer Member. The only thing that comes to mind is s2Member’s One-Time Offers (Upon Login), but those would have to configured by you, so you would know why this is occurring (i.e. it would be on purpose).

Dashboard -› s2Member® -› General Options -› One-Time Offers (Upon Login)


It’s possible that you have a theme/plugin injecting a redirect_to value in your login page.
Please see: Video » s2Member (Login Welcome Page Conflicts?)

Please let us know if problems persist :-)

Posted: Saturday Jan 26th, 2013 at 1:39 am #39620
Staff Member

Thanks for reporting this important issue.

When I attempt to access this URL, I see the following page (no 404 error on my end).


If problems persist, please try to reproduce this on a clean installation of WordPress® (i.e. only s2Member active, and running a default WordPress theme). If the problem can be reproduced there, please submit a Dashboard login privately (to the clean test site) and we’ll run diagnostics for you.

Please use: s2Member® » Private Contact Form

Posted: Saturday Jan 26th, 2013 at 1:35 am #39618
Staff Member

Thanks for reporting this important issue.

Three people have signed up and paid but their accounts have not upgraded from ‘subscriber’. The payment went through fine and they have not suspended their payments but they cannot see premium content.

I will assume that you’re running with the PayPal payment gateway?

I suggest that you enable s2Member’s PayPal IPN logging routines, so you can find out why post-processing is failing on your installation (that’s what this sounds like to me). If you have further trouble, please post your log files privately for us to review with you.

See: Dashboard -› s2Member® -› PayPal® Options -› Account Details -› Logging

What would happen if I just manually upgrade them? Would their payments still go through in a month?

Yes, billing is handled by your payment gateway, and on-site access is handled by s2Member. So upgrading them manually will grant them access on-site, without modifying any billing agreement that you already have with these customers. Please edit the User in WordPress® and change their “Role” to a Membership Level.

Posted: Saturday Jan 26th, 2013 at 1:31 am #39617
Staff Member

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

I have a pretty small blog (100 posts) and no members. I want to hire someone to install s2 but your link to s2 in your main site is dead.

Thanks for reporting this. Can you please post the URL leading to a dead link for me?

Where can I go and see what something like this will cost? I have cPanel and such and don’t want any bells and whistles really; just an install on my site to make the whole site Member only other than the landing page.

Please see: s2Member® » Prices/Licensing

Note that we do not offer installation services at this time. Please see: s2Member® » Support Policy
I recommend hiring a freelancer if you need assistance. See: Elance.com

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

Posted: Saturday Jan 26th, 2013 at 1:27 am #39616
Staff Member

Thanks for reporting this important issue.

I’m giving Bruce a heads up on this topic, because that is his KB article.

Posted: Saturday Jan 26th, 2013 at 1:25 am #39615
Staff Member
Posted: Saturday Jan 26th, 2013 at 1:24 am #39614
Staff Member

Thanks for reporting this important issue.

We’re not aware of any performance issues with s2Member®. This is not something that’s being reported by anyone else, so I’ll have to assume (at least for now), it’s installation-specific. What other themes/plugins (besides Quick Cache) are you running in concert with s2Member?

If you need archived releases of s2Member or s2Member Pro,
please see the Release Archive tabs on these pages.
s2Member® » Framework
s2Member® » Pro (Upgrade)
Posted: Saturday Jan 26th, 2013 at 1:20 am #39613
Staff Member

Thanks for reporting this important issue.

That very interesting. I’ve not heard this before, and I’m not aware of this being attributed to any known bug in s2Member. The only thing that comes to mind is the upgrade process for s2Member®.

If you upgrade the free s2Member® Framework plugin to a version that requires an update of the s2Member® Pro Add-On, you will get a notice about this in the WordPress Dashboard. Until you upgrade the Pro Add-On as well (so these two plugins are operating at compatible versions with each other), the s2Member® Pro functionality will remain disabled. Do you think this is what happened?

Please let us know if problems persist :-)

Posted: Saturday Jan 26th, 2013 at 1:14 am #39612
Staff Member

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

Yes I believe we can help you w/ s2Member® Pro.

1. Free registrations only
2. Multiple free account types (Pension, Business, Advisor)

Yes, this is possible with s2Member® Pro Forms.
See: Knowledge Base » s2Member® Pro Forms
See: Video » s2Member (Free Registration On Multiple Levels?)

3. No cross-category content (Pension accounts only see Pension content, Business accounts only see Business content)

Yes, please use s2Member’s Custom Capabilities for this. You would provide Free Registration Forms, using Shortcodes like these, where you provide access to specific Membership Levels, and to specific Custom Capabilities. Note that Custom Capabilities provide access that is not incremental like Membership Levels are. So using Custom Capabilities together with Membership Levels is quite powerful.

[s2Member-Pro-PayPal-Form level="1" ccaps="pension" .... /]
[s2Member-Pro-PayPal-Form level="2" ccaps="business" .... /]
[s2Member-Pro-PayPal-Form level="3" ccaps="advisor" .... /]

See also: Dashboard -› s2Member® -› API / Scripting -› Custom Capabilities
See also: Video » s2Member (Custom Capabilities)

4. Individual registration forms for each account type (no drop down, radio button, checkbox, etc. for selecting account type)

Yes, please setup Registration/Profile Fields with s2Member, and narrow down some of these custom fields to specific Membership Levels. This way when you display the Registration Pro Form that provides access to Membership Level #1 with Custom Capability “pension”, s2Member® will be displaying all of the Registration/Profile Fields configured for Membership Level #1. Do the same for Membership Levels #2 and #3.

See: Dashboard -› s2Member® -› General Options -› Registration/Profile Fields

5. The registration forms have to co-exist on the same page (one page will have the Pension and Business form on the same page)

Not possible with s2Member. We allow only one Pro Form on each page. So if you generate three Pro Forms (one for each Membership Level and Custom Capability), they need to be introduced through Pro Form Shortcodes that are inserted into a Post or Page of their own. You could have a one page that contains links/promotions for two different types of accounts, but the actual registration form needs to be on its own Post or Page.

6. Export members/users/registrations to CSV

Yes, this is possible with s2Member® Pro.

7. [Nice-to-have but not strictly necessary.] Double-opt-in (Visitor signs up on website, gets email with link to click through to confirm)

Yes, you can integrate with either AWeber, or with MailChimp (or both if you like).

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

Posted: Saturday Jan 26th, 2013 at 12:55 am #39608
Staff Member

Thanks for the follow-up :-)

One thing I noticed, is that the video doesn’t show on my android phone? Any ideas why?

It appears to me that you’ve used [s2Stream player="jwplayer-rtmp-only" ...], and with this player, ONLY the RTMP stream is made available.

I could be wrong (things changed quite often with this), but I don’t believe Android can handle RTMP streams via Flash. I believe you will need HTML 5 video tags, and that requires [s2Stream player="jwplayer-rtmp" ... /], which provides a fallback for these devices, by serving the MP4 file instead of the RTMP stream when necessary.

Posted: Saturday Jan 26th, 2013 at 12:51 am #39606
Staff Member

Thanks for the follow-up :-)

It seems like in our system, a disconnect has emerged between what’s happening on Paypal and what’s happening on S2. While PayPal is renewing annual subscriptions, S2Members doesn’t seem to be getting the message that payment has been posted, so user accounts are expiring.

Your shortcodes look good.

When you say “user accounts are expiring”, what do you mean exactly by this? Are they losing access on-site? If so, what are they losing access to? Is their Role being demoted back down to a Free Subscriber? If that’s the case, is s2Member leaving you an Administrative Note on the account, regarding the demotion?

Please note… given the Shortcodes that you posted, s2Member would not set an EOT Time for these customers, because s2Member expects to be notified by PayPal if there is a problem. If there are no problems reported by PayPal, s2Member assumes that everything on the billing side is fine, and access should continue.

So my assumption (based on what I know thus far), is that PayPal is reporting to s2Member, that there is a problem somewhere with your customer accounts. Inspecting your PayPal IPN logs that are maintained by s2Member would reveal any communication like this that’s occurred.

Posted: Saturday Jan 26th, 2013 at 12:43 am #39604
Staff Member

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

No, I’m sorry but this is not yet possible with s2Member® out-of-the-box. It would require some custom code, or a custom plugin to add this functionality. It is a feature that we’re working to add in the next major release however. There is currently no formal release date yet.

Posted: Saturday Jan 26th, 2013 at 12:40 am #39603
Staff Member

Thanks for the great idea!

Posted: Saturday Jan 26th, 2013 at 12:39 am #39602
Staff Member

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

No, I’m sorry. That’s not possible with s2Member® out-of-the-box.

Posted: Saturday Jan 26th, 2013 at 12:35 am #39601
Staff Member

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

Yes, that is correct. Any PayPal Button that uses a “Subscription” will require that a User have a PayPal account. But if you’re only charging one time, and there is no Initial/Trial period involved, you can just as easily create a “Buy Now” Button, where the customer will NOT need a PayPal® account to complete checkout.

See: Dashboard -› s2Member® -› PayPal® Buttons -› Membership Level # Buttons

Viewing 25 replies - 626 through 650 (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.