Community Support Forums — WordPress® ( Users Helping Users ) — 2010-08-17T03:49:57-05:00 http://www.primothemes.com/forums/feed.php?f=4&t=414 2010-08-17T03:49:57-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=2338#p2338 <![CDATA[Re: Error on POST]]> @COMPLETED TODO :: In the next release of s2Member... determine if there is a way for s2Member to avoid this problem automatically whenever cURL is not working as expected in a Windows environment.

This problem was addressed with the release of s2Member v3.2.

- Compatibility. On a Windows® server, the cURL extension is usually NOT compatible with SSL communications. s2Member now signals to the WPHttp class, that it should temporarily disable the cURL transport when a remote URL is being processed with an https:// prefix. This allows the WPHttp class to recover gracefully (automatically) and fall back on the FOPEN method. If you're running WordPress® on a Windows® server, you should make sure that you have this inside your php.ini file. ( allow_url_fopen = on ). A symptom of this bug, was to see an error in your paypal-ipn.log file, with something like: Unable to verify _POST vars....

Statistics: Posted by Jason Caldwell — August 17th, 2010, 3:49 am


]]>
2010-08-09T15:49:52-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=2231#p2231 <![CDATA[Re: Error on POST]]>
Jason Caldwell wrote:
...
3. I then uploaded /club/phpinfo.php
and I then discovered that you're running on a Windows server, with the cURL extension enabled. That's not a bad thing, but there are known issues with cURL on Windows, particularly with SSL connections, which are required by s2Member, in order to speak with PayPal.

...

Conclusion. There seems to be an issue with the installation of cURL on your server. Fortunately, s2Member does NOT rely solely upon the cURL extension. s2Member can use a variety of methods, through the WP_Http class. The best method can be determined automatically by s2Member.

The problem on your server, is that cURL is installed ( which s2Member considers the best choice ). However, in your case, it's not ( because it's broken somehow ). So the solution that I recommend, is to disable the cURL extension, by editing the php.ini file on your server.

You'll find a line that looks something like this:
Code:
extension=php_curl.dll

Change that to this ( disable it ):
Code:
;extension=php_curl.dll

Then, restart your web server and run another test transaction.

@C/TODO :: In the next release of s2Member... determine if there is a way for s2Member to avoid this problem automatically whenever cURL is not working as expected in a Windows environment.


Thanks for this post, solved my challenge perfectly while I was having problems setting this up on my test machine which was running Windows.

Statistics: Posted by dmasciangelo — August 9th, 2010, 3:49 pm


]]>
2010-08-05T12:34:31-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=2124#p2124 <![CDATA[Re: Error on POST]]>
I ran another test transaction, and I WAS able to reproduce the error again.

However, my WinSCP/SFTP access is no longer available it seems?

Anyway... here are some things I would have a look at now:
1. Is your PayPal PDT Identity Token entered correctly?

If it is, then please upload these three files anywhere on your site.
~ All three files are inside of this zip distribution.
curl-fopen-tests.zipcurl-test-http-google.php ( open in a browser, you should see Google's home page ).
curl-test-https-paypal.php ( open in a browser, you should see PayPal.com )
fopen-test-https-paypal.php ( open in a browser, you should see PayPal.com )


If one of the cURL tests fail, but the fopen test succeeds, I recommend this solution.
Code:
Create a new PHP file, and name it:
s2member-hacks.php

Place these lines inside it:

<?php
add_filter("use_curl_transport", "disable_curl");
function disable_curl($use_curl_transport){ return false; }
?>

Save that file in this location:
/plugins/s2member/includes/functions/s2member-hacks.php

Statistics: Posted by Jason Caldwell — August 5th, 2010, 12:34 pm


]]>
2010-08-04T14:46:53-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=2068#p2068 <![CDATA[Re: Error on POST]]> Statistics: Posted by lunaKM — August 4th, 2010, 2:46 pm


]]>
2010-07-30T16:30:54-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1991#p1991 <![CDATA[Re: Error on POST]]>
A user upgraded their account just now but the return from PayPal still failed. The user was not upgraded in the User Table. I have had to go in manually and upgrade them.

The Logs still indicate that it couldn't verify POST vars. The credentials I set up for you for testing are still in place. FYI I will be moving and without Internet this weekend.

Statistics: Posted by lunaKM — July 30th, 2010, 4:30 pm


]]>
2010-07-30T12:52:22-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1983#p1983 <![CDATA[Re: Error on POST]]>
We rewrote the regex for the rewrite rules in the config file. The test file you uploaded now works. I'll run a test upgrade once I finish moving this weekend and have internet back.

Thanks again.

Statistics: Posted by lunaKM — July 30th, 2010, 12:52 pm


]]>
2010-07-30T07:13:51-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1956#p1956 <![CDATA[Re: Error on POST]]>
I'll look into it and get back with you with a follow-up.

