先決條件
- 一個 Fluz 帳戶 — 你將在下方步驟 1–2 建立階段 API 憑證並鑄造存取權杖。
- 請將請求送往 沙盒 GraphQL 端點。此處不會對真實卡片請款 — 參見 Staging vs. Live Environment。
- 每個 mutation 都需要唯一的
idempotencyKey(用戶端產生的 UUID),以確保請求只會被處理一次 — 參見 Idempotency。
開始之前
除了鑄造你的權杖(步驟 2)之外,每個呼叫都是送至單一 GraphQL 端點的POST 請求,並以你的 bearer 權杖進行驗證:
完整流程
註冊並登記應用程式
於 fluz.app 建立 Fluz 帳戶,接著開啟 Developer Console 並建立新的 Staging 應用程式。當憑證顯示時,請複製你的
clientId 與 clientSecret —— secret 只會顯示一次。完整教學: Prepare your accounts。以憑證交換存取權杖
從你的應用程式憑證鑄造短期、具範圍的使用者存取權杖。此呼叫會送至 OAuth 服務;後續所有呼叫都使用回傳的權杖作為 Bearer 憑證。儲存回傳的
accessToken,並在下方每個請求以 Authorization: Bearer <accessToken> 夾帶。權杖為短期有效(expiresIn 以秒為單位)—— 請在伺服器端鑄造並於到期前更新。完整細節: API credentials。為你的 Fluz 餘額加值
當虛擬卡被使用時,會從你的帳戶撥款 — 預設來自你的 Fluz 餘額(
FLUZ_BALANCE)。請確保可用餘額足以涵蓋你計畫設定的消費上限。你可用兩種方式加值:- 手動,透過 sandbox Fluz website。
- 程式化,透過
depositCashBalancemutation。
透過 API 加值(depositCashBalance)
透過 API 加值(depositCashBalance)
想改用已連結的銀行帳戶為卡片撥款嗎?請在發卡(步驟 5)時設定
primaryFundingSource: BANK_ACCOUNT 並傳入 bankAccountId —— 無需預先加值餘額。瀏覽卡片方案並選擇一個 offer
每張虛擬卡都會對應到一個 卡片方案(一個「offer」):方案決定網路、發卡銀行、回饋比例,以及你的卡片必須遵守的消費上限。使用 Offers 會依
getVirtualCardOffers 取得你的帳戶可用的方案。rewardValue 排序,因此最高回饋的方案會先出現。你也可用選擇性的 input 做過濾 — cardType(DEBIT / PREPAID)、cardNetwork(MASTERCARD / VISA)、以及 cardBrandLocked。完整參考: Get Virtual Card Offers。在沙盒中,以下測試方案皆可使用:請保存你選擇的
offerId 並留意其 programLimits —— 你在下一步設定的 spendLimit 必須落在該方案針對你選擇之期間的上限內。依你的使用情境建立並設定卡片
使用 以上三種皆呼叫相同的 mutation:
createVirtualCard 發卡。輸入中的設定會將通用卡片轉為專用卡片 —— 請選擇符合你目標的模式:- 一次性購買
- 具每月上限的訂閱
- 有預算且限期的卡片
僅供一筆交易使用的卡片。將
spendLimit 設為購買金額,並將 lockCardNextUse: true,使卡片在第一次授權後自動鎖定 —— 之後無法再被請款。Variables
設定總覽
卡片可被請款的最高金額 —— 你只會為實際使用的部分付費。必須符合你所選期間的方案上限。
上限如何重設。
LIFETIME 對總消費設上限;DAILY / WEEKLY / MONTHLY 會形成滾動預算 —— 適合訂閱與團隊額度。在首次成功使用後鎖定卡片 —— 針對一次性供應商付款的「虛擬單次使用卡」模式。
卡片凍結的
yyyy-mm-dd 日期。將卡片的可用期限定在某個專案、行程或合約期間。消費的資金來源。
FLUZ_BALANCE 使用你預先加值的餘額;BANK_ACCOUNT 從已連結的銀行帳戶扣款(需要 bankAccountId)。依預設,卡片也可能從預付(禮品卡)與回饋餘額扣款。將兩者都設為
false 可建立僅使用現金、且只從指定 userCashBalanceId 撥款的卡片 —— 對會計最清晰。附加在交易上的可選費用備註與類別 —— 類別會在首次使用時建立。參見 Add Expense Details。
帳單地址: 若你的帳戶尚未留存,請傳入
billingAddress(或已儲存的 userAddressId)。必須是可投遞的真實 美國 地址 —— 不可為郵政信箱(PO Box)—— 否則建立會以 VC-0025 失敗。參見 Address Formatting Requirements。請保留回應中的
virtualCardId —— 下一步你會用它來揭露卡片。若建立失敗,請檢查 Virtual Card Error Codes。揭露卡片詳細資料
建立回應刻意不包含敏感號碼。請使用 需要
revealVirtualCardByVirtualCardId 取得完整的 PAN、CVV 與到期資訊 —— 這些是你(或你的使用者)在結帳時輸入,或新增至行動錢包所需的資料。REVEAL_VIRTUALCARD scope。進行消費,然後觀察活動
在卡片網路可被接受之處,於你設定的限制內使用該卡。接著使用 需要
getVirtualCardTransactions 拉取卡片活動以確認請款 —— 相同查詢也能支援消費儀表板、對帳與拒付監控。PCI_COMPLIANCE 與 REVEAL_VIRTUALCARD scopes。省略 virtualCardIds 可拉取該帳戶下所有卡片的活動,並可用日期範圍過濾以建立對帳單式檢視。完整參考: Get Virtual Card Transactions。用完了嗎?鎖卡吧(lockVirtualCard)
用完了嗎?鎖卡吧(lockVirtualCard)
設有 需要
lockCardNextUse 或 lockDate 的卡片會自動處理。若要隨選鎖定其他卡:EDIT_VIRTUALCARD scope。鎖定是可逆的 —— 參見 Unlock Virtual Card。全部完成 🎉
你已針對特定任務發出一張虛擬卡 —— 選定方案、設定消費控管、揭露卡片並追蹤其活動。接下來可更深入:編輯、鎖定與管理卡片
變更現有卡片的上限、暱稱與鎖定日期。
數位錢包與 PIN
將卡片推送至 Apple Pay / Google Wallet 並設定 PIN。
大量發卡
一次建立最多 10,000 張卡。
將卡片發送給他人
透過連結、電子郵件或簡訊分發卡片給收件者。
想了解更多? 歡迎聯絡我們: support@fluz.app 與專家對談或預約示範。