ST Pay 商戶 APIST Pay 商戶 API
指南
API
錯誤碼
商戶後台
AI 協助對接
  • 繁體中文
  • 简体中文
  • English
指南
API
錯誤碼
商戶後台
AI 協助對接
  • 繁體中文
  • 简体中文
  • English
  • 開始

    • 概覽
    • 請求與回應格式
    • 身分驗證與 IP 白名單
    • 簽章
    • 商戶後台
    • AI 協助對接
  • API

    • 代收建單
    • 代付建單
    • 查單
    • Callback 通知
  • 參考

    • 訂單狀態與金額
    • 重複請求與結果確認
    • 錯誤碼
    • 銀行代碼
    • 上線前檢查清單

請求與回應格式

請求

  • 一律使用 HTTPS 與 POST,Content-Type: application/json,本文以 UTF-8 編碼。
  • 本文是一個 JSON 物件。所有欄位值都必須是 JSON 字串,金額也一樣,例如 "amount": "1000.00";送數字 1000.00 會失敗(回 invalid_signature 或 invalid_parameter)。
  • 每個請求都必須帶 api_identity、timestamp 與 sign(見簽章)。
  • timestamp 是送出請求當下的時間,格式同下方的時間(UTC+8,yyyy-MM-dd HH:mm:ss)。與 ST Pay 伺服器時間相差超過 5 分鐘(過去或未來都算)的請求會被拒絕,回 timestamp_expired。請讓伺服器開啟 NTP 時間同步。
  • 選填欄位送空字串 "",視同沒送。

回應

所有 API 都回傳相同結構:

欄位說明
code成功為 OK,失敗為英文錯誤碼(見錯誤碼)。程式請以此欄位判斷結果。
message繁體中文說明,給人閱讀用,內容可能調整,請勿用來判斷。
data成功時為回傳資料,失敗時為 null。

HTTP 狀態碼:成功為 200,失敗則依錯誤種類回傳 4xx 或 5xx(見錯誤碼)。

{
  "code": "merchant_order_no_duplicate",
  "message": "商戶單號重複",
  "data": null
}

資料格式

類型格式
金額字串。請求:大於 0、最多 2 位小數(照字面算,"1000.500" 是 3 位)、不超過 9999999999999999.99,只能有數字與小數點,例如 "1000"、"1000.5"、"1000.50"。"1,000.00"、"1000.001"、"-5"、"0" 都不合法。
回應與 Callback 的金額一律是 2 位小數,例如 "1000.50"。不帶幣別欄位。
時間字串,UTC+8,格式 yyyy-MM-dd HH:mm:ss,例如 "2026-10-13 10:30:05"。
訂單號 order_noST Pay 產生的字串。請當作不透明字串保存,不要解析內容或依賴格式。
商戶單號 merchant_order_no由您產生,1 至 200 字元,只能包含英數字、底線 _、連字號 -。

資料保存期限

訂單自建立起保存 6 個月,之後會被刪除。刪除後查單會回 order_not_found,該商戶單號也可以再次使用。

Prev
概覽
Next
身分驗證與 IP 白名單