flutter_mpesa_stk 1.0.2 copy "flutter_mpesa_stk: ^1.0.2" to clipboard
flutter_mpesa_stk: ^1.0.2 copied to clipboard

Flutter Mpesa STK push plugin that allows you to integrate Express Mpesa to your app.

A flutter plugin that allows you to easily do lipa na mpesa stk push using the daraja API with minimal set up

Features #

Mpesa STK push Safaricom currently only supports STK push for paybills

Getting started #

you can get your specific variables from Safaricom Daraja Developer Portal. Create a developer account, then creating an app on MyApp Page. - consumer key - consumer Secret

Then get your MpesaExpress password for STK_PASSWORD from Mpesa Simulate Page as highlighted below. - stk password

Mpesa Express Checkout page

You require this values to using the Mpesa STK service.

  • consumerKey
  • consumerSecret
  • stkPassword
  • shortCode
  • callbackURL

To learn more about Daraja and how to prepare production ready app, read this documentation

Usage #

install the latest package by running:

flutter pub get flutter_mpesa_stk

An example of mpesa stk on usage:

import 'package:flutter_mpesa_stk/flutter_mpesa_stk.dart';
import 'package:flutter_mpesa_stk/models/Mpesa.dart';
import 'package:flutter_mpesa_stk/models/MpesaResponse.dart';

MpesaResponse response = await FlutterMpesaSTK(
            consumerKey, consumerSecret, stkPassword,
            //this paybill is default for testing
            "174379",
            // an exposed callback url for knowing if the transaction is successful or not
            "https://94f9-41-90-65-205.ngrok-free.app/api/secret-url/callback",
            // message to show if something goes wrong
            // if not defined the env defaults to `testing`
            "default Message", env: "production")
        .stkPush(
            // includes the amount and phone number of the person making payment. amount and phone number are required
            Mpesa(amount, phoneNumber, 
            // account reference and transactionDesc are not required and can be absent
            accountReference: , transactionDesc));
    if (response.status) {
        // the response body has data you can use to query success or failure
      print(response.body);
      notify("successful stk push. please enter pin");
    } else {
        // can help you handle errors better based on the response
      print(response.body);
      notify("failed. please try again");
    }

Additional information #

how to contribute #

  • Raise an issue on github issues
  • Clone the project
  • Create your feature branch: git checkout -b ${issueNumber}-my-new-feature
  • Commit your changes: git commit -m 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request.

how to report a bug #

  • Send an email at muthomi[at]muthomikathurima.com if its a security issue.
  • File an issue if its not security related at issues page

Credits #

[---Muthomi Kathurima ---]

3
likes
160
points
34
downloads

Publisher

verified publishermuthomikathurima.com

Weekly Downloads

Flutter Mpesa STK push plugin that allows you to integrate Express Mpesa to your app.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, http, logger

More

Packages that depend on flutter_mpesa_stk