LNMOnlineAndroidSample
LNMOnlineAndroidSample copied to clipboard
Lipa Na MPESA Online (STK Push) Android Sample Application. This app demonstrates an e-commerce purchase and checkout process via Mpesa and Daraja :smile:
Lipa Na Mpesa Android Sample
This app demonstrates how to impeliment Lipa Na MPESA Online. Documentation on the API can be found on [Safaricom Developer Portal] (https://developer.safaricom.co.ke/docs)
Requirements
- JDK Version 1.7 & above
- Android Studio
Getting Safaricom Credentials
- Create an account on the [Safaricom Developer Portal] (https://developer.safaricom.co.ke/)
- Create a Lipa na MPESA Online App
Project Setup
- Rename
sample.gradle.propertiesfile togradle.propertiesthen add youConsumer keyandConsumer secret. - Copy
sample-google-services.jsoninsideappdirectory and rename it togoogle-services.json. This will ensure your project build without an error.
NB
sample-google-services.json is just a sample file to help you bypass build error due to a google-services.json missing.
Firebase Setup
In order to send push notifications to the user, you will need to setup [FCM - Firebase Cloud Messaging Service] (https://firebase.google.com/docs/cloud-messaging/android/client). AndroidHive has an awesome tutorial on this.
Screenshots
Add an item to the cart:

Add a customers phone number:

The STK push payment popup is sent to the customer phone:

MPESA confirmation message:

Payment confirmation from the API callback:

Libraries Used
- [Sweet alerts] (https://github.com/pedant/sweet-alert-dialog)
- [Butterknife] (https://github.com/JakeWharton/butterknife)
- [Retrofit] (http://square.github.io/retrofit/)
- [GSON] (https://github.com/google/gson)
- [FireBase] (https://firebase.google.com/docs/android/setup)
- [Okhttp] (http://square.github.io/okhttp/)
- [okio] (https://github.com/square/okio)
- OkHttp Interceptors
- [Timber] (https://github.com/JakeWharton/timber)