Mach 2
64 × 32 LED flight tracker in solid maple.
Check the live catalog for price and availability.
Explore our physical displays, compare current prices, and prepare a Shopify checkout from the command line. You review the final order and authorize payment before we ship.
64 × 32 LED flight tracker in solid maple.
Check the live catalog for price and availability.
The flight tracker in a matte black enclosure.
Check the live catalog for price and availability.
ESP32-S3 and 64 × 32 LED matrix. Requires owner setup; not a flight tracker out of the box.
Check the live catalog for price and availability.
An upgrade kit for a compatible original FlightTrackerLED box.
Check the live catalog for price and availability.
These are physical products. Shopify checkout confirms destination eligibility, taxes, shipping, discounts, and the final total. Mach 2 and Lite need power and Wi-Fi; Departure Board and pre-departure status require your FlightAware AeroAPI key, with possible provider charges.
Use Node.js 18 or newer. These commands use Shopify UCP CLI 0.9.1. A local agent profile identifies the tool; it does not authorize a payment.
npx --yes @shopify/[email protected] profile init --name flighttrackerled
npx --yes @shopify/[email protected] discover --business https://www.flighttrackerled.com --profile flighttrackerled --format json
npx --yes @shopify/[email protected] catalog search --profile flighttrackerled --input '{"query":"FlightTrackerLED","context":{"address_country":"US","currency":"USD"},"pagination":{"limit":10}}' --format json
Our discovery URL serves Shopify's generated profile directly. Use the native service endpoints it declares. Choose offers sold by FlightTrackerLED at ab7c43-3d.myshopify.com; product names alone do not identify the seller.
This example creates an unpaid cart for one Mach 2 Lite. Check its current availability first. It also uses jq to preserve Shopify's returned IDs.
umask 077
npx --yes @shopify/[email protected] cart create --business https://checkout.flighttrackerled.com --profile flighttrackerled --input '{"line_items":[{"item":{"id":"gid://shopify/ProductVariant/55703532110143"},"quantity":1}],"context":{"address_country":"US","currency":"USD"}}' --format json > ftled-cart.json
FTLED_CART_ID="$(jq -er '.result.id' ftled-cart.json)"
npx --yes @shopify/[email protected] checkout create --business https://checkout.flighttrackerled.com --profile flighttrackerled --input "$(jq -cn --arg cart_id "$FTLED_CART_ID" '{cart_id:$cart_id,line_items:[]}')" --format json > ftled-checkout.json
jq '.result | {status, line_items, totals, messages, continue_url}' ftled-checkout.json
Open the returned continue_url for the initial handoff to enter your delivery details, select shipping, review the final total, and approve payment. Retain the actual hosted checkout URL reached in the browser and its resulting confirmation or order-status URL privately. An incomplete checkout may include estimated taxes. Preserve all Shopify totals and mandatory messages; the amount is provisional until checkout has the required details.
Direct payment inside an agent depends on Shopify and agent eligibility, available payment handlers, and your authorization. Follow Shopify's checkout handoff whenever it asks for buyer action.
Read the same saved checkout after approving payment. Keep response files private: resource IDs and order-status links can contain access keys.
FTLED_CHECKOUT_ID="$(jq -er '.result.id' ftled-checkout.json)"
npx --yes @shopify/[email protected] checkout get "$FTLED_CHECKOUT_ID" --business https://checkout.flighttrackerled.com --profile flighttrackerled --format json > ftled-checkout-status.json
jq '.result | {status, currency, line_items, totals, order, messages}' ftled-checkout-status.json
The cart-to-checkout workflow above returned completed, the order number and a private order-status link after our sandbox payment. Repeated reads returned the same order. When the response includes completed and order, your agent can report the order number, purchased items, original paid total and order.permalink_url. An order confirmation does not mean the item has shipped.
Open that private order-status link for current shipping, tracking and refunds, completing Shopify's buyer verification if requested. The separate order get lookup was unavailable in our CLI test; it requires additional agent API access. Checkout delivery selections are not a shipment status, and its completed totals are the original purchase snapshot, not the current balance after a refund.
If checkout creation was interrupted before buyer handoff or any payment attempt, repeat the conversion using the same saved cart ID and line_items:[]. After handoff, read the existing checkout with the command above. Use this cart-to-checkout workflow; a separate direct Shop CLI checkout test did not return its order after hosted payment.
If an order is missing or a response fails, check the existing hosted checkout, actual confirmation/status URL or receipt, or ask support to verify the merchant order. Do not treat an incomplete response as proof that payment failed.
Do not reopen the initial cart continue_url after a payment attempt: it can open a new unpaid checkout. Do not submit payment again or create a fresh cart or checkout while the outcome is uncertain. Retain the actual confirmation and order-status URLs privately and contact support for an unresolved purchase.
See the shipping and returns policy and the product page for dispatch expectations. Contact [email protected] for order, return, or refund help. The developer kit has self-serve setup and support. Our flight-data API page is a preview and is not a paid API offer.