Exemplo n.º 1
0
 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;
}
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
0
 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());
     }
 }