I Wanted To Develop a Recharge Card Powered Payment Platform

A year ago, I thought about developing a payment system that would allow people pay for services with recharge cards (well, everyone has thought about that at some point). So I started to think about how I could achieve this.

The obvious problem was how to convert the airtime value into cash. I thought about having a distribution network of recharge card sellers who would be ready to resell any recharge card we send to them in reasonable time. They would buy from us (with attractive discount) and then sell as usual and we would send the money to the merchant/person who wanted cash. But I encounted 3 problems:

1. Validation

This was one of the most disturbing problem of my entire idea. I wondered how I would validate a recharge card, how I would detect if a card wasn’t already used or is lower than the specified value?

It would be disastrous if people started sending in used cards or those with airtime amounts lower than the specified or claimed amount. For example, A dubious user could attempt to order for an item worth N1500 and then send in a N1000 recharge card. This user might even send a used card.

Without a way of validating this recharge cards, we would blindly send them to our recharge card sellers and they too would sell blindly to every day people (if well packaged). Obviously, these cards would be returned or someone might be beaten up.

I knew that this would require some kind of partnership with the network operators. I would need a RESTful API to perform this check. But I also knew that, getting to even sit and talk to them about it would be a challenge, not to talk about them understanding what the heck I’m trying to do. Also, I wasn’t sure they would want to be associated with a project that has similarities with some mobile money platforms, due to CBN’s mobile money regulation that kind of says mobile money products should not accept/convert airtime as/to monetary value.

But I wasn’t deterred. I wrote a 10 page proposal and walked the streets of Ikoyi/VI searching for their offices. 3 months later, still got no reply or acknowledgement. I am still trying to figure out why I got no reply; I think my proposal sucked.

So, my next action was to require anyone who wishes to fund their virtual wallet with airtime to first of all load the airtime. That would solve the problem of pin validation. Then, the user would be required to send the airtime to us using “Share n Sell”, “Me2U” etc. The plan was to have a bunch Android devices automate this process by receiving and detecting these transfers, log them, and put the user in a queue. Recharge card sellers can then request (with discount) for any amount of airtime and we would debit their already funded vendor account.

Things were looking up. I had finally found a (sweet and techy) way around the network operators — “screw y’all, I am programmer”. But one problem still stayed unsolved; How would my vendors/recharge card sellers distribute airtime that was no longer pin based?

2. Packaging And Distribution

The next problem was finding a way to package the loaded airtime so that it would be easy for the vendors to sell.

First thing I thought of was to allow vendors send a message or flash/beep our Android workers to signal an airtime recharge request. The receiving Android device would transfer airtime to the number(s) specified in the SMS sent by the vendor.

Another way was to initiate an IVR call to the vendor and ask the vendor to enter the number of the recipient and the amount to send. Sounds good, but I know I as customer would not wait for such a slow transaction (especially if I were in a rush).

