John Karanja

The field guide · rule 10 of 16

Expect other services to fail

Retry what is safe, pause what keeps failing, keep a second source, and never blindly resend money.

What it means

Outside services fail. Retry the safe things, and wait a little longer each time. If a service keeps failing, stop calling it for a while. Keep a second source ready. Most important of all: never automatically retry something that may already have worked, such as sending money.

What goes wrong without it

A payment provider is slow to answer. The system decides the payment failed and sends it again. Both payments go through.

How I build it

From systems I build and run.

Ask your team

  1. When a payment times out, does the system know whether it went through?
  2. Does anything stop calling a service that keeps failing?
  3. Is there a second source for anything critical?

A "no" or "not sure" is worth a closer look.

How a review checks this

The payments check follows what happens after a timeout, step by step, and marks any retry that could pay twice.

Request a reviewThe offer: Payments and ledger integrity checkCheck your system in one minute

Related rules