I am working on a mini shopping cart plugin for WordPress with Paypal integration. Its been a while since I worked with paypal – so I ran into trouble. I have a couple of sandbox accounts – and the payment goes through without any visible issues. But the IPN’s notify_url was not being called no matter what I did.
And I was not the only guy with the problem – plenty of other people have it too. I managed to solve the issue – but I decided to document the process – for the benefit of the people who fall into the same trap.
Make Sure the URL You Specified is Working
Yes, its obvious – but it needs to be said. Make sure the URL you gave as the value of notify_url is a working URL. Sample usage…
<input type=”hidden” name=”notify_url” value=”http://www.yoursite.com/cart/ipn.php” />
Here ‘http://www.yoursite.com/cart/ipn.php’ is the url – make sure it works! There is an easy way to test it – just go to IPN Testing Environment and enter your IPN notify_url there. When you submit the data, you’ll know wether the script is being called or not.
Verify the Email Address of Sandbox Account
When you make a sandbox account, you have to give a email address. But if you have selected a business account, make sure that you verify that email address. Just login using the given email and go to the home tab. There should be a ‘To do list’ to the right side. Make sure you complete all the stuff(usually just 2) there…
When you confirm your email address – remember that its simulated – you don’t have to check the actual email account. Just go to the Test Email page in Paypal sandbox itself to check the mail.
Once this is done, IPN notify_url worked for me. Hopefully, this will fix your issues as well.
I also faced the same issue many times with some UK sandbox accounts. It is intermittent. Some times it will work without modifying any of my code.
Hey Janson – long time! I was working on the US accounts – after I fixed the confirm-email problem, IPN notifications worked without any issues.
In my case it was something else, I was giving a notify url that was available to registered users only. Guests were redirected to login page so the ipn call was also redirected. It is a basic thing but took me a while to realize how foolish I am.
I gave the notify url in my sandbox testing tool, then I select Transaction type Web accept and click send IPN , there it was working, but when I pay through my testing site using sandbox , it won’t work. Pls guide me
nice post 🙂
also dont forget about paypal ipn doesnt support any other http port but the 80, in testing environment its very frequently to have others ports. So ensure to provide an external accesible url (non lan ip) with standart port.
I am working on a Drupal module for donation. I have two subdomain. From one of these notify_url works (page is called) but from the other domain it is not called. I am using the same accounts and same code on both but not working on one.
I am working on us PayPal sandbox i have a problem in that, the notify_url is not calling i am fix it in the IPN also even it not call today but the same code is executed earlier but it gives some problem right now hope u can help me.
thanks in advance..
Thank you. Going back to the fundamentals of checking notify_url was exactly what I needed. I had misspelled the variable that I was using for ipn page. Totally missed that until I actually looked for the notify_url in the source code.
guys it seems there is an error:
Fatal error: Incompatible file format: The encoded file has format major ID 1, whereas the Loader expects 4 in /home/belahost/public_html/pp/index.php on line 0