API 金鑰與安全
測試金鑰與正式金鑰的差別、完整的 scope 清單,以及金鑰的安全處理方式。
測試金鑰 vs. 正式金鑰
金鑰前綴代表它的環境:rbp_test_... 是測試金鑰(目前唯一會發出的類型),rbp_live_... 是正式金鑰(尚未開放發放)。測試金鑰在正式環境會被拒絕,正式金鑰在測試環境也一樣會被拒絕——不會有金鑰跨環境誤用的情況。
一次性顯示、撤銷、輪替
- 完整金鑰內容只在建立當下顯示一次;之後
GET只回傳前綴。 - 可以隨時撤銷——撤銷立即生效,之後用這把金鑰的請求全部被拒絕。
- 可以輪替:建立一把新金鑰、把服務切過去、再撤銷舊的,中間有交接期不中斷。
- 後台會顯示金鑰的建立時間與最後使用時間,方便你發現「建立後從沒用過」的多餘金鑰。
完整 Scope 清單
「寫入」(:write)自動包含「讀取」(:read)的權限。建立金鑰時只勾選你真正需要的 scope;標示「高風險」的 scope 會實際移動款項,請額外謹慎授權。
| Scope | 用途 |
|---|---|
products:read / products:write | 商品目錄 |
prices:read / prices:write | 價格 |
customers:read / customers:write | 顧客資料與付款方式參照 |
subscriptions:read / subscriptions:write | 訂閱建立/讀取/取消 |
billing:read | 帳單紀錄 |
payments:read / payments:write | 付款讀取/高風險:建立或嘗試扣款 |
refunds:read / refunds:write | 高風險:退款 |
payment_links:read / payment_links:write | Payment Link |
webhooks:read / webhooks:write | Webhook endpoint 與事件/投遞紀錄 |
usage:read / usage:write | 用量計量與 Credits(非現金) |
entitlements:read / entitlements:write | 功能授權判斷(entitlement) |
discounts:read / discounts:write | 折扣碼 |
mcp:invoke | 呼叫 MCP 工具,見 MCP / AI 整合 |
ai:invoke | 呼叫 AI 對話端點 |
analytics:read | 工作區分析資料 |
logs:read | 稽核紀錄 |
payouts:* | Planned——目前一律回 403 SCOPE_DISABLED,尚未開放 |
不能做的事
- 金鑰只能放在伺服器端環境變數,不可以出現在前端程式碼或瀏覽器網路請求裡。
- 不可以把完整金鑰、卡號/CVV、Customer Portal token 寫進你自己的 log。
- 缺少對應 scope 的請求會收到
403 SCOPE_DENIED;要求payouts:*這類尚未開放的 scope 會收到403 SCOPE_DISABLED。
ReBate Pay Docs