@@ -251,7 +251,7 @@ public function execute()
251251
252252 $ this ->setWebhookData ($ post , $ orderWebhookData ['entity_id ' ], true , $ paymentId , $ amountPaid );
253253
254- $ this ->setWebhookNotifiedAt ($ orderWebhookData ['entity_id ' ]);
254+ $ this ->setWebhookNotifiedAt ($ orderWebhookData ['entity_id ' ], $ post );
255255 }
256256 }
257257 }
@@ -286,12 +286,27 @@ protected function getOrderData($orderId) : array
286286 return $ collection ->getData ();
287287 }
288288
289- protected function setWebhookNotifiedAt ($ entity_id )
289+ protected function setWebhookNotifiedAt ($ entity_id, $ post )
290290 {
291291 $ order = $ this ->order ->load ($ entity_id );
292292
293293 $ orderLink = $ this ->_objectManager ->get ('Razorpay\Magento\Model\OrderLink ' )
294- ->load ($ order ->getEntityId (), 'order_id ' );
294+ ->getCollection ()
295+ ->addFieldToFilter ('order_id ' , $ order ->getEntityId ())
296+ ->addFieldToFilter ('rzp_order_id ' , $ post ['payload ' ]['payment ' ]['entity ' ]['order_id ' ])
297+ ->getFirstItem ();
298+
299+ if (!$ orderLink ->getId ()) {
300+ $ properties = [
301+ "error_message " => "OrderLink not found at setWebhookNotifiedAt " ,
302+ "file_path " => "controller/Payment/Webhook.php " ,
303+ "exception_type " => null ,
304+ "notes " => null
305+ ];
306+
307+ $ this ->trackPluginInstrumentation ->rzpTrackDataLake ('razorpay.std.webhook.setdata.failed ' , $ properties );
308+ return ;
309+ }
295310
296311 $ orderLink ->setRzpWebhookNotifiedAt (time ());
297312 $ orderLink ->save ();
@@ -312,7 +327,23 @@ protected function setWebhookData($post, $entityId, $webhookVerifiedStatus, $pay
312327 $ order = $ this ->order ->load ($ entityId );
313328
314329 $ orderLink = $ this ->_objectManager ->get ('Razorpay\Magento\Model\OrderLink ' )
315- ->load ($ order ->getEntityId (), 'order_id ' );
330+ ->getCollection ()
331+ ->addFieldToFilter ('order_id ' , $ order ->getEntityId ())
332+ ->addFieldToFilter ('rzp_order_id ' , $ post ['payload ' ]['payment ' ]['entity ' ]['order_id ' ])
333+ ->getFirstItem ();
334+
335+ if (!$ orderLink ->getId ()) {
336+
337+ $ properties = [
338+ "error_message " => "OrderLink not found at setWebhookData " ,
339+ "file_path " => "controller/Payment/Webhook.php " ,
340+ "exception_type " => null ,
341+ "notes " => "OrderLink not found " ,
342+ ];
343+
344+ $ this ->trackPluginInstrumentation ->rzpTrackDataLake ('razorpay.std.webhook.setdata.failed ' , $ properties );
345+ return ;
346+ }
316347
317348 $ existingWebhookData = $ orderLink ->getRzpWebhookData ();
318349
0 commit comments