Server Exports (Banking)
Below are all available server-side exports provided by bablo-banking. These helpers handle account lookups, balance changes, card checks, and society/default account utilities for ESX/QBCORE/QBOX setups.
Notes:
- All money mutation functions return
{ success: boolean, newBalance?: number, message?: string }. messageis present whensuccessisfalse(e.g.,ACCOUNT_NOT_FOUND,INSUFFICIENT_FUNDS,CARD_FROZEN).- Amounts are numbers; positive values are expected unless otherwise stated.
AddMoney
-- accountId: string - bank account number
-- amount: number - amount to add
-- description?: string - optional transaction text
-- isAtm?: boolean - when true, applies ATM-specific logic for default accounts
-- actorIdentifier?: string - identifier of the actor performing the action (ATM path)
-- return: { success: boolean, newBalance?: number, message?: string }
local result = exports["bablo-banking"]:AddMoney(accountId, 2500, "External Credit")RemoveMoney
-- accountId: string
-- amount: number
-- description?: string
-- isAtm?: boolean
-- actorIdentifier?: string
-- return: { success: boolean, newBalance?: number, message?: string }
local result = exports["bablo-banking"]:RemoveMoney(accountId, 500, "External Debit")RemoveMoneyByCard
-- accountId: string
-- amount: number
-- cardNumber: string
-- descriptionOrOpts?: string | { description?: string, isAtm?: boolean, actorIdentifier?: string, cardNumber?: string, allowNegative?: boolean }
-- return: { success: boolean, newBalance?: number, message?: string }
local ok = exports["bablo-banking"]:RemoveMoneyByCard(accountId, 100, cardNumber, "POS Payment")AddMoneyByCard
-- accountId: string
-- amount: number
-- cardNumber: string
-- description?: string
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:AddMoneyByCard(accountId, 100, cardNumber, "Card Refund")AddSocietyMoney
-- jobName: string - e.g. "police", "mechanic"
-- amount: number
-- description?: string
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:AddSocietyMoney("police", 5000, "Society Credit [police]")RemoveSocietyMoney
-- jobName: string
-- amount: number
-- opts?: { description?: string, isAtm?: boolean, actorIdentifier?: string, cardNumber?: string, allowNegative?: boolean }
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:RemoveSocietyMoney("police", 1000, { description = "Society Purchase" })AddSocietyMoneyForSource
-- source: number
-- amount: number
-- description?: string
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:AddSocietyMoneyForSource(source, 750, "Bonus Allocation")RemoveSocietyMoneyForSource
-- source: number
-- amount: number
-- opts?: { description?: string, isAtm?: boolean, actorIdentifier?: string, cardNumber?: string, allowNegative?: boolean }
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:RemoveSocietyMoneyForSource(source, 300, { description = "Uniform Purchase" })RemoveDefaultMoney
-- source: number
-- amount: number
-- opts?: { description?: string, isAtm?: boolean, actorIdentifier?: string, cardNumber?: string, allowNegative?: boolean }
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:RemoveDefaultMoney(source, 200, { description = "ATM Withdrawal" })RemoveDefaultByCard
-- source: number
-- amount: number
-- cardNumber: string
-- description?: string
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:RemoveDefaultByCard(source, 50, cardNumber, "POS Purchase")CreateTransaction
-- accountId: string -- e.g. "B123456789" or "BPOLICE"
-- txnType: "deposit" | "withdraw" | "transfer" | string
-- text: string -- human-readable description
-- amount: number -- SIGNED: see type rules below
-- cardNumber?: string -- optional; '' if none
-- return: { success: boolean, transactionId?: number, message?: string }
local res = exports["bablo-banking"]:CreateTransaction("B123456789", "deposit", "Cash Deposit", 500)CreateDefaultTransaction
-- sourceOrIdentifier: number | string -- player source OR identifier (e.g., "AHU78510")
-- txnType: "deposit" | "withdraw" | "transfer" | string
-- text: string
-- amount: number -- SIGNED: see type rules above
-- cardNumber?: string -- optional; '' if none
-- return: { success: boolean, transactionId?: number, message?: string }
local res = exports["bablo-banking"]:CreateDefaultTransaction(source, "withdraw", "ATM Withdrawal", -200)AddDefaultByCard
-- source: number
-- amount: number
-- cardNumber: string
-- description?: string
-- return: { success: boolean, newBalance?: number, message?: string }
local res = exports["bablo-banking"]:AddDefaultByCard(source, 50, cardNumber, "POS Refund")GetAccountFromCard
-- cardNumber: string
-- return: string|nil - linked account number or nil
local accountId = exports["bablo-banking"]:GetAccountFromCard(cardNumber)GetBalanceFromCard
-- cardNumber: string
-- return: number - current balance for the linked account/card
local balance = exports["bablo-banking"]:GetBalanceFromCard(cardNumber)GetBalance
-- accountId: string
-- return: number - current balance for the account (uses framework bank if default)
local balance = exports["bablo-banking"]:GetBalance(accountId)GetSocietyBalance
-- jobName: string - e.g. "BPOLICE"
-- return: number - current balance for the society account
local balance = exports["bablo-banking"]:GetSocietyBalance("BPOLICE")IsCardFrozen
-- cardNumber: string
-- return: boolean|nil - true if frozen, false if active, nil if not found
local isFrozen = exports["bablo-banking"]:IsCardFrozen(cardNumber)GetCreditLimitFromCard
-- cardNumber: string
-- return: number limit, number used - configured limit (0 = unlimited), amount used in last 24h
local limit, used = exports["bablo-banking"]:GetCreditLimitFromCard(cardNumber)