A React Component for Accepting Bkash Payments using React
npm install react-bkashnpm install react-bkash
jsx
import { useBkash } from 'react-bkash';
export const Checkout = () => {
const { error, loading, triggerBkash } = useBkash({
onSuccess: (data) => {
console.log(data); // this contains data from api response from onExecutePayment
},
onClose: () => {
console.log('Bkash iFrame closed');
},
bkashScriptURL: '', // https://scripts.sandbox.bka.sh/versions/1.2.0-beta/checkout/bKash-checkout-sandbox.js
amount: 1000,
onCreatePayment: async (paymentRequest) => {
// call your API with the payment request here
return await fetch('/create/', {
method: 'POST',
body: JSON.stringify(paymentRequest),
}).then((res) => res.json());
// must return the following object:
// {
// paymentID: string;
// createTime: string;
// orgLogo: string;
// orgName: string;
// transactionStatus: string;
// amount: string;
// currency: string;
// intent: string;
// merchantInvoiceNumber: string;
// }
},
onExecutePayment: async (paymentID) => {
// call your executePayment API here
return await fetch('/execute/${paymentID}', {
method: 'POST',
}).then((res) => res.json());
// it doesn't matter what you return here, any errors thrown here will be available on error return value of the useBkash hook
},
});
return (
);
};
`
---
Backend
If you don't have a backend, you can use the following library to create a backend using node.js

---
$3
- 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
---
$3
> 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.