DB
主要業務資料庫的全部資料表和欄位。
DB 是預設範本的業務資料庫,初始資料表結構由 schema/db-init.sql 定義。這裡依資料表介紹帳號、驗證、OAuth 2.0、權限、付款、客服案件、通知、聯盟行銷和 Reaction 資料,包含欄位型別、是否允許空值、預設值和資料庫約束。
時間與布林值
時間欄位使用 Unix 毫秒。布林狀態使用 SQLite INTEGER 儲存,通常以 1 表示是、0 表示否。
ticket
儲存客服案件的檢索欄位和狀態。案件內文儲存在 MAIN_KV,透過 kv_id 關聯。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
requester_id | INTEGER | 否 | — | — | 提交客服案件的使用者 ID,小於或等於 0 時表示匿名提交人。 |
assignee_id | INTEGER | 是 | — | — | 負責處理客服案件的後台使用者 ID。 |
kv_id | TEXT | 否 | — | — | 案件內文在 MAIN_KV 中使用的唯一 Key。 |
status | TEXT | 否 | 'open' | — | 目前狀態。 |
priority | INTEGER | 否 | 0 | — | 優先順序,數值越大表示優先順序越高。 |
ticket_type | TEXT | 是 | — | — | 客服案件類型。 |
product | TEXT | 是 | — | — | 客服案件關聯的產品。 |
title | TEXT | 是 | — | — | 標題。 |
name | TEXT | 是 | — | — | 名稱。 |
email | TEXT | 是 | — | — | 電子郵件地址。 |
requester_unread | INTEGER | 否 | 0 | — | 請求者是否有未讀回覆,1 表示有,0 表示沒有。 |
closed_at | INTEGER | 是 | — | — | 客服案件關閉時間,Unix 毫秒。 |
resolved_at | INTEGER | 是 | — | — | 客服案件解決時間,Unix 毫秒。 |
deleted_at | INTEGER | 否 | 0 | — | 虛刪除時間,0 表示未刪除。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
newsletter_subscriber
儲存電子郵件訂閱地址、語言和訂閱時間。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
email | TEXT | 否 | — | — | 電子郵件地址。 |
locale | TEXT | 否 | — | — | 語言代碼。 |
subscribed_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 訂閱郵件清單的時間,Unix 毫秒。 |
saas_user
儲存使用者帳號、登入服務供應商、雙重驗證和聯盟行銷相關狀態。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
email | TEXT | 是 | — | — | 電子郵件地址。 |
email_hash | TEXT | 否 | — | — | 正規化電子郵件地址的摘要,用於判斷唯一性和安全查詢。 |
email_verified | INTEGER | 否 | 0 | — | 電子郵件地址是否已驗證,1 表示已驗證。 |
user_name | TEXT | 否 | — | — | 使用者名稱。 |
display_name | TEXT | 是 | — | — | 顯示名稱。 |
password_hash | TEXT | 是 | — | — | 密碼摘要,使用第三方登入且未設定密碼時為空值。 |
account_id | TEXT | 是 | — | — | 登入服務供應商傳回的帳號 ID。 |
image_url | TEXT | 是 | — | — | 個人頭像網址。 |
blog_url | TEXT | 是 | — | — | 使用者首頁或部落格網址。 |
provider | TEXT | 否 | 'email' | — | 帳號登入服務供應商。 |
two_factor_enabled | INTEGER | 否 | 0 | — | 是否啟用雙重驗證,1 表示啟用。 |
totp_key | BLOB | 是 | — | — | 加密儲存的 TOTP 金鑰。 |
recovery_codes | JSON | 否 | '[]' | — | 復原碼摘要陣列。 |
recovery_codes_generated_at | INTEGER | 否 | 0 | — | 最近一次產生復原碼的時間,Unix 毫秒。 |
deleted_at | INTEGER | 否 | 0 | — | 虛刪除時間,0 表示未刪除。 |
deleted_reason | TEXT | 是 | — | — | 虛刪除原因。 |
disabled_at | INTEGER | 否 | 0 | — | 停用時間,0 表示未停用。 |
disabled_reason | TEXT | 是 | — | — | 停用原因。 |
disabled_expires_at | INTEGER | 否 | 0 | — | 暫時停用的結束時間,0 表示未設定結束時間。 |
invited_by_id | INTEGER | 是 | — | — | 邀請這位使用者的推廣者使用者 ID。 |
own_referral_code | TEXT | 否 | — | — | 指派給這位使用者的唯一推廣碼。 |
affiliate_enabled_at | INTEGER | 否 | 0 | — | 啟用聯盟行銷資格的時間,0 表示未啟用。 |
affiliate_disabled_at | INTEGER | 否 | 0 | — | 停用聯盟行銷資格的時間,0 表示未停用。 |
affiliate_disabled_reason | TEXT | 是 | — | — | 停用聯盟行銷資格的原因。 |
affiliate_disabled_by_id | INTEGER | 是 | — | — | 執行停用操作的後台使用者 ID。 |
referral_status | TEXT | 是 | — | — | 推薦關係資格狀態。 |
referral_status_reason | TEXT | 是 | — | — | 推薦關係資格狀態變更的原因。 |
referral_status_changed_at | INTEGER | 否 | 0 | — | 推薦關係資格狀態最近一次變更的時間,0 表示尚未記錄。 |
referral_status_changed_by_id | INTEGER | 是 | — | — | 修改推薦關係資格狀態的後台使用者 ID。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
notification
儲存站內通知內容、對象範圍、發布狀態和統計數量。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
audience_type | TEXT | 否 | — | — | 通知對象類型:全部使用者或指定使用者。 |
recipient_count | INTEGER | 否 | 0 | — | 通知目標使用者人數。 |
read_count | INTEGER | 否 | 0 | — | 已讀使用者人數。 |
title | TEXT | 否 | — | — | 標題。 |
summary | TEXT | 否 | — | — | 摘要。 |
message | JSON | 否 | — | — | 結構化通知內容。 |
status | TEXT | 否 | — | — | 目前狀態。 |
created_by_user_id | INTEGER | 是 | — | — | 建立這筆紀錄的後台使用者 ID。 |
published_at | INTEGER | 是 | — | — | 通知發布時間,Unix 毫秒。 |
expires_at | INTEGER | 是 | — | — | 到期時間,Unix 毫秒。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
user_notification
儲存使用者對通知的已讀和關閉狀態,以及更新已讀人數時使用的並行控制標記。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
user_id | INTEGER | 否 | — | PK(複合) | 使用者 ID。 |
notification_id | TEXT | 否 | — | PK(複合) | 通知 ID。 |
read_at | INTEGER | 是 | — | — | 使用者讀取通知的時間,Unix 毫秒。 |
dismissed_at | INTEGER | 是 | — | — | 使用者關閉通知的時間,Unix 毫秒。 |
read_claim_id | TEXT | 是 | — | — | 並行更新已讀人數時使用的唯一識別碼。 |
affiliate_payout_profiles
加密儲存推廣者的收款資料。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 否 | — | — | 使用者 ID。 |
payment_method | TEXT | 否 | — | — | 收款方式。 |
encrypted_details | BLOB | 否 | — | — | 加密後的收款資料。 |
payment_account_fingerprint | TEXT | 否 | — | — | 收款帳號指紋,用於判斷資料是否重複。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
affiliate_commissions
儲存每筆推廣佣金的來源、計算快照和有效狀態。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
affiliate_user_id | INTEGER | 否 | — | — | 取得佣金或結算款的推廣者使用者 ID。 |
referred_user_id | INTEGER | 否 | — | — | 透過推廣關係註冊或購買的使用者 ID。 |
product_id | TEXT | 否 | — | — | 產品 Key,對應 config/products.ts。 |
plan_id | TEXT | 否 | — | — | 方案 Key,對應 config/products.ts。 |
provider | TEXT | 否 | — | — | 產生佣金的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
transaction_id | TEXT | 否 | — | — | 交易 ID。 |
transaction_item_id | TEXT | 否 | — | — | 交易明細 ID。 |
provider_line_item_id | TEXT | 否 | — | — | 付款服務供應商中的明細 ID。 |
provider_price_id | TEXT | 是 | — | — | 付款服務供應商中的 Price ID。 |
transaction_status | TEXT | 否 | — | — | 產生佣金時記錄的交易狀態。 |
payment_kind | TEXT | 否 | — | — | 付款類型:一次性付款或訂閱付款。 |
subscription_id | TEXT | 是 | — | — | 訂閱 ID。 |
quantity | INTEGER | 是 | — | — | 數量。 |
unit_amount_minor | INTEGER | 是 | — | — | 單價,使用貨幣最小單位。 |
unit_amount_decimal | TEXT | 是 | — | — | 付款服務供應商傳回的高精度單價字串。 |
subtotal_minor | INTEGER | 是 | — | — | 折扣和稅費前的小計,使用貨幣最小單位。 |
discount_minor | INTEGER | 是 | — | — | 折扣金額,使用貨幣最小單位。 |
tax_minor | INTEGER | 是 | — | — | 稅額,使用貨幣最小單位。 |
total_minor | INTEGER | 否 | — | — | 總金額,使用貨幣最小單位。 |
currency | TEXT | 否 | — | — | 幣別代碼。 |
calculation_type | TEXT | 否 | — | — | 佣金計算方式:固定金額或依比例計算。 |
percentage_basis_points | INTEGER | 是 | — | — | 佣金比例,單位為基點,10000 表示 100%。 |
percentage_base | TEXT | 是 | — | — | 依比例計算佣金時採用的金額基準。 |
fixed_amount_minor | INTEGER | 是 | — | — | 固定佣金金額,使用貨幣最小單位。 |
fixed_currency | TEXT | 是 | — | — | 固定佣金使用的幣別。 |
status | TEXT | 否 | 'valid' | — | 目前狀態。 |
status_reason_code | TEXT | 是 | — | — | 佣金失效或退款原因代碼。 |
status_reason | TEXT | 是 | — | — | 使用自訂原因代碼時填寫的原因。 |
status_internal_note | TEXT | 是 | — | — | 僅供後台查看的狀態備註。 |
status_changed_at | INTEGER | 否 | 0 | — | 狀態最近一次變更的時間,0 表示尚未記錄。 |
status_changed_by_id | INTEGER | 是 | — | — | 修改狀態的後台使用者 ID。 |
earned_at | INTEGER | 是 | — | — | 佣金確認時間,Unix 毫秒。 |
available_at | INTEGER | 是 | — | — | 佣金進入可結算狀態的時間,Unix 毫秒。 |
deleted_at | INTEGER | 否 | 0 | — | 虛刪除時間,0 表示未刪除。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
affiliate_monthly_payouts
依推廣者、月份和幣別彙總佣金及付款狀態。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
affiliate_user_id | INTEGER | 否 | — | — | 取得佣金或結算款的推廣者使用者 ID。 |
period_start | INTEGER | 否 | — | — | 結算月份的開始時間,Unix 毫秒。 |
currency | TEXT | 否 | — | — | 幣別代碼。 |
calculated_referred_user_count | INTEGER | 否 | 0 | — | 納入本期結算的受推薦使用者人數。 |
calculated_commission_count | INTEGER | 否 | 0 | — | 本期佣金紀錄總數。 |
calculated_valid_count | INTEGER | 否 | 0 | — | 本期有效佣金紀錄筆數。 |
calculated_refunded_count | INTEGER | 否 | 0 | — | 本期已退款佣金紀錄筆數。 |
calculated_invalid_count | INTEGER | 否 | 0 | — | 本期無效佣金紀錄筆數。 |
calculated_total_payment_amount_minor | INTEGER | 否 | 0 | — | 本期付款總金額,使用貨幣最小單位。 |
calculated_valid_payment_amount_minor | INTEGER | 否 | 0 | — | 產生有效佣金的付款金額,使用貨幣最小單位。 |
calculated_valid_commission_amount_minor | INTEGER | 否 | 0 | — | 本期有效佣金金額,使用貨幣最小單位。 |
calculated_refunded_commission_amount_minor | INTEGER | 否 | 0 | — | 本期已退款佣金金額,使用貨幣最小單位。 |
calculated_invalid_commission_amount_minor | INTEGER | 否 | 0 | — | 本期無效佣金金額,使用貨幣最小單位。 |
calculation_changed_at | INTEGER | 否 | 0 | — | 結算金額最近一次變動的時間。 |
status | TEXT | 否 | 'draft' | — | 目前狀態。 |
requested_at | INTEGER | 否 | 0 | — | 提交結算申請的時間,0 表示尚未申請。 |
actual_paid_amount_minor | INTEGER | 是 | — | — | 實際付款金額,使用貨幣最小單位。 |
paid_at | INTEGER | 否 | 0 | — | 每月結算的實際付款時間,0 表示尚未付款。 |
paid_by_id | INTEGER | 是 | — | — | 登記付款的後台使用者 ID。 |
email_content_json | JSON | 是 | — | — | 結算通知郵件的內容快照。 |
send_email | INTEGER | 否 | 0 | — | 是否寄送結算通知郵件,1 表示寄送。 |
email_sent_at | INTEGER | 否 | 0 | — | 結算通知郵件寄送成功的時間,0 表示尚未寄送。 |
email_failure_reason | TEXT | 是 | — | — | 結算通知郵件寄送失敗的原因。 |
manual_updated_at | INTEGER | 否 | 0 | — | 後台手動修改結算紀錄的時間,0 表示未修改。 |
manual_updated_by_id | INTEGER | 是 | — | — | 執行手動修改的後台使用者 ID。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
affiliate_monthly_payout_records
儲存每月結算的各次實際付款紀錄和收款資料快照。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
monthly_payout_id | INTEGER | 否 | — | — | 每月結算紀錄 ID。 |
revision | INTEGER | 否 | — | — | 同一筆每月結算之下的付款紀錄版本號碼。 |
calculated_amount_minor | INTEGER | 否 | — | — | 記錄付款時算出的應付金額,使用貨幣最小單位。 |
calculation_changed_at | INTEGER | 否 | — | — | 結算金額最近一次變動的時間。 |
actual_paid_amount_minor | INTEGER | 否 | — | — | 實際付款金額,使用貨幣最小單位。 |
difference_reason | TEXT | 否 | '' | — | 實際付款金額與計算金額不一致的原因。 |
internal_note | TEXT | 否 | '' | — | 僅供後台查看的備註。 |
paid_at | INTEGER | 否 | — | — | 本次付款實際發生的時間,Unix 毫秒。 |
encrypted_payout_profile | BLOB | 否 | — | — | 付款時使用的加密收款資料快照。 |
saved_at | INTEGER | 否 | — | — | 付款紀錄儲存時間,Unix 毫秒。 |
saved_by_id | INTEGER | 否 | — | — | 儲存付款紀錄的後台使用者 ID。 |
saas_session
儲存使用者登入工作階段、有效期限和最近活動資訊。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 否 | — | — | 使用者 ID。 |
expires_at | INTEGER | 否 | — | — | 到期時間,Unix 毫秒。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
last_seen_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最近一次活動時間,Unix 毫秒。 |
ip | TEXT | 是 | — | — | IP 位址。 |
user_agent | TEXT | 是 | — | — | User-Agent。 |
country | TEXT | 是 | — | — | 國家或地區代碼。 |
two_factor_verified | INTEGER | 否 | 0 | — | 目前流程是否已通過雙重驗證,1 表示已通過。 |
two_factor_setup_session
儲存雙重驗證設定或更換過程中的暫存金鑰和復原碼。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 否 | — | FK → saas_user.id(串聯刪除) | 使用者 ID。 |
saas_session_id | TEXT | 否 | — | FK → saas_session.id(串聯刪除) | 登入工作階段 ID。 |
purpose | TEXT | 否 | — | — | 這個暫存工作階段的用途。 |
encrypted_totp_key | BLOB | 否 | — | — | 設定期間加密儲存的 TOTP 金鑰。 |
recovery_codes | JSON | 否 | — | — | 復原碼摘要陣列。 |
encrypted_recovery_codes | BLOB | 否 | — | — | 設定期間加密儲存的復原碼。 |
attempt_count | INTEGER | 否 | 0 | — | 已嘗試驗證的次數。 |
claimed_at | INTEGER | 否 | 0 | — | 取得這筆暫存紀錄處理權的時間,0 表示尚未處理。 |
consumed_at | INTEGER | 否 | 0 | — | 這筆暫存紀錄使用完畢的時間,0 表示尚未使用。 |
expires_at | INTEGER | 否 | — | — | 到期時間,Unix 毫秒。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
email_verification_session
儲存電子郵件驗證流程使用的驗證碼和有效期限。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 否 | — | — | 使用者 ID。 |
email | TEXT | 否 | — | — | 電子郵件地址。 |
code | TEXT | 否 | — | — | 驗證碼或授權碼。 |
type | TEXT | 否 | — | — | 紀錄類型。 |
attempt_count | INTEGER | 否 | 0 | — | 已嘗試驗證的次數。 |
expires_at | INTEGER | 否 | — | — | 到期時間,Unix 毫秒。 |
password_reset_session
儲存密碼重設流程的驗證碼、驗證狀態和有效期限。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 否 | — | — | 使用者 ID。 |
email | TEXT | 否 | — | — | 電子郵件地址。 |
code | TEXT | 否 | — | — | 驗證碼或授權碼。 |
type | TEXT | 是 | — | — | 紀錄類型。 |
attempt_count | INTEGER | 否 | 0 | — | 已嘗試驗證的次數。 |
expires_at | INTEGER | 否 | — | — | 到期時間,Unix 毫秒。 |
email_verified | INTEGER | 否 | 0 | — | 電子郵件地址是否已驗證,1 表示已驗證。 |
two_factor_verified | INTEGER | 否 | 0 | — | 目前流程是否已通過雙重驗證,1 表示已通過。 |
oauth_auth_session
儲存 OAuth 2.0 授權請求在使用者確認前的暫存狀態。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 是 | — | — | 使用者 ID。 |
client_id | TEXT | 否 | — | — | OAuth 2.0 用戶端 ID。 |
redirect_uri | TEXT | 否 | — | — | 本次授權請求使用的回呼網址。 |
response_type | TEXT | 否 | — | — | OAuth 2.0 Response Type。 |
scope | TEXT | 是 | — | — | 本次授權請求的 Scope 字串。 |
state | TEXT | 是 | — | — | OAuth 2.0 State,用於關聯授權請求並防止 CSRF。 |
code_challenge | TEXT | 是 | — | — | PKCE Code Challenge。 |
code_challenge_method | TEXT | 是 | — | — | PKCE Code Challenge Method。 |
approved_at | INTEGER | 是 | NULL | — | 使用者確認授權的時間。 |
upgrade_details | JSON | 是 | NULL | — | 授權過程中使用的升級提示資料。 |
expires_at | INTEGER | 否 | — | — | 到期時間,Unix 毫秒。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
oauth_client
儲存 OAuth 2.0 用戶端、回呼網址、授權方式和 Scope。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
name | TEXT | 否 | — | — | 名稱。 |
secret | TEXT | 是 | — | — | OAuth 2.0 用戶端 Secret 的摘要,公開用戶端可為空值。 |
owner_user_id | INTEGER | 是 | NULL | — | OAuth 2.0 用戶端擁有者的使用者 ID。 |
redirect_uris | JSON | 否 | '[]' | — | 用戶端允許使用的回呼網址陣列。 |
allowed_grants | JSON | 否 | '[]' | — | 用戶端允許使用的授權方式陣列。 |
scopes | JSON | 否 | '[]' | — | Scope 陣列。 |
logo_uri | TEXT | 是 | — | — | 用戶端 Logo 網址。 |
homepage_uri | TEXT | 是 | — | — | 用戶端首頁網址。 |
description | TEXT | 是 | — | — | 說明文字。 |
privacy_policy_uri | TEXT | 是 | — | — | 隱私權政策網址。 |
terms_of_service_uri | TEXT | 是 | — | — | 服務條款網址。 |
disabled_at | INTEGER | 否 | 0 | — | 停用時間,0 表示未停用。 |
deleted_at | INTEGER | 否 | 0 | — | 虛刪除時間,0 表示未刪除。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
oauth_auth_code
儲存 OAuth 2.0 授權碼及 PKCE 資訊。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
code | TEXT | 否 | — | PK | 驗證碼或授權碼。 |
redirect_uri | TEXT | 是 | — | — | 本次授權請求使用的回呼網址。 |
code_challenge | TEXT | 是 | — | — | PKCE Code Challenge。 |
code_challenge_method | TEXT | 是 | 'plain' | — | PKCE Code Challenge Method。 |
expires_at | INTEGER | 否 | — | — | 到期時間,Unix 毫秒。 |
user_id | INTEGER | 是 | NULL | — | 使用者 ID。 |
client_id | TEXT | 否 | — | — | OAuth 2.0 用戶端 ID。 |
scopes | JSON | 否 | '[]' | — | Scope 陣列。 |
revoked_at | INTEGER | 否 | 0 | — | 撤銷時間,0 表示未撤銷。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
oauth_token
儲存 OAuth 2.0 Access Token 和 Refresh Token。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
access_token | TEXT | 否 | — | PK | Access Token,也是這張資料表的主索引鍵。 |
access_token_expires_at | INTEGER | 否 | — | — | Access Token 到期時間,Unix 毫秒。 |
refresh_token | TEXT | 是 | — | — | Refresh Token。 |
refresh_token_expires_at | INTEGER | 是 | NULL | — | Refresh Token 到期時間,Unix 毫秒。 |
client_id | TEXT | 否 | — | — | OAuth 2.0 用戶端 ID。 |
user_id | INTEGER | 是 | NULL | — | 使用者 ID。 |
oauth_code | TEXT | 是 | NULL | — | 核發這個 Token 時使用的授權碼。 |
scopes | JSON | 否 | '[]' | — | Scope 陣列。 |
revoked_at | INTEGER | 否 | 0 | — | 撤銷時間,0 表示未撤銷。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
user_role_capability
儲存角色授予後,展開至 Subject 的靜態能力。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
subject_type | TEXT | 否 | — | — | Subject 類型。 |
subject_id | TEXT | 否 | — | — | Subject ID。 |
user_id | INTEGER | 是 | — | — | 使用者 ID。 |
event_id | TEXT | 是 | — | — | 授予這項角色能力的 Reaction Event ID。 |
command_id | TEXT | 是 | — | — | 授予這項角色能力的 Reaction Command ID。 |
source_type | TEXT | 否 | — | — | 角色授予來源的類型。 |
source_key | TEXT | 否 | — | — | 角色或權益的來源 Key。 |
role_key | TEXT | 否 | — | — | 角色 Key,對應 config/roles.ts。 |
capability_key | TEXT | 否 | — | — | 能力 Key,對應 config/capability.ts。 |
starts_at | INTEGER | 是 | NULL | — | 生效時間,Unix 毫秒。 |
ends_at | INTEGER | 是 | NULL | — | 結束時間,Unix 毫秒。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
deleted_at | INTEGER | 否 | 0 | — | 虛刪除時間,0 表示未刪除。 |
disabled_at | INTEGER | 否 | 0 | — | 停用時間,0 表示未停用。 |
disabled_reason | TEXT | 是 | — | — | 停用原因。 |
disabled_expires_at | INTEGER | 否 | 0 | — | 暫時停用的結束時間,0 表示未設定結束時間。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
user_entitlement_capability
儲存權益授予後,展開至 Subject 的布林能力或額度能力。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
subject_type | TEXT | 否 | — | — | Subject 類型。 |
subject_id | TEXT | 否 | — | — | Subject ID。 |
user_id | INTEGER | 是 | — | — | 使用者 ID。 |
event_id | TEXT | 是 | — | — | 授予這項權益能力的 Reaction Event ID。 |
command_id | TEXT | 是 | — | — | 授予這項權益能力的 Reaction Command ID。 |
source_type | TEXT | 否 | — | — | 權益授予來源的類型。 |
source_key | TEXT | 否 | — | — | 角色或權益的來源 Key。 |
source_quantity | INTEGER | 否 | 1 | — | 來源授予的數量。 |
source_unit_limit | INTEGER | 是 | NULL | — | 每個來源單位提供的額度。 |
entitlement_key | TEXT | 否 | — | — | 權益 Key,對應 config/entitlements.ts。 |
capability_key | TEXT | 否 | — | — | 能力 Key,對應 config/capability.ts。 |
capability_type | TEXT | 否 | — | — | 能力類型。 |
priority | INTEGER | 否 | 0 | — | 優先順序,數值越大表示優先順序越高。 |
rollover | INTEGER | 否 | 0 | — | 週期結束時是否將未使用額度累計至下一個週期,1 表示累計。 |
quota_limit | INTEGER | 否 | 0 | — | 額度上限。 |
quota_total | INTEGER | 否 | 0 | — | 目前可用額度總量。 |
quota_used | INTEGER | 否 | 0 | — | 目前已使用額度。 |
quota_used_reset_mode | TEXT | 否 | 'clear' | — | 重設週期到期時,已用額度的處理方式。 |
starts_at | INTEGER | 是 | NULL | — | 生效時間,Unix 毫秒。 |
ends_at | INTEGER | 是 | NULL | — | 結束時間,Unix 毫秒。 |
reset_alignment | TEXT | 是 | NULL | — | 額度週期的對齊方式。 |
reset_interval | TEXT | 是 | NULL | — | 額度重設週期單位。 |
reset_interval_count | INTEGER | 否 | 0 | — | 每個額度週期包含的單位數量。 |
anchor_at | INTEGER | 否 | — | — | 額度週期的錨點時間,Unix 毫秒。 |
reset_period_count | INTEGER | 是 | 0 | — | 已完成的額度週期數量。 |
anchor_reset_at | INTEGER | 是 | — | — | 根據錨點算出的本週期重設時間。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
deleted_at | INTEGER | 否 | 0 | — | 虛刪除時間,0 表示未刪除。 |
disabled_at | INTEGER | 否 | 0 | — | 停用時間,0 表示未停用。 |
disabled_reason | TEXT | 是 | — | — | 停用原因。 |
disabled_expires_at | INTEGER | 否 | 0 | — | 暫時停用的結束時間,0 表示未設定結束時間。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 最後更新時間,Unix 毫秒。 |
capability_quota_event
儲存額度能力的增加、扣減、重設,以及將額度累計至下一個週期的紀錄。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
subject_type | TEXT | 否 | — | — | Subject 類型。 |
subject_id | TEXT | 否 | — | — | Subject ID。 |
user_id | INTEGER | 是 | — | — | 使用者 ID。 |
source_type | TEXT | 否 | — | — | 產生額度紀錄的來源類型。 |
source_key | TEXT | 否 | — | — | 角色或權益的來源 Key。 |
entitlement_key | TEXT | 否 | — | — | 權益 Key,對應 config/entitlements.ts。 |
capability_key | TEXT | 否 | — | — | 能力 Key,對應 config/capability.ts。 |
event_type | TEXT | 否 | — | — | 額度變動類型,例如授予、使用或重設。 |
delta | INTEGER | 否 | — | — | 本次額度變動量,正數表示增加,負數表示扣減。 |
reason | TEXT | 是 | — | — | 本次額度變動的原因。 |
metadata | TEXT | 是 | — | — | 業務中繼資料。 |
created_at | INTEGER | 否 | 目前的 Unix 毫秒時間 | — | 建立時間,Unix 毫秒。 |
event_execution
儲存 Reaction Event 的輸入快照、等冪鍵和執行租用資訊。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | INTEGER | 是 | — | — | 使用者 ID。 |
event_type | TEXT | 否 | — | — | Reaction Event 類型。 |
event_version | INTEGER | 否 | — | — | Event 定義版本。 |
idempotency_key | TEXT | 否 | — | — | Event 等冪鍵。 |
continue_on_failure | INTEGER | 否 | — | — | Command 業務執行失敗後,是否繼續執行後續 Command。 |
payload | TEXT | 否 | — | — | 序列化後的輸入資料。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
lease_token | TEXT | 是 | — | — | 目前執行租用的 Token。 |
lease_expires_at | INTEGER | 是 | — | — | 目前執行租用的到期時間。 |
command_execution
儲存 Event 產生的 Command、執行順序、重試次數和結果。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
event_execution_id | TEXT | 否 | — | FK → event_execution.id(刪除 Event 時串聯刪除) | 所屬 Event 執行紀錄 ID。 |
user_id | INTEGER | 是 | — | — | 使用者 ID。 |
command_key | TEXT | 否 | — | — | 同一次 Event 中唯一的 Command 步驟名稱。 |
command_type | TEXT | 否 | — | — | Command 類型。 |
command_version | INTEGER | 否 | — | — | Command 定義版本。 |
mode | TEXT | 否 | — | — | Command 執行模式:sync 或 async。 |
max_attempts | INTEGER | 否 | — | — | 允許自動執行的最大次數。 |
sequence | INTEGER | 否 | — | — | Command 在 Event 中的執行順序。 |
payload | TEXT | 否 | — | — | 序列化後的輸入資料。 |
status | TEXT | 否 | — | — | 目前狀態。 |
attempt_count | INTEGER | 否 | 0 | — | 已執行的次數。 |
result | TEXT | 是 | — | — | 序列化後的 Command 回傳結果。 |
last_error | TEXT | 是 | — | — | 最近一次處理失敗的錯誤訊息。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
completed_at | INTEGER | 是 | — | — | 完成時間,Unix 毫秒。 |
webhook_events
儲存付款服務供應商 Webhook 的原始請求、處理狀態和失敗資訊。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | INTEGER | 否 | — | PK | 紀錄主索引鍵。 |
provider | TEXT | 否 | — | — | 傳送 Webhook 的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
event_id | TEXT | 否 | — | — | 付款服務供應商提供的 Webhook Event ID。 |
event_type | TEXT | 否 | — | — | 付款服務供應商提供的 Webhook Event 類型。 |
user_id | TEXT | 是 | — | — | 使用者 ID。 |
occurred_at | INTEGER | 是 | — | — | 付款服務供應商記錄的 Event 發生時間,Unix 毫秒。 |
raw_body | TEXT | 否 | — | — | Webhook 原始請求本文,用於驗證簽章和重播。 |
status | TEXT | 否 | 'processing' | — | 目前狀態。 |
claim_token | TEXT | 是 | — | — | Webhook 處理租用機制使用的 Token。 |
last_error | TEXT | 是 | — | — | 最近一次處理失敗的錯誤訊息。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
payment_customers
儲存站內使用者與付款服務供應商 Customer 的對應關係。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
user_id | TEXT | 否 | — | — | 使用者 ID。 |
provider | TEXT | 否 | — | — | Customer 所屬的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
provider_customer_id | TEXT | 否 | — | — | 付款服務供應商中的 Customer ID。 |
is_primary | INTEGER | 否 | 0 | — | 是否為這位使用者在此付款連線下的主要 Customer,1 表示是。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
checkout_sessions
儲存站內 Checkout Session 及付款服務供應商傳回的狀態。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
provider | TEXT | 否 | — | — | Checkout 所屬的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
provider_checkout_type | TEXT | 否 | — | — | 付款服務供應商中的 Checkout 類型。 |
provider_checkout_id | TEXT | 是 | — | — | 付款服務供應商中的 Checkout ID。 |
customer_id | TEXT | 否 | — | FK → payment_customers.id | payment_customers 紀錄 ID。 |
mode | TEXT | 否 | — | — | Checkout 模式:一次性付款或訂閱。 |
status | TEXT | 否 | — | — | 目前狀態。 |
provider_status | TEXT | 是 | — | — | 付款服務供應商傳回的原始狀態。 |
payment_status | TEXT | 否 | 'pending' | — | 付款狀態。 |
provider_payment_status | TEXT | 是 | — | — | 付款服務供應商傳回的原始付款狀態。 |
has_invoice_creation | INTEGER | 否 | 0 | — | 是否要求付款服務供應商建立發票,1 表示是。 |
checkout_request | JSON | 是 | — | — | 建立 Checkout 時使用的請求快照。 |
context | JSON | 是 | — | — | 建立 Checkout 時儲存的業務執行脈絡。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
currency | TEXT | 是 | — | — | 幣別代碼。 |
amount_total_minor | INTEGER | 是 | — | — | Checkout 總金額,使用貨幣最小單位。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
last_error | TEXT | 是 | — | — | 最近一次處理失敗的錯誤訊息。 |
provider_updated_at | INTEGER | 是 | — | — | 付款服務供應商中的最後更新時間,Unix 毫秒。 |
expires_at | INTEGER | 是 | — | — | 到期時間,Unix 毫秒。 |
completed_at | INTEGER | 是 | — | — | 完成時間,Unix 毫秒。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
purchase_items
儲存 Checkout Session 中的一次性購買項目。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
checkout_session_id | TEXT | 否 | — | FK → checkout_sessions.id(串聯刪除) | checkout_sessions 紀錄 ID。 |
provider_line_item_id | TEXT | 是 | — | — | 付款服務供應商中的明細 ID。 |
provider_product_id | TEXT | 是 | — | — | 付款服務供應商中的 Product ID。 |
provider_price_id | TEXT | 是 | — | — | 付款服務供應商中的 Price ID。 |
provider_variant_id | TEXT | 是 | — | — | 付款服務供應商中的 Variant ID。 |
description | TEXT | 是 | — | — | 說明文字。 |
quantity | INTEGER | 是 | — | — | 數量。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
subscriptions
儲存付款服務供應商的訂閱,以及計費週期、暫停、取消和金額資訊。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
customer_id | TEXT | 否 | — | — | payment_customers 紀錄 ID。 |
checkout_session_id | TEXT | 是 | — | — | checkout_sessions 紀錄 ID。 |
provider | TEXT | 否 | — | — | 訂閱所屬的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
provider_subscription_id | TEXT | 否 | — | — | 付款服務供應商中的 Subscription ID。 |
status | TEXT | 否 | — | — | 目前狀態。 |
provider_status | TEXT | 是 | — | — | 付款服務供應商傳回的原始狀態。 |
collection_mode | TEXT | 否 | 'unknown' | — | 訂閱收款方式。 |
collection_paused | INTEGER | 否 | 0 | — | 訂閱是否暫停收款,1 表示暫停。 |
collection_pause_resumes_at | INTEGER | 是 | — | — | 預定恢復收款的時間。 |
collection_pause_details | JSON | 是 | — | — | 付款服務供應商傳回的暫停收款詳細資訊。 |
started_at | INTEGER | 是 | — | — | 訂閱開始時間,Unix 毫秒。 |
trial_start | INTEGER | 是 | — | — | 試用期開始時間,Unix 毫秒。 |
trial_end | INTEGER | 是 | — | — | 試用期結束時間,Unix 毫秒。 |
current_period_start | INTEGER | 是 | — | — | 目前計費週期的開始時間,Unix 毫秒。 |
current_period_end | INTEGER | 是 | — | — | 目前計費週期的結束時間,Unix 毫秒。 |
cancel_at_period_end | INTEGER | 否 | 0 | — | 是否在目前計費週期結束時取消,1 表示是。 |
cancel_at | INTEGER | 是 | — | — | 預定取消時間,Unix 毫秒。 |
canceled_at | INTEGER | 是 | — | — | 取消時間,Unix 毫秒。 |
paused_at | INTEGER | 是 | — | — | 暫停時間,Unix 毫秒。 |
ends_at | INTEGER | 是 | — | — | 付款服務供應商提供的訂閱預計結束時間,Unix 毫秒。 |
ended_at | INTEGER | 是 | — | — | 訂閱結束時間,Unix 毫秒。 |
scheduled_change | JSON | 是 | — | — | 付款服務供應商傳回的訂閱預定變更。 |
scheduled_change_at | INTEGER | 是 | — | — | 預定變更的生效時間。 |
next_billed_at | INTEGER | 是 | — | — | 下一次扣款時間,Unix 毫秒。 |
next_amount_minor | INTEGER | 是 | — | — | 下一期應付金額,使用貨幣最小單位。 |
next_currency | TEXT | 是 | — | — | 下一期付款幣別。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
provider_updated_at | INTEGER | 是 | — | — | 付款服務供應商中的最後更新時間,Unix 毫秒。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
subscription_items
儲存訂閱中的產品、Price、數量和計費週期。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
subscription_id | TEXT | 否 | — | FK → subscriptions.id(串聯刪除) | 訂閱 ID。 |
provider_subscription_item_id | TEXT | 是 | — | — | 付款服務供應商中的 Subscription Item ID。 |
provider_product_id | TEXT | 是 | — | — | 付款服務供應商中的 Product ID。 |
provider_price_id | TEXT | 是 | — | — | 付款服務供應商中的 Price ID。 |
description | TEXT | 是 | — | — | 說明文字。 |
quantity | INTEGER | 是 | — | — | 數量。 |
unit_amount_minor | INTEGER | 是 | — | — | 單價,使用貨幣最小單位。 |
currency | TEXT | 是 | — | — | 幣別代碼。 |
pricing_model | TEXT | 否 | 'unknown' | — | 計價模式。 |
billing_interval | TEXT | 是 | — | — | 計費週期單位。 |
billing_interval_count | INTEGER | 是 | — | — | 一個計費週期包含的單位數量。 |
current_period_start | INTEGER | 是 | — | — | 目前計費週期的開始時間,Unix 毫秒。 |
current_period_end | INTEGER | 是 | — | — | 目前計費週期的結束時間,Unix 毫秒。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
transactions
儲存付款交易、帳單金額、付款人和發票資訊。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
public_reference_id | TEXT | 否 | — | — | 可顯示給使用者的交易參考編號。 |
provider | TEXT | 否 | — | — | 交易所屬的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
source_type | TEXT | 否 | — | — | 付款服務供應商中的原始交易物件類型。 |
provider_source_id | TEXT | 否 | — | — | 付款服務供應商中的原始交易物件 ID。 |
customer_id | TEXT | 是 | — | — | payment_customers 紀錄 ID。 |
checkout_session_id | TEXT | 是 | — | — | checkout_sessions 紀錄 ID。 |
provider_customer_id | TEXT | 是 | — | — | 付款服務供應商中的 Customer ID。 |
provider_subscription_id | TEXT | 是 | — | — | 付款服務供應商中的 Subscription ID。 |
kind | TEXT | 否 | — | — | 交易類型,例如一次性付款、訂閱首次付款或訂閱續費。 |
status | TEXT | 否 | — | — | 目前狀態。 |
provider_status | TEXT | 是 | — | — | 付款服務供應商傳回的原始狀態。 |
collection_mode | TEXT | 否 | 'unknown' | — | 訂閱收款方式。 |
subtotal_minor | INTEGER | 是 | — | — | 折扣和稅費前的小計,使用貨幣最小單位。 |
discount_minor | INTEGER | 是 | — | — | 折扣金額,使用貨幣最小單位。 |
tax_minor | INTEGER | 是 | — | — | 稅額,使用貨幣最小單位。 |
total_minor | INTEGER | 否 | — | — | 總金額,使用貨幣最小單位。 |
amount_due_minor | INTEGER | 是 | — | — | 應付金額,使用貨幣最小單位。 |
amount_paid_minor | INTEGER | 是 | — | — | 已付金額,使用貨幣最小單位。 |
amount_remaining_minor | INTEGER | 是 | — | — | 未付金額,使用貨幣最小單位。 |
currency | TEXT | 否 | — | — | 幣別代碼。 |
billing_reason | TEXT | 是 | — | — | 產生本次交易的計費原因。 |
payer_email | TEXT | 是 | — | — | 付款人的電子郵件地址。 |
payer_name | TEXT | 是 | — | — | 付款人姓名。 |
billing_address | JSON | 是 | — | — | 帳單地址。 |
tax_identifiers | JSON | 是 | — | — | 稅務識別碼陣列。 |
invoice_number | TEXT | 是 | — | — | 發票編號。 |
document_url | TEXT | 是 | — | — | 付款服務供應商提供的帳單文件網址。 |
document_pdf_url | TEXT | 是 | — | — | 付款服務供應商提供的 PDF 帳單網址。 |
failure_code | TEXT | 是 | — | — | 付款服務供應商傳回的失敗代碼。 |
failure_reason | TEXT | 是 | — | — | 處理失敗的原因。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
provider_updated_at | INTEGER | 是 | — | — | 付款服務供應商中的最後更新時間,Unix 毫秒。 |
issued_at | INTEGER | 是 | — | — | 帳單或交易的開立時間,Unix 毫秒。 |
due_at | INTEGER | 是 | — | — | 應付款時間,Unix 毫秒。 |
paid_at | INTEGER | 是 | — | — | 交易完成付款的時間,Unix 毫秒。 |
occurred_at | INTEGER | 否 | — | — | 交易實際發生時間,Unix 毫秒。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
transaction_items
儲存交易中的產品、Price、計費週期和金額明細。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
transaction_id | TEXT | 否 | — | FK → transactions.id(串聯刪除) | 交易 ID。 |
provider_line_item_id | TEXT | 是 | — | — | 付款服務供應商中的明細 ID。 |
provider_product_id | TEXT | 是 | — | — | 付款服務供應商中的 Product ID。 |
provider_price_id | TEXT | 是 | — | — | 付款服務供應商中的 Price ID。 |
provider_variant_id | TEXT | 是 | — | — | 付款服務供應商中的 Variant ID。 |
provider_subscription_item_id | TEXT | 是 | — | — | 付款服務供應商中的 Subscription Item ID。 |
description | TEXT | 是 | — | — | 說明文字。 |
billing_type | TEXT | 否 | 'unknown' | — | 交易明細的計費類型。 |
is_proration | INTEGER | 否 | 0 | — | 這筆明細是否為按比例補差額,1 表示是。 |
billing_interval | TEXT | 是 | — | — | 計費週期單位。 |
billing_interval_count | INTEGER | 是 | — | — | 一個計費週期包含的單位數量。 |
period_start | INTEGER | 是 | — | — | 這筆明細對應的計費週期開始時間,Unix 毫秒。 |
period_end | INTEGER | 是 | — | — | 這筆明細對應的計費週期結束時間,Unix 毫秒。 |
quantity | INTEGER | 是 | — | — | 數量。 |
unit_amount_minor | INTEGER | 是 | — | — | 單價,使用貨幣最小單位。 |
unit_amount_decimal | TEXT | 是 | — | — | 付款服務供應商傳回的高精度單價字串。 |
subtotal_minor | INTEGER | 是 | — | — | 折扣和稅費前的小計,使用貨幣最小單位。 |
discount_minor | INTEGER | 是 | — | — | 折扣金額,使用貨幣最小單位。 |
tax_minor | INTEGER | 是 | — | — | 稅額,使用貨幣最小單位。 |
total_minor | INTEGER | 否 | — | — | 總金額,使用貨幣最小單位。 |
currency | TEXT | 否 | — | — | 幣別代碼。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |
refunds
儲存交易退款及付款服務供應商傳回的退款狀態。
| 欄位 | 型別 | 可為空值 | 預設值 | 索引鍵 | 含義 |
|---|---|---|---|---|---|
id | TEXT | 否 | — | PK | 紀錄主索引鍵。 |
transaction_id | TEXT | 否 | — | FK → transactions.id(禁止刪除仍有退款的交易) | 交易 ID。 |
provider | TEXT | 否 | — | — | 退款所屬的付款服務供應商。 |
connection_id | TEXT | 否 | — | — | 付款連線 ID,對應 config/payment.ts。 |
provider_refund_type | TEXT | 否 | — | — | 付款服務供應商中的退款類型。 |
provider_refund_id | TEXT | 否 | — | — | 付款服務供應商中的退款 ID。 |
provider_parent_type | TEXT | 是 | — | — | 付款服務供應商中的退款父物件類型。 |
provider_parent_id | TEXT | 是 | — | — | 付款服務供應商中的退款父物件 ID。 |
status | TEXT | 否 | — | — | 目前狀態。 |
provider_status | TEXT | 是 | — | — | 付款服務供應商傳回的原始狀態。 |
amount_minor | INTEGER | 否 | — | — | 金額,使用貨幣最小單位。 |
tax_amount_minor | INTEGER | 是 | — | — | 退款中的稅額,使用貨幣最小單位。 |
currency | TEXT | 否 | — | — | 幣別代碼。 |
reason | TEXT | 是 | — | — | 付款服務供應商提供的退款原因。 |
failure_reason | TEXT | 是 | — | — | 處理失敗的原因。 |
metadata | JSON | 是 | — | — | 業務中繼資料。 |
provider_data | JSON | 是 | — | — | 付款服務供應商傳回的原始資料。 |
provider_updated_at | INTEGER | 否 | — | — | 付款服務供應商中的最後更新時間,Unix 毫秒。 |
occurred_at | INTEGER | 否 | — | — | 退款實際發生時間,Unix 毫秒。 |
created_at | INTEGER | 否 | — | — | 建立時間,Unix 毫秒。 |
updated_at | INTEGER | 否 | — | — | 最後更新時間,Unix 毫秒。 |