/**
  * Processes order status and return information about order status and state
  * Doesn' change anything to the order. Just returns an object showing what to do.
  * @param $statusCode
  * @return Varien_Object
  */
 public function processStatus($statusCode)
 {
     $return = new Varien_Object();
     $return->setStateChanged(true);
     $return->setIsTransactionPending(true);
     //payment is pending?
     switch ($statusCode) {
         case '1':
             $return->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT);
             $return->setIsCustomerNotified($this->getCode() != 'pagseguro_cc');
             if ($this->getCode() == 'pagseguro_cc') {
                 $return->setStateChanged(false);
             }
             $return->setMessage('Aguardando pagamento: o comprador iniciou a transação,
             mas até o momento o PagSeguro não recebeu nenhuma informação sobre o pagamento.');
             break;
         case '2':
             $return->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW);
             $return->setIsCustomerNotified(true);
             $return->setMessage('Em análise: o comprador optou por pagar com um cartão de crédito e
                 o PagSeguro está analisando o risco da transação.');
             break;
         case '3':
             $return->setState(Mage_Sales_Model_Order::STATE_PROCESSING);
             $return->setIsCustomerNotified(true);
             $return->setMessage('Paga: a transação foi paga pelo comprador e o PagSeguro já recebeu uma confirmação
                 da instituição financeira responsável pelo processamento.');
             $return->setIsTransactionPending(false);
             break;
         case '4':
             $return->setMessage('Disponível: a transação foi paga e chegou ao final de seu prazo de liberação sem
                 ter sido retornada e sem que haja nenhuma disputa aberta.');
             $return->setIsCustomerNotified(false);
             $return->setStateChanged(false);
             $return->setIsTransactionPending(false);
             break;
         case '5':
             $return->setState(Mage_Sales_Model_Order::STATE_PROCESSING);
             $return->setIsCustomerNotified(false);
             $return->setIsTransactionPending(false);
             $return->setMessage('Em disputa: o comprador, dentro do prazo de liberação da transação,
                 abriu uma disputa.');
             break;
         case '6':
             $return->setState(Mage_Sales_Model_Order::STATE_CLOSED);
             $return->setIsCustomerNotified(false);
             $return->setIsTransactionPending(false);
             $return->setMessage('Devolvida: o valor da transação foi devolvido para o comprador.');
             break;
         case '7':
             $return->setState(Mage_Sales_Model_Order::STATE_CANCELED);
             $return->setIsCustomerNotified(true);
             $return->setMessage('Cancelada: a transação foi cancelada sem ter sido finalizada.');
             break;
         default:
             $return->setIsCustomerNotified(false);
             $return->setStateChanged(false);
             $return->setMessage('Codigo de status inválido retornado pelo PagSeguro. (' . $statusCode . ')');
     }
     return $return;
 }