hotrecharge
v3.0.0
Published
Hot Recharge Service
Downloads
67
Maintainers
Readme
NODEJS Library for Hot Recharge
Sign up for a merchant account at Hot Recharge
You will need your email and your password to make successful requests
Prerequisites
The library has a set of prerequisites that must be met for it to work
- Node.js
- NPM (Node Package Manager)
Installation
Install the library using either npm or yarn
$ npm install hotrecharge --save
$ yarn add hotrecharge
Usage
Import the library
const HotRecharge = require("hotrecharge").HotRecharge;
or
const { HotRecharge, Currency } = require("hotrecharge");
Declare and instantiate a new instance of HotRecharge
const recharge = new HotRecharge({
email: 'email address',
password: 'password',
});
Direct airtime recharge of user's mobile account
import { Currency } from './constants';
let response = await recharge.pinlessRecharge('amount', 'targetMobile', 'BrandID', 'CustomerSMS', Currency.ZWL)
Sample Response
{
ReplyCode: 2,
ReplyMsg: 'Recharge to 077111111 of $1 was successful. The initial balance was $0.05 final balance is $1.05',
WalletBalance: 25,
Amount: 1,
Discount: 0,
InitialBalance: 0.0494,
FinalBalance: 1.0494,
Window: '2021-05-15T18:33:23.7622021+02:00',
Data: 0,
SMS: 0,
AgentReference: 'xxxxxxx',
RechargeID: 0000000
}
Direct data bundle recharge of user's mobile account
let response = await recharge.dataBundleRecharge('productcode', 'mobile number', 'custom message')
Get agent wallet balance
let response = await recharge.walletBalance()
Get end user wallet balance
let response = await recharge.customerWalletBalance('mobile number')
Get list of available data bundle options
let response = await recharge.dataBundleOptions()
Sample Response
{
ReplyCode: 2,
Bundles: [
{
BundleId: 47,
BrandId: 2,
Network: 'Econet',
ProductCode: 'SMSD5',
Amount: 125,
Name: 'SMS - 5MB',
Description: 'SMS Daily Bundle',
ValidityPeriod: 1
},
],
AgentReference: 'xxxxxx'
}
Query a transaction
let response = recharge.queryTransactionReference('transaction reference')
Sample response
{
RawReply: '{"ReplyCode":2,"ReplyMsg":"Recharge to 0771111111 of $1 was successful. The initial balance was $0.05 final balance is $1.05","WalletBalance":25.0000,"Amount":1.0,"Discount":0.0000,"InitialBalance":0.0494,"FinalBalance":1.0494,"Window":"2021-05-15T18:33:23.7622021+02:00","Data":0.0,"SMS":0,"AgentReference":"xxxxxxx","RechargeID":0000000}',
ReplyCode: '2',
ReplyMsg: 'Recharge to 0771111111 of $1 was successful. The initial balance was $0.05 final balance is $1.05',
OriginalAgentReference: 'xxxxxxx',
AgentReference: 'yyyyyyy'
}
Purchase Zesa Tokens
const response = await recharge.rechargeZesa(amount, mobileNumberToSendTokenTo, meterNumber)
Sample Response
{
ReplyCode: replyCode,
ReplyMsg: replyMsg,
WalletBalance: walletBalance,
Amount: amount,
Discount: discount,
Meter: meter,
AccountName: accountName,
Address: address,
Tokens: [
{
Token: token,
Units: units,
NetAmount: netAmount,
Levy: levy,
Arrears: arrears,
TaxAmount: taxAmount,
ZesaReference: zesaReference,
}
],
AgentReference: agentReference,
RechargeID: rechargeID,
}
Check Zesa Agent Wallet Balance
const response = await recharge.zesaWalletBalance()
Sample Response
{
ReplyCode: 2,
ReplyMsg: 'Your HOT ZESA Balance is $ 0.00. You can sell approximately $ 0.00.',
WalletBalance: 0,
AgentReference: '11d9f48c9c464e0f81268ee7cab8c90c'
}
Check Zesa Customer Details
const response = await recharge.enquireZesaCustomer('meterNumber')
Sample Response
{
ReplyCode: 2,
ReplyMsg: 'PRINCE JONATHAN T KUIPA\n9999 9999 MUTAMBARA MISSION',
Meter: 'xxxxxxxx',
CustomerInfo: {
Reference: '',
CustomerName: 'PRINCE JONATHAN T KUIPA\n9999 9999 MUTAMBARA MISSION',
Address: '',
MeterNumber: 'xxxxxxxxx'
},
AgentReference: null
}