refactor: try block across the function
diff --git a/erpnext/non_profit/doctype/membership/membership.py b/erpnext/non_profit/doctype/membership/membership.py
index bfc2661..a3a1b5b 100644
--- a/erpnext/non_profit/doctype/membership/membership.py
+++ b/erpnext/non_profit/doctype/membership/membership.py
@@ -157,9 +157,7 @@
 
 	controller.verify_signature(data, signature, key)
 
-
-@frappe.whitelist(allow_guest=True)
-def trigger_razorpay_subscription(*args, **kwargs):
+def make_membership_entry(*args, **kwargs):
 	data = frappe.request.get_data(as_text=True)
 	try:
 		verify_signature(data)
@@ -218,6 +216,14 @@
 
 	return { status: 'Success' }
 
+@frappe.whitelist(allow_guest=True)
+def trigger_razorpay_subscription(*args, **kwargs):
+	try:
+		return make_membership_entry(*args, **kwargs)
+	except Exception as e:
+		log = frappe.log_error(e, "Webhook Failed")
+		return { status: 'Failed' }
+
 
 def notify_failure(log):
 	try: