if (!empty($publicKey)) {
            Braintree_Configuration::publicKey($publicKey);
        }
        if (!empty($privateKey)) {
            Braintree_Configuration::privateKey($privateKey);
        }
        return true;
    }
    public function get($config)
    {
        switch ($config) {
            case 'environment':
                return Braintree_Configuration::environment();
                break;
            case 'merchantId':
                return Braintree_Configuration::merchantId();
                break;
            case 'publicKey':
                return Braintree_Configuration::publicKey();
                break;
            case 'privateKey':
                return Braintree_Configuration::privateKey();
                break;
            default:
                return false;
                break;
        }
    }
}
BraintreeConfig::set(array('environment' => Configure::read('Braintree.environment'), 'merchantId' => Configure::read('Braintree.merchantId'), 'publicKey' => Configure::read('Braintree.publicKey'), 'privateKey' => Configure::read('Braintree.privateKey')));
 /**
  * Update Transaction Statuses
  * 
  * Loops through all locally stored transactions with the 'authorized' or 'submittd_for_settlement' status, 
  * checks to see if the status in the API has changed, and updates the local status accordingly.
  *
  * @access public
  * @return void
  */
 public function update_transaction_statuses()
 {
     $this->info('BEGIN: Update Transaction Statuses');
     if (!empty($this->args[0])) {
         $this->environment = $this->args[0];
     }
     foreach (array('BraintreeTransaction', 'BraintreeRemoteTransaction') as $model_name) {
         if (!isset($this->{$model_name})) {
             $this->{$model_name} = ClassRegistry::init('Braintree.' . $model_name);
         }
     }
     $this->BraintreeTransaction->remote_sync = false;
     $transactions = $this->BraintreeTransaction->find('all', array('conditions' => array('BraintreeTransaction.status' => array('authorized', 'submitted_for_settlement')), 'order' => array('BraintreeTransaction.created' => 'asc'), 'contain' => array('BraintreeMerchant')));
     foreach ($transactions as $transaction) {
         if (empty($transaction['BraintreeMerchant']['id'])) {
             continue;
         }
         BraintreeConfig::set(array('environment' => $this->environment, 'merchantId' => $transaction['BraintreeMerchant']['id'], 'publicKey' => $transaction['BraintreeMerchant']['braintree_public_key'], 'privateKey' => $transaction['BraintreeMerchant']['braintree_private_key']));
         $remote_transaction = $this->BraintreeRemoteTransaction->find('first', array('conditions' => array('BraintreeRemoteTransaction.id' => $transaction['BraintreeTransaction']['id']), 'contain' => false));
         if (!empty($remote_transaction['BraintreeRemoteTransaction']['status']) && $transaction['BraintreeTransaction']['status'] != $remote_transaction['BraintreeRemoteTransaction']['status'] && $remote_transaction['BraintreeRemoteTransaction']['status'] != 'settling') {
             $this->BraintreeTransaction->id = $transaction['BraintreeTransaction']['id'];
             if ($this->BraintreeTransaction->saveField('status', $remote_transaction['BraintreeRemoteTransaction']['status'])) {
                 $this->success('Successfully updated status for BraintreeTransaction.id ' . $transaction['BraintreeTransaction']['id'] . ' to ' . $remote_transaction['BraintreeRemoteTransaction']['status']);
             } else {
                 $this->error('Could not save status for BraintreeTransaction.id ' . $transaction['BraintreeTransaction']['id'] . ' to ' . $remote_transaction['BraintreeRemoteTransaction']['status'], false);
             }
         }
     }
     $this->info('END: Update Transaction Statuses');
 }