1.0.3 • Published 2 years ago
ndps-nodejs v1.0.3
Installation
npm install ndps-nodejs
import and use like below example
const ndps = require('ndps-nodejs');
Usage
Create payment request and to open payment gateway page
var requestNdpsPayment = {
loginid: "192",
password: "Test@123",
ttype: "NBFundTransfer",
productid: "NSE",
transactionsid: "123456",
amount: "10.00",
txncurrency: "INR",
clientcode: "007",
date: "20/09/2022 16:20:00",
custacc: "125125",
udf1: "username",
udf2: "8888888888",
udf3: "test@gmail.com",
udf4: "mumbai",
ru: "http://localhost:3000/response",
payUrl: "https://paynetzuat.atomtech.in/paynetz/epi/fts",
encHashKey: "KEY123657234",
encRequestKey: "8E41C78439831010F81F61C344B7BFC7"
}
// main function to get our redirectional payment url
console.log(ndpsencrypt(requestNdpsPayment));
After getting response data use below function
var responseNdpsPayment = {
response: req.body.encdata,
decResponseKey: "8E41C78439831010F81F61C344B7BFC7"
}
var response = ndpsresponse(responseNdpsPayment);
var signature = verifysignature(response, "KEYRESP123657234");
// mandatory signature check
if(signature === response["signature"]) {
if(response["f_code"] == "Ok") {
console.log("Transaction successful");
}else if(response["f_code"] == "C") {
console.log("Transaction Cancelled");
}else {
console.log("Transaction Failed");
}
}else{
console.log("Transaction Failed");
}
// to get full response
console.log(response);
Full example shown below with Node Js based Express framework
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
const ndps = require('ndps-nodejs');
// to support URL-encoded bodies
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/request', function (req, resp) {
var requestNdpsPayment = {
loginid: "192",
password: "Test@123",
ttype: "NBFundTransfer",
productid: "NSE",
transactionsid: "123456",
amount: "10.00",
txncurrency: "INR",
clientcode: "007",
date: "20/09/2022 16:20:00",
custacc: "125125",
udf1: "username",
udf2: "8888888888",
udf3: "test@gmail.com",
udf4: "mumbai",
ru: "http://localhost:3000/response",
payUrl: "https://paynetzuat.atomtech.in/paynetz/epi/fts",
encHashKey: "KEY123657234",
encRequestKey: "8E41C78439831010F81F61C344B7BFC7"
}
resp.redirect(ndps.ndpsencrypt(requestNdpsPayment));
});
app.post('/response', function (req, resp) {
var responseNdpsPayment = {
response: req.body.encdata,
decResponseKey: "8E41C78439831010F81F61C344B7BFC7"
}
var response = ndps.ndpsresponse(responseNdpsPayment);
var signature = ndps.verifysignature(response, "KEYRESP123657234");
// important for final payment validation
if (signature === response["signature"]) {
if (response["f_code"] == "Ok") {
console.log("Transaction successful");
resp.json("Transaction successful");
} else if (response["f_code"] == "C") {
resp.json("Transaction Cancelled");
} else {
resp.json("Transaction Failed");
}
} else {
resp.json("Transaction Failed");
}
// for full response
// resp.json(response);
});
app.listen(3000, function () {
console.log("Express server listening on port 3000");
});