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

使用Stripe向雇员发放周薪遇transfers能力未启用报错如何解决

报错根因分析

你收到的报错

"Your destination account needs to have at least one of the following capabilities enabled: transfers, legacy_payments"

核心原因是你创建的Custom类型Stripe账户虽然在代码中提交了transfers能力的申请,但Stripe对所有接收转账的Custom账户有强制KYC(身份验证)要求,只有提交完整的司机身份资料并通过Stripe审核后,transfers能力才会正式激活,未激活状态下无法接收转账。

具体解决步骤
  • 补充Custom账户的必填KYC信息
    你当前的创建账户逻辑只提交了银行账户信息,还需要补充司机的身份验证字段,美国地区个人司机至少需要补充姓名、出生日期、社保号后4位、居住地址、联系信息以及服务条款同意记录,修改后的账户创建代码如下:
    // account test
    $bank = $stripe->tokens->create([
        'bank_account' => [
            'country' => 'US',
            'currency' => 'usd',
            'account_holder_name' => 'Jenny Rosen',
            'account_holder_type' => 'individual',
            'routing_number' => '110000000',
            'account_number' => '000123456789',
        ],
    ]);
    
    // create account
    $account = \Stripe\Account::create(
        array(
            "country" => "US",
            'type' => 'custom',
            'capabilities' => [
                      'card_payments' => [
                        'requested' => true,
                      ],
                      'transfers' => [
                        'requested' => true,
                      ],
                    ], 
            'external_account' => $bank->id,
            // 新增KYC相关字段
            'individual' => [
                'first_name' => 'Jenny',
                'last_name' => 'Rosen',
                'email' => 'jenny.rosen@example.com',
                'phone' => '+15555555555',
                'dob' => [
                    'day' => 1,
                    'month' => 1,
                    'year' => 1990,
                ],
                'address' => [
                    'line1' => '123 Main St',
                    'city' => 'Los Angeles',
                    'state' => 'CA',
                    'postal_code' => '90001',
                    'country' => 'US',
                ],
                'ssn_last_4' => '1234',
            ],
            'tos_acceptance' => [
                'date' => time(),
                'ip' => '司机实际同意服务条款的IP地址',
            ]
        )
    );
    
  • 确认transfers能力状态
    提交KYC信息后,可通过Stripe账户查询接口查看capabilities.transfers字段的状态,只有状态为active时才可以发起转账。如果状态为pending说明还在审核中,状态为requirements_pending则需要补充Stripe要求的额外证明材料。
  • 优化发薪流程
    你是每周定期发薪,不需要每次发薪都创建新的Stripe账户,正确流程为:司机首次入驻平台时完成一次Stripe账户创建和KYC验证,后续发薪直接复用该账户ID,每周薪资核算完成后批量调用转账接口即可,Stripe会自动将资金结算到司机绑定的银行账户。
  • 可选简化方案:如果你的场景只是单纯给雇员发薪,不需要拆分用户支付的订单资金,也可以直接使用Stripe Payouts功能从平台账户直接向司机的银行账户打款,无需为每个司机创建Custom账户,流程更简单。
测试环境调试方案

如果是在开发测试阶段,可以直接在Stripe Dashboard的测试模式下,手动将对应测试账户的transfers能力设置为已激活,不需要提交真实KYC资料即可完成转账功能测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:12:01