Problem with PayPal IPN or Msxml

I just moved from a different ISP. I had a PayPal IPN script working fine there, and have made no changes, but now it is not working.
I tested with the IPN test script at eliteweaver.com, and it is telling me my IPN script is not replying.
I have asked support, and they say Msxml is installed on the server. IPN seems to fail at this location:

’ post back to PayPal system to validate
set objHttp = Server.CreateObject(“Msxml2.ServerXMLHTTP”)
'objHttp.open “POST”, “https://www.paypal.com/cgi-bin/webscr”, false 'LIVE
objHttp.open “POST”, “http://www.eliteweaver.co.uk/testing/ipntest.php” 'Testing
objHttp.setRequestHeader “Content-type”, “application/x-www-form-urlencoded”
objHttp.Send str

Does anyone know a simple way to test if Mxxml is set up properly?

I did a lot of searching on this, and came across this post which very closely matches my problem:
IPN Response is INVALID - Instant Payment Notification (IPN) - PayPal Developer Community

Down at the end, he claims to have solved it by having his ISP open Port 88. Could someone at Jodo let me know if it’s possible to get this port opened?

Hey Sailor man,

I have a couple of sites set up for IPN, and they are fine. maybe on a different server to yours, but its just dandy.

make sure you try access your own IPN script manually, this way you will find any ASP (or other) errors that will stump the IPN without you knowing.

Snooper, unfortunately, my script gives no visual feedback, but I did access it directly to make sure it’s not giving any asp errors, and that looks fine.

All indications are that it’s not posting a reply to the IPN system at PayPal. I checked, and I do receive the initial form post from them, which Msxml should then post right back. The script logic then writes to my database if it hears back from PayPal, or writes an error if it doesn’t get a response 200.

If you look at this post:
IPN Response is INVALID - Instant Payment Notification (IPN) - PayPal Developer Community

his script is almost exactly the same as mine. The error seems to be happening here:
IF (objHttp.status <> 200 ) THEN
error handling code below this line is being triggered.

There are a few IPN testing tools out there, and they tell me that my script is not replying. One possibility is that if IPN doesn’t receive exactly the identical string posted back, it will respond with “INVALID”. Could it be that the version of Msxml on the Jodo server is encoding the string differently?

Would you be able to share the relevant portions of your code, so I could compare to mine? Obviously obscure any proprietary stuff. You can PM me if that works better.

This is now getting quite serious, as PayPal just keeps posting repeatedly to my script when it doesn’t get any response.

thanks,
Rory

sure, i dont mind.

I am attaching my script here (hope it works, the uploade wasnt working a while back)

I used the same one you mentioned i think, but i have added in a bunch of email commands to debunk the responses. you’ll need to plug your database string and email function in to this page.

ipn2.zip (3.1 KB)

Snooper, Getting “cannot open file - it does not appear to be a valid archive”.

you’re right
lets try a zipped rar

ipn2.zip (3.15 KB)

interesting it seems to be making the uploaded files go to null, snooper, can you post the code in

[quote]
or [code] brackets.

Thats one of the things i notified you about a while back, re the forum

Yes I know it was a while back, it happened when we went from vB 3.0 to 3.5 and still upgrading to 3.6 it is not working.

One clue has been suggested to me about why my IPN script is suddenly failing. I have another thread going about SMTP authentication, and that now seems to be working. However, there doesn’t seem to be any way to do this with Msxml. Is it possible my Msxml post is simply not going out? Here’s the only lines in the code that deal with this:

str = Request.Form & “&cmd=_notify-validate”
objHttp.open “POST”, “https://www.paypal.com/cgi-bin/webscr”, false
objHttp.setRequestHeader “Content-type”, “application/x-www-form-urlencoded”
objHttp.Send strset objHttp = Server.CreateObject(“Msxml2.ServerXMLHTTP”)

This would explain why the IPN test sites all say they get no response from my IPN script

Thanks