django-daraja
This is a django library based on the Safaricom MPESA daraja API. This is a django library based on the Safaricom MPESA daraja API. Use it for a simplified experience, spend less time setting up...
Read the full documentation at https://django-daraja.readthedocs.io
MPESA Daraja API documentation can be found at https://developer.safaricom.co.ke
Installation
To install the package, run
$ pip install django_daraja
Examples
STK Push
An example, to send an STK push prompt to customer phone, then display response message
from django_daraja.mpesa.core import MpesaClient
def index(request):
cl = MpesaClient()
phone_number = '0700111222'
amount = 1
account_reference = 'reference'
transaction_desc = 'Description'
callback_url = 'https://api.darajambili.com/express-payment'
response = cl.stk_push(phone_number, amount, account_reference, transaction_desc, callback_url)
return HttpResponse(response)
On your browser, you will receive a message Success. Request accepted for processing
on success of the STK push, and on the phone number specified you will receive an MPESA PIN prompt. Once the transaction is complete, you will receive a notification on the callback URL you provided. If you used the exact callback URL in the example above (i.e. https://api.darajambili.com/express-payment), you can head over to https://darajambili.com to view the notification received
B2C Payment
An example, to perform a BusinessPayment B2C (Business to Customer) transaction
from django_daraja.mpesa.core import MpesaClient
def index(request):
cl = MpesaClient()
phone_number = '0700111222'
amount = 1
transaction_desc = 'Business Payment Description'
occassion = 'Test business payment occassion'
callback_url = 'https://api.darajambili.com/b2c/result'
response = cl.business_payment(phone_number, amount, transaction_desc, callback_url, occassion)
return HttpResponse(response)
On your browser, you will receive a message Accept the service request successfully.
on success of the transaction. Once the transaction is complete, you will receive a notification on the callback URL you provided. If you used the exact callback URL in the example above (i.e. https://api.darajambili.com/b2c/result), you can head over to https://darajambili.com to view the notification received
The full documentation of all supported API's can be found at https://django-daraja.readthedocs.io