fix: bind callback callback for realtime event
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py
index 41a135f..8eba647 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -84,11 +84,10 @@
elif self.payment_channel == "Phone":
controller = get_payment_gateway_controller(self.payment_gateway)
payment_record = dict(
- reference_doctype=self.reference_doctype,
- reference_docname=self.reference_name,
+ reference_doctype="Payment Request",
+ reference_docname=self.name,
grand_total=self.grand_total,
sender=self.email_to,
- payment_request_name=self.name,
currency=self.currency,
payment_gateway=self.payment_gateway
)
diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.js b/erpnext/accounts/doctype/pos_invoice/pos_invoice.js
index 3be4304..bedf5e5 100644
--- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.js
+++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.js
@@ -142,6 +142,23 @@
frm: cur_frm
})
},
+
+ request_for_payment: function (frm) {
+ frm.save().then(() => {
+ frappe.dom.freeze();
+ frappe.call({
+ method: 'create_payment_request',
+ doc: frm.doc,
+ })
+ .fail(() => {
+ frappe.dom.unfreeze();
+ frappe.msgprint('Payment request failed');
+ })
+ .then(() => {
+ frappe.msgprint('Payment request sent successfully');
+ });
+ });
+ }
})
$.extend(cur_frm.cscript, new erpnext.selling.POSInvoiceController({ frm: cur_frm }))
diff --git a/erpnext/selling/page/point_of_sale/pos_payment.js b/erpnext/selling/page/point_of_sale/pos_payment.js
index 7f0cabe..35cd408 100644
--- a/erpnext/selling/page/point_of_sale/pos_payment.js
+++ b/erpnext/selling/page/point_of_sale/pos_payment.js
@@ -174,6 +174,24 @@
}
})
+ frappe.realtime.on("process_phone_payments", function(data) {
+ frappe.msgprint({message: 'help', title:'now'})
+ // frappe.dom.unfreeze();
+ // let message = data["ResultDesc"];
+ // let title = __("Payment Failed");
+ // const frm = me.events.get_frm();
+
+ // if (data["ResultCode"] == 0) {
+ // title = __("Payment Received");
+ // $('[data-fieldname=request_for_payment]').text("Paid")
+ // }
+
+ // frappe.msgprint({
+ // "message": message,
+ // "title": title
+ // });
+ });
+
this.$payment_modes.on('click', '.shortcut', function(e) {
const value = $(this).attr('data-value');
me.selected_mode.set_value(value);