Coder Social home page Coder Social logo

devmaruf / bkash-payment-gateway Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shahriar-shojib/bkash-payment-gateway

0.0 0.0 0.0 249 KB

Nodejs library to accept bKash payments on your backend application

License: MIT License

JavaScript 2.91% TypeScript 97.09%

bkash-payment-gateway's Introduction

bkash-payment-gateway

Nodejs library to accept bkash payments on your backend application

CodeQL Test for linting and formatting Publish to NPM and Github Packages

Examples

Features

  • Implements all the methods required to get accepted as a merchant on bKash
  • Written in typescript
  • Get intellisense in when interacting with the library vscode
  • Get Documentation and examples right inside your code editor vscode
  • Get Bkash Response Intellisense
  • Abort Request when an executePayment request exceeds 30 seconds and get an error so that you can query the payment
  • Get Human Readable exceptions when some error response is returned from bKash in progress

How to use

Installing the library

npm

npm install bkash-payment-gateway

yarn

yarn add bkash-payment-gateway


Initializing the library

javascript

file bkash.js

const BkashGateway = require('bkash-payment-gateway');

const bkashConfig = {
	baseURL: 'https://checkout.sandbox.bka.sh/v1.2.0-beta', //do not add a trailing slash
	key: 'abcdxx2369',
	username: 'bkashTest',
	password: 'bkashPassword1',
	secret: 'bkashSup3rS3cRet',
};

const bkash = new BkashGateway(config);
module.exports = bkash;

typescript

file bkash.ts

import BkashGateway, { ICreatePayment } from 'bkash-payment-gatway';

const bkashConfig: ICreatePayment = {
	//get intellisense here
	baseURL: 'https://checkout.sandbox.bka.sh/v1.2.0-beta', //do not add a trailing slash
	key: 'abcdxx2369',
	username: 'bkashTest',
	password: 'bkashPassword1',
	secret: 'bkashSup3rS3cRet',
};

const bkash = new BkashGateway(config);
export default bkash;

Create a payment

const paymentRequest = {
	amount: 1000,
	orderID: 'ORD1020069',
	intent: 'sale',
};

const result = await bkash.createPayment(paymentRequest);
console.log(result);

Execute a payment with payment ID

const result = await bkash.executePayment('<Payment ID returned by bkash>');

Query a payment with payment ID

const result = await bkash.queryPayment('<Payment ID returned by bkash>');

Search Transaction

const result = await bkash.searchTransaction('TRX22347463XX');

Refund a transaction

const refundTransactionData = {
	paymentID: '22423169',
	amount: '25.69', //do not add more than two decimal points
 	trxID: 'TRX22347463XX';
 	sku: 'SK256519';
}

const result = await bkash.refundTransaction(refundTransactionData);

Check Refund Status

const result = await bkash.refundStatus('TRX22347463XX', '12437969');

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 Bkash in any way. Use at your own risk. Author and Contributors are not responsible for any financial damages, outages etc.

Author

Shahriar Shojib

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.