[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/externals/balanced-php/src/Balanced/ -> Marketplace.php (summary)

(no description)

File Size: 325 lines (11 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

Marketplace:: (9 methods):
  init()
  mine()
  createCard()
  createBankAccount()
  createAccount()
  findOrCreateAccountByEmailAddress()
  createBuyer()
  createMerchant()
  createCallback()


Class: Marketplace  - X-Ref

Represents a marketplace.

To get started you create an api key and then create a marketplace:

<code>
$api_key = new \Balanced\APIKey();
$api_key->save();
$secret = $api_key->secret  // better save this somewhere
print $secret;
\Balanced\Settings::$api_key = $secret;

$marketplace = new \Balanced\Marketplace();
$marketplace->save();
var_dump($marketplace);
</code>

Each api key is uniquely associated with an api key so once you've created a
marketplace:

<code>
\Balanced\Settings::$api_key = $secret;
$marketplace = \Balanced\Marketplace::mine();  // this is the marketplace associated with $secret
</code>
init()   X-Ref
No description

mine()   X-Ref
Get the marketplace associated with the currently configured
\Balanced\Settings::$api_key.

return: \Balanced\Marketplace

createCard($street_address,$city,$region,$postal_code,$name,$card_number,$security_code,$expiration_month,$expiration_year)   X-Ref
Create a card. These can later be associated with an account using
\Balanced\Account->addCard or \Balanced\Marketplace->createBuyer.

param: string street_address Street address. Use null if there is no address for the card.
param: string city City. Use null if there is no address for the card.
param: string postal_code Postal code. Use null if there is no address for the card.
param: string name Name as it appears on the card.
param: string card_number Card number.
param: string security_code Card security code. Use null if it is no available.
param: int expiration_month Expiration month.
param: int expiration_year Expiration year.
return: \Balanced\Card

createBankAccount($name,$account_number,$routing_number,$type,$meta = null)   X-Ref
Create a bank account. These can later be associated with an account
using \Balanced\Account->addBankAccount.

param: string name Name of the account holder.
param: string account_number Account number.
param: string routing_number Bank code or routing number.
param: string type checking or savings
param: array meta Single level mapping from string keys to string values.
return: \Balanced\BankAccount

createAccount($email_address = null, $meta = null)   X-Ref
Create a role-less account. You can later turn this into a buyer by
adding a funding source (e.g a card) or a merchant using
\Balanced\Account->promoteToMerchant.

param: string email_address Optional email address. There can only be one account with this email address.
param: array[string]string meta Optional metadata to associate with the account.
return: \Balanced\Account

findOrCreateAccountByEmailAddress($email_address)   X-Ref
Find or create a role-less account by email address. You can later turn
this into a buyer by adding a funding source (e.g a card) or a merchant
using \Balanced\Account->promoteToMerchant.

param: string email_address Email address. There can only be one account with this email address.
return: \Balanced\Account

createBuyer($email_address, $card_uri, $meta = null, $name = null)   X-Ref
Create a buyer account.

param: string email_address Optional email address. There can only be one account with this email address.
param: string card_uri URI referencing a card to associate with the account.
param: array[string]string meta Optional metadata to associate with the account.
param: string name Optional name of the account.
return: \Balanced\Account

createMerchant($email_address = null,$merchant = null,$bank_account_uri = null,$merchant_uri = null,$name = null,$meta = null)   X-Ref
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(
'[email protected]',
$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(
'[email protected]',
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

createCallback($url)   X-Ref
No description



Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1