JR DOCS/JR Banking
BASE DE CONOCIMIENTO OFICIAL

JR Banking

Guías de instalación, configuración y soporte para los recursos de JR Shops.

← VOLVER A DOCUMENTATION
FINANCE · JR SHOPS

JR Banking

Instalación y configuración del ecosistema bancario, tarjetas, cajeros y JR Datafono.

DOCUMENTACIÓN COMPLETA
DOC IDJR-BK-04VERSION / LATEST
01 · OVERVIEW

JR Banking — Documentation

JR Banking is a complete banking system for FiveM. It provides bank branches, ATMs, personal and savings accounts, physical cards, loans, transfers, anti-fraud protection, and optional integrations with LB Phone, JR Datafono, JR DealerShop, and Origen Police.

Documented version: 0.17.10

02
BEFORE YOU START

Requirements

ResourceType
oxmysqlRequired
JR BridgeRequired
QBCore, Qbox, or ESX LegacyRequired
Compatible strict inventoryRequired for physical cards
lb-phone, screenshot-basic, Origen Police, and JR DealerShopOptional

External compatibility follows this architecture:

JR Banking -> JR Bridge -> Framework / inventory / target / dispatch
03
INSTALLATION

Installation

  1. Extract the resource into your server's resources directory.
  2. Keep the exact JR_Banking folder name.
  3. Configure the required providers in JR Bridge.
  4. Register the jr_card physical item in your inventory.
  5. Start the resources in the correct order.

Minimum start order:

ensure oxmysql
ensure JR_Bridge
ensure JR_Banking

The framework, inventory, target, and notification providers must start before JR Bridge. LB Phone must start before JR Banking. JR Datafono and JR DealerShop must start after Banking.

Database

JR Banking automatically creates and updates its tables. A successful startup displays database=ready in the console.

If your hosting provider requires a manual import, select the database used by oxmysql and import install/database.sql. This SQL file is only intended for a new installation and must not be reimported over an existing database.

Card item

The jr_card item must be unique and non-stackable. QBCore example:

jr_card = {
    name = 'jr_card', label = 'JR Card', weight = 0, type = 'item',
    image = 'bank_card.png', unique = true, useable = false,
    shouldClose = true, description = 'Physical bank card for JR Banking'
},

For Ox Inventory, use an equivalent definition with stack = false.

04
CONFIGURATION · USAGE · INTEGRATIONS

Configuration

FilePurpose
shared/config.luaBranding, currency, language, and features
shared/config/accounts.luaAccounts, societies, transfers, and cash
shared/config/access.luaBranches, ATMs, interactions, and stolen cards
shared/config/products.luaCards, PIN policy, and loans
shared/config/integrations.luaLB Phone and JR DealerShop
server/logs.luaPrivate webhooks

Do not edit shared/config_compat.lua or protected internal files.

Interaction type

Config.Interaction = {
    Mode = 'auto' -- 'notification' | 'auto' | 'ox_target' | 'qb-target'
}
  • notification: displays the E key prompt.
  • auto: uses a target when available and falls back to E.
  • ox_target: requires Ox Target.
  • qb-target: requires QB Target.

Stolen cards

Config.StolenCards.Enabled = true

When enabled, a player physically carrying another player's card may attempt to use it. When disabled, ATMs only accept cards owned by the current character. The same section controls allowed operations, withdrawal limits, security attempts, difficulty, face scanning, evidence capture, and police dispatch.

Loans

Config.Products.Loans controls amounts, terms, interest, active-loan limits, installment frequency, automatic collection, delinquency, and early repayment. Frequency determines the payment schedule. Scheduler.IntervalSeconds only controls how often the server searches for due installments.

Webhooks

Add private URLs to server/logs.lua. You can use one general webhook or separate channels for accounts, transfers, cash, cards, loans, ATMs, security, and administration. Evidence.Webhook receives security photographs.

When using convars, use set and never setr so URLs are not replicated to clients.

Player usage

Bank branch

From a branch, players can view balances and transactions, deposit or withdraw, send transfers, manage cards and PINs, request loans, repay installments, and view vehicle financing agreements. A personal account is created automatically, while savings accounts are opened from a branch.

ATM

The player must carry a physical card. After the card insertion animation, they drag the card to the NFC reader and enter the PIN. The server validates the exact item, owner, account, status, distance, and PIN before authorizing access.

Security

When another player's card is presented, JR Shield can run an identity scan, capture evidence, alert the police, notify the owner, and start the configured security minigames. Changing the PIN, freezing the card, or cancelling it invalidates compromised access.

Mobile application

With LB Phone, players can view and freeze cards, read alerts, view loans, pay the next installment, and send money to contacts or phone numbers. The app does not control balances; all operations are validated by JR Banking on the server.

Integrations

JR Datafono

JR Datafono is delivered as a separate JR Banking add-on. Authorized businesses can send in-person payment requests so customers can present a physical card and confirm the payment. It must start after Banking.

JR DealerShop

Players can view and pay vehicle installments from a bank branch. DealerShop can also authorize the dealership business account with separate view, deposit, and withdraw permissions.

Origen Police

Text dispatch alerts work through JR Bridge. To display photographs, back up Origen Police and follow install/origen_police/README.md to validate and apply the included patch. Evidence images must also be enabled in JR Bridge.

Evidence

JR Bridge can use screenshot-basic to capture and upload an image to Discord without retaining permanent files. Configure the provider, start screenshot-basic, and add the private evidence webhook.

05
TROUBLESHOOTING · SUPPORT

Common errors

DATABASE_NOT_READY

Check the oxmysql start order, connection string, selected database, and the MySQL user's CREATE and ALTER permissions.

player_identity_unavailable

JR Bridge could not obtain the loaded character. Check the framework provider, start order, and whether character loading has finished.

The card does not appear

Confirm that jr_card is registered as a unique item, that the inventory provider supports metadata, and that the card is active and delivered. Restart the inventory, Bridge, Banking, and Datafono in that order.

The target does not appear

Review Config.Interaction.Mode and the target provider selected in JR Bridge. The ox_target and qb-target modes do not display the E prompt.

Webhooks or photographs do not arrive

Review server/logs.lua, the event category, evidence webhook, JR Bridge provider, and screenshot-basic. Read-only menu navigation does not generate Discord logs.

A business account or financing agreement does not appear

JR DealerShop must be running and must authorize the player from the server. Access is never granted by trusting a job value sent by the client.

Support

Before requesting support, run jrbank_status and prepare:

  • JR Banking version;
  • JR Bridge version;
  • framework and inventory;
  • configured providers;
  • complete console error.

Never publish webhooks, PINs, or database credentials.

JR SHOPS SUPPORT

¿Necesitas ayuda con la instalación?

Abre un ticket e incluye las versiones, el error completo y los pasos para reproducirlo. No compartas contraseñas, tokens ni webhooks.

ABRIR SOPORTE ↗
🎃 ESPECIAL HALLOWEEN 20% EN TU PRIMERA COMPRA

Descubre tu próximo sistema para FiveM y estrénalo con un descuento especial.

CÓDIGOHALLOWEEN20
VER SCRIPTS →