Example #1
0
 public function capture(Varien_Object $payment, $amount)
 {
     $payment->setCcTransId($payment->getOrder()->getIncrementId() . date("His"));
     $this->setAmount($amount)->setPayment($payment);
     $result = $this->_call($payment);
     if ($result === false) {
         $e = $this->getError();
         if (isset($e['message'])) {
             $message = Mage::helper('westpac')->__('There has been an error processing your payment.') . ' ' . $e['message'];
         } else {
             $message = Mage::helper('westpac')->__('There has been an error processing your payment. Please try later or contact us for help.');
         }
         Mage::throwException($message);
     } else {
         if ($result['response.summaryCode'] === '0') {
             $payment->setStatus(self::STATUS_APPROVED)->setLastTransId($this->getTransactionId());
         } else {
             Mage::log($result);
             if (isset($result["response.responseCode"]) && isset($result["response.text"])) {
                 Mage::throwException("Error " . $result["response.responseCode"] . ": " . $result["response.text"]);
             } elseif (isset($result["response.text"])) {
                 Mage::throwException("Error: " . $result["response.text"]);
             } else {
                 Mage::throwException("There has been an error processing your payment. Please try later or contact us for help.");
             }
         }
     }
 }
Example #2
0
 /**
  * Making right API call for current trasaction
  *
  * @param Varien_Object $payment
  * @return Mage_Paypal_Model_Express
  */
 public function placeOrder(Varien_Object $payment)
 {
     $api = $this->getApi();
     $api->setAmount($payment->getOrder()->getBaseGrandTotal())->setCurrencyCode($payment->getOrder()->getBaseCurrencyCode())->setInvNum($this->getQuote()->getReservedOrderId());
     if ($api->callDoExpressCheckoutPayment() !== false) {
         $payment->setStatus('APPROVED')->setPayerId($api->getPayerId());
         if ($this->getPaymentAction() == Mage_Paypal_Model_Api_Nvp::PAYMENT_TYPE_AUTH) {
             $payment->setCcTransId($api->getTransactionId());
         } else {
             $payment->setLastTransId($api->getTransactionId());
         }
     } else {
         $e = $api->getError();
         die($e['short_message'] . ': ' . $e['long_message']);
     }
     return $this;
 }
Example #3
0
 /**
  * Authorize or Capture payment
  *
  * @param Varien_Object|Mage_Sales_Model_Order_Payment $payment
  * @param float $amount
  * @param bool $capture
  * @return  $this
  */
 private function _authorize(Varien_Object $payment, $amount, $capture)
 {
     $order = $payment->getOrder();
     /* @var $order Mage_Sales_Model_Order */
     $multiToken = false;
     $cardData = null;
     $additionalData = new Varien_Object($payment->getAdditionalData() ? unserialize($payment->getAdditionalData()) : null);
     $secureToken = $additionalData->getSecuresubmitToken() ? $additionalData->getSecuresubmitToken() : null;
     $saveCreditCard = !!(bool) $additionalData->getCcSaveFuture();
     $customerId = $additionalData->getCustomerId();
     if ($saveCreditCard) {
         $multiToken = true;
         $cardData = new HpsCreditCard();
         $cardData->number = $payment->getCcLast4();
         $cardData->expYear = $payment->getCcExpYear();
         $cardData->expMonth = $payment->getCcExpMonth();
     }
     $chargeService = $this->_getChargeService();
     $cardHolder = $this->_getCardHolderData($order);
     $details = $this->_getTxnDetailsData($order);
     $cardOrToken = new HpsTokenData();
     $cardOrToken->tokenValue = $secureToken;
     try {
         if ($capture) {
             if ($payment->getCcTransId()) {
                 $response = $chargeService->capture($payment->getCcTransId(), $amount);
             } else {
                 $response = $chargeService->charge($amount, strtolower($order->getBaseCurrencyCode()), $cardOrToken, $cardHolder, $multiToken, $details);
             }
         } else {
             $response = $chargeService->authorize($amount, strtolower($order->getBaseCurrencyCode()), $cardOrToken, $cardHolder, $multiToken, $details);
         }
         $this->_debugChargeService($chargeService);
         $payment->setStatus(self::STATUS_APPROVED);
         $payment->setAmount($amount);
         $payment->setLastTransId($response->transactionId);
         $payment->setCcTransId($response->transactionId);
         $payment->setTransactionId($response->transactionId);
         $payment->setIsTransactionClosed(0);
         if ($multiToken) {
             $tokenData = $response->tokenData;
             /* @var $tokenData HpsTokenData */
             if ($tokenData->responseCode == '0') {
                 if ($customerId > 0) {
                     Mage::helper('hps_securesubmit')->saveMultiToken($response->tokenData->tokenValue, $cardData, $response->cardType, $customerId);
                 } else {
                     Mage::helper('hps_securesubmit')->saveMultiToken($response->tokenData->tokenValue, $cardData, $response->cardType);
                 }
             } else {
                 Mage::log('Requested multi token has not been generated for the transaction # ' . $response->transactionId, Zend_Log::WARN);
             }
         }
     } catch (HpsCreditException $e) {
         Mage::logException($e);
         $this->_debugChargeService($chargeService, $e);
         $payment->setStatus(self::STATUS_DECLINED);
         $this->throwUserError($e->getMessage(), $e->resultText, TRUE);
     } catch (HpsException $e) {
         $this->_debugChargeService($chargeService, $e);
         $payment->setStatus(self::STATUS_ERROR);
         $this->throwUserError($e->getMessage(), NULL, TRUE);
     } catch (Exception $e) {
         $this->_debugChargeService($chargeService, $e);
         Mage::logException($e);
         $payment->setStatus(self::STATUS_ERROR);
         $this->throwUserError($e->getMessage());
     }
     return $this;
 }
