Payment Link

在控制台创建一个固定金额的链接(如 https://pay.35team.com/p/abc123), 发到微信群、邮件、短信、二维码海报,任何人打开都能付款,无需写一行代码。

什么时候用

  • 卖标准商品 / 服务包,价格固定,不需要订单系统
  • 1v1 收费场景:咨询、定金、私教、答疑
  • 线下活动收款,海报印二维码
  • 自媒体打赏 / 投稿稿费回收

如果你需要每个订单不同金额、要透传订单 ID、需要程序化创建链接 —— 请走 SDKREST API


创建一个链接

  1. 进入 控制台 → Payment Links
  2. 点"新建链接",填写:名称、金额(单位:元,自动转分)、币种、描述(选填)。 币种下拉框只列出已配置 provider 能收的币种; 选完币种会实时显示「客户付款时可用渠道:🟢 微信支付 · 🍋 Creem」
  3. 选会话有效期,详见 下文 TTL 选项
  4. 保存后得到一个 https://pay.35team.com/p/<id> 链接
没配任何 provider?创建按钮会被禁用并提示去 支付渠道 配。 这样可以避免「选了 USD 但只配了微信」之类的死链:用户打开链接看到「商户暂未配置」。

会话有效期 (TTL)

TTL 是用户打开链接后那一次支付会话的有效期,不是链接本身的有效期。 链接只要"启用"状态,就一直可点;TTL 决定的是用户点开后那个收银台页面多久过期。

  • 30 分钟(默认,扫码场景推荐)— 用户当场扫码当场付的典型节奏
  • 1 / 2 / 6 / 24 小时— 异步发链接(短信、邮件、IM)推荐 24 小时档,留足往返时间
  • 3 天 / 7 天— 销售跟进场景
  • 自定义天数 1 ~ 365 天 — 例如活动报名截止前都能付
  • 永久— 链接打开后会话永不过期,仅推荐内部 / 长期销售场景
选"永久"意味着已经打开但没付的会话永远占着不释放,控制台报表里也会一直挂着 "pending"。 非必要别选;用 365 天通常已经足够"长期可用"。

高级选项

透传 metadata

创建链接时可以填一段 JSON(控制台「高级 → 透传 metadata」),客户付完款时 webhook 的 data.metadata 会原样带上 + 再叠一个内部加的 paymentLinkId。 典型用法:标记链接来源、销售员 ID、活动场次。

// 创建链接时填的 metadata
{ "campaign": "新春活动", "salesperson": "alice" }

// 客户付完后 webhook 收到的 data.metadata
{ "campaign": "新春活动", "salesperson": "alice", "paymentLinkId": "lnk_xxx" }

绑定指定 ProviderConfig

如果同一种 provider 配了多份(如「主号」+「个体户副号」,详见 providerHints), 创建链接时可以指定这个链接收的款只走某一份。 不绑定则按默认 config 走。绑定后退款也会自动走同一份。

用户的体验

  1. 用户打开链接,35pay 即时为这次访问创建一个新的支付会话(按链接的金额/币种)
  2. 跳转到托管收银台,根据用户环境自动推荐渠道(微信内 → 微信支付,PC → 桌面渠道)
  3. 支付完成 → 触发 payment.paid webhook(如果配置了)
  4. webhook 的 metadata.paymentLinkId 可用来识别是哪个链接来的
每次打开都会创建一个独立的 session,所以同一个链接可以被多人使用、统计 useCount, 不会因为一个人付完就失效。

环境

Payment Link 始终走 live 模式,给真实客户付款用。 想测试请用 SDK + sk_test_ Key 走测试流程。

禁用 / 删除

  • "停用"会让链接立刻 404,已发出去的链接打不开
  • "删除"会硬删,无法恢复。已经付款的交易记录保留不受影响
  • 需要改金额?建议新建一个链接,停用旧的(避免追溯歧义)

生成二维码

Payment Link 就是一个 URL,任何二维码生成器都能转成图片。控制台后续会内置二维码下载, 当前可以用 qr-code-generator.com 临时生成。