private function _createPaymentURL(PayPal\Api\Payer $payer, PayPal\Api\RedirectUrls $redirectUrls, PayPal\Api\Transaction $transaction, PayPal\Rest\ApiContext $apiContext) { $payment = new PayPal\Api\Payment(); $payment->setIntent("sale")->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction)); try { $payment->create($apiContext); } catch (Exception $e) { CLogger::getInstance()->add(__LINE__, __METHOD__, 'exception error', $e); die; } $url = $payment->getApprovalLink(); CLogger::getInstance()->add(__LINE__, __METHOD__, 'url paypal', $url); CLogger::getInstance()->getLog('PayPal starting checkout'); header("Location: {$url}"); exit; }
protected function initializePay($package, $user) { $payer = new \PayPal\Api\Payer(); $payer->setPaymentMethod('paypal'); $total = $package->price + $package->tax; $item = new \PayPal\Api\Item(); $item->setName($package->name)->setCurrency('USD')->setQuantity(1)->setPrice($package->price); $itemList = new \PayPal\Api\ItemList(); $itemList->setItems([$item]); $details = new \PayPal\Api\Details(); $details->setTax($package->tax)->setSubtotal($package->price); $amount = new \PayPal\Api\Amount(); $amount->setCurrency("USD")->setTotal($total)->setDetails($details); $transaction = new \PayPal\Api\Transaction(); $transaction->setAmount($amount)->setItemList($itemList)->setDescription($package->name)->setInvoiceNumber(uniqid()); $baseUrl = "http://trafficmonitor.ca/"; $redirectUrls = new \PayPal\Api\RedirectUrls(); $redirectUrls->setReturnUrl($baseUrl . "plan/success")->setCancelUrl($baseUrl . "packages"); $payment = new \PayPal\Api\Payment(); $payment->setIntent("sale")->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction)); try { $payment->create($this->paypal()); $transaction = new Transaction(array("user_id" => $user->id, "property" => "package", "property_id" => $package->id, "payment_id" => $payment->getId(), "amount" => $total)); $transaction->save(); } catch (Exception $e) { die($e); } return $approvalUrl = $payment->getApprovalLink(); }
public function direct() { $payer = new \PayPal\Api\Payer(); $payer->setPaymentMethod('paypal'); $items = array(); foreach ($this->items as $item) { $item2 = new \PayPal\Api\Item(); $item2->setName($item[0])->setDescription($item[1])->setCurrency(CURRENCY)->setQuantity($item[2])->setPrice($item[3]); $items[] = $item2; } $itemList = new \PayPal\Api\ItemList(); $itemList->setItems($items); $amount = new \PayPal\Api\Amount(); $amount->setCurrency(CURRENCY)->setTotal($this->total); $transaction = new \PayPal\Api\Transaction(); $transaction->setDescription($this->description)->setItemList($itemList)->setAmount($amount); $redirectUrls = new \PayPal\Api\RedirectUrls(); $redirectUrls->setReturnUrl($this->success_url)->setCancelUrl($this->cancel_url); $payment = new \PayPal\Api\Payment(); $payment->setIntent($this->intent)->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction)); try { $payment->create($this->apiContext); return array('id' => $payment->getId(), 'total' => $this->total, 'items' => $this->items, 'details' => $this->description, 'state' => $payment->getstate(), 'href' => $payment->getApprovalLink()); } catch (Exception $e) { throw new \Exception('PayPal error: ' . $e->getMessage()); } }