Exemplo n.º 1
0
def get_transactions(bank, bank_account=None, start_date=None, end_date=None):
    access_token = None

    if bank_account:
        related_bank = frappe.db.get_values("Bank Account",
                                            bank_account,
                                            ["bank", "integration_id"],
                                            as_dict=True)
        access_token = frappe.db.get_value("Bank", related_bank[0].bank,
                                           "plaid_access_token")
        account_id = related_bank[0].integration_id
    else:
        access_token = frappe.db.get_value("Bank", bank, "plaid_access_token")
        account_id = None

    plaid = PlaidConnector(access_token)

    transactions = []
    try:
        transactions = plaid.get_transactions(start_date=start_date,
                                              end_date=end_date,
                                              account_id=account_id)
    except ItemError as e:
        if e.code == "ITEM_LOGIN_REQUIRED":
            msg = _("There was an error syncing transactions.") + " "
            msg += _(
                "Please refresh or reset the Plaid linking of the Bank {}."
            ).format(bank) + " "
            frappe.log_error(msg, title=_("Plaid Link Refresh Required"))

    return transactions
Exemplo n.º 2
0
def get_transactions(bank, bank_account=None, start_date=None, end_date=None):
    access_token = None

    if bank_account:
        related_bank = frappe.db.get_values("Bank Account",
                                            bank_account,
                                            ["bank", "integration_id"],
                                            as_dict=True)
        access_token = frappe.db.get_value("Bank", related_bank[0].bank,
                                           "plaid_access_token")
        account_id = related_bank[0].integration_id

    else:
        access_token = frappe.db.get_value("Bank", bank, "plaid_access_token")
        account_id = None

    if not access_token:
        frappe.throw(_("Please link your bank with Plaid first."))

    plaid = PlaidConnector(access_token)
    transactions = plaid.get_transactions(start_date=start_date,
                                          end_date=end_date,
                                          account_id=account_id)

    return transactions
Exemplo n.º 3
0
def get_transactions(bank, bank_account=None, start_date=None, end_date=None):
	access_token = None

	if bank_account:
		related_bank = frappe.db.get_values("Bank Account", bank_account, ["bank", "integration_id"], as_dict=True)
		access_token = frappe.db.get_value("Bank", related_bank[0].bank, "plaid_access_token")
		account_id = related_bank[0].integration_id

	else:
		access_token = frappe.db.get_value("Bank", bank, "plaid_access_token")
		account_id = None

	plaid = PlaidConnector(access_token)
	transactions = plaid.get_transactions(start_date=start_date, end_date=end_date, account_id=account_id)

	return transactions