views:

539

answers:

2

I am receiving the following from a PayPal IPN script. Is it evident from the following what is causing the IPN transaction to fail? If not, how can I investigate the problem further?

[01/25/2010 7:49 PM] - FAIL: IPN Validation Failed.
IPN $_POST variables from PayPal:
mc_gross=25.00
protection_eligibility=Ineligible
address_status=unconfirmed
payer_id=AEVB83JZKDRCL
tax=0.00
address_street=1 Main Terrace
payment_date=10:49:52 Jan 25, 2010 PST
payment_status=Pending
charset=windows-1252
address_zip=W12 4LQ
first_name=Test
address_country_code=GB
address_name=Test User
notify_version=2.9
custom=
payer_status=unverified
address_country=United Kingdom
address_city=Wolverhampton
quantity=1
verify_sign=A0I1KzEZadt6mIDXxQkkIQCQKPTMAGvCuZ8RKXsOCujIi.RoMxAnbZXi
[email protected]
txn_id=38A45069EV5838100
payment_type=instant
last_name=User
address_state=West Midlands
[email protected]
pending_reason=unilateral
txn_type=web_accept
item_name=Ultimate Challenge UK Ressurection  Standard Seating (25.00 GBP)
mc_currency=GBP
item_number=
residence_country=GB
test_ipn=1
handling_amount=0.00
transaction_subject=Ultimate Challenge UK Ressurection  Standard Seating (25.00 GBP)
payment_gross=
shipping=0.00


IPN response from PayPal server:
 HTTP/1.1 200 OK
Date: Mon, 25 Jan 2010 18:49:56 GMT
Server: Apache
Set-Cookie: cwrClyrK4LoCV1fydGbAxiNL6iG=_hMqg4cipUMV6RnPhXQ-05S5HEZk2hx2Yc87bjkBg5dZZLYqHTsxqiYwvU9Hjas5YeKTg9jnkbQYomER3_bjuAIW9f15003nc2FYPzIYqFuCc-Jfz1B8byXHhtrJ6OHyiPlmo0%7cGRbawzJR-iAiebJ1pZJZ3DzypAO4untXvofHa07UaqPHkeOZNQTSoCfMobgODGnxgP6jHW%7cf29zaCIP63s4TuzaT12cEiU-aih_kOHju4cqZ4KPV18bl-LTNlFzFLLGmr_DOhyXznq--m%7c1264445397; domain=.paypal.com; path=/
Set-Cookie: cookie_check=yes; expires=Thu, 23-Jan-2020 18:49:57 GMT; domain=.paypal.com; path=/
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/
Set-Cookie: navlns=0; expires=Sun, 20-Jan-2030 18:49:57 GMT; domain=.paypal.com; path=/
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=92
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

7
INVALID
0
+2  A: 

Have you tried the IPN test tool to investigate the problem?

You can use it to reproduce the form you're submitting and see if you get consistent results.

You might get better answers if you specify exactly in which context it is failing.

JohnIdol
I know it's failing because of the first line of my debug script above. I'm trying to trace *why* it's failing though. I'll check out the IPN test tool to try and investigate further. Thanks for the link.
Martin Bean
I did have problems in the past as well and it was often related to the fact that I was messing up the action url on the form - are you working on the developer sandbox?
JohnIdol
Hi, John. Thanks for taking the time to reply. I've replaced the PHP library I was using (that generates the *PayPal* form but also verifies the response data) and all seems to work fine now. I think I must have have been a typo in the script of something. Thanks again for pointing me in the direction of the IPN test tool though.
Martin Bean
my pleasure - happy to hear you resolved :)
JohnIdol
+1  A: 

Anyone using the PHP Paypal IPN Integration Class by Micah Carrick and having the same problem: The IPN variables and values have to be preceded with cmd=_notify-validate. In the paypal.class.php file it's just the opposite. So, just replace $post_string = ''; in line 179 by $post_string="cmd=_notify-validate"; replace $post_string .= $field.'='.urlencode(stripslashes($value)).'&'; in line 181 by $post_string .= '&' . $field.'='.urlencode(stripslashes($value)); then delete $post_string.="cmd=_notify-validate"; in line 184 and your problem should be solved.

Dominik Späte