Labs

Claude Code携手Creem CLI:AI赋能开发,终端高效调试支付流程

Claude Code携手Creem CLI:AI赋能开发,终端高效调试支付流程

在Creem平台进行开发时,开发者们可能都经历过相似的繁琐流程:编写代码、打开仪表板、检查支付是否成功、查看Webhook日志、与本地状态对比,再回到代码。这个循环通常涉及四个浏览器标签页、三种不同的数据格式,仅仅确认一次测试购买就需要五分钟。每次代码变更后,都需要重复这个过程。

本文将介绍一种截然不同的方法,让开发者始终停留在终端界面。通过将Creem CLI的数据能力与Claude Code的解释能力相结合,所有操作——验证、调试、运营——都可以在一个地方完成,极大地提高了效率和便捷性。

为了演示这一集成方案,我们构建了一个小型项目。该仓库包含一个基于Bun和Hono的极简应用,负责处理支付会话(checkouts)和Webhook事件。同时,还包含了一个为Claude Code定制的“技能包”,教会AI如何安全地操作Creem CLI。这样,整个工作流便能在终端中无缝完成。

集成设置

这个集成方案刻意保持了其轻量级。它由一个运行Hono的Bun服务器组成,主要功能包括创建支付会话、接收并使用HMAC SHA-256验证来自Creem的Webhook事件,并将本地状态持久化到JSON文件中。应用的首页通过颜色编码的状态徽章直观地显示当前状态:绿色表示访问已授权,红色表示已撤销,黄色表示进行中,灰色表示无活动。开发者无需阅读JSON文件,即可一目了然地了解当前状态。

该应用追踪一个简单的状态机:未知(unknown)→ 支付创建(checkout-created)→ 支付完成(checkout-completed)→ 已授权(granted)→ 已撤销(revoked)。每次状态转换都由一个Webhook事件驱动。如果Webhook未能按时到达,状态就不会改变,这一点在后续的调试中尤为重要。

理解该方案的关键在于,Creem CLI和应用是同一份数据的两个独立视图。CLI直接与Creem API通信,而应用仅通过Webhook事件感知数据的变化。当两者数据一致时,系统运行正常;当出现不一致时,则表明存在问题,此时CLI便能帮助开发者定位并解决问题。

教授Claude Code使用Creem CLI

Claude Code是一款强大的AI编码助手,但它在默认情况下并不了解如何使用Creem CLI。它不知道具体的命令、参数,也不了解Creem的惯例,例如Creem会以“最小单位”返回金额(例如,500表示5.00欧元,而非500.00)。

因此,我们构建了一个“技能包”(skill)。在Claude Code中,技能包是一个结构化的文档,旨在教授AI如何使用特定的工具。它涵盖了可用的命令、正确的参数、安全规则以及常见的工作流程。

这个为Creem CLI设计的技能包具体包含:

  • 针对所有支持命令(如产品、客户、支付、订阅、交易和配置)的快速参考表格。
  • 使用规则,例如“始终使用--json以获取机器可读的输出”和“绝不读取或暴露位于~/.creem/config.json的配置文件”。
  • 金额单位转换约定:在向用户显示值之前,始终将最小单位转换为标准金额。
  • 高价值工作流程:如何创建和验证支付,如何查找客户,以及如何管理订阅生命周期。
  • 用于脚本编写和通过jq管道输出的自动化模式。

该技能包位于仓库的skills/creem-cli/SKILL.md路径下,任何人都可以通过一个简单的命令安装:npx skills add santiga

↗ 阅读原文