[fix] Payment Request Fixes
This commit is contained in:
parent
75de2238d1
commit
e1f6e60cea
@ -11,6 +11,8 @@ class PaymentGatewayAccount(Document):
|
|||||||
self.name = self.gateway + " - " + self.currency
|
self.name = self.gateway + " - " + self.currency
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
|
self.currency = frappe.db.get_value("Account", self.payment_account, "account_currency")
|
||||||
|
|
||||||
self.update_default_payment_gateway()
|
self.update_default_payment_gateway()
|
||||||
self.set_as_default_if_not_set()
|
self.set_as_default_if_not_set()
|
||||||
|
|
||||||
@ -20,5 +22,6 @@ class PaymentGatewayAccount(Document):
|
|||||||
where is_default = 1 """)
|
where is_default = 1 """)
|
||||||
|
|
||||||
def set_as_default_if_not_set(self):
|
def set_as_default_if_not_set(self):
|
||||||
if not frappe.db.get_value("Payment Gateway Account", {"is_default": 1, "name": ("!=", self.name)}, "name"):
|
if not frappe.db.get_value("Payment Gateway Account",
|
||||||
self.is_default = 1
|
{"is_default": 1, "name": ("!=", self.name)}, "name"):
|
||||||
|
self.is_default = 1
|
||||||
|
@ -23,7 +23,7 @@ class PaymentRequest(Document):
|
|||||||
def validate_payment_request(self):
|
def validate_payment_request(self):
|
||||||
if frappe.db.get_value("Payment Request", {"reference_name": self.reference_name,
|
if frappe.db.get_value("Payment Request", {"reference_name": self.reference_name,
|
||||||
"name": ("!=", self.name), "status": ("not in", ["Initiated", "Paid"]), "docstatus": 1}, "name"):
|
"name": ("!=", self.name), "status": ("not in", ["Initiated", "Paid"]), "docstatus": 1}, "name"):
|
||||||
frappe.throw(_("Payment Request already exists {0}".fomart(self.reference_name)))
|
frappe.throw(_("Payment Request already exists {0}".format(self.reference_name)))
|
||||||
|
|
||||||
def validate_currency(self):
|
def validate_currency(self):
|
||||||
ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name)
|
ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name)
|
||||||
@ -150,37 +150,43 @@ def make_payment_request(**args):
|
|||||||
ref_doc = frappe.get_doc(args.dt, args.dn)
|
ref_doc = frappe.get_doc(args.dt, args.dn)
|
||||||
gateway_account = get_gateway_details(args)
|
gateway_account = get_gateway_details(args)
|
||||||
|
|
||||||
pr = frappe.new_doc("Payment Request")
|
existing_payment_request = frappe.db.get_value("Payment Request",
|
||||||
pr.update({
|
{"reference_doctype": args.dt, "reference_name": args.dn})
|
||||||
"payment_gateway": gateway_account.name,
|
if existing_payment_request:
|
||||||
"gateway": gateway_account.gateway,
|
pr = frappe.get_doc("Payment Request", existing_payment_request)
|
||||||
"payment_account": gateway_account.payment_account,
|
else:
|
||||||
"currency": ref_doc.currency,
|
pr = frappe.new_doc("Payment Request")
|
||||||
"make_sales_invoice": args.cart or 0,
|
|
||||||
"amount": get_amount(ref_doc, args.dt),
|
pr.update({
|
||||||
"mute_email": args.mute_email or 0,
|
"payment_gateway": gateway_account.name,
|
||||||
"email_to": args.recipient_id or "",
|
"gateway": gateway_account.gateway,
|
||||||
"subject": "Payment Request for %s"%args.dn,
|
"payment_account": gateway_account.payment_account,
|
||||||
"message": gateway_account.message,
|
"currency": ref_doc.currency,
|
||||||
"payment_url_message": gateway_account.payment_url_message,
|
"make_sales_invoice": args.cart or 0,
|
||||||
"payment_success_url": gateway_account.payment_success_url,
|
"amount": get_amount(ref_doc, args.dt),
|
||||||
"reference_doctype": args.dt,
|
"mute_email": args.mute_email or 0,
|
||||||
"reference_name": args.dn
|
"email_to": args.recipient_id or "",
|
||||||
})
|
"subject": "Payment Request for %s"%args.dn,
|
||||||
|
"message": gateway_account.message,
|
||||||
|
"payment_url_message": gateway_account.payment_url_message,
|
||||||
|
"payment_success_url": gateway_account.payment_success_url,
|
||||||
|
"reference_doctype": args.dt,
|
||||||
|
"reference_name": args.dn
|
||||||
|
})
|
||||||
|
|
||||||
if args.return_doc:
|
if args.return_doc:
|
||||||
return pr
|
|
||||||
|
|
||||||
if args.submit_doc:
|
|
||||||
pr.insert(ignore_permissions=True)
|
|
||||||
pr.submit()
|
|
||||||
|
|
||||||
if args.cart:
|
|
||||||
generate_payment_request(pr.name)
|
|
||||||
frappe.db.commit()
|
|
||||||
|
|
||||||
if not args.cart:
|
|
||||||
return pr
|
return pr
|
||||||
|
|
||||||
|
if args.submit_doc:
|
||||||
|
pr.insert(ignore_permissions=True)
|
||||||
|
pr.submit()
|
||||||
|
|
||||||
|
if args.cart:
|
||||||
|
generate_payment_request(pr.name)
|
||||||
|
frappe.db.commit()
|
||||||
|
|
||||||
|
if not args.cart:
|
||||||
|
return pr
|
||||||
|
|
||||||
return pr.as_dict()
|
return pr.as_dict()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user