Playground
在 StableOps 試驗場建立沙盒付款單,用瀏覽器錢包傳送測試網 USDC 或 USDT,並即時檢視轉帳被檢測、確認和最終完成的全過程;無需編寫程式碼即可熟悉真實請求、回應、支付指令、活動日誌與訂單狀態變化,為正式接入做好準備。
下方元件會在瀏覽器裡直接用你貼上的 sandbox API key 呼叫 StableOps API(@stableops/api-sdk):先建立 sandbox 付款單,再使用 @stableops/wallet-sdk 喚起瀏覽器錢包,在 Base Sepolia 測試網上傳送一筆真實 USDC 轉帳。線性走完 4 步即可觀察訂單從 created 推進到 finalized:
- 建立付款單:走
POST /v1/payment-orders,帶Idempotency-Key。返回裡的payment_instructions是分配給本訂單的候選入金地址列表。 - 錢包鏈上支付:前端呼叫
sendWalletPayment,由錢包傳送 ERC-20transfer到訂單地址。 - 等待 confirmed:不再手動推進;輪詢訂單,等待 scanner + confirmations watcher 自動把訂單推進到
confirmed。 - 等待 finalized:繼續輪詢,等待達到finalized閾值;此時 ledger 與 webhook 才會標記終態。
在元件裡貼上你的 sandbox API key 即可開始。key 只儲存在你的瀏覽器。請使用測試網資產,不要在 playground 中傳送主網資金。每一步都會把最新訂單快照和活動日誌展開在下方,方便對照真實請求/回應結構。
请使用 sandbox key;它只保存在你的浏览器并直接发送给 API。生产环境请在服务端调用 API,不要在浏览器中调用。
开启时会在建单前为本订单导入一个确定性 burner 地址,适合 org 还没有任何收款地址的场景。如果你只想使用自己管理的地址,请关闭。
真实钱包交易,使用所选测试网;不要用主网资金。领测试币:Base Sepolia · USDC (testnet)
- idle1. 创建支付单
- idle2. 用钱包发起链上支付
- idle3. 等待 detected
- idle4. 等待 confirmed
- idle5. 等待 finalized
(empty)
實際生產裡發生了什麼
第 1 步與真實使用一致:你的服務透過 SDK 或 REST 呼叫 POST /v1/payment-orders。第 2 步就是 真鏈上的入金事件:瀏覽器錢包把穩定幣轉到訂單地址;scanner 按 (organizationId, environment, chain, address) 分桶拉日誌、歸一化後落 normalized_events,並把匹配上的訂單推進到 detected。第 3、4 步由 confirmations watcher 週期性比較 head - block_number 與每條鏈的 CONFIRMED_AFTER / FINALIZED_AFTER 閾值後自動推進,並對同一筆事務的 receipt.blockHash 與初次記錄做 reorg 校驗。
Playground 現在直接在瀏覽器裡用你提供的 sandbox API key 調 API(@stableops/api-sdk);鏈上支付、檢測、確認和終局都走真實鏈路。另外 Playground 僅執行在測試網,因此 Solana/TRON 的錢包支付直連公共 RPC 節點(Solana Devnet、TRON Nile)。這些節點免費但偶爾可能限流;若支付構造或廣播失敗,稍候重試即可。生產環境中結帳頁的主網 RPC 經 StableOps 商業節點代理轉發,沒有這個問題。
接入清單
- 用
Idempotency-Key頭去重。同一merchant_order_id提交兩次永遠拿到同一筆訂單。 - 本 playground 為演示用途,整段跑在瀏覽器裡且只用 sandbox key。生產環境請把 API key 放在你的後端、切勿在瀏覽器暴露生產 key;前端只用
@stableops/wallet-sdk發起錢包轉帳。 - 訂閱
payment.detected / payment.confirmed / payment.finalized / payment.revertedwebhook;每條 delivery 在 worker 端用IN_PROGRESS搶鎖,重複投遞不會重複觸發你的處理邏輯。 - 接收 webhook 時用
@stableops/api-sdk/webhooks驗證簽名頭,避免重放。
繼續閱讀 快速開始 拿到完整程式碼示例。
這篇文件怎麼樣?
最後更新