CRM-16566 provide support for recommended callback style to Paypal pro
authorEileen McNaughton <eileen@fuzion.co.nz>
Tue, 26 May 2015 01:05:30 +0000 (13:05 +1200)
committerEileen McNaughton <eileen@fuzion.co.nz>
Tue, 26 May 2015 01:05:30 +0000 (13:05 +1200)
CRM/Core/Payment.php
CRM/Core/Payment/PayPalImpl.php

index ce5e23091bbcdfce96a1c870f716fcca4e49d904..2cb276b4597c0a7c21b70c78b4a9e9dabd7f562f 100644 (file)
@@ -626,16 +626,12 @@ abstract class CRM_Core_Payment {
     // possible we may get more. Hence, iterate through all instances ..
 
     while ($dao->fetch()) {
-      // Check pp is extension
+      // Check pp is extension - is this still required - surely the singleton below handles it.
       $ext = CRM_Extension_System::singleton()->getMapper();
       if ($ext->isExtensionKey($dao->class_name)) {
         $paymentClass = $ext->keyToClass($dao->class_name, 'payment');
         require_once $ext->classToPath($paymentClass);
       }
-      else {
-        // Legacy or extension as module instance
-        $paymentClass = 'CRM_Core_' . $dao->class_name;
-      }
 
       $processorInstance = Civi\Payment\System::singleton()->getById($dao->processor_id);
 
index 838542d15f6f40402bbb3508c74fac7927284e86..85ff69aa62f6a5282705f543a079b67bf798b06b 100644 (file)
@@ -469,6 +469,20 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
     return FALSE;
   }
 
+  /**
+   * Process incoming notification.
+   *
+   * This is only supported for paypal pro at the moment & no specific plans to add this path to core
+   * for paypal standard as the goal must be to separate the 2.
+   *
+   * We don't need to handle paypal standard using this path as there has never been any historic support
+   * for paypal standard to call civicrm/payment/ipn as a path.
+   */
+  static public function handlePaymentNotification() {
+    $paypalIPN = new CRM_Core_Payment_PayPalProIPN($_REQUEST);
+    $paypalIPN->main();
+  }
+
   /**
    * @param string $message
    * @param array $params