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
Markdown
# nagad-payment-gateway
[](https://github.com/shahriar-shojib/nagad-payment-gateway/actions/workflows/test.yml)
[](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)