<!-- Source: https://docs.infraio.xyz/zh-CN/payment-links/overview -->
<!-- Last updated: 2026-10-04 -->

# 支付链接 概览

**支付链接**是一个可分享的 URL，能把买家直接带入你已经配置好的托
管结账页。无需 SDK，无需服务端集成 — 在仪表板签发、分享出去，资
金在链上确认后会触发和其他情形一样的 `payment.settled` Webhook。

从底层看，支付链接**就是**一个
[CheckoutSession](https://docs.infraio.xyz/zh-CN/concepts/sessions) — "支付链接"只是仪表
板一侧对"不是由买家驱动的 SDK 流程创建的会话"的叫法。Webhook 契约
相同，链上结算方式相同，费用也相同。

常见用途：

- 给一次性客户开发票，无需写代码
- 没有自定义购物车的销售页面
- B2B 跟进 — 把链接粘贴进邮件即可
- 类似"请我喝杯咖啡"的固定金额打赏页面

## 创建一个链接

在仪表板中创建支付链接：

1. 登录[商户仪表板](https://app.infraio.xyz)
2. **Payments → Payment Links → + New link**
3. 选择以下两条路径之一：
   - **New order** — 填写明细项、币种、客户信息和可选的元数据。
     仪表板会在一次调用中同时创建 Order 和支付链接。
   - **Existing order** — 选择一个 `PENDING` 状态的订单（例如买家
     放弃了之前的链接）。会针对同一个订单重新签发一个新链接，订
     单历史保持完整。
   - 在 **New order** 中可切换到 **仅金额**，无需列出商品即可收取固定金额。
4. 保存 → 仪表板会展示 `https://checkout.infraio.xyz/cst_…` 这个
   URL，带复制按钮和二维码下载。测试模式的链接使用
   `checkout-dev.infraio.xyz`，环境信息就编码在主机名里。

> **Note:**
>
> 目前每个支付链接都是一次性的：买家一旦付款，会话就会变为
> `COMPLETED`。如果会话在支付前过期（默认 TTL 为 30 分钟），打开
> 订单详情页并点击 **Re-create link**，即可针对同一订单签发一个
> 新链接。

## 买家会看到什么

1. 他们会打开 `checkout.infraio.xyz/<session_key>` — 和 SDK 签发
   的会话一样的托管收银台 UI。
2. 他们会经历[结账 → 概览](https://docs.infraio.xyz/zh-CN/checkout/overview)中描述的标准
   流程：选择资产 → 发送资金 → 等待确认。
3. `payment.settled` 会触发到你的 Webhook，携带订单、intent、收
   据、链上交易哈希和确认数 — 和其他任何已结算支付的负载一样。
   schema 详见 [Webhooks](https://docs.infraio.xyz/zh-CN/webhooks/overview)。

## 仪表板能提供什么

目前支付链接界面已包含：

- **列表视图** — 展示你签发过的每个链接，游标分页，包含状态、金
  额、所属订单号、客户、到期时间，以及一键打开买家 URL。
- **筛选器** — 状态（`ACTIVE` / `COMPLETED` / `EXPIRED` /
  `CANCELED`）、日期范围，以及跨订单号、客户姓名、邮箱或
  external ref 的全文搜索。
- **CSV 导出** — 一键导出，遵循当前的筛选条件。
- **KPI 条** — 按状态统计当前环境（`live` 或 `test`）的数量，与表格展示的内容一致。
- **详情页** — 订单摘要、会话历史（该订单的每一次尝试）、带区块
  浏览器链接的链上历史，以及针对支付前过期会话的 **Re-create
  link** 操作。

## 目前的限制

- **没有程序化 API** — 链接只能在仪表板创建。你可以通过
  `POST /b2b/v1/checkout-sessions/quick` 创建等效的一次性会话
  （见 [API 参考](https://docs.infraio.xyz/zh-CN/api-reference)），但可分享的链接
  只能在仪表板创建。
- **没有按买家身份验证** — 任何拿到 URL 的人都能付款。每个链接
  都是一次性的,这在一定程度上限制了这个问题。
- **品牌设置是全局的** — 链接使用的是 **Settings → Branding** 中
  配置的商户级 Logo、品牌色和圆角。按链接覆盖品牌设置的功能不可用。

## 另请参阅

- [概念 → 会话](https://docs.infraio.xyz/zh-CN/concepts/sessions) — 买家付款期间，会话和
  intent 层发生了什么。
- [结账 → 概览](https://docs.infraio.xyz/zh-CN/checkout/overview) — 买家实际会看到什么。
- [Webhooks → 概览](https://docs.infraio.xyz/zh-CN/webhooks/overview) — 你的服务器要处理
  的 `payment.settled` 事件。
