stubber-stubbucks-functions-pkg
v2.0.2
Published
Client to create stubbucks transactions and read account balances
Downloads
32
Keywords
Readme
stubber-stubbucks-functions-pkg
Client to create stubbucks transactions and read account balances
Client
To use the client you need to have valid redis and mongoDB connection params
import stubbucksClient from "stubber-stubbucks-functions-pkg";
const client = await stubbucksClient({
redis_host: "localhost",
redis_port: 6379,
redis_password: "secret_password",
redis_db: "1",
mongo_url: "mongodb://user:password@localhost:27017",
mongo_db: "database",
});
Functions
The client has multiple functions to standardize affecting the accounts
reserveFunds
Use this to ensure there are enough available funds to do transaction
let transactionuuid = await client.reserveFunds({
orguuid,
code,
quantity,
ttl
})
Params
- orguuid
- code (service cost code)
- quantity (optional - defaults to 1)
- ttl (optional - seconds to reserve funds for - defaults to 30)
Result
- Returns a transactionuuid to be used if
postFunds
orvoidFunds
postFunds
Use this to submit a transaction for previously reserved funds
await client.postFunds({
orguuid,
transactionuuid,
code,
quantity,
details
})
Params
- orguuid
- transactionuuid (see reserveFunds)
- code (optional - if not passed then will post full reserved amount)
- quantity (optional - defaults to 1)
- details (any object that you want to store in the mongoDB document)
Result
- Returns
true
if successful
voidFunds
Use this to remove any pending reserved funds
await client.voidFunds({
orguuid,
transactionuuid
})
Params
- orguuid
- transactionuuid (see reserveFunds)
Result
- Returns
true
if successful
topupAccount
Use this to topup a org account
await client.topupAccount({
orguuid,
details,
amount
})
Params
- orguuid
- details (any object that you want to store in the mongoDB document)
- amount (has to be a float)
Result
- Returns
true
if successful
getAccountBalances
Use this to get account balances
await client.getAccountBalances({
orguuid
})
Params
- orguuid
Result
{
current_balance,
available_balance
}