paydunya
Version:
PAYDUNYA Node.JS Library
53 lines (47 loc) • 1.42 kB
JavaScript
var request = require('superagent')
, Promise = require('bluebird')
, util = require('util')
;
/**
* DirectPay class
* @param {object} setup Instance of paydunya.Setup
*/
function DirectPay(setup){
if (!(setup && setup.config)) throw new Error('Must be initialized with instance of paydunya.Setup');
this.config = setup.config;
this.baseURL = setup.baseURL + '/direct-pay';
}
/**
* Credit an PAYDUNYA account
* @param {string} account Account alias, number or email
* @param {number} amount
* @return {promise}
*/
DirectPay.prototype.creditAccount = function (account, amount){
var self = this;
var body = {
account_alias: account,
amount: Number(amount)
};
return new Promise(function (resolve, reject) {
request.post(self.baseURL + '/credit-account')
.set(self.config)
.send(body)
.end(function (err, res) {
if (err) return reject(err)
if (res.body.response_code === '00') {
self.responseText = res.body.response_text;
self.description = res.body.description;
self.transactionID = res.body.transaction_id;
resolve();
} else {
var e = new Error(new Error(util.format('Failed to credit account. '
+ 'Please ensure %s and %s are valid OR check your account balance.'
, account, amount)))
e.data = res.body
reject(e)
}
})
})
};
module.exports = DirectPay;