Processing payments safely at scale ⚖️

Every day we process millions of payments. And it’s crucial we process them correctly.

To stop us introducing bugs when we make changes, we use things like code reviews and automated testing.

And we also have systems to detect bugs retroactively. Payments Tech Lead @joost explains two of the more unusual controls we use: coherence checking and reconciliation.

14 Likes

Hey folks :wave: Thanks for checking it out my blog post! I’m available in the comments if you have any questions.

11 Likes

Amazing, thanks for sharing!

especially when changing the hot path of our payment systems

@joost Could you explain what the “hot path” means in this context?

1 Like

Hi Peter! The ‘hot path’ is a term used in tech to refer to the code path that is executed to make a payment. For example, the code that finds which Monzo account belongs to a certain account number and sort code. If you change the hot path you want to be extra careful.

4 Likes

Thanks! Are there other paths of varying temperatures?

@Peter_G Not that I’m aware of, but maybe we should introduce some :thinking:

2 Likes

In my rather less FinTech software life the “hot path” is basically the path through the code that is taken most frequently, with considerations around importance mixed in

If you are going to optimise anywhere (obviously once done with the CI pipeline) it is best on the “hot path”. Also you need to avoid extraneous processing or any delays (and even potential for delays)

That also fits well with the particular use case at :monzo: I would say

3 Likes

Great writeup.

3 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.