diff --git a/api/v3/Job/ProcessPaymentprocessorWebhooks.php b/api/v3/Job/ProcessPaymentprocessorWebhooks.php
index d257c884bdbae622c246eabcb7ff3dc116868b25..08047a1f78be325c6af04f2328bcbec548cc9a3e 100644
--- a/api/v3/Job/ProcessPaymentprocessorWebhooks.php
+++ b/api/v3/Job/ProcessPaymentprocessorWebhooks.php
@@ -55,7 +55,13 @@ function civicrm_api3_job_process_paymentprocessor_webhooks($params) {
   foreach ($paymentProcessorWebhooks as $webhook) {
     $paymentProcessor = \Civi\Payment\System::singleton()
       ->getById($webhook['payment_processor_id']);
-    switch ($paymentProcessor->getPaymentProcessor()['class_name']) {
+
+    if (method_exists('processWebhookEvent', $paymentProcessor)) {
+      $paymentProcessor->processWebhookEvent($webhook);
+    }
+    else {
+      // Legacy support.
+      switch ($paymentProcessor->getPaymentProcessor()['class_name']) {
       case 'Payment_Stripe':
         try {
           $results[$webhook['id']] = civicrm_api3('Stripe', 'Ipn', [
@@ -72,6 +78,8 @@ function civicrm_api3_job_process_paymentprocessor_webhooks($params) {
             ->execute();
         }
         break;
+      }
+
     }
   }
 
diff --git a/api/v3/Mjwpayment/Notificationretry.php b/api/v3/Mjwpayment/Notificationretry.php
index 28f0b0ca75d28754bff51f429447b065d33b93db..c19c56e27a36fa1f0b5210b1d9e17be78af9c1cb 100644
--- a/api/v3/Mjwpayment/Notificationretry.php
+++ b/api/v3/Mjwpayment/Notificationretry.php
@@ -22,7 +22,7 @@ function _civicrm_api3_mjwpayment_notificationretry_spec(&$params) {
  */
 function civicrm_api3_mjwpayment_notificationretry($params) {
   if (!empty($params['system_log_id'])) {
-    // lets replace params with this rather than allow altering
+    // let's replace params with this rather than allow altering
     $logEntry = civicrm_api3('system_log', 'getsingle', ['id' => $params['system_log_id'], 'return' => ['context', 'message']]);
   }
   $dataRaw = $logEntry['context'];