Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 7
0
 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;
 }
Ejemplo n.º 8
0
 /**
  * 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);
 }
Ejemplo n.º 9
0
 /**
  * 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;
 }
Ejemplo n.º 10
0
 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;
 }