Example #4
0
 /**
  * void.
  *
  * Handles reverse transactions.
  *
  * @param Varien_Object $payment
  * @param int/float     $amount
  *
  * @return Mage_Payment_Model_Method_Cc $this. Failure will throw Mage::throwException('description')
  */
 public function void(Varien_Object $payment)
 {
     if ($this->getDebug()) {
         $writer = new Zend_Log_Writer_Stream($this->getLogPath());
         $logger = new Zend_Log($writer);
     }
     $amount = $payment->getOrder()->getData('grand_total');
     $bankRespID = $payment->getCcTransId();
     if (!$bankRespID) {
         Mage::throwException('Cannot issue a void on this transaction: bank response id is missing.');
     }
     if (!$amount) {
         Mage::throwException('Cannot issue a void on this transaction: transaction amount is missing.');
     }
     //Create the transaction object
     $sxml = new securexml_transaction($this->getMode(NO_ANTIFRAUD), $this->getUsername(), $this->getPassword());
     $transaction_id = $payment->getOrder()->getIncrementId();
     //Issue a reverse transaction
     if ($sxml->processReverse($amount, $transaction_id, $bankRespID)) {
         $transaction_id = $sxml->getResult('transaction_id');
         $payment->setCcTransId('' . $transaction_id);
         $payment->setTransactionId('' . $transaction_id);
         if ($this->getDebug()) {
             $logger->info('Reverse Approved. Response ID: ' . $transaction_id);
         }
     } else {
         $error = $sxml->getError();
         if ($this->getDebug()) {
             $logger->info('Reverse Declined. ' . $error);
         }
         Mage::throwException('' . $error);
     }
     return $this;
 }
