default; } /** * checks whether the card is expired based on the current date * * @return boolean */ public function isExpired() { return $this->expired; } /** * sets instance properties from an array of values * * @access protected * @param array $creditCardAttribs array of creditcard data * @return void */ protected function _initialize($creditCardAttribs) { // set the attributes $this->_attributes = $creditCardAttribs; // map each address into its own object $billingAddress = isset($creditCardAttribs['billingAddress']) ? Address::factory($creditCardAttribs['billingAddress']) : null; $subscriptionArray = []; if (isset($creditCardAttribs['subscriptions'])) { foreach ($creditCardAttribs['subscriptions'] AS $subscription) { $subscriptionArray[] = Subscription::factory($subscription); } } $this->_set('subscriptions', $subscriptionArray); $this->_set('billingAddress', $billingAddress); $this->_set('expirationDate', $this->expirationMonth . '/' . $this->expirationYear); $this->_set('maskedNumber', $this->bin . '******' . $this->last4); } /** * returns false if comparing object is not a SamsungPayCard, * or is a SamsungPayCard with a different id * * @param object $otherSamsungPayCard customer to compare against * @return boolean */ public function isEqual($otherSamsungPayCard) { return !($otherSamsungPayCard instanceof self) ? false : $this->token === $otherSamsungPayCard->token; } /** * create a printable representation of the object as: * ClassName[property=value, property=value] * @return string */ public function __toString() { return __CLASS__ . '[' . Util::attributesToString($this->_attributes) .']'; } /** * factory method: returns an instance of SamsungPayCard * to the requesting method, with populated properties * * @ignore * @return SamsungPayCard */ public static function factory($attributes) { $defaultAttributes = [ 'bin' => '', 'expirationMonth' => '', 'expirationYear' => '', 'last4' => '', ]; $instance = new self(); $instance->_initialize(array_merge($defaultAttributes, $attributes)); return $instance; } } class_alias('Braintree\SamsungPayCard', 'Braintree_SamsungPayCard');