Skip to main content

@dialstack/sdk-dev / server/src / HardwareOrderCheckoutConflictResponse

Interface: HardwareOrderCheckoutConflictResponse

Defined in: sdk/server/src/index.ts:1935

409 body from hardwareOrders.checkout and hardwareOrders.request. Each refuses for several unrelated reasons and the fix for each is somewhere different, so branch on code rather than string-matching error:

  • order_not_draft — the order cannot be placed. Today this is a rejected order, which cannot be resumed.
  • shipping_not_quoted — no carrier service has been chosen. Create a shipping quote and choose a service from it. An unquoted order is not a free-shipping one.
  • ship_to_incomplete — the order has no shipping address, or nothing to put on the label: no ship_to_recipient and an account with no name. Set ship_to_address (and ship_to_recipient) with hardwareOrders.update.
  • shipping_quote_expired — the quote the service was chosen from has expired. Create a new quote and choose a service from it.
  • no_debit_authority — no verified bank account with a live ACH authorization. Finish bank setup; the order is left as a draft.
  • no_default_payment_method — a verified, authorized bank account exists but none is the default. Set one as the default; the order is left as a draft.
  • payment_method_pending_verification — the bank account is still being verified (microdeposits). Complete verification; the order is left as a draft.
  • catalog_item_not_priced — a line was unpriced or withdrawn from the catalog since the draft was built. Remove or replace it.
  • hardware_line_backordered — the distributor is holding part of the order and gives no restock date. The shipping quote the service was chosen from lists the held lines in backordered_lines. Remove or reduce them and choose from a new quote; the draft survives.
  • hardware_order_already_debited — a debit already exists; the order is no longer checkout-able.
  • checkout_resume_window_elapsed — placed more than 12 hours ago without a debit, past the window in which a retry is guaranteed not to charge twice.
  • debit_parameters_changed — the stored bank account or authorization moved between attempts, so the debit cannot be retried under the same key.
  • resale_certificate_required — no accepted, unexpired resale certificate is on file. Checkout only.
  • hardware_order_changed_while_pricing — the order changed while it was being priced. Retry. Checkout only.
  • hardware_checkout_live_only — the account is not live. Hardware is only checked out or requested for live accounts.

Properties​

code​

TypeScript
code:
| "order_not_draft"
| "shipping_not_quoted"
| "ship_to_incomplete"
| "shipping_quote_expired"
| "no_debit_authority"
| "no_default_payment_method"
| "payment_method_pending_verification"
| "catalog_item_not_priced"
| "hardware_line_backordered"
| "hardware_order_already_debited"
| "checkout_resume_window_elapsed"
| "debit_parameters_changed"
| "resale_certificate_required"
| "hardware_order_changed_while_pricing"
| "hardware_checkout_live_only";

Defined in: sdk/server/src/index.ts:1937


error​

TypeScript
error: string;

Defined in: sdk/server/src/index.ts:1936