Example #5
0
 /**
  * Success response processor
  *
  * @param string $request
  * @param mixed $result
  * @param Varien_Object $payment
  *
  */
 protected function _beforeProcessResponse($request, $result, Varien_Object $payment)
 {
     $action = explode('.', $request['PAYMENT.CODE']);
     if (!isset($action[1])) {
         Mage::throwException(Mage::helper('moneybookerspsp')->__('MoneybookersPSP: Wrong response data, method is missing'));
     }
     $method = strtoupper($action[0]);
     $action = strtoupper($action[1]);
     switch ((string) $result->Transaction->Processing->Result) {
         case 'ACK':
             switch ($action) {
                 case self::PAYMENT_TYPE_PREAUTHORIZE:
                     if ((string) $result->Transaction->Processing->Result == 'ACK') {
                         $payment->setLastTransId((string) $result->Transaction->Identification->UniqueID);
                         $payment->setCcTransId((string) $result->Transaction->Identification->UniqueID)->setAmountAuthorized($payment->getOrder()->getTotalDue())->setBaseAmountAuthorized($payment->getOrder()->getBaseTotalDue())->setBaseAmountPaid(0)->setAmountPaid(0);
                         $payment->save();
                         $payment->getOrder()->setCustomerNote(Mage::helper('moneybookerspsp')->__('Payment has been preauthorized.'));
                         return true;
                     } else {
                         Mage::throwException($result->Transaction->Processing->Return . ' (' . $result->Transaction->Processing->Return['code'] . ')');
                     }
                     break;
                 case self::PAYMENT_TYPE_DEBIT:
                     if ((string) $result->Transaction->Processing->Result == 'ACK') {
                         $payment->setLastTransId((string) $result->Transaction->Identification->UniqueID);
                         $payment->setCcTransId((string) $result->Transaction->Identification->UniqueID);
                         $payment->save();
                         $payment->getOrder()->setCustomerNote(Mage::helper('moneybookerspsp')->__('Payment has been authorized and captured.'));
                         return true;
                     } else {
                         Mage::throwException($result->Transaction->Processing->Return . ' (' . $result->Transaction->Processing->Return['code'] . ')');
                     }
                     break;
                 case self::PAYMENT_TYPE_CAPTURE:
                     $payment->getOrder()->setCustomerNote(Mage::helper('moneybookerspsp')->__('Payment has been captured.'));
                     break;
                 case self::PAYMENT_TYPE_REFUND:
                     $payment->getOrder()->setCustomerNote(Mage::helper('moneybookerspsp')->__('Payment has been refunded.'));
                     break;
                 case self::PAYMENT_TYPE_REBILL:
                     $payment->getOrder()->setCustomerNote(Mage::helper('moneybookerspsp')->__('Payment has been reversed.'));
                     break;
             }
             break;
         case 'NOK':
             switch ($action) {
                 case self::PAYMENT_TYPE_PREAUTHORIZE:
                     break;
                 case self::PAYMENT_TYPE_DEBIT:
                     break;
             }
             break;
     }
 }
 /**
  * Authorize or Capture payment
  *
  * @param Varien_Object|Mage_Sales_Model_Order_Payment $payment
  * @param float $amount
  * @param bool $capture
  * @return  $this
  */
 private function _authorize(Varien_Object $payment, $amount, $capture)
 {
     $order = $payment->getOrder();
     /* @var $order Mage_Sales_Model_Order */
     $multiToken = false;
     $cardData = null;
     $additionalData = new Varien_Object($payment->getAdditionalData() ? unserialize($payment->getAdditionalData()) : null);
     $secureToken = $additionalData->getSecuresubmitToken() ? $additionalData->getSecuresubmitToken() : null;
     $saveCreditCard = !!(bool) $additionalData->getCcSaveFuture();
     $customerId = $additionalData->getCustomerId();
     $giftService = $this->_getGiftService();
     $giftCardNumber = $additionalData->getGiftcardNumber();
     if ($giftCardNumber) {
         // 1. check balance
         $giftcard = new HpsGiftCard();
         $giftcard->number = $giftCardNumber;
         $giftResponse = $giftService->balance($giftcard);
         // 2. is balance > amount?
         if ($giftResponse->balanceAmount > $amount) {
             //  2.yes. process full to gift
             try {
                 if (strpos($this->getConfigData('secretapikey'), '_cert_') !== false) {
                     $giftresp = $giftService->sale($giftcard, 10.0);
                 } else {
                     $giftresp = $giftService->sale($giftcard, $amount);
                 }
                 $order->addStatusHistoryComment('Used Heartland Gift Card ' . $giftCardNumber . ' for amount $' . $amount . '. [full payment]');
                 $payment->setTransactionAdditionalInfo(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS, array('gift_card_number' => $giftCardNumber, 'gift_card_transaction' => $giftresp->transactionId, 'gift_card_amount_charged' => $amount));
                 $payment->setStatus(self::STATUS_APPROVED);
                 $payment->setAmount($amount);
                 $payment->setLastTransId($response->transactionId);
                 $payment->setTransactionId($response->transactionId);
                 $payment->setIsTransactionClosed(0);
                 return $this;
             } catch (Exception $e) {
                 Mage::logException($e);
                 $payment->setStatus(self::STATUS_ERROR);
                 $this->throwUserError($e->getMessage(), null, true);
             }
         } else {
             //  2.no. process full gift card amt and card process remainder
             $giftresp = $giftService->sale($giftcard, $giftResponse->balanceAmount);
             $order->addStatusHistoryComment('Used Heartland Gift Card ' . $giftCardNumber . ' for amount $' . $giftResponse->balanceAmount . '. [partial payment]')->save();
             $payment->setTransactionAdditionalInfo(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS, array('gift_card_number' => $giftCardNumber, 'gift_card_transaction' => $giftresp->transactionId, 'gift_card_amount_charged' => $giftResponse->balanceAmount));
             $payment->setAmount($giftResponse->balanceAmount)->save();
             $amount = $amount - $giftResponse->balanceAmount;
             // remainder
             // 3. TODO: if the card payment fails later, refund the gift transaction
         }
     }
     if ($saveCreditCard) {
         $multiToken = true;
         $cardData = new HpsCreditCard();
         $cardData->number = $payment->getCcLast4();
         $cardData->expYear = $payment->getCcExpYear();
         $cardData->expMonth = $payment->getCcExpMonth();
     }
     $chargeService = $this->_getChargeService();
     $cardHolder = $this->_getCardHolderData($order);
     $details = $this->_getTxnDetailsData($order);
     $cardOrToken = new HpsTokenData();
     $cardOrToken->tokenValue = $secureToken;
     try {
         if ($capture) {
             if ($payment->getCcTransId()) {
                 $response = $chargeService->capture($payment->getCcTransId(), $amount);
             } else {
                 $response = $chargeService->charge($amount, strtolower($order->getBaseCurrencyCode()), $cardOrToken, $cardHolder, $multiToken, $details);
             }
         } else {
             $response = $chargeService->authorize($amount, strtolower($order->getBaseCurrencyCode()), $cardOrToken, $cardHolder, $multiToken, $details);
         }
         $this->_debugChargeService($chargeService);
         $payment->setStatus(self::STATUS_APPROVED);
         $payment->setAmount($amount);
         $payment->setLastTransId($response->transactionId);
         $payment->setCcTransId($response->transactionId);
         $payment->setTransactionId($response->transactionId);
         $payment->setIsTransactionClosed(0);
         if ($giftCardNumber) {
             $order->addStatusHistoryComment('Remaining amount to be charged to credit card  ' . $this->_formatAmount($amount) . '. [partial payment]')->save();
         }
         if ($multiToken) {
             $tokenData = $response->tokenData;
             /* @var $tokenData HpsTokenData */
             if ($tokenData->responseCode == '0') {
                 if ($customerId > 0) {
                     Mage::helper('hps_securesubmit')->saveMultiToken($response->tokenData->tokenValue, $cardData, $response->cardType, $customerId);
                 } else {
                     Mage::helper('hps_securesubmit')->saveMultiToken($response->tokenData->tokenValue, $cardData, $response->cardType);
                 }
             } else {
                 Mage::log('Requested multi token has not been generated for the transaction # ' . $response->transactionId, Zend_Log::WARN);
             }
         }
     } catch (HpsCreditException $e) {
         Mage::logException($e);
         $this->getFraudSettings();
         $this->_debugChargeService($chargeService, $e);
         // refund gift (if used)
         if ($giftCardNumber) {
             $order->addStatusHistoryComment('Reversed Heartland Gift Card ' . $giftCardNumber . ' for amount $' . $giftResponse->balanceAmount . '. [full reversal]')->save();
             $giftResponse = $giftService->reverse($giftcard, $giftResponse->balanceAmount);
         }
         if ($this->_allow_fraud && $e->getCode() == HpsExceptionCodes::POSSIBLE_FRAUD_DETECTED) {
             // we can skip the card saving if it fails for possible fraud there will be no token.
             if ($this->_email_fraud && $this->_fraud_address != '') {
                 // EMAIL THE PEOPLE
                 $this->sendEmail($this->_fraud_address, $this->_fraud_address, 'Suspicious order (' . $order->getIncrementId() . ') allowed', 'Hello,<br><br>Heartland has determined that you should review order ' . $order->getRealOrderId() . ' for the amount of ' . $amount . '.');
             }
             $payment->setStatus(self::STATUS_APPROVED);
             $payment->setAmount($amount);
             $payment->setIsTransactionClosed(0);
         } else {
             $payment->setStatus(self::STATUS_ERROR);
             if ($e->getCode() == HpsExceptionCodes::POSSIBLE_FRAUD_DETECTED) {
                 $this->throwUserError($this->_fraud_text, null, true);
             } else {
                 $this->throwUserError($e->getMessage(), null, true);
             }
         }
     } catch (HpsException $e) {
         $this->_debugChargeService($chargeService, $e);
         $payment->setStatus(self::STATUS_ERROR);
         $this->throwUserError($e->getMessage(), null, true);
     } catch (Exception $e) {
         $this->_debugChargeService($chargeService, $e);
         Mage::logException($e);
         $payment->setStatus(self::STATUS_ERROR);
         $this->throwUserError($e->getMessage());
     }
     return $this;
 }
