IPN delivery failed. HTTP error code 404: Not Found - paypal-ipn

I have implemented the IPN module for Paypal, and trying to test the IPN listener using my sandbox account.
However i get the above error.
I am using .NET MVC3 (C#)
Any help please
Thank You

404 means the link you have pointed it to wasn't found, make sure you have it pointing to the right place and the right PHP script.
Make sure you also have no typos :)

Related

PayPal Sandbox not working, transactions error in dashboard

I am getting the following error in the transactions section of the dashboard (since days, I am not able to test anything):
We’re sorry, something went wrong while fetching sandbox transactions. Please try again.
Does anyone know how to fix this?
I talked to the PayPal support and it seems to be a global issue at the moment which should be fixed until tomorrow. There is another solution to create a sandbox account right now (see Unable to use sandbox accounts), but then I am not able to verify those accounts because the notification email with the confirmation link is completely broken. So unfortunately it seems we all just have to wait for it to work again.
I am seeing the same issue this morning. I am getting UNKNOWN_ERROR when trying to process via the Sandbox from .NET using SDK as well. Even the .NET Sample SDK is returning a UNKNOWN_ERROR. I sure hope they get this fixed soon.
I have the same issue on the transactions dashboard. Additionally Mass Payout's are not processed, but regular Payment's are working.
Sandbox mode, using Node.js REST API

Express Checkout (digital goods) fails with

I am attempting a SetExpressCheckout transaction in LIVE, but it always fails with "We are unable to complete your request at this time." In the sandbox it works perfectly every time, so I believe my API call is correct.
Here is the full request:
VERSION=97.0
&METHOD=SetExpressCheckout
&RETURNURL=http://www.foo.com/
&CANCELURL=http://www.foo.com/
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_AMT=1.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_ITEMAMT=1.00
&L_PAYMENTREQUEST_0_NAME0=Test+Payment
&L_PAYMENTREQUEST_0_NUMBER0=TestPayment
&L_PAYMENTREQUEST_0_AMT0=1.00
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital
&SOLUTIONTYPE=Sole
&REQCONFIRMSHIPPING=0
&NOSHIPPING=1
&USER=*************************
&PWD=*************************
&SIGNATURE=********************
I have a ticket open with Paypal Merchant Support, but they have no clue why it's failing, which amazes me. I have called paypal customer service twice, and they definitely have no clue.
What am I doing wrong? Thank you.
I figured it out. It was my mistake. Although I was pointed at the live environment for the SetExpressCheckout call, the subsequent redirect was still going to the sandbox.
My fault...BUT...why can't the paypal developers put a little line of code in there so that when you go to the wrong environment (the system knows EITHER that I had just made the call to Live, then redirected to sandbox, OR at a minimum that the Live environment didn't have a matching token for what I was calling) a concise message is thrown such as "No token found in sandbox environment" or "API call made to Live, but redirected to Sandbox". A message like that would have enabled me to fix my own problem in seconds instead of hours.

Paypal Error Please try to contact merchant?

I am facing the same problem as seen in this http://forge.prestashop.com/browse/PNM-1165
It says this following message after I click on 'pay with paypal'
Error occurred:
Please try to contact the merchant:
PayPal response:
->
I don't know what to do T^T
Im using prestashop 1.5.4 and paypal module 3.5
There is one reply suggestion from Francois Gaillard added a comment - 29/Mar/13 9:29 AM
He said that
This issue occurs when your server IP has been blocked by the PayPal's API. If you are running share hosting environment the server can be banned blacklisted by PayPal.
Please, try to contact PayPal support they should be able to help you.
Let us know when you have more details please.
Thank you,
Kind regards.
That answer is incorrect in as much that we do not block IP addresses to our API endpoints without making the merchant aware.
It is correct, from our experience, that the above error occurs in PrestaShop when your server is unable to establish a successful HTTPS connection with our API endpoint.
I suggest you take a look at General troubleshooting - API timeout and run the tests provided in it.
Pay special attention to the AT&T block we mention in there, as we've seen a large number of API callers getting blocked at that level.
Unfortunately that block is beyond our control - but we've heard good reports of merchants getting in touch with AT&T and getting that block lifted (if confirmed to be blocked there).

Paypal Sandbox IPN error

After paypal updated their interface (sandbox.paypal.com for example is not working, now you have to go to developer.paypal.com) many of the things are not working: 2 of them are particularly frustrating and I was hoping someone here knew how to get around them:
Am I the only one whose sandbox customer test accounts are not able to make purchases? The transaction page says they are not available.
IPN validation is not letting me send a https request. When I do it says there is something wrong with the server name. Yesterday however before the update I could get verified status. If I dont put https, now my handler gives me an invalid responde status, code: 400. What does it mean?
To fix the HTTP 400 error, follow the instructions in https://www.x.com/content/bulletin-ipn-and-pdt-scripts-and-http-1-1 and update your code to pass "Host" information. Ideally, things should work with just the recommended changes from the above link. Apparently, thats not the case. Here is a fix from one of the PayPal MTS person - PalPAL sandbox IPN processor rejecting all messages?
Remove the "cmd=notify-validate" option from the validation URL. I tried this and it worked. Though it doesn't return the right string, atleast it doesnt break with the 400 error.
While we wait for a fix from Paypal, I wonder how a company like PayPal can cause such a huge blunder and not post anything on their status page - https://www.x.com/developers/paypal/documentation-tools/site-status/pp-cri. It just makes you think that even smaller companies can do a better job than companies like PayPal.
For the code:400 issue, you have to update the post to version 1.1. That information is located here.
https://www.x.com/content/bulletin-ipn-and-pdt-scripts-and-http-1-1 in this bulletin.
However, as I posted before the asp.net example uses a call, that does not exist, so I was only able to get mine partly working. After fixing this, the servers appear to be rejecting calls to https, or the cert they have installed is invalid.
Action Required before February 1, 2013
Merchants need to update their IPN and/or PDT scripts to use HTTP 1.1, and include the “Host” header in the IPN postback script. In addition to this bulletin, these merchants will be notified via a direct email.
Alright, seems to be fixed!
If you are having trouble logging in, like suggested above, clear cache and cookies and try again.
Regarding the error 400, seems to have been solved by paypal!

PayPal IPN testing

I'm trying to get this PayPal IPN tutorial to work:
http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php
I setup everthing and now I'm in the PayPal sandbox and sending with the "Instant Payment Notification (IPN) simulator" a message to my "ipn.php" and nothing happends.
The databse is still empty and I don't get a notification email.
I'm totally stuck with this. What can I do to find the error?
Thanks
Michael
Make sure your listener is on port 80. It is undocumented, but the paypal IPN simulator will fail to send to any other port.
The tutorial URL does not open for me, I get a "No input file specified.".
My first suggestion would be to open the PHP script that processes the PayPal IPN and write the following in the beginning:
file_put_contents('dump.txt', print_r($_POST, true));
Ensure you have write permissions in the directory that holds the script because "dump.txt" file will be created there. This way you can see what PayPal sends to you and give you a starting debugging point.
Also check your web server error log for PHP errors that might be happening to you. The tutorials are often written long time ago, on different systems, different PHP version, etc.
Edit: Also you probably already know this but the IPN processing script should be publicly accessible, not some localhost stuff.