affiliate.ts
聯盟行銷、佣金和結算規則。
config/affiliate.ts 設定聯盟行銷開關、結算週期、收款方式和方案佣金。plans 中的產品 ID 和方案 ID 來自 products.ts,並非固定欄位,未列入 plans 的方案不會產生推薦佣金。
enabled
Prop
Type
payoutInterval
Prop
Type
payout
Prop
Type
plans
plans 的型別由 products.ts 中的產品和方案自動決定。第一層 Key 是產品 ID,第二層 Key 是該產品下的方案 ID。兩層 Key 都由專案自行定義,也都可以不設定。
type Plans = {
[ProductId in keyof Products]?: {
[PlanId in keyof Products[ProductId]['plans']]?: AffiliatePlanConfig;
};
};方案佣金規則
每個已設定的方案都要填寫 commission。訂閱方案還必須填寫 subscriptionPaymentLimit,單次購買則不能填寫這個欄位,而且最多只產生一筆佣金。
commission
commission 可以依比例計算,也可以使用固定金額,兩種結構只能擇一。
依比例計算
Prop
Type
固定金額
Prop
Type
subscriptionPaymentLimit
Prop
Type
範本預設設定
saavo_starter 和 license 只是範本預設設定使用的產品 ID 與方案 ID,可以隨 products.ts 一起修改,並不是 affiliate.ts 的固定屬性。
| 產品 ID | 方案 ID | 佣金方式 | 比例 | 計算基礎 | 成功付款次數上限 |
|---|---|---|---|---|---|
saavo_starter | license | percentage | 2000 基點(20%) | net_subtotal | 1 |
原始碼註解還提供兩種寫法:將 license.commission 改成 5.00 美元的固定佣金,或先在 products.ts 中定義 monthly 方案,再為它設定 15% 的佣金比例和 3 次成功付款上限。註解中的設定不會生效。
修改規則不會重新計算歷史佣金
已產生的佣金紀錄會保留原本的計算結果。付款狀態更新後,系統會依修改後的設定和付款順序,重新判斷這筆付款是否超過次數上限。