针对美国用户的Stripe Connect自定义账户创建技术疑问
Stripe Connect 美国自定义账户创建疑问
我已查阅全部Stripe官方文档,但在为美国用户创建Stripe Connect自定义账户时仍存在疑问:
- 根据Stripe Connect文档,账户对象包含
company与individual对象,二者优先级如何?是否可仅创建company对象? - 若仅涉及个人主体,是否需要填写
company对象的数据?company对象是否需单独的taxID,还是可复用SSN?
代码示例
async createAccount(request: Request, data: CreatePaymentAccountDto) { const { birthday } = data; const { day, month, year } = this.separateDate(birthday); const user = await this.stripe.accounts.create({ type: 'custom', country: 'US', email: data.email, capabilities: { card_payments: { requested: true, }, transfers: { requested: true, }, }, business_profile: { mcc: '7392', product_description: data.description, }, external_account: data.bankToken, company: { tax_id: data.taxID, name: `${data.firstName} ${data.lastName} - Consultant`, }, business_type: 'individual', individual: { dob: { day: day, month: month + 1, year, }, address: { city: data.city, line1: data.addrLine1, postal_code: data.postCode, state: data.state, }, email: data.email, first_name: data.firstName, last_name: data.lastName, phone: data.phone, ssn_last_4: data.ssn_last_4, id_number: data.taxID, }, tos_acceptance: { date: Math.floor(Date.now() / 1000), ip: request.ip, }, }); return user; }
问题解答
1. company与individual对象的优先级及是否可仅创建company对象
二者的优先级完全由你设置的business_type字段决定:
- 当
business_type设为company时,Stripe只会校验并使用company对象中的数据,individual对象会被直接忽略; - 当
business_type设为individual时,Stripe只会校验并使用individual对象中的数据,company对象会被直接忽略。
可以仅创建company对象——只要将business_type设为company,此时无需传入individual字段,Stripe不会要求这部分数据。但要注意,美国的公司账户需要提供公司税号(EIN)等合规信息,需确保数据符合Stripe的审核要求。
2. 个人主体场景下的company对象处理
如果账户的business_type是individual:
- 不需要填写
company对象的数据,Stripe会直接忽略这部分内容,即使传入也不会生效; - 既然
company字段会被忽略,自然不存在单独的taxID需求,个人主体只需在individual对象中提供SSN相关信息(比如ssn_last_4或完整id_number)即可,不需要复用或额外提供公司税号。
另外看你的代码示例,当前business_type设为individual但同时传了company字段,这部分属于冗余参数,可直接删除,不会影响账户创建,还能减少不必要的参数传递。
内容的提问来源于stack exchange,提问作者Val
相关产品推荐
相关产品推荐

