protected function _initialize($attributes) { $this->_attributes = $attributes; if (isset($attributes['subject']['apiErrorResponse'])) { $wrapperNode = $attributes['subject']['apiErrorResponse']; } else { $wrapperNode = $attributes['subject']; } if (isset($wrapperNode['subscription'])) { $this->_set('subscription', Subscription::factory($attributes['subject']['subscription'])); } if (isset($wrapperNode['merchantAccount'])) { $this->_set('merchantAccount', MerchantAccount::factory($wrapperNode['merchantAccount'])); } if (isset($wrapperNode['transaction'])) { $this->_set('transaction', Transaction::factory($wrapperNode['transaction'])); } if (isset($wrapperNode['disbursement'])) { $this->_set('disbursement', Disbursement::factory($wrapperNode['disbursement'])); } if (isset($wrapperNode['partnerMerchant'])) { $this->_set('partnerMerchant', PartnerMerchant::factory($wrapperNode['partnerMerchant'])); } if (isset($wrapperNode['dispute'])) { $this->_set('dispute', Dispute::factory($wrapperNode['dispute'])); } if (isset($wrapperNode['accountUpdaterDailyReport'])) { $this->_set('accountUpdaterDailyReport', AccountUpdaterDailyReport::factory($wrapperNode['accountUpdaterDailyReport'])); } if (isset($wrapperNode['errors'])) { $this->_set('errors', new Error\ValidationErrorCollection($wrapperNode['errors'])); $this->_set('message', $wrapperNode['message']); } }
/** * sets instance properties from an array of values * * @ignore * @access protected * @param array $transactionAttribs array of transaction data * @return void */ protected function _initialize($transactionAttribs) { $this->_attributes = $transactionAttribs; if (isset($transactionAttribs['applePay'])) { $this->_set('applePayCardDetails', new Transaction\ApplePayCardDetails($transactionAttribs['applePay'])); } if (isset($transactionAttribs['androidPayCard'])) { $this->_set('androidPayCardDetails', new Transaction\AndroidPayCardDetails($transactionAttribs['androidPayCard'])); } if (isset($transactionAttribs['amexExpressCheckoutCard'])) { $this->_set('amexExpressCheckoutCardDetails', new Transaction\AmexExpressCheckoutCardDetails($transactionAttribs['amexExpressCheckoutCard'])); } if (isset($transactionAttribs['venmoAccount'])) { $this->_set('venmoAccountDetails', new Transaction\VenmoAccountDetails($transactionAttribs['venmoAccount'])); } if (isset($transactionAttribs['creditCard'])) { $this->_set('creditCardDetails', new Transaction\CreditCardDetails($transactionAttribs['creditCard'])); } if (isset($transactionAttribs['coinbaseAccount'])) { $this->_set('coinbaseDetails', new Transaction\CoinbaseDetails($transactionAttribs['coinbaseAccount'])); } if (isset($transactionAttribs['europeBankAccount'])) { $this->_set('europeBankAccount', new Transaction\EuropeBankAccountDetails($transactionAttribs['europeBankAccount'])); } if (isset($transactionAttribs['usBankAccount'])) { $this->_set('usBankAccount', new Transaction\UsBankAccountDetails($transactionAttribs['usBankAccount'])); } if (isset($transactionAttribs['paypal'])) { $this->_set('paypalDetails', new Transaction\PayPalDetails($transactionAttribs['paypal'])); } if (isset($transactionAttribs['customer'])) { $this->_set('customerDetails', new Transaction\CustomerDetails($transactionAttribs['customer'])); } if (isset($transactionAttribs['billing'])) { $this->_set('billingDetails', new Transaction\AddressDetails($transactionAttribs['billing'])); } if (isset($transactionAttribs['shipping'])) { $this->_set('shippingDetails', new Transaction\AddressDetails($transactionAttribs['shipping'])); } if (isset($transactionAttribs['subscription'])) { $this->_set('subscriptionDetails', new Transaction\SubscriptionDetails($transactionAttribs['subscription'])); } if (isset($transactionAttribs['descriptor'])) { $this->_set('descriptor', new Descriptor($transactionAttribs['descriptor'])); } if (isset($transactionAttribs['disbursementDetails'])) { $this->_set('disbursementDetails', new DisbursementDetails($transactionAttribs['disbursementDetails'])); } $disputes = []; if (isset($transactionAttribs['disputes'])) { foreach ($transactionAttribs['disputes'] as $dispute) { $disputes[] = Dispute::factory($dispute); } } $this->_set('disputes', $disputes); $statusHistory = []; if (isset($transactionAttribs['statusHistory'])) { foreach ($transactionAttribs['statusHistory'] as $history) { $statusHistory[] = new Transaction\StatusDetails($history); } } $this->_set('statusHistory', $statusHistory); $addOnArray = []; if (isset($transactionAttribs['addOns'])) { foreach ($transactionAttribs['addOns'] as $addOn) { $addOnArray[] = AddOn::factory($addOn); } } $this->_set('addOns', $addOnArray); $discountArray = []; if (isset($transactionAttribs['discounts'])) { foreach ($transactionAttribs['discounts'] as $discount) { $discountArray[] = Discount::factory($discount); } } $this->_set('discounts', $discountArray); if (isset($transactionAttribs['riskData'])) { $this->_set('riskData', RiskData::factory($transactionAttribs['riskData'])); } if (isset($transactionAttribs['threeDSecureInfo'])) { $this->_set('threeDSecureInfo', ThreeDSecureInfo::factory($transactionAttribs['threeDSecureInfo'])); } if (isset($transactionAttribs['facilitatorDetails'])) { $this->_set('facilitatorDetails', FacilitatorDetails::factory($transactionAttribs['facilitatorDetails'])); } }