简介
支付的构成
接入 InfraIO Pay 的商户需要处理四个环节:
结账会话
你在服务端创建一个会话,携带明细项和总额。响应中带有 session_key
(cst_…)和 checkout_url。会话有 TTL(默认 30 分钟),且只能
使用一次。
托管结账页
你加载我们的浏览器 SDK 并打开该会话 — popup、redirect 或嵌入式 iframe。买家选择一个链 × 资产组合(例如 Polygon 上的 USDT、Base 上 的 ETH……),看到生成的充值地址 + 二维码,并从自己的钱包发送资金。
支付确认
payment-service 会监控相应的链,寻找与该会话充值地址匹配的入账
转账。一旦达到配置的确认数(例如 Ethereum 主网 12 个确认、Polygon
5 个确认 — 见链与资产),底层的
PaymentIntent 就会转为 SETTLED,其所属的 Order 也随之转为
PAID。
Webhook
我们会向你注册的 Webhook URL POST 一个已签名的 payment.settled
事件。你的服务器验证签名,通过 external_ref 关联回自己的订单,
然后完成履约。
数据模型示意图
CheckoutSession ← 1:1 → Order ← 1:N → PaymentIntent
(有 TTL) (永久) (每次支付尝试一个)你为履约而思考订单,为收款而创建会话,系统则在背后为重试 / 选链管理 PaymentIntent。
InfraIO Pay 负责什么,你负责什么
| InfraIO Pay 负责 | 你负责 |
|---|---|
| 托管结账 UI(充值地址、二维码、资产选择器) | 在你的数据库中创建 Catalog + Order |
| 跨 8 条 EVM 链的链上监控 + 确认逻辑 | Webhook 接收端 + 签名验证 |
| 多资产结账(USDT、USDC,以及各链原生 ETH/BNB/POL/MNT) | 通过 external_ref 把我们的 order_id 映射到你自己的订单 ID |
| 退款记账(状态机、仪表板、API) | 签名并广播链上退款交易 |
| 测试模式密钥 + 隔离的测试 Webhook | 从水龙头为测试网钱包充值 |
我们不托管商户资金。买家到商户的转账直接在链上完成;我们只是 索引 + 对账层,负责告诉你转账何时到账。
测试模式与生产模式
每个账户都从测试模式开始。测试密钥以 pk_test_ / sk_test_
为前缀。生产密钥(pk_live_ / sk_live_)需要满足以下条件才能
开通:
- 完成 KYB
- 资金钱包证明(你签名一条消息,证明自己掌握着每条要接收资金的 链上目标钱包的控制权)
同一个 API base URL 同时服务这两种环境 — 环境由密钥前缀决定,而 不是 URL。测试模式运行在真实的测试网上(Sepolia、Base Sepolia、BSC Testnet 等)— 没有模拟链。要触发一笔测试支付,你需要 从水龙头领取真实的测试网资金。
InfraIO Pay 不是什么
- 不是托管方。 资金在链上直接从买家钱包转到商户钱包。我们从 不持有余额。
- 不是钱包提供方。 客户自带钱包;托管结账页内置了 WalletConnect 选项,但不提供原生托管。
- 不是法币兑换通道。 买家用自己持有的加密资产付款;我们不做 兑换。
- 目前还不是 Tron 或 Solana 网关。 优先支持 EVM。完整支持矩阵 见链与资产。
下一步
- 快速入门 — 约 10 分钟,复制粘贴 即可完成你的第一次集成。
- 概念 → 会话 — 深入了解数据模型。
- SDK → JavaScript — 目前唯一已发布的 SDK。