_initialize($attributes); return $instance; } protected function _initialize($attributes) { $this->_attributes = $attributes; $addOnArray = []; if (isset($attributes['addOns'])) { foreach ($attributes['addOns'] AS $addOn) { $addOnArray[] = AddOn::factory($addOn); } } $this->_attributes['addOns'] = $addOnArray; $discountArray = []; if (isset($attributes['discounts'])) { foreach ($attributes['discounts'] AS $discount) { $discountArray[] = Discount::factory($discount); } } $this->_attributes['discounts'] = $discountArray; $planArray = []; if (isset($attributes['plans'])) { foreach ($attributes['plans'] AS $plan) { $planArray[] = self::factory($plan); } } $this->_attributes['plans'] = $planArray; } // static methods redirecting to gateway public static function all() { return Configuration::gateway()->plan()->all(); } } class_alias('Braintree\Plan', 'Braintree_Plan');