Installation
Installation
1. Drop the resource
Extract suty-billing into resources/[suty]/suty-billing.
2. Ensure dependencies and the resource
server.cfg:
ensure ox_lib
ensure ox_inventory
ensure lb-phone
ensure qbx_core # or qb-core, or es_extended
ensure suty-billing
lb-phone MUST start before suty-billing — the Tap Pay app registers during the latter's boot and won't show up if lb-phone isn't loaded yet.
3. Register the item in ox_inventory
Add this entry to ox_inventory/data/items.lua (also in install/items.lua):
['payment_tablet'] = {
label = 'Datafono',
weight = 500,
stack = false,
close = true,
description = 'Terminal de pago contactless para cobrar a clientes',
client = {
export = 'suty-billing.useTablet',
},
},
Rename the item key (payment_tablet) freely — the resource never reads the name. The only thing it needs is client.export = 'suty-billing.useTablet', which must stay as written.
Restart ox_inventory after saving.
4. Give yourself a test item
giveitem 1 payment_tablet 1
5. Verify
As a merchant (player with an allowed job):
- Use the
payment_tabletitem → tablet appears in your hand with a hold pose, on-screen terminal NUI activates. - Leave it active.
As a customer (on a separate test account or alt):
- Walk within 2 m of the merchant.
- Open your phone → open the Tap Pay app.
- Type an amount → tap Pay.
- App finds the nearby active terminal, server validates funds and transfers — bank → bank.
- The merchant sees a "payment received" notification + the terminal UI updates.
The customer drives the payment from their own phone. The merchant doesn't enter the customer's ID — proximity is what links them.
6. (Optional) Restrict who can use it
Open config.lua. By default every job registered in your framework can use the tablet except those in Config.ExcludeJobs. To use an explicit whitelist instead, see Configuration → AllowedJobs.
7. Tebex Escrow
Customers buying this through Tebex retain edit access to config.lua, INSTALLATION.md, and install/items.lua (already in escrow_ignore). They can rename the item, change job permissions, swap framework, and tune limits without source access.
