The PaymentKit Node.js SDK 建立在模組化、以資源為導向的架構之上。這種設計確保了與 PaymentKit API 不同部分的互動是一致、可預測且穩健的。其核心是,SDK 使用一個中央實用程式為每個 API 資源(如客戶、產品等)生成方法,該實用程式處理與底層 PaymentKit Blocklet 的所有通訊。
這種架構抽象化了組件間通訊的複雜性,讓您可以專注於應用程式的業務邏輯。

資源工廠
SDK 暴露的每個資源(例如,products、customers、subscriptions)都是由一個中央工廠生成的方法集合。這種工廠模式確保了所有 API 方法共享一致的簽名和行為。負責此功能的主要函式是 createResourceMethod 和 createResourceCreateMethod。
這些工廠接受一個定義 HTTP 方法和 API 路徑的規範,並返回一個處理完整請求生命週期的非同步函式。
以下是 products 資源內部建構方式的概念性展示:
Conceptual Example
import { createResourceMethod, createResourceCreateMethod } from './resource';
// 這是一個簡化的範例,用以說明此模式。
const products = {
// 用於建立新資源的方法
create: createResourceCreateMethod({ method: 'POST', path: '/v1/products' }),
// 用於擷取、更新、列出和刪除的方法
retrieve: createResourceMethod({ method: 'GET', path: '/v1/products/{id}' }),
update: createResourceMethod({ method: 'PUT', path: '/v1/products/{id}' }),
list: createResourceMethod({ method: 'GET', path: '/v1/products' }),
del: createResourceMethod({ method: 'DELETE', path: '/v1/products/{id}' }),
};這種方法使得 SDK 易於維護和擴展,同時在所有 API 端點上提供統一的開發者體驗。
自動化組件處理
在發送任何 API 請求之前,SDK 會自動確保 PaymentKit Blocklet 正在運行且可用。這由 ensureComponentRunning 實用程式管理。
當您呼叫 SDK 方法時:
- SDK 首先檢查 PaymentKit 組件的狀態。
- 如果組件未運行,它將等待其啟動。
- 一旦確認組件正在運行,API 請求就會被分派。
- 如果組件啟動失敗,方法呼叫將拋出錯誤。
這個內建的檢查機制免除了您在應用程式碼中手動管理 PaymentKit 組件生命週期的負擔,從而防止了常見的錯誤和競爭條件。
所有通訊最終都由 @blocklet/sdk 的 component.call 函式處理,該函式提供了安全、跨 blocklet 通訊的底層機制。
無縫的環境管理
資源工廠還會根據 SDK 的目前設定,自動將 livemode 參數注入到每個 API 請求中。無論您是在正式模式還是測試模式下操作,SDK 都會處理向 PaymentKit API 傳遞正確的參數,無需您額外操作。
這意味著您只需更改一次設定即可在不同環境之間切換,所有後續的 API 呼叫都將被正確路由。