UNPKG

nagad-payment-gateway

Version:

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

113 lines (77 loc) 2.87 kB
# nagad-payment-gateway [![Test Suite](https://github.com/shahriar-shojib/nagad-payment-gateway/actions/workflows/test.yml/badge.svg)](https://github.com/shahriar-shojib/nagad-payment-gateway/actions/workflows/test.yml) [![Release](https://github.com/shahriar-shojib/nagad-payment-gateway/actions/workflows/release.yml/badge.svg)](https://github.com/shahriar-shojib/nagad-payment-gateway/actions/workflows/release.yml) 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` ```javascript /* 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 ```javascript 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 ```javascript 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](https://github.com/shahriar-shojib)