I am facing a strange problem which started today. PayPal IPN are not reaching my site. Last 4 IPN are showing a 'Retrying' in IPN history but they do not have any HTTP response code. I checked my server log where I do not find any entry of these last 4 IPN. It was working fine till yesterday midnight. I have not make any changes in my server. I host Siteground also do not see any issues at the server end.
Can anyone please help me to solve the problem?
Related
I am using a PayPal SandBox for testing purposes. All was working fine, but all of a sudden I stopped receiving the txn_id. I am using
$_POST["txn_id"]
to check whether it is a request or a response. Help Please.
I just realized that it is not about $_POST["tex_id"], the "notify_url" is not working in the PayPal response. It was working up till yesterday, not sure what went wrong. Any Suggestions?
Anybody experiencing IPN intermittent issue? I am getting no IPN message posted for certain transactions. Sometimes it is posted sometimes not. When this will be resolved?
Have you checked the IPN History in PayPal to see if it shows the IPNs were sent for the transactions you're questioning? In most cases when people say "IPN isn't sending" it really is but there's a problem with the script.
For example, say you have 5 transactions and only 3 worked like you mentioned. It could be special characters (eg. a name like O'Reilly) in the data that your script isn't processing correctly causing it to fail.
Again, you need to check IPN History, also check your web server logs, PHP error logs, etc.
All of this is outlined in detail in this article I wrote about how to test PayPal IPN.
I had the same issue you described, regarding 5 payments the 18th: my system processed several IPN calls that day, but some went missing.
No related problems the months before, no problems the 2 weeks after.
Spent a considerable time searching for possible causes on my side, but I found nothing; even in case of a network issue, PayPal not receiving back the 200 is required to re-try the IPN calls.
It was clearly a PayPal bug, but I was not able to find any status issue report, only single developers ranting about that event, very unprofessional.
I would use just Stripe, but final customers are used to PayPal and ask for it :(
I have a site that offers services to paid members.
When a member subscribes, he goes to Paypal, pays the subscription and then Paypal calls my ipn script which takes care of updating the database and sending a message to the member.
Everything is working fine, but some time ago, I started receiving some messages from Paypal:
"Please check your server that handles PayPal Instant Payment Notifications (IPN).
IPNs sent to the following URL(s) are failing:
http://domain.com/ipnhandler.php
If you do not recognize this URL, you may be using a service provider that is
using IPN on your behalf. Please contact your service provider with the above
information. If this problem continues, IPNs may be disabled for your account."
I found it strange, because at the same time, people went on subscribing, and the database was updated everytime. So I found strange to receive a message from Paypal saying that the URL was failing... How could it be failing, while the script was working fine?!
Then, one day, the database stopped from being updated. It started in early december, and since then, people pay their subscription but nothing happens. I had a look at the ipn history in my Paypal account, and I can see that Paypal called the script once (only once) for each payment, but the script returned nothing (http response is empptty). And on my side, I had a look at my log file, and there's nothing in it.
In my ipn script, the first thing I do is logging the call in the log file. But it's desperatingly empty since december...
Is there anyone who could help me with this issue? It's very upsetting because I have to register eveything manually... And everything was working fine, so I don't understand why it's not wirking anymre as I didn't change anything in the script neither in Paypal setup.
Please, I really need your help!!!
Thanks
The IPN script will need to load completely in order to return a 200 OK response from your server back to PayPal. What tends to happen is you could have an error happening near the end of the script after everything else has run, so while it seems like the script completed because you see emails/database updates, etc, it actually did not complete successfully.
Any time I have something going wrong with my IPN stuff I follow the steps in this guide on testing PayPal IPN and I'm able to track down the problem. I would recommend you follow those steps to find your problem.
We are requesting the following URL "https://securepayments.paypal.com/cgi-bin/acquiringweb" with cmd=_notify-validate to get the notification of VERIFIED or INVALID as per the documentation (https://www.paypal.com/cgi-bin/webscr?cmd=p/acc/ipn-info-outside), but we are receiving a completely different response. This causes problems because as a result our system doesn't behave as expected.
Response:
Error Processing Payment Error Message "This transaction can't be
processed. Please pay with another card."
Please help me why I am facing this issue however we are receiving payment successfully and everything was working fine a couple of days ago.
I have found a solution and to make it clear, https://www.paypal.com/cgi-bin/webscr URL is for IPNs and https://securepayments.paypal.com/cgi-bin/acquiringweb is for receiving payments through hosted sole solution(developer.paypal.com/webapps/developer/docs/classic/products/#HSS).
May be PayPal has changed something in their API.
My website uses the PayPal Adaptive Payments API with the Embedded Payments flow and simple payments. On my checkout page I execute a Pay API call, receive successful response, then call SetPaymentOptions and again get successful response. The customer then reviews the order form and upon confirmation of the order is redirected to https://www.paypal.com/webapps/adaptivepayment/flow/pay in the PPDGFrame iFrame with expType set to "light" and the paykey received from the Pay API call.
I have successfully tested it in a sandbox and rolled it out to production. The application worked great for a day or two and then stopped working, with buyers now receiving a "Please try again later" error when trying to login. I am still getting successful responses on both the Pay and the SetPaymentOptions API calls and the customer is successfully redirected to the PayPal login screen. The customer enters the login credentials, clicks the Login button and a couple seconds later gets the "Please try again later" message.
Now here are some really odd behaviours if I've ever seen odd... This problem first appeared about 4 days ago. Since PayPal advised me that it will take them "several weeks" to get back to me, I have tried the checkout again two days ago and experienced the same problem. I have then tried a guest checkout and it worked! Next I tried a regular user checkout and it was successful as well so I thought to myself that the problem has somehow resolved itself.
Yesterday morning I tried the checkout again, and got the same problem as before. Again I tried to checkout as guest, which again was successful, and then immediately after I have tried regular checkout and again this time I was able to login successfully.
Today the flow is broken again. What gives? Nothing is changing on my site. Why does it sometimes work and sometimes doesn't, and how is it that a guest checkout seems to be able to temporarily resolve the issue?
The problem has been resolved with no action on my part and no change to the website or application code. After a couple weeks of the API simply not working, it started working intermittently with gradually improving success rate while my support ticket with PayPal was sitting in a "Waiting" status. I was told that the "engineering team" is waiting for a server code roll-out. The intermittent nature of the problem and a gradually improving situation suggests that PayPal was rolling out a fix to their servers in a staged approach and outcome of the API operation depended on which server the PayPal load balancer happened to send the request to. After about a week of that, the problem was resolved completely. PayPal of course maintains that they have not made any server changes.