diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py index dced7b0397..d33b0a7089 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_connector.py @@ -18,10 +18,7 @@ class MpesaConnector(): def authenticate(self): """ - To make Mpesa API calls, you will need to authenticate your app. This method is used to fetch the access token - required by Mpesa. Mpesa supports client_credentials grant type. To authorize your API calls to Mpesa, - you will need a Basic Auth over HTTPS authorization token. The Basic Auth string is a base64 encoded string - of your app's client key and client secret. + This method is used to fetch the access token required by Mpesa. Returns: access_token (str): This token is to be used with the Bearer header for further API calls to Mpesa. diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py index 9d34a543e1..1d318bbf04 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py @@ -43,8 +43,7 @@ class MpesaSettings(Document): self.handle_api_response("ConversationID", payload, response) def handle_api_response(self, global_id, request_dict, response): - """Response received from API calls returns a global identifier for each transaction, - this code is returned during the callback""" + """Response received from API calls returns a global identifier for each transaction, this code is returned during the callback.""" # check error response if getattr(response, "requestId"): req_name = getattr(response, "requestId") @@ -91,7 +90,7 @@ def sanitize_mobile_number(number): @frappe.whitelist(allow_guest=True) def verify_transaction(**kwargs): - """ Verify the transaction result received via callback from stk """ + """Verify the transaction result received via callback from stk.""" transaction_response = frappe._dict(kwargs["Body"]["stkCallback"]) frappe.logger().debug(transaction_response) @@ -139,8 +138,7 @@ def get_account_balance(request_payload): @frappe.whitelist(allow_guest=True) def process_balance_info(**kwargs): - """Process and store account balance information received via callback - from the account balance API call.""" + """Process and store account balance information received via callback from the account balance API call.""" account_balance_response = frappe._dict(kwargs["Result"]) conversation_id = getattr(account_balance_response, "ConversationID", "") @@ -164,7 +162,7 @@ def process_balance_info(**kwargs): request.handle_success(account_balance_response) frappe.publish_realtime("refresh_mpesa_dashboard") - except: + except Exception: request.handle_failure(account_balance_response) frappe.log_error(title=_("Mpesa Account Balance Processing Error"), message=account_balance_response) else: @@ -172,7 +170,7 @@ def process_balance_info(**kwargs): def convert_to_json(balance_info): """ - Convert string to json + Convert string to json. e.g: '''Working Account|KES|481000.00|481000.00|0.00|0.00''' => {'Working Account': {'current_balance': '481000.00', @@ -192,7 +190,7 @@ def convert_to_json(balance_info): return dumps(balance_dict) def fetch_param_value(response, key, key_field): - """Fetch the specified key from list of dictionary. Key is identified via the key field""" + """Fetch the specified key from list of dictionary. Key is identified via the key field.""" for param in response: if param[key_field] == key: return param["Value"] \ No newline at end of file diff --git a/erpnext/selling/page/point_of_sale/pos_payment.js b/erpnext/selling/page/point_of_sale/pos_payment.js index 2053903943..ec886d7957 100644 --- a/erpnext/selling/page/point_of_sale/pos_payment.js +++ b/erpnext/selling/page/point_of_sale/pos_payment.js @@ -176,6 +176,7 @@ erpnext.PointOfSale.Payment = class { frappe.realtime.on("process_phone_payment", function(data) { frappe.dom.unfreeze(); + cur_frm.reload_doc(); let message = data["ResultDesc"]; let title = __("Payment Failed");