Solution :
git : Garbage Value for title, description and payer_name on Razorpay Payments Page [0010, 00101110, 00011, 00100100010] · Issue #42562 · frappe/erpnext · GitHub
Override Class PaymentRequest / Edit payment_request.py (def get_payment_url(self))
/frappe-bench/apps/erpnext/erpnext/accounts/doctype/payment_request/payment_request.py
class PaymentRequest(Document):
def get_payment_url(self):
if self.reference_doctype != "Fees":
data = frappe.db.get_value(
self.reference_doctype, self.reference_name, ["company", "customer_name"], as_dict=1
)
else:
data = frappe.db.get_value(
self.reference_doctype, self.reference_name, ["student_name"], as_dict=1
)
data.update({"company": frappe.defaults.get_defaults().company})
controller = _get_payment_gateway_controller(self.payment_gateway)
controller.validate_transaction_currency(self.currency)
if hasattr(controller, "validate_minimum_transaction_amount"):
controller.validate_minimum_transaction_amount(self.currency, self.grand_total)
return controller.get_payment_url(
**{
"amount": flt(self.grand_total, self.precision("grand_total")),
"title": data.company,
"description": self.subject,
"reference_doctype": "Payment Request",
"reference_docname": self.name,
"payer_email": self.email_to or frappe.session.user,
"payer_name": data.customer_name,
"order_id": self.name,
"currency": self.currency,
}
)
Changes:
Old :
return controller.get_payment_url(
**{
“amount”: flt(self.grand_total, self.precision(“grand_total”)),
“title”: data.company.encode(“utf-8”),
“description”: self.subject.encode(“utf-8”),
“reference_doctype”: “Payment Request”,
“reference_docname”: self.name,
“payer_email”: self.email_to or frappe.session.user,
“payer_name”: frappe.safe_encode(data.customer_name),
“order_id”: self.name,
“currency”: self.currency,
}
)
New / Replace With :
return controller.get_payment_url(
**{
“amount”: flt(self.grand_total, self.precision(“grand_total”)),
“title”: data.company,
“description”: self.subject,
“reference_doctype”: “Payment Request”,
“reference_docname”: self.name,
“payer_email”: self.email_to or frappe.session.user,
“payer_name”: data.customer_name,
“order_id”: self.name,
“currency”: self.currency,
}
)