diff --git a/api/v3/Stripe/Listevents.php b/api/v3/Stripe/Listevents.php
index a5e8735b7fb08dd545e192e96a57dbcde6097d1d..0f85e389d816ee345972e6524e23af9fd2d77b7d 100644
--- a/api/v3/Stripe/Listevents.php
+++ b/api/v3/Stripe/Listevents.php
@@ -272,7 +272,7 @@ function civicrm_api3_stripe_Listevents($params) {
   $data_list = [ 'data' => [] ];
   if ($subscription) {
     // If we are searching by subscription, we ignore source.
-    $sql = 'SELECT context FROM civicrm_system_log WHERE message = %0 AND context LIKE %1 AND context LIKE %2 ORDER BY timestamp DESC limit %3';
+    $sql = 'SELECT id, context FROM civicrm_system_log WHERE message = %0 AND context LIKE %1 AND context LIKE %2 ORDER BY timestamp DESC limit %3';
     $sql_params = [
       0 => [ 'payment_notification processor_id=' . $params['ppid'], 'String'  ],
       1 => [ '%' . $type . '%', 'String' ],
@@ -282,7 +282,9 @@ function civicrm_api3_stripe_Listevents($params) {
 
     $dao = CRM_Core_DAO::executeQuery($sql, $sql_params);
     while($dao->fetch()) {
-      $data_list['data'][] = civicrm_api3_stripe_listevents_massage_systemlog_json($dao->context);
+      $data = civicrm_api3_stripe_listevents_massage_systemlog_json($dao->context);
+      $data['system_log_id'] = $dao->id;
+      $data_list['data'][] = $data;
     }
 
   }
@@ -293,7 +295,7 @@ function civicrm_api3_stripe_Listevents($params) {
   }
   else {
     // source is systemlog.
-    $sql = 'SELECT context FROM civicrm_system_log WHERE message = %0 AND context LIKE %1 ORDER BY timestamp DESC limit %2';
+    $sql = 'SELECT id, context FROM civicrm_system_log WHERE message = %0 AND context LIKE %1 ORDER BY timestamp DESC limit %2';
     $sql_params = [
       0 => [ 'payment_notification processor_id=' . $params['ppid'], 'String'  ],
       1 => [ '%' . $type . '%', 'String' ],
@@ -302,20 +304,25 @@ function civicrm_api3_stripe_Listevents($params) {
 
     $dao = CRM_Core_DAO::executeQuery($sql, $sql_params);
     while($dao->fetch()) {
-      $data_list['data'][] = civicrm_api3_stripe_listevents_massage_systemlog_json($dao->context);
+      $data = civicrm_api3_stripe_listevents_massage_systemlog_json($dao->context);
+      $data['system_log_id'] = $dao->id;
+      $data_list['data'][] = $data;
     }
   }
   $out = $data_list;
   if ($params['output'] == 'brief') {
     $out = [];
     foreach($data_list['data'] as $data) {
-      $item = [
-        'id' => $data['id'],
-        'created' => date('Y-m-d H:i:s', $data['created']),
-        'livemode' => $data['livemode'],
-        'pending_webhooks' => $data['pending_webhooks'],
-        'type' => $data['type'],
-      ];
+      $item = [];
+      if (array_key_exists('system_log_id', $data)) {
+        $item['system_log_id'] = $data['system_log_id'];
+      }
+      $item['id'] = $data['id'];
+      $item['created'] = date('Y-m-d H:i:s', $data['created']);
+      $item['livemode'] = $data['livemode'];
+      $item['pending_webhooks'] = $data['pending_webhooks'];
+      $item['type'] = $data['type'];
+      
       if (preg_match('/invoice\.payment_/', $data['type'])) {
         $item['invoice'] = $data['data']['object']->id;
         $item['charge'] = $data['data']['object']->charge;