1.0.3 • Published 2 years ago

ndps-nodejs v1.0.3

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

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");
});

License

MIT

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago