Exports

Here are the various exports and their type-definitions:

FetchInvoices

vivum-billing

-- Fetch all personal received invoices.
exports["vivum-billing"]:FetchInvoices(source, "received", { id = "__me", label = "Me" }, function(res)
	print(res.status, res.invoices)
end)

-- Fetch all personal sent invoices.
exports["vivum-billing"]:FetchInvoices(source, "sent", { id = "__me", label = "Me" }, function(res)
	print(res.status, res.invoices)
end)


-- Fetch all invoices for a society (player must have that job)
exports["vivum-billing"]:FetchInvoices(source, "received", { id = "police", label = "LSPD" }, function(res)
	print(res.status, res.invoices)
end)

SendInvoice

vivum-billing

local invoiceData = {
	sender = '__me',
	sender_label = 'Me',
	recipient = 'police',
	recipient_label = 'LSPD',
	amount = 10000,
	payments_num = 1,
	payments_period = 7, -- (in days)
	summary = "Summary"
}

exports["vivum-billing"]:SendInvoice(source, invoiceData, function(res)
	print(res.status) -- OK or FAILED
end)

PayInvoice

vivum-billing

local invoiceData = {
	id = 1, -- Incremental Invoice ID
	sender = '__me',
	sender_label = 'Me',
	recipient = 'police',
	recipient_label = 'LSPD',
}

exports["vivum-billing"]:PayInvoice(source, invoiceData, function(res)
	print(res.status) -- OK or FAILED
end)

CancelInvoice

vivum-billing

local invoiceData = { id = 1, sender = '018510250', ... } -- id and sender only technically needed, however ALL data is standardly available since we need notification locales.

exports["vivum-billing"]:CancelInvoice(source, invoiceData, function(res)
	print(res.status) -- OK or FAILED
end)