1

Hope someone can shine some light on this!

Can anyone confirm what the Paypal IPN url should be set to for Standard payment?

I have been advised by a Paypal tech that it is http://www.yoursitename.com/index.php/paypal/ipn/index/ but the Paypal IPN history still shows the response code 500 and we are not getting order status change from "Pending Payment" to processing.

I have checked the logs but can seem to find anything that stands out and we have tried the old code change to the ipn.php file but still no luck!

Any help would be great as I don't have much hair left to pull out :(

4 Answers 4

0

Sometimes Paypal requests are wrong, so server don't fire Magento routes as it should and you get server error 500. For checking, is it your situation or not, try to do next:

1) Create folder named 'paypal' in Magento root folder.
2) Create file named 'ipn.php' in this 'paypal' folder.
3) Open file and add next content:

<?php
    date_default_timezone_set('America/Los_Angeles');
    require_once '../app/Mage.php';
    umask(0);
    $app = Mage::app('default');
    if ($app->getRequest()->isPost()) {
       return;
    }
    try {
        $data = $app->getRequest()->getPost();
        Mage::getModel('paypal/ipn')->processIpnRequest($data, new Varien_Http_Adapter_Curl());
    } catch (Exception $e) {
        Mage::logException($e);
        $app->getResponse()->setHttpResponseCode(500);
    } 
?>

4) Clear Magento cache and check is Paypal IPN start working for you.

If it start working, just keep it as is. When Paypal requests are correct - it will work with standard Magento way, otherwise - paypal/ipn.php file will be used.

11
  • Honestly I cannot see how this hack can make the difference and basically why this file should be touched instead of the controller ..
    – Fra
    May 11, 2015 at 7:54
  • also since another answer report the same answer, it is probably a solution copied from other source, if so adding a link to the source it could be helpfull
    – Fra
    May 11, 2015 at 7:55
  • Nope, this is how I solved the same problem on other project.
    – ToxaBes
    May 11, 2015 at 10:58
  • ok thanks, I'm having a similar problem ... I will give a try and add more info if I can find any
    – Fra
    May 12, 2015 at 2:39
  • 3
    No worries about downvotes - I'm here not for scores ) It's great what you found own solution.
    – ToxaBes
    Jun 11, 2015 at 10:44
2

Ended up fixing this problem by changing my hosting. So was a server issue and not a Magento problem!

0
1

Turn on the PayPal logging to see if the log file gives you a clue to the problem. To do this go to System -> Configuration -> Payment Methods

Open up the Paypal settings (e.g. Paypal Express Checkout) and set Debug Mode to Yes.

You can either wait for some real IPN messages to come through, or try and send some through your browser by giving the IPN url followed by ? and the transaction data from the Paypal IPN History.

In your Magento document root directory on the server look for a new log file in var/log, mine was called payment_paypal_express.log

Check this file and you may find an Exception and an indication of the problem - mine was that the paypal account email address does not match the "Requested" email address, which I presume is the site email address which is intentionally different.

1
  • I was using an API key in the Paypal Express settings and had specified an email address for the paypal account that wasn't the primary one and didn't match the Magenot site email address. Once the email in the Paypal settings was changed to match the Exceptions in the log stopped and IPN messages in IPN History on the Paypal website show as Sent rather than retrying. Of couse your exception may be different, but I hope the log gives you a clue. Jul 3, 2014 at 15:26
0

i have figured it out as my website was in maintenance mode and allowed only three ips to be visible, so that was the problem and i removed the maintenance mode and the ip's and it worked perfectly, it took my 4 hours to figure out the issue and it was just 2 minutes solutions :) I'm going to write a blog post on our website to solve kind of issue with some more information regarding IPN. I have posted blog post to fix the pending payment issue along with to setup PayPal IPN for production and sandbox mode - http://www.yogisfunda.com/magento-paypal-order-status-pending-payment-setting-paypal-ipn-magento/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.