Opay 開發者平台v1.0.0 Beta

供獨立站與 WooCommerce 後端調用的 REST API — 帳本、Connect 與收款連結,全部對接 opay.com.hk 中台。

認證機制

所有伺服器端請求須在 HTTP Header 攜帶商戶插件密鑰。請先在商戶中心註冊並完成 KYC,於「設置」生成 opay_sk_* 密鑰。

切勿在瀏覽器 JavaScript 或 App 中暴露 opay_sk_* 密鑰。
X-Opay-Api-Key: opay_sk_live_…

X-Opay-Portal-Key(同等效力)

商戶隔離(Tenant Isolation)

每把 opay_sk_* 僅授權一個商戶 UUID。若密鑰與 URL 中的 {merchant_id} 不一致,API 返回 403 Forbidden,code 為 TENANT_MISMATCH。

Base URL

https://www.opay.com.hk

路徑格式:/api/merchants/{merchant_id}/…

快速入門(5 分鐘)

  1. 在 /login 註冊並完成合規開戶(KYC)
  2. 商戶中心 → 設置 → 生成 API 密鑰(opay_sk_*)並複製 Merchant ID
  3. 從伺服器以 X-Opay-Api-Key 調用 GET /api/merchants/{id}/overview
  4. 讀取 opay_balance.spendable_balance 判斷可花餘額

核心端點

MethodPathDescription
GET/api/merchants/{merchant_id}/overview帳本桶 + 可花餘額 + Risk Tier
GET/api/merchants/{merchant_id}/balance原始 balances 表行
GET/api/merchants/{merchant_id}/ledger收款 + 退款統一流水
GET/api/merchants/{merchant_id}/connectOpay Connect 帳戶狀態
POST/api/merchants/{merchant_id}/connect發起 Connect 開戶
POST/api/merchants/{merchant_id}/payment-links建立 Payment Link(需 active)

Live / Test 密鑰

  • opay_sk_live_* — 生產環境帳本與清算
  • opay_sk_test_* — 整合測試(僅 GET 唯讀;寫入操作返回 403)

請求簽名(HMAC)

WooCommerce 插件與 SDK 須附帶 X-Opay-Timestamp 與 X-Opay-Signature。超過 5 分鐘的請求會被拒絕。

HMAC-SHA256(secret, timestamp + rawBody) → hex

出站 Webhooks

以商戶中心 Session 註冊 HTTPS 端點,Opay 會 POST 簽名 JSON 事件至您的伺服器。

payment.succeeded · payment.failed · refund.created · payout.paid · payout.failed · connect.updated · balance.updated

Node.js SDK

官方客戶端,自動 HMAC 簽名 — 路徑: packages/opay-node

代碼示例

curl -X GET "https://www.opay.com.hk/api/merchants/YOUR_MERCHANT_UUID/overview" \
  -H "X-Opay-Api-Key: opay_sk_live_YOUR_SECRET_KEY" \
  -H "Content-Type: application/json"

OpenAPI 規格書

OpenAPI 3.0 機器可讀文檔,可導入 Swagger、Redoc 或 Postman。

互動式 API 參考 →下載 openapi.yaml