如何建立網上商店:商品、購物車、結帳及庫存
要建立網上商店,你需要商品目錄、購物車、透過 Stripe 等付款服務商收款的結帳流程、記錄訂單及扣減庫存的方法,以及一個用來處理訂單的管理介面。AI 應用程式生成工具可以根據清晰的描述把以上功能全部組合起來。最值得花心思的其實不是店面,而是與金錢相關的部分:何時訂單才算已付款、庫存如何預留,以及如何處理稅項、運費和退款。
自訂商店還是 Shopify?先決定這一點
開始建造之前,請先誠實考慮這一點。
如果符合以下情況,託管式商務平台(Shopify、Squarespace Commerce、WooCommerce 等)通常較好:
- 你售賣實體商品,需要運費計算、運單及退貨處理
- 你需要計算多個地區的稅項
- 非技術人員每日都要新增商品及處理訂單
- 你想使用應用程式商店提供的附加功能,例如評價、電郵行銷、積分計劃
- 你透過多個銷售渠道售賣,並需要統一的庫存數字
Shopify 的收費是月費,如果選擇按年付費可享折扣;信用卡付款另外要收取手續費。價格因地區而異,請查看其定價頁面了解你所在國家的收費。
如果符合以下情況,自訂商店通常較適合:
- 產品較特別:按訂單製作的配置器、預約加商品、附授權的數碼下載、按客戶劃分的 B2B 價目表
- 商店只是更大型應用程式的一部分(例如課程平台、會員網站、市集)
- 你售賣的商品種類不多,並希望完全掌控設計及結帳流程
- 你希望擁有程式碼,並避免被平台綁定
很多小型賣家最適合使用平台。如果你的需要很普通,這是好事,直接走捷徑就好。
網上商店需要什麼
資料
| 資料表 | 主要欄位 |
|---|---|
| 商品 | 名稱、slug、描述、圖片、價格、是否上架(是/否)、分類 |
| 商品變體 | 所屬商品、選項值(尺寸、顏色)、SKU、價格覆寫、庫存 |
| 訂單 | 編號、客戶電郵、送貨地址、狀態、小計、運費、稅項、總額、付款 ID |
| 訂單項目 | 所屬訂單、商品變體、數量、購買時的單價 |
| 庫存變動 | 商品變體、變動數量(+/−)、原因(銷售、補貨、退款、更正)、日期 |
| 折扣碼 | 代碼、類型、金額、到期日、使用上限 — 日後再加,不必一開始就做 |
務必在每個訂單項目上記錄購買時的價格。如果你下個月改了價格,舊訂單仍須顯示客戶當時付的金額。
頁面
- **店面:**主頁、分類或系列頁、商品頁、購物車、結帳跳轉、訂單確認頁。
- **管理後台:**商品及庫存、附狀態(已付款、已包裝、已寄出、已退款)的訂單、客戶、簡單的銷售數字。
- **法律及政策:**運送、退貨、私隱及條款。顧客在購買前會查看這些頁面,而且很多地區的法例規定必須提供部分內容。
權限
讓顧客不用登入帳戶也能購物:訪客結帳可以省去一個步驟,帳戶功能則可日後再加。只有管理員可以查看訂單及編輯商品,管理後台必須以真正的登入機制及伺服器端檢查加以保護。
結帳流程應如何運作
自訂商店最安全的做法是使用代管結帳頁面。以 Stripe 為例:
- 顧客按下結帳按鈕。你的伺服器會從資料庫重新核對價格及庫存,絕不信任瀏覽器傳來的資料,然後建立 Stripe Checkout 工作階段。
- 顧客在 Stripe 的頁面付款,卡資料不會經過你的伺服器。
- Stripe 會呼叫你應用程式的 webhook 端點,通知付款已成功。只有到這時,你才把訂單標記為已付款並扣減庫存。
- 顧客會被導向你的確認頁面,而你會發送確認電郵。
要避免兩個錯誤:一是在成功頁面的跳轉中建立「已付款」訂單(人們可能關掉分頁,而跳轉也可能被偽造),二是在瀏覽器中計算總額。除非你特別註明,否則 AI 很容易在這兩點出錯。
Stripe 的標準收費為每筆成功的信用卡付款收取百分比加固定費用,沒有開設費或月費(截至 2026 年 9 月);實際費率視乎你所在國家及卡種而定。請先用 Stripe 測試模式及其測試卡號把所有功能建好。我們的為應用程式加入付款功能指南涵蓋金鑰、測試模式及 webhook。
稅項、運費及庫存的決定
以下屬於業務決定,AI 無法替你作出:
- **稅項。**你是否須要收取銷售稅或增值稅,以及稅率多少,取決於你及客戶所在的地區。Stripe 提供相關服務(Stripe Tax),如果你的情況簡單,也可以設定固定稅率。如有疑問,請諮詢會計師。
- **運費。**可以先從幾個固定費率開始(本地、海外、超過某金額免運費)。即時承運商運費及列印運單,正是 Shopify 等平台可為你大幅節省工夫的地方。
- **庫存。**決定庫存是在結帳開始時預留,還是只在付款成功時才扣減。對小型商店來說,付款成功後扣減,並在結帳前再次核對,會比較簡單;但偶爾會出現最後一件被超賣的情況,所以要事先想好處理方法。如需商店以外的庫存追蹤,請參閱如何建立庫存管理應用程式。
一個有效的首個提示
為 Loam & Clay 建立一個網上商店,這是一間售賣杯子、碗和花瓶的小型陶瓷工作室。店面方面:主頁展示精選商品;商店頁面設有分類篩選;商品頁面有圖片庫、顏色變體及庫存狀態;另有滑出式購物車。把商品、變體、訂單及訂單項目儲存在資料庫中,並預先加入 10 件貼近現實的商品。管理後台(需要登入)可新增及編輯商品、上傳圖片、更改庫存,以及查看附狀態(已付款/已包裝/已寄出)的訂單。結帳按鈕暫時可以只是佔位,我們稍後再加入 Stripe Checkout。設計要溫暖簡約,以手機為優先。不要加入虛假評價或「全球免運費」之類的說法。
先以佔位結帳開始是刻意的做法:先把商品目錄及管理後台做好,然後才在獨立的步驟中接入付款,這樣才能妥善測試。
建造步驟
- 商品目錄及商品頁面,使用真實的商品名稱、價格及相片。
- 購物車,要能在重新整理頁面後保留內容。
- 管理後台:商品、變體、庫存、圖片上傳。以登入機制加以保護。
- Stripe Checkout,使用測試模式,並由伺服器重新核對價格及庫存。
- Webhook,把訂單標記為已付款並扣減庫存。使用測試卡完整測試一次。
- 訂單電郵,發送給客戶及你自己。
- 政策及 SEO:運送及退貨頁面、商品標題及描述、分享圖片。請參閱AI 建立的網站如何做 SEO。
- 正式上線:切換為正式 Stripe 金鑰,自己下一張真實的小額訂單,然後退款。
常見錯誤
- **信任瀏覽器傳來的價格。**務必在伺服器重新計算。
- 在成功頁面而非 webhook 中把訂單標記為已付款。
- 直接覆寫庫存數字,而不記錄每次變動,結果會失去庫存變動原因的歷史。
- 未有運送及退貨頁面就上線。
- **圖片過大。**壓縮圖片,並從檔案儲存空間提供,不要放在程式碼內。
- 在第一張訂單之前就做願望清單、評價及積分功能。
營運成本
需要預算的項目包括:主機及資料庫、每筆銷售的付款手續費、網域、用於發送訂單確認的電郵服務,以及可能需要的稅務服務。自訂商店不需要平台月費及應用程式費用,但你要自己承擔維護工作:結帳出問題時,就要由你來修理。
如果你想讓其他賣家加入,即每位賣家各自收取款項,那就是市集,付款規則亦不同。請參閱如何建立市集。
用 Mythex 建立
在 Mythex,你描述想要的商店,agent 會在即時預覽中建好商品目錄、購物車及管理後台;商品與訂單資料儲存在 Postgres 資料庫,商品圖片則使用檔案儲存空間。文件中的商店使用案例建議的順序正是上述步驟:先做商品目錄,之後再處理結帳。
付款功能使用你自己的 Stripe 帳戶:把 Stripe 金鑰加入為專案祕密值,然後要求 agent 加入 Checkout,接着在預覽中用 Stripe 測試卡測試(Stripe 教學)。Webhook 需要公開網址,所以要先發布,之後才能把 Stripe 指向它(webhook 教學)。稅項、運費及庫存同步並非 Mythex 內建功能,亦沒有原生的 Shopify 整合;如果你需要現成的完整解決方案,Shopify 會是較好的選擇。如需起點,可參考商店範本,例如電子商店。
常見問題
我可以用 AI 建立網上商店嗎?
可以。AI 應用程式生成工具可以建立商品目錄、商品頁面、購物車及訂單管理,並使用你自己的帳戶把結帳連接到 Stripe 等付款服務商。稅項、運費及配送規則仍須由你自行決定,並仔細測試。
要網上售賣,我一定要用 Shopify 嗎?
不一定。你可以用自訂商店加上 Stripe 等付款服務商來售賣。不過,如果你希望庫存、運費、稅項及應用程式都由同一個產品處理,或者日常營運由非技術人員負責,Shopify 仍然是較容易的選擇。
自訂網上商店如何收款?
大部分自訂商店會把顧客導向 Stripe Checkout,這是由 Stripe 代管的付款頁面,並在 Stripe 透過 webhook 確認付款後才建立訂單。你的卡資料不會經過你自己的伺服器,這樣做更簡單,也更安全。
如何確保庫存數字準確?
只在付款獲確認後才扣減庫存,在建立結帳前再次核對庫存,並把每次變動(銷售、補貨、退款)記錄為一項變動,而不是直接覆寫數字。在其他銷售渠道售出的商品,也必須同步更新同一個庫存數字。