/** * Build a Magento address model into a Braintree array * * @param Mage_Sales_Model_Order_Address|Mage_Sales_Model_Quote_Address|Mage_Customer_Model_Address $address * * @return array */ private function buildAddress($address) { // Build up the initial array $return = array('firstName' => $address->getFirstname(), 'lastName' => $address->getLastname(), 'streetAddress' => $address->getStreet1(), 'locality' => $address->getCity(), 'postalCode' => $address->getPostcode(), 'countryCodeAlpha2' => $address->getCountry()); // Any extended address? if ($address->getStreet2()) { $return['extendedAddress'] = $address->getStreet2(); } // Region if ($address->getRegion()) { $return['region'] = $address->getRegionCode(); } // Check to see if we have a company if ($address->getCompany()) { $return['company'] = $address->getCompany(); } return $return; }
/** * Add an address to a payload * * @param Mage_Sales_Model_Address_Abstract * @param IShippingAddress * @return self */ protected function addShippingAddress(Mage_Sales_Model_Quote_Address $shippingAddress, IShippingAddress $payload) { $payload->setShipToLines(implode('\\n', $shippingAddress->getStreet())); $payload->setShipToCity($shippingAddress->getCity()); $payload->setShipToMainDivision($shippingAddress->getRegionCode()); $payload->setShipToCountryCode($shippingAddress->getCountryId()); $payload->setShipToPostalCode($shippingAddress->getPostcode()); return $this; }
/** * * compares two addresses * * @param Mage_Sales_Model_Quote_Address $address1 - first address to compare * @param Mage_Sales_Model_Quote_Address $address2 - second address to compare * @return boolean - true if both addresses are equal, false otherwise */ private function addressesAreEqual(Mage_Sales_Model_Quote_Address $address1, Mage_Sales_Model_Quote_Address $address2) { $comparismResult = false; $street1 = $this->normalizeStreet($address1->getStreetFull()); $street2 = $this->normalizeStreet($address2->getStreetFull()); $city1 = $this->normalizeStreet($address1->getCity()); $city2 = $this->normalizeStreet($address2->getCity()); $zipCode1 = $address1->getPostcode(); $zipCode2 = $address2->getPostcode(); if ($street1 == $street2 && $zipCode1 == $zipCode2 && $city1 == $city2) { $comparismResult = true; } return $comparismResult; }
/** * Convert quote address to order address * * @param Mage_Sales_Model_Quote_Address $address * @return Mage_Sales_Model_Order_Address */ public function addressToOrderAddress(Mage_Sales_Model_Quote_Address $address) { $orderAddress = Mage::getModel('sales/order_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet(-1))->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax()); return $orderAddress; }
/** * returns postcode * * @param Mage_Sales_Model_Quote_Address $address * @return string */ protected function _getPostcode($address) { return $address->getPostcode(); }