遠端客戶
跨國協作
給 Prompt Engineering 課程使用的線上學習平台
與加拿大客戶合作打造線上學習平台,我負責講師收款帳戶設定、學生購買,以及依後端確認的付款結果更新課程權限。
LearnPrompting.ca 是一個與加拿大客戶合作、由團隊從零打造的線上學習平台,支援 Prompt Engineering 教育內容的發布、購買與學習。平台需要處理講師入駐、課程發布、學生購買與付款後課程權限,是一個具 marketplace 邏輯的 LMS。這是與加拿大客戶合作完成的團隊專案。
我在這個專案裡主要承接平台最核心的交易與權限流程:講師完成收款帳戶設定後進入販售流程,學生完成購買,系統再依正式付款結果更新課程權限。我負責交易成立與課程權限同步的完整流程,包含前端互動、後端付款狀態與權限更新。
這個專案要處理的,是從零打造具 marketplace 邏輯的教育平台。平台同時有學生、講師與管理者三種角色,因此需要讓角色、交易流程與權限控制能彼此對應。
講師如果還沒完成收款帳戶設定,平台就還不能進入完整的販售流程;學生即使在前端完成購買操作,課程權限也必須回到後端確認過的付款結果。平台的核心,是讓交易與課程權限都以後端確認的付款狀態為依據。
平台採用 Stripe Connect,因此需要先釐清講師如何收款、平台如何管理交易,以及付款完成後課程權限如何更新。這些規則若沒有先對齊,後面的前端流程、後端狀態與角色邏輯就很容易彼此脫節。
我主要負責平台的付款與課程權限流程,涵蓋講師 onboarding、收款帳戶設定、學生購買、付款後課程權限控制,以及前端狀態與後端付款結果的同步。這份工作橫跨前端互動、後端付款狀態與角色權限邏輯,重點是避免付款狀態和課程權限不同步。
我把講師 onboarding 與收款帳戶設定放在同一條入口流程。講師完成帳號建立後,還要完成收款帳戶設定,才能進入販售流程。
在學生端,我承接的是購買流程和付款後 course access 的連動。學生完成購買後,系統會依後端確認的付款狀態決定是否開通課程。課程權限以正式交易結果為依據。
我也把前端操作、後端付款狀態與 webhook 事件通知串起來。如果流程沒有接好,前端可能顯示購買成功,但付款尚未完成;也可能付款狀態已更新,但課程權限沒有同步。我處理的是讓狀態更新和權限變化走在同一條流程上。
整體系統以前端 Next.js 14 + React 18 為主,後端建立在 Firebase 生態系上,包含 Firestore、Cloud Functions 與 Next.js API Routes。系統將 marketplace 的交易流程與課程權限放在同一套資料邏輯中。平台使用 Stripe Connect 處理講師收款帳戶與 onboarding,學生購買則透過 Stripe Checkout Sessions 完成,付款時會帶入 platform fee 與資金分流設定。購買成功後,系統再透過具 signature verification 的 webhook 與 Firestore 的 enrolled course 寫入流程,建立學生端的課程 access。部署則以 Firebase Hosting / GCP 為主,讓前端、付款狀態與課程權限更新都維持在同一個可管理的系統邊界內。
完成後,平台已具備最核心的流程:講師完成收款帳戶設定後可進入課程發布與販售;學生可完成購買;系統依後端確認的付款結果開通課程。LearnPrompting.ca 因此具備 marketplace 交易與課程權限控制能力。
我在遠端客戶合作中負責整合講師入駐、收款架構、非同步付款狀態與課程權限控制,讓前端互動、後端狀態與商業流程保持一致。
遠端客戶
跨國協作
3 個月
交付週期
平台型金流
Stripe Connect 流程