bkash 0.0.1 bkash: ^0.0.1 copied to clipboard
Flutter package for payment gateway service bKash (Bangladesh). bKash payment easy to implement through this package on your flutter project.
This is fixed version of flutter_bkash package by Codeboxr team. All credit goes to Codeboxr team.
bKash(BD) Mobile Finance Payment Gateway Flutter Package
This is a Flutter package for bKash BD Payment Gateway. This package can be used in flutter project. We created this package while working for a project and thought to release for all so that it helps.
⚠️ Please note that, you have to contact with bKash sales team for any kind of dev or production access keys or tokens. We don't provide any test account or access keys or don't contact us for such
How to use: #
Depend on it, Run this command With Flutter:
$ flutter pub add bkash
This will add a line like this to your package's pubspec.yaml
(and run an implicit flutter pub get
):
dependencies:
bkash: ^0.2.0
Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more. Import it, Now in your Dart code, you can use:
import 'package:bkash/bkash.dart';
Features #
- Pay using bKash without an agreement
- Create a bKash agreement for future payments
- Pay using bKash with an agreement
Usage #
Official Link for API documentation and demo checkout
Initialize the Bkash
instance: #
Sandbox
final Bkash = Bkash(logResponse: true);
If you want to see your request log make logResponse true while creating instance of bKash package.
Production
final Bkash = Bkash(
credentials: BkashCredentials(
username: "app_username",
password: "app_password",
appKey: "app_key",
appSecret: "app_secret",
isSandbox: false,
),
);
Make sure to replace the provided credentials with your own bKash sandbox or production credentials depending on your development environment.
Pay without Agreement #
To make a payment without an agreement, use the pay
method:
Request
final result = await Bkash.pay(
context: context, // BuildContext context
amount: 100.0, // amount as double
merchantInvoiceNumber: "invoice123",
);
Response
BkashPaymentResponse(
trxId: AFI60BAC94,
payerReference: ,
paymentId: TR0011fd4uZMS1687062024354,
customerMsisdn: 01877722345,
merchantInvoiceNumber: tranId,
_executeTime: 2023-06-18T10:22:31:623 GMT+0600
)
Create Agreement #
To create a new agreement, use the createAgreement
method:
Request
final result = await Bkash.createAgreement(context: context);
Response
BkashAgreementResponse(
payerReference: ,
paymentId: TR0000RCHQGmX1687063332607,
customerMsisdn: 01877722345,
agreementId: TokenizedMerchant02P1AIJ7G1687063381235,
_executeTime: 2023-06-18T10:43:01:235 GMT+0600
)
Pay with Agreement #
To make a payment with an existing agreement, use the payWithAgreement
method:
Request
final result = await Bkash.payWithAgreement(
context: context, // BuildContext context
amount: 100.0, // type as double
agreementId: "agreement123",
merchantInvoiceNumber: "invoice123",
);
Response
BkashPaymentResponse(
trxId: AFI60BAC94,
payerReference: ,
paymentId: TR0011fd4uZMS1687062024354,
customerMsisdn: 01877722345,
merchantInvoiceNumber: tranId,
_executeTime: 2023-06-18T10:22:31:623 GMT+0600
)
Error Handling #
The methods mentioned above may throw a BkashFailure
exception in case of an error. You can catch and handle the exception using a try-catch block:
try {
// Make a payment or create an agreement
} on BkashFailure catch (e) {
// Handle the error
print(e.message);
}
Examples for see the /example
folder.
Here is the example code link
Example Video Demo
Importance Notes #
- Read the comments in the example of code
- See the documents and demo checkout bKash API Specifications, bKash Payment Checkout Demo