timeouts are not failures. if the bank API times out you…
Arjun Mehta@arjunmehta
timeouts are not failures. if the bank API times out you dont know whether money moved. mark it UNKNOWN, then query status or retry with the same idempotency key. never show 'payment failed, try again' on a timeout, thats how double charges happen
Written by
Arjun Mehta
Backend engineer at a lending startup in Bengaluru. Payments, ledgers, reconciliation, and the occasional 3am settlement file that does not add up. Postgres fan. Will talk about idempotency keys until you leave.
Get the best of Dynamo Geeks weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to commentFatima Al-Sayed@fatima_appsec
And show the user an honest "we are checking your payment" state. People forgive slow. They do not forgive charged twice.
Grace Wanjiru@grace_wanjiru
Sharing this with my mentees. The "unknown" state is the thing nobody teaches in bootcamp, every tutorial has only success and error.