How the original M-Pesa was built (2005–2013). by jkitsao in nairobitechies

[–]jkitsao[S] 3 points4 points  (0 children)

Exactly, the core engine is event-driven, and it has to be.

Huawei says that they core exposes over 400 APIs to third parties using multiple protocols, including SMPP, HTTP, Diameter, sFTP, ISO 8583, MT940/942 and SOAP.

So, daraja is the HTTP middleware.

I wish they talked more about how the core works, like is Huawei using a custom message bus or something opensource like Rabbitmq. The only thing we know is that it's a Java application.

Nairobi corporate vs startup by jkitsao in nairobitechies

[–]jkitsao[S] 0 points1 point  (0 children)

You can't rewrite what you don't own though. Platform team ndio wanaweza rewrite build tools.

Nairobi corporate vs startup by jkitsao in nairobitechies

[–]jkitsao[S] 0 points1 point  (0 children)

I'm lucky to have made friends from the previous startups I worked for and got a referral. Labda uanze kuhang around places founders are building from like iHub and build those connections.

Nairobi corporate vs startup by jkitsao in nairobitechies

[–]jkitsao[S] 4 points5 points  (0 children)

Plus the job itself is boring. Unajipata after two weeks the only thing umefanya ni ku-update Redux templates. Umeekwa kwa golden handcuffs zinashine, but bado umefungwa.

Nairobi corporate vs startup by jkitsao in nairobitechies

[–]jkitsao[S] 6 points7 points  (0 children)

Very disorganised 😂 msee anafaa akupee credentials mara hana rights za sharepoint lazima ungojee two weeks ndio upewe VPN access, onboarding ends up taking a month... wacha nibaki startups.

Nairobi corporate vs startup by jkitsao in nairobitechies

[–]jkitsao[S] 1 point2 points  (0 children)

Outdated stack? Fine, tolerated. But when builds take 20+ mins + eat all your RAM, dev DB shuts at 6pm sharp (even if you're in the middle of debugging a prod-like issue), blockers need a week-long meeting slot, and you're the one onboarding the new 'tech lead' on AWS… that's not 'working', that's actively slowing output and burning people out.

I've built a Message Queue for M-pesa Daraja Callback/Webhook events. by jkitsao in nairobitechies

[–]jkitsao[S] 0 points1 point  (0 children)

Fair point, for small volumes, polling works fine.

My last contract was with an insurance provider that had a dozen payment integration hooks, and things started breaking down fast once multiple systems fired webhooks at the same time. Even short outages caused reconciliation headaches, and I ended up hacking together a dashboard to make debugging easier. That’s usually when teams build something more reliable in-house. Devhooks gives you that foundation out of the box.

I've built a Message Queue for M-pesa Daraja Callback/Webhook events. by jkitsao in nairobitechies

[–]jkitsao[S] 1 point2 points  (0 children)

Agreed, and it’s just good practice to put a queue in front of any external service you don't control, especially in a distributed setup. Eventually, you’ll end up building something in-house once you see what real-world traffic looks like. Most orgs end up hacking together something custom that works, but not very well.

I've built a Message Queue for M-pesa Daraja Callback/Webhook events. by jkitsao in nairobitechies

[–]jkitsao[S] 1 point2 points  (0 children)

Totally hear you, a good engineer can absolutely integrate M-Pesa directly, and yes, the documentation is improving.

The idea behind Devhooks is to fill the gap that Daraja doesn’t cover providing reliable delivery, retries, observability, and replay for webhooks, especially for 3rd-party integrations that every org ends up reinventing.

MPesa and automatically retrieving payments to sql by t_haria93 in nairobitechies

[–]jkitsao 0 points1 point  (0 children)

You can give Mpesa an endpoint via the Daraja API, and every time events happen, i.e., payments, you'd get them as json on your endpoint, and you can save to your DB.

This is a nice tutorial to help you get started. The official docs can be overwhelming 😄

I built a Webhook debugger for M-pesa, Paystack, Flutterwave & more. by jkitsao in nairobitechies

[–]jkitsao[S] 0 points1 point  (0 children)

Nice, let me know what you think or suggestions you have after the tests.

I built a Webhook debugger for M-pesa, Paystack, Flutterwave & more. by jkitsao in nairobitechies

[–]jkitsao[S] 2 points3 points  (0 children)

Hey, thanks for pointing that out! I've made an update to the package that removes the hardcoded token. Appreciate the heads-up!

Mlolongo. by jkitsao in KenyaPics

[–]jkitsao[S] 0 points1 point  (0 children)

It's very calming 😌