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.

About: Paul Foster

Marketing Consultant

Topics I'm Subscribed To

Viewing 13 topics - 1 through 13 (of 13 total)
Topic Count Last Reply
S2Member id failing to load it's default css

By:  Paul Foster in: Community Forum

voices: 3
replies: 8

3 years, 6 months ago  Cristián Lávaque

Removing members admin bar

By:  Paul Foster in: Community Forum

voices: 2
replies: 1

4 years, 2 months ago  Eduan

s2member content drip php code not working

By:  Paul Foster in: Community Forum

voices: 2
replies: 6

4 years, 3 months ago  Raam Dev

Your Link Expired Error Message

By:  Karyl McBride in: Community Forum

voices: 5
replies: 5

4 years, 3 months ago  Cristián Lávaque

content dripping and php

By:  Scott Cappos in: Community Forum

voices: 4
replies: 7

4 years, 3 months ago  Scott Cappos

Pop Up Modify Profile – Changes Saved URL

By:  Paul Foster in: Community Forum

voices: 2
replies: 1

4 years, 3 months ago  Raam Dev

affiliate program [rat][request][praise]

By:  Adam Tal in: Community Forum

voices: 5
replies: 18

4 years, 5 months ago  Cristián Lávaque

Stopping Users Registering Twice.

By:  Paul Foster in: Community Forum

voices: 3
replies: 3

4 years, 6 months ago  Raam Dev

Help! s2Member PayPal Buttons Causing Error

By:  Paul Foster in: Community Forum

voices: 3
replies: 4

4 years, 6 months ago  Cristián Lávaque

PayPal completed browser message

By:  Marko in: Community Forum

voices: 3
replies: 9

4 years, 7 months ago  Cristián Lávaque

Need PayPal's PDT variables to use in page.

By:  Paul Foster in: Community Forum

voices: 2
replies: 2

4 years, 7 months ago  Paul Foster

Aweber Integration – change of member level

By:  Paul Foster in: Community Forum

voices: 2
replies: 5

4 years, 7 months ago  Raam Dev

How To Change A User's Member Level With PHP

By:  Paul Foster in: Community Forum

voices: 2
replies: 1

4 years, 8 months ago  Raam Dev

Viewing 13 topics - 1 through 13 (of 13 total)

My Latest Replies (From Various Topics)

Viewing 20 replies - 1 through 20 (of 20 total)
Author Replies
Author Replies
Posted: Thursday Jun 20th, 2013 at 2:40 pm #52299
Paul Foster
Username: PAFoster

All sorted. Thank you.

Posted: Wednesday Jun 19th, 2013 at 3:54 pm #52240
Paul Foster
Username: PAFoster

Also have this in my server error log:
[Wed Jun 19 15:51:42 2013] [error] [client] SoftException in Application.cpp:256: File “/home/pafoster/public_html/” is writeable by group, referer:

Posted: Wednesday Jun 19th, 2013 at 3:49 pm #52239
Paul Foster
Username: PAFoster

Changed from 644, but no joy. Might there be other files that need permission changes too?

Posted: Wednesday Jun 19th, 2013 at 1:16 pm #52221
Paul Foster
Username: PAFoster

Yes, I have gone through the troubleshooting, and also run the s2-server-scanner, and all is good.

I have no caching plugins or consciously doing any caching, and I don’t understand how to enable database or object caching, so unless that’s happened with out me knowing, I don’t know.

I have switched on debug in wp config, and I get the following message, so there appears to be some caching problem somewhere.

Notice: Undefined variable: cache_needs_updating in /home/pafoster/public_html/ on line 94
Posted: Friday Oct 5th, 2012 at 11:55 am #27583
Paul Foster
Username: PAFoster

Very odd things going on, but yes it does work (of course, lol). It seems that something extra was getting in when I cut and pasted – I have no idea what. I have been able to get the exact results I want now, but at one stage had the same code twice on the same page – the first didn’t work, the second did. Very odd, but at least I know it can happen and all I need to do is delete the code (even the page, once I have copied the content) and start again.

Thanks for your help Raam!

PAF :)

