1
votes

I've been using PayPal IPN for years, and on Sept 13, 2016, my IPN listener started having problems. It looks like the mc_shipping field isn't being returned at all now, and custom field is coming back empty (though I am sending the user's ID).

Here is the code I use to contact PayPal:

    $ch = curl_init('https://www.paypal.com/cgi-bin/webscr');
    $myemail = "[email protected]";

curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));

if( !($res = curl_exec($ch)) ) {
    $error = "CURL ERROR";
    $text = "Got " . curl_error($ch) . " when processing IPN data";
    include ("log_ipn_error.php");      
    curl_close($ch);
    exit;
}
curl_close($ch);

Here is what I'm getting back from PayPal:

cmd=_notify-validate&mc_gross=4.95&protection_eligibility=Eligible&address_status=confirmed&item_number1=03&payer_id=[removed for security reasons]&address_street=[address removed for security reasons]&payment_date=09%3A04%3A13+Sep+14%2C+2016+PDT&payment_status=Completed&charset=windows-1252&address_zip=59422&first_name=[name removed for security reasons]&mc_fee=0.44&address_country_code=US&address_name=[name removed for security reasons]&notify_version=3.8&custom=&payer_status=unverified&business=molly%40thetripclip.com&address_country=United+States&num_cart_items=1&mc_handling1=0.00&address_city=Choteau&verify_sign=AuRlNZvMOhdn8iDWY5YoMB9iRTDzAIjG.3f9vIDCnjWeCMq94kt.qaLM&payer_email=[customer email removed for security reasons]&btn_id1=16432817&contact_phone=[phone no removed for security reasons]&txn_id=95R75212V2997631V&payment_type=instant&last_name=[name removed for security reasons]&address_state=MT&item_name1=5+Trip+Clip+Activities&receiver_email=[my email address]&payment_fee=0.44&quantity1=1&receiver_id=FSRPNTT2JQ9LE&txn_type=cart&mc_gross_1=4.95&mc_currency=USD&residence_country=US&transaction_subject=&payment_gross=4.95&ipn_track_id=73e7cbaf7590a

I've found one other person asking a similar question (with no answer), but I can't find anything from PayPal saying that they are changing the IPN fields.

1
I am getting a similar problem, and it too seems to have appeared out of nowhere fairly recently. What I am seeing is that the mc_shipping field correctly contains the total shipping for the order, but the mc_shippingx fields which should contain the individual shipping amount for each line on the order are not present at all. I think this is a change in what Paypal are sending in the IPN message. Any ideas on how to get these fields back?? There seems no way to code my way out of this if they are just not getting passed, so perhaps it needs a change in the way the website payments are implemeNick Cole
I raised a support ticket with Paypal on this. They didn't respond for a couple of weeks, and when they did simply asked me to verify that the problem was still occurring. On checking, it would appear that the mc_shippingx fields are now being populated again, so I suspect Paypal have fixed a regression at their end.Nick Cole

1 Answers

1
votes

I have been experiencing this same issue with multiple paypal accounts for about 1 month now. This appears to be an issue with paypal according to a response I received from their support site.

Thank you for contacting Merchant Technical Support.

Unfortunately, the problem you're experiencing is being caused by some technical issues with the PayPal system. Our engineers are currently working diligently on a solution to this problem. I am going to assign this ticket to our internal engineering ticket so that when the problem is resolved, you will be notified of its completion right away.

I would suggest anyone else with a similar issue submit a ticket at https://www.paypal-techsupport.com/ in hopes they resolve this issue quickly