Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -727,26 +727,34 @@ def get_bank_statements(
)


def get_bank_connector(bank_account, company):
def get_bank_connector(bank_account, company, is_bulk=False):
# Fetch the connector information
bank_connector = frappe.db.exists(
"Bank Connector",
{
"company": company,
"bank_account": bank_account,
},
)
filters = {
"company": company,
"bank_account": bank_account,
}

# If is_bulk is True, only get connectors with bulk_transaction enabled
if is_bulk:
filters["bulk_transaction"] = 1

bank_connector = frappe.db.exists("Bank Connector", filters)

if not bank_connector:
frappe.throw(_("Bank Connector is not initialized"))
if is_bulk:
frappe.throw(_("Bank Connector with bulk transaction enabled is not initialized for this bank account"))
else:
frappe.throw(_("Bank Connector is not initialized"))

return frappe.get_doc("Bank Connector", bank_connector)


@frappe.whitelist()
def make_payment(payment_order, otp=None):
def make_payment(payment_order, otp=None, is_bulk=0):
payment_order = frappe.get_doc("Payment Order", payment_order)
is_bulk = cint(is_bulk) or (payment_order.get("is_bulk") or 0)
bank_connector = get_bank_connector(
payment_order.company_bank_account, payment_order.company
payment_order.company_bank_account, payment_order.company, is_bulk=is_bulk
)
return bank_connector.make_post_request(
payment_order, otp=otp, action="initiate_payment"
Expand Down
7 changes: 7 additions & 0 deletions india_banking/install.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,13 @@ def create_payment_order_custom_fields():
"read_only": 1,
"insert_after": "posting_date",
},
{
"label": "Is Bulk Payment",
"fieldname": "is_bulk",
"fieldtype": "Check",
"default": 0,
"insert_after": "status",
},
{
"label": "Enqueue Status",
"fieldname": "enqueue_status",
Expand Down
2 changes: 2 additions & 0 deletions india_banking/public/js/payment_order.js
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ frappe.ui.form.on("Payment Order", {
freeze_message: __("Initiating Payment..."),
args: {
payment_order: frm.doc.name,
is_bulk: frm.doc.is_bulk || 0,
},
callback: (res) => {
if (res.message && res.message.otp_required) {
Expand Down Expand Up @@ -335,6 +336,7 @@ frappe.ui.form.on("Payment Order", {
args: {
payment_order: frm.doc.name,
otp: otp,
is_bulk: frm.doc.is_bulk || 0,
},
callback: function (r) {
if (!r.exc) {
Expand Down