/**
  * @depends testSerializationDeserialization
  * @param WebProfile $obj
  */
 public function testGetters($obj)
 {
     $this->assertEquals($obj->getId(), "TestSample");
     $this->assertEquals($obj->getName(), "TestSample");
     $this->assertEquals($obj->getFlowConfig(), FlowConfigTest::getObject());
     $this->assertEquals($obj->getInputFields(), InputFieldsTest::getObject());
     $this->assertEquals($obj->getPresentation(), PresentationTest::getObject());
 }
Пример #2
0
 /**
  * Create payment for curretn quote
  *
  * @param WebProfile $webProfile
  * @param Mage_Sales_Model_Quote $quote
  * @return boolean
  */
 public function createPayment($webProfile, $quote, $taxFailure = false)
 {
     $payer = new Payer();
     $payer->setPaymentMethod("paypal");
     $itemList = $this->buildItemList($quote, $taxFailure);
     $shippingAddress = $this->buildShippingAddress($quote);
     if ($shippingAddress) {
         $itemList->setShippingAddress($shippingAddress);
     }
     $amount = $this->buildAmount($quote);
     $transaction = new Transaction();
     $transaction->setAmount($amount);
     $transaction->setItemList($itemList);
     $baseUrl = Mage::getBaseUrl();
     $redirectUrls = new RedirectUrls();
     $redirectUrls->setReturnUrl($baseUrl . 'paypalplus/index/success')->setCancelUrl(Mage::helper('checkout/url')->getCheckoutUrl());
     $payment = new Payment();
     $payment->setIntent("sale")->setExperienceProfileId($webProfile->getId())->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction));
     try {
         $response = $payment->create($this->_apiContext);
         Mage::getSingleton('customer/session')->setPayPalPaymentId($response->getId());
         Mage::getSingleton('customer/session')->setPayPalPaymentPatched(null);
     } catch (PayPal\Exception\PayPalConnectionException $ex) {
         if (!$taxFailure) {
             return $this->createPayment($webProfile, $quote, true);
         }
         Mage::helper('iways_paypalplus')->handleException($ex);
         return false;
     } catch (Exception $e) {
         Mage::logException($e);
         return false;
     }
     return $response;
 }