Skip to main content
项目本来就用 AI coding agent 在开发的话,可以让它直接把 Clink 接进去,不用照着文档一步步写。 Clink 提供了一个开源的接入 skill clink-integ-skills,里面有接入规则、离线 CLI 和给 agent 用的提示词。装好之后,把提示词发过去就行。
这条路径适合已经有 agent 在改项目代码的情况。手写代码的话,走 Hosted Checkout 接入 更直接。两条路径产出的东西是一样的,agent 只是代劳敲字。它写出来的代码仍然要看懂、要验收。

agent 会做什么

  • 先摸清项目结构、启动方式、路由位置、环境变量注入方式,再决定怎么接
  • 扫描现有的定价页或商品数据,生成 clink-catalog.json,导入成 Clink 的产品和价格
  • 写服务端的 checkout、订阅、webhook 接口
  • 注册 webhook 端点,把签名密钥同步进项目的环境变量
  • 给出 curl 示例、启动命令和验证结果

agent 不负责的部分

决定商业逻辑。 卖什么、怎么定价、退款政策,这些要商户自己定。 证明支付真的通了。 必须有人打开 checkoutUrl 用测试卡付一笔,并且确认本地订单变成 paid、发货逻辑真的跑了。agent 说”接入完成”不等于这件事发生过。 上生产。 这个 skill 默认只在沙盒工作,生产切换要走 上线检查

第一步:让 agent 装上 skill

最省事的办法是直接对 agent 说:
也可以自己装到本地 skills 目录:
skill 本身不需要额外装运行时依赖,接入用的 CLI 已经打包在里面。
这个 skill 按 Codex 的技能格式组织,目录是 ~/.codex/skills/。agent 不支持这个格式时,第二步的提示词里已经写了退路——让它直接读 GitHub 仓库。

第二步:把提示词发给它

整段复制给 agent:
中途 agent 会索取 沙盒 Secret Key。去 沙盒后台开发者 页面初始化一个(sk_uat_ 开头)给它。
只给沙盒密钥,不要给生产密钥。也别让 agent 把密钥写进源码或提交到 Git——上面的提示词里已经有这条约束,但仍然要自己盯一眼。

第三步:自己验收

这一步不能省。 agent 报告”接入完成”和支付真的能用,是两件事。
1

翻一遍前端产物

确认浏览器里拿不到 sk_ 开头的密钥,也拿不到 webhook 签名密钥。
2

真的付一笔

打开 agent 返回的 checkoutUrl,用测试卡 4242 4242 4242 4242 完整付一次。没人付过款,就不算跑通。
3

查商户订单

数据库里那条订单要真的变成 paid,发货、充值或开通权益的逻辑也要真的执行了。
4

逐行核对 webhook 处理器

这是 agent 最容易写错的一段,五件事都要对:
  • 验签用的是原始请求体,不是解析后又序列化回去的
  • 校验了 X-Clink-SignTypeSHA256
  • 业务对象从 event.data.object 取,不是 event.data
  • event.id 去重
  • merchantReferenceIdsessionId 双重匹配订单
中间两条尤其要盯——写错了在模拟事件里发现不了,只有真实付款时才暴露。逐条对照 Hosted Checkout 接入
5

过一遍上线清单

切生产前照 上线检查 逐条核对。

几种常见情况

agent 说完成了,但没人付过款。 那只说明 Session 建出来了。要求它明确区分”创建成功”和”付款成功”——提示词第 11、12 条就是管这个的。 项目没有服务端。 纯静态站点接不了,因为 Secret Key 必须放在服务器上。让 agent 先加一个最小的后端路由或 serverless 函数。 agent 要求手动复制 productId。 站点已经有定价页的话,它应该扫描并用 clink catalog import 导入,不该让人手抄 ID。

接下来

Hosted Checkout 接入

看懂 agent 写出来的代码,尤其 Webhook 那部分。

上线检查

切生产前要过的清单。