/** * Sets attributes from the Mage address on the AvaTax Request address. * * @return $this */ protected function _convertRequestAddress() { if (!$this->_requestAddress) { $this->_requestAddress = new Address(); } $this->_requestAddress->setLine1($this->_mageAddress->getStreet(1)); $this->_requestAddress->setLine2($this->_mageAddress->getStreet(2)); $this->_requestAddress->setCity($this->_mageAddress->getCity()); $this->_requestAddress->setRegion($this->_mageAddress->getRegionCode()); $this->_requestAddress->setCountry($this->_mageAddress->getCountry()); $this->_requestAddress->setPostalCode($this->_mageAddress->getPostcode()); return $this; }
/** * @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; }
/** * Transfer physical address data from the order address to the physical * address payload. * * @param Mage_Customer_Model_Address_Abstract * @param IPhysicalAddress * @return IPhysicalAddress */ protected function _transferPhysicalAddressData(Mage_Customer_Model_Address_Abstract $address, IPhysicalAddress $physicalAddress) { return $physicalAddress->setLines($address->getStreet(-1))->setCity($address->getCity())->setMainDivision($address->getRegionCode())->setCountryCode($address->getCountryId())->setPostalCode($address->getPostcode())->setPhone($address->getTelephone()); }
/** * Extract array of address data - street, city, region code, etc. from an address object * @param Mage_Customer_Model_Address_Abstract $address Address object to pull data from * @return array Extracted data */ protected function _extractAddressData(Mage_Customer_Model_Address_Abstract $address) { return array('street' => $address->getStreet(), 'city' => $address->getCity(), 'region_code' => $address->getRegionCode(), 'country_id' => $address->getCountryId(), 'postcode' => $address->getPostcode()); }
/** * If the country for the Address is US then get the 2 character ISO region code; * otherwise, for any other country get the fully qualified region name. * * @param Mage_Customer_Model_Address_Abstract * @return string */ protected function getRegion(Mage_Customer_Model_Address_Abstract $address) { return $address->getCountry() === 'US' ? $address->getRegionCode() : $address->getRegion(); }
/** * Transfer data from a Magento address model to a physical address payload. * * @param Mage_Customer_Model_Address_Abstract * @param IPhysicalAddress * @return self */ public function transferAddressToPhysicalAddressPayload(Mage_Customer_Model_Address_Abstract $address, IPhysicalAddress $addressPayload) { $addressPayload->setLines($address->getStreetFull())->setCity($address->getCity())->setMainDivision($address->getRegionCode())->setCountryCode($address->getCountry())->setPostalCode($address->getPostcode()); return $this; }
protected function getAddress(Mage_Customer_Model_Address_Abstract $address) { $taxAddress = new AvaTax\Address(); $taxAddress->setLine1($this->limit($address->getStreet1(), 50)); $taxAddress->setLine2($this->limit($address->getStreet2(), 50)); $taxAddress->setLine3($this->limit($address->getStreet3(), 50)); $taxAddress->setCity($this->limit($address->getCity(), 50)); $taxAddress->setRegion($this->limit($address->getRegionCode(), 3)); $taxAddress->setCountry($this->limit($address->getCountryId(), 2)); $taxAddress->setPostalCode($this->limit($address->getPostcode(), 11)); return $taxAddress; }
/** * extracts the region code in iso format (if possible) * * @param Mage_Customer_Model_Address_Abstract $address * * @return string - the regin code in iso format */ public function getIsoRegionCode(Mage_Customer_Model_Address_Abstract $address) { $regionCode = trim($address->getRegionCode()); $countryCode = $address->getCountry(); if ($this->isAlreadyIsoCode($regionCode, $countryCode)) { return $regionCode; } if (0 === strpos($regionCode, $countryCode . '-')) { return str_replace($countryCode . '-', '', $regionCode); } return $this->getRegionCodeFromMapping($countryCode, $regionCode); }
/** * Creates a hash from an addresses key data * * @param Mage_Customer_Model_Address_Abstract $address * @return string */ public function createAddressHash(Mage_Customer_Model_Address_Abstract $address) { $values = $address->getFirstname() . $address->getLastname() . $address->getStreetFull() . $address->getPostcode() . $address->getCity() . $address->getRegionCode() . $address->getCountry(); $hash = md5($values); return $hash; }
protected function getAddress($code, Mage_Customer_Model_Address_Abstract $address) { $data = array('Line1' => $this->limit($address->getStreet1(), 50), 'Line2' => $this->limit($address->getStreet2(), 50), 'Line3' => $this->limit($address->getStreet3(), 50), 'City' => $this->limit($address->getCity(), 50), 'Region' => $this->limit($address->getRegionCode(), 3), 'Country' => $this->limit($address->getCountryId(), 2), 'PostalCode' => $this->limit($address->getPostcode(), 11)); $data = array_filter($data); if ($code && !empty($data)) { $data['AddressCode'] = $code; } return $data; }