高階8 分鐘閱讀
Shopify 加密支付橋接
透過 Shopify 自定義手動支付方式連線 PolyPay Hosted Checkout。該方案不是 Shopify 審批的 Payments App。
方案邊界
Shopify 原生 Payments App 需要 Payments Partner 邀請、受限許可權、mTLS 和 Shopify 稽核。本橋接服務適合單個商戶自建 Custom App,並明確啟用手動支付方式的場景。
部署步驟
- 部署 PHP 橋接服務,並把 config.example.php 複製為私有 config.php
- 建立 Shopify Custom App,授予 read_orders 和 write_orders
- 建立名稱完全一致的 PolyPay - Crypto Payment 手動支付方式
- 把靜態支付指引設定為 https://你的支付域名/pay
- 配置訂單建立和訂單取消兩個 Shopify JSON Webhook
- 執行 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 等共享原子儲存,否則不同例項無法可靠防重放和去重。