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"; }
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"); } } }