/** * 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( * '*****@*****.**', * $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( * '*****@*****.**', * 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 */ 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; }
function testGetBankAccounById() { $bank_account = self::_createBankAccount(); $bank_account_2 = BankAccount::get($bank_account->id); $this->assertEquals($bank_account_2->id, $bank_account->id); }
/** * @param $uri * @return \Balanced\BankAccount */ public function getBankAccount($uri) { return \Balanced\BankAccount::get($uri); }