Spendin
At Spendin, I work with the team on payment and purchase services, improving how the backend handles retries, late callbacks, and failures in external systems.
Software engineerThe problem
After a customer pays, several things can still go wrong. The backend has to confirm the right amount, handle late payment updates, avoid completing the same order twice, and recover when an external service is down.
Checkout and settlement
I built a way for people to buy without creating an account. The API handles repeated checkout requests safely, protects status and delivery links with tokens, and checks the payment reference, amount, and currency before completing an order. Late payment updates are handled instead of leaving an order in limbo.
Reliability and money handling
I moved recovery work out of the checkout request and added circuit breakers around external services. If a service is unavailable, an order can wait for a safe retry; payout failures take a different path. I also fixed currency calculations and kept prices available when the cache was down.
Security and administration
I fixed how the API identifies a visitor behind proxies, so a forged forwarded header cannot bypass rate limits. I added regular scans for vulnerable dependencies and made production dependency findings fail the build. In the admin API, I fixed transaction exports and protected account-management routes.
Ongoing work
I keep improving the services I work on as new payment flows arrive. I focus on keeping payment states clear, making failures easier to spot, and helping operations recover safely when part of the system is down.
Have a problem worth digging into? Let's talk.