Recur
快速開始

API 認證

了解如何使用 API Key 認證 Recur API

API 認證

Recur API 使用 API Key 進行認證。本文件說明不同類型的 API Key 及其使用方式。

API Key 類型

Recur 提供兩種類型的 API Key:

類型前綴用途權限
Secret Keysk_xxx後端使用完整權限
Publishable Keypk_xxx前端使用限制權限

Secret Key

Secret Key 擁有完整的 API 權限,包括:

  • 建立和管理 Checkout Sessions
  • 讀取訂單和訂閱資料
  • 設定 metadata
  • 取消訂閱

安全警告:Secret Key 必須保密,只能在後端伺服器使用。切勿:

  • 在前端代碼中使用
  • 提交到版本控制系統
  • 在公開場合分享

Publishable Key

Publishable Key 用於前端整合,權限受限:

  • 載入結帳表單
  • 取得商品/方案資訊
  • 初始化 SDK

Publishable Key 可以安全地在前端代碼中使用,但仍建議限制使用網域。

環境

Recur 提供兩個環境:

環境Key 前綴用途金流
Sandboxsk_test_ / pk_test_測試環境模擬付款
Productionsk_live_ / pk_live_正式環境真實付款

Sandbox 環境

使用 Sandbox 環境進行開發和測試:

  • 使用測試 API Key(sk_test_xxx
  • 使用 PAYUNi 測試卡號
  • 不會產生真實交易

測試卡號

卡號:4147-6310-0000-0001
有效期:任意未過期日期
CVV:任意 3 位數

Production 環境

上線前,請確保:

  1. 將所有 API Key 替換為正式環境的 Key
  2. 完成 升級正式環境 流程
  3. 設定正確的 Webhook URL

認證方式

Authorization Header(推薦)

curl https://api.recur.tw/v1/checkout/sessions \
  -H "Authorization: Bearer sk_test_xxx"

專用 Header

# Secret Key
curl https://api.recur.tw/v1/checkout/sessions \
  -H "X-Recur-Secret-Key: sk_test_xxx"

# Publishable Key
curl https://api.recur.tw/v1/products \
  -H "X-Recur-Publishable-Key: pk_test_xxx"

在程式碼中使用

Node.js / TypeScript

// 使用環境變數儲存 API Key
const RECUR_SECRET_KEY = process.env.RECUR_SECRET_KEY;

const response = await fetch('https://api.recur.tw/v1/checkout/sessions', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${RECUR_SECRET_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    productId: 'prod_xxx',
    mode: 'SUBSCRIPTION',
    successUrl: 'https://example.com/success',
    cancelUrl: 'https://example.com/cancel',
  }),
});

前端 SDK

import { RecurProvider } from 'recur-tw';

function App() {
  return (
    <RecurProvider publishableKey="pk_test_xxx">
      {/* 您的應用程式 */}
    </RecurProvider>
  );
}

取得 API Key

  1. 登入 Recur 後台
  2. 前往 設定 → 開發者 → API 金鑰
  3. 點擊「顯示」查看完整 Key
  4. 使用「重新產生」來輪換 Key

安全最佳實踐

  1. 使用環境變數 - 不要硬編碼 API Key
  2. 最小權限原則 - 前端只用 Publishable Key
  3. 定期輪換 - 定期重新產生 API Key
  4. 監控使用量 - 在後台查看 API 呼叫記錄
  5. 限制網域 - 設定允許使用 Publishable Key 的網域
# .env.local
RECUR_SECRET_KEY=sk_test_xxx
NEXT_PUBLIC_RECUR_PUBLISHABLE_KEY=pk_test_xxx

錯誤處理

認證相關的常見錯誤:

HTTP 狀態錯誤代碼說明
401unauthorizedAPI Key 無效或缺失
403forbiddenAPI Key 無權限執行此操作
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key provided"
  }
}

下一步

On this page