4
votes

Since July 1st we started receiving malformed IPN response from paypal with an odd string at the bottom of the IPN that is neither VERIFIED or INVALID but something like a non binary sign. This happens randomicly and both for payments related IPNs and for preapprovals.

If we try to resend the IPN from the paypal IPN history sometimes they get verified from paypal at the first time, sometime we have to retry more than once. Never happened before and nothing changed on our side in the ipn verification script that is old but work fine with the most part of the IPNs.

We've checked the endpoint and it is correct: https://www.paypal.com/cgi-bin/webscr

We've tried to resend some of those malformed IPNs and after one or more retry they comes out correctly VERIFIED.

When we try to get those affected IPN validated in the LIVE production, what we get is a bad request because of this odd string at the bottom of the affected IPNs instead of the VERIFIED or INVALID response:

‹ TŽK‚0„ïüŠ•»,M<Œ$¨ÄÔÇb›@‚ûÐøïmáäe’Ùùvgɦ¸æ¬mJ8±s Í=««â-bU²#bÁŠ5Ù')by‰iDzû)é%ÞØÁŽ’Ò2.à&_NKpGŒtJ|ÃæŽþQÞGd¦­r:­>Fj0r²ÀA¯ØžŒôÛçåF“²à&!µ±| é4`¨›ƒ,mþzø3ú ÿÿ Î[óâ

3
Same here. We have exactly the same problem with every few payments. Example: ‹ TЋK‚0„пьЉ•»,ЏM<Њ$ЁДФЗb›@‚ыРшпmбдe’ЩщvgЙ¦ёж¬mJ8±s Н=««в-bUІ#bБЉ5Щ')by‰iDzы)й%ЮШБЋ’Т2.а&_NKpGЊtJ|ГжЋюQЮGd¦­r:­>Fj0rІАAЇШћЊфЫзеF“Іа&!µ±| й4`Ё›ѓ,mюzш3ъ яя О[увmr.d
I've the same problem, as you mentioned it occurs sometimes not ever.berno
It affects PDT too. Same string, except for unprintable characters probably being stripped in your post.Peter Stock
As far as I know, re-send from IPN history is the only way.mr.d
Today is the 17th of July, for the last 72 hours, there are no malformed responses from PayPal at our side.mr.d

3 Answers

3
votes

Finally, just got a "human" answer from Paypal and immediately share it here for those affected by this issue with some workaround:

"Thanks for contacting PayPal Merchant Technical Support. We are so sorry for the late response to you. I acknowledged that you got IPN error HTTP/1.1 400 Bad Request issue. Please kindly note that this is a known issue in PayPal at the moment. Our relevant department is working on it.

...

In addition, you can also do as follows for the workaround to confirm this transaction.

  1. Call GetTransactionDetails API to find this transaction details. https://developer.paypal.com/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/

  2. Go to your PayPal account to check transaction details.

  3. Download report to find this payment.

  4. Check notification email sent to your email box *** about this payment.

But we'll keep you posted for the update information of this IPN 400 Bad Request problem."

So, it's not a real solution at the moment but just some workaround available for payments (those workarounds, for example, doesn't work for preapprovals where you still have not a payment). We even asked why if it is a known issue, there's nothing on it on the paypal-status website where the "notification" product is market as green and in good health. Will update when we have a real solution.

3
votes

The binary chunk is a compressed html-answer:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>

I can confirm the random behavior and sending the exact verify-request later again we get a correct verify-answer.

Sorry for not adding this info as comment (< 50 reputation).

1
votes

Received today a message from Paypal Merchant Technical Support saying that the issue has now been fixed. Some of you reported yesterday that, accordingly, were correctly receiving IPNs with no malformed text, please keep monitored for a few days before accept this as a solution.

Cheers, Fil.