The next solution was to allow vendors download a bunch of generated pins and then sell to their customers. This way, they (customers) would recharge their phones via USSD (not the usual *555*pin# but through a USSD flow like *123# on MTN). Again, another nice solution but still suffers from the same problem as the IVR solution. It’s not seamless and requires a tutorial.

I thought about giving discounts to the customers. Maybe if the recharge cards were cheaper (N100 selling for N90-95 or even much lower), the average Nigerian would not mind. That would mean the initial airtime value would be greatly reduced after deducting commissions.

Anyways, I decided to go with pin generation and USSD strategy. Airtime vendors print out new pins and customers who are buying this cheap airtime are forced to use a not so straight forward USSD process to load the airtime. Well, they don’t actually load the airtime, they instead request for airtime to be transferred to them.

3. Time Between Exchange

So the next problem to tackle was how to decrease the time between recharge card to cash conversion. What would happen if the volume of people exchanging recharge cards for vendor money exceeds the volume of recharge sold/purchased by vendors? That means people would have to wait in queue for their turn to have their recharge cards sold.

O boy! I can imagine the amount of angry users.

My proposed solution was to have available a buffer cash that would be used when this situation arises. The buffer cash would help speed up airtime to cash conversion. So we as the operators would now have to also begin to sell to vendors in other to refill the buffer. If the problem still persisted, we would just stop accepting airtime till the system normalized.

Final Decision

I decided not to continue when I realized that there was a limit to the amount a single MTN number could transfer (N50,000 I believe) for “Share n Sell” and Airtel’s Me2U isn’t free.  What that meant was that we would need a lot of Android workers to reduce the effect of MTN’s transfer limitation and adjust commisions on the airtime to commodate Airtel’s charges.

This idea was just too hard to accomplish; So many challenges. Each supposed solution has its own inefficiencies. It just didn’t make sense to continue. Maybe in the future, I (or someone) will find a way to make payments better for Nigerians.

For now, I’ll just play FIFA14 .

This post first appeared on Ken’s blog.


  • Tola says:

    As it is, a very successful mobile payment platform can only come from the telcos and the electronic switching companies. A policy forcing people to use it may also do the trick. It’s just not an area for young entrepreneurs to get into independently.

  • Qurr says:

    Sad story, brilliant article. I’ve been here too. Only option I didn’t consider was IVR recharge. I quit for same reasons you did.

  • supersanusi says:

    Funny how I was discussing this with someone last week. And I thought the biggest problem…would be liquidating the cards on the scale that you would need to make it work. Still thinking about it. Maybe I’ll blog about it soon too 🙂

  • JO says:

    Thinking like the Techie…. Funny
    You should be concerned about the profit margins that gets passed on from Telecos to wholesaler to bulk breaker to retailers to consumer… Who will bear this cost and how will make up for this in your own profit margins?

    • ncodes says:

      The user who wishes to make payment using airtime would bear the entire cost. What I was mostly concerned about at that time was how to build an easy to use system/protocol

      • JO says:

        Let me try and simplify this…. MTN sells a #1500 card to a wholesaler at #1470, the wholesaler sells to the bulk breaker at #1480, the bulk breaker sells to the retailer at #1490 and the retailer sells to the users at #1500.

        So, on a card that is already valued at #1500, how much are you going to resell it to another vendor/retailer and still make profit from it at the end of the day? eg A user uploads a #1500 card which he bought at #1500 into your system, how much will you resell it to vendors/retailers? #1510? How much will the retailer resell it? #1520? Remember, the real value on the card is still #1500. How are you going to make it work in this context?

        • ncodes says:

          We could take 5% as transaction fee from the initial N1500 card which is N75, so that the new amount credited to the user’s account would be N1425. We would sell directly to the retailers at N1470 and they could sell at 1490. N45 profit for us, N20 minimum profit for retailer

  • ncodes says:

    Cool idea. Thanks

  • Uduak says:

    The thoughtful process is cool but you did not define why you wanted a recharge card payment.
    I will give you a stupid solution which may be profitable and easy to build using the same idea but not a recharge card as per recharge card.
    There are people who pay for data and the data expires without finishing. If you give these guys an option, they will be happy to sell it or invite people to join and use via data share at 50% discount the week before it expires.
    But it’s basically a community of people and I can just flag that I have data to share and somebody can choose to connect with my data.
    All u do is add interswitch to that loop so I pay before I can connect to that data. You can choose a monthly subscription via ussd for 100naira per month, and yes people like me will be happy not to waste my data cos there is no month I don’t waste some date. You will be surprised how many people are against network operator chopping their money from expired data.
    But it’s very simple. Create an app and load all the ussd codes for sharing data/airtime. Give people the option of signing up. Let the app continuously check data balance and expiry date by prompt.
    Then create a variety of rules including “desperate airtime” during which I can buy from someone who is ready to transfer to me by midnight when I will be willing to pay 10% or 20% more than normal cost using the stored value in my last sold airtime.
    You just sit in de middle and feed off commission. The person pays to you, you acknowledge transfer of airtime and release funds to beneficiary.
    You can lock all the stored value in for only redeeming as airtime. I can give you a plugin from quickairtime for that. That will keep you away from the mobile money.
    NOTE: This is free thinking oh.

    • Sola F. says:

      Interesting….. It can feasibly be done and the apps can be created and the community can be built. But payment might be a problem. I see a lot of mirco charges. The buyer of data will have to process a lot of small charges.

  • chizaram says:

    Good effort. But one thing I’d point out is that the CBN regulations does not allow such service (using airtime as a form of payment). Additionally, you would need to get a license from the CBN to offer any sort of mobile payment service in Nigeria. Just thought to point this out. You could look into building innovative services on top of existing mobile payment systems.

    • Sola F. says:

      I believe the regulation prevents mobile networks from using airtime as payments. Trading airtime by independent companies isnt against the rules. (well probably not defined in the rules).

  • Good stuff Ken @ncodes:disqus

    The only suggestion I would have for you is next time “build something”. It does not matter if the business fails. But it is important to go beyond local host especially as a developer.

    Like @disqus_lQclrQLxP6:disqus aka Double F said, this concept can be applied to other schemes like loyalty cards. But if you do not build any thing, it remains just an idea.

    BTW, when I say build something, it does not mean you should spend more that 2 months ( working part time) on it.

    If you have any mini ideas, you can pass it though someone who will encourage you to build stuff. Worst case is that you have something to add to your portfolio. Best case, you have a business kick off.

    Cheers buddy!

  • Salemsky95 says:

    So basically my start up was working on something similar, we tagged it THUNDERPAY, Until we discovered that CBN has a policy that you cannot use recharge cards as legal tender or to pay for goods, else MTN , GLO and the rest would have done it, anyways its all Cool, Nice piece, I love the fact that young tech dudes like us are working hard to make the world awesome.

  • Anon says:

    How about printing your own cards, people will then buy it like recharge cards. Load the pin and get your account credited! Yo feel this?

    I’m thinking of breaking the rules.. shit. If yo have the mind, join me..

  • Anon says:

    BTW: after reading all the comment on this post, I’m like “Ideas are a dime a dozen. Execute or keep yo idea to yourself and let Rocket or SPARK or Other folks hit you on the face” Imagine, folks having the same idea… damn!

  • CasaGrupo says:

    Keep up the innovation, theres a lesson to be learnt in every process. Not too much of FIFA14 though (Y)

  • Olibenu. says:

    If not for the CBN, you would have done what Interswitch did with the banks: make all the big names shareholders and they’ll ok the idea.

  • Raymond says:

    @ncodes:disqus I was just discussing with a Friend who is working on a similar platform, some days ago in my office: He has an API for the airtime – cash conversion which is on Trial….buzz me so i link u up with him…


Comments are closed.