Skip to main content

Safe retry rules

  • /sale, /refund:
    • Never generate a new documentExtID during retry of the same business operation.
    • Preferred recovery from unknown delivery: resend same request with same documentExtID.
    • If still in progress (code=44 or docStatus=0), poll /check_status.
  • /deposit, /withdraw:
    • If timeout happens after send, use /check_status first before attempting another cash operation.
    • If /check_status returns code = 9 after unknown delivery, resend same request with same documentExtID.
    • Note: for some execution failures before finalization, the server may roll back and delete the open cash document; in that case code = 9 is expected and resend is the correct recovery action.
    • Note: for print failures (code = 15), document is typically kept for print recovery, so /check_status and /check_copy should be used.
  • /close_shift:
    • If failed due to unclosed checks, use explicit openOrdersOperation (delete or renew) per business policy and resend.