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.properties
file togradle.properties
then add youConsumer key
andConsumer secret
. - Copy
sample-google-services.json
insideapp
directory 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)