/**
  * Returns customer's CPF based on your module configuration
  * @param Mage_Sales_Model_Order $order
  * @param Mage_Payment_Model_Method_Abstract $payment
  *
  * @return mixed
  */
 private function _getCustomerCpfValue(Mage_Sales_Model_Order $order, $payment)
 {
     $customerCpfAttribute = Mage::getStoreConfig('payment/pagseguro/customer_cpf_attribute');
     if (empty($customerCpfAttribute)) {
         //Asked with payment data
         if (isset($payment['additional_information'][$payment->getMethod() . '_cpf'])) {
             return $payment['additional_information'][$payment->getMethod() . '_cpf'];
         }
     }
     $entity = explode('|', $customerCpfAttribute);
     $cpf = '';
     if (count($entity) == 1 || $entity[0] == 'customer') {
         if (count($entity) == 2) {
             $customerCpfAttribute = $entity[1];
         }
         $customer = $order->getCustomer();
         $cpf = $customer->getData($customerCpfAttribute);
     } else {
         if (count($entity) == 2 && $entity[0] == 'billing') {
             //billing
             $cpf = $order->getShippingAddress()->getData($entity[1]);
         }
     }
     $cpfObj = new Varien_Object(array('cpf' => $cpf));
     //you can create a module to get customer's CPF from somewhere else
     Mage::dispatchEvent('ricardomartins_pagseguro_return_cpf_before', array('order' => $order, 'payment' => $payment, 'cpf_obj' => $cpfObj));
     return $cpfObj->getCpf();
 }
 /**
  * Retorna o CPF do cliente baseado na selecao realizada na configuração do modulo
  * @param Mage_Customer_Model_Customer $customer
  * @param Mage_Payment_Model_Method_Abstract $payment
  *
  * @return mixed
  */
 private function _getCustomerCpfValue(Mage_Customer_Model_Customer $customer, $payment)
 {
     $customer_cpf_attribute = Mage::getStoreConfig('payment/pagseguro/customer_cpf_attribute');
     if (empty($customer_cpf_attribute)) {
         if (isset($payment['additional_information'][$payment->getMethod() . '_cpf'])) {
             return $payment['additional_information'][$payment->getMethod() . '_cpf'];
         }
     }
     $cpf = $customer->getResource()->getAttribute($customer_cpf_attribute)->getFrontend()->getValue($customer);
     return $cpf;
 }