Answers.Body: <p>Thank you for the confirmation others are seeing this issue. In the end, this solved it for us - add lines 4-6 from the following code (lines 1-3 and 7-9 included for reference) to file /CRM/Core/Payment/PayPalProIPN.php</p>
  
  <pre><code>CRM_Core_Error::debug_var('GET', $_GET, TRUE, TRUE);
  CRM_Core_Error::debug_var('POST', $_POST, TRUE, TRUE);
  if ($this-&gt;_isPaymentExpress) {
    if (empty($this-&gt;_inputParameters['rp_invoice_id'])) {
      return;
    }
    $this-&gt;handlePaymentExpress();
    return FALSE;
  }
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-22T20:35:26.093Z
Answers.Text: has this been suggested as a patch to CiviCRM?
Answers.UserDisplayName: Zachary
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-22T21:21:12.477Z
Answers.Text: I was told by the person who fixed this for us that it would be, but I don't see this change in the 5.9.0 version so guessing it hasn't happened yet; if you know how to submit the patch, please do; in the meantime, I can nudge the developer in question
Answers.UserDisplayName: MtnPavlas
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-01T03:05:51.770Z
Answers.Text: It may not have been submitted as a patch because a similar or same issue and solution is being discussed: https://lab.civicrm.org/dev/core/issues/659
Answers.UserDisplayName: Evan
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-03T07:08:57.517Z
Answers.LastActivityDate: 2019-01-03T07:08:57.517Z
Answers.UserDisplayName: MtnPavlas
Answers.Body: <p>I've been seeing this in various versions of CiviCRM starting in roughly Sep of this year.  Note in the original post that actually 500=error vs. 200=success, but other than that, the description of the symptom I'm seeing is accurate.  I think that (just guessing) something has changed in the way that Paypal is using the IPN URL - and sending it things it didn't used to.  What happens, after 100 failures, is that Paypal will stop sending IPN completely, and you must re-enable IPN via the Paypal.com 'profile' console.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-17T20:57:27.500Z
Answers.LastActivityDate: 2018-12-17T20:57:27.500Z
Answers.UserDisplayName: CiviTeacher
Answers.Body: <p>Just upgraded from 4.7.27 --> 5.8.1 and have now started seeing the issue with all non-recurring payments returning an error to PayPal.  Then PayPal disabled IPNs for all payments, including recurring.</p>
  
  <p>I had to copy <code>civicrm/CRM/Core/Payment/PayPalProIPN.php</code> from the old version to "solve" the problem.</p>
  
  <p>I also saw this in the logs:</p>
  
  <p><code>
  PHP Warning:  array_flip(): Can only flip STRING and INTEGER values! in /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php on line 214<br>
  PHP Stack trace:<br>
  PHP   1. {main}() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/extern/ipn.php:0<br>
  PHP   2. CRM_Core_Payment_PayPalProIPN-&gt;main() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/extern/ipn.php:59<br>
  PHP   3. CRM_Core_Payment_PayPalProIPN-&gt;handlePaymentExpress() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php:428<br>
  PHP   4. CRM_Core_Payment_PayPalProIPN-&gt;recur() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php:602<br>
  PHP   5. array_flip() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php:214
  </code> </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-02T22:29:47.487Z
Answers.LastActivityDate: 2019-01-02T22:29:47.487Z
Answers.UserDisplayName: talyric
Body: <p>About two months ago, we started getting the following notifications 2x/day via email from PayPal. It appears Civi returns response 200 (error) for non-recurring transactions rather than 500 response (success). The email from PPL says they may disable our account if the issue continues so I'm really worried. We had a pro look at the code, saying there should not be an IPN call for non-recurring transactions, and that Civi throws the error because it doesn't expect it. He's also saying the Civi code handling this hasn't been touch for a long time, and that it's possibly on the PayPal side. We certainly haven't changed any PPL settings ... so wondering if anyone else is seeing these warning emails from PPL:</p>
  
  <blockquote>
    <p>Please check your server that handles PayPal Instant Payment
    Notifications (IPN). IPNs sent to the following URL(s) are failing:
    https:///civicrm/extern/ipn.php  If you do not
    recognize this URL, you may be using a service provider that is using
    IPN on your behalf. Please contact your service provider with the
    above information. If this problem continues, IPNs may be disabled for
    your account.  Thank you for your prompt attention to this issue.
    Thanks, PayPal</p>
  </blockquote>
  
  <p>Anyone, anyone?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-25T06:20:49.310Z
