status from AWAITING_APPROVAL to CANCELED without submitting it to the provider — no money moves.
Preconditions
Cancel is only valid before approval. Once an order moves to
PENDING (after approve), it cannot be canceled — it will run to completion on the provider’s timeline. To reverse a successful payment, you need a separate refund flow, not a cancel.Effect
status→CANCELED(terminal)lockedon the wallet is unchanged (the order never reserved funds — reservation happens atapprove)- The order is never submitted to the provider
CANCELED state is terminal. Once an order is canceled, it cannot be revived; if you need to re-attempt the operation, create a new order with a different idempotencyKey.