nrml
BackendPro problem

Make Payment Webhooks Idempotent

Handle retries, invalid events, and conflicting identities without corrupting balances.

The scenario

Handle retries, invalid events, and conflicting identities without corrupting balances.

A failure to reason about

A payment event is delivered twice after an acknowledgement is lost. The account balance should reflect one logical event.

Illustrative context for the topic. The exercise’s full requirements arrive in the workspace.

Questions to bring to your review

  • Which caller makes the reported behavior visible?
  • What focused regression would distinguish the current behavior from the requirement?
  • What existing behavior must remain intact after the change?

Skills you will practice

  • Idempotency
  • Transactions
  • Validation

Read the existing code, reproduce the reported behavior, review proposed changes, and verify your final implementation. You can use AI assistance while staying responsible for the result.

Prepare with a worked example

See how nrml evaluates an attempt, including the limits of automated evidence.