feat: improve webhook logging
diff --git a/erpnext/non_profit/doctype/member/member.py b/erpnext/non_profit/doctype/member/member.py
index d1294cc..7818c99 100644
--- a/erpnext/non_profit/doctype/member/member.py
+++ b/erpnext/non_profit/doctype/member/member.py
@@ -121,7 +121,7 @@
'subscription_id': 'sub_EZycCvXFvqnC6p'
}
"""
- # {"plan_id":"IFF Starter","fullname":"Shivam Mishra","mobile":"7506056962","email":"shivam@shivam.dev","pan":"Testing123"}
+
user_details = frappe._dict(user_details)
member = get_or_create_member(user_details)
if not member:
diff --git a/erpnext/non_profit/doctype/membership/membership.py b/erpnext/non_profit/doctype/membership/membership.py
index eb393ec..729e111 100644
--- a/erpnext/non_profit/doctype/membership/membership.py
+++ b/erpnext/non_profit/doctype/membership/membership.py
@@ -92,15 +92,11 @@
data = json.loads(data)
data = frappe._dict(data)
- try:
- subscription = data.payload.get("subscription", {}).get('entity', {})
- subscription = frappe._dict(subscription)
+ subscription = data.payload.get("subscription", {}).get('entity', {})
+ subscription = frappe._dict(subscription)
- payment = data.payload.get("payment", {}).get('entity', {})
- payment = frappe._dict(payment)
- except Exception as e:
- frappe.log_error(e, "Webhook Data Parsing Error")
- return False
+ payment = data.payload.get("payment", {}).get('entity', {})
+ payment = frappe._dict(payment)
try:
data_json = json.dumps(data, indent=4, sort_keys=True)
@@ -108,10 +104,10 @@
except Exception as e:
error_log = frappe.log_error(frappe.get_traceback() + '\n' + data_json , _("Membership Webhook Failed"))
notify_failure(error_log)
- return False
+ return { status: 'Failed' }
if not member:
- return False
+ return { status: 'Failed' }
try:
if data.event == "subscription.activated":
member.customer_id = payment.customer_id
@@ -137,9 +133,11 @@
member.subscription_activated = 1
member.save(ignore_permissions=True)
except Exception as e:
- frappe.log_error(e, "Error creating membership entry")
+ log = frappe.log_error(e, "Error creating membership entry")
+ notify_failure(log)
+ return { status: 'Failed' }
- return True
+ return { status: 'Success' }
def notify_failure(log):