What causes my PayPal script IP to fail?

I get the following from a PayPal IPN script. From the following, what causes 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 payer_email=test1_1263505944_per@example.com txn_id=38A45069EV5838100 payment_type=instant last_name=User address_state=West Midlands receiver_email=martin@example.com 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 
+4
source share
4 answers

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

You can use it to reproduce the form you submit, and make sure you get consistent results.

You can get better answers if you specify exactly in which context it fails.

+4
source

Anyone who uses the Micah Carrick PHP Paypal integration class PHP and has the same problem: Variables and IPN values ​​must be preceded by cmd = _notify-validate. In paypal.class.php, the opposite is true.

So just replace $post_string = ''; on line 179 on
$post_string="cmd=_notify-validate";
replace
$post_string .= $field.'='.urlencode(stripslashes($value)).'&';

at line 181 on $post_string .= '&' . $field.'='.urlencode(stripslashes($value)); $post_string .= '&' . $field.'='.urlencode(stripslashes($value));

then remove $post_string.="cmd=_notify-validate"; on line 184 and your problem should be resolved.

+5
source

To connect to the Paypal sandbox, use this line:

 $fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30); 

not: $fp = fsockopen($url_parsed['host'],"80",$err_num,$err_str,30);

and the IPN response will send the word " VERIFIED "

If you are testing IPP Paypal over SSL, you will need to use ssl://www.sandbox.paypal.com on port 443

+2
source

@ Dominic, this also fixes my problems! I accidentally used the Md Emran Hasan PHP class . And did, ripping my hair for about a week with this problem!

So my editing looked like this ... where $postString .="cmd=_notify-validate"; // $postString .="cmd=_notify-validate"; // used after the while! This code has been wrapped by the validateIPN function.

  $postString .= "cmd=_notify-validate"; // append ipn command foreach ($_POST as $field=>$value) { $this->ipnData["$field"] = $value; $postString .= '&' . $field .'=' . urlencode(stripslashes($value)); } 
0
source

Source: https://habr.com/ru/post/1299352/


All Articles