cashfree-sdk
Version:
This module contains all methods to help you integrate cashfree's payout solution
99 lines (86 loc) • 2.46 kB
JavaScript
var https = require("https")
let checkKeysInObject = function(req, keys) {
if (req === undefined || typeof req !== 'object' || req === null) return {
"status": "ERROR",
"subCode": "412",
"message": "Post data is empty or not a valid JSON"
};
var notPresent = [];
for (var i = 0; i < keys.length; i++) {
if (!req.hasOwnProperty(keys[i])) notPresent.push(keys[i]);
}
if (notPresent.length == 0) return true;
else return {
"status": "ERROR",
"subCode": "412",
"message": notPresent.join(",") + " missing in your request"
}
}
let doPost = function(obj) {
const options = {
hostname: obj.hostname,
port: 443,
path: obj.path,
method: 'POST',
headers: obj.headers
}
var response = '';
var token = null
return new Promise((resolve, reject) => {
const req = https.request(options, (res) => {
// console.log(`statusCode: ${res.statusCode}`)
res.on('data', (d) => {
response += d;
})
res.on('end', (d) => {
resolve(JSON.parse(response));
})
})
req.on('error', (error) => {
reject(error)
})
req.write(JSON.stringify(obj.data))
req.end()
})
}
let doGet = function(obj){
const options = {
hostname: obj.hostname,
port: 443,
path: obj.path,
method: 'GET',
headers: obj.headers
}
var response = '';
var token = null
return new Promise((resolve, reject) => {
const req = https.request(options, (res) => {
// console.log(`statusCode: ${res.statusCode}`)
res.on('data', (d) => {
response += d;
})
res.on('end', (d) => {
resolve(JSON.parse(response));
})
})
req.on('error', (error) => {
reject(error)
})
req.end()
})
}
let VerifyToken = function() {
var path = "/payout/v1/verifyToken";
var token = PayoutConstants.BearerToken;
var data = {}
var obj = {}
obj.headers = {
"Content-Type": 'application/json',
"Authorization": "Bearer "+token
};
obj.path = path;
obj.hostname = "payout-gamma.cashfree.com";
obj.data = data;
doPost(obj);
}
module.exports = {checkKeysInObject, doPost, VerifyToken, doGet};