Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Easebuzz_NodeJS_kit/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules/
npm-debug.log
pnpm-lock.yaml
.env
144 changes: 85 additions & 59 deletions Easebuzz_NodeJS_kit/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,90 +10,116 @@

*/

require('dotenv').config()
var sha512 = require('js-sha512');
require("dotenv").config();
var sha512 = require("js-sha512");
var express = require("express");
var app = express();
var path = require("path");
var bodyParser = require('body-parser');
app.use(bodyParser());
app.use('/static', express.static(path.join(__dirname, 'assets')))
app.use('/view', express.static(path.join(__dirname, 'views')))
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'ejs')
var bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use("/static", express.static(path.join(__dirname, "assets")));
app.use("/view", express.static(path.join(__dirname, "views")));
app.engine("html", require("ejs").renderFile);
app.set("view engine", "ejs");
/*
Change key,salt and other configuration mentioned in .env file
*/

var config = {
key: process.env.EASEBUZZ_KEY,
salt: process.env.EASEBUZZ_SALT,
env: process.env.EASEBUZZ_ENV,
enable_iframe: process.env.EASEBUZZ_IFRAME,
key: process.env.EASEBUZZ_KEY,
salt: process.env.EASEBUZZ_SALT,
env: process.env.EASEBUZZ_ENV,
enable_iframe: process.env.EASEBUZZ_IFRAME,
};

app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'index.html'));
app.get("/", function (req, res) {
res.sendFile(path.join(__dirname, "index.html"));
});

//response
app.post('/response', function (req, res) {
function checkReverseHash(response) {
var hashstring = config.salt + "|" + response.status + "|" + response.udf10 + "|" + response.udf9 + "|" + response.udf8 + "|" + response.udf7 +
"|" + response.udf6 + "|" + response.udf5 + "|" + response.udf4 + "|" + response.udf3 + "|" + response.udf2 + "|" + response.udf1 + "|" +
response.email + "|" + response.firstname + "|" + response.productinfo + "|" + response.amount + "|" + response.txnid + "|" + response.key
hash_key = sha512.sha512(hashstring);
if (hash_key == req.body.hash)
return true;
else
return false;
}
if (checkReverseHash(req.body)) {
res.send(req.body);
}
res.send('false, check the hash value ');
//response
app.post("/response", function (req, res) {
function checkReverseHash(response) {
var hashstring =
config.salt +
"|" +
response.status +
"|" +
response.udf10 +
"|" +
response.udf9 +
"|" +
response.udf8 +
"|" +
response.udf7 +
"|" +
response.udf6 +
"|" +
response.udf5 +
"|" +
response.udf4 +
"|" +
response.udf3 +
"|" +
response.udf2 +
"|" +
response.udf1 +
"|" +
response.email +
"|" +
response.firstname +
"|" +
response.productinfo +
"|" +
response.amount +
"|" +
response.txnid +
"|" +
response.key;
hash_key = sha512.sha512(hashstring);
if (hash_key == req.body.hash) return true;
else return false;
}
if (checkReverseHash(req.body)) {
res.send(req.body);
}
res.send("false, check the hash value ");
});


//initiate_payment API
app.post('/initiate_payment', function (req, res) {
data = req.body;
var initiate_payment = require('./Easebuzz/initiate_payment.js');
initiate_payment.initiate_payment(data, config, res);
app.post("/initiate_payment", function (req, res) {
data = req.body;
var initiate_payment = require("./Easebuzz/initiate_payment.js");
initiate_payment.initiate_payment(data, config, res);
});

//Transcation API
app.post('/transaction', function (req, res) {
data = req.body;
var transaction = require('./Easebuzz/transaction.js');
transaction.transaction(data, config, res);
//Transcation API
app.post("/transaction", function (req, res) {
data = req.body;
var transaction = require("./Easebuzz/transaction.js");
transaction.transaction(data, config, res);
});


//Transcation Date API
app.post('/transaction_date', function (req, res) {

data = req.body;
var transaction_date = require('./Easebuzz/tranaction_date.js');
transaction_date.tranaction_date(data, config, res);
//Transcation Date API
app.post("/transaction_date", function (req, res) {
data = req.body;
var transaction_date = require("./Easebuzz/tranaction_date.js");
transaction_date.tranaction_date(data, config, res);
});

//Payout API
app.post('/payout', function (req, res) {

data = req.body;
var payout = require('./Easebuzz/payout.js');
payout.payout(data, config, res);

app.post("/payout", function (req, res) {
data = req.body;
var payout = require("./Easebuzz/payout.js");
payout.payout(data, config, res);
});

//Refund API
app.post('/refund', function (req, res) {
data = req.body;
var refund = require('./Easebuzz/refund.js');
refund.refund(data, config, res);

app.post("/refund", function (req, res) {
data = req.body;
var refund = require("./Easebuzz/refund.js");
refund.refund(data, config, res);
});

app.listen(3000);
console.log("Easebuzz Payment Kit Demo server started at 3000");
console.log("Easebuzz Payment Kit Demo server started at 3000");
5 changes: 4 additions & 1 deletion Easebuzz_NodeJS_kit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^2.2.2",
"dotenv": "^8.2.0",
"ejs": "^3.1.3",
"express": "^5.2.1",
"express-validator": "^6.5.0",
"js-sha512": "^0.8.0",
"location-href": "^1.0.0",
"nodemon": "^2.0.4"
"nodemon": "^2.0.4",
"request": "^2.88.2"
}
}