Developer-friendly online payments in Nigeria: an insider's story
This one is a long one. But I think it's interesting if you want an inside scoop on the "online payment sucks in Nigeria" drama. Story told from my side of the wall.
In the beginning - Romeo and a dream
In 2006, I decided to leave Splashers and join Interswitch. Two things drove that decision: The first was that Sandra & I were getting married and we thought it was better I relocated to Lagos from Abeokuta, rather than ask her to resign and come over. There are no jobs like that for her in Abeokuta and IT was beginning to boom in Lagos. The second was that I debated with a couple of the Interswitch Ogas, about how "the internet is coming" and they didn't have the right payment rails to take advantage and one of the Ogas said "If you feel so strongly about it, come and fix it". You see, I'm a sucker for people throwing challenges in the air.
The company has a recruitment process that involved every potential hire having a face to face with the CEO before an offer was made. I think this is a brilliant policy, especially as Mitchell has this unique gift of being able to evaluate people for culture fit in just one conversation or two. My own facetime with him was on a Sunday. I remember he asked Charles: "this one wey roll T-shirt sleeve like so, you sure say e go gree wear tie?" We laughed, but I think that statement kindof captured what I'll sort of represent in the company in the few years coming. The witty dissident that annoys you but you just like to banter with and explore new ideas with.
The mutiny - WebPAY Lite
With this backround, I came in believing my assignment would be to join Seun or Remi in building "the right WebPAY". But before long, I was quickly sucked into being primary dev for the CashCard online presence. And later BillsOnline and a couple of B2B projects. I realised that the payment space was so much more diverse than that just being a web payment gateway and there was a lot of money to be made in B2B pursuits and supporting banks. I realised that, for a business looking to make money and return shareholder value, an online gateway (especially for developers) is not the shortest route to that objective. I was somehow annoyed, but it made logical sense. This didn't stop me from always getting agitated in meetings about how we were not doing enough for the developer community, though I agreed there's not much short term money there.
I remember in staff meetings (when we were still about 50-60 people and we used to have monthly staff meetings in the boardroom where everyone attended and chipped in), I would keep arguing for an "official Interswitch API" so that other people can build products for us that we didn't have time to build. I cited Microsoft and the Win32 APIs as examples of what helped Windows dominate the PC era over Apple computers. The senior guys would agree but say something along the lines of "Mr Man, stay focused on real problems". It frustrated me more.
So, I'd take the argument from staff meetings to the smaller dev team. Constantly debating with my boss and generally being a nuisance. It started to affect my work and relations with my boss. Really, I was just a pain in the backside.
At some point, I decided to just "take it into my hands". To hell with it. I'ma build this s**t! I listed out some of what I thought the problems were with our current offering...
- Simple sign up,
- Delayed settlement because of manual processes,
- Unfriendly integration model,
Because I was the primary dev on CashCard (a prepaid card product that can be funded and spent online), I came up with a design centered around that product. We coined "WebPAY Lite" as the name of the product. The concept was that a developer would sign up online, get issued a prepaid card behind the scenes and all his payments would go into that card in realtime. He can then transfer out of that card to a verified account anytime. Based on this, we would solve problems 1 and 2. To solve problem 3, I came up with a simple redirect model (vs the current HTTP form POST) and an online developer dashboard for switching the integration between test and production mode. If all these smooth, self-service goodness was put in, then we can drop the 150k setup fee.
I put a mockup together then shared with Vinnie (legend has it that he's the main man who built the original WebPAY and pinpad in a weekend). He thought it was nice but shared a lot of feedback around security processes and how Interswitch would be taking a risk by letting merchants have access to money collected in realtime. Made sense, so I adjusted to a config that lets Interswitch admin set what percentage a merchant can move to account per merchant. This way, there's always some buffer money to cover any chargebacks or fraud related challenges.
After Vinnie, I talked to Seun Afolabi and asked him to join me in building it out. At that point, he was the primary dev on WebPAY. It made sense to him and I won him to my side. So I came that weekend and built a base version. When I showed him on Monday he was wowed. During that week, he touched up parts of it with me, we dragged Bisi into the mutiny, I went upstairs and convinced Tayo (the main switch-level dev at the time) to like it too. Then I went to Halima in customer service and showed her how this new product was going to reduce their customer service issues from WebPAY. Everyone I showed liked it.
But here's the bad part.
I was essentially, conciously running a ring around my boss. With the hope that once I show that he's the only one delaying, he would cave in, and convince Mitchell to let's ship it. I had used some official company time to do something I wasn't explicitly authorized to do. This was a bad idea. And I learnt a hard lesson.
After hosting the app on one of the servers and setting up demo merchant accounts, we were thrilled and sent the link to all staff via the company mailing list. We got enough "wow, this is brilliant" kind of feedback. We were proud of ourselves. We had demonstrated that if we concentrate, we could build stuff the company doesn't have time to focus on, in a short enough time.
But, my boss said "shut it down".
He gave a lot of reasons. I said we would fix the issues he has raised. He insisted with "no, there's no time for fooling around. Have you finished building the new AutoPAY?". Things went south. We fought everyday. Ultimately, I put in my resignation and took an offer from Celtel for no real salary increase (other reasons contributed to the decision though, but that's not the crux of this story). A few days before my waka, I had an exit conversation with Mitchell and he gave some valuable advice. He said, though the idea I came up with was nice and I had demonstrated an ability to rally people together for a cause I believed in, it would send the wrong signal to the company that he let someone decide to run a ring around his boss and have his way. It's not healthy for the company's culture. He wished I would understand and stay, but if go it is, then he wishes me well. It's not easy leading a group sha. Balancing that sort of logic.
The return - Pay With Quickteller
After staying just a year in Celtel, I came back to Interswitch to be the product guy on the previous BillsOnline which we evolved into Quickteller.
After 2 years or so of helping to get Quickteller off the ground, I launched my "better WebPAY" crusade again. The current WebPAY wasn't really under my purview (per se), but because this time, I had more direct influence on Quickteller, I convinced Yaya and Emeka to build a "JS web plugin" called Pay With Quickteller (PwQ as we fondly call it internally). The argument was that because a lot of merchants who got listed on Quickteller.com also wanted payments on their own website, it was getting tiring to tell them that it meant they needed another product called WebPAY which costs N150k and has a separate dashboard. To convince them, I once again went home and built something by myself. Of course, by this time, I wasn't such a hotshot developer as I used to think I was, and the dev team had new internal processes I couldn't catch up with, including change management and internal APIs that every product must leverage for consistency.
The good part is that once I showed them, they took it on themselves to build the right thing. I was happy. Our first customer was an Etisalat website. After a bit of back and forth with some teething issues, PwQ was officially a product (though rogue) in Interswitch.
Then I learnt another lesson.
Once again, I exerted personal influence to get something without involving the larger group. Till today, PwQ is still seen as "that rogue thing the Quickteller team did" and even though we are convinced it was the beginning of the right solution to the better WebPAY problem, it has never really gotten full support and acceptance across board. The larger tech team and the real WebPAY product owners still wanted to build the right thing.
Also, the tech community never really accepted this baby of ours officially. We finally had something that truly addressed most of their complaints, but people just refused to acknowledge it. Probably because we didn't drive any awareness for it at all. We couldn't do this because it wasn't an "official Interswitch product" so no comms budget could be allocated to it. On the bright side, the sales team started noticing that this variant of WebPAY was seeing faster sales than the traditional ones and the integration team were like: we close these types of integration faster. But the general public and Interswitch management wasn't officially aware of this product extension.
A detour - Verve SDKs
Shortly after the Ticketmobile saga, Babafemi & I had a late night conversation and we thought we should pull Celestine into the team. Babafemi went ahead to get it to happen and Cele & Felix joined. One of his first assignments was to properly do PwQ right. Properly. So it can cross from being a rogue project into the official pipeline. Felix was to work on the Android SDK. This was supposed to be part of a drive to build a range of mordern Verve SDKs for accepting payments and form part of developer.interswitchng.com that Lekan was championing with Babafemi's leadership. Because of some of the work the Quickteller team had done in automated merchant registration and the PwQ popup, there were quite some technical assets to leverage. Unfortnately, this effort never really saw the light of day beyond the launch of the Verve Windows Phone SDK event thing that we did with Microsoft and Mobile Monday. A number of things can be attributed to this failure to launch.
- Cele and Felix left to pursue their startup dreams again
- Integrating way too many internal systems (and therefore having to work with too many people pursuing separate roadmaps)
- Some "over-design" on the technical side
Celestine and Yaya may have a different perspective of this sha. Or more information.
In the end - Interswitch Payment Gateway
It finally came from Oga At The Top that "we need to build a new WebPAY that is easy to setup, automated settlement, mordern UI, etc"... Hahaha. 6+ years later! He was assured that this was part of our bright new agenda for 2015. Something called "Project X", a mishmash of multiple projects that will produce some brand new products for Interswitch including VerveWorld, PayCode and the shiny new Interswitch Payment Gateway. He backed it. Work started. Unfortunately, at this time, the company was now much larger and we now have 4 autonomous sub-businesses whose needs have to be balanced by a central product team. And a Finance team screaming ROI on projects executed.
In the long run, interests couldn't align around the Interswitch Payment Gateway and there was too much posturing and unclear oppositions to the effort. Personally, I stopped attending the weekly standups and wished Khadijah all the best. Frustration set in again. The Interswitch Payment Gateway never did launch.
On a positive note, in spite of our in-fighting, we kept a positive unified front to the market; defending and explaining the Interswitch position of things at various events and on Twitter. We looked on envioulsy as smaller startups attempted to launch the right thing. As foreign players claimed to have come to save the day then just quietly fizzle away after a while. As mobile money operators started trying to solve the problem, then also digress to B2B pursuits.
All is well that ends well
In the end, as a way to resolve the internal posturing and pricing issues, Khadijah and Babafemi led an effort to just provide the Interswitch Payment Gateway as a REST service for processors and banks who will in turn build the right robust developer tools around it. I half-heartedly joined that effort and participated in negotiating with Access Bank, Paystack among others. Today, some of these guys have gone ahead to try and make a business out of beautiful developer tools for online payments riding on the back of the "unofficial" API. Not much of a business has materialized out of it, but they are trying.
And Interswitch never really launched a direct to developer toolset till I left in Dec 2017.
- Khadijah now works at Paystack. All's well that ends well.
- Paystack has gotten bought by Stripe, proving this my piece mostly wrong. Or partly right if you see it as a timing thing.
- Interswitch did finally launch "Interswitch Payment Gateway".
- Interswitch still went ahead to launch "Quickteller Business" as well.