コード例 #1
0
 /**
  * @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;
 }