Payment States

Every payment carries a paymentState. Drive your order logic from these values, and never downgrade an order that has already reached a later state — webhooks can arrive out of order.

State Meaning What to do
Created Payment exists; the customer has not paid yet. Hold the order as pending.
SaleInProgress The customer is going through checkout. Keep waiting.
Authorizing / Authorized Funds are being, or have been, reserved on the payment method. Capture when you are ready to fulfil (if autoCapture was false).
Approved The provider approved the transaction. Keep waiting for capture.
ProviderAuthorizedHold / CapturedHold Authorised or captured, but held for review — usually a fraud rule. Review in the Console; release with unhold or cancel.
Capturing Capture is in flight. Keep waiting.
Captured Money settled with the provider. Terminal success. Fulfil the order.
Cancelling A cancellation is being processed. Keep the order on hold.
Failed The payment cannot succeed. Terminal. Cancel the order and release reserved stock. lastError explains why.
Refunding / Refunded A refund is in flight, or complete. Mark the order refunded only on Refunded.
Disputed The customer raised a chargeback with their bank. Flag for manual review; do not restore stock automatically.

Fraud status

Alongside the state, fraudStatus reports what the risk engine decided: Unknown, Verified, RuleViolated, Suspicious, Fraudulent or Ignored. Rules are configured per app as fraud policies, and a payment can name a specific policy with fraudPolicyId.