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.

Not able to checkout after update!

Home Forums Community Forum Not able to checkout after update!

This topic contains 13 replies, has 3 voices. Last updated by  Cristián Lávaque 4 years, 6 months ago.

Topic Author Topic
Posted: Tuesday Jun 26th, 2012 at 4:51 am #17501
Nicolas
Username: nicolassacre

Hi everybody,

I have a serious problem here.
It is impossible for everybody to proceed a checkout on our website using Paypal.

I always have this message : “Error. Please contact Support for assistance.”

This post is related with this one

I was finaly able to update the s2member-Pro but it does not solve the problem either!

What can I do now? Thanks in advance for your support

List Of Topic Replies

Viewing 13 replies - 1 through 13 (of 13 total)
Author Replies
Author Replies
Posted: Tuesday Jun 26th, 2012 at 6:49 am #17517

Could you post a screenshot of the error, please?

I’d also like to see the logs. [hilite path]Dashboard -› s2Member® -› PayPal® Options -› Account Details -› Logging[/hilite]

Please put the s2member-logs folder in a zip file, upload it to your server and send the link to it using the contact form, or send the FTP login info and I can get them directly. s2Member® » Private Contact Form

Also include a link to the page where you have the PayPal button or pro-form, please.

Thanks.

Posted: Wednesday Jun 27th, 2012 at 5:24 pm #17702
Staff Member
Thanks for your patience.
What version of s2Member are you running please?

I noticed your checkout form is processing in euros, and since a recent release of s2Member Pro addresses a change in currency conversion; and a bug fix related to the euro symbol, I’d like to confirm with you.

See also: s2Member® Unified Changelog » v120622

Posted: Monday Jul 2nd, 2012 at 6:02 am #18070
Nicolas
Username: nicolassacre

Hi,

s2member and s2member pro have been manually updated to v120622 and the problem is still there (we downloaded the zip folder of s2member and s2member pro and replaced the original ones). We tried with USD currency but it doens’t change anything. In the log folder there is only one file modified (checking the date), which is paypal-api.log and the only related message is :

-------- Output string/vars: ( Mon Jul 2, 2012 9:09:01 am UTC ) --------

