function payment() { require_once APPPATH . 'third_party/PagSeguroLibrary/PagSeguroLibrary.php'; $this->load->model('../libraries/anuncios/model/ad_price_model', 'price'); $this->load->model('user_model'); // valida se o anuncio e o preco realmente existem if (!$this->price->get($this->input->post('price_id', TRUE))->exists() || !$this->ad_model->get($this->input->post('ad_id', TRUE))->is_mine()) { set_message("Operação inválida", 2); redirect(site_url("act/anuncios/ad/home_page")); } $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->AddItem($this->price->object->id, $this->price->object->title, 1, '0.10'); $paymentRequest->setShippingType(3); $user_object = $this->user_model->get(); // dump($user_object); // precisamos dos dados de cidade, bairro, rua e numero $paymentRequest->setShippingAddress(str_replace(array("-", "."), "", $user_object->zip_code), @$user_object->street_name, @$user_object->number, '', @$user_object->district, @$user_object->city_name, @$user_object->state_letter, 'BRA'); $type = !empty($user_object->cpf) ? "CPF" : "CNPJ"; $type_value = !empty($user_object->cpf) ? $user_object->cpf : $user_object->cnpj; $paymentRequest->setSender($user_object->name, $user_object->username, '11', '', $type, $type_value); $paymentRequest->setCurrency("BRL"); $paymentRequest->setReference($this->ad_model->object->id); $paymentRequest->setRedirectUrl(site_url("act/anuncios/ad/home_page")); $paymentRequest->addParameter('notificationURL', site_url("pagseguro/notification/anuncios/" . $this->ad_model->object->id)); try { $credentials = PagSeguroConfig::getAccountCredentials(); // getApplicationCredentials() $checkoutUrl = $paymentRequest->register($credentials); } catch (PagSeguroServiceException $e) { set_message("Erro ao gerar link pagamento: " . $e->getMessage(), 2); redirect(site_url("act/anuncios/ad/home_page")); } $this->data["ad"] = $this->ad_model->object; $this->data["price"] = $this->price->object; $this->load_view("../libraries/anuncios/views/anuncio_view/payment"); }