I have interacted with the @SafaricomPLC Mpesa API for a while now, built products on top of it, it's a great product can't lie. It offers lower transaction fees and fast transactions but it has its hurdles, before and after going live and some things don't make sense.
Thread/
1/ Going live is a pain
Going live is a whole process on its own, you need certain documents to verify if one is a sole proprietor or a company, that makes sense but don't make me do that for each product
3/ Basic Authentication
They need to update the way they handle Oauth token generation or just change it to use API Keys which can be assigned different permissions because the basic auth is flawed in so many ways.
oreilly.com/library/view/http-the-definitive/1565925092/ch12s03.html
4/ Support
All contact links and forms on Daraja are dead and don't try social media they can't help, all comms are through email, most of the time they aren't timely either.
5/ Uptime Status Page
The lack of a status page where developers can subscribe to alerts or RSS feed makes it quite a task to update your user when some vital Mpesa features are down.
6/ App Transfers
A lot of Kenyan companies contract payment integration features to outsource developers who might register the products with their own emails, when it comes a time to transfer the tills/apps to the company it's a hustle that takes quite a while to finalize.
7/ Documentation
Daraja's documentation is not updated that often so when you happen to get an error response that you don't recognize, you either contact someone who has worked with the API before or through the PaymentsOverflow - KE by @ProxyAPI_KE creator, Peter.
The solutions are quite simple:
1. A single dashboard to manage all your products, also make the application process easier
2. Discontinue the IE portal
3. The use of API Keys to limit API calls and access or a better way to generate oAuth Tokens.
4. A status page where developers can easily check for uptimes, can be achieved with the help of a third-party service like Hyperping or internal tools.
5. Make the app transfer process faster and easy.
6. Dedicated developer support team on social media platforms
7. An active forum to help new developers who may have questions while using the API.