Skip to content
Preptima
hardScenarioDesignMidSeniorStaff

A customer's bank shows the money left their account and you have no order. How does your checkout make that impossible, and how do you find the ones that already happened?

6 min readUpdated 2026-08-15Target archetype: Big Tech, Enterprise Captive, Product Startup

Answer

Short answer

Write the order before you call the payment provider and key both with the same idempotency token, so a timeout leaves a record you can resolve. Then reconcile the provider's ledger against your orders daily in both directions, because a lost outcome is silent by default.

Was this answer helpful?

Likely follow-ups

  • The provider's webhook arrives before your redirect handler runs. Does your state machine cope?
  • How do you distinguish a genuine duplicate charge from two legitimate orders placed a minute apart?
  • An orphaned authorisation is found four days later. Do you void it, capture it, or fulfil the order?
  • What is the reverse case - an order with no payment - and which of the two would you rather have?

Related questions