Thanks all. I think that answers my original question. The site isn't live. It's actually 2 sites - the main PHP site developed by someone else, and a .NET based licensing site / web service which handles the IPNs. The PHP developers are testing the PayPal integration on their end and the IPN handler page on the .NET site (my end) is emailing me when it fails intermittently.
The license server came with the PayPal IPN handler out of the box, but it was very poorly written and had almost no validation logic so I've rewritten it but since I didn't have a lot of time budgeted for this I threw it together rather quickly without looking at the PayPal doc in detail - looks like I'll have to review the docs again. The transaction type is "cart" each time, on the full messages and the erroneous ones (for some reason I thought we were getting "web_accept" transactions). The variable I'm looking for and not finding on some of them is "num_cart_items" but there are others that I need that are also missing (this is just the first one). For each message I'm logging all variables so I can see what we get and what's missing. Thanks all for the assistance. Cheers. On Tue, Sep 7, 2010 at 12:43 PM, silky <michaelsli...@gmail.com> wrote: > On Tue, Sep 7, 2010 at 12:22 PM, David Connors <da...@codify.com> wrote: > > Hi Matt, > > On 7 September 2010 11:48, Matt Siebert <mlsieb...@gmail.com> wrote: > > > > > > I'm a total IIS / ASP.NET novice, and I was wondering if there > is anything > > > in IIS or ASP.NET that could cause this? > > > My page has some logic to iterate through Request.Params and write > these > > > to a database so I can see what was received - clutching at straws > here, but > > > are there any synchronisation issues with Request.Params? - i.e. I'm > > > assuming that when Page_Load() is called, Request.Params is fully > populated. > > > > It has been a while since I wrote an IPN handler, but how closely did you > > read the PayPal docs? > > > > The PayPal IPN callbacks return quite different shapes of data depending > on > > which zany payment method PayPal has decided the customer is using > (eCheque, > > for example - WTF?) You need to read that closely and make sure you > account > > for them all. > > > > What variables are missing? Standard HTTP ones or Paypal IPN specific > ones? > > If it is the latter I think you need to read their developer SDK PDF > > wherever that is these days. > > Also, I think PayPal is entitled to do multiple hits to update the > status; I'd double-check that the elements are really missing (i.e. it > may come in another request that is ignored). > > To answer an initial question, yes you can be confident that > parameters will not go randomly missing. It is reasonable to conclude > that if they are sent, you will receive them, unless something down > the line (perhaps a proxy or firewall appliance) is removing them. > > The solution, as it would be to any of lifes problems, is more logging. > > > > -- > > David Connors | da...@codify.com | www.codify.com > > Software Engineer > > Codify Pty Ltd > > Phone: +61 (7) 3210 6268 | Facsimile: +61 (7) 3210 6269 | Mobile: +61 417 > > 189 363 > > V-Card: https://www.codify.com/cards/davidconnors > > Address Info: https://www.codify.com/contact > > -- > silky > > http://dnoondt.wordpress.com/ > > "Every morning when I wake up, I experience an exquisite joy — the joy > of being this signature." >