Statistics: Posted by lunaKM — July 30th, 2010, 7:13 am


]]>
2010-07-30T04:25:43-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1954#p1954 <![CDATA[Re: Error on POST]]>
Your installation of PHP is corrupted, or mis-configured somehow.

I created a test file with this inside it:
Code:
<?php print_r($_GET); ?>

http://www.submissiveguide.com/get-test.php?test=1

This file should be outputting this, but it's NOT.
Code:
array('test' => 1)

I would try contacting your hosting provider and asking them why
the $_POST / $_GET superglobals are empty.

FYI: I uploaded the same file to your /wp-admin/ directory, and it works fine.
http://www.submissiveguide.com/wp-admin ... php?test=1
Code:
array('test' => 1)

Statistics: Posted by Jason Caldwell — July 30th, 2010, 4:25 am


]]>
2010-07-30T03:44:32-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1952#p1952 <![CDATA[Re: Error on POST]]>
lunaKM wrote:
I'll get FTP access set up and sent to you some time this morning when the BF is up.

Still investigating. This appears to be a plugin conflict on your installation.

Statistics: Posted by Jason Caldwell — July 30th, 2010, 3:44 am


]]>
2010-07-28T07:10:32-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1901#p1901 <![CDATA[Re: Error on POST]]> Statistics: Posted by lunaKM — July 28th, 2010, 7:10 am


]]>
2010-07-28T00:15:32-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1853#p1853 <![CDATA[Re: Error on POST]]>
Jason Caldwell wrote:
lunaKM wrote:I have the same problem I have run the IPN test through the sandbox and while the log places it in the array, I still get the POST vars error.

When I was testing with sandbox it worked flawlessly, but now that it's live and people are upgrading (current level 0 users) I get this issue.

Investigating now.

Hi Luna. I WAS able to reproduce the error on your installation.
However, I was unable to find any problem with your configuration of s2Member. So I'll need FTP access to your /wp-content/ directory so that tests can be run. If you can provide FTP access, I'll upload some test files to your server and determine the issue for you.

Statistics: Posted by Jason Caldwell — July 28th, 2010, 12:15 am


]]>
2010-07-27T23:36:15-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1852#p1852 <![CDATA[Re: Error on POST]]>
lunaKM wrote:
I have the same problem I have run the IPN test through the sandbox and while the log places it in the array, I still get the POST vars error.

When I was testing with sandbox it worked flawlessly, but now that it's live and people are upgrading (current level 0 users) I get this issue.

Investigating now.

Statistics: Posted by Jason Caldwell — July 27th, 2010, 11:36 pm


]]>
2010-07-27T23:35:56-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1851#p1851 <![CDATA[Re: Error on POST]]>
keifa wrote:
Disabled curl and it's working now. Thanks!

Great to hear that. Thanks for reporting back on this. Much appreciated.

Statistics: Posted by Jason Caldwell — July 27th, 2010, 11:35 pm


]]>
2010-07-27T21:44:10-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1850#p1850 <![CDATA[Re: Error on POST]]> Statistics: Posted by keifa — July 27th, 2010, 9:44 pm


]]>
2010-07-27T14:19:27-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1844#p1844 <![CDATA[Re: Error on POST]]> Statistics: Posted by drbyte — July 27th, 2010, 2:19 pm


]]>
2010-07-27T06:53:02-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1840#p1840 <![CDATA[Re: Error on POST]]>

We've dbl checked our settings and are getting an error after a person subscribes via paypal:
Unable to verify POST vars. Please contact Support for assistance
This is most likely related to an invalid PayPal configuration. Please check s2Member -> PayPal options
Do you know what setting we might have wrong? The plugin has been updated.
Thanks, Keith

Hi Keith. Thanks for the Dashboard access.
Here is what my investigation uncovered.

1. I ran a test transaction and successfully reproduced the error that you're reporting.
( not good, so I continued )

2. I enabled logging under: s2Member -> PayPal Options -> Logging/Debugging
( nothing here but the same, POST VARS could not be verified, also not good )

3. I then uploaded /club/phpinfo.php
and I then discovered that you're running on a Windows server, with the cURL extension enabled. That's not a bad thing, but there are known issues with cURL on Windows, particularly with SSL connections, which are required by s2Member, in order to speak with PayPal.

4. I then uploaded these three test files:
club/curl-test-http-google.php ( connection failed here )
club/curl-test-https-paypal.php ( connection failed here )
club/fopen-test-https-paypal.php ( connection succeeded )

Conclusion. There seems to be an issue with the installation of cURL on your server. Fortunately, s2Member does NOT rely solely upon the cURL extension. s2Member can use a variety of methods, through the WP_Http class. The best method can be determined automatically by s2Member.

