Subhadip Sahoo Subhadip Sahoo - 1 year ago 118
PHP Question

How to provide external account parameter while creating managed account in stripe using php?

I am using stripe php library.

Here is my code:

$account = \Stripe\Account::create(
array(
"country" => "US",
"managed" => true,
"legal_entity" => array(
'address' => array(
'city' => 'Maxico',
'country' => 'US',
"line1" => 'H65',
"line2" => 'standfort street',
"postal_code" => '90046',
"state" => 'CA'
),
'business_name' => 'test business name',
'business_tax_id' => '000000000',
'dob' => array(
'day' => '10',
'month' => '01',
'year' => '1988'
),
'first_name' => 'Test',
'last_name' => 'Tester',
'personal_id_number' => '000000000',
'ssn_last_4' => '0000',
'type' => 'sole_prop'
),
'tos_acceptance' => array(
'date' => time(),
'ip' => $_SERVER['REMOTE_ADDR']
),
'external_account' => array(
"country" => "US",
"currency" => "usd",
"account_holder_name" => 'Jane Austen',
"account_holder_type" => 'individual',
"routing_number" => "111000025",
"account_number" => "000123456789"
)
)
);


This is the error I am getting:


The external_account hash must include an 'object' key indicating what type of external_account to create.


Any suggestion will be appreciated.

Answer Source

Use Stripe.js to create a bank account token client-side, then use this token when creating the managed account. (This is the recommended way.)

Here's an example of a form using Stripe.js to create bank account tokens: https://jsfiddle.net/ywain/L2cefvtp/

and you'd update your code like this:

        ...
        'external_account' => 'btok_...' // token returned by Stripe.js
    )

Alternatively, you can pass the external account information from your server instead. This is not recommended, as it increases the security risk of your application. In this case, you must include the 'object' => 'bank_account' key/value pair in the array:

        ...
        'external_account' => array(
            "object" => "bank_account",
            "country" => "US",
            "currency" => "usd",
            "account_holder_name" => 'Jane Austen',
            "account_holder_type" => 'individual',
            "routing_number" => "110000000",
            "account_number" => "000123456789"
        )
    )
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download