Payments from my website continue to be logged on paypal.com, but the IPN script is not processing those transactions in my database. Members who have upgraded are complaining that they are not getting access to the paid features. The odd thing is, I have not touched the IPN script, written in PHP, for months! I'm baffled as to why it suddenly stopped working, so are the tech support boys at Paypal. I'm convinced it has something to do with the fraud that took place on my merchant account this past weekend, but Paypal denies it. When I alerted them of fraud activity on my account, they rightfully deactivated my paypal debit card. It was around that time that my IPN script stopped working.
Any ideas on what is happening behind the scenes here? I can understand if I was messing with the code recently, but I wasn't.
Thanks!
Apparently it was paypal's fault once again. Late in the afternoon the whole process started working again, without me editing the IPN script at all.
Related
Since this week the forwarding to our site after payment does not work anymore in production mode, while it still works within the sandbox.
Actually we use PDT for the direct forwarding and IPN as backup. For some reason the payment is not finished fully. There seems no PDT or IPN connection to be established from PayPal since beginning of this week.
A payment from March 9th was successful, but all payments since March 11th are marked as successful on the PayPal page, but our site "does not know it", so customers don't get their accounts updated.
When trying to track the bug, I switched to the sandbox, but there everything works fine there.
Has PayPal changed something recently? (The design during payment process ist now, but I don't know since when...)
Thanks!
The biggest downfall with PDT is the message is only sent once, where as IPN is repeatedly sent until the server responds with the correct message. You can run both, but from my experience it is very uncommon (and I build eCommerce systems for a living). Recently a lot of my company's clients who run PayPal as their payment method have come to us with a similar problem (even more so with RBS WorldPay). And the solution has been to try the following:
Confirm that the IPN listener URL is still working and pointing to
the right site (some people try to use one PayPal account for
multiple sites, and change it to the 2nd site not thinking it will
stop IPN for the 1st site).
Make sure the latest version of the PayPal gateway is installed (if
on OpenCart / WooCommerce / Magento / etc...). The latest version
requires SHA-256.
Ensure the server has SHA-256 enabled, as above PayPal is now asking
users to make sure they have it for the hashing to work.
Ensure that an SSL certificate is installed. It is not yet a certain requirement, but in this day and age if you don't have one, you are not likely to get many orders. Also for some strange reason it has fixed IPN for some clients.
Hope this helps!
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.
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.
This question is not basic so that means i have read some paypal documentation about this.
I have attached an image. The problem is that i make a Paypal subscription and while its active and stating that the next payment should be done next day, it doesn't happen, what could be the problem? BTW I am using the sandbox
The sandbox tends to get delayed sometimes, and payments don't occur exactly when they should. The production server doesn't have this issue, usually, but it can happen.
From what I can see you've got it setup correctly so it's just a matter of their system kicking in and processing it accordingly. Not a lot you can do it about it other than wait.
You could post a ticket to www.paypal.com/mts, but by the time they respond the payment will probably go through.
You could also call their tech support line, which you can find by logging in to your PayPal account, click Contact Us, then by Phone, and it will give you separate numbers for general and technical support. You can let them know what's going on and they may be able to find what's causing the delay and get it fixed.
I'm using the codeigniter library from angelleye's library (http://www.angelleye.com/download-codeigniter-php-library-for-paypal-payments-pro/).
For a few days, it worked smoothly without any errors. Today when I tested it I got no response from paypal.
I contacted the author(Andrew), and he said that the paypal sandbox server is timing out with the do direct payment.
My question is, how do I fix this?
The PayPal sandbox does that at times, and unfortunately there's nothing we can do about it but wait on PayPal to get things working smoothly.
The sandbox has been running great for awhile now, but it seems that with many of the recent changes they're making (they're working on a new sandbox, and they're pushing PayFlow more than DirectPayment now) the DirectPayment API on the sandbox has been suffering.
In fact, just now I was about to respond and let you know that last time I tried it was working fine. I went to test it and sure enough, it timed out again. I tried again, though, and it worked fine. So unfortunately, the sandbox is just pretty hit and miss these days with DirectPayment.
You could always switch to PayFlow, which is what they're pushing these days, and my library supports it now if you have the latest version.