Comments.Text: We are also seeing this on CiviCRM 5.5. When we were using 4.7.x and prior it was not an issue.
Comments.UserDisplayName: Zachary
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-25T07:08:15.483Z
Comments.Text: The URL you pasted seems to be wrong for ipn call back! Did you trim the url?
Comments.UserDisplayName: Pradeep Nayak
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-19T10:48:41.693Z
Comments.Text: Sorry, yes, the full IPN URL in PayPal is: <our site URL>/administrator/components/com_civicrm/civicrm/extern/ipn.php; this is a Joomla implementation; the URL is correct - a 3rd party Civi developer who looked at the code and logs said the calls from PayPal are reaching Civi, but apparently it should NOT be doing so for non-recurring payments; and since Civi is not expecting a call from PayPal, it freaks out and sends an error to PayPal. Seems odd to me, but that's what I'm being told
Comments.UserDisplayName: MtnPavlas
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-12-17T21:11:15.237Z
Comments.Text: @MtnPavlas I'm running into the same issue.  Who was the professional developer you spoke with?  maybe we can combine our efforts to a solution
Comments.UserDisplayName: CiviTeacher
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-12-23T14:17:11.827Z
Comments.Text: There have been improvements to the paypal IPNs during the 5.x release cycle.  However, this is most likely a pre-existing issue and may require changes to the IPN processor in CiviCRM to "ignore" or send a 200 OK response to paypal for non-recurring transactions.
Comments.UserDisplayName: Matthew Wire
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-01-04T01:01:18.273Z
Comments.Text: @CiviTeacher, sorry about the late reply; please see if the answer I posted and accepted as a solution works for you; if not, I worked with Jitendra from Fuzion
Comments.UserDisplayName: MtnPavlas
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-02-28T23:58:04.783Z
Comments.Text: We're seeing this
  
  MtnPavlas is the fix Fuzion implemented still working for you? Did you by chance try configuring PayPal with the newer IPN URL? 
  
  https://example.com/civicrm/payment/ipn/NN
  
  @MatthewWire would this new IPN URL have any effect on Civi's response to the unexpected IPN call?
