public function createMerchant(
        $email_address = null,
        $merchant = null,
        $bank_account_href = null,
        $name = null,
        $meta = null)
    {
        $params = array(
            'email_address' => $email_address,
            'name' => $name,
            'meta' => $meta,
        );
        if($merchant) {
            $params = array_merge($params, $merchant);
        }
        $customer = $this->customers->create();
        if($bank_account_href) {
            $bank_account = BankAccount::get($bank_account_href);
            $bank_account->associateToCustomer($customer);
        }
        return $customer;
    }
public function createMerchant(
        $email_address = null,
        $merchant = null,
        $bank_account_href = null,
        $name = null,
        $meta = null)
    {
        $params = array(
            'email_address' => $email_address,
            'name' => $name,
            'meta' => $meta,
        );
        if($merchant) {
            $params = array_merge($params, $merchant);
        }
        $customer = $this->customers->create();
        if($bank_account_href) {
            $bank_account = BankAccount::get($bank_account_href);
            $bank_account->associateToCustomer($customer);
        }
        return $customer;
    }
public function createMerchant ( $ email_address = null , $ merchant = null , $ bank_account_href = null , $ name = null , $ meta = null ) { $ params = array ( 'email_address' => $ email_address , 'name' => $ name , 'meta' => $ meta , ) ; if ( $ merchant ) { $ params = array_merge ( $ params , $ merchant ) ; } $ customer = $ this -> customers -> create ( ) ; if ( $ bank_account_href ) { $ bank_account = BankAccount :: get ( $ bank_account_href ) ; $ bank_account -> associateToCustomer ( $ customer ) ; } return $ customer ; }
Create a merchant account.

Unlike buyers the identity of a merchant must be established before
the account can function as a merchant (i.e. be credited). A merchant
can be either a person or a business. Either way that information is
represented as an associative array and passed as the merchant parameter
when creating the merchant account.

For a person the array looks like this:

<code>
array(
'type' => 'person',
'name' => 'William James',
'tax_id' => '393-48-3992',
'street_address' => '167 West 74th Street',
'postal_code' => '10023',
'dob' => '1842-01-01',
'phone_number' => '+16505551234',
'country_code' => 'USA'
)
</code>

For a business the array looks like this:

<code>
array(
'type' => 'business',
'name' => 'Levain Bakery',
'tax_id' => '253912384',
'street_address' => '167 West 74th Street',
'postal_code' => '10023',
'phone_number' => '+16505551234',
'country_code' => 'USA',
'person' => array(
'name' => 'William James',
'tax_id' => '393483992',
'street_address' => '167 West 74th Street',
'postal_code' => '10023',
'dob' => '1842-01-01',
'phone_number' => '+16505551234',
'country_code' => 'USA',
)
)
</code>

In some cases the identity of the merchant, person or business, cannot
be verified in which case a \Balanced\Exceptions\HTTPError is thrown:

<code>
$identity = array(
'type' => 'business',
'name' => 'Levain Bakery',
'tax_id' => '253912384',
'street_address' => '167 West 74th Street',
'postal_code' => '10023',
'phone_number' => '+16505551234',
'country_code' => 'USA',
'person' => array(
'name' => 'William James',
'tax_id' => '393483992',
'street_address' => '167 West 74th Street',
'postal_code' => '10023',
'dob' => '1842-01-01',
'phone_number' => '+16505551234',
'country_code' => 'USA',
),
);

try {
$merchant = \Balanced\Marketplace::mine()->createMerchant(
'merchant@example.com',
$identity,
);
catch (\Balanced\Exceptions\HTTPError $e) {
if ($e->code != 300) {
throw $e;
}
print e->response->header['Location'] // this is where merchant must signup
}
</code>

Once the merchant has completed signup you can use the resulting URI to
create an account for them on your marketplace:

<code>
$merchant = self::$marketplace->createMerchant(
'merchant@example.com',
null,
null,
$merchant_uri
);
</coe>

@param string email_address Optional email address. There can only be one account with this email address.
@param array[string]mixed merchant Associative array describing the merchants identity.
@param string $bank_account_uri Optional URI referencing a bank account to associate with this account.
@param string $merchant_uri URI of a merchant created via the redirection sign-up flow.
@param string $name Optional name of the merchant.
@param array[string]string meta Optional metadata to associate with the account.

@return \Balanced\Account
Create a merchant account .