# 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 { 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 | 收银台已过期且没有付款,不会产生任何扣费 |
像运营团队一样运行加密货币支付
一个用于日常运营付款的后台,而不只是一个钱包。这四个地方是你最常用到的。
订单与会话每个收银台都关联一个订单和一笔付款,ID 与你自己的订单系统一一对应。
交易确认数、网络手续费,以及每笔付款清晰的已付款 / 等待中 / 少付状态。
退款可全额或部分退款,直接退到买家钱包,也可向买家发送一次性链接,让对方填写自己的地址。每笔退款都有记录,并可导出。
Webhook发送测试事件,不停机轮换签名密钥,并可自行重放任意事件。失败的推送会自动重试。
按支付基础设施的标准打造
带签名的 API 请求你服务器发出的每个请求都带有签名和时间戳,任何人都无法伪造,也无法重放旧请求。
无法篡改的结账链接每个结账链接只对应一个订单。一旦被改动即失效,过期后也无法再次使用。
不会重复扣款即使服务器因网络错误而重试,买家也只会被扣款一次。
你的资金从不经过我们买家付款到专为其订单生成的地址,或直接付给你的钱包。无论哪种方式,钱都归你,InfraIO Pay 从不把买家资金放在共用账户里。