IOSOR 知識庫

財務匯出的 Verify 會話關聯:兩筆借方,一本帳的故事

Verify 與 SMS 投遞是兩筆獨立 prepaid 借方。財務匯出需要會話關聯 ID,並把 TTL、重發行與投遞列對齊。

使用者要一個碼。產品看見一次 OTP。錢包卻可能落下兩筆:把碼送出去的 SMS 投遞借方,以及建立、等待、校驗的 Verify 會話借方。把它們揉成「一次 OTP 成本」的團隊,要嘛在董事會材料裡雙計,要嘛把第二列藏到月底。兩者都不是控制。兩筆借方需要同一條會話故事,財務才能匯出。

IOSOR 在 一本 white-label prepaid 帳上同時跑 Verify 與 SMS。目錄 live 是真通道;in setup 不是免費會話。月用量接近 USD 1,000+ 時,SMS 列與 Verify 會話列進入更密商務覆盤。兩筆借方的拆解見 OTP送達借記與驗證工作階段兩筆帳。無混亂 OTP 營運見 不失控的 OTP 驗證。支出停止見 預付費支出控制。

投遞借方與 verify 借方

旅程是一次。錢是兩筆。相關,但不是別名。投遞借方覆蓋把碼送到目的地的通道:編碼、段、目的地、終端 DLR。Verify 會話借方覆蓋簽發、TTL 視窗、校驗、過期或重發策略。財務若只看見 SMS,Verify 看起來「免費」。產品若只看見 Verify,SMS 抽水看起來像「更多會話」。兩列都要帶著同一個 correlation id 可見。

事件 錢包應顯示 合併後的典型失敗
碼 SMS 已發 段借方、目的地、編碼 「一次 OTP」藏起 UCS-2 多段
會話已建立 Verify 借方、TTL、通道 會話看起來像另一條 SMS
使用者重發 新 SMS ± 按策略的新會話 冷卻被跳過,雙燒

財務必須匯出的會話 ID 欄位

財務匯出至少要能按會話拼出:verify_session_id、關聯的 message_id 或投遞 id、目的地、通道、TTL、終端原因、每列借方金額與時間戳。缺 correlation id 的週匯出是收據堆,不是帳本。產品儀表板顯示會話成功而 SMS 仍 pending DLR 時,匯出必須讓兩邊對得上,而不是各說各的「完成」。把會話 id 寫進支援工單與對帳表,不要只活在日誌裡。

重發 TTL 與重複列

重發策略決定會不會多出重複列。冷卻擋住會話卻仍打出 SMS(或反過來)會讓兩本帳吵架。TTL 到期應關閉同一條 Verify 列,而不是再開一條「幽靈會話」。使用者點重發與系統重試是不同主人、不同冷卻。匯出應把 resend_reason 與 parent_session_id 標出來,財務才不會把合法重發當成重複計費事故。

規模化前的對帳

規模化前先做一週對帳:建立的會話數對 SMS(或 fallback)嘗試數;終端 DLR 對會話終端(已送達+已校驗、未送達+已過期、已拒絕+從未校驗);使用者重發與系統重試分開。嘗試遠多於會話,說明在群發。會話遠多於嘗試,說明在沒有通道的情況下記 Verify。兩者都過不了商務覆盤。先在一條 live 走廊證明,再談接近 USD 1,000+ 的強度。

危險訊號

  • 沒有 SMS 與會話拆分的混合「OTP 費」
  • Verify 像行銷群發一樣計費
  • 無策略地退 SMS 卻不動會話列(或反過來)
  • 重發按鈕忽略兩條路徑之一的冷卻
  • 對客戶錯誤點出上游品牌名
  • 通道仍 in setup 卻承諾 Verify
  • 週匯出沒有 session correlation id

從 IOSOR 開始

請從驗證控制台匯出每週的範例 CSV 檔案,並確認每個 verify_session_id 皆能直接對應至其相對應的 delivery message_id 紀錄。在推送正式環境更新之前,請設定網頁鉤子記錄功能,以便同時捕捉工作階段終止原因與電信商投遞收據。在財務部門成功完成為期七天的完整對帳,將用戶端觸發的重寄次數與系統重試扣款進行核對之前,請暫緩所有流量擴展。

IOSOR 要點

追蹤驗證成本需要將工作階段生命週期與底層訊息投遞扣款區分開來。當財務部門透過單一混合投遞儲存桶檢視驗證費用而未進行工作階段關聯時,幽靈扣款與未對應的重寄成本將會破壞會計帳目。

請確保您的財務匯出資料隨時包含 verify_session_id、相關的 delivery message_id、存活時間窗口、終止狀態以及每列的精確扣款明細。絕不允许在未更新原始工作階段資料列或記錄明確關聯識別碼的情況下,讓重寄政策觸發投遞嘗試。

這篇指南有幫助嗎?

相關指南