Quote an order
shop.order.quotePrice snapshot for items of one merchant (slug): total_usd, expiry (15 min by default), stock held until then. Pay with x402 using pay.x402 (payTo, amount, network, asset, extra.quote_id). Physical items need shipping_option (an id from the product shipping_options; its price is added as shipping_usd) and, when the product lists delivery_slots, delivery_slot (held until the quote expires). A subscription item is quoted alone with subscribe: true (422 if the item has no subscription); the quote is period 1. Errors: 409 out_of_stock (alternatives), 409 slot_unavailable (alternatives = free slots), 429 test_sku_daily_cap.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| merchant | Yes | Merchant slug. | |
| buyer_ref | No | ||
| subscribe | No | true: quote period 1 of the item subscription (one item, qty 1). The answer carries subscription_terms. | |
| delivery_slot | No | ||
| shipping_option | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pay | Yes | ||
| items | Yes | ||
| order_id | Yes | ||
| quote_id | Yes | ||
| total_usd | Yes | ||
| expires_at | Yes | ||
| requires_pii | Yes | ||
| shipping_usd | No | ||
| delivery_slot | No | ||
| fee_disclosed | Yes | ||
| shipping_option | No | ||
| subscription_terms | No | ||
| terms_update_pending | No | ||
| merchant_encryption_key | No | ||
| requires_human_confirmation | Yes |