From ed651959c1cc2c30bad386e49a0583b588a3b8ea Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 17 Aug 2023 14:20:30 +0530 Subject: [PATCH] fix: amount information in membership --- .../lms_batch_membership.json | 18 ++++++++- lms/lms/doctype/lms_course/lms_course.py | 40 +++++++++++-------- lms/www/billing/billing.js | 2 +- 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/lms/lms/doctype/lms_batch_membership/lms_batch_membership.json b/lms/lms/doctype/lms_batch_membership/lms_batch_membership.json index 6aba9d5b..10a8e93d 100644 --- a/lms/lms/doctype/lms_batch_membership/lms_batch_membership.json +++ b/lms/lms/doctype/lms_batch_membership/lms_batch_membership.json @@ -14,10 +14,12 @@ "member_username", "billing_information_section", "address", - "payment_received", + "amount", + "currency", "column_break_rvzn", "order_id", "payment_id", + "payment_received", "section_break_8", "cohort", "subgroup", @@ -149,11 +151,23 @@ "fieldname": "payment_id", "fieldtype": "Data", "label": "Payment ID" + }, + { + "fieldname": "amount", + "fieldtype": "Data", + "label": "Amount", + "options": "currency" + }, + { + "fieldname": "currency", + "fieldtype": "Link", + "label": "Currency", + "options": "Currency" } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2023-08-11 15:39:50.194348", + "modified": "2023-08-17 13:52:49.450499", "modified_by": "Administrator", "module": "LMS", "name": "LMS Batch Membership", diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index 2d56bd63..d4144e0a 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -446,23 +446,31 @@ def verify_payment(response, course, address, order_id): } ) - return create_membership(address, response, course) + return create_membership(address, response, course, client) -def create_membership(address, response, course): - address_name = save_address(address) - membership = frappe.new_doc("LMS Batch Membership") +def create_membership(address, response, course, client): + try: + address_name = save_address(address) + membership = frappe.new_doc("LMS Batch Membership") + payment = client.payment.fetch(response["razorpay_payment_id"]) - membership.update( - { - "member": frappe.session.user, - "course": course, - "address": address_name, - "payment_received": 1, - "order_id": response["razorpay_order_id"], - "payment_id": response["razorpay_payment_id"], - } - ) - membership.save(ignore_permissions=True) + membership.update( + { + "member": frappe.session.user, + "course": course, + "address": address_name, + "payment_received": 1, + "order_id": response["razorpay_order_id"], + "payment_id": response["razorpay_payment_id"], + "amount": payment["amount"] / 100, + "currency": payment["currency"], + } + ) + membership.save(ignore_permissions=True) - return f"/courses/{course}/learn/1.1" + return f"/courses/{course}/learn/1.1" + except Exception as e: + frappe.throw( + _("Error during payment: {0}. Please contact the Administrator.").format(e) + ) diff --git a/lms/www/billing/billing.js b/lms/www/billing/billing.js index 4767fe03..6d2cf41f 100644 --- a/lms/www/billing/billing.js +++ b/lms/www/billing/billing.js @@ -105,7 +105,7 @@ const handle_success = (response, course, address, order_id) => { }); setTimeout(() => { window.location.href = data.message; - }, 2000); + }, 1000); }, }); };