Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal payment problems


LukeDouglas

Recommended Posts

Posted

I have installed osCommerce with the Website Payments Pro payment module that I downloaded from the PayPal website.

 

I created and submitted an order with this error being displayed on a blank page.

 

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /home/dillon/public_html/catalog/includes/modules/payment/paypal_wpp/PayPal/SOAP/Transport/HTTP.php on line 575

Warning: Cannot modify header information - headers already sent by (output started at /home/dillon/public_html/catalog/includes/modules/payment/paypal_wpp/PayPal/SOAP/Transport/HTTP.php:575) in /home/dillon/public_html/catalog/includes/functions/general.php on line 33

 

If I refresh the page, it goes to the shopping cart and shows the cart as empty. If I look at my orders, the order I placed is there so it did complete the authorization. Here is the order information:

 

07/04/2007 Preparing [PayPal IPN] testing after reset of open_basedir

Transaction ID: THERE IS AN ID BUT I'M NOT DISPLAYING IT FOR SECURITY REASONS

Payment Type: PayPal Direct Payment

Payment Status: Completed

AVS Code: Yes Address and five-digit ZIP

CVV2 Code: Match CVV2

 

With the exception of the errors being display, it looks like a 'completed' authorization is working. An email notification was sent out and I did receive the email. I haven't checked on this one test but previous tests with the same results, the client did receive payment and the payment was charged to the Visa card account.

 

Now in the PayPal Website Payments Pro module that I downloaded from the PayPal website, it has an input window for this:

 

Proxy Address
If curl transactions need to go through a proxy, type the address here. Otherwise, leave it blank.

 

Is there a Proxy address that I should put in this window? From my understanding, a proxy is actually another website that contains objects that are used in a website but I might not be sure on this.

Posted

Folks, I think I have this problem resolved. Here is the post I made to my server leasing company.

 

I think I have resolved this problem. It deals from changes made to a newer version of PHP or possibly from any changes made with the new PHPSuEXEC.

 

In doing research on this problem, and believe me, I have done a lot of research, I kept coming across a lot of posts where people were having this same problem. Although safe_mode was disabled and open_basedir Master Value was not set, I simply commented out the code in the /public_html/catalog/includes/modules/payment/paypal_wpp/PayPal/SOAP/Transport/HTTP.php file on line 575 "//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);" based on this suggestion "Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or safe_mode are enabled. "

 

It worked. Approved CC payment submissions did complete properly, payment submissions with invalid expiration dates or invalid security codes were returned with the proper rejections.

 

Here were some of the links I looked at in doing my research:

 

http://www.pdncommunity.com/pdn/board/mess...age.id=940#M940

 

http://php.oregonstate.edu/manual/en/funct...curl-setopt.php

 

http://bugs.typo3.org/view.php?id=4292&nbn=4

 

http://www.vbulletin.com/forum/project.php?issueid=20923

 

I'm not sure exactly why this worked previously back in March and then all of a sudden quit working but this has resolved my problem. You might want to have your techs to research this and write up a FAQ just in case someone else decides to install an osCommerce application on your servers.

 

Addendum to previous post. This was on another forum post:

 

If you are trying to use CURLOPT_FOLLOWLOCATION and you get this warning:

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set...

 

then you will want to read http://www.php.net/ChangeLog-4.php which says "Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or safe_mode are enabled." as of PHP 4.4.4/5.1.5. This is due to the fact that curl is not part of PHP and doesn't know the values of open_basedir or safe_mode, so you could comprimise your webserver operating in safe_mode by redirecting (using header('Location: ...')) to "file://" urls, which curl would have gladly retrieved.

 

I hope this helps you to understand this more than me and possibly to save a lot of time with other people experiencing similar problems.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...