nagad-payment-gateway

Nagad Payment Gateway API Library to accept nagad payments on your node.js backend


Keywords
nodejs, javascript, npm, typescript, npm-library, nagad-payment, nagad, nagad-gateway, nagad-api, nagad-api-library, nagad-nodejs
License
MIT
Install
npm install nagad-payment-gateway@2.0.2

Documentation

nagad-payment-gateway

Test Suite Release

Nodejs library to accept nagad payments on your backend application

Features

  • Written in Typescript
  • No headaches when doing cryptographic operations, everything is handled inside the library.
  • Get Intellisense with vscode to avoid errors
  • Type definitions included, and all the documentation is provided as TSDoc comments

How to use

Installing the library

npm

npm install nagad-payment-gateway

yarn

yarn add nagad-payment-gateway


Initializing the library

javascript

file nagad.js

/* eslint-disable @typescript-eslint/no-var-requires */
const NagadGateway = require('nagad-payment-gateway');

const config = {
	apiVersion: 'v-0.2.0',
	baseURL: process.env.BASE_URL,
	callbackURL: process.env.CALLBACK_URL,
	merchantID: process.env.MERCHANT_ID,
	merchantNumber: process.env.MERCHANT_NUMBER,
	privKey: '.keys/private.key',
	pubKey: '.keys/public.key',
	isPath: true,
};
const nagad = new NagadGateway(config);

module.exports = nagad;

typescript

Todo


Create a payment

try {
	const nagadURL = await nagad.createPayment({
		// -> get intellisense here
		amount: '100',
		ip: '10.10.0.10',
		orderId: `${Date.now()}`,
		productDetails: { a: '1', b: '2' },
		clientType: 'PC_WEB',
	});
	//redirect user to the nagad url
} catch (err) {
	console.log(err);
}

Verify a payment

try {
	const nagadURL = await nagad.verifyPayment(paymentRefID);
	//redirect user to the nagad url
} catch (err) {
	console.log(err);
}

More documentation coming soon


Contributing

  • Please Follow the code style and use the prettier config and eslint config provided in the repository
  • Feel free to open issues or pull request for any issues and bugfixes
  • If you want to implement new features or write documentation about existing features feel free to do it as well
  • To see a list of missing features or to-do's, please visit the project section of the github repository

License

MIT

DISCLAIMER: This software comes with absolutely no warranty and is not affiliated with the company Nagad in any way. Use at your own risk. Author and Contributors are not responsible for any financial damages, outages etc.

Author

Shahriar Shojib