Posted: Friday Oct 5th, 2012 at 11:49 am #27582
Paul Foster
Username: PAFoster

You may like to try this, as this was a problem I had at first.

In the PayPal Sandbox mode you will have a different PayPal generated account holder email address. (normally something like your normal one, but with numbers added.) Make sure that in your s2Member set up configuration for PayPal that you use this sandbox email, and not your normal paypal account email.

Hope that works for you.

PAF :)

PS: remember to change the email back again in your s2Member settings before you go live.

PPS: Re paypal sandboxing in general – I don’t use it anymore. I set my buy buttons and forms etc to just charge 0.01 USD, then ask a friend to test for me. A friend will always spot anything odd in the flow, that you may overlook since you are very close to the site, and your friend is basically a new user/member. You’ll also get the emails from PayPal and your site etc exactly as you would when you go live. – Just make sure you change the price back before you do go live!

Posted: Friday Sep 21st, 2012 at 4:52 am #26028
Paul Foster
Username: PAFoster

Hi Ramm,

Atfer more testing…

This works…

<?php if (1 > 2) { ?> <strong>2 is greater than 1</strong> <?php } else { ?> <em>1 is not greater than 2</em> <?php } ?>

This Doesn’t…



<?php } else { ?>
<strong>Sorry, [s2Get constant="S2MEMBER_CURRENT_USER_FIRST_NAME" /]</strong>

<em>You do not have access to this unit yet.</em>

If you think this may be an error then please <a href="/contact-us/" title="Contact Us Page">contact us.</a>
<?php } ?>

I get