Comments.UserDisplayName: Evan
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-04-01T18:32:15.543Z
Comments.Text: How can I stop getting Emails from PayPal, I keep getting them every 2 minutes, please make them stop thank
Comments.UserDisplayName: Eileen Sheridan
Tags: <payment-processor><paypal><ipn>
Title: anyone getting "IPN warning" emails from PayPal?
ThreadText: # anyone getting "IPN warning" emails from PayPal?
  
  (Asked by: username_0 on 2018-09-25)
  
  About two months ago, we started getting the following notifications 2x/day via email from PayPal. It appears Civi returns response 200 (error) for non-recurring transactions rather than 500 response (success). The email from PPL says they may disable our account if the issue continues so I'm really worried. We had a pro look at the code, saying there should not be an IPN call for non-recurring transactions, and that Civi throws the error because it doesn't expect it. He's also saying the Civi code handling this hasn't been touch for a long time, and that it's possibly on the PayPal side. We certainly haven't changed any PPL settings ... so wondering if anyone else is seeing these warning emails from PPL:
  
  > Please check your server that handles PayPal Instant Payment
  > Notifications (IPN). IPNs sent to the following URL(s) are failing:
  > https:///civicrm/extern/ipn.php If you do not
  > recognize this URL, you may be using a service provider that is using
  > IPN on your behalf. Please contact your service provider with the
  > above information. If this problem continues, IPNs may be disabled for
  > your account. Thank you for your prompt attention to this issue.
  > Thanks, PayPal
  
  Anyone, anyone?
  
  **Tags:** payment-processor, paypal, ipn
  
  > **Comments:**
  > **username_1**: We are also seeing this on CiviCRM 5.5. When we were using 4.7.x and prior it was not an issue.  
  > **username_2**: The URL you pasted seems to be wrong for ipn call back! Did you trim the url?  
  > **username_0**: Sorry, yes, the full IPN URL in PayPal is: <our site URL>/administrator/components/com_civicrm/civicrm/extern/ipn.php; this is a Joomla implementation; the URL is correct - a 3rd party Civi developer who looked at the code and logs said the calls from PayPal are reaching Civi, but apparently it should NOT be doing so for non-recurring payments; and since Civi is not expecting a call from PayPal, it freaks out and sends an error to PayPal. Seems odd to me, but that's what I'm being told  
  > **username_3**: @username_0 I'm running into the same issue.  Who was the professional developer you spoke with?  maybe we can combine our efforts to a solution  
  > **username_4**: There have been improvements to the paypal IPNs during the 5.x release cycle.  However, this is most likely a pre-existing issue and may require changes to the IPN processor in CiviCRM to "ignore" or send a 200 OK response to paypal for non-recurring transactions.  
  > **username_0**: @username_3, sorry about the late reply; please see if the answer I posted and accepted as a solution works for you; if not, I worked with Jitendra from Fuzion  
  > **username_5**: We're seeing this  username_0 is the fix Fuzion implemented still working for you? Did you by chance try configuring PayPal with the newer IPN URL?   https://example.com/civicrm/payment/ipn/NN  @MatthewWire would this new IPN URL have any effect on Civi's response to the unexpected IPN call?  
  > **username_6**: How can I stop getting Emails from PayPal, I keep getting them every 2 minutes, please make them stop thank  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_0 on 2019-01-03. Score: 2 | Accepted answer
  
  Thank you for the confirmation others are seeing this issue. In the end, this solved it for us - add lines 4-6 from the following code (lines 1-3 and 7-9 included for reference) to file /CRM/Core/Payment/PayPalProIPN.php
  CRM_Core_Error::debug_var('GET', $_GET, TRUE, TRUE);
  CRM_Core_Error::debug_var('POST', $_POST, TRUE, TRUE);
  if ($this->_isPaymentExpress) {
    if (empty($this->_inputParameters['rp_invoice_id'])) {
      return;
    }
    $this->handlePaymentExpress();
    return FALSE;
  }
  
  > **Comments:**
  > **username_1**: has this been suggested as a patch to CiviCRM?  
  > **username_0**: I was told by the person who fixed this for us that it would be, but I don't see this change in the 5.9.0 version so guessing it hasn't happened yet; if you know how to submit the patch, please do; in the meantime, I can nudge the developer in question  
  > **username_5**: It may not have been submitted as a patch because a similar or same issue and solution is being discussed: https://lab.civicrm.org/dev/core/issues/659  
  
  ---
  
  ### Answer by username_3 on 2018-12-17. Score: 1
  
  I've been seeing this in various versions of CiviCRM starting in roughly Sep of this year. Note in the original post that actually 500=error vs. 200=success, but other than that, the description of the symptom I'm seeing is accurate. I think that (just guessing) something has changed in the way that Paypal is using the IPN URL - and sending it things it didn't used to. What happens, after 100 failures, is that Paypal will stop sending IPN completely, and you must re-enable IPN via the Paypal.com 'profile' console.
  
  
  ---
  
  ### Answer by username_7 on 2019-01-02. Score: 0
  
  Just upgraded from 4.7.27 --> 5.8.1 and have now started seeing the issue with all non-recurring payments returning an error to PayPal. Then PayPal disabled IPNs for all payments, including recurring.
  
  I had to copy `civicrm/CRM/Core/Payment/PayPalProIPN.php` from the old version to "solve" the problem.
  
  I also saw this in the logs:
  
  `PHP Warning: array_flip(): Can only flip STRING and INTEGER values! in /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php on line 214  
  PHP Stack trace:  
  PHP 1. {main}() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/extern/ipn.php:0  
  PHP 2. CRM_Core_Payment_PayPalProIPN->main() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/extern/ipn.php:59  
  PHP 3. CRM_Core_Payment_PayPalProIPN->handlePaymentExpress() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php:428  
  PHP 4. CRM_Core_Payment_PayPalProIPN->recur() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php:602  
  PHP 5. array_flip() /sites/example.com/production/current/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalProIPN.php:214`
  
  
  ---
  
  