From 0681f5d30f8a0a4c4cee31e71f8e7c5c01c8d2c1 Mon Sep 17 00:00:00 2001 From: Madhav Sharma Date: Sun, 16 Nov 2025 00:46:13 +0530 Subject: [PATCH] Removed parameters.keys() as it will fetch all keys from the parameters everytime where we just need to check if a string exists in the parameters. --- razorpay/utility/utility.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/razorpay/utility/utility.py b/razorpay/utility/utility.py index 1272372d..10c240cb 100644 --- a/razorpay/utility/utility.py +++ b/razorpay/utility/utility.py @@ -21,16 +21,18 @@ def verify_payment_signature(self, parameters): return self.verify_signature(msg, razorpay_signature, secret) - def verify_payment_link_signature(self, parameters): + def verify_payment_link_signature(self, parameters:dict): - if 'razorpay_payment_id' in parameters.keys() and 'payment_link_reference_id' in parameters.keys() and 'payment_link_status' in parameters.keys(): - payment_id = str(parameters['razorpay_payment_id']) - payment_link_id = str(parameters['payment_link_id']) - payment_link_reference_id = str(parameters['payment_link_reference_id']) - payment_link_status = str(parameters['payment_link_status']) - razorpay_signature = str(parameters['razorpay_signature']) - else: + if 'razorpay_payment_id' not in parameters\ + or 'payment_link_reference_id' not in parameters\ + or 'payment_link_status' not in parameters: return False + + payment_id = str(parameters['razorpay_payment_id']) + payment_link_id = str(parameters['payment_link_id']) + payment_link_reference_id = str(parameters['payment_link_reference_id']) + payment_link_status = str(parameters['payment_link_status']) + razorpay_signature = str(parameters['razorpay_signature']) msg = "{}|{}|{}|{}".format(payment_link_id, payment_link_reference_id, payment_link_status, payment_id)