= 7){ ?>  

printed on the page and both parts of the html print.



I’ve now put the code into this reply below without the code tags, and the same thing happens here on your site. It executes the php, or rather tries to…

= 7){ ?>


Sorry, [s2Get constant="S2MEMBER_CURRENT_USER_FIRST_NAME" /]

You do not have access to this unit yet.

If you think this may be an error then please contact us.

Posted: Friday Sep 21st, 2012 at 4:27 am #26025
Paul Foster
Username: PAFoster

Hi Ramm,

That works.

<?php if(2 > 1) { ?> <strong>echo '2 is greater than 1';</strong> <?php } ?>

also works.

Which means there must be some thing odd in the HTML of my content I guess.

Any idea what I should be looking for?

Posted: Thursday Sep 20th, 2012 at 3:08 pm #25984
Paul Foster
Username: PAFoster

I also noticed this error message when testing something else.

It’s sorted, but I couldn’t help thinking if I was the customer/user/member, I wouldn’t be able to do anything.

Is there any way this message can have “contact Support” as a hyper link to the support page/email, as is done at the bottom of the s2Member PayPal Return Page?

At least then the customer can move forward with the issue.


Posted: Thursday Sep 20th, 2012 at 10:02 am #25949
Paul Foster
Username: PAFoster

@Scott, you are right in what you are saying, just make sure you have the ‘php execution’ plugin, then taht php goes straight into your HTML editor when creating the page.

Only problem is, it doesn’t appear to work, which is why I’ve joined in this thread.

As you can see from when you posted the code (use the code button above) the

= 30){ ?>

part of the code displays on the page.

(which is what I thought you were mentioning when you posted)

I’m just setting up the same thing as you.

Posted: Thursday Sep 20th, 2012 at 9:20 am #25944
Paul Foster
Username: PAFoster

DITTO!!!! What just about to say the same thing!!

Posted: Wednesday Jun 27th, 2012 at 11:04 am #17657
Paul Foster
Username: PAFoster

@ Derek, @David

This affiliate plugin, would (unfortunately) just have to be a standard affiliate set up and recording/reporting script with the functionality described above.

A the end of the month, the site own would need to pay the affliates individually, like iDevAffliate, and indeed other other WP-Affliate plugins.

To have this as a part of S2Member would be excellent, since it saves trying to integrate other third party affliate plugins and indeed using affilliate plaatforms.

Following exhustive research on this I discovered that Affiliate platforms are able to use Adaptive Payments, since it is their account that is taking the money then passing it on to the others involved.

That is the platform (in Paypal terms, the primary reciever) can take the payment from the customer, keep his commission, then divides the rest up and pays up to five other people (called the secondary recievers), in what is called chain. Everyone is then responsibel for there percent of the fees, based on the money the recieve.

Secondary recievers in an affliate platforms case woulld be you, your affliate, a second tier affliate if you have them, and up to two jv parners, to make a total of up to 5.

In the case of a refund, you have to go back to the aflaite platform to issue one, if that is the buyer hasn’t already instiagted it via paypal.

The primary reciever’s acount ( the affiliate platform) is debited, and a request for money is then sent to the other accounts.

And yes @Derek, this would be is cause for concern.

However what actually happens is that when you join an affliate program to sell your product, you go through the paypal set up process through the affliate signup and in doing so give the platform permission to pay in to your account, and, crucially, debit it too, all done via the paypal api’s.

So if a refund is instigated, or requested, it is the afliate platforms account that is debited, since with the Adaptive Payments process, the primary reciever is liable for the return of the money to customer, no matter what happened to it after payment.

So as you can see, integrating Adaptive Payments in to S2member is sadly simply not possible.

The S2Member Pro User, you or me, for example, would need to have the an app set up using the paypal api’s that allows you to ask the affiliate registering with you to confirm that he will allow payments to made from you to his account as well as, crucilly as we have seen allow you debit. Your JV parners would need to register with you in this way to.

Look as this ‘app’ like setting up a ‘facebook app’ to allow you to create your own pages via tabs on your page. Just a bit more advanced since it’s money that’s in volved here.

Now, in order to be able to use this functionality of app apis in Paypal, as well as use their adaptive payments service, you have to be a limited company, and pass additonal credit checks, accreditation through paypal. (Which I wasn’t aware of when I first commented on this thread.)

And obviously not every S2Member user wanting an affiliate solution is.

So basically, our only option for this if for someone to develop an affilliate plugin that is designed to to work along side and provide more integration with s2Member rather than just be a stard 3rd party affliate plugin, and I’m pleased to say that @David has already offered to get going with some coding which is great!

Though as with all 3rd party affliate plugins, it will only do the tracking and reporting for you, you’ll have to do all the payments once a month manually.

So, sadly for me, I have moved any further on, and have decided to go down the route of changing the way my membership site works in order to be able to list on one of the affliate paltforms, which is a problem in itself, since they don’t return one of the most crucial parts of the paypal IPN – the item number, which interms of S2member is used to represent the member level number that the subscriber changes to.

Can’t have everything in this world.

Thanks to @Adam for raising the request for an s2member affliate add on. I feel I have maybe complicated the issue with refence to Affliate Platforms and Adaptive Payments, as I see that is never going to be possilble, with any plugin afflaite software.

Probably why only the affliate platforms are able to do it.

There is of course scope for me to develop and ‘Affiliate Platform’ specifically for s2Members so any s2Member user can have all the affiliate stuff, including reporting tracking paying etc taken care of.

As well as though obvious benefits, as soon as an s2Member user registers their site/product on the platform, all the ofher s2Member owners will be able to promote it too an there own sites. An instant s2Member family of affiliates, all promoting each other and paying each other comisiion immedialey, increased sales all round!!! Exclusively for s2Member users.

I like it.

Actually, that model isn’t new, The affiliate platform came about as a way for owners of the Rapid Action Profits program to promote each other products, and now not only does it have a wp plugin for anybody to use and get commision on products sold through clicks on a blog etc, (similar to a various ClickBank ones) it also allows other people like you and me to register their own products.

So and afflliate platform specifically for s2Members that works in the way s2Members does re adding and upgrading downgrading new members.

Incidentally, is is custom developed wordpress plugin, running beneath a custom developed wordpress theme!

I’m an excellent marketer, website designer, developer, but not a php coder. Any excellent coders fancy a joint venture partnership to build a kissass affiliate platform exclusively (at least at first) for s2Member users? ;)

Posted: Monday Jun 25th, 2012 at 8:14 pm #17435
Paul Foster
Username: PAFoster

No, Sorry Eduan,

That is exactly the opposite.

