簡介
一筆付款的樣貌
商家整合 InfraIO Pay 時,會接觸到四個核心環節:
結帳 session
你從伺服器端建立 session,帶上商品項目與總額。回應會帶著
session_key(cst_…)與 checkout_url。Session 有 TTL(預設
30 分鐘)且單次使用。
託管結帳頁
你載入我們的瀏覽器 SDK 並開啟 session — popup、redirect 或內嵌 iframe。買家挑選一個鏈 × 資產組合(例如 Polygon 上的 USDT、Base 上的 ETH……),看到系統產生的存款位址 + QR code,然後從自己的 錢包送出資金。
付款確認
payment-service 會監看對應的鏈,尋找符合該 session 存款位址的
入帳轉帳。一旦達到設定的確認數(例如 Ethereum 主網為 12、Polygon
為 5 — 見支援的鏈與資產),底層的
PaymentIntent 就會轉為 SETTLED,其所屬的 Order 也會轉為
PAID。
Webhook
我們會對你註冊的 webhook URL POST 一個已簽章的 payment.settled
事件。你的伺服器驗證簽章,透過 external_ref 對回你自己的訂單,
然後履約。
一張圖看懂資料模型
CheckoutSession ← 1:1 → Order ← 1:N → PaymentIntent
(有 TTL) (永久) (每次付款嘗試一筆)你會為了履約而思考 Order,為了收款而建立 Session,而系統 會在幕後管理 PaymentIntent,處理重試 / 選鏈等細節。
我們處理什麼,你處理什麼
| InfraIO Pay 處理 | 你處理 |
|---|---|
| 託管結帳 UI(存款位址、QR code、資產選擇器) | 你資料庫中的目錄與訂單建立 |
| 跨 8 條 EVM 鏈的鏈上監看 + 確認邏輯 | Webhook 接收端 + 簽章驗證 |
| 多資產結帳(每條鏈的 USDT、USDC、原生 ETH/BNB/POL/MNT) | 透過 external_ref 對應我們的 order_id ↔ 你的訂單 ID |
| 退款帳務(狀態機、儀表板、API) | 簽署並廣播鏈上退款交易 |
| 測試模式金鑰 + 隔離的測試 webhook | 從 faucet 為測試網錢包注入資金 |
我們不託管商家資金。買家到商家的轉帳直接在鏈上發生;我們 是索引 + 對帳層,負責告訴你轉帳何時完成。
測試模式與正式模式
每個帳號一開始都是測試模式。測試金鑰的前綴是 pk_test_ /
sk_test_。正式金鑰(pk_live_ / sk_live_)的開通條件為:
- 完成 KYB
- 國庫錢包驗證(你需要簽署一則訊息,證明你控制著每條你想接收 資金的鏈上的目的地錢包)
同一個 API base URL 同時服務兩種環境 — 環境是由金鑰前綴決定, 而非 URL。測試模式跑在真實的測試網上(Sepolia、Base Sepolia、BSC Testnet 等)— 沒有模擬鏈。要觸發一筆測試付款,你 需要從 faucet 取得的真實測試網資金。
InfraIO Pay 不是什麼
- 不是託管方。 資金由買家直接在鏈上轉入商家錢包。我們從不 持有餘額。
- 不是錢包供應商。 客戶自帶錢包;託管結帳頁內建 WalletConnect 選項,但沒有原生託管功能。
- 不是法幣入口。 買家以自己持有的加密資產付款;我們不做 兌換。
- 今天還不是 Tron 或 Solana 的閘道。 目前以 EVM 為主。完整的 即時矩陣請見支援的鏈與資產。
下一步
- 快速入門 — 約 10 分鐘複製貼上 完成你的第一個整合。
- 概念 → Session — 深入了解資料 模型。
- SDK → JavaScript — 目前唯一已發佈的 SDK。