fix(M-Pesa): validate type before executing get_doc
(#28369)
This commit is contained in:
parent
24b048925b
commit
6d3e9bce5f
@ -141,6 +141,9 @@ def verify_transaction(**kwargs):
|
|||||||
transaction_response = frappe._dict(kwargs["Body"]["stkCallback"])
|
transaction_response = frappe._dict(kwargs["Body"]["stkCallback"])
|
||||||
|
|
||||||
checkout_id = getattr(transaction_response, "CheckoutRequestID", "")
|
checkout_id = getattr(transaction_response, "CheckoutRequestID", "")
|
||||||
|
if not isinstance(checkout_id, str):
|
||||||
|
frappe.throw(_("Invalid Checkout Request ID"))
|
||||||
|
|
||||||
integration_request = frappe.get_doc("Integration Request", checkout_id)
|
integration_request = frappe.get_doc("Integration Request", checkout_id)
|
||||||
transaction_data = frappe._dict(loads(integration_request.data))
|
transaction_data = frappe._dict(loads(integration_request.data))
|
||||||
total_paid = 0 # for multiple integration request made against a pos invoice
|
total_paid = 0 # for multiple integration request made against a pos invoice
|
||||||
@ -231,6 +234,9 @@ def process_balance_info(**kwargs):
|
|||||||
account_balance_response = frappe._dict(kwargs["Result"])
|
account_balance_response = frappe._dict(kwargs["Result"])
|
||||||
|
|
||||||
conversation_id = getattr(account_balance_response, "ConversationID", "")
|
conversation_id = getattr(account_balance_response, "ConversationID", "")
|
||||||
|
if not isinstance(conversation_id, str):
|
||||||
|
frappe.throw(_("Invalid Conversation ID"))
|
||||||
|
|
||||||
request = frappe.get_doc("Integration Request", conversation_id)
|
request = frappe.get_doc("Integration Request", conversation_id)
|
||||||
|
|
||||||
if request.status == "Completed":
|
if request.status == "Completed":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user