Crossmint’s headless checkout includes status codes for multiple aspects of the checkout process. Using status codes lets you build detailed user experiences and UI’s 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

  1. quote:all-line-items-unavailable - No items in the order are available for purchase at the current time

  2. quote:expired - The quote has expired and needs to be refreshed

  3. quote:requires-physical-address - Order requires a physical shipping address. During this status, payment.preparation parameters will not be present. See Physical Good Purchases guide for details.

Payment Statuses

  1. payment:requires-recipient - The order needs a recipient address to be specified before proceeding

  2. payment:requires-crypto-payer-address - A crypto wallet address needs to be provided for the payment

  3. payment:requires-kyc - User needs to complete KYC verification to proceed with the payment

  4. payment:failed-kyc - KYC verification was rejected and the user cannot proceed

  5. payment:manual-kyc - KYC verification requires manual review, the user will be notified via email of the outcome

  6. payment:awaiting-payment - The order is ready to receive payment from the user

  7. payment:failed - The payment attempt failed and needs to be retried

  8. payment:in-progress - The payment is currently being processed

  9. payment:completed - The payment has been successfully completed

Delivery Statuses

  1. delivery:in-progress - The NFT or physical item is being processed for delivery

  2. delivery:failed - The delivery process failed and needs to be retried

  3. delivery:completed - The NFT or physical item has been successfully delivered to the recipient