![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/braintree/braintree_php/lib/Braintree/ |
<?php namespace Braintree; /** * Plan class object. A plan is a template for subscriptions. * * See our {@link https://developer.paypal.com/braintree/docs/reference/response/plan developer docs} for information on attributes */ class Plan extends Base { /** * Creates an instance from given attributes * * @param array $attributes response object attributes * * @return Plan */ public static function factory($attributes) { $instance = new self(); $instance->_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 class * * @see PlanGateway::all() * * @return Plan[] */ public static function all() { return Configuration::gateway()->plan()->all(); } /** * static methods redirecting to gateway class * * @param array $attributes response object attributes * * @return Plan */ public static function create($attributes) { return Configuration::gateway()->plan()->create($attributes); } /** * static methods redirecting to gateway class * * @param $id int planId * * @return Plan */ public static function find($id) { return Configuration::gateway()->plan()->find($id); } /** * static methods redirecting to gateway class * * @param $planId int planId * @param array $attributes response object attributes * * @return Plan */ public static function update($planId, $attributes) { return Configuration::gateway()->plan()->update($planId, $attributes); } }