Skip to main content
Crossmint’s headless checkout includes status codes for multiple aspects of the checkout process. Using status codes lets you build detailed user experiences and UIs that inform about the status of the payment process and delivery of their purchase. There is the top level order.phase and then there are sub-statuses for quote, payment, and delivery.

Quote statuses

  • item-unavailable — No items in the order are available for purchase at the current time
  • valid — The quote is valid
  • expired — The quote has expired and needs to be refreshed
  • requires-recipient — The order is missing recipient information (email or wallet address)

Payment statuses

  • requires-quote — The order is still in the quote phase
  • requires-crypto-payer-address — A crypto wallet address needs to be provided for the payment
  • requires-email — An email is required to proceed (typically for card payments or receipts)
  • requires-kyc — The buyer must complete KYC verification to proceed
  • manual-kyc — KYC requires manual review; the buyer will be notified of the outcome
  • failed-kyc — KYC verification failed and the buyer cannot proceed
  • crypto-payer-insufficient-funds — The specified payer address cannot cover the purchase
  • crypto-payer-insufficient-funds-for-gas — The payer address cannot cover the required network fees
  • awaiting-payment — Ready to submit the payment
  • in-progress — Payment processing is underway
  • completed — Payment completed; the order proceeds to delivery/completion

Delivery statuses

  • awaiting-payment — Delivery not started because payment is not yet complete
  • in-progress — Delivery is being processed
  • failed — Delivery failed; affected items will be refunded automatically
  • completed — Delivery completed successfully
I