PolyPay
高階8 分鐘閱讀

Shopify 加密支付橋接

透過 Shopify 自定義手動支付方式連線 PolyPay Hosted Checkout。該方案不是 Shopify 審批的 Payments App。

方案邊界

Shopify 原生 Payments App 需要 Payments Partner 邀請、受限許可權、mTLS 和 Shopify 稽核。本橋接服務適合單個商戶自建 Custom App,並明確啟用手動支付方式的場景。

部署步驟

  1. 部署 PHP 橋接服務,並把 config.example.php 複製為私有 config.php
  2. 建立 Shopify Custom App,授予 read_orders 和 write_orders
  3. 建立名稱完全一致的 PolyPay - Crypto Payment 手動支付方式
  4. 把靜態支付指引設定為 https://你的支付域名/pay
  5. 配置訂單建立和訂單取消兩個 Shopify JSON Webhook
  6. 執行 php bin/activate.php,並先用 PolyPay Sandbox 驗證完整流程

支付與安全規則

  • 客戶必須使用 Shopify 訂單號和下單郵箱驗證訂單
  • 支付方式選擇由 PolyPay Hosted Checkout 負責
  • 瀏覽器成功返回頁不能把 Shopify 訂單標記為已支付
  • PolyPay 回撥必須透過時間戳、nonce 和 Ed25519 v2 簽名驗證
  • 回撥按 environment 和 event_id 去重,重複投遞不會重複入帳
  • Shopify 取消訂單時同步取消仍處於等待狀態的 PolyPay trade_id
  • 當前訂單幣種必須為 USD;退款需要按商戶退款政策人工處理

多例項部署

預設 nonce 和事件去重儲存使用共享檔案系統。橫向擴容前必須替換為 Redis 等共享原子儲存,否則不同例項無法可靠防重放和去重。

檢視 Shopify 橋接外掛原始碼與安裝說明