noebs: a free and open source payment gateway

We introduce noebs, a free and open source payment gateway provider written in Go.

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 that can be exposed to both POS and mobile applications. A starting point where you can write your business logic. It is free and open source built using Go. noebs encapsulates many of the things I learned while working with a 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 headers (be it JWT or other tokens). Actually, one of our machine failed to send a request body that has a JWT token in it. We trimmed all of these in our system design and we only offered the payment gateway interface. It is the application responsibility to provide the necessary authentications in their business logic. The design of noebs makes it very simple for the developers to work with it. It is not opinionated, we assume that the developers know better what their business needs and tailor noebs to their requirements. You can add as much of other middlewares as you wish; be it a logger, sms gateway or any other service. We highly encourage you to adapt this microservice architecture, where the whole application is layered on top of each other’s.

Our experience with building payment gateways (EBS middlewares)

  • Either directly connecting with EBS
  • Or, building a middleware that clones EBS APIs and linking to it.

Well, for most of currently deployed POS they’re directly connected to EBS services. Since EBS handles most of their needs and even provide their clients with daily reports (and the sms too!). That would work for you very well until you start to incorporate mobile payment. In our work, both of our POS and mobile apps are pointing to the same endpoints. For working with embedded devices, try to avoid as much http headers overhead as you can.

The preferred way is to include the API in a protected endpoint in your backend. E.g., only logged in users can inquire for their balance.

This project goals

Provide a highly scalable payment gateway that can handles tens of thousands of concurrent requests. Currently, we are only interfacing with EBS, but we plan to cover other private switches as well. It is also open source meaning you can use for free! We don’t have any hidden subscription fees or anything. Totally free and open source.

Commercial plans

Yes, we do have commercial plans. In fact, we can help you in every part of your electronic payment system. You can use our hosted middleware service without the need of hosting it yourself.

  • EBS simulator (you can use it in during your development phase)
  • We also have QA developers that can help you during your tests. They’re as lame and bureaucratic as EBS ones are
  • we can help you write your clients applications, whether they’re mobile, or POS
  • we can assist and help you plan for your business model

For more details, contact us at mmbusif@gmail.com.

Why Go?

Go is really fast! Our application can happily serve more than 60k req/sec. The bottleneck will never be on your payment gateway service! Plus, Go helps with many of the problems I faced while working with Python, the static typing can prevent your errors from occurring only at runtime, and your code will compile into a single binary that you just run. I’ve been very excited to write web services Go and this project offers me just that!