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.
Related
Some time ago I set up a page on my in-progress web site for purchase processing with PayPay using IPN and a Sandbox account.
Everything was working fine, mock payments were completing successfully, but it's been a couple of months since I last tested this part of the site, and I've suddenly found that it's no longer functioning.
Nothing has changed with the page, but I'm getting an "Internal Server Error" response when my page redirects to the "Sandbox URL":
https://www.sandbox.paypal.com/cgi-bin/webscr
I frequently find myself going around in circles with the PayPal documentation, there often appear to be two or more entirely separate documents describing the same procedure, and with conflicting information.
For example, this page describes the IPN testing process as I've been following it to date: https://www.paypal.com/cgi-bin/webscr?cmd=p/sell/ipn-test-outside
it is the URL provided by this page that is now returning the 500 Internal Server Error message. But I've subsequently discovered this page: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNTesting/#sandbox
which indicates an entirely different Sandbox URL. The latter looks more up-to-date, but changing my URL to redirect here results in a "Secure Connection Failed" message in FireFox (ERR_CONNECTION_RESET in Chrome).
Are both of these URLs invalid? Is the Sandbox site presently not processing payments? The situation is very confusing and I can't figure out what might be wrong.
Thank you for any advice.
I'm using a PayPal encrypted button for IPN and I get the same 500 "Internal Server Error" in the Sandbox that you are getting on the checkout page. I did not change my code either and I'm suddenly getting this error on PayPal's sandbox.
Unfortunately, PayPal is putting a low priority on fixing this. If you want the Sandbox to be fixed, open a ticket with them. The only way they will address this if enough customers complain.
It seems that sandbox is down, I have same problem with my website currently.
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.
Paypal newbie here. I am using the .net sdk to call PayPal's rest api in the Sandbox environment. I am trying to test a batch payout(Mass Payment).
Issue 1. The sandbox "facilitator" account which came pre-created has a zero balance. I cant seem to find any way to get some money in the account so that i can test payouts. If i create a new business account, i get to specify an opening balance, but when i try to do payouts using this new account, i get back a 403 forbidden response when i try to payout even though i am able to get a token successfully.
Issue 2: Using the facilitator account, i am able to submit a payout request, but its behavior seems to have changed since a couple of day ago. A few days ago, all payout request used to be DECLINED and would show up on the transactions list on the sandbox site. I assumed they were getting DECLINED because the balance was zero. Since yesterday, all payout transactions via the facilitator account stays in PENDING stage and they do not show up on the transaction list. A Payment/Get request for the payout_batch_id always returns back as pending even aftter a day, but theres no sign of those transactions on the sandbox site.
1 - Creating a fresh account and giving it an opening balance is correct, and that should work just fine for you to test MassPay. If you're getting a 403 error that sounds like a problem with your API endpoint or something. Need to see a sample of the API request/response to know more on that.
2 - Again, need to see a sample of the API request/response that you're getting to know more here. My MassPay transactions in the sandbox work just fine. Here's an example. You'll see the request and response data there, showing it was successful. Then when I go look at the separate accounts I see the money as expected.
I have been testing Paypal integration - on Sandbox - for a number of days and have found that, when the Paypal login is presented in a browser, everything is fine; However when the login environment changes to a popup/lightbox, the browser hangs and remains on 'loading' after a successful test payment has gone through.
I used PayPal integration wizard to generate the code and then amended it accordingly. Any advice would be greatly appreciated as it's doing my head in!
I have seen this issue occur several times lately, as well as reported by a few of my customers. While I can't provide a definitive solution, I have had success with one or more of the following:
Clear the browser cacher. Shutdown and restart the browser.
Login to standard PayPal site, logout and restart browser.
Try a different browser to help identify whether there is something going on with that specific browser.
Switch between sandbox, live, and back to sandbox mode. This may require a repeat of step #1.
Contact Paypal customer support.
I typically resolve the problem before getting to #4, hopefully you will as well. Best of luck!