/** * Convert magento address to array for braintree * * @param Mage_Customer_Model_Address $address * @return array */ protected function _toBraintreeAddress($address) { $braintreeAddress = parent::_toBraintreeAddress($address); if ($braintreeAddress && in_array($address->getCountry(), $this->_countriesWithCustomRegionProcessing)) { $collection = Mage::getResourceModel('directory/region_collection')->addCountryFilter($address->getCountry())->setPageSize(1)->setCurPage(1)->addFieldToFilter('main_table.region_id', $address->getRegionId())->removeAllFieldsFromSelect()->addFieldToSelect('code'); if ($collection->getSize()) { $braintreeAddress['region'] = $collection->getFirstItem()->getCode(); } } return $braintreeAddress; }