Example #1
0
 public function _place(Mage_Sales_Model_Order_Payment $payment, $amount)
 {
     $order = $payment->getOrder();
     $customer = Mage::helper('pagarme')->getCustomerInfoFromOrder($payment->getOrder());
     $data = new Varien_Object();
     $data->setPaymentMethod(Inovarti_Pagarme_Model_Api::PAYMENT_METHOD_BOLETO)->setAmount(Mage::helper('pagarme')->formatAmount($amount))->setBoletoExpirationDate($this->_generateExpirationDate())->setCustomer($customer)->setPostbackUrl(Mage::getUrl('pagarme/transaction_boleto/postback'));
     $pagarme = Mage::getModel('pagarme/api');
     $transaction = $pagarme->charge($data);
     if ($transaction->getErrors()) {
         $messages = array();
         foreach ($transaction->getErrors() as $error) {
             $messages[] = $error->getMessage() . '.';
         }
         Mage::throwException(implode("\n", $messages));
     }
     // pagar.me info
     $payment->setPagarmeTransactionId($transaction->getId())->setPagarmeBoletoUrl($transaction->getBoletoUrl())->setPagarmeBoletoBarcode($transaction->getBoletoBarcode())->setPagarmeBoletoExpirationDate($transaction->getBoletoExpirationDate());
     return $this;
 }