Safaricom Integration Nightmare

I’m frustrated.
For the past many months I’ve been trying, with very little success, to integrate with Safaricoms B2C API
Welcome to my world

Here we go.
First applying for this api is a manual process. You have to send them an email (which they do not respond to unless you know someone) . Then they send forms for you to fill . THE FORMS ARE WORD DOCUMENTS!!!!!!!!!!!!! 
To their credit, some of the forms are PDFs which you need to print, fill out then scan and email back !! Then you wait … Send countless emails to check the status of your request.. Get frustrated. Tweet in anger

When i got to this point … I felt some research was required so I googled and found this article. Here are a few excerpts. Kumbe I wasn’t alone

Bonfix Fixer Ex took to Facebook to express his view: “The so much awaited @SafaricomLtd Mpesa API has been released today. The most frustrating part about it is its API Guide, it’s probably the worst you’ve ever seen, I think my Bachelors 4th Year Project documentation was better than its documentation.”
However, not everyone gave the API a warm welcome. “Safaricom opening up M-Pesa is a good initiative but 2015 and no REST interfaces?? #MPESADevForum and documentation packaged in a .zip!”, complained Soud Hyder in a tweet.

I hadn’t (still haven’t) even started development yet and I’m already flustered.

I finally managed to talk with someone at Safaricom who tried to help … I was emailed a questionnaire (ANOTHER BLOODY WORD DOCUMENT) and what felt like an Networking Exam.

Apparently .. I need to Connect to their API through a VPS and Sijui what .. meaning that i need to get some equipment for … AGRRRRRRRR!! DONT THESE PEOPLE KNOW HOW APIs WORK

Why was I not told about all this at the beginning , Did I have to go through this tennis match of emails only to find out that I need to have actual physical equipment to integrate with them. Is this 2016??

For those unfamiliar with APIs this is how integrating with twitter works

  • you go here https://apps.twitter.com/
  • you create you application
  • you are given an application key and application secret
  • you start developing

Take notes Safaricom.

It’s that simple .. plus the twitter documentation can be understood by even the noobiest programmer.

Which brings me to poin number 2.
The Documentation. This is by far the weirdest thing I’ve ever seen … First .. They use SOAP (GIYF). SOAP in my opinion , and in the opinion of most developers is a crappy way of doing things … sure it works but . Anywho
The documentation which comes in a zip file is just a mess. I salute any developer who has actually gone through this documentation and done a complete integration.

In case you are very happy with your life and you feel like you need a bit of sadness and anger in your life to feel human, grab yourself a copy of Safaricoms api guide http://www.safaricom.co.ke/images/Downloads/Resources_Downloads/M-PESA_API_Guide_download.zip

Maybe it’s just me … Maybe I’m not the brilliant software developer I think I am, Or maybe this process doesn’t have to be so hard.

If there’s someone out there who can help me out with this… email me me@kmarima.com

PART 2 : https://medium.com/@kmarima/safaricom-integration-nightmare-part-2-b123ed865084#.xl3zn2b2e