That’s for restricting (potentially) multiple users (different IPs) using one account.

I need to stop multiple accounts being set up by one user (one IP) using different email adresses for registering.

But, thank you for posting a reply.


Posted: Thursday Jun 21st, 2012 at 11:34 am #17135
Paul Foster
Username: PAFoster

@Philly – 2,597 Gazzillion Brownie Points! THANK YOU!!!!

I must have reactivated Shortcodes Ultimate by accident yesterday in the middle of what I was doing. (I think I was updating some plugins) My theme provides similar shortcodes so I don’t need it.

I deactivated it and all’s good!!!

Incidentally I’ve been having a major problem whereby any s2member paybay button has half a page of blank space above it, I spent two hours trying to sort that yesterday!! Guess what? Deactivating Shortcodes Ultimate solved that problem too!

Very Happy bunny here! Thank you.

s2Member Rocks!!! :D

Posted: Wednesday Jun 20th, 2012 at 9:59 am #17015
Paul Foster
Username: PAFoster

EXCELLENT, can’t wait!

Please note: Paypal isn’t doing ‘Mass Payments’ any more, so each of our affiliates (100’s?) will need to be paid separately every month – read: massive headaches, ie: serious deal breaker.

You will need to use PayPal’s Adaptive Payments API so affliates can get paid straight away. Member pays site owner, PayPal then immediately pays affiliate from site owners account, and the member knows nothing.

Simple sign up for the Affiliate – register as usual – ‘Affiliate’ is a just user, like ‘Editor’ or ‘Subscriber’ – but an extra field for their PAYPAL email address, and s2member just uses the unique wp user id as an affiliate id.

Great to have an ‘in house’ affiliate program, so to speak, as then members can also be affliates.

Basically guys: KISS

As long as an affiliate can send traffic to something as simple as:, the vistor is cookied, and the affiliate gets paid as soon as the vistor buys, even if they return months later, then that’s just cool.

Seriously. KISS.

I appreciate, this isn’t an ‘I’ll knock this out over the weekend’ kinda thing, but it is seriously needed. 3rd party affiliate platforms/software are just nowhere near flexible enough for the genius of s2Member – it’s their way or the highway.

And I’ve tried FOUR affiliate platforms and even got lost in iDevAffiliate.

Let’s have the s2Affiliate Plugin asap please. Keep it simple, and I’ll be first in the queue with my wallet open!

Go For It Guys!

Posted: Tuesday May 29th, 2012 at 5:52 am #14867
Paul Foster
Username: PAFoster

Many Thanks Raam!

Those resources are just what I needed.
Making some headway!


Posted: Monday May 28th, 2012 at 5:06 am #14800
Paul Foster
Username: PAFoster

Thanks @Marco

I think I see from here that s2Member gets the paypal return data I need, and deals with it ‘under the hood’.

eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
do_action ("ws_plugin__s2member_after_paypal_return", get_defined_vars ());
unset ($__refs, $__v); /* Unset defined __refs, __v. */

Am I to assume that

get_defined_vars ();

will return an array of the PDT? So in a page template that is the url of success= I can use

get_defined_vars ();

to get that data into the page, to then use in a form?

Any help appreciated, I understand some php, but am not a ‘coder’, lol. ;)

Posted: Sunday May 27th, 2012 at 9:12 pm #14786
Paul Foster
Username: PAFoster

Hi There, on a related issue, I too have the return from paypal. This is for a specific page access, there is no membership involed and no user created. The visitor clicks a buy button.

PayPal returns the PDT info and s2Member deals with this under the hood. I can set a success url, but I need those PDT variables as listed in the section regarding sending them to another url as well if I want.

Either I use default-return.php and user clicks continue to go to the locked page, or I use success=”http”//…”
I’m not understanding the success url though. I set it to be the url of the protected page, but since it is protected, and the user is not logged in (they will never have an account anyway) s2member redirects to the members options page.

I think I see now the success=”http://..” as being a simple thank you page, which is not what I want

The restricted page has a form on it. The vistor who has paid for access to that page will then enter two pieces of information allowing us to complete their order.

