Bear in mind this is a work in-progress. I will keep this repo updated.
One of the main issues we aim to solve is to secure the cash chain. This is why the government is heavily investing in epayment. As service providers, we gain our money by taking a small amount of the cash flow we're, well, securing.
You put your money into a bank, hopefully lots of you do. The bank then use these resources to funding other projects (e.g., microfinance). The bank, again hopefully, makes some revenue and all of our money is secured. The whole idea is that, while you put your money at a bank, it is highly unlikely you'd take the next day. It will stay still there for awhile which will allow the bank to use it. In all of these cases I assumed we were using cash. What's happening now is that, the cash is in people's pockets and not the central bank. Now, imagine that our whole money, every fortune we have, is all stored in a centralized network, where you can access them at anytime; the financial institutions where you save your money can also use them too; the central bank can use it in any state backed projects. This is what we are eventually seeking to achieve. And this is actually how money works too. These papers are more or less represents a claim that you have this amout of fortune (and that the country also have its equivalent of e.g., gold).
With the arrive of new technologies, people have moved from bank accounts to electronic payment. And we here in Sudan are starting too.
Now, lets put those theories into practice. We have a national switch hosted and operated by EBS. It is connected to all banks. In essence, it has control of all of the cash in the financial institutions. So, our problems are solved and clearly there's no reason writing this article, isn't it? Well not really. Very small amount of Sudanese have banks accounts. People are extensively using cash. Do we need to first make a transfer into a banking system and then later makes the jump into the electronic one. Well, nah. There might be solution for that. We will get to this point later.
- tele corporates held lots of the cash mass (hence the controversial law of limiting the maximum amount of transactions per day)
- Mining markets
- Electricity
- Gas stations We can assume that a high percentage of the cash is around these businesses, so we can start off there. Effectively, we want to take all of people's money, and give them claims about it. Remember from the previous chapter about banking? It is really the same; we once replaced people's golds and silvers fortune with a piece of paper. That piece of paper is very handy you can grab it with you all along without noticing it. It is also backed by the law. You won't expect your grocery store to telling you that well your 50SDG is worthy 10SDG. Having the actual money in a centralized system, accessible to both banks and government, can hugely affect our economic. It gives concrete numbers of what you actually have and prevents inflitration. This is what we all sought.
We have a national switch that connects all of financial institutions. It's very working and well tested. Oh, and secure too. The aim of the switch, or EBS per se, is to be a thin wrapper around banks. It does the necessary authentications and ensures that every request that is passed onto the CBS layer is authenticated. It also handles the incoming transactions stemmed from different origins; POS, ATMs, mobiles. If you've ever worked with any financial institution, you'd know that this is something very huge! I've once started to implement ISO8583 protocol to connect with a CBS. It was a painful task. So we do actually have a great infrastructure but we are not taking fully advantage of it (and we will see why later). We have done everything right, but somehow... numbers don't add up.
It wouldn't be much of a useful system, if you don't have users for it. If the system is not consumed. The cash, or most of it, is outside the system. Outside EBS and the banks as well. What worse than that is some of the cash is inside the system. We ended up having half-baked system. Now, as the government trying to dryout the cash and include it in the financial system. Needless to say, that went terribly bad. We have only solved one part of the problem. Building an electronic payment system is a huge work, but the ecosystem as a whole is broken. We were very awesomly turned people's money into electronic ones--we failed though to let them make any use of it. I can use my bank card to pay for my internet and electricity bills. I can do all of the tele services (though there was a resistance from Zain side at first). Governmental services work well too. E15, CUSTOMS, Higher Education, etc. The cash chain is complete, here. What about other places? Purchase? It is broken. This is why most of e-payment providers in Sudan solely focus on E15. It is the only place where the cash chain is complete. Why they don't give as much care to e.g., telecom? Well, tele corporates have a huge network of agents, it is next to meaningless to try and compete with them. The government does, indeed, try to include them in the network (the controversial law of limiting the amount of transactions per day). If you as an e-payment provider, your whole intention is to work in E15 then your business model was right, you bet on the winner horse, well tell now at least. E15 is far more interesting than that too. You can, to some extent, have the transaction fees model you wish. And the stream of money is crazingly huge! But I'm arguning you that there's more of this story than the E15 one. That, if we played it well, it'll be beneficial for both of the corporates and the nation as a whole. And that this is a huge business opportunity to miss.
Unlike E15 or tele corporates, dealing with the people at a mass is quite different. And with this cash mess things are getting worse. It was hard to convince people to put their money in a 3-floor building, and now you just want them to put it in a plastic card! Wow! Imagine this:
- your salary will be transfered to you into your credit card.
- you have this nice app on your phone where you can access your credit card and pay your bills.
- you can also use another app for shopping. Well... apparently all of these are actually possible now. But, this doesn't sound like a Sudani thingy. So, what about these?
- pay to the bus that takes you to- and-from work
- pay to the tea/coffee ma'am you hangout with (during office hours)
- pay to your fatta and flafel
- the lame nearby (small) grocery you buy sugar and milk from?
Mmm, good luck with that. The idea is not about these only, it is about the small, yet, very often things you want to do. This system is not personalized to our use. Now the banks are in utter need to have as much POS as they can afford, they've started tackling some of these problems. They put huge investment into distributing their POS into as many supermarkets as they can afford. That, will result in some revenue for them. However, there's no worse than a half-baked experience. The only way to convince a merchant (be it a supermarket or any other agent) to use your POS as a payment method is to ensure to them that they can withdraw any amount of moeny they have. And that's not possible. No one with their right mind can give you their money while they cannot have access to it. What we want is something like this:
The idea is that in order to fully implement an e-paymeny system, we have to secure the cash chain, or the way the cash representer, these claims we took from the system, to propagate smoothly through all of the system parts. If I can use my credit card to make my payments from a local grocery, but the grocery owner cannot use their cards to refill their storage, the system fails.
I have a strong believe that electronic payment will help our community. And I also believe that we are lacking a clear vision. I'm not here to offer solutions as much as highlighting the current issues.
- make the transaction fees model more dynamic for small transactions, e.g., buses fees, grocery, etc. (It is quite unacceptable that one must pay 1SDG for each time they ride a bus.)
- ensure that the electronic system covers all of the supply chain and there's no any broken chains
- build small businesses around electronic payment, e.g., ecommerce
I've some opionions about the way EBS runs the national switch. I will start off by writting my opinions on the national switch operator.
- i adopt separation of responsibilites philsophy. A pen is meant to do writing, I don't expect it to be used in any other regard. EBS is meant only as the national switch operator, it is quite unexpectedly for me that they have a marketing and a business development team. It is the responsibility of their clients to have a business model and a marketing plan.
- EBS is a solid point to start with, always put that in mind. It is quite irrational to start your own switch.
- the separation between merchant and consumer channels at EBS is ridiculous and adds another burden. Has no security implications either.
- EBS role must be cleared out.
What is noebs? It is definitely not a replacement for EBS, if anything we embrace the use of EBS and its role as a unified switching system. But, we aim to provide a thin wrapper around EBS functionalities. It is free and open source built using Go. noebs encapsulates many of the things I learned while working with another full fledged payment gateway. It is very fast and robust and doesn't get on your way while using it. One of the things we learned while working with embedded devices is that both our engineers, as well as the machines, don't like fancy JWT headers. Actually, one of our machine cannot even send a request body with that size! It is the application's responsibility to do their authentication systems and other kinda of business logic.
- Extremely fast backend. It can happily serve more than 60k requests/sec Techempower benchmark results.
- A simplistic middleware that doesn't intend to get into your way. This system is meant to do one thing and one thing only, serves as a payment gateway interface to EBS and other payment interfaces.
- Totally open source and free! You can really just fork the repo and use it on your own infrastructure!
- Other support plans too. We can provide this software as a SaaS, or even a PaaS, where we handle all of the server and configurations for you, and add other features as needed.
- We have our own EBS simulator too that is 100% compatible with EBS development server! And it works on holidays too!