/**
  * @param Mage_Payment_Model_Method_Abstract $payment
  * @param Mage_Sales_Model_Order             $order
  * @param int                                $customerId
  *
  * @return bool
  * @throws \Mage_Core_Exception
  */
 protected function processSubscription($payment, $order, $customerId)
 {
     $subscription = $this->createSubscription($order, $customerId);
     if ($subscription === false) {
         Mage::throwException('Erro ao criar a assinatura. Verifique os dados e tente novamente!');
         return false;
     }
     $payment->setAmount($order->getTotalDue());
     $this->setStore($order->getStoreId());
     $payment->setStatus(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, 'Assinatura criada', true);
     return true;
 }