/** * @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; }
/** * Store date and score to customerAddress. * If the quoteAddress is not a saved customerAddress we do nothing * If it gets saved to the addressBook at end of checkout Magento´ convert functionality saves the data for us * * @param Mage_Customer_Model_Address_Abstract $address * @return bool */ public function saveCustomerAddress(Mage_Customer_Model_Address_Abstract $address) { $customerAddressId = $address->getCustomerAddressId(); if (empty($customerAddressId)) { return false; } $customerAddress = $this->getFactory()->getModelCustomerAddress(); $customerAddress->load($customerAddressId); if (!$customerAddress->hasData()) { return false; } $customerAddress->setData($this->prefix . '_score', $address->getData($this->prefix . '_score')); $customerAddress->setData($this->prefix . '_date', $address->getData($this->prefix . '_date')); $customerAddress->setData($this->prefix . '_hash', $address->getData($this->prefix . '_hash')); $customerAddress->setCity($address->getCity()); $customerAddress->setStreetFull($address->getStreetFull()); $customerAddress->setZip($address->getZip()); $customerAddress->save(); return true; }
/** * @param Mage_Customer_Model_Address_Abstract $address * @return Payone_Api_Request_Consumerscore */ public function mapFromAddress(Mage_Customer_Model_Address_Abstract $address) { $factory = $this->getFactory(); $request = $factory->getRequestVerificationConsumerScore(); $helper = $this->helper(); $configGlobal = $this->getConfigGlobal(); $config = $this->getConfig(); $request->setConsumerscoretype($config->getType()); $request->setAddresschecktype(Payone_Api_Enum_AddressCheckType::NONE); $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()); if ($customerId = $address->getCustomerId()) { $customer = $factory->getModelCustomer(); $customer->load($customerId); $date = $customer->getDob(); $date = date('Ymd', strtotime($date)); $request->setBirthday($date); } $request->setEncoding('UTF-8'); $request->setLanguage($helper->getDefaultLanguage()); $request->setStreet($address->getStreetFull()); $request->setTelephonenumber($address->getTelephone()); $request->setZip($address->getPostcode()); return $request; }
/** * @param Mage_Customer_Model_Address_Abstract $address * @return array */ protected function _getAddressData(Mage_Customer_Model_Address_Abstract $address) { $data = array(); if ($address) { $data['name'] = $address->getName(); $data['address'] = $address->getStreetFull(); $data['city'] = $address->getCity(); $data['postcode'] = $address->getPostcode(); $data['country'] = $address->getCountry(); $data['state'] = $address->getRegion() ? $address->getRegion() : ''; } return $data; }
/** * generates hash from address data * * @param Mage_Sales_Model_Quote_Address $address the address data to hash * * @returns sha1 hash of address */ public function generateAddressHash(Mage_Customer_Model_Address_Abstract $address) { $addressString = $address->getFirstname(); $addressString .= $address->getMiddlename(); $addressString .= $address->getLastname(); $addressString .= $address->getCompany(); $street = $address->getStreetFull(); if (is_array($street)) { $street = implode('', $street); } $addressString .= $street; $addressString .= $address->getPostcode(); $addressString .= $address->getCity(); $addressString .= $address->getCountryId(); return sha1($addressString); }
/** * Retrieves street name, house number and house number extension from the shipping address. * The shipping address may be in multiple street lines configuration or single line configuration. In the case of * multi-line, each part of the street data will be in a separate field. In the single line configuration, each part * will be in the same field and will have to be split using PREG. * * @param Mage_Customer_Model_Address_Abstract $address * * @return array */ public function getStreetData($address) { $fullStreet = $address->getStreetFull(); if ($address->getCountry() != 'NL') { $fullStreet = $this->_getInternationalFullStreet($address); $streetData = array('streetname' => $fullStreet, 'housenumber' => '', 'housenumberExtension' => '', 'fullStreet' => ''); return $streetData; } /** * Split the address using PREG. * @var TIG_MyParcel2014_Helper_Data $this */ $streetData = $this->_getSplitStreetData($fullStreet); return $streetData; }
/** * Transfer data from a Magento customer address to a ROM SDK * PhysicalAddress payload. * * @param Mage_Customer_Model_Address_Abstract * @param IPhysicalAddress * @return IPhysicalAddress */ public function customerAddressToPhysicalAddressPayload(Mage_Customer_Model_Address_Abstract $address, IPhysicalAddress $payload) { return $payload->setLines($address->getStreetFull())->setCity($address->getCity())->setMainDivision($address->getRegionId())->setCountryCode($address->getCountryId())->setPostalCode($address->getPostcode()); }
/** * 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; }