The problem on your server, is that cURL is installed ( which s2Member considers the best choice ). However, in your case, it's not ( because it's broken somehow ). So the solution that I recommend, is to disable the cURL extension, by editing the php.ini file on your server.

You'll find a line that looks something like this:
Code:
extension=php_curl.dll

Change that to this ( disable it ):
Code:
;extension=php_curl.dll

Then, restart your web server and run another test transaction.

@C/TODO :: In the next release of s2Member... determine if there is a way for s2Member to avoid this problem automatically whenever cURL is not working as expected in a Windows environment.

For the benefit of other readers.
Whenever possible, try to install s2Member on a Linux-based operating system. s2Member has been tested on Windows, and does work. However, the suggested hosting platform for WordPress, and also for s2Member is a Linux/Unix based operating system running Apache 2+ with PHP 5.2+

http://wordpress.org/hosting/


@COMPLETED/TODO :: In the next release of s2Member... determine if there is a way for s2Member to avoid this problem automatically whenever cURL is not working as expected in a Windows environment.

UPDATE:
This issue was addressed in the release of s2Member v3.2.

- Compatibility. On a Windows® server, the cURL extension is usually NOT compatible with SSL communications. s2Member now signals to the WP_Http class, that it should temporarily disable the cURL transport when a remote URL is being processed with an `https://` prefix. This allows the WP_Http class to recover gracefully (automatically) and fall back on the FOPEN method. If you're running WordPress® on a Windows® server, you should make sure that you have this inside your php.ini file. ( `allow_url_fopen = on` ). A symptom of this bug, was to see an error in your paypal-ipn.log file, with something like: `Unable to verify _POST vars...`.

Statistics: Posted by Jason Caldwell — July 27th, 2010, 6:53 am


]]>
2010-07-27T06:03:11-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1839#p1839 <![CDATA[Re: Error on POST]]> Statistics: Posted by Jason Caldwell — July 27th, 2010, 6:03 am


]]>
2010-07-26T22:07:22-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1835#p1835 <![CDATA[Re: Error on POST]]> Statistics: Posted by keifa — July 26th, 2010, 10:07 pm


]]>
2010-07-23T22:22:01-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1797#p1797 <![CDATA[Re: Error on POST]]> Statistics: Posted by keifa — July 23rd, 2010, 10:22 pm


]]>
2010-07-23T09:32:54-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1782#p1782 <![CDATA[Re: Error on POST]]>
Except, I'm currently testing in sandbox mode.

The email address I've used is the one for my sandbox business acct and the PDT key is the one from the sandbox business account.

Any ideas?

Statistics: Posted by Guest — July 23rd, 2010, 9:32 am


]]>
2010-07-23T09:21:37-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1781#p1781 <![CDATA[Re: Error on POST]]> Statistics: Posted by keifa — July 23rd, 2010, 9:21 am


]]>
2010-07-22T22:56:08-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1751#p1751 <![CDATA[Re: Error on POST]]> So it sounds like the issue you're having, is specifically related to the Auto-Return/PDT configuration. I would double-check s2Member -> PayPal Options -> PDT Integration. Make sure that your PDT Identity Token ( provided by PayPal ) is the one for your "live" account, and NOT the one from Sandbox testing.

Statistics: Posted by Jason Caldwell — July 22nd, 2010, 10:56 pm


]]>
2010-07-22T20:50:39-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1746#p1746 <![CDATA[Re: Error on POST]]> Statistics: Posted by keifa — July 22nd, 2010, 8:50 pm


]]>
2010-07-22T08:24:41-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1719#p1719 <![CDATA[Re: Error on POST]]> contact me directly with a WP Dashboard login to your blog. I'll be happy to have a look for you. If it's a bug, I would certainly like to know about it.

Statistics: Posted by Jason Caldwell — July 22nd, 2010, 8:24 am


]]>
2010-07-22T08:23:03-05:00 http://www.primothemes.com/forums/viewtopic.php?t=414&p=1718#p1718 <![CDATA[Re: Error on POST]]>
lunaKM wrote:
I have the same problem I have run the IPN test through the sandbox and while the log places it in the array, I still get the POST vars error.

When I was testing with sandbox it worked flawlessly, but now that it's live and people are upgrading (current level 0 users) I get this issue.

Here are some things I would check:

1. After you went live, did you update your PayPal Account Details inside s2Member?
( see: s2Member -> PayPal Options -> Account Details )
2. If so, did you also disable Sandbox mode?
3. Is your live PayPal Account, a "Business" account?
4. Are you using the Shortcode Button, or did you integrate the Full Button Code?
If you integrated the Full Button code, make sure you re-generate your Button Codes after you go live. The Full Button Code MUST be generated with Sandbox mode disabled. Otherwise, you will get this error; because a live transaction is being sent through the Sandbox.

Statistics: Posted by Jason Caldwell — July 22nd, 2010, 8:23 am


]]>