You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Stripe Express账户完成开户提交后触发Webhook?

Stripe Express账户开户流程Webhook触发优化方案

核心问题解决:精准触发账户从Restricted转为Enabled的Webhook

不需要更换监听事件,继续使用account.updated即可,但要在Webhook处理逻辑中增加状态变更的判断条件,避免误触发:

  • 关键判断维度:

    1. 账户的details_submitted字段需为true(确认用户已点击“同意并提交”完成信息提交)
    2. 对比事件的previous_attributes(变更前的状态),确认charges_enabled和payouts_enabled从false变为true(账户正式从Restricted转为Enabled)
  • 处理逻辑示例(伪代码):

// 解析Stripe Webhook事件内容
const account = event.data.object;
const prevAttrs = event.data.previous_attributes;

// 验证状态变更条件
const wasRestricted = !prevAttrs.charges_enabled && !prevAttrs.payouts_enabled;
const nowEnabled = account.charges_enabled && account.payouts_enabled;
const userSubmittedDetails = account.details_submitted;

if (wasRestricted && nowEnabled && userSubmittedDetails) {
  // 执行Airtable数据库更新操作
  updateAirtableRecord(account.id, { account_status: "Enabled", completed_on: new Date() });
}

关于account.application.authorized事件的说明

该事件确实已被Stripe废弃,不再触发。替代方案就是通过account.updated事件结合details_submitted和状态字段的变更判断,来识别用户完成授权提交并账户启用的节点。

额外提示:如果业务需要区分“用户已提交信息但待审核”和“审核通过账户启用”两个状态,可以拆分逻辑:

  • 当details_submitted从false变为true时,先在Airtable标记为“待审核”
  • 当后续charges_enabled和payouts_enabled变为true时,再更新为“已启用”

内容的提问来源于stack exchange,提问作者Loys Forget

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:52:54