Example #1
0
 public function boleto($codcarrinho, $tipo)
 {
     clienteLogado(true);
     $comprador = $this->session->userdata('loja');
     $this->load->model("Carrinho_Model", "CarrinhoM");
     $carrinho = $this->CarrinhoM->get(array("c.codcarrinho" => $codcarrinho, "c.codcomprador" => $comprador["codcomprador"]), TRUE);
     if (!$carrinho) {
         $this->session->set_flashdata('erro', 'Carrinho não existente.');
         redirect('conta');
     }
     $this->layout = '';
     switch ($tipo) {
         case "bb":
             $arquivoBoleto = "boleto_bb";
             break;
     }
     $boleto = new stdClass();
     $boleto->codcarrinho = $carrinho->codcarrinho;
     $boleto->valor = $carrinho->valorfinalcompra;
     $boleto->nomecomprador = $carrinho->nomecomprador;
     $boleto->endereco = $carrinho->enderecocomprador;
     $boleto->endereco2 = $carrinho->cidadecomprador . "/" . $carrinho->ufcomprador . " - " . $carrinho->cepcomprador;
     require_once FCPATH . "/application/libraries/boleto/" . $arquivoBoleto . ".php";
 }
Example #2
0
 public function finalizar()
 {
     clienteLogado(true);
     $codformapagamento = $this->input->post("codformapagamento");
     $codformaentrega = $this->session->userdata("codformaentrega");
     $this->load->model("FormaPagamento_Model", "FormaPagamentoM");
     $formasPagamento = $this->FormaPagamentoM->get(array("codformapagamento" => $codformapagamento), TRUE);
     $numerocartao = $this->input->post("numerocartao");
     $codigoverificador = $this->input->post("codigoverificador");
     $mescartao = $this->input->post("mescartao");
     $anocartao = $this->input->post("anocartao");
     $parcela = $this->input->post("parcela");
     if ($formasPagamento->tipoformapagamento == 2) {
         $this->load->library('form_validation');
         $this->form_validation->set_rules('numerocartao', 'Número do Cartão', 'required');
         $this->form_validation->set_rules('codigoverificador', 'Código Verificador', 'required');
         $this->form_validation->set_rules('mescartao', 'Mês do Cartão', 'required');
         $this->form_validation->set_rules('anocartao', 'Ano do Cartão', 'required');
         $this->form_validation->set_rules('parcela', 'Parcela', 'required');
         if ($this->form_validation->run() == FALSE) {
             $this->session->set_flashdata('erro', 'Informe os campos corretamente.' . validation_errors());
             redirect("checkout/pagamento");
         }
     }
     if (!$codformaentrega) {
         redirect("checkout/pagamento");
     }
     $carrinho = $this->session->userdata("carrinho");
     $enderecoentrega = $this->session->userdata("enderecoentrega");
     $comprador = $this->session->userdata('loja');
     if (!$carrinho || sizeof($carrinho) === 0) {
         redirect();
     }
     if (!$enderecoentrega || sizeof($enderecoentrega) === 0) {
         redirect();
     }
     $carrinho = unserialize($carrinho);
     $enderecoentrega = unserialize($enderecoentrega);
     $valorFrete = 0;
     $valorSubTotal = $this->getPrecoCarrinho($codformapagamento);
     $valorTotal = $valorFrete + $valorSubTotal;
     $this->load->model("Carrinho_Model", "CarrinhoM");
     $this->load->model("ItemCarrinho_Model", "ItemCarrinhoM");
     $objeto = array("datahoracompra" => date("Y-m-d H:i:s"), "valorcompra" => $valorSubTotal, "valorfrete" => $valorFrete, "valorfinalcompra" => $valorTotal, "codcomprador" => $comprador["codcomprador"], "codformaentrega" => $codformaentrega, "codformapagamento" => $codformapagamento, "enderecoentrega" => $enderecoentrega['enderecocomprador'], "cidadeentrega" => $enderecoentrega['cidadecomprador'], "ufentrega" => $enderecoentrega['ufcomprador'], "cepentrega" => $enderecoentrega['cepcomprador']);
     $codCarrinho = $this->CarrinhoM->post($objeto);
     foreach ($carrinho as $codsku => $quantidade) {
         $infoSKU = $this->SkuM->getPorSKU($codsku);
         if ($infoSKU->valorpromocional > 0 && $infoSKU->valorproduto > $infoSKU->valorpromocional) {
             $valorFinal = $infoSKU->valorpromocional;
         } else {
             $valorFinal = $infoSKU->valorproduto;
         }
         if ($formasPagamento->descontoformapagamento > 0) {
             $valorFinal = $valorFinal - $valorFinal * $formasPagamento->descontoformapagamento / 100;
         }
         $objetoItem = array("valoritem" => $valorFinal, "quantidadeitem" => $quantidade, "codcarrinho" => $codCarrinho, "codsku" => $codsku);
         $this->ItemCarrinhoM->post($objetoItem);
     }
     if ($formasPagamento->tipoformapagamento == 2) {
         $this->load->library('WebServiceCielo');
         $dataHoraPedido = date('c');
         $dataHoraPedido = substr($dataHoraPedido, 0, 19);
         switch ($codformapagamento) {
             case 1:
                 $bandeira = 'mastercard';
                 break;
             case 2:
                 $bandeira = 'visa';
                 break;
         }
         if ($parcela == 1) {
             $produto = 1;
         } else {
             $produto = 2;
         }
         $cartao = new stdClass();
         $pedido = new stdClass();
         $cartao->numero = $numerocartao;
         $cartao->ano = $anocartao;
         $cartao->mes = $mescartao;
         $cartao->codigoseguranca = $codigoverificador;
         $pedido->codcarrinho = $codCarrinho;
         $pedido->valor = $valorTotal * 100;
         $pedido->datahora = $dataHoraPedido;
         $pedido->bandeira = $bandeira;
         $pedido->produto = $produto;
         $pedido->parcelas = $parcela;
         $autorizacao = $this->webservicecielo->enviaAutorizacao($cartao, $pedido);
         if (!$autorizacao->error) {
             redirect("conta/resumo/" . $codCarrinho);
         } else {
             $this->session->set_flashdata('erro', "Não foi possível processar o seu pagamento.");
             redirect("checkout/pagamento");
         }
     }
 }