diff --git a/frappe/website/doctype/web_form/web_form.py b/frappe/website/doctype/web_form/web_form.py
index e1c9e798e5..836ec8f632 100644
--- a/frappe/website/doctype/web_form/web_form.py
+++ b/frappe/website/doctype/web_form/web_form.py
@@ -10,7 +10,6 @@ from frappe.core.api.file import get_max_file_size
from frappe.core.doctype.file import remove_file_by_url
from frappe.custom.doctype.customize_form.customize_form import docfield_properties
from frappe.desk.form.meta import get_code_files_via_hooks
-from frappe.integrations.utils import get_payment_gateway_controller
from frappe.modules.utils import export_module_json, get_doc_module
from frappe.rate_limiter import rate_limit
from frappe.utils import cstr, dict_with_keys, strip_html
@@ -50,9 +49,6 @@ class WebForm(WebsiteGenerator):
if not frappe.flags.in_import:
self.validate_fields()
- if self.accept_payment:
- self.validate_payment_amount()
-
def validate_fields(self):
"""Validate all fields are present"""
from frappe.model import no_value_fields
@@ -66,12 +62,6 @@ class WebForm(WebsiteGenerator):
if missing:
frappe.throw(_("Following fields are missing:") + "
" + "
".join(missing))
- def validate_payment_amount(self):
- if self.amount_based_on_field and not self.amount_field:
- frappe.throw(_("Please select a Amount Field."))
- elif not self.amount_based_on_field and not self.amount > 0:
- frappe.throw(_("Amount must be greater than 0."))
-
def reset_field_parent(self):
"""Convert link fields to select with names as options"""
for df in self.web_form_fields:
@@ -320,36 +310,6 @@ def get_context(context):
context.reference_doc = json.loads(context.reference_doc.as_json())
- def get_payment_gateway_url(self, doc):
- if self.accept_payment:
- controller = get_payment_gateway_controller(self.payment_gateway)
-
- title = f"Payment for {doc.doctype} {doc.name}"
- amount = self.amount
- if self.amount_based_on_field:
- amount = doc.get(self.amount_field)
-
- from decimal import Decimal
-
- if amount is None or Decimal(amount) <= 0:
- return frappe.utils.get_url(self.success_url or self.route)
-
- payment_details = {
- "amount": amount,
- "title": title,
- "description": title,
- "reference_doctype": doc.doctype,
- "reference_docname": doc.name,
- "payer_email": frappe.session.user,
- "payer_name": frappe.utils.get_fullname(frappe.session.user),
- "order_id": doc.name,
- "currency": self.currency,
- "redirect_to": frappe.utils.get_url(self.success_url or self.route),
- }
-
- # Redirect the user to this url
- return controller.get_payment_url(**payment_details)
-
def add_custom_context_and_script(self, context):
"""Update context from module if standard and append script"""
if self.web_form_module:
@@ -591,6 +551,7 @@ def accept(web_form, data, docname=None, for_payment=False):
frappe.flags.web_form_doc = doc
if for_payment:
+ # this is needed for Payments app
return web_form.get_payment_gateway_url(doc)
else:
return doc