mpesa 2.0.2 
mpesa: ^2.0.2 copied to clipboard
This is a dart wrapper around mpesa daraja api. Written in pure dart which means it's framework agnostic(ios,android,web,plain dart,fuschia) and works out of the box.
mpesa #
A dart wrapper around mpesa daraja api.
Ready Methods/APIs
- ✅ LIPA NA MPESA
 - ❌ C2BSIMULATE
 - ❌ B2B
 - ❌ C2B
 - ❌ B2C
 - ❌ TRANSACTION STATUS
 - ❌ ACCOUNT BALANCE
 - ❌ REVERSAL
 
Requisites #
You Will need a few things from Safaricom before development.
- Consumer Key
 - Consumer Secret
 - Test Credentials for Development/Sanbox environment
 
- Login or Register as a Safaricom developer here if you haven't.
 - Add a new App here
 - You will be issued with a Consumer Key and Consumer Secret. You will use these to initiate an Mpesa Instance.
 - Obtain Test Credentials here.
- The Test Credentials Obtained Are only valid in Sandbox/Development environment. Take note of them.
 - To run in Production Environment you will need real Credentials.
- To go Live and be issued with real credentials,please refer to this guide
 
 
 
Getting Started #
Add dependency in pubspec.yaml
dependencies:
  mpesa: [ADD_LATEST_VERSION_HERE]
Import in your Flutter app or plain dart app.
import 'package:mpesa/mpesa.dart';
class MYClass {
    Mpesa mpesa = Mpesa(
        clientKey: "YOUR_CONSUMER_KEY_HERE",
        clientSecret: "YOUR_CONSUMER_SECRET_HERE",
        passKey: "YOUR_LNM_PASS_KEY_HERE",
        environment: "sandbox",
    );
}
Environment should be either sandbox or production
Methods and Api Calls #
Lipa Na Mpesa Online (LNMO) #
Lipa na M-Pesa Online Payment API is used to initiate a M-Pesa transaction on behalf of a customer using STK Push. This is the same technique mySafaricom App uses whenever the app is used to make payments.
import 'package:mpesa/mpesa.dart';
class MYClass {
    myMethod(){
        mpesa
            .lipaNaMpesa(
                phoneNumber: "",
                amount: 1,
                businessShortCode: "",
                callbackUrl: "",
            )
            .then((result) {})
            .catchError((error) {});
    }
}
- businessShortCode - The organization shortcode used to receive the transaction.
 - amount - The amount to be transacted.
 - phoneNumber - The MSISDN sending the funds.
 - callbackUrl - The url to where responses from M-Pesa will be sent to.
 
Features and bugs #
Please file feature requests and bugs at the issue tracker.
Recording #

Demo App #
Contributing #
- Fork the project then clone the forked project
 - Create your feature branch: 
git checkout -b my-new-feature - Make your changes and add name to Contributors list below and in authors in pubspec.yaml
 - Commit your changes: 
git commit -m 'Add some feature' - Push to the branch: 
git push origin my-new-feature - Submit a pull request.
 
Credits #
| Contributors | 
|---|
| Newton Munene | 
For help getting started with Flutter, view their online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.