Skip to main content

端到端追踪 Stripe 支付流程

使用 Ask Devin 在写下第一行代码之前,先梳理 Stripe 结账流程中涉及的每一个文件和函数——从 Subscribe 按钮到 webhook 处理程序。
AuthorCognition
Category功能开发
FeaturesMCP
1

请 Devin 跟踪支付流程

你接到一个工单,要给 Stripe webhook 处理器添加重试逻辑,但你是两周前才加入团队,而且之前从没接触过支付相关代码。与其花一小时在源码里到处点来点去,不如打开 Ask Devin,让它帮你梳理整个流程。在左侧侧边栏中选择 Ask Devin,选择你的代码仓库,然后描述你需要理解的业务流程:Devin 会阅读你仓库的 DeepWiki 文档,搜索实际源代码,并跨文件跟踪函数调用,构建出完整的全貌。它会返回整个流程的结构化映射:
## 支付流程:订阅 → 数据库

1. src/pages/pricing/PricingCard.tsx:45
   handleSubscribe() → POST /api/v2/subscriptions

2. src/api/v2/subscriptions/create.ts:12
   Validates input, checks eligibility → calls SubscriptionService.create()

3. src/services/SubscriptionService.ts:89
   Creates Stripe subscription via stripe.subscriptions.create()
   Stores pending record with status="pending"

4. src/webhooks/stripe.ts:34
   Receives invoice.payment_succeeded → calls SubscriptionService.activate()
   ⚠ 此处无重试逻辑 — 这里就是您需要进行修改的地方

5. src/services/SubscriptionService.ts:134
   Updates status to "active", creates invoice record, emits event
不到一分钟,你就能拿到支付流程的文件级地图——五个文件、精确的函数名,以及你需要做改动的确切位置。
2

通过后续追问深入了解 webhook 处理程序

Ask Devin 是对话式的 —— 你可以根据需要提出任意数量的后续问题。现在你已经能看到流水线了,深入查看你将要修改的部分:持续追问,直到你对整体有完整的认识 —— Ask Devin 会保留整个对话的上下文,因此每个问题都会建立在之前答案的基础之上。
3

直接在 Ask Devin 中发起编程会话

你现在已经知道要修改的具体文件(src/webhooks/stripe.ts)、要复用的现有重试工具(src/lib/retry.ts),以及其他处理程序已经推送到的死信队列(src/queues/dlq.ts)。按下 ⌥ Option + Enter(或单击箭头图标),即可直接从 Ask Devin 对话中启动 Devin 会话。Devin 会带上它已经学到的一切——文件映射、错误处理模式、重试工具——因此会跳过分析阶段,直接进入实现阶段。你也可以在按下 ⌥ Enter 之前输入一个具体的实现指令,用来引导 Devin 要构建什么:由于会话会继承 Ask 对话中的上下文,Devin 能够产出更准确的 PR,所需迭代次数更少。这个从 Ask 到 Agent 的工作流,是从“我不熟悉这个代码库”到“这是一个 PR”的最快路径。你可以在 Ask Devin 指南 中了解更多信息。