如何將 Lemon Squeezy 連接到 Shopify Flow
Lemon Squeezy 販售數位產品與訂閱服務,並會針對每筆訂單、訂閱及授權變更向您發送通知。Workflow Webhooks 將該通知轉化為 Shopify Flow 觸發器,讓您的商店能據此採取行動:為客戶加上標籤、新增訂單備註、發送內部電子郵件、更新元資料欄位 - - 凡是 Shopify Flow 能做的事,皆可實現。
本指南闡述了整個流程 - - 由 Lemon Squeezy 發送,Workflow Webhooks 接收並驗證,Shopify Flow 執行 - - 且每項請求都會檢查 Lemon Squeezy 的 HMAC 簽名,因此唯有 Lemon Squeezy 才能啟動您的工作流程。
您可以打造什麼
- 請標記同時購買了數位產品的「Shopify」客戶,以便套裝方案和客群區隔能相互對應。
- 將有效的授權層級作為元資料欄位記錄至客戶記錄中。
- 當有近期曾下單購買Shopify的客戶取消訂閱時,請透過電子郵件通知您的團隊。
常見的傳送事件包括:order_created、subscription_created、subscription_cancelled、license_key_created。
開始之前
- Workflow Webhooks 已安裝在您的 Shopify 商店中。
- Shopify Flow 已安裝,此應用程式可從 Shopify App Store 免費下載。
- 一個在 Lemon Squeezy 上的帳戶,且具備建立 Webhook 的權限。
步驟 1 - 在 Workflow Webhooks 建立 Webhook
- 開啟 Workflow Webhooks → Webhooks → 建立 Webhook,並為其命名一個您在 Shopify Flow 中能認出的名稱,例如
Lemon Squeezy events。 - 在「驗證」下,選擇「HMAC」。
- 在「簽名提供者」下,選擇「Lemon Squeezy」。該應用程式會自動為您填入標頭、演算法、已簽名有效載荷及重播視窗 - - 無需進行其他設定。
- 目前請將「密鑰」欄位留空,然後點擊**「儲存」**。複製頁面上顯示的 webhook URL。
有關其他驗證模式,請參閱 驗證;關於如何選擇哪些欄位會傳送至 Shopify Flow,請參閱 有效載荷映射與 Shopify Flow 變數。
步驟 2 - 在 Lemon Squeezy 中新增端點
在 Lemon Squeezy 中,開啟**「設定」→「Webhooks」**,新增一個 Webhook 並填入您複製的 URL,選擇要觸發的事件,並輸入簽名密鑰。
如何找出你的「Lemon Squeezy」簽名祕訣
您在建立 Webhook 時所輸入的簽名密鑰。
Lemon Squeezy 官方關於 webhook 簽名的文件 中,提供了您帳戶的確切文字說明與螢幕截圖。
請將該密鑰貼入 Workflow Webhooks 中的 webhook**「密鑰」**欄位,並儲存。從此之後,每筆 Lemon Squeezy 的送貨紀錄在傳送至 Shopify Flow 之前,都會經過驗證。
此處檢查的內容
| 什麼 | 價值 |
|---|---|
| 簽名標題 | X-Signature |
| 簽名的位置 | 整個標頭值 |
| 簽署的內容為何 | {body} |
| 簽名 | HMAC-SHA256,十六進位編碼 |
| 時間戳記 | 此寄件者未使用此功能 |
| 重播保護 | 無 - 此寄件者未對時間戳記進行簽名,因此每個有效的簽名仍保持有效 |
| 這個秘密 | 作為純文字使用。請完全按照發送者顯示的內容貼上 |
在已簽署的載荷中,{body} 即是原始請求正文,逐位元組完全一致。
若請求未能通過上述任一項檢查,系統將以「401」為由拒絕該請求,並將其記錄於 歷史與故障排除,且該請求絕不會啟動工作流程。
步驟 3 - 建立「Shopify Flow」工作流程
- 在 Shopify Flow 中,建立一個工作流程,並選擇「Workflow Webhooks」觸發器。
- 按下「記錄事件」,然後從 Lemon Squeezy 發送一個測試事件(或使用 Workflow Webhooks 中的**「發送測試**」功能),讓 Shopify Flow 學習您的資料模式。
- 您擁有的每個 webhook 都會觸發相同的「Shopify Flow」觸發器,因此請針對 webhook ID 新增第一個條件,以確保此工作流程僅限於 Lemon Squeezy。該 ID 會顯示在 webhook 頁面中。
- 新增您的操作 - - 標記客戶、新增備註、發送內部電子郵件、更新元資料欄位。



步驟 4 - 進行端到端測試
在 Lemon Squeezy 中觸發一個真實事件。在**「Workflow Webhooks」→「History」中,您應該會看到狀態為「Success」**的呼叫記錄。如果簽名不正確,您會看到一個顯示失敗原因的記錄;而 驗證已簽名的 Webhook 則說明了簽名測試工具,該工具會精確指出哪個步驟失敗。

簽名不符▾
依此順序:密鑰(最常見的原因 - - 多餘的空格,或來自錯誤環境的密鑰)、發送者是否使用了其他端點的密鑰,以及 Lemon Squeezy 與應用程式之間是否有任何環節重寫了請求內容。 簽名涵蓋原始位元組,因此若代理伺服器重新格式化 JSON,便會破壞簽名。Webhook 頁面上的簽名測試工具會顯示實際經過簽名的精確文字內容。
每次發送請求時都會收到 401 錯誤▾
請確認 webhook 的驗證方式已設定為 HMAC,並已選取 Lemon Squeezy 提供者;同時確認已填入密鑰,且 Lemon Squeezy 傳送至 URL 的內容完全與應用程式顯示的一致,包括末尾的代碼在內。
「歷史」中沒有任何記錄▾
該請求從未送達。請在 Lemon Squeezy 中重新檢查 URL,並查看 Lemon Squeezy 自身的傳送記錄,確認其收到的回應。若出現 404 表示 webhook 錯誤或已被刪除;若出現 429 則表示您已超過方案的呼叫次數限制 - - 請參閱 方案與使用方式。
工作流程針對錯誤的事件執行▾
您商店中的每個 Webhook 都會觸發相同的「Shopify Flow」觸發器。請在工作流程的第一步新增一個以 Webhook ID 為條件的篩選條件,或者縮小您從 Lemon Squeezy 傳送的事件範圍。
相關
- 驗證已簽名的 Webhook - 我們所核實的每家服務供應商,以及如何描述未經核實的服務供應商。
- 有效載荷映射與 Shopify Flow 變數 - 從載荷中擷取正確的欄位,並將其寫入
Shopify Flow。 - 重複送達防護 - 當 Lemon Squeezy 重新嘗試送貨時會發生什麼事。
- 歷史與故障排除 - 每個請求的日誌,並附有重播功能。

