I have set an IPN notification URL in paypal website. When I checked the IPN history in my merchant account, it shows the attempt failed. Also I logged the first line of my notification method . But there is no log for the method trigger.
What might be the posssible reason for this.
I also tried checking the URL with IPN simulater , but it says
"We're sorry, we could not connect to this URL. Please make sure it was entered correctly."
And most annoyingly paypal customer support is responding to my ticket very slowly. Please help.
Even if you get through to paypal technical services, they would tell you the same thing: PayPal can't connect to your listener. I'd recommend checking the listener from outside of your own network environment and making sure it responds with a http 200.
Related
I have a question about Paypal IPN, I was wondering when does the IPN activate and send it's message to my website.
I currently have my website that has a buy button. When the client buy the service, he is directed to paypal. Once he pay the service, nothing happen. In order for me to receive the IPN notification, the user has to click "Return to merchant website" or whatever the link is, then I receive the IPN notification.
Is it normal, does it work like that for everyone?
Cause right now, most people when they are done with the payment, just close the website and I don't receive any notification.
Thanks for any help !
Your question leaves a lot of missing information so I will go through each option for you:
Read here about how to setup a sandbox account if you don't already have one: https://developer.paypal.com/docs/classic/lifecycle/sb_create-accounts/
Bare in mind that your sandbox account is entirely separate in every way from your live paypal account. All settings will need to be checked and customised as needed.
Set up your IPN URL on your sandbox account Here: https://www.sandbox.paypal.com/uk/cgi-bin/webscr?cmd=_profile-ipn-notify
Once set up, you then need to download and set your code (PHP or something else) to the listener (referenced in the above sandbox profile link). You can find IPN code examples here: https://github.com/paypal/ipn-code-samples
When that's all set you need to set your listener to using the sandbox mode and then log in to your live account and then run the IPN simulator from here: https://developer.paypal.com/developer/ipnSimulator/
Paypal will send messages to your IPN listener and you need to do something with the messages, typically output them into some sort of log file. Any issues, you can read Paypals feedback and IPN data/delivery information here https://www.sandbox.paypal.com/uk/cgi-bin/webscr?cmd=_display-ipns-history&nav=0.3.4 [Found from History->ipnHistory on the Paypal menu] and it should list them out. You can resend any failed or queued or undelivered messages.
Paypal is a terribly documented and terribly structured system for coding with. I hate it. Use Stripe.
I love bullet points.
Paypal claims they will try and resend failed/queued IPNs 16 times over 5 days. I have yet to see this, you need to resend them manually (at least, sandbox ones)
Please remember all the settings and changes you have made to your Sandbox account will need to be also made to your live account before you make your payment system live!
Solution
My return_URL is the location of my IPN.php file which take care of the data sent and received. My problem is that the IPN is only firing when I click the "Return to merchant website" and not when the payment is actually completed
What you have done, from reading your comments, is set your IPN page to being your return from paypal page, this is NOT the way IPN is supposed to work, the IPN page should never be visited by the customer, only ever by Paypal.
Read through my anwser (points 2,3,4) and set up your IPN web link as I have described above, your return_url value should be a basic page to say to the customer "transaction complete". The IPN page is defined on your paypal accounts (sandbox and live) as I stated above.
This will fix your problem.
I am trying to setup Paypal IPN for the past couple of days !
And every time I get the error :
**
We were unable to validate the URL you have entered. Please check your
entry and try again.
**
The IPN url I am trying to set it : http://www.geniusforums.net/misc.php?do=paypal_ipn
I did a dns test to see if the problem was with that but everything seems to be fine!
http://www.dnsstuff.com/tools#dnsReport|type=domain&&value=geniusforums.net
It is accepting the IPN of a different site hosted on the same server, but just not the current IPN. I asked a couple of my friends also to check the IPN with their Paypal accounts, assuming the problem was with just my account, but they respond they are also getting the same error!
I just checked the IPN url using the IPN Testing in Paypal developer, and well, see for yourself:
**
We are sorry we could not connect to this URL. Please make sure it was
entered correctly.
**
Where am I going wrong?
Try using create ipn settings in https://www.paypal.com/home this account instead of https://www.sandbox.paypal.com/
I think I read somewhere that the IPN URL must be SSL hence https did a quick search however could not find the reference. May be the solution though.
We are having some problems with paypal:
Notify url and status appears empty in the message details page.
The retry date on the ipn message appears in 1985:
What can we do to fix this, besides get back in time to catch that retry?
Overview:
We use basic payments
We use the notify_url param from a php redirection
it worked perfectly on sandbox and live, until you updated
The paypal ipn transaction shows the correct custom parameter
Server side:
Php + custom framework.
There are currently some issues with IPN, that are being addressed that should resolve this issue once they are fixed. If you would like to be notified once the issue is resolved, you can open up a ticket with PayPal Merchant Technical Support.
user1214454: I have the same problem which I have described here:
https://stackoverflow.com/questions/16174275/why-paypal-does-not-call-my-notify-url-but-on-sandbox-everything-works
I have contacted with PayPal but they said that paypal are sending the IPN messages to my IPN, but they are not being accepted by my IPN, what I think is not true, because when request hit my server e-mail is generated by my script and I know if something hit my server. Besides, as I said in my post in sandbox everything works as expected. I am really frustrated too because my bussiness depends on this.
I am using paypal sandbox for my transactions but ipn is not working. When i check ipn history in my sandbox account it often shows the status as "Retrying". Sometimes it show the status as "Failed".
When i try to resend the ipn again from the account it is successfully sent.
Can any one guide me in understanding why it sometimes fails and what the reason(s) could be?...
No, we can't.
When it's 'Retrying' it means it did not get a proper HTTP/1.1 200 OK response from your script.
Most likely, this means it errorred out when attempting to POST data to it.
If you click on the 'Message ID' in the IPN history, you can view the HTTP status it encountered when accessing the script.
Once you've narrowed it down to a specific HTTP error code, you'd want to review your webserver access and error logs to find the cause of the error.
Thanks for your response.
My problem has been resolved. The return url was incorrect, and that's why ipn was not working.
My return url was correct in the paypal account and that is why ipn was working from the account.
I have an IPN handler, but it seems it isn't getting any IPN's from PayPal. When I hit the subscribe button, my payment goes through, but my IPN handler doesn't get any requests.
I tried invoking via Firebug's javascript console by
$.post('http://mysite.com/ipn', {'foo': 'bar'})
and I can see in my logs that the request is received (although my handler fails, as expected).
Debugging IPN is hard unless you follow the rules:
Check that the IPN URL domain resolves correctly to an external IP
Ensure that the URL is accessible from outside of your local network
Do not expect to use echo or print for debug - log everything to a file.
Create a "sandbox" account for a buyer and a seller so you can to test from both the seller and buyer perspective. Read the PayPal sandbox user guide.
Make sure you follow all the directions in setting up a sandbox test environment, including the addition of fake bank accounts and credit cards.