Airo Commerce + Printify Automation
Airo owns the storefront, cart, checkout, payment, and order database. Printify orders are submitted automatically server-side after payment — no manual entry required.
Architecture Capabilities
MySQL — products, variants, orders, order_items tables. One master order per customer checkout.
Single Airo cart holds both Printify and native items. Customer sees one cart, one total.
Customer pays once through Airo. Printify is never charged by the customer — Printify charges the merchant separately for production.
POST /api/orders inspects fulfillment_source per line item. Printify items are automatically submitted to POST /v1/shops/{id}/orders.json server-side.
If Printify API fails, the master order is preserved. Items are marked printify_submission_failed for retry — no data loss.
Non-Printify items stored with status awaiting_fulfillment in the same order for merchant fulfillment.
Returned Printify order ID is written to order_items.printify_order_id immediately after successful submission.
GET /api/orders/:id polls Printify live for current status on any non-terminal Printify order IDs.
POST /api/printify/webhook receives order:updated and order:shipment:created events. Register URL in Printify Settings → Webhooks.
PRINTIFY_API_TOKEN and PRINTIFY_SHOP_ID stored in Airo Secrets — never in client JS.
Merchant never opens Printify to create orders. Submission is fully automated on checkout.
One order can contain Printify + native items. Customer sees one confirmation. Fulfillment splits internally.