Example #7
0
 public function placeOrder(Varien_Object $payment)
 {
     $api = $this->getApi();
     $api->setAmount($payment->getOrder()->getBaseGrandTotal())->setTrxtype($this->getPaymentAction())->setCurrencyCode($payment->getOrder()->getBaseCurrencyCode());
     if ($api->callDoExpressCheckoutPayment() !== false) {
         $payment->setStatus('APPROVED')->setPayerId($api->getPayerId());
         if ($this->getPaymentAction() == Mage_PaypalUk_Model_Api_Pro::TRXTYPE_AUTH_ONLY) {
             $payment->setCcTransId($api->getTransactionId());
         } else {
             $payment->setLastTransId($api->getTransactionId());
         }
     } else {
         $e = $api->getError();
         die($e['message']);
     }
     return $this;
 }
Example #8
0
 public function authorize(Varien_Object $payment, $amount)
 {
     $debug = Mage::getStoreConfig('payment/apelidocielo/debug');
     if ($amount < 0) {
         Mage::throwException(Mage::helper('payment')->__('O valor para autorização deve ser maior que zero'));
     } else {
         $info = $this->getInfoInstance();
         //verifica o id da sessão
         if (!Mage::getSingleton('checkout/session')->getQuoteId()) {
             $quoteId = Mage::getSingleton("adminhtml/session_quote")->getQuoteId();
         } else {
             $quoteId = Mage::getSingleton('checkout/session')->getQuoteId();
         }
         //define as variáveisCcType
         $idpedido = Mage::getModel("sales/order")->getCollection()->getLastItem()->getIncrementId();
         $bandeira_cartao = $info->getCcType();
         $portador = $info->getCcOwner();
         $numcartao = $info->decrypt($info->getCcNumber());
         $codseguranca = $info->decrypt($info->getCcCid());
         $validade = $info->getCcExpYear() . str_pad($info->getCcExpMonth(), 2, "0", STR_PAD_LEFT);
         //yyyymm
         $valor = number_format($amount, 2, '', '');
         $parcelas = $info->getAdditionalData();
         $parcelamento = Mage::getStoreConfig('payment/apelidocielo/tipoparcelamento');
         $softdescriptor = Mage::getStoreConfig('payment/apelidocielo/softdescriptor');
         $campollivre = '';
         $quoteId = $quoteId;
         $dadosCliente = Mage::getSingleton('checkout/session')->getQuote()->getBillingAddress();
         $emaildigitado = $dadosCliente->getEmail();
         $nomedigitado = $dadosCliente->getFirstname() . ' ' . $dadosCliente->getLastname();
         $enderecodigitadoa = $dadosCliente->getStreet();
         $cidadedigitado = $dadosCliente->getCity();
         $estadodigitado = $dadosCliente->getRegion();
         $telefonedigitado = $dadosCliente->getTelephone();
         $cepdigitado = $dadosCliente->getPostcode();
         if ($debug) {
             //Esse log só funciona se a opção Ativar log em Developer > Log no admin estiver marcada
             mage::log("\r\n===========   Dados do pagamento sendo enviados para autorizacao   ==========\r\nId do pedido:               {$idpedido}\r\nBandeira do cartao:         {$bandeira_cartao}\r\nPortador do cartao:         {$portador}\r\nNumero do cartao:           {$numcartao}\r\nCod de seguranca do cartao: {$codseguranca}\r\nValidade do cartao:         {$validade}\r\nValor do pagamento:         {$valor}\r\nQuantidade de parcelas:     {$parcelas}\r\nTipo de parcelamento:       {$parcelamento}\r\nTexto do softdescriptor:    {$softdescriptor}\r\nId da quote:                {$quoteId}\r\n\r\n-------------------------------------------------------------------------------\r\nDADOS PREENCHIDOS PELO CLIENTE NO CHECKOUT\r\n\r\ne-mail:                     {$emaildigitado}\r\nNome:                       {$nomedigitado}\r\nEndereco:                   {$enderecodigitadoa['0']}\r\n                            {$enderecodigitadoa['1']}\r\n                            {$enderecodigitadoa['2']}\r\n                            {$enderecodigitadoa['3']}\r\nCidade:                     {$cidadedigitado}\r\nEstado:                     {$estadodigitado}\r\nTelefone:                   {$telefonedigitado}\r\nCEP:                        {$cepdigitado}\r\n\r\n                        ", null, 'oitoo_cielo.log');
         }
         //if($debug)
         $fluxo = Mage::getStoreConfig('payment/apelidocielo/payment_action');
         if ($fluxo == 'authorize_capture') {
             //se a captura for automática, ele coloca a tag na autorizacao
             $capturaautomatica = 'true';
         } else {
             $capturaautomatica = 'false';
         }
         $cielo = mage::getModel('apelidocielo/cielo');
         $retornoCielo = $cielo->setAutorizacao($idpedido, $bandeira_cartao, $portador, $numcartao, $codseguranca, $validade, $valor, $parcelas, $parcelamento, $softdescriptor, $campollivre, $capturaautomatica);
         //guarda o TID da transação no campo PONUMBER
         $tid = (string) $retornoCielo->tid;
         if ($retornoCielo->autorizacao->codigo == 4 && $retornoCielo->autorizacao->lr == '00' || $retornoCielo->captura->codigo == 6) {
             Mage::dispatchEvent('oitoo_cielo_log', array('quote_id' => (string) $quoteId, 'codigo' => (string) $retornoCielo->autorizacao->codigo, 'texto' => (string) $retornoCielo->autorizacao->mensagem, 'tid' => $retornoCielo->tid));
             //verifica se teve captura e salva os dados. Se houve captura é pq ela é automática
             if ($retornoCielo->captura->codigo == 6) {
                 $codigocaptura = (string) $retornoCielo->captura->codigo;
                 $mensagemcaptura = (string) $retornoCielo->captura->mensagem;
             }
             if (isset($tid) && $tid != '' && $tid != NULL) {
                 $payment->setCcTransId($tid);
                 $payment->setAdditionalInformation('autorizacao_codigo', (string) $retornoCielo->autorizacao->codigo);
                 $payment->setAdditionalInformation('autorizacao_mensagem', (string) $retornoCielo->autorizacao->mensagem);
                 $payment->setAdditionalInformation('autorizacao_lr', (string) $retornoCielo->autorizacao->lr);
                 $payment->setAdditionalInformation('autorizacao_valor', (string) $retornoCielo->autorizacao->valor);
                 if (isset($codigocaptura)) {
                     $payment->setAdditionalInformation('captura_codigo', $codigocaptura);
                     $payment->setAdditionalInformation('captura_mensagem', $mensagemcaptura);
                 }
                 $payment->save();
             }
             return $this;
             //a compra foi autorizada. O cliente vai para a página de sucesso
         } else {
             if (isset($retornoCielo->codigo)) {
                 //guarda o log no módulo de logs
                 Mage::dispatchEvent('oitoo_cielo_log', array('quote_id' => (string) $quoteId, 'codigo' => (string) $retornoCielo->codigo, 'texto' => (string) $retornoCielo->mensagem, 'tid' => 'Não existente'));
                 Mage::throwException(Mage::helper('payment')->__('Erro num: ' . $retornoCielo->codigo . ' - ' . $retornoCielo->mensagem));
             } else {
                 //guarda o log no módulo de logs
                 Mage::dispatchEvent('oitoo_cielo_log', array('quote_id' => (string) $quoteId, 'codigo' => (string) $retornoCielo->autorizacao->codigo, 'texto' => (string) $retornoCielo->autorizacao->mensagem, 'tid' => (string) $retornoCielo->tid));
                 Mage::throwException(Mage::helper('payment')->__('A operadora não autorizou seu pagamento pelo seguinte motivo: ' . $retornoCielo->autorizacao->codigo . ' - ' . $retornoCielo->autorizacao->mensagem . ' LR: ' . $retornoCielo->autorizacao->lr . '  Você ainda pode tentar efetuar um novo pagamento. Basta alterar os dados na aba "Informações de pagamento". Qualquer dúvida entre em contato conosco.'));
             }
         }
     }
     return $this;
 }