--- title: DB Schema (Payment Relate) tags: v1 --- [ToC] ## Requirement * 帳戶可折抵額度 * 設計 DB Schema * 每一張 Promotion code * 會有輸入到系統的期限 * 或永久可用 * > Ivan 要去問 MKT 玩法 [name=Joe] * 會走到付款的流程有哪些 * 第一次綁定信用卡 * 一元驗證:先扣 0.1 美元,再立即刷退 * 每月一號自動扣款 * 「每月一號」是指哪個時區的時間? * > 提議使用 UTC +0 [name=Ivan], 需研究 survey 其他家一般怎麼做的 * 扣掉前一個月的使用費 * 計算並推薦哪一個 plan 對消費者最划算 * 計算使用費的加總,要有各項費用指標,例如:上鏈次數、App 數量 * 固定日期月結,公司處理這件事情的成本也會相對低 * 行銷預算也比較好預估 * LTV, lifetime value, 顧客終身價值 * 假設在四月的 LTV 是 30萬,行銷預算定 20%,代表我們就有 6 萬可以拿來用 * 每月一號自動扣款失敗後,使用者要有地方能夠補付款 * > Question: 要在哪裡付款?動線設計?[name=Joe] * Promotion Code 在哪裡使用? * 「方案」要在哪一個步驟選擇? * 「方案」可以隨時改變嗎? * 可以在下個月改變,不能在一個月(計價區間中)隨時改變 * 費用如何計算?精確到秒 * 如何確保秒級的計算是正確無誤的? * App 的留存、Enable/Disable,與收費的關係為何?User 使用 FiO 現有計價方式的服務時可能會遇到的問題 * 訂閱了 App、也 Enable,消費者表示:被收費是合理的 * 訂閱了 App、但 Disable,消費者表示:被收很小的費是合理的,但不應該收很多錢 * 訂閱了 App、但消費者要把該 App 刪除,消費者表示:區塊鏈上的資料可以刪除?既然要在 FiO 看不到這個 App 也看不到資料,FiO 不應該跟我收很多錢 * User 如何自己去鏈上查資料? * Step-by-Step 包含解密,教 User 使用 * 使用者可以封存 FiO App / User can archive FiO App * 刪除需要手續費用 * 因為要把加密資料的 key 刪除,我們為了要讓大家不能存取資料,所以在上鏈之前會加密,以提供刪除資料時可以讓大家都無法存取的服務 * 在使用條款要說明 * 使用者需求 * App 被建立後,就會一直是 Enable 的狀態。Archive 之前,要先 Disable App 是合理的! * Disable App 不能夠被收費! * > 被 Disable 的 App,過一段時間要自動被 Archive 嗎? [name=Joe] * Disable App 可以被 Enable * Disable App 不能被收費 * 再次 Enable 的條件及規則 * 要填寫申請單 * 30 天內自動 Archive * 三十天後悔期之中,要提醒 user:你有停用中的 App 即將要被 Archive * Archive 的 App 也能夠匯出資料 * Archive 的 App 才能被 Delete * Archive 的 App 經過 user 同意,可以被轉賣+分潤 * Archive 的 App * 系統有能力可以計算出 App 總花費成本是多少 * > Billing 頁面即可顯示收費明細 [name=Ivan] * Promotion code 對 user 的意義 * 贈送帳戶使用額度 n 美元 * 贈送帳戶使用額度 n 美元 限 m 個月內使用完畢 * 推薦朋友,朋友付款第一次帳單,就會(返利)受贈 n 美元 * 針對 App 的 prmotion code * Promotion code 的限制條件可能為: * 使用人數 * 僅限未欠款的人 * 要限制帳戶的總使用額度上限 * 每個月的付款,只能使用一張 Promotion code * 如該額度沒使用完,下期帳單可繼續使用 * 會員信用卡付款 * 持續檢查信用卡是否能用 * 信用卡快到期,通知會員 * promotion for brand or sub-brand * brand_id * promotion for specific FiO App * fio_id * Promotion bind user email * 通常是線下活動或是線上填表而收集到的 email,要給他們指定的優惠 * fields * email, custom_type, used_datetime, expired_datetime, memo * Referral Code * 每個會員都有自己的推薦代碼,可以邀請別人而獲得優惠 ## Brand * name * created_datetime * updated_datetime ## Pricing Plan 將 FiO 的費用方案放進這張表,不需要儲存多餘的資訊 * name(unique) * months * Data Type: Int * Value of: [1, 3, 6, 12] * price * disabled * created_datetime * updated_datetime * deleted_datetime * hidden_datetime ## Promotion Code 使用的前提:正常繳款且欠款的人 ### Fields * name(unique) * Data Type: String * Descrtipon: Promotion name * code * Data Type: String * Descrtipon: promotion code * discount * Data Type: Float * Descrtipon: discount amount for USD * disabled * Data Type: Int * Value of: [0, 1] * 0: Enable * 1: Disable * limit_usage_count * Data Type: Int * limit_pricing_plan_id * Data Type: Int * Value of: [0, 1] * START UP-I * ADVANCE PLAN * ENTERPRISE PLAN * memo * Data Type: String * created_datetime * Data Type: DateTime(`ISO 8601`) * updated_datetime * deleted_datetime * hidden_datetime ## Referral Code 使用情境:每個會員都有自己的推薦代碼,可以邀請別人而獲得優惠 * code * user_id * updated_datetime * deleted_datetime