Skip to content

chayanforyou/bkash-pgwclient-demo-flutter

Repository files navigation

Easy bKash integration with Flutter

GitHub license PRs Welcome Maintenance Open Source Love svg1 made-with-love

A simple implementation of bKash payment gateway in flutter with tokenized checkout feature.

Features

  • A Simple App with a button to Checkout
  • Pressing the button initiates bKash payment dialogs
  • Returns a success message with tranId if payment is successful

Usage

Official link for API documentation and demo checkout

Production

Replace the credentials for production uses in bkash_credentials.dart with your own bKash credentials and change the parameter isSandbox: false.

  static const String username = 'app_username';
  static const String password = 'app_password';
  static const String appKey = 'app_key';
  static const String appSecret = 'app_secret';

Pay With bKash

Basically this the implementation of payment without an agreement. Use the makePayment method to pay

Request

final result = await bkashApi.makePayment(
    context: context,
    amount: 50.0,
    payerReference: "01770618575",
    merchantInvoiceNumber: "INV-123",
    isSandbox: false,
  );

Response

{
  "amount": "50.0",
  "trxId": "BJJ90KGFBH",
  "paymentId": "TR0011HjY1p6A1729311405472",
  "payerReference": "01770618575",
  "customerMsisdn": "01770618575",
  "merchantInvoiceNumber": "INV-123",
  "paymentExecuteTime": "2024-10-19T10:17:14:333"
}

Error Handling

In case of any error it's throw PaymentException. You can handle the exception using a try-catch block.

try {
  // Make a payment
} on PaymentException catch (e) {
  // Handle the error
  log(e.message);
}

Video Demo

bkash_demo.mp4

Contributing

Contributions to this project you always are welcome. Please note the standard guidelines before submitting your pull request.