martinmogusu / django-daraja Goto Github PK
View Code? Open in Web Editor NEWA python django library for interacting with the MPESA Daraja API
License: MIT License
A python django library for interacting with the MPESA Daraja API
License: MIT License
I have upgraded to version 1.3.0 and now the generate_access_token method is raising a Unable to generate access token error.
File "/home/bwaks/Desktop/tech/Job/views.py", line 418, in MakePaymentView
response = cl.stk_push(phone_number, amount, account_reference, transaction_desc, callback_url)
File "/home/bwaks/Desktop/tech/tech/lib/python3.10/site-packages/django_daraja/mpesa/core.py", line 115, in stk_push
'Authorization': 'Bearer ' + mpesa_access_token(),
File "/home/bwaks/Desktop/tech/tech/lib/python3.10/site-packages/django_daraja/mpesa/utils.py", line 176, in mpesa_access_token
access_token = generate_access_token()
File "/home/bwaks/Desktop/tech/tech/lib/python3.10/site-packages/django_daraja/mpesa/utils.py", line 149, in generate_access_token
raise MpesaError('Unable to generate access token')
django_daraja.mpesa.exceptions.MpesaError: Unable to generate access token
if len(phone_number) < 9: raise IllegalPhoneNumberException('Phone number too short')
I believe the utility function for formatting phone numbers should be implemented using a regular expression, unless there was a specific reason not to do so
django_daraja/mpesa.core
In the stk_push
function the amount
variable is by default set to 1
Here is the rendered json data
data = { 'BusinessShortCode': business_short_code, 'Password': password, 'Timestamp': timestamp, 'TransactionType': transaction_type, 'Amount': '1', 'PartyA': party_a, 'PartyB': party_b, 'PhoneNumber': phone_number, 'CallBackURL': callback_url, 'AccountReference': account_reference, 'TransactionDesc': transaction_desc }
{ "requestId":"1459-15094918-1", "errorCode": "404.001.03", "errorMessage": "Invalid Access Token" }
I set everything ok, my Api is live
This is the Error I'm getting.
{ "requestId":"22759-3566117-1", "errorCode": "500.001.1001", "errorMessage": "Wrong credentials" }
Yet I have provided the correct consumer Key and Secrect.
What could be the issue.
I configured everything as guided and it worked. Then I come the next day and rerun the code without changing anything and I get the:
{ "requestId":"5115-78674050-1", "errorCode": "404.001.03", "errorMessage": "Invalid Access Token" }
. So after waiting impatiently, it worked again. This keeps happening. Is there a possibility that it's lagging behind on updating the access token
, coz you said that it does that automatically?
Hi @martinmogusu and co. The library is great thanks a lot for it.
Have you considered adding the Transaction Status api to it?
If you like I can try making a PR for it.
Thanks again.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.