using IPN Simulator, my listener (in sandbox) is working fine.
then I submit the order by the html form.
I noticed that all the IPN messages were "queued" (from the IPN history)
what make this happen? And How can I solve this?
I read some old threads that same case was caused by Paypal Server. Can anyone help to advise on this? Thanks!
This shouldn't happen often, but it could be that the IPN server is simply backed up so the IPNs are waiting in the queue and will be sent as soon as the servers catch up.
Another thing that could cause it, though, is if you have lots of failures happening with your IPN script. In such cases PayPal may place you on a slower queue because they don't want to waste server resources if you're failing a lot. You should get notifications about that if this sort of thing is happening, though, and eventually they would just turn IPN off altogether until you get it fixed and re-enable it.
Related
I run a subscription based website, which was going great until the developer of the subscription component I used ceased development.
Due to my lack of knowledge of programing a solution to set up something to catch the exisiting IPNs and convert them into something my new subscription component could manage, I simply manually added new subscriptions into the new subscription component, and kept a manual log of when subscriptions had been cancelled from Paypal's end, then altered the entries accordingly.
This was fine as the defunt subscription component still recieved the IPNs and sent back the correct notification to Paypal, and I kept an eye on things.
Now we have upgraded our security and moved to a new server, and the old subscription component has been marked as being vunerable, so moving it over also to keep this system I have going is no longer viable, and I am getting warnings from Paypal about IPNs not being recieved properly.
What should I do about this?
I can't turn of IPNs because my new subscription component uses them (perfectly).
Is this something a developer could look at and fix for me? I simply want the subscription IPNs from the old system to be recieved somehow (I am totally happy keeping things running manually on my side for older subscriptions).
Is there a way to turn off IPN notifications for just the subscriptions that are trying to send to a paricular URL?
Is there an easier sollution?
Any help would be muchly appreciated, I am worried that my IPNs will get turned off all together which would end up being a lot more work for me!
Kind Thanks,
Thomas
You cannot modify the IPN notification URL that are sent to your old subscriptions.
If you want to stop receiving notifications on your old subscriptions you need to cancel the old subscriptions and create a new/similar one.
I configured IPN listener and enable auto-respond by using URL. i test using IPN simulator it runs perfectly but auto respond is not working properly. IPN History given proper details but DB not changed.
Details are:
Instant Payment Notification (IPN) details
Message ID20A455865K857272G
Date/time created4/17/2013 04:25 PDT
Original/ResentOriginal
Latest delivery attempt date/time4/17/2013 04:25 PDT
Notification URLhttp://testdomain.com/pwo_dev/index.php/user/PaypalIPN
HTTP response code 200
Delivery statusSent
No. of retries0
Transaction ID77S48208XN775144R
IPN typeTransaction made
But when i resending same IPN then it is working fine.
Please tell me what is the problem.
Have you checked your server's access log to see if PayPal is actually hitting your script, or checked your error logs to see if any errors are being generated. First you need to determine if you are actually getting the data sent to your system. Then once you have determined that you need, to determine why your script is not working. The error logs can help with this. You can also try adding some debug lines to your code so that you can step through it and see where it is failing at. There are also some IPN Troubleshooting Steps here that may help as well. If want to verify that it is a script issue and not a server issue, try using a simplified version of an IPN script. Have it just send you an email, or write something to text file. You can also find some of PayPal's IPN scripts here that may help, and give you a working example to test with.
I have a weird issue with Paypal IPN. Every alternate transaction is failing. So let's say if first transactions goes well then second one fails. Similarly if 3rd one goes well then 4th one fails.
HTTP status code I am getting for failed transactions in IPN history is 400.
I have implemented the new Paypal host header changes that were newly introduced by them.
Any idea why this is happening?
IPN History
http://i.imgur.com/NfqRsGi.png
IPN Detail
http://i.imgur.com/hcKdasw.png
EDIT
I am using PHP with curl to do IPN work (using same sample code as available on Paypal website)
ANOTHER EDIT
Ok I found another code sample for PHP 5.2 from Paypal site. This one is slightly different than the one I am currently using. I tested it on Paypal Sandbox twice and it worked. Later on I will test it on live to see if it is working fine or not.
Error 400 = bad request, this means that the get requests being made on the application layer (by your browser) may contain errors or the transport layer (syn, syn, ack, syn) 3 way hand shack is being interrupted. I would check your PC for Mallware to be on the safe side. Do a netstat -b in dos and see what's trying to get connections to the external network.
Also do a scan with malware bytes and a good virus scanner like Eset nod32.. Let us know how you get on^^
The new script I downloaded from Paypal website fixed the issue.
After spending several hours trying to get django-paypal (originally dcramer's fork) to get a 200 OK response from PayPal IPN, I pinpointed the error to PayPal adding an empty, spurious &cmd= argument when using the IPN Simulator. If I leave the &cmd= in, I get a 400 Bad Request response when I try to postback; if I take it out I get a 200 OK but, of course, the postback is invalid because it's not what PayPal sent my server.
Of course, I'd be absolutely happy to do away with the IPN Simulator entirely and simply use Sandbox accounts, but those are broken too: the ones I create through the developer interface can't login (login failed errors); the ones I created through the "regular" interface on the sandbox site don't send any IPN whatsoever no matter what.
So, actually there's two questions here:
is there a way to work around the IPN Simulator &cmd= bug?
is there a way to make the sandbox accounts work?
A reply to either one would make me very very happy.
Many of the issues you've experienced are now cleared up. The IPN issue and some developer/sandbox log in issues have been cleared up as of Monday evening. If you are still experiencing any issues please let me know and I'll be more than willing to look into this further.
After a customer pays from Paypal, he can be auto-redirected back to my website with auto-return and pdt features switched on. Everything works fine when the customer waits 10 seconds for the auto-redirect, transaction id is sent via a get, but when the customer chooses to "click here" instead of waiting for 10 seconds for the auto-redirect, the transaction id is not sent.
Anyone knows of a way to fix this?
Thanks!
First, are you just trying to display the transaction ID or are you trying to add it in a database or use it for email receipts, etc?
If you're simply trying to display it then PDT is fine. Otherwise, I'd highly recommend you use IPN instead. It's very similar except that the data will always be POSTed to it regardless of whether the user makes it back to your site or not, which isn't always guaranteed, even with Auto-Return enabled.
If PDT is all you need, it really should work the same regardless of how they make it back. I use PDT so rarely, though, that I really haven't tested it much lately. I'd have to run some tests in the sandbox to see if I can reproduce that and figure out how to make it work how you want.
Let me know, though, because if IPN is the better solution I don't want to waste time messing with PDT.