I need the PDT info as well, so it can be put into the form as prefilled data – name, paypal email etc and also hidden data, tractaion data etc. The buyer can then change the email if neccessary, enter the other requested inform and send, thus being redirected to a thank you page, and the data being put in to a databse ready for us to extract and fullfill the service ordered.

I used %%variable%% etc in the form, but it just printed that, rather than the data. I have used this free plugin before (Formbuilder) using the s2Member short codes for name email etc and it has worked brillanty for that.

My only current option as I see it now is to create a form with all those feilds, and then have the customer cut an paste that data from their specific page acess email -data I can easily put into the email using the %%variables%%.

Obviously, thats seems a totally silly way to do it.

Any ideas?

Also, no luck creating my own paypal-return.php with in wordpress theme – could do with an example if its been done by anybody – ie the page will be something akin to: &get_header(); s2Member stuff &get_footer; etc.

I get the page, but no s2member data in it.

Ideally i would like to do achieve the following:

buy button–>paypal–>paypal-return.php–>restricted page on which is a form using the %%variables%%

Any help appreciated, I’ve been going in circles trying different things, but no luck.

Thank you!

Posted: Tuesday May 22nd, 2012 at 11:20 am #14184
Paul Foster
Username: PAFoster


Thank you ! You are a star!

One final still related thing, since you’ve been so helpful for me, hopefully this will be helpful for you.

If you haven’t already done so, please can you change the information given in s2Member’s Aweber Integration Option.

You can have your Members automatically subscribed to your AWeber® marketing lists ( e.g. newsletters / auto-responders ). You’ll need an AWeber® account and your AWeber® List IDs. You will ALSO need to configure a Custom Email Parser inside your AWeber® account.

Log into AWeber®, and go to My Lists -> Email Parser. If you like, choose the PayPal® Parser ( even if you’re not using PayPal® as your Payment Gateway ). You can safely ignore the additional instructions they provide. s2Member just needs the PayPal® box checked, and that’s all. Or, even better, integrate s2Member’s Custom Email Parser for AWeber, which will improve reliability and flexibility.

I thought I’d try to ‘integrate s2Member’s Custom Email Parser for AWeber’ to ‘improve reliability and flexibility’ in reference to what we’ve been talking about in this thread.

I followed the link and read it all, went back into my AWeber parsers section only to find at the very bottom of the list was an s2Member Parser ready and waiting for me to click!

Oh, and PS.

I’ve been setting up a membership site on I was back there again last night. Surprise surprise, Method #4 of the External Program Integration Option is s2Member!

Sadly though, I’m doomed. I DO NOT recommend JVZoo – the platform is highly convoluted and after many hours working it all out, I discovered last night there is no way in hell I am going to be able to use it for my membership site payments.

I do have iDevAffliate though, so will be setting that up instead I think.

Many Thanks Raam.

Posted: Monday May 21st, 2012 at 11:22 am #14075
Paul Foster
Username: PAFoster

That’s great, thank you Raam.

Whilst reply may I also ask about a realted matter.

If I have Aweber sending me the first name, second name, and email, how can I get those variables into the registration form, so the member can then enter username/pasword to complete registration.

Basically the user will already have entered name and email on the previous page (an aweber form).

I appreciate that this could be done much easier the other away around, ie user registers and s2Member send data to aweber in th bsckground, but I specifaically need it to be aweber first, then registration form.

I could easily do something with this:

$splitname = explode(' ', $name);

$op["op"] = " ????  Register User  ???? "; /* The Remote Operation you're calling upon. */
$op["api_key"] = "66018d6f3deddf9f6fa6c7f02b16bceb"; /* Your Remote Ops API Key. */
$op["data"] = array (/**/

"user_email" => $email, /* Required. A valid/unique Email Address for the new User. */
"first_name" => $splitname[0], /* Optional. First Name for the new User. */
"last_name" => $splitname[1], /* Optional. Last Name for the new User. */
"s2member_level" => "1", /* Optional. Defaults to Level #0 ( a Free Subscriber ). */


Thank you Raam!

Viewing 20 replies - 1 through 20 (of 20 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.