开发者

数行代码即可集成

公钥用于在浏览器中打开收银台,私钥只保留在你的服务器上。付款一经确认,Webhook 会立刻通知你的服务器。

# 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 }

从无代码开始,准备好后转向 API 优先。

无代码

支付链接

在仪表盘生成链接,随处分享,支付后接收 webhook。

打开仪表盘 →
一个脚本标签

SDK 结账

弹窗、跳转或嵌入 iframe。SDK 以适合你网站的方式打开同一个托管结账。

SDK 指南 ↗
完全控制

结账 API

在服务器端一次调用即可创建订单及其收银台。请求带签名,可安全重试,并包含测试模式。

API 参考 ↗

将 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 从不把买家资金放在共用账户里。

测试模式免费。生产环境同样免费,直到有买家付款。