public function setBaseRequest(Mage_Shipping_Model_Rate_Request $request) { $r = new Varien_Object(); $r->setAllowedMethods($this->getConfigData('allowed_methods')); $r->setWeight(ceil($request->getPackageWeight() * (double) $this->getConfigData('wt_units'))); if ($request->getOrigPostcode()) { $r->setOrigPostal($request->getOrigPostcode()); } else { $r->setOrigPostal(Mage::getStoreConfig('shipping/origin/postcode', $this->getStore())); } if ($request->getDestCountryId()) { $destCountry = $request->getDestCountryId(); } else { $destCountry = self::USA_COUNTRY_ID; } $r->setDestCountry(Mage::getModel('directory/country')->load($destCountry)->getIso2Code()); $r->setDestCountryIso3(Mage::getModel('directory/country')->load($destCountry)->getIso3Code()); $r->setDestCountryName(Mage::getModel('directory/country')->load($destCountry)->getName()); $r->setMailClass($this->getDeliveryServiceLevel($destCountry)); if ($request->getDestPostcode()) { $r->setDestPostal('US' == $r->getDestCountry() ? substr($request->getDestPostcode(), 0, 5) : $request->getDestPostcode()); } return $r; }