HMAC-SHA256 請求簽名
以 LF 串接 v1、key_id、timestamp、nonce、大寫 method、原始 request-target 與原始 body 的 SHA256,末尾不加 LF。secret 按原始 UTF-8 使用,不作 hex 解碼。
先在後端建立付款、取得託管收銀臺連結,再用簽名通知與後端查單確認交易。API 憑證只留在你的伺服器。
註冊商戶、完成郵件驗證與資料提交;人工審核通過後,在商戶中心管理測試憑證和端點。
伺服器簽名呼叫 POST /v1/payments,保存 payment_id,再將顧客導向回傳的 checkout_url。
驗證簽名通知、按 event_id 去重,核對訂單與金額後履約;顧客返回時再由後端查單。
這是協議示意,尖括號內容皆為 Example 佔位,需由你的後端產生有效值。請勿將 secret 或簽名程式放進瀏覽器。
API 位址:
https://api.sealinepay.comamount_minor 使用字串形式的最小單位整數;此示例 10000 表示 TWD 100.00。可用幣種以商戶開通的付款方式為準。
登入查看商戶接入設定POST /v1/payments HTTP/1.1
Content-Type: application/json
X-Key-Id: <example-key-id>
X-Timestamp: <unix-seconds>
X-Nonce: <random-lowercase-hex>
X-Signature: <hmac-sha256-lowercase-hex>
Idempotency-Key: example-order-1001
{
"merchant_order_id": "example-order-1001",
"amount_minor": "10000",
"currency": "TWD",
"description": "Example order",
"return_endpoint_id": "<example-return-endpoint-id>"
}| 方法與路徑 | 用途 |
|---|---|
POST /v1/payments | 建立付款並取得收銀臺連結;需 Idempotency-Key。 |
GET /v1/payments/{payment_id} | 以平台交易編號查詢自己的付款。 |
GET /v1/payments/by-order/{merchant_order_id} | 以商戶訂單編號查單,適合處理建單回應未取得的情況。 |
GET /v1/payments/{payment_id}/events | 查看付款與已核對退款事件的通知進度、嘗試次數與最近 HTTP 結果。 |
以 LF 串接 v1、key_id、timestamp、nonce、大寫 method、原始 request-target 與原始 body 的 SHA256,末尾不加 LF。secret 按原始 UTF-8 使用,不作 hex 解碼。
timestamp 使用 Unix 秒且容差 300 秒;nonce 為 16–32 隨機位元組的小寫 hex。重試使用新 timestamp/nonce 與原 Idempotency-Key,不另建訂單繞過未決結果。
驗證 X-Webhook-* 簽名與 X-Delivery-Id,按 event_id 原子去重。payment.paid 用於付款確認;payment.refund_confirmed 交付已核對退款事實。通知重試保留事件編號與原始 body。
unpaid 只表示尚未確認。若 attempt_status 為 authorization_unknown、confirmation_unknown 或 needs_review,請先核對渠道結果;不要據此認定未扣款或再發起另一筆收款。checkout_url 含付款存取資訊,不應寫入公開日誌或交給其他顧客。
先完成帳號驗證與資料審核,再依開通範圍接入付款。