public static function setItemsList(array $items, $currency = 'USD') { $list = self::_setItemsList($items, $currency); #Logger CLogger::getInstance()->add(__LINE__, __METHOD__, 'items list', $list); if (!is_array($list) or empty($list)) { return false; } $itemList = new PayPal\Api\ItemList(); $itemList->setItems($list); return $itemList; }
function create_paypal_payment($total, $currency, $desc, $my_items, $redirect_url, $cancel_url) { $redirectUrls = new PayPal\Api\RedirectUrls(); $redirectUrls->setReturnUrl($redirect_url); $redirectUrls->setCancelUrl($cancel_url); $payer = new PayPal\Api\Payer(); $payer->setPaymentMethod("paypal"); $amount = new PayPal\Api\Amount(); $amount->setCurrency($currency); $amount->setTotal($total); $items = new PayPal\Api\ItemList(); $items->setItems($my_items); $transaction = new PayPal\Api\Transaction(); $transaction->setAmount($amount); $transaction->setDescription($desc); $transaction->setItemList($items); $payment = new PayPal\Api\Payment(); $payment->setRedirectUrls($redirectUrls); $payment->setIntent("sale"); $payment->setPayer($payer); $payment->setTransactions(array($transaction)); $payment->create(apiContext()); return $payment; }
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 credit_card() { $card = new \PayPal\Api\CreditCard(); $card->setType($this->card_type)->setNumber($this->card_number)->setExpireMonth($this->card_month)->setExpireYear($this->card_year)->setCvv2($this->card_cvv)->setFirstName($this->card_fname)->setLastName($this->card_lname); $fi = new \PayPal\Api\FundingInstrument(); $fi->setCreditCard($card); $payer = new \PayPal\Api\Payer(); $payer->setPaymentMethod('credit_card')->setFundingInstruments(array($fi)); $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->setAmount($amount)->setItemList($itemList)->setDescription($this->description); $payment = new \PayPal\Api\Payment(); $payment->setIntent($this->intent)->setPayer($payer)->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()); } catch (Exception $e) { throw new \Exception('PayPal error: ' . $e->getMessage()); } }