跳至內容
結帳整合API 金鑰

API 金鑰

驗證您的 API 請求,並妥善保管您的金鑰。

簡介

對 Tokenz API 的每個請求,都會透過以 Bearer 權杖形式傳送的私密 API 金鑰進行驗證:

bash
curl https://api.tokenz.one/v2/checkoutsession \
  --header 'Authorization: Bearer secret_test_YOUR_KEY_HERE'

Tokenz 僅使用私密金鑰,並沒有可公開的(publishable)用戶端金鑰。私密金鑰可以在您的帳戶上建立付款並讀取訂單資料,因此絕不能離開您的伺服器。

您可以在後台的 Developers → API keys 中建立與管理金鑰。

測試金鑰與正式金鑰

每個金鑰都屬於其中一種模式:

可視需要左右捲動
前綴模式是否涉及資金
secret_test_…測試否 —— 僅為模擬付款
secret_live_…正式是 —— 真實付款

請使用測試金鑰建構與測試您的整合,然後在正式環境中切換為正式金鑰。測試金鑰無法處理真實付款,正式金鑰也無法在測試模式下使用,因此請將兩者放在不同的環境設定中(例如,每個環境取值不同的 TOKENZ_SECRET_KEY 變數)。

妥善保管您的私密金鑰

由於不存在可在用戶端安全使用的金鑰,請像對待密碼一樣對待私密金鑰:

  • 僅在伺服器端使用。 絕不要將其放入瀏覽器程式碼、行動應用程式、單頁應用程式的打包檔,或任何會傳送到使用者裝置的內容中。
  • 絕不要將其提交到原始碼管理,也不要出現在記錄檔、錯誤訊息與 URL 中。
  • 將其儲存在環境變數或機密管理工具(secrets manager)中,而不要放在程式碼庫裡。

金鑰僅在建立時顯示一次。請當場複製並妥善保管。若遺失,請建立新的金鑰,而不要嘗試找回舊金鑰。

只授予金鑰所需的範圍

建立金鑰時,您可以選擇其權限(scope)——例如結帳工作階段的建立/讀取、訂單的讀取/取消、配送記錄、商品讀取、退款的建立/讀取、兌換碼的驗證/兌換,或訂閱方案變更。

請為每個金鑰授予其所需的最小權限:

  • 每個整合或服務使用各自的金鑰,只授予該整合用到的範圍。僅讀取訂單的報表工作不需要退款或結帳權限。
  • 若一個範圍受限的金鑰外洩,影響範圍很小,您可以只撤銷該金鑰,而不影響其他部分。

金鑰的輪替與撤銷

  • 輪替方式為:建立一個新金鑰並部署,然後在 Developers → API keys 中刪除舊金鑰。由於可以同時持有多個金鑰,您可以在不停機的情況下完成輪替。
  • 一旦金鑰外洩(提交到儲存庫、貼到工單、寫入記錄檔),請立即刪除。刪除金鑰即會撤銷它,使用該金鑰的任何請求都將失效。接著再簽發一個新金鑰。

Webhook 簽章金鑰

Webhook 端點的簽章金鑰與您的 API 金鑰是分開的。Tokenz 會用它為每個 Webhook 簽章,您則針對**原始請求內容(raw body)**驗證 Tokenz-Signature 標頭,以確認事件的真實性。簽章金鑰也應像 API 金鑰一樣保存在伺服器端。

有關如何驗證簽章,請參閱 Webhook。