array (
  '__error' => 'Error. Please contact Support for assistance.',

Any idea ?

  • This reply was modified 4 years, 6 months ago by  Nicolas.
Posted: Monday Jul 2nd, 2012 at 7:28 am #18080
Nicolas
Username: nicolassacre

I found the line sending the error, it is in the method “paypal_api_response” of the file wp-content/plugins/s2member/includes/classes/paypal-utilities.inc.php (line 189).

It seems the paypal API doesn’t send back a success code NOR a known error code :

public static function paypal_api_response($post_vars = FALSE)
{
  [...]

if(!$response["ACK"] || !preg_match("/^(Success|SuccessWithWarning)$/i", $response["ACK"]))
{
	if(strlen($response["L_ERRORCODE0"]) || $response["L_SHORTMESSAGE0"] || $response["L_LONGMESSAGE0"])
		/* translators: Exclude `%2$s` and `%3$s`. These are English details returned by PayPal®. Replace `%2$s` and `%3$s` with: `Unable to process, please try again`, or something to that affect. Or, if you prefer, you could Filter ``$response["__error"]`` with `ws_plugin__s2member_paypal_api_response`. */
		$response["__error"] = sprintf(_x('Error #%1$s. %2$s. %3$s.', "s2member-front", "s2member"), $response["L_ERRORCODE0"], rtrim($response["L_SHORTMESSAGE0"], "."), rtrim($response["L_LONGMESSAGE0"], "."));
	/**/
	else /* Else, generate an error messsage - so something is reported back to the Customer. */
		$response["__error"] = _x("Error. Please contact Support for assistance.", "s2member-front", "s2member");
}

Any idea ?

  • This reply was modified 4 years, 6 months ago by  Nicolas.
Posted: Monday Jul 2nd, 2012 at 7:51 am #18083
Nicolas
Username: nicolassacre

The flow works with paypal sandbox mode…

I forgot to mention the flow worked perfectly until june 20 and then the error appears without any modification on our side.

It’s quite difficult to understand the problem without the original paypal API error message.

Any idea of the problem or a way to get the original paypal error message ?

  • This reply was modified 4 years, 6 months ago by  Nicolas.
  • This reply was modified 4 years, 6 months ago by  Nicolas.
Posted: Tuesday Jul 3rd, 2012 at 5:39 am #18147
Nicolas
Username: nicolassacre

Hi,

I also felt on this post & this one

I tried both tools to debug:
– The Server Check Tool return no error. Everything was Ok.
– But for the test with the 3 php files to test cURL. None of them gave me results. Always a blank page.

Why?
Thanks in advance.

Posted: Tuesday Jul 3rd, 2012 at 7:53 am #18183
Nicolas
Username: nicolassacre

Hello,

Four weekdays without any s2member support !

We need the error returned by the paypal API, without that it’s very difficult to debug. We plan to leave s2member if we don’t receive help…

Sincerely

Posted: Tuesday Jul 3rd, 2012 at 5:25 pm #18223
Staff Member
Hi there. Thanks for the follow-up.
I apologize for the delayed response.

I found the line sending the error, it is in the method “paypal_api_response” of the file wp-content/plugins/s2member/includes/classes/paypal-utilities.inc.php (line 189).

It seems the paypal API doesn’t send back a success code NOR a known error code :

‘__error’ => ‘Error. Please contact Support for assistance.’,

But for the test with the 3 php files to test cURL. None of them gave me results. Always a blank page.

All of this adds up to a connection failure. That generic error, coupled with a failed test suite against the cURL extension, would indicate to me that your server is unable to communicate over the SSL protocol with PayPal. I suggest contacting your hosting company, and asking them to enable cURL and/or allow_url_fopen for you. Also, I would ask them to make sure that your server is compiled with support for the OpenSSL extension.

I also recommend this thread, detailing the ideal server configuration for s2Member.
http://www.s2member.com/forums/topic/ideal-server-configuration-for-s2member/

Shared hosting known to work with s2Member.
– MediaTemple (gs)
– HostGator (any package)
– BlueHost
Or any of these: http://wordpress.org/hosting/

Please let us know what your hosting company says.

Posted: Wednesday Jul 4th, 2012 at 4:34 am #18250
Nicolas
Username: nicolassacre

Hi Jason,

Thank you for your answer. Unfortunately that still don’t solve our problem.

We checked everything:
– allow_url_fopen is enabled
– https url are taken into account
– SSL works

I also tried to include the php file for the test

<?php
ini_set("display_errors", true);
ini_set("error_reporting", E_ALL);
echo file_get_contents("https://www.paypal.com/");
?>

But nothing appears. Just a blank page. (Not the result expected I suppose)

I will continue my research. But it’s strange that your test work with simple http url and NOT https. There got to be something wrong here. But what?
If you have something new/any idea just let me know.

  • This reply was modified 4 years, 6 months ago by  Nicolas.
Posted: Wednesday Jul 4th, 2012 at 5:44 am #18254
Nicolas
Username: nicolassacre

Hi,

We ear that our s2member pro licence is working with only one domain. We installed an integration/test version of our website on a sub domain of our main domain, is it possible that s2member pro was then associated with the subdomain, preventing the main domain to work correctly (making transaction with paypal) ? Is there an automatic process on your side ? Could you check our domain was not “banned” ?

An other clue is that the form proceeded correctly four times when modifiying the paypal configuration, but never twice successively with the same configuration. We then thought it was a delay problem on the paypal website then waited for 5 minutes between each configuration change without any difference. Everything happens as if the change itself allowed to succeed, but only once. Very strange…

  • This reply was modified 4 years, 6 months ago by  Nicolas.
Posted: Wednesday Jul 4th, 2012 at 10:01 am #18295
Nicolas
Username: nicolassacre

Our hosting company send us a message about a trouble with curl ssl version number on their side, telling us to add the php code line :

curl_setopt($ch, CURLOPT_SSLVERSION, 3);  

in the file

modules/paypal/validation.php  

(which doesn’t exists) while they try to solve the problem.

As the file doesn’t exists in wordpress nor in s2member, could you tell us where to add that line, or modify the wordpress or s2member configuration to take it into account ?

Sincerely

Posted: Wednesday Jul 4th, 2012 at 10:55 am #18300
Nicolas
Username: nicolassacre

Found ! in the file :

wp-includes/class-http.php 

line 1009 we added :

curl_setopt($handle, CURLOPT_SSLVERSION, 3);  

and it solved the problem.

Thank you for you help in this tricky situation.

Sincerely

Posted: Thursday Jul 5th, 2012 at 12:37 am #18341

Great! Thanks for the update. :)

Remember you may need to reapply that hack after a WP update. Hopefully it won’t be needed by then if your host already solved the issue on their end, though.

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

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

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.