EasyLink 系統架構藍圖SaaS 支付平台 - 完整架構文檔
版本 3.0 | 最後更新: 2026-03-26EasyLink 是一個三層級 SaaS 支付平台,支持 平台方 (超級管理員) → 代理商 → 商戶 的業務模式。
超級管理員
平台管理代理商門戶
商戶管理商戶客戶端
支付處理EasyLink API
支付網關| 域名 | 用途 | Pages 項目 | 狀態 |
|---|---|---|---|
| upay-saas.jkdcoding.com | 超級管理員控制台 | easylink-saas | ✅ 運行中 |
| upay-agent.jkdcoding.com | 代理商登入門戶 | easylink-agent-portal | ✅ 運行中 |
| upay-newapp.jkdcoding.com | 商戶入網表單 | easylink-agent-portal | ✅ 運行中 |
| king-chicken.jkdcoding.com | KC 商戶客戶端 | easylink-client-kingchicken | ✅ 運行中 |
| easylink-api-v2.jimsbond007.workers.dev | API Worker | N/A (Worker) | ✅ 運行中 |
easylink/ │ ├── 📁 agent-portal/ # 主平台文件 │ ├── index.html # 代理商控制台 │ ├── platform-overview.html # 平台說明文件 │ ├── login.html # 代理商登入 │ ├── new-application.html # 商戶申請表單 │ ├── api-client.js # API 客戶端庫 │ └── _redirects # 域名路由規則 │ ├── 📁 deploy-login/ # 獨立項目: 代理商登入 │ ├── index.html # 生產登入頁面 │ └── api-client.js # API 客戶端 │ ├── 📁 deploy-newapp/ # 獨立項目: 商戶申請 │ ├── index.html # 申請表單 │ └── api-client.js # API 客戶端 │ ├── 📁 clients/kingchicken/ # KC 商戶客戶端 │ ├── index.html # 支付頁面 │ ├── login.html # 商戶登入 │ ├── admin.html # 交易記錄 │ ├── boss-report.html # 管理員 WhatsApp 報告 │ ├── drivers.html # 渠道管理 │ └── ... │ ├── 📁 easylink-infra/worker/ # 後端 API │ ├── src/ │ │ └── index.js # Worker 主代碼 │ ├── wrangler.toml # Worker 配置 │ └── schema-v3.0.sql # 數據庫結構 │ ├── 📁 docs/ # 文檔 │ ├── SYSTEM_ARCHITECTURE_DESIGN.md # 詳細架構設計 │ ├── CHANGE_LOG_v3.0.md # 變更日誌 │ └── ... │ ├── 📁 .github/workflows/ # CI/CD │ └── deploy-all.yml # 自動部署 │ ├── 📁 super-admin/ # 超級管理控制台 │ ├── index.html # 管理主頁 │ ├── admin-dashboard.html # 系統儀表板 │ ├── system-blueprint.html # 本文件 │ └── platform-overview.html # 平台說明 │ └── system-blueprint.html # 📍 本文件
deploy-login/ 和 deploy-newapp/ 是
獨立的單獨項目,部署到不同的 Pages 項目。
它們不屬於主 agent-portal/ 文件夾。
| 端點 | 方法 | 描述 | 權限 |
|---|---|---|---|
/api/v1/auth/agent/login |
POST | 代理商登入 (名稱 + 密碼) | 公開 |
/api/v1/auth/agent/register |
POST | 創建新代理商 (僅超級管理員) | 管理員 |
/api/v1/admin/agents |
GET | 列出所有代理商 | 管理員 |
| 端點 | 方法 | 描述 | 權限 |
|---|---|---|---|
/api/v1/agent/applications |
POST | 提交新申請 | 代理商 |
/api/v1/agent/applications |
GET | 列出申請 (自己的/全部) | 代理商/管理員 |
/api/v1/admin/applications/review |
POST | 審核申請 | 管理員 |
| 端點 | 方法 | 描述 |
|---|---|---|
/webhooks/easylink/merchant-approved |
POST | EasyLink 審核回調 |
代理商賬戶和憑證
商戶入網申請
WhatsApp 通知日誌
easylink-infra/worker/schema-v3.0.sql
代理商
提交申請
WhatsApp
通知
超級管理員
審核
發送至
EasyLink
自動創建
賬戶
pending_review (待審核) → approved (已批准) → sent_to_easylink (已發送) → completed (已完成)
↘ rejected (已拒絕)
↘ need_info (需補充資料) → pending_review (待審核)
852XXXXXXXX 格式 (不加 "+" 前綴)jkdcoding / brucelee| 角色 | 創建代理商 | 提交申請 | 審核 | 查看數據 |
|---|---|---|---|---|
| 超級管理員 | ✅ 全部 | ❌ 否 | ✅ 全部 | ✅ 全部 |
| 代理商管理員 | ❌ 否 | ✅ 自己的 | ❌ 否 | ✅ 自己的商戶 |
| 代理商檢視員 | ❌ 否 | ❌ 否 | ❌ 否 | ✅ 自己的商戶 (只讀) |
文件: .github/workflows/deploy-all.yml
main 或 master 分支| 密鑰名稱 | 描述 |
|---|---|
CLOUDFLARE_API_TOKEN |
API 訪問超級令牌 |
CLOUDFLARE_ACCOUNT_ID |
賬戶 ID: dfbee5c2a5706a81bc04675499c933d4 |
# 部署 Worker cd easylink-infra/worker wrangler deploy --env=production # 部署代理門戶 cd agent-portal wrangler pages deploy . --project-name=easylink-agent-portal # 部署代理登入 cd deploy-login wrangler pages deploy . --project-name=easylink-agent-login # 部署商戶申請 cd deploy-newapp wrangler pages deploy . --project-name=easylink-agent-newapp
# 執行結構更新 wrangler d1 execute easylink-db-v2 --file=schema-v3.0.sql --remote
檢查 Cloudflare DNS 中的 CNAME 記錄:
檢查令牌過期:
檢查 CloudWAPI:
| 系統架構師 | 母機團隊 (Mother Machine Team) |
| 代碼倉庫 | github.com/twmeric/easylink-agent-portal |
| 超級管理員 | jkdcoding / brucelee |
| WhatsApp 通知 | 85251164453 |