/** * Update eWAY token customer record. * * @param Varien_Object $paymentData * @param Varien_Object $storedData * @return bool */ public function updateCustomer($paymentData, $storedData = null) { $soapMethod = Fontis_EwayAu_Model_Token_Request::UPDATE_CUSTOMER; $data = $this->getRequestData($soapMethod, $paymentData); if (isset($storedData)) { $newCustomerData = $data->getUpdateCustomerArray(); $cardExpired = true; if (isset($newCustomerData['CCExpiryMonth']) && isset($newCustomerData['CCExpiryYear'])) { $cardExpired = $this->getTokenHelper()->hasCreditCardExpired($newCustomerData['CCExpiryMonth'], $newCustomerData['CCExpiryYear']); unset($newCustomerData['CCExpiryMonth']); unset($newCustomerData['CCExpiryYear']); } if (!$cardExpired) { $changeFound = false; $usedFields = $data->getUsedCustomerFields(); foreach ($usedFields as $field) { $storedDataField = $storedData->__get($field); if (!isset($newCustomerData[$field]) && !empty($storedDataField)) { $changeFound = true; break; } elseif ($field == 'CCNumber' && $this->getTokenHelper()->hasCreditCardNumberChanged($newCustomerData[$field], $storedDataField)) { $changeFound = true; break; } elseif ($newCustomerData[$field] != $storedDataField) { $changeFound = true; break; } } if ($changeFound === false) { return false; } } } $response = $this->getRequest()->execute($soapMethod, $data->getUpdateCustomerArray()); if ($response instanceof Fontis_EwayAu_Model_Token_Response) { $response->process(); } return $response->isRequestSuccessful(); }