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

如何从Stripe Connected Account对象判断Rejected/Pending状态?

Stripe关联账户Rejected/Pending状态判断逻辑指正

Rejected状态判断

正确逻辑

关联账户被Stripe拒绝的核心判定依据是account.requirements.disabled_reason字段值为"rejected"。同时通常伴随account.charges_enabled和account.payouts_enabled均为false,因为拒绝后账户会被禁用交易功能。

代码示例:

const isRejected = account.requirements?.disabled_reason === "rejected";

常见推导错误

  • 错误地将account.requirements.currently_due或past_due有内容判定为拒绝:这些字段仅表示账户有未完成的必填要求,属于待补充状态,并非被拒绝。
  • 忽略disabled_reason的精确值:有些开发者会用!!account.requirements.disabled_reason直接判定拒绝,但disabled_reason还有其他值(比如"requirements_past_due"),这些属于受限而非拒绝。

Pending状态判断

正确逻辑

Pending状态对应两种场景:一是账户提交信息后正在等待Stripe审核,二是有未完成的必填要求但尚未触发拒绝。核心判定逻辑如下:

  1. 账户交易/提现功能未完全启用(account.charges_enabled为false或account.payouts_enabled为false)
  2. account.requirements.disabled_reason不为"rejected"(排除已拒绝的情况)
  3. 满足以下任一条件:
    • account.requirements.pending_verification数组长度大于0(表示有信息正在审核)
    • account.requirements.currently_due数组长度大于0(有当前需完成的必填项)
    • account.requirements.past_due数组长度大于0(有逾期未完成的必填项,但还没到拒绝程度)

代码示例:

const isPending = 
  (!account.charges_enabled || !account.payouts_enabled) &&
  account.requirements?.disabled_reason !== "rejected" &&
  (
    account.requirements?.pending_verification?.length > 0 ||
    account.requirements?.currently_due?.length > 0 ||
    account.requirements?.past_due?.length > 0
  );

常见推导错误

  • 仅用pending_verification判断Pending:忽略了用户未提交必填信息的场景(此时pending_verification为空,但currently_due有内容,也属于Pending)。
  • 混淆Pending和Restricted:Restricted是账户因未完成要求被限制功能,但Pending更偏向“待处理/待审核”的状态,两者有重叠但判定逻辑需区分(Restricted需要disabled_reason存在且符合受限条件)。

额外纠正:你之前的isRestricted逻辑优先级问题

你原来的代码存在逻辑运算符优先级错误,&&的优先级高于?:,会导致判断逻辑不符合预期。修正后的代码应该是:

// 修正优先级,用括号明确逻辑顺序
const isRestricted = (!!account.requirements?.disabled_reason) && 
  (account.requirements?.currently_due?.length > 0 || account.requirements?.past_due?.length > 0);

或者更简洁地用双重感叹号转换为布尔值,避免三元运算符的优先级问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:00:07