續期建立訂單時,只讀訂閱自己,不回頭讀 products。


訂閱最容易被忽略的一件事:它會活很久。

客戶今年三月訂的,可能扣到明年。這段期間,商品會發生什麼事?

  • 改名字(「保濕精華」變成「保濕精華 2.0」)
  • 漲價
  • 下架
  • 關閉訂閱功能
  • 被刪掉

如果你的續期流程是「讀 product_id → 撈商品 → 建立訂單」,上面每一件事都是一顆地雷。商品漲價,所有訂閱戶下個月自動被多扣錢,而他們從來沒同意過。商品被刪掉,排程直接噴錯。

我的做法:訂閱自己帶著全部資料

subscriptions 表上存的是快照:

product_sku            商品 SKU
product_name           商品名稱
image_path             商品圖片
unit_price             一般售價
subscription_unit_price 訂閱售價
quantity               數量
cycle_days             週期天數

收件人、配送方式、運費、付款方式、發票設定,也全部快照在同一張表上。

然後續期時,createDraftOrder() 只讀這張表:

$order->items()->create([
    'sku'        => $this->product_sku,
    'name'       => $this->product_name,
    'image_path' => $this->image_path,
    'unit_price' => $this->unit_price,
    'quantity'   => $this->quantity,
    // ...
]);

沒有 Product::find()。一行都沒有。

商品後續怎麼改,都不影響已經成立的訂閱。 這不只是技術上的穩定,更是商業上的正確——客戶同意的是他當初看到的那個價格。


⭐️ Shopify 網站開發服務(給品牌)
https://job.turn.tw/shopify-services

⭐️ 川川電商事務所(全客製電商開發服務)
https://chuanchuan.tw

⭐️ 台灣 Shopify 商家交流 LINE 群(非官方)
https://line.me/ti/g2/PZ_1LILWVWWuzZQ50HNpYA-A3k6QXWF6znqoBQ

⭐️ 台灣 Shopify 開發者 LINE 群(非官方)
https://line.me/ti/g2/YUasX5K3CJ4QdIx76zppjHlh3-q8w-xkSyK1LA

共有 0 則留言


⭐️ Shopify 網站開發服務(給品牌)
https://job.turn.tw/shopify-services

⭐️ 川川電商事務所(全客製電商開發服務)
https://chuanchuan.tw

⭐️ 台灣 Shopify 商家交流 LINE 群(非官方)
https://line.me/ti/g2/PZ_1LILWVWWuzZQ50HNpYA-A3k6QXWF6znqoBQ

⭐️ 台灣 Shopify 開發者 LINE 群(非官方)
https://line.me/ti/g2/YUasX5K3CJ4QdIx76zppjHlh3-q8w-xkSyK1LA
🏆 本月排行榜
🥇
站長阿川
📝45   💬1  
643
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次