Skip to main content
本頁假設你已閱讀 Secure Elements 概觀 —— 其中涵蓋了載入 SDK 與共用的 client-token 流程,這兩者在此同樣適用。

實際體驗

此示範會自行產生權杖並自動掛載欄位。輸入任何可通過 Luhn 檢查的卡號、填入持卡人姓名並提交。若表單停止回應,請使用 Remint token & remount在新分頁開啟 →

產生 tokenization 權杖

呼叫 POST /v1/client-token 並傳入 "purpose": "tokenization"
不同於 reveal 權杖,這個不需要 virtualCardId。但你的 access token 需要不同的 scope —— MANAGE_PAYMENT,而不是 CREATE_VIRTUALCARD —— 並且它的有效時間較長(預設 30 分鐘),因為使用者填寫卡片表單通常比點擊 reveal 需要更久的時間。

繪製欄位

renderFieldsForTokenization 沒有 fields 選項 —— PAN、到期日與 CVV 會一同以單一合併的 frame 掛載,因為 CVV 驗證會依品牌而異(Amex 的 CVV 為 4 碼;其他品牌為 3 碼),而這只在該欄位能得知旁邊 frame 輸入的卡號時才可運作。你無法像 createCardViewer 的欄位那樣各自獨立掛載。
透過 style.fontFamily 傳入的 Google Font 會在 Card Reveal 的欄位中顯示,但在此能力中會被靜默略過 —— 這些欄位在供應商託管的 vault iframe 中渲染,無法載入外部 CSS。只有系統字型允許清單(system-uiArialGeorgiamonospace 等)能在此實際套用字型。

掛載

Card Reveal 的行為相同:若為 INVALID_STYLEMOUNT_TIMEOUTMOUNT_FAILED(frame 載入失敗,或此實例已被掛載)則會以 FluzElementsError 拒絕。frameHostOrigin 會在你呼叫 renderFieldsForTokenization 時同步驗證,與 createCardViewer 相同 —— 未被識別的來源會在到達 mount() 前就拋出 INVALID_FRAME_HOST_ORIGIN

追蹤欄位狀態

在 frame 內每次鍵入都會觸發。brand 只會出現在 pan 的狀態中,依目前輸入的數字判斷:amexvisamastercarddiscoverdinersjcb。使用 isValid 來控制你自己的提交按鈕並驅動即時驗證訊息 —— 這些欄位都不會將底層值曝露給你的頁面。 excludedCardBrands(例如 ["amex"])不會阻止輸入 —— 一旦偵測到符合的品牌,會將 panisValid 強制為 false,因此使用者仍可輸入卡號,但在換成其他卡片前 submit() 不會成功。

提交

持卡人姓名與帳單地址請在你的頁面以一般輸入欄位收集 —— SDK 不會將它們渲染在 Fluz 託管的 frame 中,因為它們並非卡片資料。自行處理它們是否影響你的 PCI DSS 範疇,取決於你更廣泛的持卡人資料環境;請與你的 QSA 確認。
cardholderName 只在第一個空白處切分為名字/姓氏 —— "Mary Ann Smith" 會變成名字 "Mary"、姓氏 "Ann Smith";單一字的姓名會同時作為名與姓。若要重用帳戶中既有的地址而非收集新地址,請傳入 billingAddress: { userAddressId: "<uuid>" }
submit() 幾乎不會拒絕,且不會因為拒絕(decline)而丟錯。它只會在同步情況下拋出 MOUNT_FAILED(尚未掛載)或 SUBMIT_FAILED(“a submit() call is already in progress” —— 當前正有請求進行時會忽略第二次呼叫)。其他所有結果 —— 成功、拒絕、驗證失敗、逾時 —— 都會正常 resolve,並透過下方的回呼傳遞。

處理結果

onSuccess 會在卡片成功新增為資金來源後觸發。onDeclined 則在處理方拒絕卡片時觸發 —— 這仍是正常且可預期的結果,不是錯誤: onError 則用於所有非正常拒絕的情況:

清理

移除 frame 並解除所有監聽器。請在卸載時呼叫,或在產生新權杖以重試前呼叫。

完整範例

/mint-tokenization-token 是你自有的後端路由 —— 會以 "purpose": "tokenization" 搭配你的 Fluz OAuth access token 呼叫 POST /v1/client-token

下一步

Secure Elements 概觀

權杖產生、SDK 載入與 CSP。

Card Reveal

另一項 Secure Elements 能力 —— 向使用者顯示其自己的卡片明細。

即時示範

試用連接到 staging 的新增卡片表單。

範例整合

可執行的純 HTML 與 React 安全卡片輸入範例,並附帶產生權杖的伺服器。