/** * @param Mage_Customer_Model_Address_Abstract $address * * @return Payone_Api_Request_AddressCheck */ public function mapFromAddress(Mage_Customer_Model_Address_Abstract $address) { $request = $this->getFactory()->getRequestVerificationAddressCheck(); $helper = $this->helper(); $configGlobal = $this->getConfigGlobal(); $config = $this->getConfig(); // @todo move addressCheckType detection to method // @todo add option to configure used Adresschecktype externaly if ($address->getAddressType() === 'billing') { $request->setAddresschecktype($config->getCheckBilling()); // check if billing is used for shipping and shipping-address has to be checked if ($address->getUseForShipping() === true and $config->mustCheckShipping()) { $request->setAddresschecktype($config->getCheckShipping()); } } elseif ($address->getAddressType() === 'shipping') { $request->setAddresschecktype($config->getCheckShipping()); } else { throw new Exception('Invalid Address Check Type'); } $request->setAid($configGlobal->getAid()); $request->setMid($configGlobal->getMid()); $request->setMode($config->getMode()); $request->setPortalid($configGlobal->getPortalid()); $request->setKey($configGlobal->getKey()); $request->setCity($address->getCity()); $request->setCompany($address->getCompany()); $request->setCountry($address->getCountry()); $request->setFirstname($address->getFirstname()); $request->setLastname($address->getLastname()); $request->setIntegratorName('Magento'); $request->setIntegratorVersion($helper->getMagentoVersion()); $request->setSolutionName('votum'); $request->setSolutionVersion($helper->getPayoneVersion()); $request->setEncoding('UTF-8'); $request->setLanguage($helper->getDefaultLanguage()); $request->setStreet($address->getStreetFull()); $request->setTelephonenumber($address->getTelephone()); $countryId = $address->getCountryId(); if ($countryId == "US" || $countryId == "CA") { $request->setState($address->getRegionCode()); } $request->setZip($address->getPostcode()); return $request; }
/** * Check for an order address to be a billing address. * * @param Mage_Customer_Model_Address_Abstract * @return bool */ protected function _isAddressBilling(Mage_Customer_Model_Address_Abstract $address) { return $address->getAddressType() === Mage_Customer_Model_Address_Abstract::TYPE_BILLING; }
/** * Extract only the data from the addres that gets validated. * The extracted data can be compared to the data in an existing * @param Mage_Customer_Model_Address_Abstract $address * @return Mage_Customer_Model_Address_Abstract - an address object containing only the data that gets validated */ protected function _extractValidatedAddressData(Mage_Customer_Model_Address_Abstract $address) { $validatedAddress = Mage::getModel('customer/address')->setData(['street' => $address->getData('street'), 'city' => $address->getCity(), 'region_id' => $address->getRegionId(), 'country_id' => $address->getCountryId(), 'postcode' => $address->getPostcode(), 'address_type' => $address->getAddressType()]); return $validatedAddress; }
/** * Add a newly validated address. Validated addresses are stored by * type to prevent collisions. * * @param Mage_Customer_Model_Address_Abstract $address The address to add to the validated address container * @return EbayEnterprise_Address_Model_Suggestion_Group */ public function addValidatedAddress(Mage_Customer_Model_Address_Abstract $address) { $type = $address->getAddressType() ?: 'customer'; $this->_getValidatedAddresses()->setData($type, $address); return $this; }