# Create order + session in one call curl -X POST https://api.infraio.xyz/v1/quick-checkout \ -H "Authorization: Bearer sk_live_…" \ -H "Idempotency-Key: order_8412" \ -d '{ "amount": "1000.00", "currency": "USD", "success_url": "https://shop.example/thanks" }' # → 201 Created { "checkout_url": "https://pay.infraio.xyz/c/s_9f2…", "expires_in": 900 }
將 SDK 接入任意 Web 應用
一次 import,一次呼叫。以彈窗、跳轉或嵌入方式開啟託管結帳,並以同樣方式開啟客戶退款表單。
import { loadInfraIo } from "@lartech/infraio-checkout-js"; // Open hosted checkout from a session async function payNow(sessionKey, checkoutUrl) { const sdk = await loadInfraIo("pk_live_yourkeyhere"); sdk.checkout({ sessionId: sessionKey, checkoutUrl, mode: "popup", // "popup" | "redirect" | "embed" onSuccess: ({ sessionId }) => fulfill(sessionId), onCancel: () => showRetry(), }); }
涵蓋每個狀態的 webhook
使用端點密鑰簽名,帶退避重試,可從儀表板重放。
| 事件 | 觸發時機 |
|---|---|
payment.pending | 買家已廣播交易;正在等待確認。 |
payment.confirmed | 交易已達到該網路的確認閾值。 |
payment.settled | 資金已歸集到你的結算錢包。 |
session.expired | 結帳視窗未付款即關閉。不計費。 |
像營運團隊一樣管理加密支付
為營運控制台而生的儀表板, 而非單純的錢包。商家日常工作圍繞的四個介面。
訂單與工作階段每次結帳都可追溯到一筆訂單、一個 payment intent 以及一個不可變的工作階段。穩定的 ID 讓您的履約流程能可靠對應。
交易紀錄鏈上結算、確認數、網路手續費,以及每筆 intent 清楚的已付款 / 等待中 / 金額不足狀態。
退款部分或全額, 直接退回原錢包,或寄送一次性連結讓買家自行填寫收款地址。具備稽核與匯出功能。
Webhooks每個端點皆可測試送出、含寬限期的金鑰輪替、6 個延遲層的重試佇列、無法投遞訊息暫存(dead-letter outbox)+ 自助重送。
如同支付基礎建設般打造,而非加密小工具
HMAC 簽章 B2B API每個伺服器請求皆經過簽章與時間戳記(X-Client-ID、X-Timestamp、X-Signature)。每個端點皆採固定時間驗證,±5 分鐘的重放視窗。
工作階段範圍限定的結帳 URL每個結帳 URL 都綁定唯一的 session_key。竄改會使請求失效;已過期的工作階段無法重複使用, 清理 worker 透過 lazy + 排程方式將其切換為 EXPIRED。
冪等鍵可安全重試。重複訂單會收斂為單一 payment intent, 您的網路錯誤重試路徑絕不會重複扣款或重複發放。
確定性存款地址每次結帳皆預先衍生出專屬的 EVM 存款地址,讓買家付款至綁定該筆訂單的位置。資金隨後透過鏈上 sweep 歸集至商家的結算錢包, InfraIO 從不於熱錢包中持有買家資金。