public function inicializaPagamento($cart, $urlRetorno) { require_once "vendor/PagSeguroLibrary/PagSeguroLibrary.php"; $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->setCurrency("BRL"); foreach ($cart->getProducts() as $product) { $paymentRequest->addItem($product['id_product_attribute'], $product['name'], $product['quantity'], $product['price_wt']); } $customer = new Customer($cart->id_customer); $address = new Address($cart->id_address_delivery); $telefone_full = preg_replace("/([^0-9])/", null, $address->phone); $telefone_full = str_pad($telefone_full, 11, "0", STR_PAD_LEFT); $areacode = substr($telefone_full, 1, 2); $phone = substr($telefone_full, 3); $state = new State($address->id_state); $number = preg_replace("/([^0-9])/", null, $address->address2); $paymentRequest->setShippingAddress($address->postcode, $address->address1, $number, null, null, $address->city, $state->iso_code, $address->country); $CODIGO_SHIPPING = PagSeguroShippingType::getCodeByType('NOT_SPECIFIED'); $paymentRequest->setShippingType($CODIGO_SHIPPING); $paymentRequest->setShippingCost(number_format($cart->getOrderShippingCost(), 2, ".", "")); $paymentRequest->setSender($customer->firstname . " " . $customer->lastname, $customer->email, $areacode, $phone); $order_id = (int) Order::getOrderByCartId($cart->id); $paymentRequest->setReference($order_id); $paymentRequest->setRedirectURL($urlRetorno); $credentials = new PagSeguroAccountCredentials(Configuration::get("PAGSEGURO_BUSINESS"), Configuration::get("PAGSEGURO_TOKEN")); $url = $paymentRequest->register($credentials); return $url; }
public function requestPayment($items, $client, $reference = null, $shipping = null, $redirect = '/', $currency = 'BRL') { $requestPayment = new PagSeguroPaymentRequest(); $requestPayment->setCurrency($currency); $itemId = 1; foreach ($items as $item) { $item['id'] = $this->formatNumber($itemId++); $requestPayment->addItem($item); } $requestPayment->setReference($reference); $requestPayment->setSenderName($client['client_name']); $requestPayment->setSenderEmail($client['client_email']); $requestPayment->setSenderPhone($client['client_ddd'], $client['client_phone']); $requestPayment->setShippingType($shipping['frete']); $requestPayment->setShippingCost(0); $requestPayment->setShippingAddress($shipping['cep'], $shipping['rua'], $shipping['numero'], $shipping['complemento'], $shipping['bairro'], $shipping['cidade'], $shipping['estado'], $shipping['pais']); $requestPayment->setRedirectURL($redirect); $requestPayment->setMaxAge(86400 * 3); try { return $requestPayment->register($this->getCredentials()); } catch (PagSeguroServiceException $e) { foreach ($e->getErrors() as $key => $error) { echo $error->getCode(); echo $error->getMessage(); } } }
public function paymentRequests($billId) { if (!isset($_SESSION['user'])) { redirect('site/login', 'refresh'); } $billInfo = $this->billing->getBillingInfo($billId); $items = []; $sender = []; if (!empty($billInfo)) { $package = $billInfo['package']; $client = $billInfo['client']; $items[] = ['id' => 1, 'descricao' => $package->description, 'quantidade' => 1, 'valor' => $package->price, 'peso' => NULL, 'frete' => NULL]; foreach ($billInfo['acquisition']['modifiers'] as $k => $modifier) { $items[] = ['id' => 2 + $k, 'descricao' => $modifier->description, 'quantidade' => 1, 'valor' => $modifier->price_modifier, 'peso' => NULL, 'frete' => NULL]; } $sender = array('nome' => $this->userinfo->partialName($client->id), 'email' => $client->main_email, 'ddd' => NULL, 'telefone' => NULL); } if (!empty($items)) { $paymentRequest = new PagSeguroPaymentRequest(); foreach ($items as $item) { $paymentRequest->addItem($item['id'], $item['descricao'], 1, (double) $item['valor']); } if ($sender != NULL) { $paymentRequest->setSender($sender['nome'], $sender['email'], $sender['ddd'], $sender['telefone']); } $paymentRequest->setCurrency('BRL'); $paymentRequest->setReference($billId); $paymentRequest->setMaxAge(172800); $paymentRequest->setRedirectURL(site_url('client/profile')); $paymentRequest->setNotificationURL(site_url('PagSeguro/notification')); $checkoutUrl = NULL; try { $credentials = PagSeguroConfig::getAccountCredentials(); $checkoutUrl = $paymentRequest->register($credentials); } catch (PagSeguroServiceException $e) { die(var_dump($e)); } if ($checkoutUrl != NULL) { redirect($checkoutUrl, 'refresh'); } else { $alert = ['message' => 'Ouve um problema ao emitir cobrança no PagSeguro', 'class' => 'alert-danger', 'icon' => 'glyphicon-remove']; $this->session->set_flashdata('alert', $alert); //redirect( 'client/acquisitions', 'refresh' ); } } return FALSE; }
private function _generatePagSeguroRequestData($order, $notify_url, $return_url) { $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->setCurrency(PagSeguroCurrencies::getIsoCodeByName('REAL')); // currency $paymentRequest->setReference($order->order_id); // reference $paymentRequest->setRedirectURL($return_url); // redirect url $paymentRequest->setNotificationURL($notify_url); // notification url $paymentRequest->setItems($this->_generateProductsData($order)); // products $paymentRequest->setExtraAmount($this->_getExtraAmountValues($order)); // extra values $paymentRequest->setSender($this->_generateSenderData($order)); // sender $paymentRequest->setShipping($this->_generateShippingData($order)); // shipping return $paymentRequest; }
/** * Generate PagSeguro Payment Request * @return \PagSeguroPaymentRequest */ private function _generatePagSeguroPaymentRequestObject() { $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->setCurrency(PagSeguroCurrencies::getIsoCodeByName("REAL")); $paymentRequest->setExtraAmount($this->_generateExtraAmount()); $paymentRequest->setRedirectURL($this->_getPagSeguroRedirectUrl()); $paymentRequest->setNotificationURL($this->_getPagSeguroNotificationURL()); $paymentRequest->setItems($this->_generatePagSeguroProductsData()); $paymentRequest->setSender($this->_generatepagSeguroSenderDataObject()); $paymentRequest->setShipping($this->_generatePagSeguroShippingDataObject()); return $paymentRequest; }
/** * Generates PagSeguro request data */ private function _generatePagSeguroRequestData() { $payment_request = new PagSeguroPaymentRequest(); $payment_request->setCurrency(PagSeguroCurrencies::getIsoCodeByName('Real')); /* Currency */ $payment_request->setExtraAmount($this->_getExtraAmountValues()); /* Extra amount */ $payment_request->setItems($this->_generateProductsData()); /* Products */ $payment_request->setSender($this->_generateSenderData()); /* Sender */ $payment_request->setShipping($this->_generateShippingData()); /* Shipping */ if (!Tools::isEmpty(Configuration::get('PAGSEGURO_URL_REDIRECT'))) { /* Redirect URL */ $payment_request->setRedirectURL(Configuration::get('PAGSEGURO_URL_REDIRECT')); } $this->_payment_request = $payment_request; }
/** * Generates PagSeguro request data * @param VirtueMartCart $cart * @param array $order * @param TablePaymentmethods $method * @return PagSeguroPaymentRequest */ private function _generatePagSeguroRequestData(VirtueMartCart $cart, array $order, TablePaymentmethods $method) { $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->setCurrency(PagSeguroCurrencies::getIsoCodeByName('REAL')); // currency $paymentRequest->setReference($order['details']['BT']->virtuemart_order_id); // reference $paymentRequest->setRedirectURL($this->_getRedirectUrl($method->pagseguro_url_redirect)); // redirect url $paymentRequest->setNotificationURL($this->_getNotificationUrl($method->pagseguro_url_notification)); // notification url $paymentRequest->setItems($this->_generateProductsData($cart)); // products $paymentRequest->setExtraAmount($this->_getExtraAmountValues($cart)); // extra values $sender = isset($order['details']['ST']) && count($order['details']['ST'] > 0) ? $order['details']['ST'] : $order['details']['BT']; $paymentRequest->setSender($this->_generateSenderData($sender)); // sender $paymentRequest->setShipping($this->_generateShippingData($sender, $cart->pricesUnformatted['salesPriceShipment'])); // shipping return $paymentRequest; }
$donateIp = $_SERVER['REMOTE_ADDR']; $donateRef = strtoupper(uniqid(true)); $donateUser = $session->account->userid; $donateBy = $params->get('payment_type'); if ($donateBy != 'PagSeguro') { $errorMessage = 'Somente PagSeguro'; } else { if ($donateVal < $donateMin) { $errorMessage = sprintf('O valor da doação deve ser maior ou igual a %s R$!', $this->formatCurrency($donateMin)); } else { $transactionRequest = new PagSeguroPaymentRequest(); $transactionRequest->setCurrency("BRL"); $transactionRequest->addItem('01', $donateInf, '1', str_replace(",", "", $this->formatCurrency($donateVal))); $transactionRequest->setReference($donateRef); $transactionRequest->setNotificationURL($this->url('doa', 'notification', array('_host' => true))); $transactionRequest->setRedirectURL($this->url('doa', 'return', array('_host' => true))); $transactionCredentials = new PagSeguroAccountCredentials(Flux::config('EmailPagSeguro'), Flux::config('TokenPagseguro')); $url = $transactionRequest->register($transactionCredentials); if ($url) { $sql = "INSERT INTO {$session->loginAthenaGroup->loginDatabase}.{$donateTable} "; $sql .= "(account_id, userid, email, payment_id, payment_ip, payment_type, payment, payment_date) "; $sql .= "VALUES (?, ?, ?, ?, ?, ?, ?, NOW())"; $sth = $session->loginAthenaGroup->connection->getStatement($sql); $res = $sth->execute(array($donateAcc, $donateUser, $donateEmail, $donateRef, $donateIp, $donateBy, $donateVal)); header('Location:' . $url . ''); } else { $errorMessage = 'Ocorreu um erro, reporte imediatamente a administração!'; } } } }
if (isset($_POST['submit'])) { if ($_POST['options'] == "PagSeguro") { require_once 'PagSeguroLibrary/PagSeguroLibrary.php'; /** INICIO PROCESSO PAGSEGURO */ $paymentRequest = new PagSeguroPaymentRequest(); $data = array('id' => '01', 'description' => 'Presente de Casamento Jèssica e Rafael', 'quantity' => 1, 'amount' => $_POST['quantity'] . '.00'); $item = new PagSeguroItem($data); /* $paymentRequest deve ser um objeto do tipo PagSeguroPaymentRequest */ $paymentRequest->addItem($item); //Definindo moeda $paymentRequest->setCurrency('BRL'); // 1- PAC(Encomenda Normal) // 2-SEDEX // 3-NOT_SPECIFIED(Não especificar tipo de frete) // $paymentRequest->setShipping(3); $sedexCode = PagSeguroShippingType::getCodeByType('SEDEX'); $paymentRequest->setShippingType($sedexCode); $paymentRequest->setShippingAddress('30240440', 'Rua Professor Tancredo Martins', '59', 'apto. 201', 'São Lucas', 'Belo Horizonte', 'MG', 'BRA'); //Url de redirecionamento $redirectURL = "http://www.jessicafaria.com.br/casamento_jr/casamento.php"; $paymentRequest->setRedirectURL($redirectURL); // Url de retorno $credentials = PagSeguroConfig::getAccountCredentials(); //credenciais do vendedor //$compra_id = App_Lib_Compras::insert($produto); //$paymentRequest->setReference($compra_id);//Referencia; $url = $paymentRequest->register($credentials); print "<script>\n\twindow.location.href = '" . $url . "';\n</script>"; } }
/** * Create PagSeguro payment request html with payment url * * @return string */ private function createPaymentRequest() { $this->_validator(); $PaymentRequest = new PagSeguroPaymentRequest(); $PaymentRequest->setCurrency(PagSeguroCurrencies::getIsoCodeByName(self::REAL)); $PaymentRequest->setReference($this->Order->getId()); //Order ID $PaymentRequest->setShipping($this->getShippingInformation()); //Shipping $PaymentRequest->setSender($this->getSenderInformation()); //Sender $PaymentRequest->setItems($this->getItensInformation()); //Itens $PaymentRequest->setShippingType(SHIPPING_TYPE); $PaymentRequest->setShippingCost(number_format($this->Order->getShippingAmount(), 2, '.', '')); $PaymentRequest->setNotificationURL($this->getNotificationURL()); //Define Redirect Url $redirect_url = $this->getRedirectUrl(); if (!empty($redirect_url) and $redirect_url != null) { $PaymentRequest->setRedirectURL($redirect_url); } else { $PaymentRequest->setRedirectURL(Mage::getUrl() . 'checkout/onepage/success/'); } //Define Extra Amount Information $PaymentRequest->setExtraAmount($this->_extraAmount()); try { $payment_url = $PaymentRequest->register($this->getCredentialsInformation()); } catch (PagSeguroServiceException $ex) { Mage::log($ex->getMessage()); $this->_redirectUrl(Mage::getUrl() . 'checkout/onepage'); } return $payment_url; }