-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMerchantAccount.php
64 lines (51 loc) · 2.11 KB
/
MerchantAccount.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
namespace Braintree;
class MerchantAccount extends Base
{
const STATUS_ACTIVE = 'active';
const STATUS_PENDING = 'pending';
const STATUS_SUSPENDED = 'suspended';
const FUNDING_DESTINATION_BANK = 'bank';
const FUNDING_DESTINATION_EMAIL = 'email';
const FUNDING_DESTINATION_MOBILE_PHONE = 'mobile_phone';
public static function factory($attributes)
{
$instance = new self();
$instance->_initialize($attributes);
return $instance;
}
protected function _initialize($merchantAccountAttribs)
{
$this->_attributes = $merchantAccountAttribs;
if (isset($merchantAccountAttribs['individual'])) {
$individual = $merchantAccountAttribs['individual'];
$this->_set('individualDetails', MerchantAccount\IndividualDetails::Factory($individual));
}
if (isset($merchantAccountAttribs['business'])) {
$business = $merchantAccountAttribs['business'];
$this->_set('businessDetails', MerchantAccount\BusinessDetails::Factory($business));
}
if (isset($merchantAccountAttribs['funding'])) {
$funding = $merchantAccountAttribs['funding'];
$this->_set('fundingDetails', new MerchantAccount\FundingDetails($funding));
}
if (isset($merchantAccountAttribs['masterMerchantAccount'])) {
$masterMerchantAccount = $merchantAccountAttribs['masterMerchantAccount'];
$this->_set('masterMerchantAccount', self::Factory($masterMerchantAccount));
}
}
// static methods redirecting to gateway
public static function create($attribs)
{
return Configuration::gateway()->merchantAccount()->create($attribs);
}
public static function find($merchant_account_id)
{
return Configuration::gateway()->merchantAccount()->find($merchant_account_id);
}
public static function update($merchant_account_id, $attributes)
{
return Configuration::gateway()->merchantAccount()->update($merchant_account_id, $attributes);
}
}
class_alias('Braintree\MerchantAccount', 'Braintree_MerchantAccount');