public function updateAction($id) { $model = Widgets::findFirst($id); $this->view->form = new PagamentoForm($model, array('edit' => true)); $this->view->pagamento = $model; if ($this->request->isPost()) { $this->save($model); } }
public static function retornoPagseguro($dados) { $widget = Widgets::findFisrt('id = 3'); $opcoes = unserialize($widget->opcoes); $url = 'https://ws.pagseguro.uol.com.br/v2/transactions/notifications/' . $dados['notificationCode'] . '?email=' . $opcoes['email'] . '&token=' . $opcoes['token']; $curl = curl_init($url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $retorno = curl_exec($curl); curl_close($curl); if ($retorno == 'Unauthorized') { return false; //Mantenha essa linha } $retorno = simplexml_load_string($retorno); $pedido = Pedidos::findFirst('id = ' . $retorno->reference); $pedido->status_id = self::deParaStatus($retorno->status, 3); $pedido->save(); if ($pedido->status_id == 3) { self::subtraiEstoque($pedido->id); } return $pedido->pedido_id; }
public function finalizarAction() { $cart = new Cart(new Session(), new Cookie()); //Cria o Pedido $pedido = new Pedidos(); $pedido_id = $pedido->createData($cart, $this->request->getPost()); //Cria os Itens do Pedido $pedido_itens = new PedidoItens(); $pedido_itens = $pedido_itens->createData($cart->contents(), $pedido_id); //Envia Email $this->helper->mailer->getHelper(array('pedido_id' => $pedido_id, 'tipo' => 'pedidoCriado')); $widget = Widgets::findFirst("id = {$this->request->getPost('forma_pagamento')}")->toArray(); $_POST['pagamento']['valor'] = number_format($cart->total() + $this->session->get('frete')['valor'], 2, '', ''); $_POST['pagamento']['pedido_id'] = $pedido_id; $_POST['pagamento']['url_base'] = $this->ecommerce_options->url_base; //Inicia o pagamento $pagamento = '\\' . $widget['namespace'] . '\\Pagamento'; $retorno = $pagamento::init(true, $this->request->getPost('pagamento'), unserialize($widget['opcoes'])); // Retorno do PAGAMENTO $class = '\\' . $widget['namespace'] . '\\Retorno'; $class::init($retorno, $pedido_id); //Destroy Cart $this->verificaStatus($pedido_id); }
protected static function getEstatisticasPagamento($periodo) { if (!empty($periodo)) { $conditions = 'status_id in (3,4,5) AND data >= "' . $periodo['inicial'] . ' 00:00:00" and data <= "' . $periodo['final'] . ' 23:59:59"'; } else { $conditions = 'status_id in (3,4,5)'; } $dados = self::count(array('group' => 'forma_pagamento', 'conditions' => $conditions)); $arr = array(); for ($i = 0; $i < count($dados); $i++) { $arr[$i]['forma_pagamento'] = Widgets::findFirst('id = ' . $dados[$i]->forma_pagamento)->nome; $arr[$i]['quantidade'] = $dados[$i]->rowcount; } return $arr; }